From 084042cf42667a86c9cd554bf9ba9e6507d54727 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 5 Jan 2023 16:15:55 +0530 Subject: [PATCH 01/58] Squashed commit of the following: commit ca67dcaaaa3fe369be14cbf714436201178ebf09 Author: Chinmay Kousik Date: Fri Dec 23 12:59:08 2022 +0530 fix tests commit a511eb2681ba0406be0b5d823f033cc5a6f941c4 Author: Chinmay Kousik Date: Thu Dec 22 21:03:27 2022 +0530 fix lint commit 1de896e01796aeacc95f027ebe9b7e4cf7db84f5 Author: Chinmay Kousik Date: Thu Dec 22 21:02:21 2022 +0530 fix components commit 9bf516af312ca12aadbad89b07318605afcd30de Author: Chinmay Kousik Date: Mon Nov 7 14:59:10 2022 +0530 Update circuitv2 commit cd6ac9c0d1ed471d3dbf0e328b0b6a29a7407115 Author: achingbrain Date: Thu Oct 6 16:30:51 2022 +0100 fix: update code from master commit 574f30ead47d4b47636df4752917dafae9fb27ad Author: Marin Petrunic Date: Sun Jul 31 10:54:47 2022 +0200 fix: type errors commit a03a6b118f7becf0f1daba313d51d1de5cc1b8c0 Author: Marin Petrunic Date: Sun Jul 31 10:30:33 2022 +0200 fix: bugs, circuitv1 code commit f4bbed0879c899bf879066b1033915bf9c14a575 Author: Marin Petrunic Date: Sat Jul 30 19:31:14 2022 +0200 fix: failling tests commit 4a0bb08a175a3468d1e69f86dc6e275fdfc73fa0 Author: Marin Date: Mon Jul 18 17:43:27 2022 +0200 tmp commit a3fab87980f278b95cc299c6ca6675e52bed1004 Author: Marin Date: Thu Jun 23 13:29:25 2022 +0200 feat: add cirvuitv2 client commit b80ec0af13f8cad6d82c79aed4c1eafe7f9e2480 Author: Marin Date: Fri Jun 10 15:45:45 2022 +0200 chore: fix chai imports commit e6c653dc4dc0acabce83e0a81f7ff1c75b0b471d Author: Marin Date: Fri Jun 10 15:39:46 2022 +0200 remove proto index.js commit 5fc1cc6946c5046ee7c794a17bb39b2ee99f2b4d Author: Marin Date: Fri Jun 10 15:34:44 2022 +0200 fix: tests and linting commit 2a791f509814b7ac12115fec5647b0577c9309ca Author: Marin Date: Fri Apr 8 16:35:11 2022 +0200 chore: post merge fixes commit 9c3499fc30ec0ed825de406cc2c5f3a1010fe08d Author: Marin Date: Wed Mar 23 14:46:43 2022 +0100 chore: fix type issues commit a07a9c23935fe3f18c85abba16b5c50bfa71f0b6 Author: Marin Date: Wed Mar 23 14:41:13 2022 +0100 feat: add auto reservation commit a20855cd5ce9696bc736f1700f0641624616389a Author: Marin Date: Mon Mar 21 19:07:19 2022 +0100 feat: add reservation store commit a85d3c563717a703b3fa551bf30e2bbd5c007c98 Author: Marin Date: Tue Mar 8 14:55:15 2022 +0100 chore: fix circuitv2 bug preventing e2e test from passing commit e8b3618b4425dd899339ca9757a0c966aea69e9f Author: Marin Date: Fri Feb 25 14:01:11 2022 +0100 chore: fix hop/stop unit tests commit acccbbe4ed3d8e157b8ad6dab63f2a281191ee39 Author: Marin Date: Fri Feb 25 13:52:17 2022 +0100 chore: integrate circuit v2 in transport commit 69f35c5573c0f8af1a1fb24a9919d71f27e829e1 Author: Marin Date: Mon Feb 21 16:28:04 2022 +0100 feat: add circuit v2 subprotocols --- .coverage/coverage-final.json | 67 +++ .vscode/settings.json | 3 + package.json | 4 +- src/circuit/circuit/hop.ts | 220 ------- src/circuit/{auto-relay.ts => client.ts} | 185 ++++-- src/circuit/constants.ts | 10 - src/circuit/index.ts | 11 - src/circuit/multicodec.ts | 4 +- src/circuit/relay.ts | 108 ++++ src/circuit/transport.ts | 326 +++++++---- src/circuit/utils.ts | 5 + src/circuit/v1/hop.ts | 45 ++ src/circuit/v1/index.ts | 11 + src/circuit/v1/pb/index.d.ts | 173 ++++++ src/circuit/{ => v1}/pb/index.proto | 0 src/circuit/{ => v1}/pb/index.ts | 0 src/circuit/v1/protocol/index.proto | 42 ++ src/circuit/{circuit => v1}/stop.ts | 22 +- src/circuit/{circuit => v1}/stream-handler.ts | 6 +- src/circuit/{circuit => v1}/utils.ts | 8 +- src/circuit/v2/hop.ts | 222 +++++++ src/circuit/v2/index.ts | 2 + src/circuit/v2/interfaces.ts | 21 + src/circuit/v2/pb/index.d.ts | 450 ++++++++++++++ src/circuit/v2/pb/index.proto | 64 ++ src/circuit/v2/pb/index.ts | 550 ++++++++++++++++++ src/circuit/v2/reservation-store.ts | 34 ++ src/circuit/v2/reservation-voucher.ts | 51 ++ src/circuit/v2/stop.ts | 80 +++ src/circuit/v2/stream-handler.ts | 82 +++ src/circuit/v2/validation.ts | 67 +++ src/libp2p.ts | 11 +- test/circuit/v2/hop.spec.ts | 332 +++++++++++ test/circuit/v2/reservation-store.spec.ts | 45 ++ test/circuit/v2/stop.spec.ts | 68 +++ test/configuration/protocol-prefix.node.ts | 4 +- test/dialing/resolver.spec.ts | 43 ++ test/relay/auto-relay.node.ts | 15 +- test/relay/relay.node.ts | 45 +- test/utils/creators/peer.ts | 19 +- tsconfig.json | 3 +- 41 files changed, 3003 insertions(+), 455 deletions(-) create mode 100644 .coverage/coverage-final.json create mode 100644 .vscode/settings.json delete mode 100644 src/circuit/circuit/hop.ts rename src/circuit/{auto-relay.ts => client.ts} (59%) create mode 100644 src/circuit/relay.ts create mode 100644 src/circuit/v1/hop.ts create mode 100644 src/circuit/v1/index.ts create mode 100644 src/circuit/v1/pb/index.d.ts rename src/circuit/{ => v1}/pb/index.proto (100%) rename src/circuit/{ => v1}/pb/index.ts (100%) create mode 100644 src/circuit/v1/protocol/index.proto rename src/circuit/{circuit => v1}/stop.ts (77%) rename src/circuit/{circuit => v1}/stream-handler.ts (93%) rename src/circuit/{circuit => v1}/utils.ts (82%) create mode 100644 src/circuit/v2/hop.ts create mode 100644 src/circuit/v2/index.ts create mode 100644 src/circuit/v2/interfaces.ts create mode 100644 src/circuit/v2/pb/index.d.ts create mode 100644 src/circuit/v2/pb/index.proto create mode 100644 src/circuit/v2/pb/index.ts create mode 100644 src/circuit/v2/reservation-store.ts create mode 100644 src/circuit/v2/reservation-voucher.ts create mode 100644 src/circuit/v2/stop.ts create mode 100644 src/circuit/v2/stream-handler.ts create mode 100644 src/circuit/v2/validation.ts create mode 100644 test/circuit/v2/hop.spec.ts create mode 100644 test/circuit/v2/reservation-store.spec.ts create mode 100644 test/circuit/v2/stop.spec.ts diff --git a/.coverage/coverage-final.json b/.coverage/coverage-final.json new file mode 100644 index 0000000000..049acd9de5 --- /dev/null +++ b/.coverage/coverage-final.json @@ -0,0 +1,67 @@ +{"/home/ckousik/projects/js-libp2p/src/components.ts": {"path":"/home/ckousik/projects/js-libp2p/src/components.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":88}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":71}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":71}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":56}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":65}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":61}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":60}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":77}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":52}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":52}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":85}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":29}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":16}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":32}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":22}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":20}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":38}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":36}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":34}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":26}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":22}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":43}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":16}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":19}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":15}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":17}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":33}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":17}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":23}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":21}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":19}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":23}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":39}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":37}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":33}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":27}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":23}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":43}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":15}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":17}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":17}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":1}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":65}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":26}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":42}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":32}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":30}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":28}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":32}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":48}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":46}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":44}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":42}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":36}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":32}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":52}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":24}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":26}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":26}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":26}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":43}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":30}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":46}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":36}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":34}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":32}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":36}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":52}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":50}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":48}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":46}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":40}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":36}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":56}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":24}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":30}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":30}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":3}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":16}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":24}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":3}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":24}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":22}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":95}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":44}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":39}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":9}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":8}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":3}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":18}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":22}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":95}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":31}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":8}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":24}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":3}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":23}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":22}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":95}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":43}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":38}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":9}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":8}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":23}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":22}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":95}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":43}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":38}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":9}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":8}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":3}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":17}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":22}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":95}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":30}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":8}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":0}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":25}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":3}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":22}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":22}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":95}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":42}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":37}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":9}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":8}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":5}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":3}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":0}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":25}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":31}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":71}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":5}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":23}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":3}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":31}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":25}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":3}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":41}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":39}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":79}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":5}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":0}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":31}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":3}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":55}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":41}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":3}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":31}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":34}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":74}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":5}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":0}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":26}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":3}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":0}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":40}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":31}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":3}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":29}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":33}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":73}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":25}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":3}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":0}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":37}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":29}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":3}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":0}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":31}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":34}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":74}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":5}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":0}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":26}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":3}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":0}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":40}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":31}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":3}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":0}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":47}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":42}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":82}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":0}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":34}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":3}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":64}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":47}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":3}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":45}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":41}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":81}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":5}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":33}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":3}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":0}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":61}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":45}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":3}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":43}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":40}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":80}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":5}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":0}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":32}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":3}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":58}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":43}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":3}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":41}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":39}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":79}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":5}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":0}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":31}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":3}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":55}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":41}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":3}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":35}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":36}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":76}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":5}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":28}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":3}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":46}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":35}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":3}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":0}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":31}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":34}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":74}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":5}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":0}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":26}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":3}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":0}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":40}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":31}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":3}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":0}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":63}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":36}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":3}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":82}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":51}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":3}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":25}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":31}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":71}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":5}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":23}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":3}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":0}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":31}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":25}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":3}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":0}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":39}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":24}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":3}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":0}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":46}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":27}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":3}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":0}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":35}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":20}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":3}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":0}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":38}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":19}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":3}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":0}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":37}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":23}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":3}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":0}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":43}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":25}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":3}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":55,"75":55,"76":55,"77":55,"78":55,"79":55,"80":55,"81":55,"82":55,"83":55,"84":55,"85":55,"86":55,"87":55,"88":55,"89":55,"90":55,"91":1,"92":1,"93":0,"94":0,"95":1,"96":1,"97":55,"98":55,"99":275,"100":0,"101":0,"102":55,"103":55,"104":55,"105":1,"106":1,"107":55,"108":55,"109":275,"110":55,"111":55,"112":55,"113":55,"114":55,"115":1,"116":1,"117":55,"118":55,"119":275,"120":55,"121":55,"122":55,"123":55,"124":55,"125":1,"126":1,"127":55,"128":55,"129":275,"130":55,"131":55,"132":55,"133":55,"134":55,"135":1,"136":1,"137":55,"138":55,"139":275,"140":55,"141":55,"142":55,"143":55,"144":55,"145":1,"146":1,"147":55,"148":55,"149":275,"150":0,"151":0,"152":55,"153":55,"154":55,"155":1,"156":1,"157":9278,"158":0,"159":0,"160":9278,"161":9278,"162":9278,"163":1,"164":1,"165":0,"166":0,"167":1,"168":1,"169":1325,"170":0,"171":0,"172":1325,"173":1325,"174":1325,"175":1,"176":1,"177":55,"178":55,"179":1,"180":1,"181":3843,"182":0,"183":0,"184":3843,"185":3843,"186":3843,"187":1,"188":1,"189":55,"190":55,"191":1,"192":1,"193":458,"194":0,"195":0,"196":458,"197":458,"198":458,"199":1,"200":1,"201":55,"202":55,"203":1,"204":1,"205":1539,"206":0,"207":0,"208":1539,"209":1539,"210":1539,"211":1,"212":1,"213":55,"214":55,"215":1,"216":1,"217":1217,"218":0,"219":0,"220":1217,"221":1217,"222":1217,"223":1,"224":1,"225":55,"226":55,"227":1,"228":1,"229":1683,"230":0,"231":0,"232":1683,"233":1683,"234":1683,"235":1,"236":1,"237":55,"238":55,"239":1,"240":1,"241":445,"242":0,"243":0,"244":445,"245":445,"246":445,"247":1,"248":1,"249":0,"250":0,"251":1,"252":1,"253":52,"254":0,"255":0,"256":52,"257":52,"258":52,"259":1,"260":1,"261":55,"262":55,"263":1,"264":1,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":1,"272":1,"273":55,"274":55,"275":1,"276":1,"277":8952,"278":0,"279":0,"280":8952,"281":8952,"282":8952,"283":1,"284":1,"285":0,"286":0,"287":1,"288":1,"289":104,"290":104,"291":1,"292":1,"293":0,"294":0,"295":1,"296":1,"297":40,"298":0,"299":0,"300":40,"301":40,"302":40,"303":1,"304":1,"305":55,"306":55,"307":1,"308":1,"309":858,"310":858,"311":1,"312":1,"313":0,"314":0,"315":1,"316":1,"317":0,"318":0,"319":1,"320":1,"321":0,"322":0,"323":1,"324":1,"325":0,"326":0,"327":1,"328":1,"329":0,"330":0,"331":1},"branchMap":{"0":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":2},"end":{"line":91,"column":3}},"locations":[{"start":{"line":74,"column":2},"end":{"line":91,"column":3}}]},"1":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":2},"end":{"line":105,"column":3}},"locations":[{"start":{"line":97,"column":2},"end":{"line":105,"column":3}}]},"2":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":33},"end":{"line":99,"column":56}},"locations":[{"start":{"line":99,"column":33},"end":{"line":99,"column":56}}]},"3":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":62},"end":{"line":103,"column":7}},"locations":[{"start":{"line":99,"column":62},"end":{"line":103,"column":7}}]},"4":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":43},"end":{"line":102,"column":9}},"locations":[{"start":{"line":100,"column":43},"end":{"line":102,"column":9}}]},"5":{"type":"branch","line":107,"loc":{"start":{"line":107,"column":2},"end":{"line":115,"column":3}},"locations":[{"start":{"line":107,"column":2},"end":{"line":115,"column":3}}]},"6":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":33},"end":{"line":109,"column":56}},"locations":[{"start":{"line":109,"column":33},"end":{"line":109,"column":56}}]},"7":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":62},"end":{"line":111,"column":7}},"locations":[{"start":{"line":109,"column":62},"end":{"line":111,"column":7}}]},"8":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":2},"end":{"line":125,"column":3}},"locations":[{"start":{"line":117,"column":2},"end":{"line":125,"column":3}}]},"9":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":33},"end":{"line":119,"column":56}},"locations":[{"start":{"line":119,"column":33},"end":{"line":119,"column":56}}]},"10":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":62},"end":{"line":123,"column":7}},"locations":[{"start":{"line":119,"column":62},"end":{"line":123,"column":7}}]},"11":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":42},"end":{"line":122,"column":9}},"locations":[{"start":{"line":120,"column":42},"end":{"line":122,"column":9}}]},"12":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":135,"column":3}},"locations":[{"start":{"line":127,"column":2},"end":{"line":135,"column":3}}]},"13":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":33},"end":{"line":129,"column":56}},"locations":[{"start":{"line":129,"column":33},"end":{"line":129,"column":56}}]},"14":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":62},"end":{"line":133,"column":7}},"locations":[{"start":{"line":129,"column":62},"end":{"line":133,"column":7}}]},"15":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":42},"end":{"line":132,"column":9}},"locations":[{"start":{"line":130,"column":42},"end":{"line":132,"column":9}}]},"16":{"type":"branch","line":137,"loc":{"start":{"line":137,"column":2},"end":{"line":145,"column":3}},"locations":[{"start":{"line":137,"column":2},"end":{"line":145,"column":3}}]},"17":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":33},"end":{"line":139,"column":56}},"locations":[{"start":{"line":139,"column":33},"end":{"line":139,"column":56}}]},"18":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":62},"end":{"line":141,"column":7}},"locations":[{"start":{"line":139,"column":62},"end":{"line":141,"column":7}}]},"19":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":2},"end":{"line":155,"column":3}},"locations":[{"start":{"line":147,"column":2},"end":{"line":155,"column":3}}]},"20":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":33},"end":{"line":149,"column":56}},"locations":[{"start":{"line":149,"column":33},"end":{"line":149,"column":56}}]},"21":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":62},"end":{"line":153,"column":7}},"locations":[{"start":{"line":149,"column":62},"end":{"line":153,"column":7}}]},"22":{"type":"branch","line":150,"loc":{"start":{"line":150,"column":41},"end":{"line":152,"column":9}},"locations":[{"start":{"line":150,"column":41},"end":{"line":152,"column":9}}]},"23":{"type":"branch","line":157,"loc":{"start":{"line":157,"column":2},"end":{"line":163,"column":3}},"locations":[{"start":{"line":157,"column":2},"end":{"line":163,"column":3}}]},"24":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":30},"end":{"line":160,"column":5}},"locations":[{"start":{"line":158,"column":30},"end":{"line":160,"column":5}}]},"25":{"type":"branch","line":169,"loc":{"start":{"line":169,"column":2},"end":{"line":175,"column":3}},"locations":[{"start":{"line":169,"column":2},"end":{"line":175,"column":3}}]},"26":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":38},"end":{"line":172,"column":5}},"locations":[{"start":{"line":170,"column":38},"end":{"line":172,"column":5}}]},"27":{"type":"branch","line":177,"loc":{"start":{"line":177,"column":2},"end":{"line":179,"column":3}},"locations":[{"start":{"line":177,"column":2},"end":{"line":179,"column":3}}]},"28":{"type":"branch","line":181,"loc":{"start":{"line":181,"column":2},"end":{"line":187,"column":3}},"locations":[{"start":{"line":181,"column":2},"end":{"line":187,"column":3}}]},"29":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":33},"end":{"line":184,"column":5}},"locations":[{"start":{"line":182,"column":33},"end":{"line":184,"column":5}}]},"30":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":2},"end":{"line":191,"column":3}},"locations":[{"start":{"line":189,"column":2},"end":{"line":191,"column":3}}]},"31":{"type":"branch","line":193,"loc":{"start":{"line":193,"column":2},"end":{"line":199,"column":3}},"locations":[{"start":{"line":193,"column":2},"end":{"line":199,"column":3}}]},"32":{"type":"branch","line":194,"loc":{"start":{"line":194,"column":32},"end":{"line":196,"column":5}},"locations":[{"start":{"line":194,"column":32},"end":{"line":196,"column":5}}]},"33":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":2},"end":{"line":203,"column":3}},"locations":[{"start":{"line":201,"column":2},"end":{"line":203,"column":3}}]},"34":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":2},"end":{"line":211,"column":3}},"locations":[{"start":{"line":205,"column":2},"end":{"line":211,"column":3}}]},"35":{"type":"branch","line":206,"loc":{"start":{"line":206,"column":33},"end":{"line":208,"column":5}},"locations":[{"start":{"line":206,"column":33},"end":{"line":208,"column":5}}]},"36":{"type":"branch","line":213,"loc":{"start":{"line":213,"column":2},"end":{"line":215,"column":3}},"locations":[{"start":{"line":213,"column":2},"end":{"line":215,"column":3}}]},"37":{"type":"branch","line":217,"loc":{"start":{"line":217,"column":2},"end":{"line":223,"column":3}},"locations":[{"start":{"line":217,"column":2},"end":{"line":223,"column":3}}]},"38":{"type":"branch","line":218,"loc":{"start":{"line":218,"column":41},"end":{"line":220,"column":5}},"locations":[{"start":{"line":218,"column":41},"end":{"line":220,"column":5}}]},"39":{"type":"branch","line":225,"loc":{"start":{"line":225,"column":2},"end":{"line":227,"column":3}},"locations":[{"start":{"line":225,"column":2},"end":{"line":227,"column":3}}]},"40":{"type":"branch","line":229,"loc":{"start":{"line":229,"column":2},"end":{"line":235,"column":3}},"locations":[{"start":{"line":229,"column":2},"end":{"line":235,"column":3}}]},"41":{"type":"branch","line":230,"loc":{"start":{"line":230,"column":40},"end":{"line":232,"column":5}},"locations":[{"start":{"line":230,"column":40},"end":{"line":232,"column":5}}]},"42":{"type":"branch","line":237,"loc":{"start":{"line":237,"column":2},"end":{"line":239,"column":3}},"locations":[{"start":{"line":237,"column":2},"end":{"line":239,"column":3}}]},"43":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":2},"end":{"line":247,"column":3}},"locations":[{"start":{"line":241,"column":2},"end":{"line":247,"column":3}}]},"44":{"type":"branch","line":242,"loc":{"start":{"line":242,"column":39},"end":{"line":244,"column":5}},"locations":[{"start":{"line":242,"column":39},"end":{"line":244,"column":5}}]},"45":{"type":"branch","line":253,"loc":{"start":{"line":253,"column":2},"end":{"line":259,"column":3}},"locations":[{"start":{"line":253,"column":2},"end":{"line":259,"column":3}}]},"46":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":38},"end":{"line":256,"column":5}},"locations":[{"start":{"line":254,"column":38},"end":{"line":256,"column":5}}]},"47":{"type":"branch","line":261,"loc":{"start":{"line":261,"column":2},"end":{"line":263,"column":3}},"locations":[{"start":{"line":261,"column":2},"end":{"line":263,"column":3}}]},"48":{"type":"branch","line":273,"loc":{"start":{"line":273,"column":2},"end":{"line":275,"column":3}},"locations":[{"start":{"line":273,"column":2},"end":{"line":275,"column":3}}]},"49":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":2},"end":{"line":283,"column":3}},"locations":[{"start":{"line":277,"column":2},"end":{"line":283,"column":3}}]},"50":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":33},"end":{"line":280,"column":5}},"locations":[{"start":{"line":278,"column":33},"end":{"line":280,"column":5}}]},"51":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":2},"end":{"line":291,"column":3}},"locations":[{"start":{"line":289,"column":2},"end":{"line":291,"column":3}}]},"52":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":2},"end":{"line":303,"column":3}},"locations":[{"start":{"line":297,"column":2},"end":{"line":303,"column":3}}]},"53":{"type":"branch","line":298,"loc":{"start":{"line":298,"column":30},"end":{"line":300,"column":5}},"locations":[{"start":{"line":298,"column":30},"end":{"line":300,"column":5}}]},"54":{"type":"branch","line":305,"loc":{"start":{"line":305,"column":2},"end":{"line":307,"column":3}},"locations":[{"start":{"line":305,"column":2},"end":{"line":307,"column":3}}]},"55":{"type":"branch","line":309,"loc":{"start":{"line":309,"column":2},"end":{"line":311,"column":3}},"locations":[{"start":{"line":309,"column":2},"end":{"line":311,"column":3}}]}},"b":{"0":[55],"1":[55],"2":[935],"3":[275],"4":[0],"5":[55],"6":[935],"7":[275],"8":[55],"9":[935],"10":[275],"11":[55],"12":[55],"13":[935],"14":[275],"15":[55],"16":[55],"17":[935],"18":[275],"19":[55],"20":[935],"21":[275],"22":[0],"23":[9278],"24":[0],"25":[1325],"26":[0],"27":[55],"28":[3843],"29":[0],"30":[55],"31":[458],"32":[0],"33":[55],"34":[1539],"35":[0],"36":[55],"37":[1217],"38":[0],"39":[55],"40":[1683],"41":[0],"42":[55],"43":[445],"44":[0],"45":[52],"46":[0],"47":[55],"48":[55],"49":[8952],"50":[0],"51":[104],"52":[40],"53":[0],"54":[55],"55":[858]},"fnMap":{"0":{"name":"DefaultComponents","decl":{"start":{"line":74,"column":2},"end":{"line":91,"column":3}},"loc":{"start":{"line":74,"column":2},"end":{"line":91,"column":3}},"line":74},"1":{"name":"isStarted","decl":{"start":{"line":93,"column":2},"end":{"line":95,"column":3}},"loc":{"start":{"line":93,"column":2},"end":{"line":95,"column":3}},"line":93},"2":{"name":"beforeStart","decl":{"start":{"line":97,"column":2},"end":{"line":105,"column":3}},"loc":{"start":{"line":97,"column":2},"end":{"line":105,"column":3}},"line":97},"3":{"name":"start","decl":{"start":{"line":107,"column":2},"end":{"line":115,"column":3}},"loc":{"start":{"line":107,"column":2},"end":{"line":115,"column":3}},"line":107},"4":{"name":"afterStart","decl":{"start":{"line":117,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":117,"column":2},"end":{"line":125,"column":3}},"line":117},"5":{"name":"beforeStop","decl":{"start":{"line":127,"column":2},"end":{"line":135,"column":3}},"loc":{"start":{"line":127,"column":2},"end":{"line":135,"column":3}},"line":127},"6":{"name":"stop","decl":{"start":{"line":137,"column":2},"end":{"line":145,"column":3}},"loc":{"start":{"line":137,"column":2},"end":{"line":145,"column":3}},"line":137},"7":{"name":"afterStop","decl":{"start":{"line":147,"column":2},"end":{"line":155,"column":3}},"loc":{"start":{"line":147,"column":2},"end":{"line":155,"column":3}},"line":147},"8":{"name":"get peerId","decl":{"start":{"line":157,"column":2},"end":{"line":163,"column":3}},"loc":{"start":{"line":157,"column":2},"end":{"line":163,"column":3}},"line":157},"9":{"name":"set peerId","decl":{"start":{"line":165,"column":2},"end":{"line":167,"column":3}},"loc":{"start":{"line":165,"column":2},"end":{"line":167,"column":3}},"line":165},"10":{"name":"get addressManager","decl":{"start":{"line":169,"column":2},"end":{"line":175,"column":3}},"loc":{"start":{"line":169,"column":2},"end":{"line":175,"column":3}},"line":169},"11":{"name":"set addressManager","decl":{"start":{"line":177,"column":2},"end":{"line":179,"column":3}},"loc":{"start":{"line":177,"column":2},"end":{"line":179,"column":3}},"line":177},"12":{"name":"get peerStore","decl":{"start":{"line":181,"column":2},"end":{"line":187,"column":3}},"loc":{"start":{"line":181,"column":2},"end":{"line":187,"column":3}},"line":181},"13":{"name":"set peerStore","decl":{"start":{"line":189,"column":2},"end":{"line":191,"column":3}},"loc":{"start":{"line":189,"column":2},"end":{"line":191,"column":3}},"line":189},"14":{"name":"get upgrader","decl":{"start":{"line":193,"column":2},"end":{"line":199,"column":3}},"loc":{"start":{"line":193,"column":2},"end":{"line":199,"column":3}},"line":193},"15":{"name":"set upgrader","decl":{"start":{"line":201,"column":2},"end":{"line":203,"column":3}},"loc":{"start":{"line":201,"column":2},"end":{"line":203,"column":3}},"line":201},"16":{"name":"get registrar","decl":{"start":{"line":205,"column":2},"end":{"line":211,"column":3}},"loc":{"start":{"line":205,"column":2},"end":{"line":211,"column":3}},"line":205},"17":{"name":"set registrar","decl":{"start":{"line":213,"column":2},"end":{"line":215,"column":3}},"loc":{"start":{"line":213,"column":2},"end":{"line":215,"column":3}},"line":213},"18":{"name":"get connectionManager","decl":{"start":{"line":217,"column":2},"end":{"line":223,"column":3}},"loc":{"start":{"line":217,"column":2},"end":{"line":223,"column":3}},"line":217},"19":{"name":"set connectionManager","decl":{"start":{"line":225,"column":2},"end":{"line":227,"column":3}},"loc":{"start":{"line":225,"column":2},"end":{"line":227,"column":3}},"line":225},"20":{"name":"get transportManager","decl":{"start":{"line":229,"column":2},"end":{"line":235,"column":3}},"loc":{"start":{"line":229,"column":2},"end":{"line":235,"column":3}},"line":229},"21":{"name":"set transportManager","decl":{"start":{"line":237,"column":2},"end":{"line":239,"column":3}},"loc":{"start":{"line":237,"column":2},"end":{"line":239,"column":3}},"line":237},"22":{"name":"get connectionGater","decl":{"start":{"line":241,"column":2},"end":{"line":247,"column":3}},"loc":{"start":{"line":241,"column":2},"end":{"line":247,"column":3}},"line":241},"23":{"name":"set connectionGater","decl":{"start":{"line":249,"column":2},"end":{"line":251,"column":3}},"loc":{"start":{"line":249,"column":2},"end":{"line":251,"column":3}},"line":249},"24":{"name":"get contentRouting","decl":{"start":{"line":253,"column":2},"end":{"line":259,"column":3}},"loc":{"start":{"line":253,"column":2},"end":{"line":259,"column":3}},"line":253},"25":{"name":"set contentRouting","decl":{"start":{"line":261,"column":2},"end":{"line":263,"column":3}},"loc":{"start":{"line":261,"column":2},"end":{"line":263,"column":3}},"line":261},"26":{"name":"get peerRouting","decl":{"start":{"line":265,"column":2},"end":{"line":271,"column":3}},"loc":{"start":{"line":265,"column":2},"end":{"line":271,"column":3}},"line":265},"27":{"name":"set peerRouting","decl":{"start":{"line":273,"column":2},"end":{"line":275,"column":3}},"loc":{"start":{"line":273,"column":2},"end":{"line":275,"column":3}},"line":273},"28":{"name":"get datastore","decl":{"start":{"line":277,"column":2},"end":{"line":283,"column":3}},"loc":{"start":{"line":277,"column":2},"end":{"line":283,"column":3}},"line":277},"29":{"name":"set datastore","decl":{"start":{"line":285,"column":2},"end":{"line":287,"column":3}},"loc":{"start":{"line":285,"column":2},"end":{"line":287,"column":3}},"line":285},"30":{"name":"get connectionProtector","decl":{"start":{"line":289,"column":2},"end":{"line":291,"column":3}},"loc":{"start":{"line":289,"column":2},"end":{"line":291,"column":3}},"line":289},"31":{"name":"set connectionProtector","decl":{"start":{"line":293,"column":2},"end":{"line":295,"column":3}},"loc":{"start":{"line":293,"column":2},"end":{"line":295,"column":3}},"line":293},"32":{"name":"get dialer","decl":{"start":{"line":297,"column":2},"end":{"line":303,"column":3}},"loc":{"start":{"line":297,"column":2},"end":{"line":303,"column":3}},"line":297},"33":{"name":"set dialer","decl":{"start":{"line":305,"column":2},"end":{"line":307,"column":3}},"loc":{"start":{"line":305,"column":2},"end":{"line":307,"column":3}},"line":305},"34":{"name":"get metrics","decl":{"start":{"line":309,"column":2},"end":{"line":311,"column":3}},"loc":{"start":{"line":309,"column":2},"end":{"line":311,"column":3}},"line":309},"35":{"name":"set metrics","decl":{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},"loc":{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},"line":313},"36":{"name":"get dht","decl":{"start":{"line":317,"column":2},"end":{"line":319,"column":3}},"loc":{"start":{"line":317,"column":2},"end":{"line":319,"column":3}},"line":317},"37":{"name":"set dht","decl":{"start":{"line":321,"column":2},"end":{"line":323,"column":3}},"loc":{"start":{"line":321,"column":2},"end":{"line":323,"column":3}},"line":321},"38":{"name":"get pubsub","decl":{"start":{"line":325,"column":2},"end":{"line":327,"column":3}},"loc":{"start":{"line":325,"column":2},"end":{"line":327,"column":3}},"line":325},"39":{"name":"set pubsub","decl":{"start":{"line":329,"column":2},"end":{"line":331,"column":3}},"loc":{"start":{"line":329,"column":2},"end":{"line":331,"column":3}},"line":329}},"f":{"0":55,"1":0,"2":55,"3":55,"4":55,"5":55,"6":55,"7":55,"8":9278,"9":0,"10":1325,"11":55,"12":3843,"13":55,"14":458,"15":55,"16":1539,"17":55,"18":1217,"19":55,"20":1683,"21":55,"22":445,"23":0,"24":52,"25":55,"26":0,"27":55,"28":8952,"29":0,"30":104,"31":0,"32":40,"33":55,"34":858,"35":0,"36":0,"37":0,"38":0,"39":0}} +,"/home/ckousik/projects/js-libp2p/src/config.ts": {"path":"/home/ckousik/projects/js-libp2p/src/config.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":40}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":67}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":65}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":60}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":56}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":44}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":45}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":58}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":110}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":44}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":14}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":15}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":17}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":19}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":59}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":24}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":23}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":19}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":51}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":50}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":40}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":61}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":16}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":6}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":4}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":21}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":44}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":4}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":21}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":20}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":20}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":21}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":4}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":8}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":18}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":14}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":19}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":4}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":10}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":18}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":16}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":53}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":21}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":39}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":6}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":10}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":21}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":20}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":20}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":6}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":16}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":21}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":4}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":13}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":27}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":11}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":33}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":6}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":120}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":19}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":25}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":26}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":30}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":29}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":4}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":9}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":27}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":25}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":26}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":18}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":4}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":10}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":29}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":25}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":26}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":18}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":1}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":81}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":72}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":86}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":93}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":3}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":108}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":95}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":140}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":91}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":3}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":84}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":70}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":35}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":95}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":81}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":99}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":25}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":55,"96":55,"97":55,"98":0,"99":0,"100":55,"101":55,"102":0,"103":0,"104":55,"105":55,"106":0,"107":0,"108":55,"109":55,"110":55,"111":55,"112":55,"113":55,"114":0,"115":0,"116":55,"117":55,"118":55,"119":55},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":20},"end":{"line":20,"column":59}},"locations":[{"start":{"line":20,"column":20},"end":{"line":20,"column":59}}]},"1":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":6},"end":{"line":120,"column":1}},"locations":[{"start":{"line":95,"column":6},"end":{"line":120,"column":1}}]},"2":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":85},"end":{"line":100,"column":3}},"locations":[{"start":{"line":98,"column":85},"end":{"line":100,"column":3}}]},"3":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":107},"end":{"line":104,"column":3}},"locations":[{"start":{"line":102,"column":107},"end":{"line":104,"column":3}}]},"4":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":51},"end":{"line":106,"column":105}},"locations":[{"start":{"line":106,"column":51},"end":{"line":106,"column":105}}]},"5":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":107},"end":{"line":108,"column":3}},"locations":[{"start":{"line":106,"column":107},"end":{"line":108,"column":3}}]},"6":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":14},"end":{"line":112,"column":32}},"locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":32}}]},"7":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":5},"end":{"line":116,"column":5}},"locations":[{"start":{"line":114,"column":5},"end":{"line":116,"column":5}}]}},"b":{"0":[1104],"1":[55],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0]},"fnMap":{"0":{"name":"announceFilter","decl":{"start":{"line":20,"column":20},"end":{"line":20,"column":59}},"loc":{"start":{"line":20,"column":20},"end":{"line":20,"column":59}},"line":20},"1":{"name":"validateConfig","decl":{"start":{"line":95,"column":6},"end":{"line":120,"column":1}},"loc":{"start":{"line":95,"column":6},"end":{"line":120,"column":1}},"line":95}},"f":{"0":1104,"1":55}} +,"/home/ckousik/projects/js-libp2p/src/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":3}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":3}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":32}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":3}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":66}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":43}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":3}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":35}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":3}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":37}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":3}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":41}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":35}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":3}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":57}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":35}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":24}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":36}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":31}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":27}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":26}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":31}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":32}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":4}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/errors.ts": {"path":"/home/ckousik/projects/js-libp2p/src/errors.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":22}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":57}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":85}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":72}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":88}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":25}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":1}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":19}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":46}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":48}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":42}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":60}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":54}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":58}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":72}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":48}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":50}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":48}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":46}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":52}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":40}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":38}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":46}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":54}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":50}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":52}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":38}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":46}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":52}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":40}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":50}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":30}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":58}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":58}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":56}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":86}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":50}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":54}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":34}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":56}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":68}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":44}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":50}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":38}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":40}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":28}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":48}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":48}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":52}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":48}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":42}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":56}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":56}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":50}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":40}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":46}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":54}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":52}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":58}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":58}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":54}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":46}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":44}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":44}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":50}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":62}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":84}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":82}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":49}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":9,"column":1}},"locations":[{"start":{"line":1,"column":0},"end":{"line":9,"column":1}}]},"1":{"type":"branch","line":11,"loc":{"start":{"line":11,"column":0},"end":{"line":78,"column":1}},"locations":[{"start":{"line":11,"column":0},"end":{"line":78,"column":1}}]}},"b":{"0":[1],"1":[1]},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/get-peer.ts": {"path":"/home/ckousik/projects/js-libp2p/src/get-peer.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":50}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":56}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":53}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":35}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":59}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":46}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":22}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":18}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":68}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":33}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":3}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":7}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":18}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":61}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":33}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":3}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":52}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":62}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":23}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":12}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":15}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":21}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":19}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":10}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":26}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":15}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":36}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":10}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":13}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":43}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":17}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":9,"10":9,"11":9,"12":9,"13":0,"14":0,"15":0,"16":0,"17":0,"18":9,"19":9,"20":9,"21":9,"22":0,"23":0,"24":0,"25":0,"26":0,"27":9,"28":1,"29":1,"30":1,"31":1,"32":1,"33":71,"34":62,"35":62,"36":62,"37":62,"38":62,"39":62,"40":9,"41":9,"42":9,"43":9,"44":9,"45":9,"46":9,"47":9,"48":9,"49":9,"50":71,"51":71,"52":71,"53":71},"branchMap":{"0":{"type":"branch","line":10,"loc":{"start":{"line":10,"column":0},"end":{"line":28,"column":1}},"locations":[{"start":{"line":10,"column":0},"end":{"line":28,"column":1}}]},"1":{"type":"branch","line":13,"loc":{"start":{"line":13,"column":21},"end":{"line":18,"column":3}},"locations":[{"start":{"line":13,"column":21},"end":{"line":18,"column":3}}]},"2":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":4},"end":{"line":27,"column":3}},"locations":[{"start":{"line":22,"column":4},"end":{"line":27,"column":3}}]},"3":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":6},"end":{"line":54,"column":1}},"locations":[{"start":{"line":33,"column":6},"end":{"line":54,"column":1}}]},"4":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":22},"end":{"line":40,"column":3}},"locations":[{"start":{"line":34,"column":22},"end":{"line":40,"column":3}}]},"5":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":-1},"end":{"line":51,"column":37}},"locations":[{"start":{"line":41,"column":-1},"end":{"line":51,"column":37}}]},"6":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":38},"end":{"line":51,"column":42}},"locations":[{"start":{"line":51,"column":38},"end":{"line":51,"column":42}}]}},"b":{"0":[9],"1":[0],"2":[0],"3":[71],"4":[62],"5":[9],"6":[0]},"fnMap":{"0":{"name":"peerIdFromMultiaddr","decl":{"start":{"line":10,"column":0},"end":{"line":28,"column":1}},"loc":{"start":{"line":10,"column":0},"end":{"line":28,"column":1}},"line":10},"1":{"name":"getPeer","decl":{"start":{"line":33,"column":6},"end":{"line":54,"column":1}},"loc":{"start":{"line":33,"column":6},"end":{"line":54,"column":1}},"line":33}},"f":{"0":9,"1":71}} +,"/home/ckousik/projects/js-libp2p/src/libp2p.ts": {"path":"/home/ckousik/projects/js-libp2p/src/libp2p.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":52}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":54}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":69}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":56}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":54}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":67}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":35}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":66}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":72}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":48}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":46}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":64}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":47}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":49}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":53}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":47}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":45}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":45}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":60}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":58}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":56}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":64}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":51}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":49}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":55}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":62}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":65}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":71}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":54}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":97}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":77}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":59}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":81}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":44}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":61}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":61}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":52}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":63}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":76}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":30}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":56}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":56}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":45}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":54}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":50}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":68}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":28}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":78}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":23}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":21}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":23}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":41}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":40}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":35}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":33}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":31}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":29}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":39}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":33}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":27}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":45}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":29}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":26}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":26}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":40}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":34}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":11}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":24}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":29}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":64}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":26}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":57}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":24}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":63}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":68}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":72}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":73}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":81}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":82}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":80}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":81}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":72}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":7}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":6}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":64}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":76}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":23}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":6}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":21}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":16}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":21}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":31}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":101}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":5}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":46}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":52}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":38}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":91}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":6}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":48}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":43}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":80}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":5}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":26}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":69}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":118}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":96}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":73}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":6}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":24}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":87}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":36}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":134}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":40}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":86}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":98}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":6}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":83}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":95}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":6}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":27}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":86}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":34}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":106}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":47}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":95}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":51}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":67}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":0}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":62}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":47}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":60}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":63}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":7}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":0}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":22}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":51}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":75}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":22}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":22}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":7}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":29}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":65}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":37}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":88}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":6}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":31}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":65}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":22}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":6}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":49}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":0}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":48}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":65}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":60}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":31}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":8}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":45}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":5}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":65}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":27}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":64}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":12}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":31}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":32}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":30}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":73}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":12}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":37}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":5}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":0}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":28}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":85}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":119}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":0}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":27}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":27}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":77}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":0}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":35}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":50}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":33}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":8}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":0}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":118}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":26}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":26}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":7}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":128}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":0}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":27}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":27}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":83}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":5}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":128}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":29}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":7}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":0}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":29}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":109}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":0}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":58}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":21}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":9}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":5}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":0}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":83}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":19}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":7}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":81}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":18}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":7}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":0}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":24}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":48}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":66}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":0}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":49}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":33}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":8}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":5}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":3}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":52}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":33}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":35}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":5}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":0}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":20}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":3}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":5}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":50}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":5}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":18}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":23}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":12}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":5}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":23}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":0}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":29}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":0}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":9}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":24}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":44}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":44}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":39}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":11}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":10}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":7}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":29}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":24}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":53}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":7}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":0}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":24}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":44}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":43}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":38}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":11}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":10}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":7}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":0}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":31}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":24}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":57}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":23}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":15}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":5}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":3}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":0}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":5}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":71}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":17}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":24}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":12}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":5}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":0}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":29}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":0}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":24}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":0}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":22}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":42}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":41}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":36}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":9}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":8}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":5}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":22}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":50}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":5}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":22}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":42}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":40}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":35}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":9}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":8}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":5}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":29}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":3}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":0}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":16}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":23}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":3}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":0}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":50}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":67}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":3}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":0}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":25}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":33}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":0}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":76}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":34}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":5}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":0}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":30}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":3}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":0}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":90}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":44}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":0}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":67}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":0}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":78}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":3}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":0}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":107}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":28}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":117}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":5}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":0}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":66}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":33}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":117}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":5}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":53}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":0}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":57}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":3}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":0}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":33}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":56}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":3}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":0}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":29}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":51}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":3}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":0}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":58}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":32}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":0}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":64}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":3}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":5}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":45}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":5}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":86}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":32}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":0}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":33}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":27}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":5}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":0}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":51}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":0}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":34}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":28}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":5}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":0}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":27}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":129}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":5}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":0}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":38}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":35}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":27}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":6}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":0}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":21}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":63}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":35}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":51}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":0}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":59}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":24}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":7}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":5}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":0}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":117}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":3}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":0}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":111}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":44}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":0}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":29}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":69}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":5}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":0}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":58}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":3}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":0}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":86}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":44}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":0}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":32}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":69}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":5}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":0}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":51}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":3}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":0}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":118}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":36}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":29}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":5}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":0}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":22}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":39}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":74}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":8}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":5}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":3}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":0}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":64}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":36}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":29}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":5}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":0}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":22}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":39}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":58}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":8}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":5}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":3}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":0}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":5}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":64}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":32}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":5}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":48}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":32}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":0}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":56}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":53}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":12}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":5}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":0}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":37}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":107}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":5}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":0}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":36}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":104}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":5}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":0}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":85}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":3}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":1}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":3}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":82}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":60}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":3}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":86}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":31}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":48}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":3}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":0}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":48}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":55,"77":55,"78":55,"79":55,"80":55,"81":55,"82":55,"83":55,"84":55,"85":55,"86":55,"87":55,"88":55,"89":55,"90":55,"91":55,"92":55,"93":55,"94":55,"95":55,"96":55,"97":55,"98":55,"99":55,"100":55,"101":55,"102":55,"103":55,"104":55,"105":55,"106":55,"107":0,"108":0,"109":55,"110":55,"111":55,"112":55,"113":73,"114":73,"115":73,"116":55,"117":55,"118":55,"119":55,"120":0,"121":0,"122":55,"123":55,"124":55,"125":55,"126":55,"127":55,"128":55,"129":55,"130":55,"131":55,"132":55,"133":55,"134":55,"135":55,"136":55,"137":55,"138":16,"139":55,"140":55,"141":84,"142":55,"143":55,"144":55,"145":55,"146":55,"147":55,"148":55,"149":55,"150":55,"151":55,"152":55,"153":55,"154":55,"155":55,"156":55,"157":55,"158":55,"159":55,"160":55,"161":55,"162":55,"163":55,"164":55,"165":55,"166":55,"167":55,"168":55,"169":55,"170":55,"171":55,"172":55,"173":55,"174":55,"175":55,"176":55,"177":55,"178":55,"179":55,"180":55,"181":55,"182":55,"183":42,"184":42,"185":42,"186":42,"187":42,"188":42,"189":55,"190":55,"191":55,"192":0,"193":55,"194":55,"195":55,"196":55,"197":55,"198":55,"199":0,"200":55,"201":55,"202":55,"203":55,"204":55,"205":55,"206":55,"207":55,"208":55,"209":55,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":55,"219":55,"220":55,"221":55,"222":55,"223":55,"224":55,"225":55,"226":55,"227":0,"228":0,"229":0,"230":55,"231":55,"232":55,"233":55,"234":55,"235":55,"236":55,"237":55,"238":55,"239":55,"240":55,"241":55,"242":55,"243":55,"244":55,"245":55,"246":55,"247":55,"248":55,"249":55,"250":55,"251":55,"252":55,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":55,"260":1,"261":1,"262":718,"263":553,"264":553,"265":718,"266":718,"267":718,"268":1,"269":1,"270":1,"271":1,"272":1,"273":109,"274":54,"275":54,"276":55,"277":55,"278":55,"279":55,"280":55,"281":55,"282":55,"283":55,"284":705,"285":58,"286":58,"287":55,"288":55,"289":55,"290":55,"291":55,"292":55,"293":55,"294":55,"295":55,"296":55,"297":705,"298":113,"299":113,"300":55,"301":55,"302":55,"303":55,"304":109,"305":0,"306":0,"307":0,"308":0,"309":109,"310":1,"311":1,"312":1,"313":1,"314":1,"315":56,"316":1,"317":1,"318":55,"319":55,"320":55,"321":55,"322":55,"323":55,"324":55,"325":705,"326":58,"327":58,"328":55,"329":55,"330":55,"331":55,"332":55,"333":55,"334":55,"335":55,"336":55,"337":705,"338":58,"339":58,"340":55,"341":55,"342":55,"343":55,"344":55,"345":1,"346":1,"347":0,"348":0,"349":1,"350":1,"351":3,"352":3,"353":1,"354":1,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":1,"364":1,"365":25,"366":25,"367":25,"368":25,"369":25,"370":25,"371":1,"372":1,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":1,"388":1,"389":386,"390":386,"391":1,"392":1,"393":0,"394":0,"395":1,"396":1,"397":6,"398":6,"399":6,"400":6,"401":1,"402":1,"403":1,"404":1,"405":1,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":1,"441":1,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":1,"451":1,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":1,"461":1,"462":6,"463":6,"464":6,"465":6,"466":6,"467":6,"468":6,"469":6,"470":6,"471":6,"472":1,"473":1,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":1,"485":1,"486":1,"487":1,"488":1,"489":1,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":55,"515":0,"516":0,"517":55,"518":55,"519":55},"branchMap":{"0":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":260,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":260,"column":3}}]},"1":{"type":"branch","line":107,"loc":{"start":{"line":107,"column":30},"end":{"line":109,"column":5}},"locations":[{"start":{"line":107,"column":30},"end":{"line":109,"column":5}}]},"2":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":42},"end":{"line":122,"column":5}},"locations":[{"start":{"line":120,"column":42},"end":{"line":122,"column":5}}]},"3":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":54},"end":{"line":126,"column":60}},"locations":[{"start":{"line":126,"column":54},"end":{"line":126,"column":60}}]},"4":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":32},"end":{"line":127,"column":38}},"locations":[{"start":{"line":127,"column":32},"end":{"line":127,"column":38}}]},"5":{"type":"branch","line":183,"loc":{"start":{"line":183,"column":47},"end":{"line":189,"column":5}},"locations":[{"start":{"line":183,"column":47},"end":{"line":189,"column":5}}]},"6":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":26},"end":{"line":194,"column":11}},"locations":[{"start":{"line":192,"column":26},"end":{"line":194,"column":11}}]},"7":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":29},"end":{"line":201,"column":11}},"locations":[{"start":{"line":199,"column":29},"end":{"line":201,"column":11}}]},"8":{"type":"branch","line":210,"loc":{"start":{"line":210,"column":26},"end":{"line":218,"column":5}},"locations":[{"start":{"line":210,"column":26},"end":{"line":218,"column":5}}]},"9":{"type":"branch","line":225,"loc":{"start":{"line":225,"column":65},"end":{"line":225,"column":71}},"locations":[{"start":{"line":225,"column":65},"end":{"line":225,"column":71}}]},"10":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":26},"end":{"line":230,"column":5}},"locations":[{"start":{"line":227,"column":26},"end":{"line":230,"column":5}}]},"11":{"type":"branch","line":253,"loc":{"start":{"line":253,"column":47},"end":{"line":259,"column":5}},"locations":[{"start":{"line":253,"column":47},"end":{"line":259,"column":5}}]},"12":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":22},"end":{"line":85,"column":62}},"locations":[{"start":{"line":85,"column":22},"end":{"line":85,"column":62}}]},"13":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":27},"end":{"line":86,"column":67}},"locations":[{"start":{"line":86,"column":27},"end":{"line":86,"column":67}}]},"14":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":31},"end":{"line":87,"column":71}},"locations":[{"start":{"line":87,"column":31},"end":{"line":87,"column":71}}]},"15":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":32},"end":{"line":88,"column":72}},"locations":[{"start":{"line":88,"column":32},"end":{"line":88,"column":72}}]},"16":{"type":"branch","line":89,"loc":{"start":{"line":89,"column":40},"end":{"line":89,"column":80}},"locations":[{"start":{"line":89,"column":40},"end":{"line":89,"column":80}}]},"17":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":41},"end":{"line":90,"column":81}},"locations":[{"start":{"line":90,"column":41},"end":{"line":90,"column":81}}]},"18":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":39},"end":{"line":91,"column":79}},"locations":[{"start":{"line":91,"column":39},"end":{"line":91,"column":79}}]},"19":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":40},"end":{"line":92,"column":80}},"locations":[{"start":{"line":92,"column":40},"end":{"line":92,"column":80}}]},"20":{"type":"branch","line":93,"loc":{"start":{"line":93,"column":32},"end":{"line":93,"column":71}},"locations":[{"start":{"line":93,"column":32},"end":{"line":93,"column":71}}]},"21":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":44},"end":{"line":117,"column":5}},"locations":[{"start":{"line":113,"column":44},"end":{"line":117,"column":5}}]},"22":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":66},"end":{"line":126,"column":116}},"locations":[{"start":{"line":126,"column":66},"end":{"line":126,"column":116}}]},"23":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":44},"end":{"line":127,"column":94}},"locations":[{"start":{"line":127,"column":44},"end":{"line":127,"column":94}}]},"24":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":74},"end":{"line":140,"column":5}},"locations":[{"start":{"line":138,"column":74},"end":{"line":140,"column":5}}]},"25":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":71},"end":{"line":143,"column":5}},"locations":[{"start":{"line":141,"column":71},"end":{"line":143,"column":5}}]},"26":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":28},"end":{"line":175,"column":5}},"locations":[{"start":{"line":173,"column":28},"end":{"line":175,"column":5}}]},"27":{"type":"branch","line":225,"loc":{"start":{"line":225,"column":77},"end":{"line":225,"column":127}},"locations":[{"start":{"line":225,"column":77},"end":{"line":225,"column":127}}]},"28":{"type":"branch","line":262,"loc":{"start":{"line":262,"column":10},"end":{"line":268,"column":3}},"locations":[{"start":{"line":262,"column":10},"end":{"line":268,"column":3}}]},"29":{"type":"branch","line":263,"loc":{"start":{"line":263,"column":32},"end":{"line":265,"column":5}},"locations":[{"start":{"line":263,"column":32},"end":{"line":265,"column":5}}]},"30":{"type":"branch","line":273,"loc":{"start":{"line":273,"column":2},"end":{"line":310,"column":3}},"locations":[{"start":{"line":273,"column":2},"end":{"line":310,"column":3}}]},"31":{"type":"branch","line":274,"loc":{"start":{"line":274,"column":22},"end":{"line":276,"column":5}},"locations":[{"start":{"line":274,"column":22},"end":{"line":276,"column":5}}]},"32":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":-1},"end":{"line":305,"column":13}},"locations":[{"start":{"line":277,"column":-1},"end":{"line":305,"column":13}}]},"33":{"type":"branch","line":305,"loc":{"start":{"line":305,"column":6},"end":{"line":309,"column":5}},"locations":[{"start":{"line":305,"column":6},"end":{"line":309,"column":5}}]},"34":{"type":"branch","line":284,"loc":{"start":{"line":284,"column":26},"end":{"line":288,"column":9}},"locations":[{"start":{"line":284,"column":26},"end":{"line":288,"column":9}}]},"35":{"type":"branch","line":285,"loc":{"start":{"line":285,"column":43},"end":{"line":287,"column":11}},"locations":[{"start":{"line":285,"column":43},"end":{"line":287,"column":11}}]},"36":{"type":"branch","line":293,"loc":{"start":{"line":293,"column":26},"end":{"line":293,"column":52}},"locations":[{"start":{"line":293,"column":26},"end":{"line":293,"column":52}}]},"37":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":26},"end":{"line":301,"column":9}},"locations":[{"start":{"line":297,"column":26},"end":{"line":301,"column":9}}]},"38":{"type":"branch","line":298,"loc":{"start":{"line":298,"column":42},"end":{"line":300,"column":11}},"locations":[{"start":{"line":298,"column":42},"end":{"line":300,"column":11}}]},"39":{"type":"branch","line":315,"loc":{"start":{"line":315,"column":2},"end":{"line":345,"column":3}},"locations":[{"start":{"line":315,"column":2},"end":{"line":345,"column":3}}]},"40":{"type":"branch","line":316,"loc":{"start":{"line":316,"column":23},"end":{"line":318,"column":5}},"locations":[{"start":{"line":316,"column":23},"end":{"line":318,"column":5}}]},"41":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":-1},"end":{"line":345,"column":3}},"locations":[{"start":{"line":319,"column":-1},"end":{"line":345,"column":3}}]},"42":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":24},"end":{"line":329,"column":7}},"locations":[{"start":{"line":325,"column":24},"end":{"line":329,"column":7}}]},"43":{"type":"branch","line":326,"loc":{"start":{"line":326,"column":40},"end":{"line":328,"column":9}},"locations":[{"start":{"line":326,"column":40},"end":{"line":328,"column":9}}]},"44":{"type":"branch","line":333,"loc":{"start":{"line":333,"column":24},"end":{"line":333,"column":49}},"locations":[{"start":{"line":333,"column":24},"end":{"line":333,"column":49}}]},"45":{"type":"branch","line":337,"loc":{"start":{"line":337,"column":24},"end":{"line":341,"column":7}},"locations":[{"start":{"line":337,"column":24},"end":{"line":341,"column":7}}]},"46":{"type":"branch","line":338,"loc":{"start":{"line":338,"column":39},"end":{"line":340,"column":9}},"locations":[{"start":{"line":338,"column":39},"end":{"line":340,"column":9}}]},"47":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":2},"end":{"line":353,"column":3}},"locations":[{"start":{"line":351,"column":2},"end":{"line":353,"column":3}}]},"48":{"type":"branch","line":365,"loc":{"start":{"line":365,"column":2},"end":{"line":371,"column":3}},"locations":[{"start":{"line":365,"column":2},"end":{"line":371,"column":3}}]},"49":{"type":"branch","line":389,"loc":{"start":{"line":389,"column":2},"end":{"line":391,"column":3}},"locations":[{"start":{"line":389,"column":2},"end":{"line":391,"column":3}}]},"50":{"type":"branch","line":397,"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"locations":[{"start":{"line":397,"column":2},"end":{"line":401,"column":3}}]},"51":{"type":"branch","line":462,"loc":{"start":{"line":462,"column":2},"end":{"line":472,"column":3}},"locations":[{"start":{"line":462,"column":2},"end":{"line":472,"column":3}}]},"52":{"type":"branch","line":468,"loc":{"start":{"line":468,"column":20},"end":{"line":470,"column":7}},"locations":[{"start":{"line":468,"column":20},"end":{"line":470,"column":7}}]},"53":{"type":"branch","line":514,"loc":{"start":{"line":514,"column":7},"end":{"line":520,"column":1}},"locations":[{"start":{"line":514,"column":7},"end":{"line":520,"column":1}}]},"54":{"type":"branch","line":515,"loc":{"start":{"line":515,"column":30},"end":{"line":517,"column":3}},"locations":[{"start":{"line":515,"column":30},"end":{"line":517,"column":3}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[0],"5":[42],"6":[0],"7":[0],"8":[0],"9":[52],"10":[0],"11":[0],"12":[39],"13":[61],"14":[52],"15":[52],"16":[51],"17":[51],"18":[51],"19":[33],"20":[843],"21":[73],"22":[55],"23":[55],"24":[16],"25":[84],"26":[55],"27":[3],"28":[718],"29":[553],"30":[109],"31":[54],"32":[55],"33":[0],"34":[705],"35":[58],"36":[705],"37":[705],"38":[113],"39":[56],"40":[1],"41":[55],"42":[705],"43":[58],"44":[705],"45":[705],"46":[58],"47":[3],"48":[25],"49":[386],"50":[6],"51":[6],"52":[6],"53":[55],"54":[0]},"fnMap":{"0":{"name":"Libp2pNode","decl":{"start":{"line":76,"column":2},"end":{"line":260,"column":3}},"loc":{"start":{"line":76,"column":2},"end":{"line":260,"column":3}},"line":76},"1":{"name":"denyDialPeer","decl":{"start":{"line":85,"column":22},"end":{"line":85,"column":62}},"loc":{"start":{"line":85,"column":22},"end":{"line":85,"column":62}},"line":85},"2":{"name":"denyDialMultiaddr","decl":{"start":{"line":86,"column":27},"end":{"line":86,"column":67}},"loc":{"start":{"line":86,"column":27},"end":{"line":86,"column":67}},"line":86},"3":{"name":"denyInboundConnection","decl":{"start":{"line":87,"column":31},"end":{"line":87,"column":71}},"loc":{"start":{"line":87,"column":31},"end":{"line":87,"column":71}},"line":87},"4":{"name":"denyOutboundConnection","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":72}},"loc":{"start":{"line":88,"column":32},"end":{"line":88,"column":72}},"line":88},"5":{"name":"denyInboundEncryptedConnection","decl":{"start":{"line":89,"column":40},"end":{"line":89,"column":80}},"loc":{"start":{"line":89,"column":40},"end":{"line":89,"column":80}},"line":89},"6":{"name":"denyOutboundEncryptedConnection","decl":{"start":{"line":90,"column":41},"end":{"line":90,"column":81}},"loc":{"start":{"line":90,"column":41},"end":{"line":90,"column":81}},"line":90},"7":{"name":"denyInboundUpgradedConnection","decl":{"start":{"line":91,"column":39},"end":{"line":91,"column":79}},"loc":{"start":{"line":91,"column":39},"end":{"line":91,"column":79}},"line":91},"8":{"name":"denyOutboundUpgradedConnection","decl":{"start":{"line":92,"column":40},"end":{"line":92,"column":80}},"loc":{"start":{"line":92,"column":40},"end":{"line":92,"column":80}},"line":92},"9":{"name":"filterMultiaddrForPeer","decl":{"start":{"line":93,"column":32},"end":{"line":93,"column":71}},"loc":{"start":{"line":93,"column":32},"end":{"line":93,"column":71}},"line":93},"10":{"name":"configureComponent","decl":{"start":{"line":262,"column":10},"end":{"line":268,"column":3}},"loc":{"start":{"line":262,"column":10},"end":{"line":268,"column":3}},"line":262},"11":{"name":"start","decl":{"start":{"line":273,"column":2},"end":{"line":310,"column":3}},"loc":{"start":{"line":273,"column":2},"end":{"line":310,"column":3}},"line":273},"12":{"name":"stop","decl":{"start":{"line":315,"column":2},"end":{"line":345,"column":3}},"loc":{"start":{"line":315,"column":2},"end":{"line":345,"column":3}},"line":315},"13":{"name":"isStarted","decl":{"start":{"line":347,"column":2},"end":{"line":349,"column":3}},"loc":{"start":{"line":347,"column":2},"end":{"line":349,"column":3}},"line":347},"14":{"name":"getConnections","decl":{"start":{"line":351,"column":2},"end":{"line":353,"column":3}},"loc":{"start":{"line":351,"column":2},"end":{"line":353,"column":3}},"line":351},"15":{"name":"getPeers","decl":{"start":{"line":355,"column":2},"end":{"line":363,"column":3}},"loc":{"start":{"line":355,"column":2},"end":{"line":363,"column":3}},"line":355},"16":{"name":"dial","decl":{"start":{"line":365,"column":2},"end":{"line":371,"column":3}},"loc":{"start":{"line":365,"column":2},"end":{"line":371,"column":3}},"line":365},"17":{"name":"dialProtocol","decl":{"start":{"line":373,"column":2},"end":{"line":387,"column":3}},"loc":{"start":{"line":373,"column":2},"end":{"line":387,"column":3}},"line":373},"18":{"name":"getMultiaddrs","decl":{"start":{"line":389,"column":2},"end":{"line":391,"column":3}},"loc":{"start":{"line":389,"column":2},"end":{"line":391,"column":3}},"line":389},"19":{"name":"getProtocols","decl":{"start":{"line":393,"column":2},"end":{"line":395,"column":3}},"loc":{"start":{"line":393,"column":2},"end":{"line":395,"column":3}},"line":393},"20":{"name":"hangUp","decl":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"line":397},"21":{"name":"getPublicKey","decl":{"start":{"line":406,"column":2},"end":{"line":440,"column":3}},"loc":{"start":{"line":406,"column":2},"end":{"line":440,"column":3}},"line":406},"22":{"name":"fetch","decl":{"start":{"line":442,"column":2},"end":{"line":450,"column":3}},"loc":{"start":{"line":442,"column":2},"end":{"line":450,"column":3}},"line":442},"23":{"name":"ping","decl":{"start":{"line":452,"column":2},"end":{"line":460,"column":3}},"loc":{"start":{"line":452,"column":2},"end":{"line":460,"column":3}},"line":452},"24":{"name":"handle","decl":{"start":{"line":462,"column":2},"end":{"line":472,"column":3}},"loc":{"start":{"line":462,"column":2},"end":{"line":472,"column":3}},"line":462},"25":{"name":"unhandle","decl":{"start":{"line":474,"column":2},"end":{"line":484,"column":3}},"loc":{"start":{"line":474,"column":2},"end":{"line":484,"column":3}},"line":474},"26":{"name":"onDiscoveryPeer","decl":{"start":{"line":490,"column":2},"end":{"line":507,"column":3}},"loc":{"start":{"line":490,"column":2},"end":{"line":507,"column":3}},"line":490},"27":{"name":"createLibp2pNode","decl":{"start":{"line":514,"column":7},"end":{"line":520,"column":1}},"loc":{"start":{"line":514,"column":7},"end":{"line":520,"column":1}},"line":514}},"f":{"0":55,"1":39,"2":61,"3":52,"4":52,"5":51,"6":51,"7":51,"8":33,"9":843,"10":718,"11":109,"12":56,"13":0,"14":3,"15":0,"16":25,"17":0,"18":386,"19":0,"20":6,"21":0,"22":0,"23":0,"24":6,"25":0,"26":0,"27":55}} +,"/home/ckousik/projects/js-libp2p/src/nat-manager.ts": {"path":"/home/ckousik/projects/js-libp2p/src/nat-manager.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":62}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":57}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":38}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":36}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":35}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":30}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":35}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":61}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":67}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":55}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":71}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":58}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":42}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":5}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":19}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":1}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":33}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":38}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":50}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":5}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":26}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":5}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":50}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":5}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":74}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":22}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":74}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":14}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":82}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":20}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":0}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":50}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":18}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":1}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":39}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":16}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":36}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":32}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":1}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":46}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":51}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":35}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":43}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":40}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":38}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":30}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":37}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":35}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":72}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":32}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":24}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":31}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":47}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":41}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":108}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":38}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":43}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":33}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":120}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":16}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":23}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":3}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":13}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":77}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":4}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":82}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":17}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":53}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":12}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":23}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":42}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":39}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":43}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":20}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":6}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":19}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":61}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":59}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":64}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":62}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":34}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":47}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":16}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":7}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":29}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":47}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":16}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":7}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":0}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":25}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":22}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":47}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":16}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":7}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":44}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":72}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":45}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":31}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":155}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":7}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":30}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":59}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":7}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":35}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":0}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":86}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":24}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":19}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":24}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":40}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":67}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":8}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":70}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":18}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":26}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":24}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":20}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":5}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":3}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":23}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":30}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":24}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":5}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":0}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":33}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":36}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":20}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":32}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":27}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":6}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":22}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":3}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":26}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":5}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":17}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":43}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":12}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":5}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":0}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":9}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":31}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":29}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":24}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":20}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":5}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":3}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":55,"85":55,"86":55,"87":55,"88":55,"89":55,"90":55,"91":55,"92":55,"93":55,"94":55,"95":55,"96":0,"97":0,"98":55,"99":1,"100":1,"101":0,"102":0,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":55,"113":55,"114":55,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":1,"180":1,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":1,"195":1,"196":1,"197":1,"198":1,"199":55,"200":55,"201":55,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":55,"210":1},"branchMap":{"0":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":2},"end":{"line":99,"column":3}},"locations":[{"start":{"line":84,"column":2},"end":{"line":99,"column":3}}]},"1":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":23},"end":{"line":92,"column":38}},"locations":[{"start":{"line":92,"column":23},"end":{"line":92,"column":38}}]},"2":{"type":"branch","line":93,"loc":{"start":{"line":93,"column":35},"end":{"line":93,"column":43}},"locations":[{"start":{"line":93,"column":35},"end":{"line":93,"column":43}}]},"3":{"type":"branch","line":96,"loc":{"start":{"line":96,"column":32},"end":{"line":98,"column":5}},"locations":[{"start":{"line":96,"column":32},"end":{"line":98,"column":5}}]},"4":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":2},"end":{"line":105,"column":13}},"locations":[{"start":{"line":105,"column":2},"end":{"line":105,"column":13}}]},"5":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":2},"end":{"line":124,"column":3}},"locations":[{"start":{"line":112,"column":2},"end":{"line":124,"column":3}}]},"6":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":34},"end":{"line":113,"column":50}},"locations":[{"start":{"line":113,"column":34},"end":{"line":113,"column":50}}]},"7":{"type":"branch","line":116,"loc":{"start":{"line":116,"column":-1},"end":{"line":124,"column":3}},"locations":[{"start":{"line":116,"column":-1},"end":{"line":124,"column":3}}]},"8":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":2},"end":{"line":210,"column":3}},"locations":[{"start":{"line":199,"column":2},"end":{"line":210,"column":3}}]},"9":{"type":"branch","line":203,"loc":{"start":{"line":203,"column":-1},"end":{"line":209,"column":5}},"locations":[{"start":{"line":203,"column":-1},"end":{"line":209,"column":5}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[55],"5":[55],"6":[0],"7":[0],"8":[55],"9":[0]},"fnMap":{"0":{"name":"highPort","decl":{"start":{"line":18,"column":0},"end":{"line":20,"column":1}},"loc":{"start":{"line":18,"column":0},"end":{"line":20,"column":1}},"line":18},"1":{"name":"NatManager","decl":{"start":{"line":84,"column":2},"end":{"line":99,"column":3}},"loc":{"start":{"line":84,"column":2},"end":{"line":99,"column":3}},"line":84},"2":{"name":"isStarted","decl":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"line":101},"3":{"name":"start","decl":{"start":{"line":105,"column":2},"end":{"line":105,"column":13}},"loc":{"start":{"line":105,"column":2},"end":{"line":105,"column":13}},"line":105},"4":{"name":"afterStart","decl":{"start":{"line":112,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":112,"column":2},"end":{"line":124,"column":3}},"line":112},"5":{"name":"_start","decl":{"start":{"line":126,"column":2},"end":{"line":179,"column":3}},"loc":{"start":{"line":126,"column":2},"end":{"line":179,"column":3}},"line":126},"6":{"name":"_getClient","decl":{"start":{"line":181,"column":2},"end":{"line":194,"column":3}},"loc":{"start":{"line":181,"column":2},"end":{"line":194,"column":3}},"line":181},"7":{"name":"stop","decl":{"start":{"line":199,"column":2},"end":{"line":210,"column":3}},"loc":{"start":{"line":199,"column":2},"end":{"line":210,"column":3}},"line":199}},"f":{"0":0,"1":55,"2":0,"3":55,"4":55,"5":0,"6":0,"7":55}} +,"/home/ckousik/projects/js-libp2p/src/peer-record-updater.ts": {"path":"/home/ckousik/projects/js-libp2p/src/peer-record-updater.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":64}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":61}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":51}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":67}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":71}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":61}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":48}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":16}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":22}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":36}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":32}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":1}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":53}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":58}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":26}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":57}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":32}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":24}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":16}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":23}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":23}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":88}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":84}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":84}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":3}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":17}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":24}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":91}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":87}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":87}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":3}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":85}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":13}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":21}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":25}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":43}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":41}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":120}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":10}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":86}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":79}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":8}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":21}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":63}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":8}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":3}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":55,"24":55,"25":55,"26":55,"27":1,"28":1,"29":0,"30":0,"31":1,"32":1,"33":55,"34":55,"35":55,"36":55,"37":55,"38":1,"39":1,"40":55,"41":55,"42":55,"43":55,"44":55,"45":1,"46":1,"47":1,"48":1,"49":1,"50":200,"51":200,"52":200,"53":200,"54":200,"55":200,"56":200,"57":200,"58":200,"59":200,"60":200,"61":0,"62":200,"63":200,"64":1},"branchMap":{"0":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":2},"end":{"line":27,"column":3}},"locations":[{"start":{"line":23,"column":2},"end":{"line":27,"column":3}}]},"1":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":2},"end":{"line":38,"column":3}},"locations":[{"start":{"line":33,"column":2},"end":{"line":38,"column":3}}]},"2":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"locations":[{"start":{"line":40,"column":2},"end":{"line":45,"column":3}}]},"3":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":2},"end":{"line":64,"column":3}},"locations":[{"start":{"line":50,"column":2},"end":{"line":64,"column":3}}]},"4":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":12},"end":{"line":60,"column":7}},"locations":[{"start":{"line":52,"column":12},"end":{"line":60,"column":7}}]},"5":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":72},"end":{"line":55,"column":119}},"locations":[{"start":{"line":55,"column":72},"end":{"line":55,"column":119}}]}},"b":{"0":[55],"1":[55],"2":[55],"3":[200],"4":[200],"5":[521]},"fnMap":{"0":{"name":"PeerRecordUpdater","decl":{"start":{"line":23,"column":2},"end":{"line":27,"column":3}},"loc":{"start":{"line":23,"column":2},"end":{"line":27,"column":3}},"line":23},"1":{"name":"isStarted","decl":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"line":29},"2":{"name":"start","decl":{"start":{"line":33,"column":2},"end":{"line":38,"column":3}},"loc":{"start":{"line":33,"column":2},"end":{"line":38,"column":3}},"line":33},"3":{"name":"stop","decl":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"line":40},"4":{"name":"update","decl":{"start":{"line":50,"column":2},"end":{"line":64,"column":3}},"loc":{"start":{"line":50,"column":2},"end":{"line":64,"column":3}},"line":50}},"f":{"0":55,"1":0,"2":55,"3":55,"4":200}} +,"/home/ckousik/projects/js-libp2p/src/peer-routing.ts": {"path":"/home/ckousik/projects/js-libp2p/src/peer-routing.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":45}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":8}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":17}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":14}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":14}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":35}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":60}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":28}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":28}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":28}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":8}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":21}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":22}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":40}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":29}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":55}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":65}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":54}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":61}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":59}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":61}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":41}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":37}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":19}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":52}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":20}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":54}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":19}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":5}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":45}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":18}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":1}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":34}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":25}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":37}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":1}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":47}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":16}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":1}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":67}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":59}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":41}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":57}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":51}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":26}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":45}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":81}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":32}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":37}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":55}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":70}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":3}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":16}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":23}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":3}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":32}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":5}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":18}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":123}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":12}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":40}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":101}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":23}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":86}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":34}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":39}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":41}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":12}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":5}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":9}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":91}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":103}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":33}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":11}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":31}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":64}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":16}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":66}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":114}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":24}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":20}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":15}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":35}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":38}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":5}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":31}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":5}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":17}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":40}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":37}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":33}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":24}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":3}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":70}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":5}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":74}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":36}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":91}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":5}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":62}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":82}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":30}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":12}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":60}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":15}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":52}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":25}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":26}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":11}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":13}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":8}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":42}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":68}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":43}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":5}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":25}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":19}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":69}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":3}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":5}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":70}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":5}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":94}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":36}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":91}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":5}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":17}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":12}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":75}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":8}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":68}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":38}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":38}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":5}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":3}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":55,"71":55,"72":55,"73":55,"74":55,"75":55,"76":55,"77":1,"78":1,"79":0,"80":0,"81":1,"82":1,"83":1,"84":1,"85":1,"86":110,"87":110,"88":110,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":1,"97":1,"98":1,"99":1,"100":1,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":1,"126":1,"127":1,"128":1,"129":1,"130":110,"131":110,"132":110,"133":110,"134":110,"135":110,"136":110,"137":1,"138":1,"139":1,"140":1,"141":1,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":1,"172":1,"173":1,"174":1,"175":1,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":1},"branchMap":{"0":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"locations":[{"start":{"line":70,"column":2},"end":{"line":77,"column":3}}]},"1":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":31},"end":{"line":72,"column":37}},"locations":[{"start":{"line":72,"column":31},"end":{"line":72,"column":37}}]},"2":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":49},"end":{"line":73,"column":55}},"locations":[{"start":{"line":73,"column":49},"end":{"line":73,"column":55}}]},"3":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":2},"end":{"line":96,"column":3}},"locations":[{"start":{"line":86,"column":2},"end":{"line":96,"column":3}}]},"4":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":49},"end":{"line":87,"column":75}},"locations":[{"start":{"line":87,"column":49},"end":{"line":87,"column":75}}]},"5":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":75},"end":{"line":87,"column":120}},"locations":[{"start":{"line":87,"column":75},"end":{"line":87,"column":120}}]},"6":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":-1},"end":{"line":96,"column":3}},"locations":[{"start":{"line":90,"column":-1},"end":{"line":96,"column":3}}]},"7":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":2},"end":{"line":137,"column":3}},"locations":[{"start":{"line":130,"column":2},"end":{"line":137,"column":3}}]},"8":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":24},"end":{"line":134,"column":31}},"locations":[{"start":{"line":134,"column":24},"end":{"line":134,"column":31}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[110],"4":[0],"5":[0],"6":[0],"7":[110],"8":[0]},"fnMap":{"0":{"name":"DefaultPeerRouting","decl":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"line":70},"1":{"name":"isStarted","decl":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"loc":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"line":79},"2":{"name":"start","decl":{"start":{"line":86,"column":2},"end":{"line":96,"column":3}},"loc":{"start":{"line":86,"column":2},"end":{"line":96,"column":3}},"line":86},"3":{"name":"_findClosestPeersTask","decl":{"start":{"line":101,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":101,"column":2},"end":{"line":125,"column":3}},"line":101},"4":{"name":"stop","decl":{"start":{"line":130,"column":2},"end":{"line":137,"column":3}},"loc":{"start":{"line":130,"column":2},"end":{"line":137,"column":3}},"line":130},"5":{"name":"findPeer","decl":{"start":{"line":142,"column":2},"end":{"line":171,"column":3}},"loc":{"start":{"line":142,"column":2},"end":{"line":171,"column":3}},"line":142},"6":{"name":"getClosestPeers","decl":{"start":{"line":176,"column":2},"end":{"line":189,"column":3}},"loc":{"start":{"line":176,"column":2},"end":{"line":189,"column":3}},"line":176}},"f":{"0":55,"1":0,"2":110,"3":0,"4":110,"5":0,"6":0}} +,"/home/ckousik/projects/js-libp2p/src/registrar.ts": {"path":"/home/ckousik/projects/js-libp2p/src/registrar.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":99}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":85}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":86}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":77}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":55}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":45}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":46}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":38}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":16}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":22}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":1}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":75}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":3}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":65}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":50}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":49}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":31}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":29}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":32}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":54}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":62}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":48}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":93}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":87}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":29}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":90}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":3}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":19}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":39}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":32}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":29}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":14}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":33}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":47}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":26}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":115}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":3}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":36}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":29}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":15}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":12}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":28}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":46}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":103}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":38}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":132}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":59}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":53}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":54}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":12}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":33}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":14}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":13}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":6}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":59}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":85}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":56}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":44}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":49}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":75}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":38}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":36}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":6}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":60}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":90}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":3}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":53}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":74}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":32}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":70}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":115}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":5}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":22}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":67}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":50}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":29}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":46}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":47}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":5}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":32}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":20}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":37}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":13}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":3}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":24}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":69}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":31}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":29}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":36}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":42}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":9}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":7}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":5}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":3}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":5}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":47}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":48}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":33}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":71}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":30}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":47}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":58}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":35}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":60}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":20}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":11}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":0}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":55}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":56}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":11}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":9}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":8}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":21}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":22}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":8}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":3}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":5}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":86}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":75}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":5}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":45}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":33}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":0}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":71}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":30}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":47}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":58}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":35}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":60}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":20}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":11}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":55}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":65}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":11}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":9}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":8}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":21}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":22}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":8}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":3}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":5}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":66}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":5}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":65}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":58}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":82}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":80}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":37}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":54}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":0}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":31}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":56}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":16}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":7}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":0}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":51}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":37}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":7}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":5}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":35}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":54}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":31}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":56}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":16}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":7}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":0}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":51}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":86}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":33}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":18}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":9}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":46}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":7}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":3}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":55,"32":55,"33":55,"34":55,"35":55,"36":55,"37":55,"38":55,"39":55,"40":55,"41":55,"42":55,"43":55,"44":55,"45":1,"46":1,"47":225,"48":225,"49":225,"50":225,"51":225,"52":1,"53":1,"54":538,"55":538,"56":538,"57":1,"58":1,"59":537,"60":537,"61":537,"62":1,"63":1,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":1,"75":1,"76":1,"77":1,"78":1,"79":391,"80":0,"81":0,"82":391,"83":391,"84":391,"85":391,"86":391,"87":391,"88":391,"89":391,"90":391,"91":391,"92":391,"93":391,"94":391,"95":391,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":385,"103":385,"104":385,"105":385,"106":385,"107":385,"108":385,"109":385,"110":385,"111":1,"112":1,"113":1,"114":1,"115":1,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":1,"139":1,"140":1,"141":1,"142":1,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":1,"154":1,"155":1,"156":1,"157":1,"158":16,"159":16,"160":16,"161":16,"162":16,"163":112,"164":112,"165":112,"166":112,"167":112,"168":112,"169":0,"170":0,"171":0,"172":0,"173":0,"174":16,"175":16,"176":0,"177":16,"178":16,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":84,"186":84,"187":84,"188":84,"189":84,"190":56,"191":56,"192":56,"193":56,"194":56,"195":56,"196":0,"197":0,"198":0,"199":0,"200":0,"201":84,"202":84,"203":0,"204":84,"205":84,"206":1,"207":1,"208":1,"209":1,"210":1,"211":925,"212":925,"213":925,"214":925,"215":925,"216":386,"217":386,"218":386,"219":386,"220":386,"221":386,"222":0,"223":0,"224":0,"225":0,"226":0,"227":925,"228":925,"229":801,"230":801,"231":801,"232":801,"233":801,"234":801,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":925,"246":1},"branchMap":{"0":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":45,"column":3}},"locations":[{"start":{"line":31,"column":2},"end":{"line":45,"column":3}}]},"1":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"locations":[{"start":{"line":47,"column":2},"end":{"line":52,"column":3}}]},"2":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"locations":[{"start":{"line":54,"column":2},"end":{"line":62,"column":3}}]},"3":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":25},"end":{"line":59,"column":5}},"locations":[{"start":{"line":57,"column":25},"end":{"line":59,"column":5}}]},"4":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":-1},"end":{"line":62,"column":3}},"locations":[{"start":{"line":60,"column":-1},"end":{"line":62,"column":3}}]},"5":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":2},"end":{"line":96,"column":3}},"locations":[{"start":{"line":79,"column":2},"end":{"line":96,"column":3}}]},"6":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":37},"end":{"line":82,"column":5}},"locations":[{"start":{"line":80,"column":37},"end":{"line":82,"column":5}}]},"7":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":2},"end":{"line":111,"column":3}},"locations":[{"start":{"line":102,"column":2},"end":{"line":111,"column":3}}]},"8":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":50},"end":{"line":103,"column":61}},"locations":[{"start":{"line":103,"column":50},"end":{"line":103,"column":61}}]},"9":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":25},"end":{"line":107,"column":5}},"locations":[{"start":{"line":105,"column":25},"end":{"line":107,"column":5}}]},"10":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":2},"end":{"line":179,"column":3}},"locations":[{"start":{"line":158,"column":2},"end":{"line":179,"column":3}}]},"11":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":12},"end":{"line":175,"column":7}},"locations":[{"start":{"line":162,"column":12},"end":{"line":175,"column":7}}]},"12":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":46},"end":{"line":174,"column":9}},"locations":[{"start":{"line":163,"column":46},"end":{"line":174,"column":9}}]},"13":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":-1},"end":{"line":174,"column":9}},"locations":[{"start":{"line":170,"column":-1},"end":{"line":174,"column":9}}]},"14":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":2},"end":{"line":206,"column":3}},"locations":[{"start":{"line":185,"column":2},"end":{"line":206,"column":3}}]},"15":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":12},"end":{"line":202,"column":7}},"locations":[{"start":{"line":189,"column":12},"end":{"line":202,"column":7}}]},"16":{"type":"branch","line":190,"loc":{"start":{"line":190,"column":46},"end":{"line":201,"column":9}},"locations":[{"start":{"line":190,"column":46},"end":{"line":201,"column":9}}]},"17":{"type":"branch","line":197,"loc":{"start":{"line":197,"column":-1},"end":{"line":201,"column":9}},"locations":[{"start":{"line":197,"column":-1},"end":{"line":201,"column":9}}]},"18":{"type":"branch","line":211,"loc":{"start":{"line":211,"column":2},"end":{"line":246,"column":3}},"locations":[{"start":{"line":211,"column":2},"end":{"line":246,"column":3}}]},"19":{"type":"branch","line":216,"loc":{"start":{"line":216,"column":36},"end":{"line":227,"column":5}},"locations":[{"start":{"line":216,"column":36},"end":{"line":227,"column":5}}]},"20":{"type":"branch","line":223,"loc":{"start":{"line":223,"column":-1},"end":{"line":227,"column":5}},"locations":[{"start":{"line":223,"column":-1},"end":{"line":227,"column":5}}]},"21":{"type":"branch","line":229,"loc":{"start":{"line":229,"column":34},"end":{"line":245,"column":5}},"locations":[{"start":{"line":229,"column":34},"end":{"line":245,"column":5}}]},"22":{"type":"branch","line":236,"loc":{"start":{"line":236,"column":-1},"end":{"line":245,"column":5}},"locations":[{"start":{"line":236,"column":-1},"end":{"line":245,"column":5}}]},"23":{"type":"branch","line":213,"loc":{"start":{"line":213,"column":40},"end":{"line":213,"column":81}},"locations":[{"start":{"line":213,"column":40},"end":{"line":213,"column":81}}]},"24":{"type":"branch","line":214,"loc":{"start":{"line":214,"column":35},"end":{"line":214,"column":79}},"locations":[{"start":{"line":214,"column":35},"end":{"line":214,"column":79}}]}},"b":{"0":[55],"1":[225],"2":[538],"3":[1],"4":[537],"5":[391],"6":[0],"7":[385],"8":[0],"9":[385],"10":[16],"11":[16],"12":[112],"13":[0],"14":[84],"15":[84],"16":[56],"17":[0],"18":[925],"19":[386],"20":[0],"21":[801],"22":[0],"23":[2903],"24":[3318]},"fnMap":{"0":{"name":"DefaultRegistrar","decl":{"start":{"line":31,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":31,"column":2},"end":{"line":45,"column":3}},"line":31},"1":{"name":"getProtocols","decl":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"line":47},"2":{"name":"getHandler","decl":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"loc":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"line":54},"3":{"name":"getTopologies","decl":{"start":{"line":64,"column":2},"end":{"line":74,"column":3}},"loc":{"start":{"line":64,"column":2},"end":{"line":74,"column":3}},"line":64},"4":{"name":"handle","decl":{"start":{"line":79,"column":2},"end":{"line":96,"column":3}},"loc":{"start":{"line":79,"column":2},"end":{"line":96,"column":3}},"line":79},"5":{"name":"unhandle","decl":{"start":{"line":102,"column":2},"end":{"line":111,"column":3}},"loc":{"start":{"line":102,"column":2},"end":{"line":111,"column":3}},"line":102},"6":{"name":"register","decl":{"start":{"line":116,"column":2},"end":{"line":138,"column":3}},"loc":{"start":{"line":116,"column":2},"end":{"line":138,"column":3}},"line":116},"7":{"name":"unregister","decl":{"start":{"line":143,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":143,"column":2},"end":{"line":153,"column":3}},"line":143},"8":{"name":"_onDisconnect","decl":{"start":{"line":158,"column":2},"end":{"line":179,"column":3}},"loc":{"start":{"line":158,"column":2},"end":{"line":179,"column":3}},"line":158},"9":{"name":"_onConnect","decl":{"start":{"line":185,"column":2},"end":{"line":206,"column":3}},"loc":{"start":{"line":185,"column":2},"end":{"line":206,"column":3}},"line":185},"10":{"name":"_onProtocolChange","decl":{"start":{"line":211,"column":2},"end":{"line":246,"column":3}},"loc":{"start":{"line":211,"column":2},"end":{"line":246,"column":3}},"line":211}},"f":{"0":55,"1":225,"2":538,"3":0,"4":391,"5":385,"6":0,"7":0,"8":16,"9":84,"10":925}} +,"/home/ckousik/projects/js-libp2p/src/transport-manager.ts": {"path":"/home/ckousik/projects/js-libp2p/src/transport-manager.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":60}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":122}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":56}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":69}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":61}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":48}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":56}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":71}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":39}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":39}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":52}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":19}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":32}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":20}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":1}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":122}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":64}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":53}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":53}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":49}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":26}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":96}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":11}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":32}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":24}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":50}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":33}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":49}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":38}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":6}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":73}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":3}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":38}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":30}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":45}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":88}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":35}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":107}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":35}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":39}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":35}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":33}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":16}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":23}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":3}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":0}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":18}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":67}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":65}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":28}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":23}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":3}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":5}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":24}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":5}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":17}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":20}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":52}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":42}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":36}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":40}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":18}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":9}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":36}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":7}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":28}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":31}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":46}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":33}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":5}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":24}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":3}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":60}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":75}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":52}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":28}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":115}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":9}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":39}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":19}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":42}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":8}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":24}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":29}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":50}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":7}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":5}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":52}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":5}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":28}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":31}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":54}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":41}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":50}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":7}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":16}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":3}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":41}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":5}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":20}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":48}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":3}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":5}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":55}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":41}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":55}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":42}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":29}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":24}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":7}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":5}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":47}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":5}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":37}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":46}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":77}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":12}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":5}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":29}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":63}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":52}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":0}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":56}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":42}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":56}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":51}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":44}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":10}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":47}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":32}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":24}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":44}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":9}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":32}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":36}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":54}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":78}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":28}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":13}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":10}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":50}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":74}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":28}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":13}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":10}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":0}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":53}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":41}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":7}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":0}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":57}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":31}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":32}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":16}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":7}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":0}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":42}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":60}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":82}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":88}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":91}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":58}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":85}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":126}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":7}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":5}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":72}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":66}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":57}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":102}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":61}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":71}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":7}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":49}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":5}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":3}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":0}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":5}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":50}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":67}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":5}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":30}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":27}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":0}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":34}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":59}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":28}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":5}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":0}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":31}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":30}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":3}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":0}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":5}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":45}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":55}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":4}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":11}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":5}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":22}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":20}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":47}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":34}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":5}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":28}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":3}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":55,"36":55,"37":55,"38":55,"39":55,"40":55,"41":55,"42":55,"43":55,"44":55,"45":55,"46":1,"47":1,"48":1,"49":1,"50":1,"51":110,"52":110,"53":110,"54":0,"55":0,"56":110,"57":110,"58":0,"59":0,"60":110,"61":110,"62":110,"63":110,"64":110,"65":110,"66":110,"67":110,"68":110,"69":1,"70":1,"71":0,"72":0,"73":1,"74":1,"75":55,"76":55,"77":55,"78":55,"79":55,"80":55,"81":55,"82":1,"83":1,"84":1,"85":1,"86":1,"87":55,"88":55,"89":110,"90":110,"91":171,"92":171,"93":171,"94":0,"95":0,"96":171,"97":171,"98":171,"99":110,"100":55,"101":55,"102":55,"103":55,"104":110,"105":110,"106":55,"107":55,"108":55,"109":1,"110":1,"111":1,"112":1,"113":1,"114":56,"115":56,"116":56,"117":1,"118":1,"119":55,"120":55,"121":55,"122":55,"123":55,"124":55,"125":56,"126":22,"127":0,"128":0,"129":22,"130":22,"131":22,"132":56,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1116,"139":1116,"140":2232,"141":3673,"142":3673,"143":2232,"144":1116,"145":1116,"146":1,"147":1,"148":1,"149":1,"150":1,"151":0,"152":0,"153":1,"154":1,"155":1,"156":1,"157":1,"158":117,"159":136,"160":136,"161":136,"162":115,"163":115,"164":136,"165":2,"166":1,"167":1,"168":1,"169":1,"170":1,"171":175,"172":0,"173":0,"174":0,"175":175,"176":175,"177":175,"178":175,"179":350,"180":350,"181":350,"182":350,"183":350,"184":175,"185":175,"186":175,"187":175,"188":175,"189":175,"190":175,"191":175,"192":0,"193":0,"194":0,"195":175,"196":175,"197":175,"198":175,"199":175,"200":167,"201":167,"202":167,"203":175,"204":175,"205":92,"206":92,"207":92,"208":175,"209":175,"210":175,"211":175,"212":175,"213":350,"214":350,"215":350,"216":175,"217":175,"218":175,"219":175,"220":175,"221":175,"222":175,"223":175,"224":175,"225":175,"226":350,"227":8,"228":8,"229":350,"230":167,"231":167,"232":167,"233":175,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":175,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":1},"branchMap":{"0":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":2},"end":{"line":46,"column":3}},"locations":[{"start":{"line":35,"column":2},"end":{"line":46,"column":3}}]},"1":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":45},"end":{"line":45,"column":73}},"locations":[{"start":{"line":45,"column":45},"end":{"line":45,"column":73}}]},"2":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":2},"end":{"line":69,"column":3}},"locations":[{"start":{"line":51,"column":2},"end":{"line":69,"column":3}}]},"3":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":21},"end":{"line":56,"column":5}},"locations":[{"start":{"line":54,"column":21},"end":{"line":56,"column":5}}]},"4":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":34},"end":{"line":60,"column":5}},"locations":[{"start":{"line":58,"column":34},"end":{"line":60,"column":5}}]},"5":{"type":"branch","line":75,"loc":{"start":{"line":75,"column":2},"end":{"line":82,"column":3}},"locations":[{"start":{"line":75,"column":2},"end":{"line":82,"column":3}}]},"6":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":2},"end":{"line":109,"column":3}},"locations":[{"start":{"line":87,"column":2},"end":{"line":109,"column":3}}]},"7":{"type":"branch","line":89,"loc":{"start":{"line":89,"column":51},"end":{"line":100,"column":5}},"locations":[{"start":{"line":89,"column":51},"end":{"line":100,"column":5}}]},"8":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":35},"end":{"line":99,"column":7}},"locations":[{"start":{"line":91,"column":35},"end":{"line":99,"column":7}}]},"9":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":30},"end":{"line":96,"column":9}},"locations":[{"start":{"line":94,"column":30},"end":{"line":96,"column":9}}]},"10":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":45},"end":{"line":106,"column":5}},"locations":[{"start":{"line":104,"column":45},"end":{"line":106,"column":5}}]},"11":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":2},"end":{"line":133,"column":3}},"locations":[{"start":{"line":114,"column":2},"end":{"line":133,"column":3}}]},"12":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":27},"end":{"line":119,"column":5}},"locations":[{"start":{"line":117,"column":27},"end":{"line":119,"column":5}}]},"13":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":-1},"end":{"line":126,"column":13}},"locations":[{"start":{"line":120,"column":-1},"end":{"line":126,"column":13}}]},"14":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":6},"end":{"line":132,"column":5}},"locations":[{"start":{"line":126,"column":6},"end":{"line":132,"column":5}}]},"15":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":28},"end":{"line":129,"column":7}},"locations":[{"start":{"line":127,"column":28},"end":{"line":129,"column":7}}]},"16":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"locations":[{"start":{"line":138,"column":2},"end":{"line":146,"column":3}}]},"17":{"type":"branch","line":140,"loc":{"start":{"line":140,"column":53},"end":{"line":144,"column":5}},"locations":[{"start":{"line":140,"column":53},"end":{"line":144,"column":5}}]},"18":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":40},"end":{"line":143,"column":7}},"locations":[{"start":{"line":141,"column":40},"end":{"line":143,"column":7}}]},"19":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":2},"end":{"line":166,"column":3}},"locations":[{"start":{"line":158,"column":2},"end":{"line":166,"column":3}}]},"20":{"type":"branch","line":159,"loc":{"start":{"line":159,"column":54},"end":{"line":165,"column":5}},"locations":[{"start":{"line":159,"column":54},"end":{"line":165,"column":5}}]},"21":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":28},"end":{"line":164,"column":7}},"locations":[{"start":{"line":162,"column":28},"end":{"line":164,"column":7}}]},"22":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":-1},"end":{"line":166,"column":3}},"locations":[{"start":{"line":166,"column":-1},"end":{"line":166,"column":3}}]},"23":{"type":"branch","line":171,"loc":{"start":{"line":171,"column":2},"end":{"line":241,"column":3}},"locations":[{"start":{"line":171,"column":2},"end":{"line":241,"column":3}}]},"24":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":45},"end":{"line":175,"column":5}},"locations":[{"start":{"line":172,"column":45},"end":{"line":175,"column":5}}]},"25":{"type":"branch","line":179,"loc":{"start":{"line":179,"column":62},"end":{"line":230,"column":5}},"locations":[{"start":{"line":179,"column":62},"end":{"line":230,"column":5}}]},"26":{"type":"branch","line":184,"loc":{"start":{"line":184,"column":41},"end":{"line":213,"column":7}},"locations":[{"start":{"line":184,"column":41},"end":{"line":213,"column":7}}]},"27":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":31},"end":{"line":195,"column":9}},"locations":[{"start":{"line":192,"column":31},"end":{"line":195,"column":9}}]},"28":{"type":"branch","line":216,"loc":{"start":{"line":216,"column":30},"end":{"line":227,"column":35}},"locations":[{"start":{"line":216,"column":30},"end":{"line":227,"column":35}}]},"29":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":31},"end":{"line":227,"column":82}},"locations":[{"start":{"line":227,"column":31},"end":{"line":227,"column":82}}]},"30":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":84},"end":{"line":229,"column":7}},"locations":[{"start":{"line":227,"column":84},"end":{"line":229,"column":7}}]},"31":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":-1},"end":{"line":234,"column":56}},"locations":[{"start":{"line":231,"column":-1},"end":{"line":234,"column":56}}]},"32":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":56},"end":{"line":240,"column":5}},"locations":[{"start":{"line":234,"column":56},"end":{"line":240,"column":5}}]},"33":{"type":"branch","line":200,"loc":{"start":{"line":200,"column":47},"end":{"line":204,"column":9}},"locations":[{"start":{"line":200,"column":47},"end":{"line":204,"column":9}}]},"34":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":43},"end":{"line":209,"column":9}},"locations":[{"start":{"line":205,"column":43},"end":{"line":209,"column":9}}]},"35":{"type":"branch","line":226,"loc":{"start":{"line":226,"column":39},"end":{"line":226,"column":57}},"locations":[{"start":{"line":226,"column":39},"end":{"line":226,"column":57}}]}},"b":{"0":[55],"1":[0],"2":[110],"3":[0],"4":[0],"5":[55],"6":[55],"7":[110],"8":[171],"9":[0],"10":[110],"11":[56],"12":[1],"13":[55],"14":[22],"15":[0],"16":[1116],"17":[2232],"18":[3673],"19":[117],"20":[136],"21":[115],"22":[2],"23":[175],"24":[0],"25":[350],"26":[175],"27":[0],"28":[175],"29":[8],"30":[8],"31":[167],"32":[0],"33":[167],"34":[92],"35":[175]},"fnMap":{"0":{"name":"DefaultTransportManager","decl":{"start":{"line":35,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":35,"column":2},"end":{"line":46,"column":3}},"line":35},"1":{"name":"add","decl":{"start":{"line":51,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":51,"column":2},"end":{"line":69,"column":3}},"line":51},"2":{"name":"isStarted","decl":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"loc":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"line":71},"3":{"name":"start","decl":{"start":{"line":75,"column":2},"end":{"line":82,"column":3}},"loc":{"start":{"line":75,"column":2},"end":{"line":82,"column":3}},"line":75},"4":{"name":"stop","decl":{"start":{"line":87,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":87,"column":2},"end":{"line":109,"column":3}},"line":87},"5":{"name":"dial","decl":{"start":{"line":114,"column":2},"end":{"line":133,"column":3}},"loc":{"start":{"line":114,"column":2},"end":{"line":133,"column":3}},"line":114},"6":{"name":"getAddrs","decl":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"loc":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"line":138},"7":{"name":"getTransports","decl":{"start":{"line":151,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":151,"column":2},"end":{"line":153,"column":3}},"line":151},"8":{"name":"transportForMultiaddr","decl":{"start":{"line":158,"column":2},"end":{"line":166,"column":3}},"loc":{"start":{"line":158,"column":2},"end":{"line":166,"column":3}},"line":158},"9":{"name":"listen","decl":{"start":{"line":171,"column":2},"end":{"line":241,"column":3}},"loc":{"start":{"line":171,"column":2},"end":{"line":241,"column":3}},"line":171},"10":{"name":"remove","decl":{"start":{"line":247,"column":2},"end":{"line":257,"column":3}},"loc":{"start":{"line":247,"column":2},"end":{"line":257,"column":3}},"line":247},"11":{"name":"removeAll","decl":{"start":{"line":265,"column":2},"end":{"line":272,"column":3}},"loc":{"start":{"line":265,"column":2},"end":{"line":272,"column":3}},"line":265}},"f":{"0":55,"1":110,"2":0,"3":55,"4":55,"5":56,"6":1116,"7":0,"8":117,"9":175,"10":0,"11":0}} +,"/home/ckousik/projects/js-libp2p/src/upgrader.ts": {"path":"/home/ckousik/projects/js-libp2p/src/upgrader.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":49}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":69}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":50}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":129}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":100}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":85}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":55}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":92}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":45}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":54}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":90}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":60}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":40}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":56}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":77}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":61}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":37}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":34}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":24}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":35}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":29}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":34}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":20}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":35}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":1}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":27}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":24}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":16}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":57}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":31}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":45}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":30}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":59}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":18}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":31}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":75}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":7}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":54}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":0}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":36}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":57}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":15}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":36}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":1}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":75}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":7}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":54}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":37}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":22}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":57}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":15}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":3}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":37}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":101}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":21}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":40}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":83}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":19}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":4}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":20}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":1}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":44}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":16}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":19}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":38}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":34}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":43}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":22}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":22}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":87}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":56}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":73}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":58}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":48}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":75}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":11}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":32}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":41}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":52}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":66}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":6}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":27}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":34}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":44}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":6}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":59}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":3}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":5}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":35}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":5}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":99}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":91}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":18}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":80}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":21}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":18}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":40}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":52}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":22}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":79}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":9}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":29}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":59}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":14}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":9}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":79}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":44}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":40}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":80}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":131}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":7}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":0}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":63}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":52}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":0}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":16}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":32}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":42}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":61}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":32}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":50}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":57}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":9}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":7}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":11}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":37}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":44}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":12}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":32}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":23}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":36}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":56}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":0}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":96}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":29}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":28}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":15}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":144}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":11}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":16}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":53}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":30}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":131}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":11}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":54}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":0}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":35}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":35}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":9}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":36}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":41}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":42}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":42}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":37}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":60}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":29}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":28}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":25}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":49}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":43}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":9}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":26}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":62}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":17}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":7}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":91}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":25}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":24}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":11}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":140}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":7}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":53}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":37}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":23}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":29}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":15}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":21}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":21}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":18}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":8}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":15}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":61}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":31}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":3}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":5}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":36}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":5}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":100}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":47}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":24}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":102}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":5}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":48}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":0}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":93}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":145}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":5}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":0}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":21}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":18}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":20}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":22}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":20}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":61}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":51}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":69}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":31}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":0}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":14}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":30}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":40}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":59}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":0}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":30}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":55}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":7}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":5}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":0}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":9}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":31}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":35}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":42}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":10}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":30}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":21}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":34}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":69}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":0}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":95}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":27}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":26}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":13}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":142}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":9}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":14}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":33}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":33}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":7}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":0}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":34}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":39}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":40}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":40}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":35}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":59}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":27}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":26}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":23}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":47}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":41}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":7}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":24}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":61}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":29}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":15}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":5}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":0}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":90}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":23}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":22}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":9}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":138}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":5}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":52}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":0}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":35}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":21}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":28}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":13}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":19}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":19}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":16}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":6}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":3}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":5}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":59}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":5}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":64}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":11}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":21}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":16}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":13}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":19}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":17}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":18}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":12}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":0}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":38}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":99}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":66}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":31}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":25}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":46}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":18}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":49}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":42}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":35}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":18}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":11}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":0}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":32}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":31}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":72}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":83}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":74}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":0}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":39}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":22}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":15}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":0}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":96}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":79}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":50}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":187}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":22}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":15}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":0}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":88}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":31}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":48}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":44}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":50}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":0}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":110}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":91}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":106}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":0}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":47}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":83}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":75}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":14}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":27}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":28}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":0}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":60}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":35}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":15}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":14}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":10}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":38}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":37}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":50}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":9}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":8}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":0}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":95}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":28}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":92}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":9}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":0}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":66}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":51}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":53}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":0}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":13}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":39}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":127}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":0}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":53}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":46}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":17}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":37}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":60}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":22}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":11}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":0}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":88}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":0}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":92}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":76}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":0}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":46}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":178}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":34}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":0}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":21}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":11}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":0}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":106}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":87}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":102}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":0}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":84}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":27}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":44}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":40}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":46}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":0}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":79}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":0}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":28}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":28}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":55}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":0}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":56}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":31}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":11}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":0}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":33}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":21}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":11}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":0}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":60}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":19}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":35}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":30}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":11}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":9}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":7}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":0}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":40}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":24}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":40}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":39}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":23}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":22}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":8}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":5}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":0}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":37}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":44}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":25}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":102}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":69}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":24}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":17}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":54}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":40}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":15}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":32}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":28}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":23}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":79}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":34}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":17}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":13}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":29}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":26}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":12}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":9}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":0}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":35}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":7}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":6}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":41}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":0}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":47}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":101}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":5}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":0}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":28}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":35}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":36}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":29}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":13}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":23}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":18}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":34}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":37}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":34}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":8}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":58}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":86}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":26}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":28}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":46}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":28}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":23}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":9}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":7}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":6}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":0}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":66}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":24}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":7}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":0}},"550":{"start":{"line":551,"column":0},"end":{"line":551,"column":21}},"551":{"start":{"line":552,"column":0},"end":{"line":552,"column":3}},"552":{"start":{"line":553,"column":0},"end":{"line":553,"column":0}},"553":{"start":{"line":554,"column":0},"end":{"line":554,"column":5}},"554":{"start":{"line":555,"column":0},"end":{"line":555,"column":51}},"555":{"start":{"line":556,"column":0},"end":{"line":556,"column":5}},"556":{"start":{"line":557,"column":0},"end":{"line":557,"column":43}},"557":{"start":{"line":558,"column":0},"end":{"line":558,"column":49}},"558":{"start":{"line":559,"column":0},"end":{"line":559,"column":70}},"559":{"start":{"line":560,"column":0},"end":{"line":560,"column":0}},"560":{"start":{"line":561,"column":0},"end":{"line":561,"column":35}},"561":{"start":{"line":562,"column":0},"end":{"line":562,"column":3}},"562":{"start":{"line":563,"column":0},"end":{"line":563,"column":0}},"563":{"start":{"line":564,"column":0},"end":{"line":564,"column":5}},"564":{"start":{"line":565,"column":0},"end":{"line":565,"column":78}},"565":{"start":{"line":566,"column":0},"end":{"line":566,"column":5}},"566":{"start":{"line":567,"column":0},"end":{"line":567,"column":81}},"567":{"start":{"line":568,"column":0},"end":{"line":568,"column":66}},"568":{"start":{"line":569,"column":0},"end":{"line":569,"column":64}},"569":{"start":{"line":570,"column":0},"end":{"line":570,"column":0}},"570":{"start":{"line":571,"column":0},"end":{"line":571,"column":9}},"571":{"start":{"line":572,"column":0},"end":{"line":572,"column":76}},"572":{"start":{"line":573,"column":0},"end":{"line":573,"column":24}},"573":{"start":{"line":574,"column":0},"end":{"line":574,"column":8}},"574":{"start":{"line":575,"column":0},"end":{"line":575,"column":63}},"575":{"start":{"line":576,"column":0},"end":{"line":576,"column":0}},"576":{"start":{"line":577,"column":0},"end":{"line":577,"column":30}},"577":{"start":{"line":578,"column":0},"end":{"line":578,"column":65}},"578":{"start":{"line":579,"column":0},"end":{"line":579,"column":7}},"579":{"start":{"line":580,"column":0},"end":{"line":580,"column":0}},"580":{"start":{"line":581,"column":0},"end":{"line":581,"column":45}},"581":{"start":{"line":582,"column":0},"end":{"line":582,"column":0}},"582":{"start":{"line":583,"column":0},"end":{"line":583,"column":14}},"583":{"start":{"line":584,"column":0},"end":{"line":584,"column":73}},"584":{"start":{"line":585,"column":0},"end":{"line":585,"column":16}},"585":{"start":{"line":586,"column":0},"end":{"line":586,"column":7}},"586":{"start":{"line":587,"column":0},"end":{"line":587,"column":24}},"587":{"start":{"line":588,"column":0},"end":{"line":588,"column":53}},"588":{"start":{"line":589,"column":0},"end":{"line":589,"column":5}},"589":{"start":{"line":590,"column":0},"end":{"line":590,"column":3}},"590":{"start":{"line":591,"column":0},"end":{"line":591,"column":0}},"591":{"start":{"line":592,"column":0},"end":{"line":592,"column":5}},"592":{"start":{"line":593,"column":0},"end":{"line":593,"column":88}},"593":{"start":{"line":594,"column":0},"end":{"line":594,"column":67}},"594":{"start":{"line":595,"column":0},"end":{"line":595,"column":5}},"595":{"start":{"line":596,"column":0},"end":{"line":596,"column":105}},"596":{"start":{"line":597,"column":0},"end":{"line":597,"column":66}},"597":{"start":{"line":598,"column":0},"end":{"line":598,"column":56}},"598":{"start":{"line":599,"column":0},"end":{"line":599,"column":0}},"599":{"start":{"line":600,"column":0},"end":{"line":600,"column":9}},"600":{"start":{"line":601,"column":0},"end":{"line":601,"column":76}},"601":{"start":{"line":602,"column":0},"end":{"line":602,"column":24}},"602":{"start":{"line":603,"column":0},"end":{"line":603,"column":8}},"603":{"start":{"line":604,"column":0},"end":{"line":604,"column":63}},"604":{"start":{"line":605,"column":0},"end":{"line":605,"column":0}},"605":{"start":{"line":606,"column":0},"end":{"line":606,"column":30}},"606":{"start":{"line":607,"column":0},"end":{"line":607,"column":65}},"607":{"start":{"line":608,"column":0},"end":{"line":608,"column":7}},"608":{"start":{"line":609,"column":0},"end":{"line":609,"column":0}},"609":{"start":{"line":610,"column":0},"end":{"line":610,"column":63}},"610":{"start":{"line":611,"column":0},"end":{"line":611,"column":0}},"611":{"start":{"line":612,"column":0},"end":{"line":612,"column":14}},"612":{"start":{"line":613,"column":0},"end":{"line":613,"column":88}},"613":{"start":{"line":614,"column":0},"end":{"line":614,"column":16}},"614":{"start":{"line":615,"column":0},"end":{"line":615,"column":7}},"615":{"start":{"line":616,"column":0},"end":{"line":616,"column":24}},"616":{"start":{"line":617,"column":0},"end":{"line":617,"column":53}},"617":{"start":{"line":618,"column":0},"end":{"line":618,"column":5}},"618":{"start":{"line":619,"column":0},"end":{"line":619,"column":3}},"619":{"start":{"line":620,"column":0},"end":{"line":620,"column":0}},"620":{"start":{"line":621,"column":0},"end":{"line":621,"column":5}},"621":{"start":{"line":622,"column":0},"end":{"line":622,"column":65}},"622":{"start":{"line":623,"column":0},"end":{"line":623,"column":65}},"623":{"start":{"line":624,"column":0},"end":{"line":624,"column":5}},"624":{"start":{"line":625,"column":0},"end":{"line":625,"column":177}},"625":{"start":{"line":626,"column":0},"end":{"line":626,"column":47}},"626":{"start":{"line":627,"column":0},"end":{"line":627,"column":49}},"627":{"start":{"line":628,"column":0},"end":{"line":628,"column":9}},"628":{"start":{"line":629,"column":0},"end":{"line":629,"column":76}},"629":{"start":{"line":630,"column":0},"end":{"line":630,"column":24}},"630":{"start":{"line":631,"column":0},"end":{"line":631,"column":8}},"631":{"start":{"line":632,"column":0},"end":{"line":632,"column":52}},"632":{"start":{"line":633,"column":0},"end":{"line":633,"column":47}},"633":{"start":{"line":634,"column":0},"end":{"line":634,"column":37}},"634":{"start":{"line":635,"column":0},"end":{"line":635,"column":24}},"635":{"start":{"line":636,"column":0},"end":{"line":636,"column":58}},"636":{"start":{"line":637,"column":0},"end":{"line":637,"column":53}},"637":{"start":{"line":638,"column":0},"end":{"line":638,"column":5}},"638":{"start":{"line":639,"column":0},"end":{"line":639,"column":3}},"639":{"start":{"line":640,"column":0},"end":{"line":640,"column":0}},"640":{"start":{"line":641,"column":0},"end":{"line":641,"column":5}},"641":{"start":{"line":642,"column":0},"end":{"line":642,"column":78}},"642":{"start":{"line":643,"column":0},"end":{"line":643,"column":74}},"643":{"start":{"line":644,"column":0},"end":{"line":644,"column":5}},"644":{"start":{"line":645,"column":0},"end":{"line":645,"column":176}},"645":{"start":{"line":646,"column":0},"end":{"line":646,"column":47}},"646":{"start":{"line":647,"column":0},"end":{"line":647,"column":48}},"647":{"start":{"line":648,"column":0},"end":{"line":648,"column":9}},"648":{"start":{"line":649,"column":0},"end":{"line":649,"column":76}},"649":{"start":{"line":650,"column":0},"end":{"line":650,"column":24}},"650":{"start":{"line":651,"column":0},"end":{"line":651,"column":8}},"651":{"start":{"line":652,"column":0},"end":{"line":652,"column":47}},"652":{"start":{"line":653,"column":0},"end":{"line":653,"column":37}},"653":{"start":{"line":654,"column":0},"end":{"line":654,"column":24}},"654":{"start":{"line":655,"column":0},"end":{"line":655,"column":57}},"655":{"start":{"line":656,"column":0},"end":{"line":656,"column":53}},"656":{"start":{"line":657,"column":0},"end":{"line":657,"column":5}},"657":{"start":{"line":658,"column":0},"end":{"line":658,"column":3}},"658":{"start":{"line":659,"column":0},"end":{"line":659,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":224,"56":224,"57":224,"58":224,"59":224,"60":224,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":153,"70":153,"71":153,"72":153,"73":153,"74":153,"75":1,"76":0,"77":0,"78":1,"79":1,"80":1,"81":1,"82":1,"83":377,"84":377,"85":377,"86":377,"87":1405,"88":108,"89":108,"90":377,"91":377,"92":377,"93":377,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":55,"113":55,"114":55,"115":55,"116":55,"117":55,"118":55,"119":55,"120":55,"121":55,"122":55,"123":55,"124":55,"125":55,"126":55,"127":55,"128":55,"129":1,"130":1,"131":1,"132":1,"133":1,"134":52,"135":52,"136":52,"137":0,"138":0,"139":52,"140":52,"141":52,"142":52,"143":52,"144":52,"145":52,"146":52,"147":52,"148":52,"149":52,"150":52,"151":52,"152":52,"153":52,"154":52,"155":52,"156":52,"157":52,"158":52,"159":0,"160":0,"161":52,"162":52,"163":52,"164":52,"165":52,"166":52,"167":52,"168":52,"169":52,"170":52,"171":52,"172":52,"173":0,"174":0,"175":0,"176":52,"177":52,"178":52,"179":52,"180":52,"181":52,"182":52,"183":52,"184":52,"185":52,"186":52,"187":51,"188":51,"189":51,"190":51,"191":52,"192":0,"193":0,"194":52,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":51,"207":51,"208":52,"209":0,"210":52,"211":51,"212":51,"213":51,"214":51,"215":51,"216":51,"217":51,"218":51,"219":52,"220":1,"221":1,"222":1,"223":51,"224":51,"225":51,"226":51,"227":52,"228":0,"229":0,"230":51,"231":51,"232":51,"233":51,"234":51,"235":51,"236":51,"237":51,"238":51,"239":51,"240":51,"241":51,"242":52,"243":52,"244":52,"245":52,"246":1,"247":1,"248":1,"249":1,"250":1,"251":52,"252":52,"253":0,"254":0,"255":52,"256":52,"257":52,"258":52,"259":0,"260":0,"261":52,"262":52,"263":52,"264":52,"265":52,"266":52,"267":52,"268":52,"269":52,"270":52,"271":52,"272":52,"273":52,"274":52,"275":52,"276":52,"277":52,"278":52,"279":52,"280":52,"281":0,"282":0,"283":52,"284":52,"285":52,"286":52,"287":52,"288":52,"289":52,"290":52,"291":52,"292":52,"293":52,"294":51,"295":51,"296":51,"297":51,"298":52,"299":0,"300":0,"301":52,"302":0,"303":0,"304":0,"305":51,"306":51,"307":52,"308":0,"309":52,"310":51,"311":51,"312":51,"313":51,"314":51,"315":33,"316":33,"317":33,"318":52,"319":19,"320":19,"321":19,"322":19,"323":33,"324":33,"325":33,"326":33,"327":52,"328":0,"329":0,"330":33,"331":33,"332":33,"333":33,"334":33,"335":33,"336":33,"337":33,"338":33,"339":33,"340":33,"341":33,"342":1,"343":1,"344":1,"345":1,"346":1,"347":84,"348":84,"349":84,"350":84,"351":84,"352":84,"353":84,"354":84,"355":84,"356":84,"357":84,"358":84,"359":84,"360":84,"361":84,"362":84,"363":84,"364":84,"365":84,"366":225,"367":0,"368":0,"369":225,"370":225,"371":225,"372":225,"373":225,"374":224,"375":224,"376":225,"377":0,"378":0,"379":224,"380":224,"381":224,"382":224,"383":225,"384":63,"385":63,"386":63,"387":63,"388":161,"389":161,"390":161,"391":161,"392":161,"393":161,"394":161,"395":161,"396":161,"397":161,"398":161,"399":161,"400":225,"401":225,"402":225,"403":225,"404":225,"405":1,"406":1,"407":1,"408":0,"409":0,"410":225,"411":84,"412":84,"413":84,"414":487,"415":487,"416":84,"417":84,"418":84,"419":266,"420":0,"421":0,"422":266,"423":266,"424":266,"425":262,"426":262,"427":262,"428":266,"429":65,"430":65,"431":65,"432":65,"433":65,"434":65,"435":65,"436":65,"437":65,"438":65,"439":262,"440":262,"441":153,"442":153,"443":153,"444":153,"445":266,"446":0,"447":0,"448":0,"449":0,"450":0,"451":153,"452":153,"453":153,"454":153,"455":153,"456":153,"457":153,"458":153,"459":153,"460":153,"461":153,"462":266,"463":266,"464":266,"465":266,"466":109,"467":109,"468":109,"469":0,"470":0,"471":109,"472":109,"473":109,"474":109,"475":0,"476":0,"477":266,"478":262,"479":65,"480":65,"481":262,"482":266,"483":84,"484":84,"485":84,"486":84,"487":84,"488":84,"489":0,"490":84,"491":84,"492":84,"493":84,"494":84,"495":84,"496":250,"497":84,"498":84,"499":84,"500":84,"501":26,"502":26,"503":84,"504":0,"505":84,"506":84,"507":84,"508":84,"509":84,"510":84,"511":0,"512":84,"513":84,"514":250,"515":250,"516":250,"517":84,"518":84,"519":84,"520":84,"521":0,"522":0,"523":84,"524":84,"525":84,"526":84,"527":84,"528":84,"529":84,"530":84,"531":84,"532":84,"533":84,"534":84,"535":84,"536":84,"537":84,"538":84,"539":84,"540":84,"541":84,"542":84,"543":84,"544":84,"545":84,"546":84,"547":84,"548":84,"549":84,"550":84,"551":84,"552":1,"553":1,"554":1,"555":1,"556":1,"557":161,"558":161,"559":161,"560":161,"561":161,"562":1,"563":1,"564":1,"565":1,"566":1,"567":52,"568":52,"569":52,"570":52,"571":52,"572":52,"573":52,"574":52,"575":52,"576":52,"577":0,"578":0,"579":52,"580":52,"581":52,"582":52,"583":52,"584":51,"585":51,"586":52,"587":1,"588":1,"589":52,"590":1,"591":1,"592":1,"593":1,"594":1,"595":1,"596":52,"597":52,"598":52,"599":52,"600":52,"601":52,"602":52,"603":51,"604":51,"605":52,"606":0,"607":0,"608":51,"609":51,"610":51,"611":51,"612":51,"613":51,"614":51,"615":52,"616":1,"617":1,"618":52,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":51,"626":51,"627":51,"628":51,"629":51,"630":51,"631":33,"632":33,"633":33,"634":51,"635":18,"636":18,"637":18,"638":51,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":51,"646":51,"647":51,"648":51,"649":51,"650":51,"651":51,"652":51,"653":51,"654":0,"655":0,"656":0,"657":51,"658":1},"branchMap":{"0":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":0},"end":{"line":68,"column":1}},"locations":[{"start":{"line":56,"column":0},"end":{"line":68,"column":1}}]},"1":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":4},"end":{"line":68,"column":1}},"locations":[{"start":{"line":61,"column":4},"end":{"line":68,"column":1}}]},"2":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":0},"end":{"line":82,"column":1}},"locations":[{"start":{"line":70,"column":0},"end":{"line":82,"column":1}}]},"3":{"type":"branch","line":75,"loc":{"start":{"line":75,"column":4},"end":{"line":82,"column":1}},"locations":[{"start":{"line":75,"column":4},"end":{"line":82,"column":1}}]},"4":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":56},"end":{"line":78,"column":5}},"locations":[{"start":{"line":76,"column":56},"end":{"line":78,"column":5}}]},"5":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":0},"end":{"line":94,"column":1}},"locations":[{"start":{"line":84,"column":0},"end":{"line":94,"column":1}}]},"6":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":29},"end":{"line":91,"column":3}},"locations":[{"start":{"line":87,"column":29},"end":{"line":91,"column":3}}]},"7":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":43},"end":{"line":88,"column":80}},"locations":[{"start":{"line":88,"column":43},"end":{"line":88,"column":80}}]},"8":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":82},"end":{"line":90,"column":5}},"locations":[{"start":{"line":88,"column":82},"end":{"line":90,"column":5}}]},"9":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":2},"end":{"line":129,"column":3}},"locations":[{"start":{"line":112,"column":2},"end":{"line":129,"column":3}}]},"10":{"type":"branch","line":118,"loc":{"start":{"line":118,"column":38},"end":{"line":120,"column":5}},"locations":[{"start":{"line":118,"column":38},"end":{"line":120,"column":5}}]},"11":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":24},"end":{"line":126,"column":5}},"locations":[{"start":{"line":124,"column":24},"end":{"line":126,"column":5}}]},"12":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":2},"end":{"line":246,"column":3}},"locations":[{"start":{"line":134,"column":2},"end":{"line":246,"column":3}}]},"13":{"type":"branch","line":137,"loc":{"start":{"line":137,"column":17},"end":{"line":139,"column":5}},"locations":[{"start":{"line":137,"column":17},"end":{"line":139,"column":5}}]},"14":{"type":"branch","line":152,"loc":{"start":{"line":152,"column":6},"end":{"line":152,"column":14}},"locations":[{"start":{"line":152,"column":6},"end":{"line":152,"column":14}}]},"15":{"type":"branch","line":159,"loc":{"start":{"line":159,"column":79},"end":{"line":161,"column":7}},"locations":[{"start":{"line":159,"column":79},"end":{"line":161,"column":7}}]},"16":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":29},"end":{"line":163,"column":55}},"locations":[{"start":{"line":163,"column":29},"end":{"line":163,"column":55}}]},"17":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":14},"end":{"line":170,"column":30}},"locations":[{"start":{"line":170,"column":14},"end":{"line":170,"column":30}}]},"18":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":31},"end":{"line":176,"column":9}},"locations":[{"start":{"line":173,"column":31},"end":{"line":176,"column":9}}]},"19":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":16},"end":{"line":182,"column":32}},"locations":[{"start":{"line":182,"column":16},"end":{"line":182,"column":32}}]},"20":{"type":"branch","line":187,"loc":{"start":{"line":187,"column":55},"end":{"line":192,"column":14}},"locations":[{"start":{"line":187,"column":55},"end":{"line":192,"column":14}}]},"21":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":14},"end":{"line":194,"column":11}},"locations":[{"start":{"line":192,"column":14},"end":{"line":194,"column":11}}]},"22":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":9},"end":{"line":206,"column":9}},"locations":[{"start":{"line":195,"column":9},"end":{"line":206,"column":9}}]},"23":{"type":"branch","line":207,"loc":{"start":{"line":207,"column":-1},"end":{"line":209,"column":16}},"locations":[{"start":{"line":207,"column":-1},"end":{"line":209,"column":16}}]},"24":{"type":"branch","line":209,"loc":{"start":{"line":209,"column":16},"end":{"line":209,"column":30}},"locations":[{"start":{"line":209,"column":16},"end":{"line":209,"column":30}}]},"25":{"type":"branch","line":209,"loc":{"start":{"line":209,"column":40},"end":{"line":211,"column":15}},"locations":[{"start":{"line":209,"column":40},"end":{"line":211,"column":15}}]},"26":{"type":"branch","line":211,"loc":{"start":{"line":211,"column":9},"end":{"line":219,"column":9}},"locations":[{"start":{"line":211,"column":9},"end":{"line":219,"column":9}}]},"27":{"type":"branch","line":220,"loc":{"start":{"line":220,"column":8},"end":{"line":223,"column":7}},"locations":[{"start":{"line":220,"column":8},"end":{"line":223,"column":7}}]},"28":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":-1},"end":{"line":228,"column":10}},"locations":[{"start":{"line":224,"column":-1},"end":{"line":228,"column":10}}]},"29":{"type":"branch","line":228,"loc":{"start":{"line":228,"column":10},"end":{"line":230,"column":7}},"locations":[{"start":{"line":228,"column":10},"end":{"line":230,"column":7}}]},"30":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":-1},"end":{"line":242,"column":15}},"locations":[{"start":{"line":231,"column":-1},"end":{"line":242,"column":15}}]},"31":{"type":"branch","line":251,"loc":{"start":{"line":251,"column":2},"end":{"line":342,"column":3}},"locations":[{"start":{"line":251,"column":2},"end":{"line":342,"column":3}}]},"32":{"type":"branch","line":253,"loc":{"start":{"line":253,"column":23},"end":{"line":255,"column":5}},"locations":[{"start":{"line":253,"column":23},"end":{"line":255,"column":5}}]},"33":{"type":"branch","line":259,"loc":{"start":{"line":259,"column":92},"end":{"line":261,"column":5}},"locations":[{"start":{"line":259,"column":92},"end":{"line":261,"column":5}}]},"34":{"type":"branch","line":269,"loc":{"start":{"line":269,"column":27},"end":{"line":269,"column":53}},"locations":[{"start":{"line":269,"column":27},"end":{"line":269,"column":53}}]},"35":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":12},"end":{"line":278,"column":28}},"locations":[{"start":{"line":278,"column":12},"end":{"line":278,"column":28}}]},"36":{"type":"branch","line":281,"loc":{"start":{"line":281,"column":29},"end":{"line":283,"column":7}},"locations":[{"start":{"line":281,"column":29},"end":{"line":283,"column":7}}]},"37":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":14},"end":{"line":289,"column":30}},"locations":[{"start":{"line":289,"column":14},"end":{"line":289,"column":30}}]},"38":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":68},"end":{"line":299,"column":12}},"locations":[{"start":{"line":294,"column":68},"end":{"line":299,"column":12}}]},"39":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":12},"end":{"line":301,"column":9}},"locations":[{"start":{"line":299,"column":12},"end":{"line":301,"column":9}}]},"40":{"type":"branch","line":302,"loc":{"start":{"line":302,"column":7},"end":{"line":305,"column":7}},"locations":[{"start":{"line":302,"column":7},"end":{"line":305,"column":7}}]},"41":{"type":"branch","line":306,"loc":{"start":{"line":306,"column":-1},"end":{"line":308,"column":14}},"locations":[{"start":{"line":306,"column":-1},"end":{"line":308,"column":14}}]},"42":{"type":"branch","line":308,"loc":{"start":{"line":308,"column":14},"end":{"line":308,"column":28}},"locations":[{"start":{"line":308,"column":14},"end":{"line":308,"column":28}}]},"43":{"type":"branch","line":308,"loc":{"start":{"line":308,"column":38},"end":{"line":310,"column":13}},"locations":[{"start":{"line":308,"column":38},"end":{"line":310,"column":13}}]},"44":{"type":"branch","line":310,"loc":{"start":{"line":310,"column":7},"end":{"line":318,"column":7}},"locations":[{"start":{"line":310,"column":7},"end":{"line":318,"column":7}}]},"45":{"type":"branch","line":316,"loc":{"start":{"line":316,"column":-1},"end":{"line":318,"column":7}},"locations":[{"start":{"line":316,"column":-1},"end":{"line":318,"column":7}}]},"46":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":6},"end":{"line":323,"column":5}},"locations":[{"start":{"line":319,"column":6},"end":{"line":323,"column":5}}]},"47":{"type":"branch","line":324,"loc":{"start":{"line":324,"column":-1},"end":{"line":328,"column":8}},"locations":[{"start":{"line":324,"column":-1},"end":{"line":328,"column":8}}]},"48":{"type":"branch","line":328,"loc":{"start":{"line":328,"column":8},"end":{"line":330,"column":5}},"locations":[{"start":{"line":328,"column":8},"end":{"line":330,"column":5}}]},"49":{"type":"branch","line":331,"loc":{"start":{"line":331,"column":-1},"end":{"line":342,"column":3}},"locations":[{"start":{"line":331,"column":-1},"end":{"line":342,"column":3}}]},"50":{"type":"branch","line":347,"loc":{"start":{"line":347,"column":2},"end":{"line":552,"column":3}},"locations":[{"start":{"line":347,"column":2},"end":{"line":552,"column":3}}]},"51":{"type":"branch","line":536,"loc":{"start":{"line":536,"column":26},"end":{"line":536,"column":57}},"locations":[{"start":{"line":536,"column":26},"end":{"line":536,"column":57}}]},"52":{"type":"branch","line":366,"loc":{"start":{"line":366,"column":26},"end":{"line":412,"column":9}},"locations":[{"start":{"line":366,"column":26},"end":{"line":412,"column":9}}]},"53":{"type":"branch","line":367,"loc":{"start":{"line":367,"column":34},"end":{"line":369,"column":11}},"locations":[{"start":{"line":367,"column":34},"end":{"line":369,"column":11}}]},"54":{"type":"branch","line":372,"loc":{"start":{"line":372,"column":18},"end":{"line":404,"column":13}},"locations":[{"start":{"line":372,"column":18},"end":{"line":404,"column":13}}]},"55":{"type":"branch","line":375,"loc":{"start":{"line":375,"column":-1},"end":{"line":377,"column":38}},"locations":[{"start":{"line":375,"column":-1},"end":{"line":377,"column":38}}]},"56":{"type":"branch","line":377,"loc":{"start":{"line":377,"column":38},"end":{"line":379,"column":15}},"locations":[{"start":{"line":377,"column":38},"end":{"line":379,"column":15}}]},"57":{"type":"branch","line":380,"loc":{"start":{"line":380,"column":-1},"end":{"line":384,"column":49}},"locations":[{"start":{"line":380,"column":-1},"end":{"line":384,"column":49}}]},"58":{"type":"branch","line":384,"loc":{"start":{"line":384,"column":49},"end":{"line":388,"column":15}},"locations":[{"start":{"line":384,"column":49},"end":{"line":388,"column":15}}]},"59":{"type":"branch","line":389,"loc":{"start":{"line":389,"column":-1},"end":{"line":401,"column":37}},"locations":[{"start":{"line":389,"column":-1},"end":{"line":401,"column":37}}]},"60":{"type":"branch","line":401,"loc":{"start":{"line":401,"column":37},"end":{"line":401,"column":58}},"locations":[{"start":{"line":401,"column":37},"end":{"line":401,"column":58}}]},"61":{"type":"branch","line":405,"loc":{"start":{"line":405,"column":19},"end":{"line":411,"column":13}},"locations":[{"start":{"line":405,"column":19},"end":{"line":411,"column":13}}]},"62":{"type":"branch","line":408,"loc":{"start":{"line":408,"column":59},"end":{"line":410,"column":15}},"locations":[{"start":{"line":408,"column":59},"end":{"line":410,"column":15}}]},"63":{"type":"branch","line":414,"loc":{"start":{"line":414,"column":21},"end":{"line":416,"column":9}},"locations":[{"start":{"line":414,"column":21},"end":{"line":416,"column":9}}]},"64":{"type":"branch","line":419,"loc":{"start":{"line":419,"column":18},"end":{"line":483,"column":7}},"locations":[{"start":{"line":419,"column":18},"end":{"line":483,"column":7}}]},"65":{"type":"branch","line":420,"loc":{"start":{"line":420,"column":27},"end":{"line":422,"column":9}},"locations":[{"start":{"line":420,"column":27},"end":{"line":422,"column":9}}]},"66":{"type":"branch","line":426,"loc":{"start":{"line":426,"column":-1},"end":{"line":429,"column":38}},"locations":[{"start":{"line":426,"column":-1},"end":{"line":429,"column":38}}]},"67":{"type":"branch","line":429,"loc":{"start":{"line":429,"column":38},"end":{"line":439,"column":11}},"locations":[{"start":{"line":429,"column":38},"end":{"line":439,"column":11}}]},"68":{"type":"branch","line":438,"loc":{"start":{"line":438,"column":14},"end":{"line":438,"column":22}},"locations":[{"start":{"line":438,"column":14},"end":{"line":438,"column":22}}]},"69":{"type":"branch","line":440,"loc":{"start":{"line":440,"column":-1},"end":{"line":441,"column":88}},"locations":[{"start":{"line":440,"column":-1},"end":{"line":441,"column":88}}]},"70":{"type":"branch","line":442,"loc":{"start":{"line":442,"column":-1},"end":{"line":446,"column":45}},"locations":[{"start":{"line":442,"column":-1},"end":{"line":446,"column":45}}]},"71":{"type":"branch","line":446,"loc":{"start":{"line":446,"column":45},"end":{"line":451,"column":11}},"locations":[{"start":{"line":446,"column":45},"end":{"line":451,"column":11}}]},"72":{"type":"branch","line":452,"loc":{"start":{"line":452,"column":-1},"end":{"line":463,"column":33}},"locations":[{"start":{"line":452,"column":-1},"end":{"line":463,"column":33}}]},"73":{"type":"branch","line":463,"loc":{"start":{"line":463,"column":33},"end":{"line":463,"column":54}},"locations":[{"start":{"line":463,"column":33},"end":{"line":463,"column":54}}]},"74":{"type":"branch","line":466,"loc":{"start":{"line":466,"column":10},"end":{"line":478,"column":18}},"locations":[{"start":{"line":466,"column":10},"end":{"line":478,"column":18}}]},"75":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":55},"end":{"line":471,"column":11}},"locations":[{"start":{"line":469,"column":55},"end":{"line":471,"column":11}}]},"76":{"type":"branch","line":476,"loc":{"start":{"line":476,"column":-1},"end":{"line":478,"column":18}},"locations":[{"start":{"line":476,"column":-1},"end":{"line":478,"column":18}}]},"77":{"type":"branch","line":478,"loc":{"start":{"line":478,"column":9},"end":{"line":478,"column":19}},"locations":[{"start":{"line":478,"column":9},"end":{"line":478,"column":19}}]},"78":{"type":"branch","line":478,"loc":{"start":{"line":478,"column":18},"end":{"line":482,"column":9}},"locations":[{"start":{"line":478,"column":18},"end":{"line":482,"column":9}}]},"79":{"type":"branch","line":479,"loc":{"start":{"line":479,"column":34},"end":{"line":481,"column":11}},"locations":[{"start":{"line":479,"column":34},"end":{"line":481,"column":11}}]},"80":{"type":"branch","line":496,"loc":{"start":{"line":496,"column":11},"end":{"line":517,"column":7}},"locations":[{"start":{"line":496,"column":11},"end":{"line":517,"column":7}}]},"81":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":30},"end":{"line":497,"column":53}},"locations":[{"start":{"line":497,"column":30},"end":{"line":497,"column":53}}]},"82":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":53},"end":{"line":497,"column":72}},"locations":[{"start":{"line":497,"column":53},"end":{"line":497,"column":72}}]},"83":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":72},"end":{"line":497,"column":99}},"locations":[{"start":{"line":497,"column":72},"end":{"line":497,"column":99}}]},"84":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":101},"end":{"line":514,"column":9}},"locations":[{"start":{"line":497,"column":101},"end":{"line":514,"column":9}}]},"85":{"type":"branch","line":499,"loc":{"start":{"line":499,"column":11},"end":{"line":511,"column":11}},"locations":[{"start":{"line":499,"column":11},"end":{"line":511,"column":11}}]},"86":{"type":"branch","line":501,"loc":{"start":{"line":501,"column":53},"end":{"line":503,"column":15}},"locations":[{"start":{"line":501,"column":53},"end":{"line":503,"column":15}}]},"87":{"type":"branch","line":504,"loc":{"start":{"line":504,"column":14},"end":{"line":506,"column":22}},"locations":[{"start":{"line":504,"column":14},"end":{"line":506,"column":22}}]},"88":{"type":"branch","line":537,"loc":{"start":{"line":537,"column":18},"end":{"line":537,"column":85}},"locations":[{"start":{"line":537,"column":18},"end":{"line":537,"column":85}}]},"89":{"type":"branch","line":537,"loc":{"start":{"line":537,"column":54},"end":{"line":537,"column":85}},"locations":[{"start":{"line":537,"column":54},"end":{"line":537,"column":85}}]},"90":{"type":"branch","line":538,"loc":{"start":{"line":538,"column":13},"end":{"line":544,"column":7}},"locations":[{"start":{"line":538,"column":13},"end":{"line":544,"column":7}}]},"91":{"type":"branch","line":557,"loc":{"start":{"line":557,"column":2},"end":{"line":562,"column":3}},"locations":[{"start":{"line":557,"column":2},"end":{"line":562,"column":3}}]},"92":{"type":"branch","line":567,"loc":{"start":{"line":567,"column":2},"end":{"line":590,"column":3}},"locations":[{"start":{"line":567,"column":2},"end":{"line":590,"column":3}}]},"93":{"type":"branch","line":577,"loc":{"start":{"line":577,"column":29},"end":{"line":579,"column":7}},"locations":[{"start":{"line":577,"column":29},"end":{"line":579,"column":7}}]},"94":{"type":"branch","line":584,"loc":{"start":{"line":584,"column":72},"end":{"line":587,"column":13}},"locations":[{"start":{"line":584,"column":72},"end":{"line":587,"column":13}}]},"95":{"type":"branch","line":587,"loc":{"start":{"line":587,"column":6},"end":{"line":589,"column":5}},"locations":[{"start":{"line":587,"column":6},"end":{"line":589,"column":5}}]},"96":{"type":"branch","line":596,"loc":{"start":{"line":596,"column":2},"end":{"line":619,"column":3}},"locations":[{"start":{"line":596,"column":2},"end":{"line":619,"column":3}}]},"97":{"type":"branch","line":604,"loc":{"start":{"line":604,"column":-1},"end":{"line":606,"column":29}},"locations":[{"start":{"line":604,"column":-1},"end":{"line":606,"column":29}}]},"98":{"type":"branch","line":606,"loc":{"start":{"line":606,"column":29},"end":{"line":608,"column":7}},"locations":[{"start":{"line":606,"column":29},"end":{"line":608,"column":7}}]},"99":{"type":"branch","line":609,"loc":{"start":{"line":609,"column":-1},"end":{"line":616,"column":13}},"locations":[{"start":{"line":609,"column":-1},"end":{"line":616,"column":13}}]},"100":{"type":"branch","line":616,"loc":{"start":{"line":616,"column":6},"end":{"line":618,"column":5}},"locations":[{"start":{"line":616,"column":6},"end":{"line":618,"column":5}}]},"101":{"type":"branch","line":625,"loc":{"start":{"line":625,"column":2},"end":{"line":639,"column":3}},"locations":[{"start":{"line":625,"column":2},"end":{"line":639,"column":3}}]},"102":{"type":"branch","line":632,"loc":{"start":{"line":632,"column":-1},"end":{"line":635,"column":13}},"locations":[{"start":{"line":632,"column":-1},"end":{"line":635,"column":13}}]},"103":{"type":"branch","line":635,"loc":{"start":{"line":635,"column":6},"end":{"line":638,"column":5}},"locations":[{"start":{"line":635,"column":6},"end":{"line":638,"column":5}}]},"104":{"type":"branch","line":645,"loc":{"start":{"line":645,"column":2},"end":{"line":658,"column":3}},"locations":[{"start":{"line":645,"column":2},"end":{"line":658,"column":3}}]},"105":{"type":"branch","line":654,"loc":{"start":{"line":654,"column":6},"end":{"line":657,"column":5}},"locations":[{"start":{"line":654,"column":6},"end":{"line":657,"column":5}}]}},"b":{"0":[224],"1":[0],"2":[153],"3":[1],"4":[0],"5":[377],"6":[1405],"7":[919],"8":[108],"9":[55],"10":[55],"11":[55],"12":[52],"13":[0],"14":[0],"15":[0],"16":[0],"17":[0],"18":[0],"19":[0],"20":[51],"21":[0],"22":[0],"23":[51],"24":[0],"25":[0],"26":[51],"27":[1],"28":[51],"29":[0],"30":[51],"31":[52],"32":[0],"33":[0],"34":[0],"35":[0],"36":[0],"37":[0],"38":[51],"39":[0],"40":[0],"41":[51],"42":[0],"43":[0],"44":[51],"45":[33],"46":[19],"47":[33],"48":[0],"49":[33],"50":[84],"51":[0],"52":[225],"53":[0],"54":[225],"55":[224],"56":[0],"57":[224],"58":[63],"59":[161],"60":[0],"61":[1],"62":[0],"63":[487],"64":[266],"65":[0],"66":[262],"67":[65],"68":[0],"69":[262],"70":[153],"71":[0],"72":[153],"73":[0],"74":[109],"75":[0],"76":[0],"77":[0],"78":[262],"79":[65],"80":[250],"81":[166],"82":[166],"83":[166],"84":[84],"85":[84],"86":[26],"87":[0],"88":[461],"89":[0],"90":[84],"91":[161],"92":[52],"93":[0],"94":[51],"95":[1],"96":[52],"97":[51],"98":[0],"99":[51],"100":[1],"101":[51],"102":[33],"103":[18],"104":[51],"105":[0]},"fnMap":{"0":{"name":"findIncomingStreamLimit","decl":{"start":{"line":56,"column":0},"end":{"line":68,"column":1}},"loc":{"start":{"line":56,"column":0},"end":{"line":68,"column":1}},"line":56},"1":{"name":"findOutgoingStreamLimit","decl":{"start":{"line":70,"column":0},"end":{"line":82,"column":1}},"loc":{"start":{"line":70,"column":0},"end":{"line":82,"column":1}},"line":70},"2":{"name":"countStreams","decl":{"start":{"line":84,"column":0},"end":{"line":94,"column":1}},"loc":{"start":{"line":84,"column":0},"end":{"line":94,"column":1}},"line":84},"3":{"name":"DefaultUpgrader","decl":{"start":{"line":112,"column":2},"end":{"line":129,"column":3}},"loc":{"start":{"line":112,"column":2},"end":{"line":129,"column":3}},"line":112},"4":{"name":"upgradeInbound","decl":{"start":{"line":134,"column":2},"end":{"line":246,"column":3}},"loc":{"start":{"line":134,"column":2},"end":{"line":246,"column":3}},"line":134},"5":{"name":"upgradeOutbound","decl":{"start":{"line":251,"column":2},"end":{"line":342,"column":3}},"loc":{"start":{"line":251,"column":2},"end":{"line":342,"column":3}},"line":251},"6":{"name":"_createConnection","decl":{"start":{"line":347,"column":2},"end":{"line":552,"column":3}},"loc":{"start":{"line":347,"column":2},"end":{"line":552,"column":3}},"line":347},"7":{"name":"onIncomingStream","decl":{"start":{"line":366,"column":26},"end":{"line":412,"column":9}},"loc":{"start":{"line":366,"column":26},"end":{"line":412,"column":9}},"line":366},"8":{"name":"onStreamEnd","decl":{"start":{"line":414,"column":21},"end":{"line":416,"column":9}},"loc":{"start":{"line":414,"column":21},"end":{"line":416,"column":9}},"line":414},"9":{"name":"newStream","decl":{"start":{"line":419,"column":18},"end":{"line":483,"column":7}},"loc":{"start":{"line":419,"column":18},"end":{"line":483,"column":7}},"line":419},"10":{"name":"set","decl":{"start":{"line":496,"column":11},"end":{"line":517,"column":7}},"loc":{"start":{"line":496,"column":11},"end":{"line":517,"column":7}},"line":496},"11":{"name":"errConnectionNotMultiplexed","decl":{"start":{"line":521,"column":40},"end":{"line":523,"column":5}},"loc":{"start":{"line":521,"column":40},"end":{"line":523,"column":5}},"line":521},"12":{"name":"getStreams","decl":{"start":{"line":537,"column":18},"end":{"line":537,"column":85}},"loc":{"start":{"line":537,"column":18},"end":{"line":537,"column":85}},"line":537},"13":{"name":"close","decl":{"start":{"line":538,"column":13},"end":{"line":544,"column":7}},"loc":{"start":{"line":538,"column":13},"end":{"line":544,"column":7}},"line":538},"14":{"name":"_onStream","decl":{"start":{"line":557,"column":2},"end":{"line":562,"column":3}},"loc":{"start":{"line":557,"column":2},"end":{"line":562,"column":3}},"line":557},"15":{"name":"_encryptInbound","decl":{"start":{"line":567,"column":2},"end":{"line":590,"column":3}},"loc":{"start":{"line":567,"column":2},"end":{"line":590,"column":3}},"line":567},"16":{"name":"_encryptOutbound","decl":{"start":{"line":596,"column":2},"end":{"line":619,"column":3}},"loc":{"start":{"line":596,"column":2},"end":{"line":619,"column":3}},"line":596},"17":{"name":"_multiplexOutbound","decl":{"start":{"line":625,"column":2},"end":{"line":639,"column":3}},"loc":{"start":{"line":625,"column":2},"end":{"line":639,"column":3}},"line":625},"18":{"name":"_multiplexInbound","decl":{"start":{"line":645,"column":2},"end":{"line":658,"column":3}},"loc":{"start":{"line":645,"column":2},"end":{"line":658,"column":3}},"line":645}},"f":{"0":224,"1":153,"2":377,"3":55,"4":52,"5":52,"6":84,"7":225,"8":487,"9":266,"10":250,"11":0,"12":461,"13":84,"14":161,"15":52,"16":52,"17":51,"18":51}} +,"/home/ckousik/projects/js-libp2p/src/version.ts": {"path":"/home/ckousik/projects/js-libp2p/src/version.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}}},"s":{"0":1,"1":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/address-manager/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/address-manager/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":77}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":69}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":56}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":51}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":50}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":55}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":67}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":37}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":5}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":69}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":5}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":32}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":55}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":19}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":57}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":21}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":63}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":23}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":50}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":16}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":36}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":64}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":14}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":32}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":35}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":71}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":79}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":62}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":85}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":35}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":40}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":40}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":48}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":49}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":59}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":94}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":101}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":87}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":11}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":47}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":32}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":49}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":62}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":29}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":69}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":31}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":34}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":59}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":35}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":36}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":61}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":28}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":36}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":61}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":32}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":80}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":61}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":47}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":3}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":0}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":5}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":87}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":62}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":5}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":46}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":3}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":32}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":52}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":28}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":37}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":46}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":29}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":55}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":41}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":56}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":83}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":7}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":5}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":36}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":86}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":40}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":12}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":5}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":33}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":59}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":3}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":32}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":64}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":29}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":70}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":82}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":5}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":74}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":24}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":34}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":30}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":50}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":34}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":18}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":67}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":19}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":9}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":74}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":8}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":3}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":55,"62":55,"63":55,"64":55,"65":55,"66":55,"67":55,"68":55,"69":55,"70":55,"71":1,"72":1,"73":1,"74":1,"75":1,"76":109,"77":109,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1104,"84":1104,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1104,"91":1104,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":0,"100":0,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":0,"108":0,"109":1,"110":1,"111":1,"112":1,"113":1,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":1,"138":1,"139":1104,"140":1104,"141":1104,"142":1104,"143":1104,"144":1104,"145":1104,"146":1104,"147":1104,"148":1104,"149":1104,"150":1104,"151":1104,"152":1104,"153":1104,"154":1104,"155":2120,"156":0,"157":0,"158":2120,"159":2120,"160":1104,"161":1104,"162":1},"branchMap":{"0":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":2},"end":{"line":71,"column":3}},"locations":[{"start":{"line":61,"column":2},"end":{"line":71,"column":3}}]},"1":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":45},"end":{"line":70,"column":69}},"locations":[{"start":{"line":70,"column":45},"end":{"line":70,"column":69}}]},"2":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":29},"end":{"line":67,"column":48}},"locations":[{"start":{"line":67,"column":29},"end":{"line":67,"column":48}}]},"3":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":78,"column":3}}]},"4":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":39},"end":{"line":77,"column":58}},"locations":[{"start":{"line":77,"column":39},"end":{"line":77,"column":58}}]},"5":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]},"6":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":2},"end":{"line":92,"column":3}},"locations":[{"start":{"line":90,"column":2},"end":{"line":92,"column":3}}]},"7":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":2},"end":{"line":162,"column":3}},"locations":[{"start":{"line":139,"column":2},"end":{"line":162,"column":3}}]},"8":{"type":"branch","line":144,"loc":{"start":{"line":144,"column":62},"end":{"line":144,"column":81}},"locations":[{"start":{"line":144,"column":62},"end":{"line":144,"column":81}}]},"9":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":11},"end":{"line":154,"column":32}},"locations":[{"start":{"line":154,"column":11},"end":{"line":154,"column":32}}]},"10":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":11},"end":{"line":161,"column":7}},"locations":[{"start":{"line":155,"column":11},"end":{"line":161,"column":7}}]},"11":{"type":"branch","line":156,"loc":{"start":{"line":156,"column":66},"end":{"line":158,"column":9}},"locations":[{"start":{"line":156,"column":66},"end":{"line":158,"column":9}}]}},"b":{"0":[55],"1":[0],"2":[55],"3":[109],"4":[109],"5":[1104],"6":[1104],"7":[1104],"8":[3120],"9":[2120],"10":[2120],"11":[0]},"fnMap":{"0":{"name":"defaultAddressFilter","decl":{"start":{"line":45,"column":29},"end":{"line":45,"column":71}},"loc":{"start":{"line":45,"column":29},"end":{"line":45,"column":71}},"line":45},"1":{"name":"DefaultAddressManager","decl":{"start":{"line":61,"column":2},"end":{"line":71,"column":3}},"loc":{"start":{"line":61,"column":2},"end":{"line":71,"column":3}},"line":61},"2":{"name":"getListenAddrs","decl":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"loc":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"line":76},"3":{"name":"getAnnounceAddrs","decl":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"line":83},"4":{"name":"getObservedAddrs","decl":{"start":{"line":90,"column":2},"end":{"line":92,"column":3}},"loc":{"start":{"line":90,"column":2},"end":{"line":92,"column":3}},"line":90},"5":{"name":"confirmObservedAddr","decl":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"loc":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"line":99},"6":{"name":"removeObservedAddr","decl":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"line":107},"7":{"name":"addObservedAddr","decl":{"start":{"line":114,"column":2},"end":{"line":137,"column":3}},"loc":{"start":{"line":114,"column":2},"end":{"line":137,"column":3}},"line":114},"8":{"name":"getAddresses","decl":{"start":{"line":139,"column":2},"end":{"line":162,"column":3}},"loc":{"start":{"line":139,"column":2},"end":{"line":162,"column":3}},"line":139}},"f":{"0":0,"1":55,"2":109,"3":1104,"4":1104,"5":0,"6":0,"7":0,"8":1104}} +,"/home/ckousik/projects/js-libp2p/src/circuit/client.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/client.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":8}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":21}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":21}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":23}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":55}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":65}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":62}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":24}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":65}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":39}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":69}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":61}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":50}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":43}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":37}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":31}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":26}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":48}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":39}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":34}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":1}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":93}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":41}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":47}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":42}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":38}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":77}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":64}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":26}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":66}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":11}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":32}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":67}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":52}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":27}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":35}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":39}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":62}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":66}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":77}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":60}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":22}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":8}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":6}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":84}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":35}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":6}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":81}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":97}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":6}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":16}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":23}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":3}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":0}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":12}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":43}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":23}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":17}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":55}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":31}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":23}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":3}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":5}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":49}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":104}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":97}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":26}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":90}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":32}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":48}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":12}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":5}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":35}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":83}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":93}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":80}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":30}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":32}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":41}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":7}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":12}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":30}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":12}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":85}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":9}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":82}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":39}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":31}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":45}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":14}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":7}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":43}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":76}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":69}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":14}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":60}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":52}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":24}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":23}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":5}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":3}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":5}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":21}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":5}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":54}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":33}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":40}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":32}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":49}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":38}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":34}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":31}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":12}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":5}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":46}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":20}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":6}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":3}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":5}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":52}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":5}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":81}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":32}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":66}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":9}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":51}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":53}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":14}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":7}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":51}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":0}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":75}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":37}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":79}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":53}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":43}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":7}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":0}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":35}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":39}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":39}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":15}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":42}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":0}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":48}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":91}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":13}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":61}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":0}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":106}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":70}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":23}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":30}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":64}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":29}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":11}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":22}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":10}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":7}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":0}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":34}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":27}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":7}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":24}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":23}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":28}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":5}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":3}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":0}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":5}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":24}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":41}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":33}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":59}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":50}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":5}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":3}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":5}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":54}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":72}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":102}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":91}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":27}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":5}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":68}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":50}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":51}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":12}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":5}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":0}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":30}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":55}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":93}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":44}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":33}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":102}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":0}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":64}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":35}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":16}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":7}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":42}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":16}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":7}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":0}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":85}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":52}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":32}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":16}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":7}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":50}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":0}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":78}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":56}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":37}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":32}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":16}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":7}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":52}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":52}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":53}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":14}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":7}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":5}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":0}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":58}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":43}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":44}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":0}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":52}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":53}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":14}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":7}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":5}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":0}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":47}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":9}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":59}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":87}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":47}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":18}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":9}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":34}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":0}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":52}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":62}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":18}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":9}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":0}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":84}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":46}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":0}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":54}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":55}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":16}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":9}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":7}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":24}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":23}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":5}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":3}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":0}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":46}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":9}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":50}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":62}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":14}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":7}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":87}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":52}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":24}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":57}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":95}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":5}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":3}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":75}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":9}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":82}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":37}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":49}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":7}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":0}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":39}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":0}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":51}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":64}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":0}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":32}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":53}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":32}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":17}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":21}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":60}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":65}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":18}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":11}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":9}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":69}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":7}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":24}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":20}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":54}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":5}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":3}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":42,"44":42,"45":42,"46":42,"47":42,"48":42,"49":42,"50":42,"51":42,"52":42,"53":42,"54":42,"55":42,"56":705,"57":0,"58":705,"59":42,"60":42,"61":42,"62":14,"63":42,"64":42,"65":42,"66":71,"67":42,"68":42,"69":1,"70":1,"71":0,"72":0,"73":1,"74":1,"75":42,"76":42,"77":42,"78":1,"79":1,"80":42,"81":45,"82":45,"83":42,"84":42,"85":42,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":705,"95":705,"96":705,"97":594,"98":594,"99":111,"100":111,"101":111,"102":111,"103":111,"104":111,"105":705,"106":44,"107":0,"108":0,"109":44,"110":44,"111":44,"112":67,"113":705,"114":0,"115":0,"116":67,"117":67,"118":67,"119":67,"120":67,"121":67,"122":67,"123":705,"124":0,"125":0,"126":0,"127":67,"128":67,"129":705,"130":1,"131":1,"132":1,"133":66,"134":66,"135":705,"136":0,"137":0,"138":705,"139":1,"140":1,"141":1,"142":1,"143":1,"144":14,"145":14,"146":14,"147":14,"148":14,"149":14,"150":14,"151":14,"152":3,"153":3,"154":11,"155":11,"156":0,"157":11,"158":11,"159":1,"160":1,"161":1,"162":1,"163":1,"164":69,"165":69,"166":69,"167":69,"168":69,"169":18,"170":18,"171":51,"172":51,"173":51,"174":51,"175":51,"176":51,"177":51,"178":51,"179":51,"180":51,"181":51,"182":51,"183":51,"184":119,"185":119,"186":119,"187":119,"188":108,"189":108,"190":119,"191":119,"192":119,"193":119,"194":119,"195":111,"196":119,"197":8,"198":8,"199":8,"200":8,"201":8,"202":51,"203":51,"204":51,"205":51,"206":51,"207":51,"208":69,"209":0,"210":0,"211":0,"212":69,"213":1,"214":1,"215":1,"216":1,"217":1,"218":17,"219":11,"220":11,"221":11,"222":17,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":53,"233":53,"234":1,"235":1,"236":52,"237":52,"238":52,"239":52,"240":52,"241":53,"242":13,"243":13,"244":13,"245":13,"246":13,"247":0,"248":0,"249":13,"250":13,"251":10,"252":10,"253":3,"254":3,"255":3,"256":3,"257":13,"258":0,"259":0,"260":3,"261":3,"262":3,"263":3,"264":3,"265":13,"266":2,"267":2,"268":2,"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":13,"277":51,"278":51,"279":53,"280":2,"281":2,"282":2,"283":2,"284":1,"285":1,"286":2,"287":50,"288":50,"289":50,"290":50,"291":53,"292":1,"293":0,"294":0,"295":1,"296":1,"297":1,"298":1,"299":0,"300":0,"301":0,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":53,"313":49,"314":49,"315":53,"316":1,"317":1,"318":3,"319":3,"320":0,"321":0,"322":0,"323":3,"324":2,"325":3,"326":1,"327":1,"328":1,"329":3,"330":1,"331":1,"332":51,"333":51,"334":51,"335":51,"336":0,"337":0,"338":51,"339":51,"340":51,"341":51,"342":45,"343":45,"344":45,"345":45,"346":45,"347":45,"348":45,"349":45,"350":45,"351":45,"352":45,"353":45,"354":45,"355":45,"356":45,"357":51,"358":6,"359":6,"360":6,"361":51,"362":1},"branchMap":{"0":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"locations":[{"start":{"line":22,"column":13},"end":{"line":22,"column":21}}]},"1":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":2},"end":{"line":69,"column":3}},"locations":[{"start":{"line":43,"column":2},"end":{"line":69,"column":3}}]},"2":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":43},"end":{"line":47,"column":67}},"locations":[{"start":{"line":47,"column":43},"end":{"line":47,"column":67}}]},"3":{"type":"branch","line":332,"loc":{"start":{"line":332,"column":48},"end":{"line":362,"column":3}},"locations":[{"start":{"line":332,"column":48},"end":{"line":362,"column":3}}]},"4":{"type":"branch","line":336,"loc":{"start":{"line":336,"column":36},"end":{"line":338,"column":7}},"locations":[{"start":{"line":336,"column":36},"end":{"line":338,"column":7}}]},"5":{"type":"branch","line":343,"loc":{"start":{"line":343,"column":-1},"end":{"line":357,"column":7}},"locations":[{"start":{"line":343,"column":-1},"end":{"line":357,"column":7}}]},"6":{"type":"branch","line":358,"loc":{"start":{"line":358,"column":6},"end":{"line":361,"column":5}},"locations":[{"start":{"line":358,"column":6},"end":{"line":361,"column":5}}]},"7":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":67},"end":{"line":60,"column":5}},"locations":[{"start":{"line":56,"column":67},"end":{"line":60,"column":5}}]},"8":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":74},"end":{"line":64,"column":5}},"locations":[{"start":{"line":62,"column":74},"end":{"line":64,"column":5}}]},"9":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":71},"end":{"line":68,"column":5}},"locations":[{"start":{"line":66,"column":71},"end":{"line":68,"column":5}}]},"10":{"type":"branch","line":75,"loc":{"start":{"line":75,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":75,"column":2},"end":{"line":78,"column":3}}]},"11":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":2},"end":{"line":86,"column":3}},"locations":[{"start":{"line":80,"column":2},"end":{"line":86,"column":3}}]},"12":{"type":"branch","line":81,"loc":{"start":{"line":81,"column":54},"end":{"line":83,"column":5}},"locations":[{"start":{"line":81,"column":54},"end":{"line":83,"column":5}}]},"13":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":2},"end":{"line":139,"column":3}},"locations":[{"start":{"line":94,"column":2},"end":{"line":139,"column":3}}]},"14":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":47},"end":{"line":99,"column":5}},"locations":[{"start":{"line":97,"column":47},"end":{"line":99,"column":5}}]},"15":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":-1},"end":{"line":106,"column":29}},"locations":[{"start":{"line":100,"column":-1},"end":{"line":106,"column":29}}]},"16":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":29},"end":{"line":112,"column":5}},"locations":[{"start":{"line":106,"column":29},"end":{"line":112,"column":5}}]},"17":{"type":"branch","line":107,"loc":{"start":{"line":107,"column":31},"end":{"line":109,"column":7}},"locations":[{"start":{"line":107,"column":31},"end":{"line":109,"column":7}}]},"18":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":-1},"end":{"line":114,"column":29}},"locations":[{"start":{"line":113,"column":-1},"end":{"line":114,"column":29}}]},"19":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":29},"end":{"line":116,"column":5}},"locations":[{"start":{"line":114,"column":29},"end":{"line":116,"column":5}}]},"20":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":-1},"end":{"line":124,"column":30}},"locations":[{"start":{"line":117,"column":-1},"end":{"line":124,"column":30}}]},"21":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":30},"end":{"line":127,"column":7}},"locations":[{"start":{"line":124,"column":30},"end":{"line":127,"column":7}}]},"22":{"type":"branch","line":128,"loc":{"start":{"line":128,"column":-1},"end":{"line":130,"column":75}},"locations":[{"start":{"line":128,"column":-1},"end":{"line":130,"column":75}}]},"23":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":75},"end":{"line":133,"column":7}},"locations":[{"start":{"line":130,"column":75},"end":{"line":133,"column":7}}]},"24":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":-1},"end":{"line":136,"column":13}},"locations":[{"start":{"line":134,"column":-1},"end":{"line":136,"column":13}}]},"25":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":6},"end":{"line":138,"column":5}},"locations":[{"start":{"line":136,"column":6},"end":{"line":138,"column":5}}]},"26":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":39},"end":{"line":102,"column":82}},"locations":[{"start":{"line":102,"column":39},"end":{"line":102,"column":82}}]},"27":{"type":"branch","line":144,"loc":{"start":{"line":144,"column":2},"end":{"line":159,"column":3}},"locations":[{"start":{"line":144,"column":2},"end":{"line":159,"column":3}}]},"28":{"type":"branch","line":152,"loc":{"start":{"line":152,"column":30},"end":{"line":154,"column":5}},"locations":[{"start":{"line":152,"column":30},"end":{"line":154,"column":5}}]},"29":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":-1},"end":{"line":159,"column":3}},"locations":[{"start":{"line":155,"column":-1},"end":{"line":159,"column":3}}]},"30":{"type":"branch","line":164,"loc":{"start":{"line":164,"column":2},"end":{"line":213,"column":3}},"locations":[{"start":{"line":164,"column":2},"end":{"line":213,"column":3}}]},"31":{"type":"branch","line":169,"loc":{"start":{"line":169,"column":52},"end":{"line":171,"column":7}},"locations":[{"start":{"line":169,"column":52},"end":{"line":171,"column":7}}]},"32":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":-1},"end":{"line":208,"column":7}},"locations":[{"start":{"line":172,"column":-1},"end":{"line":208,"column":7}}]},"33":{"type":"branch","line":209,"loc":{"start":{"line":209,"column":6},"end":{"line":212,"column":5}},"locations":[{"start":{"line":209,"column":6},"end":{"line":212,"column":5}}]},"34":{"type":"branch","line":178,"loc":{"start":{"line":178,"column":8},"end":{"line":178,"column":52}},"locations":[{"start":{"line":178,"column":8},"end":{"line":178,"column":52}}]},"35":{"type":"branch","line":179,"loc":{"start":{"line":179,"column":8},"end":{"line":179,"column":43}},"locations":[{"start":{"line":179,"column":8},"end":{"line":179,"column":43}}]},"36":{"type":"branch","line":184,"loc":{"start":{"line":184,"column":24},"end":{"line":203,"column":9}},"locations":[{"start":{"line":184,"column":24},"end":{"line":203,"column":9}}]},"37":{"type":"branch","line":188,"loc":{"start":{"line":188,"column":47},"end":{"line":190,"column":13}},"locations":[{"start":{"line":188,"column":47},"end":{"line":190,"column":13}}]},"38":{"type":"branch","line":196,"loc":{"start":{"line":196,"column":-1},"end":{"line":197,"column":19}},"locations":[{"start":{"line":196,"column":-1},"end":{"line":197,"column":19}}]},"39":{"type":"branch","line":197,"loc":{"start":{"line":197,"column":12},"end":{"line":203,"column":9}},"locations":[{"start":{"line":197,"column":12},"end":{"line":203,"column":9}}]},"40":{"type":"branch","line":218,"loc":{"start":{"line":218,"column":2},"end":{"line":223,"column":3}},"locations":[{"start":{"line":218,"column":2},"end":{"line":223,"column":3}}]},"41":{"type":"branch","line":219,"loc":{"start":{"line":219,"column":32},"end":{"line":222,"column":5}},"locations":[{"start":{"line":219,"column":32},"end":{"line":222,"column":5}}]},"42":{"type":"branch","line":232,"loc":{"start":{"line":232,"column":2},"end":{"line":316,"column":3}},"locations":[{"start":{"line":232,"column":2},"end":{"line":316,"column":3}}]},"43":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":50},"end":{"line":236,"column":5}},"locations":[{"start":{"line":234,"column":50},"end":{"line":236,"column":5}}]},"44":{"type":"branch","line":237,"loc":{"start":{"line":237,"column":-1},"end":{"line":242,"column":43}},"locations":[{"start":{"line":237,"column":-1},"end":{"line":242,"column":43}}]},"45":{"type":"branch","line":242,"loc":{"start":{"line":242,"column":43},"end":{"line":277,"column":5}},"locations":[{"start":{"line":242,"column":43},"end":{"line":277,"column":5}}]},"46":{"type":"branch","line":247,"loc":{"start":{"line":247,"column":34},"end":{"line":249,"column":7}},"locations":[{"start":{"line":247,"column":34},"end":{"line":249,"column":7}}]},"47":{"type":"branch","line":251,"loc":{"start":{"line":251,"column":41},"end":{"line":253,"column":7}},"locations":[{"start":{"line":251,"column":41},"end":{"line":253,"column":7}}]},"48":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":-1},"end":{"line":258,"column":31}},"locations":[{"start":{"line":254,"column":-1},"end":{"line":258,"column":31}}]},"49":{"type":"branch","line":258,"loc":{"start":{"line":258,"column":31},"end":{"line":260,"column":7}},"locations":[{"start":{"line":258,"column":31},"end":{"line":260,"column":7}}]},"50":{"type":"branch","line":261,"loc":{"start":{"line":261,"column":-1},"end":{"line":266,"column":36}},"locations":[{"start":{"line":261,"column":-1},"end":{"line":266,"column":36}}]},"51":{"type":"branch","line":266,"loc":{"start":{"line":266,"column":36},"end":{"line":269,"column":7}},"locations":[{"start":{"line":266,"column":36},"end":{"line":269,"column":7}}]},"52":{"type":"branch","line":270,"loc":{"start":{"line":270,"column":-1},"end":{"line":276,"column":7}},"locations":[{"start":{"line":270,"column":-1},"end":{"line":276,"column":7}}]},"53":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":-1},"end":{"line":280,"column":42}},"locations":[{"start":{"line":278,"column":-1},"end":{"line":280,"column":42}}]},"54":{"type":"branch","line":280,"loc":{"start":{"line":280,"column":42},"end":{"line":287,"column":5}},"locations":[{"start":{"line":280,"column":42},"end":{"line":287,"column":5}}]},"55":{"type":"branch","line":284,"loc":{"start":{"line":284,"column":52},"end":{"line":286,"column":7}},"locations":[{"start":{"line":284,"column":52},"end":{"line":286,"column":7}}]},"56":{"type":"branch","line":288,"loc":{"start":{"line":288,"column":-1},"end":{"line":292,"column":86}},"locations":[{"start":{"line":288,"column":-1},"end":{"line":292,"column":86}}]},"57":{"type":"branch","line":292,"loc":{"start":{"line":292,"column":86},"end":{"line":312,"column":7}},"locations":[{"start":{"line":292,"column":86},"end":{"line":312,"column":7}}]},"58":{"type":"branch","line":293,"loc":{"start":{"line":293,"column":46},"end":{"line":295,"column":9}},"locations":[{"start":{"line":293,"column":46},"end":{"line":295,"column":9}}]},"59":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":51},"end":{"line":302,"column":9}},"locations":[{"start":{"line":299,"column":51},"end":{"line":302,"column":9}}]},"60":{"type":"branch","line":313,"loc":{"start":{"line":313,"column":-1},"end":{"line":313,"column":13}},"locations":[{"start":{"line":313,"column":-1},"end":{"line":313,"column":13}}]},"61":{"type":"branch","line":313,"loc":{"start":{"line":313,"column":6},"end":{"line":315,"column":5}},"locations":[{"start":{"line":313,"column":6},"end":{"line":315,"column":5}}]},"62":{"type":"branch","line":255,"loc":{"start":{"line":255,"column":41},"end":{"line":255,"column":84}},"locations":[{"start":{"line":255,"column":41},"end":{"line":255,"column":84}}]},"63":{"type":"branch","line":318,"loc":{"start":{"line":318,"column":2},"end":{"line":330,"column":3}},"locations":[{"start":{"line":318,"column":2},"end":{"line":330,"column":3}}]},"64":{"type":"branch","line":320,"loc":{"start":{"line":320,"column":49},"end":{"line":323,"column":7}},"locations":[{"start":{"line":320,"column":49},"end":{"line":323,"column":7}}]},"65":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":-1},"end":{"line":326,"column":13}},"locations":[{"start":{"line":325,"column":-1},"end":{"line":326,"column":13}}]},"66":{"type":"branch","line":326,"loc":{"start":{"line":326,"column":6},"end":{"line":329,"column":5}},"locations":[{"start":{"line":326,"column":6},"end":{"line":329,"column":5}}]}},"b":{"0":[58],"1":[42],"2":[0],"3":[51],"4":[0],"5":[45],"6":[6],"7":[705],"8":[14],"9":[71],"10":[42],"11":[42],"12":[45],"13":[705],"14":[594],"15":[111],"16":[44],"17":[0],"18":[67],"19":[0],"20":[67],"21":[0],"22":[67],"23":[1],"24":[66],"25":[0],"26":[312],"27":[14],"28":[3],"29":[11],"30":[69],"31":[18],"32":[51],"33":[0],"34":[51],"35":[51],"36":[119],"37":[108],"38":[111],"39":[8],"40":[17],"41":[11],"42":[53],"43":[1],"44":[52],"45":[13],"46":[0],"47":[10],"48":[3],"49":[0],"50":[3],"51":[2],"52":[1],"53":[51],"54":[2],"55":[1],"56":[50],"57":[1],"58":[0],"59":[0],"60":[0],"61":[49],"62":[15],"63":[3],"64":[0],"65":[2],"66":[1]},"fnMap":{"0":{"name":"noop","decl":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"line":22},"1":{"name":"CircuitService","decl":{"start":{"line":43,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":43,"column":2},"end":{"line":69,"column":3}},"line":43},"2":{"name":"CircuitService.createOrRefreshReservation","decl":{"start":{"line":332,"column":48},"end":{"line":362,"column":3}},"loc":{"start":{"line":332,"column":48},"end":{"line":362,"column":3}},"line":332},"3":{"name":"isStarted","decl":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"loc":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"line":71},"4":{"name":"start","decl":{"start":{"line":75,"column":2},"end":{"line":78,"column":3}},"loc":{"start":{"line":75,"column":2},"end":{"line":78,"column":3}},"line":75},"5":{"name":"stop","decl":{"start":{"line":80,"column":2},"end":{"line":86,"column":3}},"loc":{"start":{"line":80,"column":2},"end":{"line":86,"column":3}},"line":80},"6":{"name":"_onProtocolChange","decl":{"start":{"line":94,"column":2},"end":{"line":139,"column":3}},"loc":{"start":{"line":94,"column":2},"end":{"line":139,"column":3}},"line":94},"7":{"name":"_onPeerDisconnected","decl":{"start":{"line":144,"column":2},"end":{"line":159,"column":3}},"loc":{"start":{"line":144,"column":2},"end":{"line":159,"column":3}},"line":144},"8":{"name":"_addListenRelay","decl":{"start":{"line":164,"column":2},"end":{"line":213,"column":3}},"loc":{"start":{"line":164,"column":2},"end":{"line":213,"column":3}},"line":164},"9":{"name":"_removeListenRelay","decl":{"start":{"line":218,"column":2},"end":{"line":223,"column":3}},"loc":{"start":{"line":218,"column":2},"end":{"line":223,"column":3}},"line":218},"10":{"name":"_listenOnAvailableHopRelays","decl":{"start":{"line":232,"column":2},"end":{"line":316,"column":3}},"loc":{"start":{"line":232,"column":2},"end":{"line":316,"column":3}},"line":232},"11":{"name":"_tryToListenOnRelay","decl":{"start":{"line":318,"column":2},"end":{"line":330,"column":3}},"loc":{"start":{"line":318,"column":2},"end":{"line":330,"column":3}},"line":318}},"f":{"0":58,"1":42,"2":51,"3":0,"4":42,"5":42,"6":705,"7":14,"8":69,"9":17,"10":53,"11":3}} +,"/home/ckousik/projects/js-libp2p/src/circuit/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":3}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":62}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":3}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":47}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":40}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":18}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":37}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":3}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":50}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":50}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/circuit/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":36}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":8}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":21}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":22}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":62}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":29}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":43}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":8}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":21}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":23}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":76}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":61}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":71}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":77}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":67}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":55}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":30}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":18}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":16}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":28}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":1}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":19}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":18}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":34}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":20}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":19}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":14}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":1}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":34}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":19}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":39}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":22}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":1}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":31}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":1}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":34}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":16}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":32}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":22}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":38}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":36}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":1}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":41}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":46}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":34}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":26}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":33}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":62}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":32}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":24}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":20}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":62}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":16}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":23}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":3}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":5}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":24}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":18}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":39}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":83}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":40}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":86}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":7}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":23}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":23}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":5}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":17}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":31}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":40}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":0}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":24}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":5}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":48}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":5}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":30}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":59}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":55}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":24}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":56}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":115}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":29}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":25}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":14}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":22}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":7}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":5}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":3}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":55,"71":55,"72":55,"73":55,"74":55,"75":1,"76":1,"77":0,"78":0,"79":1,"80":1,"81":1,"82":1,"83":1,"84":55,"85":55,"86":1,"87":1,"88":1,"89":1,"90":55,"91":55,"92":55,"93":1,"94":1,"95":1,"96":1,"97":1,"98":55,"99":1,"100":1,"101":55,"102":55,"103":55,"104":1,"105":1,"106":1,"107":1,"108":1,"109":2,"110":2,"111":2,"112":2,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":2,"122":1},"branchMap":{"0":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"locations":[{"start":{"line":70,"column":2},"end":{"line":75,"column":3}}]},"1":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":2},"end":{"line":93,"column":3}},"locations":[{"start":{"line":84,"column":2},"end":{"line":93,"column":3}}]},"2":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":39},"end":{"line":86,"column":80}},"locations":[{"start":{"line":86,"column":39},"end":{"line":86,"column":80}}]},"3":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":82},"end":{"line":90,"column":5}},"locations":[{"start":{"line":86,"column":82},"end":{"line":90,"column":5}}]},"4":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":2},"end":{"line":104,"column":3}},"locations":[{"start":{"line":98,"column":2},"end":{"line":104,"column":3}}]},"5":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":30},"end":{"line":101,"column":5}},"locations":[{"start":{"line":99,"column":30},"end":{"line":101,"column":5}}]},"6":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":2},"end":{"line":122,"column":3}},"locations":[{"start":{"line":109,"column":2},"end":{"line":122,"column":3}}]},"7":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":6},"end":{"line":121,"column":5}},"locations":[{"start":{"line":113,"column":6},"end":{"line":121,"column":5}}]}},"b":{"0":[55],"1":[55],"2":[33],"3":[1],"4":[55],"5":[1],"6":[2],"7":[0]},"fnMap":{"0":{"name":"Relay","decl":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"line":70},"1":{"name":"isStarted","decl":{"start":{"line":77,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":77,"column":2},"end":{"line":79,"column":3}},"line":77},"2":{"name":"start","decl":{"start":{"line":84,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":84,"column":2},"end":{"line":93,"column":3}},"line":84},"3":{"name":"stop","decl":{"start":{"line":98,"column":2},"end":{"line":104,"column":3}},"loc":{"start":{"line":98,"column":2},"end":{"line":104,"column":3}},"line":98},"4":{"name":"_advertiseService","decl":{"start":{"line":109,"column":2},"end":{"line":122,"column":3}},"loc":{"start":{"line":109,"column":2},"end":{"line":122,"column":3}},"line":109}},"f":{"0":55,"1":0,"2":55,"3":55,"4":2}} +,"/home/ckousik/projects/js-libp2p/src/circuit/listener.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/listener.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":69}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":77}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":61}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":59}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":50}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":56}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":51}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":34}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":22}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":38}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":69}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":34}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":58}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":58}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":80}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":36}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":31}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":54}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":62}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":81}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":72}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":68}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":56}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":28}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":80}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":4}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":74}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":78}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":79}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":30}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":93}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":93}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":92}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":55}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":4}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":27}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":24}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":20}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":49}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":22}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":5}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":16}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":64}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":47}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":11}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":12}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":4}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":50}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":74}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":75}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":18}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":41}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":54}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":4}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":17}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":120,"15":120,"16":120,"17":120,"18":120,"19":120,"20":120,"21":120,"22":120,"23":120,"24":120,"25":120,"26":6,"27":6,"28":114,"29":114,"30":114,"31":114,"32":114,"33":114,"34":112,"35":112,"36":112,"37":112,"38":112,"39":120,"40":120,"41":120,"42":120,"43":120,"44":120,"45":120,"46":120,"47":120,"48":120,"49":120,"50":120,"51":120,"52":120,"53":120,"54":120,"55":120,"56":120,"57":2832,"58":2832,"59":1471,"60":1471,"61":2832,"62":2832,"63":120,"64":120,"65":120,"66":120,"67":120,"68":120,"69":120,"70":120,"71":120,"72":56,"73":56,"74":56,"75":56,"76":37,"77":37,"78":37,"79":120,"80":120,"81":120,"82":120},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":6},"end":{"line":83,"column":1}},"locations":[{"start":{"line":14,"column":6},"end":{"line":83,"column":1}}]},"1":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":2},"end":{"line":39,"column":3}},"locations":[{"start":{"line":20,"column":2},"end":{"line":39,"column":3}}]},"2":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":30},"end":{"line":28,"column":5}},"locations":[{"start":{"line":26,"column":30},"end":{"line":28,"column":5}}]},"3":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":-1},"end":{"line":34,"column":81}},"locations":[{"start":{"line":29,"column":-1},"end":{"line":34,"column":81}}]},"4":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":-1},"end":{"line":39,"column":3}},"locations":[{"start":{"line":35,"column":-1},"end":{"line":39,"column":3}}]},"5":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":66},"end":{"line":21,"column":79}},"locations":[{"start":{"line":21,"column":66},"end":{"line":21,"column":79}}]},"6":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":48},"end":{"line":61,"column":5}},"locations":[{"start":{"line":59,"column":48},"end":{"line":61,"column":5}}]},"8":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":11},"end":{"line":66,"column":46}},"locations":[{"start":{"line":66,"column":11},"end":{"line":66,"column":46}}]},"9":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":64},"end":{"line":80,"column":3}},"locations":[{"start":{"line":72,"column":64},"end":{"line":80,"column":3}}]},"10":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":17},"end":{"line":79,"column":5}},"locations":[{"start":{"line":76,"column":17},"end":{"line":79,"column":5}}]}},"b":{"0":[120],"1":[120],"2":[6],"3":[114],"4":[112],"5":[120],"6":[2832],"7":[1471],"8":[116],"9":[56],"10":[37]},"fnMap":{"0":{"name":"createListener","decl":{"start":{"line":14,"column":6},"end":{"line":83,"column":1}},"loc":{"start":{"line":14,"column":6},"end":{"line":83,"column":1}},"line":14},"1":{"name":"listen","decl":{"start":{"line":20,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":20,"column":2},"end":{"line":39,"column":3}},"line":20},"2":{"name":"getAddrs","decl":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"line":57},"3":{"name":"close","decl":{"start":{"line":66,"column":11},"end":{"line":66,"column":46}},"loc":{"start":{"line":66,"column":11},"end":{"line":66,"column":46}},"line":66}},"f":{"0":120,"1":120,"2":2832,"3":116}} +,"/home/ckousik/projects/js-libp2p/src/circuit/multicodec.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/multicodec.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":59}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":67}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":69}}},"s":{"0":1,"1":1,"2":1,"3":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/circuit/transport.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/transport.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":45}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":45}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":60}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":34}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":51}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":36}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":70}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":89}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":46}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":80}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":50}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":54}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":80}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":112}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":70}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":52}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":40}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":55}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":56}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":49}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":49}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":56}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":70}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":77}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":71}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":36}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":33}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":16}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":36}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":22}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":22}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":38}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":20}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":32}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":36}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":1}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":26}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":16}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":24}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":25}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":28}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":15}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":30}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":1}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":54}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":37}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":48}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":53}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":37}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":27}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":69}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":32}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":24}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":50}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":25}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":16}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":33}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":24}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":12}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":24}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":70}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":50}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":22}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":8}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":6}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":21}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":22}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":8}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":74}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":53}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":22}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":8}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":6}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":21}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":22}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":8}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":75}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":54}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":22}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":8}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":6}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":21}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":22}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":8}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":3}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":17}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":60}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":64}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":65}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":3}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":17}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":15}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":3}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":16}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":15}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":3}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":25}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":15}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":3}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":31}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":36}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":3}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":63}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":84}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":3}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":50}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":39}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":68}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":9}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":29}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":52}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":15}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":9}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":63}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":85}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":48}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":28}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":62}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":109}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":14}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":7}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":29}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":49}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":47}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":79}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":114}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":15}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":9}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":48}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":80}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":112}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":15}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":9}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":18}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":63}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":111}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":9}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":7}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":15}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":24}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":5}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":3}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":0}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":71}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":84}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":68}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":0}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":9}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":29}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":52}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":15}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":61}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":83}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":9}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":77}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":34}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":74}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":7}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":48}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":19}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":22}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":22}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":42}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":68}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":48}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":15}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":8}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":20}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":55}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":47}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":50}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":9}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":27}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":15}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":24}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":5}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":72}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":57}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":76}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":83}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":38}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":12}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":5}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":0}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":55}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":17}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":20}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":13}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":6}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":0}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":52}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":60}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":70}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":43}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":24}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":19}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":17}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":8}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":57}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":72}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":68}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":26}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":5}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":3}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":0}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":29}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":5}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":79}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":79}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":53}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":41}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":62}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":41}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":53}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":0}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":51}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":82}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":23}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":66}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":5}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":47}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":59}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":35}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":88}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":45}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":34}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":77}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":98}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":32}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":5}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":9}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":90}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":37}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":58}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":17}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":38}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":26}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":26}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":20}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":13}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":29}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":10}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":62}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":17}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":38}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":26}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":26}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":20}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":13}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":29}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":10}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":16}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":24}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":55}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":7}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":24}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":49}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":58}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":15}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":5}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":3}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":0}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":20}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":28}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":34}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":19}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":5}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":58}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":13}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":16}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":46}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":18}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":47}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":88}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":10}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":18}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":40}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":51}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":9}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":7}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":6}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":0}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":100}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":41}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":32}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":21}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":15}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":6}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":56}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":65}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":3}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":0}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":19}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":5}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":42}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":37}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":25}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":21}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":5}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":9}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":59}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":55}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":48}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":15}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":40}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":51}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":9}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":9}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":0}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":76}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":50}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":154}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":7}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":63}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":0}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":31}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":96}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":43}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":37}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":23}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":17}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":8}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":58}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":73}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":17}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":38}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":49}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":53}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":15}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":5}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":3}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":5}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":22}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":5}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":61}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":49}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":34}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":27}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":59}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":42}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":6}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":3}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":0}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":5}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":68}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":4}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":36}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":27}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":5}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":49}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":70}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":0}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":38}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":38}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":6}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":3}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":55,"67":55,"68":55,"69":55,"70":55,"71":1,"72":1,"73":0,"74":0,"75":1,"76":1,"77":55,"78":0,"79":0,"80":55,"81":55,"82":55,"83":0,"84":0,"85":0,"86":55,"87":55,"88":0,"89":55,"90":55,"91":55,"92":60,"93":0,"94":60,"95":55,"96":55,"97":0,"98":55,"99":55,"100":4,"101":0,"102":4,"103":55,"104":55,"105":0,"106":55,"107":55,"108":1,"109":1,"110":55,"111":55,"112":55,"113":55,"114":1,"115":1,"116":0,"117":0,"118":1,"119":1,"120":0,"121":0,"122":1,"123":1,"124":0,"125":0,"126":1,"127":1,"128":55,"129":55,"130":1,"131":1,"132":4,"133":4,"134":1,"135":1,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":1,"177":1,"178":60,"179":60,"180":60,"181":60,"182":60,"183":60,"184":60,"185":60,"186":60,"187":60,"188":60,"189":60,"190":57,"191":60,"192":0,"193":0,"194":54,"195":54,"196":54,"197":54,"198":54,"199":54,"200":54,"201":54,"202":54,"203":54,"204":60,"205":6,"206":6,"207":6,"208":6,"209":6,"210":60,"211":60,"212":60,"213":60,"214":1,"215":1,"216":4,"217":4,"218":4,"219":4,"220":0,"221":0,"222":4,"223":4,"224":4,"225":4,"226":4,"227":4,"228":4,"229":4,"230":4,"231":4,"232":4,"233":4,"234":4,"235":4,"236":4,"237":4,"238":4,"239":4,"240":4,"241":4,"242":4,"243":1,"244":1,"245":1,"246":1,"247":1,"248":7,"249":7,"250":7,"251":7,"252":7,"253":7,"254":7,"255":7,"256":0,"257":0,"258":0,"259":0,"260":7,"261":7,"262":7,"263":7,"264":7,"265":7,"266":7,"267":7,"268":7,"269":5,"270":5,"271":5,"272":5,"273":7,"274":7,"275":7,"276":7,"277":7,"278":7,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":7,"288":7,"289":7,"290":7,"291":7,"292":7,"293":7,"294":7,"295":7,"296":7,"297":0,"298":0,"299":7,"300":7,"301":3,"302":3,"303":2,"304":2,"305":7,"306":1,"307":1,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":1,"338":1,"339":7,"340":7,"341":7,"342":7,"343":7,"344":7,"345":7,"346":7,"347":7,"348":7,"349":7,"350":7,"351":7,"352":7,"353":7,"354":7,"355":7,"356":7,"357":3,"358":3,"359":4,"360":4,"361":4,"362":4,"363":4,"364":4,"365":4,"366":4,"367":4,"368":4,"369":4,"370":4,"371":4,"372":7,"373":3,"374":3,"375":2,"376":2,"377":7,"378":1,"379":1,"380":1,"381":1,"382":1,"383":120,"384":120,"385":120,"386":120,"387":120,"388":120,"389":120,"390":120,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1,"397":1,"398":1,"399":194,"400":194,"401":194,"402":194,"403":194,"404":194,"405":1},"branchMap":{"0":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":2},"end":{"line":71,"column":3}},"locations":[{"start":{"line":66,"column":2},"end":{"line":71,"column":3}}]},"1":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":2},"end":{"line":108,"column":3}},"locations":[{"start":{"line":77,"column":2},"end":{"line":108,"column":3}}]},"2":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":23},"end":{"line":80,"column":5}},"locations":[{"start":{"line":78,"column":23},"end":{"line":80,"column":5}}]},"3":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":63},"end":{"line":96,"column":5}},"locations":[{"start":{"line":92,"column":63},"end":{"line":96,"column":5}}]},"4":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":64},"end":{"line":104,"column":5}},"locations":[{"start":{"line":100,"column":64},"end":{"line":104,"column":5}}]},"5":{"type":"branch","line":110,"loc":{"start":{"line":110,"column":2},"end":{"line":114,"column":3}},"locations":[{"start":{"line":110,"column":2},"end":{"line":114,"column":3}}]},"6":{"type":"branch","line":128,"loc":{"start":{"line":128,"column":2},"end":{"line":130,"column":3}},"locations":[{"start":{"line":128,"column":2},"end":{"line":130,"column":3}}]},"7":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":2},"end":{"line":134,"column":3}},"locations":[{"start":{"line":132,"column":2},"end":{"line":134,"column":3}}]},"8":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":71},"end":{"line":133,"column":84}},"locations":[{"start":{"line":133,"column":71},"end":{"line":133,"column":84}}]},"9":{"type":"branch","line":178,"loc":{"start":{"line":178,"column":2},"end":{"line":214,"column":3}},"locations":[{"start":{"line":178,"column":2},"end":{"line":214,"column":3}}]},"10":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":6},"end":{"line":185,"column":15}},"locations":[{"start":{"line":185,"column":6},"end":{"line":185,"column":15}}]},"11":{"type":"branch","line":190,"loc":{"start":{"line":190,"column":76},"end":{"line":192,"column":17}},"locations":[{"start":{"line":190,"column":76},"end":{"line":192,"column":17}}]},"12":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":17},"end":{"line":192,"column":23}},"locations":[{"start":{"line":192,"column":17},"end":{"line":192,"column":23}}]},"13":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":33},"end":{"line":194,"column":7}},"locations":[{"start":{"line":192,"column":33},"end":{"line":194,"column":7}}]},"14":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":-1},"end":{"line":205,"column":13}},"locations":[{"start":{"line":195,"column":-1},"end":{"line":205,"column":13}}]},"15":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":6},"end":{"line":211,"column":14}},"locations":[{"start":{"line":205,"column":6},"end":{"line":211,"column":14}}]},"16":{"type":"branch","line":216,"loc":{"start":{"line":216,"column":2},"end":{"line":243,"column":3}},"locations":[{"start":{"line":216,"column":2},"end":{"line":243,"column":3}}]},"17":{"type":"branch","line":220,"loc":{"start":{"line":220,"column":37},"end":{"line":222,"column":5}},"locations":[{"start":{"line":220,"column":37},"end":{"line":222,"column":5}}]},"18":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":18},"end":{"line":241,"column":26}},"locations":[{"start":{"line":241,"column":18},"end":{"line":241,"column":26}}]},"19":{"type":"branch","line":248,"loc":{"start":{"line":248,"column":2},"end":{"line":306,"column":3}},"locations":[{"start":{"line":248,"column":2},"end":{"line":306,"column":3}}]},"20":{"type":"branch","line":256,"loc":{"start":{"line":256,"column":50},"end":{"line":260,"column":5}},"locations":[{"start":{"line":256,"column":50},"end":{"line":260,"column":5}}]},"21":{"type":"branch","line":269,"loc":{"start":{"line":269,"column":33},"end":{"line":273,"column":5}},"locations":[{"start":{"line":269,"column":33},"end":{"line":273,"column":5}}]},"22":{"type":"branch","line":279,"loc":{"start":{"line":279,"column":8},"end":{"line":287,"column":10}},"locations":[{"start":{"line":279,"column":8},"end":{"line":287,"column":10}}]},"23":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":8},"end":{"line":299,"column":55}},"locations":[{"start":{"line":297,"column":8},"end":{"line":299,"column":55}}]},"24":{"type":"branch","line":301,"loc":{"start":{"line":301,"column":6},"end":{"line":305,"column":5}},"locations":[{"start":{"line":301,"column":6},"end":{"line":305,"column":5}}]},"25":{"type":"branch","line":303,"loc":{"start":{"line":303,"column":25},"end":{"line":303,"column":58}},"locations":[{"start":{"line":303,"column":25},"end":{"line":303,"column":58}}]},"26":{"type":"branch","line":304,"loc":{"start":{"line":304,"column":-1},"end":{"line":305,"column":5}},"locations":[{"start":{"line":304,"column":-1},"end":{"line":305,"column":5}}]},"27":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":2},"end":{"line":378,"column":3}},"locations":[{"start":{"line":339,"column":2},"end":{"line":378,"column":3}}]},"28":{"type":"branch","line":357,"loc":{"start":{"line":357,"column":49},"end":{"line":359,"column":7}},"locations":[{"start":{"line":357,"column":49},"end":{"line":359,"column":7}}]},"29":{"type":"branch","line":358,"loc":{"start":{"line":358,"column":105},"end":{"line":358,"column":120}},"locations":[{"start":{"line":358,"column":105},"end":{"line":358,"column":120}}]},"30":{"type":"branch","line":360,"loc":{"start":{"line":360,"column":-1},"end":{"line":373,"column":13}},"locations":[{"start":{"line":360,"column":-1},"end":{"line":373,"column":13}}]},"31":{"type":"branch","line":373,"loc":{"start":{"line":373,"column":6},"end":{"line":377,"column":5}},"locations":[{"start":{"line":373,"column":6},"end":{"line":377,"column":5}}]},"32":{"type":"branch","line":375,"loc":{"start":{"line":375,"column":25},"end":{"line":375,"column":53}},"locations":[{"start":{"line":375,"column":25},"end":{"line":375,"column":53}}]},"33":{"type":"branch","line":376,"loc":{"start":{"line":376,"column":-1},"end":{"line":377,"column":5}},"locations":[{"start":{"line":376,"column":-1},"end":{"line":377,"column":5}}]},"34":{"type":"branch","line":383,"loc":{"start":{"line":383,"column":2},"end":{"line":391,"column":3}},"locations":[{"start":{"line":383,"column":2},"end":{"line":391,"column":3}}]},"35":{"type":"branch","line":399,"loc":{"start":{"line":399,"column":2},"end":{"line":405,"column":3}},"locations":[{"start":{"line":399,"column":2},"end":{"line":405,"column":3}}]},"36":{"type":"branch","line":400,"loc":{"start":{"line":400,"column":56},"end":{"line":400,"column":70}},"locations":[{"start":{"line":400,"column":56},"end":{"line":400,"column":70}}]},"37":{"type":"branch","line":402,"loc":{"start":{"line":402,"column":29},"end":{"line":404,"column":5}},"locations":[{"start":{"line":402,"column":29},"end":{"line":404,"column":5}}]}},"b":{"0":[55],"1":[55],"2":[0],"3":[60],"4":[4],"5":[55],"6":[55],"7":[4],"8":[0],"9":[60],"10":[0],"11":[57],"12":[54],"13":[0],"14":[54],"15":[6],"16":[4],"17":[0],"18":[0],"19":[7],"20":[0],"21":[5],"22":[0],"23":[0],"24":[3],"25":[2],"26":[2],"27":[7],"28":[3],"29":[0],"30":[4],"31":[3],"32":[2],"33":[2],"34":[120],"35":[194],"36":[0],"37":[194]},"fnMap":{"0":{"name":"Circuit","decl":{"start":{"line":66,"column":2},"end":{"line":71,"column":3}},"loc":{"start":{"line":66,"column":2},"end":{"line":71,"column":3}},"line":66},"1":{"name":"isStarted","decl":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"line":73},"2":{"name":"start","decl":{"start":{"line":77,"column":2},"end":{"line":108,"column":3}},"loc":{"start":{"line":77,"column":2},"end":{"line":108,"column":3}},"line":77},"3":{"name":"stop","decl":{"start":{"line":110,"column":2},"end":{"line":114,"column":3}},"loc":{"start":{"line":110,"column":2},"end":{"line":114,"column":3}},"line":110},"4":{"name":"hopEnabled","decl":{"start":{"line":116,"column":2},"end":{"line":118,"column":3}},"loc":{"start":{"line":116,"column":2},"end":{"line":118,"column":3}},"line":116},"5":{"name":"hopActive","decl":{"start":{"line":120,"column":2},"end":{"line":122,"column":3}},"loc":{"start":{"line":120,"column":2},"end":{"line":122,"column":3}},"line":120},"6":{"name":"getPeerConnection","decl":{"start":{"line":132,"column":2},"end":{"line":134,"column":3}},"loc":{"start":{"line":132,"column":2},"end":{"line":134,"column":3}},"line":132},"7":{"name":"_onProtocolV1","decl":{"start":{"line":136,"column":2},"end":{"line":176,"column":3}},"loc":{"start":{"line":136,"column":2},"end":{"line":176,"column":3}},"line":136},"8":{"name":"_onV2ProtocolHop","decl":{"start":{"line":178,"column":2},"end":{"line":214,"column":3}},"loc":{"start":{"line":178,"column":2},"end":{"line":214,"column":3}},"line":178},"9":{"name":"_onV2ProtocolStop","decl":{"start":{"line":216,"column":2},"end":{"line":243,"column":3}},"loc":{"start":{"line":216,"column":2},"end":{"line":243,"column":3}},"line":216},"10":{"name":"dial","decl":{"start":{"line":248,"column":2},"end":{"line":306,"column":3}},"loc":{"start":{"line":248,"column":2},"end":{"line":306,"column":3}},"line":248},"11":{"name":"connectV1","decl":{"start":{"line":308,"column":2},"end":{"line":337,"column":3}},"loc":{"start":{"line":308,"column":2},"end":{"line":337,"column":3}},"line":308},"12":{"name":"connectV2","decl":{"start":{"line":339,"column":2},"end":{"line":378,"column":3}},"loc":{"start":{"line":339,"column":2},"end":{"line":378,"column":3}},"line":339},"13":{"name":"createListener","decl":{"start":{"line":383,"column":2},"end":{"line":391,"column":3}},"loc":{"start":{"line":383,"column":2},"end":{"line":391,"column":3}},"line":383},"14":{"name":"filter","decl":{"start":{"line":399,"column":2},"end":{"line":405,"column":3}},"loc":{"start":{"line":399,"column":2},"end":{"line":405,"column":3}},"line":399}},"f":{"0":55,"1":0,"2":55,"3":55,"4":0,"5":0,"6":4,"7":0,"8":60,"9":4,"10":7,"11":0,"12":7,"13":120,"14":194}} +,"/home/ckousik/projects/js-libp2p/src/circuit/utils.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":38}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":49}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":3}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":3}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":72}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":51}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":41}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":27}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":58}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":50}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":52,"8":52,"9":52,"10":52,"11":52,"12":1,"13":1,"14":1,"15":45,"16":45},"branchMap":{"0":{"type":"branch","line":7,"loc":{"start":{"line":7,"column":7},"end":{"line":12,"column":1}},"locations":[{"start":{"line":7,"column":7},"end":{"line":12,"column":1}}]},"1":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":1}},"locations":[{"start":{"line":15,"column":6},"end":{"line":17,"column":1}}]}},"b":{"0":[52],"1":[45]},"fnMap":{"0":{"name":"namespaceToCid","decl":{"start":{"line":7,"column":7},"end":{"line":12,"column":1}},"loc":{"start":{"line":7,"column":7},"end":{"line":12,"column":1}},"line":7},"1":{"name":"getExpiration","decl":{"start":{"line":15,"column":6},"end":{"line":17,"column":1}},"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":1}},"line":15}},"f":{"0":52,"1":45}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v1/hop.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/hop.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":53}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":49}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":58}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":45}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":52}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":16}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":23}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":1}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":77}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":82}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":110}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":9}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":11}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":11}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":13}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":25}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":55}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":30}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":45}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":25}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":90}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":54}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":37}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":71}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":23}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":121}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"hop","decl":{"start":{"line":20,"column":7},"end":{"line":45,"column":1}},"loc":{"start":{"line":20,"column":7},"end":{"line":45,"column":1}},"line":20}},"f":{"0":0}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v1/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":44}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":58}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":104}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":23}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":35}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":8}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":4}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":23}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"handleCircuitV1Error","decl":{"start":{"line":5,"column":6},"end":{"line":11,"column":1}},"loc":{"start":{"line":5,"column":6},"end":{"line":11,"column":1}},"line":5}},"f":{"0":0}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v1/stream-handler.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/stream-handler.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":58}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":45}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":53}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":39}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":5}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":22}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":5}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":16}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":32}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":20}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":1}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":30}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":33}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":64}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":50}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":47}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":48}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":24}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":39}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":88}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":28}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":17}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":66}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":41}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":28}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":50}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":42}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":49}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":41}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":16}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":38}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":29}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":42}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":64}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":3}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":60}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":11}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":28}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":5}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":75}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":27}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":19}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":16}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":3}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":21}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":12}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":29}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":44}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":20}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":6}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":3}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":1,"35":1,"36":1,"37":1,"38":1,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":0,"58":0,"59":0,"60":1,"61":1,"62":1,"63":1,"64":1,"65":0,"66":0,"67":0,"68":1,"69":1,"70":1,"71":1,"72":1,"73":0,"74":0,"75":0,"76":1,"77":1,"78":1,"79":1,"80":1,"81":0,"82":0,"83":0,"84":0,"85":0,"86":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"StreamHandlerV1","decl":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"line":28},"1":{"name":"read","decl":{"start":{"line":39,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":39,"column":2},"end":{"line":52,"column":3}},"line":39},"2":{"name":"write","decl":{"start":{"line":57,"column":2},"end":{"line":60,"column":3}},"loc":{"start":{"line":57,"column":2},"end":{"line":60,"column":3}},"line":57},"3":{"name":"rest","decl":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"line":65},"4":{"name":"end","decl":{"start":{"line":73,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":73,"column":2},"end":{"line":76,"column":3}},"line":73},"5":{"name":"close","decl":{"start":{"line":81,"column":2},"end":{"line":86,"column":3}},"loc":{"start":{"line":81,"column":2},"end":{"line":86,"column":3}},"line":81}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v1/pb/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/pb/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":31}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":29}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":29}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":1}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":31}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":52}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":52}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":60}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":60}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":46}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":44}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":58}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":50}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":54}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":54}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":54}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":62}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":62}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":46}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":43}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":23}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":32}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":32}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":36}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":36}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":29}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":28}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":31}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":33}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":33}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":33}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":37}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":37}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":29}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":27}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":3}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":27}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":32}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":48}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":3}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":20}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":16}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":18}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":22}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":23}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":21}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":12}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":13}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":15}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":15}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":25}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":32}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":44}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":3}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":18}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":23}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":25}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":27}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":45}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":27}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":55}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":20}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":11}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":89}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":24}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":27}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":11}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":34}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":44}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":26}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":28}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":13}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":11}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":47}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":22}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":11}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":32}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":28}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":34}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":21}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":11}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":71}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":36}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":39}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":32}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":21}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":39}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":21}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":21}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":46}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":21}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":22}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":40}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":21}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":13}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":11}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":20}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":10}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":7}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":19}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":5}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":54}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":45}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":5}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":71}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":45}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":3}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":33}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":51}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":25}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":61}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":45}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":18}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":9}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":31}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":21}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":55}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":9}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":34}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":22}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":60}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":32}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":12}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":9}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":34}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":22}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":60}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":12}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":9}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":31}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":57}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":9}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":45}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":20}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":9}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":30}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":27}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":69}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":34}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":37}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":30}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":19}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":65}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":19}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":19}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":85}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":19}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":19}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":85}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":19}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":19}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":67}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":19}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":20}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":38}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":19}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":11}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":9}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":0}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":18}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":8}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":0}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":17}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":3}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":0}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":60}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":51}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":3}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":0}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":77}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":51}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":3}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":0,"58":0,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":0,"78":0,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":1,"142":1,"143":0,"144":0,"145":1,"146":1,"147":0,"148":0,"149":1,"150":1,"151":1,"152":1,"153":1,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":1,"221":1,"222":0,"223":0,"224":1,"225":1,"226":0,"227":0,"228":1},"branchMap":{"0":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":0},"end":{"line":229,"column":1}},"locations":[{"start":{"line":17,"column":0},"end":{"line":229,"column":1}}]},"1":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":25},"end":{"line":56,"column":27}},"locations":[{"start":{"line":56,"column":25},"end":{"line":56,"column":27}}]},"2":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":23},"end":{"line":76,"column":25}},"locations":[{"start":{"line":76,"column":23},"end":{"line":76,"column":25}}]},"3":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":2},"end":{"line":35,"column":3}},"locations":[{"start":{"line":18,"column":2},"end":{"line":35,"column":3}}]},"4":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":2},"end":{"line":54,"column":3}},"locations":[{"start":{"line":37,"column":2},"end":{"line":54,"column":3}}]},"5":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":2},"end":{"line":60,"column":3}},"locations":[{"start":{"line":56,"column":2},"end":{"line":60,"column":3}}]},"6":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":2},"end":{"line":67,"column":3}},"locations":[{"start":{"line":62,"column":2},"end":{"line":67,"column":3}}]},"7":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":2},"end":{"line":74,"column":3}},"locations":[{"start":{"line":69,"column":2},"end":{"line":74,"column":3}}]},"8":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":80,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":80,"column":3}}]},"9":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":2},"end":{"line":150,"column":3}},"locations":[{"start":{"line":87,"column":2},"end":{"line":150,"column":3}}]}},"b":{"0":[1],"1":[0],"2":[0],"3":[1],"4":[1],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1]},"fnMap":{"0":{"name":"Status.codec","decl":{"start":{"line":57,"column":25},"end":{"line":59,"column":5}},"loc":{"start":{"line":57,"column":25},"end":{"line":59,"column":5}},"line":57},"1":{"name":"Type.codec","decl":{"start":{"line":77,"column":25},"end":{"line":79,"column":5}},"loc":{"start":{"line":77,"column":25},"end":{"line":79,"column":5}},"line":77},"2":{"name":"Peer.codec","decl":{"start":{"line":90,"column":25},"end":{"line":141,"column":5}},"loc":{"start":{"line":90,"column":25},"end":{"line":141,"column":5}},"line":90},"3":{"name":"Peer.encode","decl":{"start":{"line":143,"column":26},"end":{"line":145,"column":5}},"loc":{"start":{"line":143,"column":26},"end":{"line":145,"column":5}},"line":143},"4":{"name":"Peer.decode","decl":{"start":{"line":147,"column":26},"end":{"line":149,"column":5}},"loc":{"start":{"line":147,"column":26},"end":{"line":149,"column":5}},"line":147},"5":{"name":"CircuitRelay.codec","decl":{"start":{"line":154,"column":23},"end":{"line":220,"column":3}},"loc":{"start":{"line":154,"column":23},"end":{"line":220,"column":3}},"line":154},"6":{"name":"CircuitRelay.encode","decl":{"start":{"line":222,"column":24},"end":{"line":224,"column":3}},"loc":{"start":{"line":222,"column":24},"end":{"line":224,"column":3}},"line":222},"7":{"name":"CircuitRelay.decode","decl":{"start":{"line":226,"column":24},"end":{"line":228,"column":3}},"loc":{"start":{"line":226,"column":24},"end":{"line":228,"column":3}},"line":226}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/hop.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/hop.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":83}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":53}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":46}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":56}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":51}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":53}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":59}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":32}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":67}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":49}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":42}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":37}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":24}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":32}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":19}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":25}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":15}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":11}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":36}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":71}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":33}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":69}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":69}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":14}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":111}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":73}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":35}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":5}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":1}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":56}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":62}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":65}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":55}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":41}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":33}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":36}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":7}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":60}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":20}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":105}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":25}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":11}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":71}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":31}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":83}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":19}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":25}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":1}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":135}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":59}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":49}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":92}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":68}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":63}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":25}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":10}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":3}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":93}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":36}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":52}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":25}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":10}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":3}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":7}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":18}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":20}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":7}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":37}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":26}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":117}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":13}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":8}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":66}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":17}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":82}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":67}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":3}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":77}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":30}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":19}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":81}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":1}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":59}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":88}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":59}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":60}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":7}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":53}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":36}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":84}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":63}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":10}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":3}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":63}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":51}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":40}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":96}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":31}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":90}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":47}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":12}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":5}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":56}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":103}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":60}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":10}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":3}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":66}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":78}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":97}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":60}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":10}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":3}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":83}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":40}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":38}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":14}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":37}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":13}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":44}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":76}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":7}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":4}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":70}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":96}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":63}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":10}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":3}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":0}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":83}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":43}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":75}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":67}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":20}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":17}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":22}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":16}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":3}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":1}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":32}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":26}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":21}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":16}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":25}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":18}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":39}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":31}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":3}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":74}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":21}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":23}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":31}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":18}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":10}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":10}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":11}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":30}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":3}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":1}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":0}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":3}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":44}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":2}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":3}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":78}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":32}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":33}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":10}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":4}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":23}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":1}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":3}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":19}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":2}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":3}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":74}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":45}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":54,"33":54,"34":54,"35":54,"36":0,"37":0,"38":0,"39":0,"40":54,"41":54,"42":1,"43":1,"44":51,"45":51,"46":49,"47":49,"48":49,"49":49,"50":49,"51":49,"52":49,"53":51,"54":51,"55":4,"56":4,"57":4,"58":4,"59":45,"60":51,"61":45,"62":45,"63":51,"64":51,"65":51,"66":51,"67":1,"68":47,"69":47,"70":47,"71":47,"72":47,"73":47,"74":0,"75":0,"76":0,"77":0,"78":0,"79":47,"80":47,"81":47,"82":47,"83":0,"84":0,"85":0,"86":0,"87":47,"88":47,"89":47,"90":47,"91":47,"92":47,"93":47,"94":47,"95":47,"96":47,"97":47,"98":47,"99":0,"100":0,"101":0,"102":47,"103":47,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":7,"111":7,"112":7,"113":7,"114":7,"115":7,"116":7,"117":0,"118":0,"119":0,"120":0,"121":7,"122":7,"123":7,"124":7,"125":7,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":7,"134":7,"135":3,"136":3,"137":3,"138":3,"139":4,"140":4,"141":7,"142":0,"143":0,"144":0,"145":0,"146":4,"147":4,"148":4,"149":4,"150":4,"151":4,"152":4,"153":4,"154":4,"155":4,"156":4,"157":4,"158":4,"159":4,"160":7,"161":0,"162":0,"163":0,"164":0,"165":4,"166":4,"167":4,"168":4,"169":4,"170":4,"171":4,"172":4,"173":4,"174":4,"175":4,"176":4,"177":1,"178":47,"179":47,"180":47,"181":47,"182":47,"183":47,"184":47,"185":47,"186":47,"187":47,"188":47,"189":47,"190":47,"191":47,"192":47,"193":47,"194":47,"195":47,"196":47,"197":47,"198":47,"199":47,"200":47,"201":47,"202":1,"203":1,"204":1,"205":1,"206":1,"207":3,"208":3,"209":3,"210":3,"211":3,"212":3,"213":3,"214":1,"215":1,"216":1,"217":1,"218":1,"219":54,"220":54,"221":54},"branchMap":{"0":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":7},"end":{"line":42,"column":1}},"locations":[{"start":{"line":32,"column":7},"end":{"line":42,"column":1}}]},"1":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":4},"end":{"line":34,"column":69}},"locations":[{"start":{"line":34,"column":4},"end":{"line":34,"column":69}}]},"2":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":69}},"locations":[{"start":{"line":35,"column":4},"end":{"line":35,"column":69}}]},"3":{"type":"branch","line":36,"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}}]},"4":{"type":"branch","line":44,"loc":{"start":{"line":44,"column":7},"end":{"line":67,"column":1}},"locations":[{"start":{"line":44,"column":7},"end":{"line":67,"column":1}}]},"5":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":-1},"end":{"line":54,"column":59}},"locations":[{"start":{"line":47,"column":-1},"end":{"line":54,"column":59}}]},"6":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":59},"end":{"line":55,"column":11}},"locations":[{"start":{"line":54,"column":59},"end":{"line":55,"column":11}}]},"7":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":4},"end":{"line":59,"column":3}},"locations":[{"start":{"line":55,"column":4},"end":{"line":59,"column":3}}]},"8":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":-1},"end":{"line":61,"column":68}},"locations":[{"start":{"line":60,"column":-1},"end":{"line":61,"column":68}}]},"9":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":70},"end":{"line":63,"column":3}},"locations":[{"start":{"line":61,"column":70},"end":{"line":63,"column":3}}]},"10":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":-1},"end":{"line":64,"column":81}},"locations":[{"start":{"line":64,"column":-1},"end":{"line":64,"column":81}}]},"11":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"locations":[{"start":{"line":69,"column":0},"end":{"line":104,"column":1}}]},"12":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":16},"end":{"line":74,"column":78}},"locations":[{"start":{"line":74,"column":16},"end":{"line":74,"column":78}}]},"13":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":91},"end":{"line":79,"column":3}},"locations":[{"start":{"line":74,"column":91},"end":{"line":79,"column":3}}]},"14":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":35},"end":{"line":87,"column":3}},"locations":[{"start":{"line":83,"column":35},"end":{"line":87,"column":3}}]},"15":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":109},"end":{"line":95,"column":114}},"locations":[{"start":{"line":95,"column":109},"end":{"line":95,"column":114}}]},"16":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":4},"end":{"line":102,"column":3}},"locations":[{"start":{"line":99,"column":4},"end":{"line":102,"column":3}}]},"17":{"type":"branch","line":111,"loc":{"start":{"line":111,"column":0},"end":{"line":177,"column":1}},"locations":[{"start":{"line":111,"column":0},"end":{"line":177,"column":1}}]},"18":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":4},"end":{"line":121,"column":3}},"locations":[{"start":{"line":117,"column":4},"end":{"line":121,"column":3}}]},"19":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":9},"end":{"line":126,"column":23}},"locations":[{"start":{"line":126,"column":9},"end":{"line":126,"column":23}}]},"20":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":39},"end":{"line":133,"column":3}},"locations":[{"start":{"line":126,"column":39},"end":{"line":133,"column":3}}]},"21":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":55},"end":{"line":139,"column":3}},"locations":[{"start":{"line":135,"column":55},"end":{"line":139,"column":3}}]},"22":{"type":"branch","line":140,"loc":{"start":{"line":140,"column":-1},"end":{"line":142,"column":75}},"locations":[{"start":{"line":140,"column":-1},"end":{"line":142,"column":75}}]},"23":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":77},"end":{"line":146,"column":3}},"locations":[{"start":{"line":142,"column":77},"end":{"line":146,"column":3}}]},"24":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":-1},"end":{"line":161,"column":67}},"locations":[{"start":{"line":147,"column":-1},"end":{"line":161,"column":67}}]},"25":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":69},"end":{"line":165,"column":3}},"locations":[{"start":{"line":161,"column":69},"end":{"line":165,"column":3}}]},"26":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":-1},"end":{"line":177,"column":1}},"locations":[{"start":{"line":166,"column":-1},"end":{"line":177,"column":1}}]},"27":{"type":"branch","line":179,"loc":{"start":{"line":179,"column":0},"end":{"line":202,"column":1}},"locations":[{"start":{"line":179,"column":0},"end":{"line":202,"column":1}}]},"28":{"type":"branch","line":208,"loc":{"start":{"line":208,"column":0},"end":{"line":214,"column":1}},"locations":[{"start":{"line":208,"column":0},"end":{"line":214,"column":1}}]},"29":{"type":"branch","line":220,"loc":{"start":{"line":220,"column":0},"end":{"line":222,"column":1}},"locations":[{"start":{"line":220,"column":0},"end":{"line":222,"column":1}}]}},"b":{"0":[54],"1":[47],"2":[7],"3":[0],"4":[51],"5":[49],"6":[48],"7":[4],"8":[45],"9":[45],"10":[0],"11":[47],"12":[0],"13":[0],"14":[0],"15":[0],"16":[0],"17":[7],"18":[0],"19":[0],"20":[0],"21":[3],"22":[4],"23":[0],"24":[4],"25":[0],"26":[4],"27":[47],"28":[3],"29":[54]},"fnMap":{"0":{"name":"handleHopProtocol","decl":{"start":{"line":32,"column":7},"end":{"line":42,"column":1}},"loc":{"start":{"line":32,"column":7},"end":{"line":42,"column":1}},"line":32},"1":{"name":"reserve","decl":{"start":{"line":44,"column":7},"end":{"line":67,"column":1}},"loc":{"start":{"line":44,"column":7},"end":{"line":67,"column":1}},"line":44},"2":{"name":"handleReserve","decl":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"loc":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"line":69},"3":{"name":"handleConnect","decl":{"start":{"line":111,"column":0},"end":{"line":177,"column":1}},"loc":{"start":{"line":111,"column":0},"end":{"line":177,"column":1}},"line":111},"4":{"name":"makeReservation","decl":{"start":{"line":179,"column":0},"end":{"line":202,"column":1}},"loc":{"start":{"line":179,"column":0},"end":{"line":202,"column":1}},"line":179},"5":{"name":"writeErrorResponse","decl":{"start":{"line":208,"column":0},"end":{"line":214,"column":1}},"loc":{"start":{"line":208,"column":0},"end":{"line":214,"column":1}},"line":208},"6":{"name":"writeResponse","decl":{"start":{"line":220,"column":0},"end":{"line":222,"column":1}},"loc":{"start":{"line":220,"column":0},"end":{"line":222,"column":1}},"line":220}},"f":{"0":54,"1":51,"2":47,"3":7,"4":47,"5":3,"6":54}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}}},"s":{"0":1,"1":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-store.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-store.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":38}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":95}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":56}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":55}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":23}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":17}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":14}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":1}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":64}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":45}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":104}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":90}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":70}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":5}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":29}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":43}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":60}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":58}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":3}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":42}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":45}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":38}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":48}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":3}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":55,"15":1,"16":1,"17":47,"18":0,"19":0,"20":47,"21":47,"22":47,"23":47,"24":47,"25":1,"26":1,"27":0,"28":0,"29":1,"30":1,"31":7,"32":7,"33":1},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":2},"end":{"line":15,"column":3}},"locations":[{"start":{"line":14,"column":2},"end":{"line":15,"column":3}}]},"1":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"locations":[{"start":{"line":17,"column":2},"end":{"line":25,"column":3}}]},"2":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":44},"end":{"line":18,"column":87}},"locations":[{"start":{"line":18,"column":44},"end":{"line":18,"column":87}}]},"3":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":89},"end":{"line":20,"column":5}},"locations":[{"start":{"line":18,"column":89},"end":{"line":20,"column":5}}]},"4":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":3}}]}},"b":{"0":[55],"1":[47],"2":[0],"3":[0],"4":[7]},"fnMap":{"0":{"name":"ReservationStore","decl":{"start":{"line":14,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":15,"column":3}},"line":14},"1":{"name":"reserve","decl":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"loc":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"line":17},"2":{"name":"removeReservation","decl":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"line":27},"3":{"name":"hasReservation","decl":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"line":31}},"f":{"0":55,"1":47,"2":0,"3":7}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-voucher.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-voucher.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":54}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":50}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":14}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":20}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":1}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":57}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":31}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":37}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":72}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":22}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":20}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":32}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":14}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":38}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":34}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":32}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":42}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":6}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":26}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":55}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":18}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":40}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":42}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":47}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":15}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":47,"20":47,"21":47,"22":47,"23":1,"24":1,"25":47,"26":47,"27":47,"28":47,"29":47,"30":47,"31":1,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":1},"branchMap":{"0":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"locations":[{"start":{"line":19,"column":2},"end":{"line":23,"column":3}}]},"1":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":2},"end":{"line":31,"column":3}},"locations":[{"start":{"line":25,"column":2},"end":{"line":31,"column":3}}]}},"b":{"0":[47],"1":[47]},"fnMap":{"0":{"name":"ReservationVoucherRecord","decl":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"line":19},"1":{"name":"marshal","decl":{"start":{"line":25,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":25,"column":2},"end":{"line":31,"column":3}},"line":25},"2":{"name":"equals","decl":{"start":{"line":33,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":33,"column":2},"end":{"line":50,"column":3}},"line":33}},"f":{"0":47,"1":47,"2":0}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/stop.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/stop.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":51}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":62}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":39}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":53}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":54}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":60}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":43}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":24}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":22}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":35}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":13}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":10}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":15}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":23}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":72}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":53}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":7}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":54}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":36}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":92}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":30}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":91}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":68}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":41}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":36}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":23}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":4}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":29}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":1}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":30}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":22}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":1}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":3}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":25}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":2}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":29}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":13}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":9}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":17}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":66}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":76}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":55}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":50}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":14}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":7}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":61}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":36}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":83}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":25}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":25}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":20}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":38}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":67}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":31}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":58}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":23}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":18}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":4,"19":4,"20":4,"21":4,"22":4,"23":4,"24":4,"25":4,"26":4,"27":0,"28":0,"29":4,"30":4,"31":4,"32":4,"33":4,"34":4,"35":4,"36":4,"37":4,"38":4,"39":4,"40":4,"41":4,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":4,"54":4,"55":4,"56":4,"57":4,"58":4,"59":4,"60":4,"61":4,"62":4,"63":4,"64":0,"65":0,"66":4,"67":4,"68":0,"69":0,"70":0,"71":4,"72":4,"73":4,"74":4,"75":0,"76":0,"77":0,"78":0,"79":0},"branchMap":{"0":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":7},"end":{"line":42,"column":1}},"locations":[{"start":{"line":18,"column":7},"end":{"line":42,"column":1}}]},"1":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":3}},"locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":3}}]},"2":{"type":"branch","line":53,"loc":{"start":{"line":53,"column":7},"end":{"line":80,"column":1}},"locations":[{"start":{"line":53,"column":7},"end":{"line":80,"column":1}}]},"3":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":4},"end":{"line":66,"column":3}},"locations":[{"start":{"line":64,"column":4},"end":{"line":66,"column":3}}]},"4":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":24},"end":{"line":71,"column":3}},"locations":[{"start":{"line":68,"column":24},"end":{"line":71,"column":3}}]},"5":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":-1},"end":{"line":80,"column":1}},"locations":[{"start":{"line":76,"column":-1},"end":{"line":80,"column":1}}]}},"b":{"0":[4],"1":[0],"2":[4],"3":[0],"4":[0],"5":[0]},"fnMap":{"0":{"name":"handleStop","decl":{"start":{"line":18,"column":7},"end":{"line":42,"column":1}},"loc":{"start":{"line":18,"column":7},"end":{"line":42,"column":1}},"line":18},"1":{"name":"stop","decl":{"start":{"line":53,"column":7},"end":{"line":80,"column":1}},"loc":{"start":{"line":53,"column":7},"end":{"line":80,"column":1}},"line":53}},"f":{"0":4,"1":4}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/stream-handler.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/stream-handler.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":58}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":45}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":53}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":39}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":5}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":22}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":5}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":16}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":5}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":32}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":20}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":1}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":33}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":35}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":46}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":47}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":48}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":24}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":39}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":51}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":88}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":3}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":28}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":4}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":11}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":17}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":66}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":41}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":28}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":30}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":49}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":41}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":16}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":27}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":51}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":3}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":60}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":11}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":21}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":28}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":3}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":56}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":5}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":25}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":19}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":16}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":3}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":21}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":4}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":12}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":29}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":44}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":20}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":6}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":3}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":125,"27":125,"28":125,"29":125,"30":125,"31":125,"32":125,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":125,"41":125,"42":125,"43":116,"44":116,"45":5,"46":5,"47":5,"48":5,"49":5,"50":1,"51":1,"52":125,"53":125,"54":1,"55":1,"56":1,"57":1,"58":1,"59":35,"60":35,"61":35,"62":1,"63":1,"64":1,"65":1,"66":1,"67":0,"68":0,"69":0,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":19,"77":19,"78":0,"79":19,"80":19,"81":1},"branchMap":{"0":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":2},"end":{"line":33,"column":3}},"locations":[{"start":{"line":26,"column":2},"end":{"line":33,"column":3}}]},"1":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":2},"end":{"line":50,"column":3}},"locations":[{"start":{"line":40,"column":2},"end":{"line":50,"column":3}}]},"2":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":-1},"end":{"line":43,"column":27}},"locations":[{"start":{"line":43,"column":-1},"end":{"line":43,"column":27}}]},"3":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":27},"end":{"line":45,"column":5}},"locations":[{"start":{"line":43,"column":27},"end":{"line":45,"column":5}}]},"4":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":-1},"end":{"line":50,"column":3}},"locations":[{"start":{"line":46,"column":-1},"end":{"line":50,"column":3}}]},"5":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":2},"end":{"line":54,"column":3}},"locations":[{"start":{"line":52,"column":2},"end":{"line":54,"column":3}}]},"6":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":2},"end":{"line":62,"column":3}},"locations":[{"start":{"line":59,"column":2},"end":{"line":62,"column":3}}]},"7":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":81,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":81,"column":3}}]}},"b":{"0":[125],"1":[125],"2":[121],"3":[116],"4":[5],"5":[125],"6":[35],"7":[19]},"fnMap":{"0":{"name":"StreamHandlerV2","decl":{"start":{"line":26,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":26,"column":2},"end":{"line":33,"column":3}},"line":26},"1":{"name":"read","decl":{"start":{"line":40,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":40,"column":2},"end":{"line":50,"column":3}},"line":40},"2":{"name":"write","decl":{"start":{"line":52,"column":2},"end":{"line":54,"column":3}},"loc":{"start":{"line":52,"column":2},"end":{"line":54,"column":3}},"line":52},"3":{"name":"rest","decl":{"start":{"line":59,"column":2},"end":{"line":62,"column":3}},"loc":{"start":{"line":59,"column":2},"end":{"line":62,"column":3}},"line":59},"4":{"name":"end","decl":{"start":{"line":67,"column":2},"end":{"line":70,"column":3}},"loc":{"start":{"line":67,"column":2},"end":{"line":70,"column":3}},"line":67},"5":{"name":"close","decl":{"start":{"line":76,"column":2},"end":{"line":81,"column":3}},"loc":{"start":{"line":76,"column":2},"end":{"line":81,"column":3}},"line":76}},"f":{"0":125,"1":125,"2":125,"3":35,"4":0,"5":19}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/validation.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/validation.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":63}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":99}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":50}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":70}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":58}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":7}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":76}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":44}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":8}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":12}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":58}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":36}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":69}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":13}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":3}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":1}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":97}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":36}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":7}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":76}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":44}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":30}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":8}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":12}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":65}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":36}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":68}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":13}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":3}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":19}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":2}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":84}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":41}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":20}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":4}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":1}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":3}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":19}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":2}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":39}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":40}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":83}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":40}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":35}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":20}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":4}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":4,"6":0,"7":0,"8":0,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":0,"16":0,"17":4,"18":0,"19":0,"20":0,"21":4,"22":1,"23":1,"24":7,"25":7,"26":7,"27":7,"28":7,"29":7,"30":7,"31":7,"32":0,"33":0,"34":7,"35":0,"36":0,"37":0,"38":7,"39":1,"40":1,"41":1,"42":1,"43":1,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0},"branchMap":{"0":{"type":"branch","line":5,"loc":{"start":{"line":5,"column":6},"end":{"line":22,"column":1}},"locations":[{"start":{"line":5,"column":6},"end":{"line":22,"column":1}}]},"1":{"type":"branch","line":6,"loc":{"start":{"line":6,"column":49},"end":{"line":9,"column":3}},"locations":[{"start":{"line":6,"column":49},"end":{"line":9,"column":3}}]},"2":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":5},"end":{"line":17,"column":5}},"locations":[{"start":{"line":15,"column":5},"end":{"line":17,"column":5}}]},"3":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":4},"end":{"line":21,"column":3}},"locations":[{"start":{"line":18,"column":4},"end":{"line":21,"column":3}}]},"4":{"type":"branch","line":12,"loc":{"start":{"line":12,"column":33},"end":{"line":14,"column":7}},"locations":[{"start":{"line":12,"column":33},"end":{"line":14,"column":7}}]},"5":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":6},"end":{"line":39,"column":1}},"locations":[{"start":{"line":24,"column":6},"end":{"line":39,"column":1}}]},"6":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":5},"end":{"line":34,"column":5}},"locations":[{"start":{"line":32,"column":5},"end":{"line":34,"column":5}}]},"7":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":4},"end":{"line":38,"column":3}},"locations":[{"start":{"line":35,"column":4},"end":{"line":38,"column":3}}]},"8":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":33},"end":{"line":31,"column":7}},"locations":[{"start":{"line":29,"column":33},"end":{"line":31,"column":7}}]}},"b":{"0":[4],"1":[0],"2":[0],"3":[0],"4":[4],"5":[7],"6":[0],"7":[0],"8":[7]},"fnMap":{"0":{"name":"validateStopConnectRequest","decl":{"start":{"line":5,"column":6},"end":{"line":22,"column":1}},"loc":{"start":{"line":5,"column":6},"end":{"line":22,"column":1}},"line":5},"1":{"name":"validateHopConnectRequest","decl":{"start":{"line":24,"column":6},"end":{"line":39,"column":1}},"loc":{"start":{"line":24,"column":6},"end":{"line":39,"column":1}},"line":24},"2":{"name":"writeStopMessageResponse","decl":{"start":{"line":45,"column":0},"end":{"line":52,"column":1}},"loc":{"start":{"line":45,"column":0},"end":{"line":52,"column":1}},"line":45},"3":{"name":"writeHopMessageResponse","decl":{"start":{"line":60,"column":0},"end":{"line":67,"column":1}},"loc":{"start":{"line":60,"column":0},"end":{"line":67,"column":1}},"line":60}},"f":{"0":4,"1":7,"2":0,"3":0}} +,"/home/ckousik/projects/js-libp2p/src/circuit/v2/pb/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/pb/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":29}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":23}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":13}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":27}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":15}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":17}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":29}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":24}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":21}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":16}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":16}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":14}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":25}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":32}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":44}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":31}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":49}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":25}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":59}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":45}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":18}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":9}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":96}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":21}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":53}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":9}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":31}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":22}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":44}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":32}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":12}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":9}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":38}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":58}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":32}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":12}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":9}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":32}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":22}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":46}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":32}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":12}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":9}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":33}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":22}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":46}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":9}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":45}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":20}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":9}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":30}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":28}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":9}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":69}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":34}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":37}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":30}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":19}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":63}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":19}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":19}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":69}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":19}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":19}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":83}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":19}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":19}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":71}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":19}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":19}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":56}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":19}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":20}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":38}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":19}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":11}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":18}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":8}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":5}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":17}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":58}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":49}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":3}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":75}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":49}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":1}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":30}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":24}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":13}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":17}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":1}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":30}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":20}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":24}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":21}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":3}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":21}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":16}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":14}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":3}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":25}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":32}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":44}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":3}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":32}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":50}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":25}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":60}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":45}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":18}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":9}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":96}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":21}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":54}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":9}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":31}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":22}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":44}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":32}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":12}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":9}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":32}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":22}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":46}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":12}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":9}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":46}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":9}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":45}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":20}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":9}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":30}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":26}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":28}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":9}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":69}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":34}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":37}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":30}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":19}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":64}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":19}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":19}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":69}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":19}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":19}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":71}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":19}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":19}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":56}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":19}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":20}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":38}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":19}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":11}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":9}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":0}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":18}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":8}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":5}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":0}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":17}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":3}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":0}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":59}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":50}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":3}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":0}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":76}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":50}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":3}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":1}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":0}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":23}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":16}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":21}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":1}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":0}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":23}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":25}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":43}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":25}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":53}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":45}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":18}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":9}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":87}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":22}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":25}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":9}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":32}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":42}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":24}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":26}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":11}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":9}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":0}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":45}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":20}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":9}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":30}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":26}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":32}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":19}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":9}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":69}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":34}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":37}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":30}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":19}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":37}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":19}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":19}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":44}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":19}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":20}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":38}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":19}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":11}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":9}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":0}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":18}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":8}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":5}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":17}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":3}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":0}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":52}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":43}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":3}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":0}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":69}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":43}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":3}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":1}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":0}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":30}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":16}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":21}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":22}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":1}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":0}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":30}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":32}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":0}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":50}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":25}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":60}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":45}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":18}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":9}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":0}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":63}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":21}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":30}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":9}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":0}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":32}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":42}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":24}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":26}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":11}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":9}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":0}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":34}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":22}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":30}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":9}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":45}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":20}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":9}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":30}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":26}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":21}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":19}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":9}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":0}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":69}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":0}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":34}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":37}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":0}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":30}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":19}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":42}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":19}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":19}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":44}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":19}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":19}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":42}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":19}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":20}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":38}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":19}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":11}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":9}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":0}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":18}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":8}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":5}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":0}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":17}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":3}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":0}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":59}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":50}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":3}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":0}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":76}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":50}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":3}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":1}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":0}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":24}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":19}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":15}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":1}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":24}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":26}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":0}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":44}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":25}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":54}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":45}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":18}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":9}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":0}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":35}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":21}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":32}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":9}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":0}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":31}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":22}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":28}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":9}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":0}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":45}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":20}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":9}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":30}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":27}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":0}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":69}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":0}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":34}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":37}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":0}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":30}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":19}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":44}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":19}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":19}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":40}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":19}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":20}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":38}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":19}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":11}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":9}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":0}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":18}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":8}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":5}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":17}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":3}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":0}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":53}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":44}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":3}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":0}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":70}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":44}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":3}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":1}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":0}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":20}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":12}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":46}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":54}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":42}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":42}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":36}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":42}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":43}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":1}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":0}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":21}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":11}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":28}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":32}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":26}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":26}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":23}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":26}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":26}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":1}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":0}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":25}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":30}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":46}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":3}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":1}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":37}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":19}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":18}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":20}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":1}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":0}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":37}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":39}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":0}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":57}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":25}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":67}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":45}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":18}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":9}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":0}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":93}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":22}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":28}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":9}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":0}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":91}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":22}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":27}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":9}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":0}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":67}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":22}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":34}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":9}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":0}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":45}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":20}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":9}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":30}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":26}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":35}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":34}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":24}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":9}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":0}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":69}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":0}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":34}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":37}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":0}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":30}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":19}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":40}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":19}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":19}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":39}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":19}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":19}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":46}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":19}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":20}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":38}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":19}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":11}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":9}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":0}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":18}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":8}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":5}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":0}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":17}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":3}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":0}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":66}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":57}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":3}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":0}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":83}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":57}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":3}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":127,"33":127,"34":1,"35":1,"36":1,"37":1,"38":1,"39":229,"40":1,"41":116,"42":0,"43":0,"44":116,"45":116,"46":67,"47":67,"48":67,"49":116,"50":116,"51":7,"52":7,"53":7,"54":7,"55":7,"56":116,"57":116,"58":47,"59":47,"60":47,"61":47,"62":47,"63":116,"64":116,"65":0,"66":0,"67":0,"68":0,"69":0,"70":116,"71":116,"72":60,"73":60,"74":60,"75":116,"76":116,"77":0,"78":0,"79":1,"80":108,"81":108,"82":108,"83":108,"84":108,"85":108,"86":108,"87":166,"88":166,"89":166,"90":166,"91":60,"92":60,"93":166,"94":7,"95":7,"96":166,"97":45,"98":45,"99":166,"100":0,"101":0,"102":166,"103":53,"104":53,"105":166,"106":1,"107":1,"108":166,"109":166,"110":107,"111":107,"112":1,"113":1,"114":229,"115":229,"116":229,"117":1,"118":1,"119":116,"120":116,"121":1,"122":1,"123":113,"124":113,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":8,"148":8,"149":1,"150":1,"151":1,"152":1,"153":1,"154":16,"155":1,"156":8,"157":0,"158":0,"159":8,"160":8,"161":4,"162":4,"163":4,"164":8,"165":8,"166":4,"167":4,"168":4,"169":4,"170":4,"171":8,"172":8,"173":0,"174":0,"175":0,"176":0,"177":0,"178":8,"179":8,"180":4,"181":4,"182":4,"183":8,"184":8,"185":0,"186":0,"187":1,"188":8,"189":8,"190":8,"191":8,"192":8,"193":8,"194":8,"195":12,"196":12,"197":12,"198":12,"199":4,"200":4,"201":12,"202":4,"203":4,"204":12,"205":0,"206":0,"207":12,"208":4,"209":4,"210":12,"211":0,"212":0,"213":12,"214":12,"215":8,"216":8,"217":1,"218":1,"219":16,"220":16,"221":16,"222":1,"223":1,"224":8,"225":8,"226":1,"227":1,"228":8,"229":8,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":22,"242":1,"243":11,"244":11,"245":11,"246":11,"247":11,"248":11,"249":11,"250":11,"251":11,"252":11,"253":11,"254":11,"255":11,"256":11,"257":11,"258":11,"259":11,"260":11,"261":11,"262":1,"263":11,"264":11,"265":11,"266":11,"267":11,"268":11,"269":11,"270":11,"271":22,"272":22,"273":22,"274":22,"275":11,"276":11,"277":22,"278":11,"279":11,"280":22,"281":0,"282":0,"283":22,"284":22,"285":11,"286":11,"287":1,"288":1,"289":22,"290":22,"291":22,"292":1,"293":1,"294":0,"295":0,"296":1,"297":1,"298":0,"299":0,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":92,"313":1,"314":47,"315":47,"316":47,"317":47,"318":47,"319":47,"320":47,"321":47,"322":47,"323":47,"324":47,"325":47,"326":47,"327":47,"328":47,"329":47,"330":47,"331":47,"332":47,"333":47,"334":47,"335":47,"336":47,"337":47,"338":1,"339":45,"340":45,"341":45,"342":45,"343":45,"344":45,"345":45,"346":45,"347":135,"348":135,"349":135,"350":135,"351":45,"352":45,"353":135,"354":45,"355":45,"356":135,"357":45,"358":45,"359":135,"360":0,"361":0,"362":135,"363":135,"364":45,"365":45,"366":1,"367":1,"368":92,"369":92,"370":92,"371":1,"372":1,"373":0,"374":0,"375":1,"376":1,"377":0,"378":0,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1,"388":1,"389":1,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":1,"437":1,"438":0,"439":0,"440":1,"441":1,"442":0,"443":0,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1,"469":1,"470":121,"471":121,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":47,"484":1,"485":47,"486":0,"487":0,"488":47,"489":47,"490":47,"491":47,"492":47,"493":47,"494":47,"495":47,"496":47,"497":47,"498":47,"499":47,"500":47,"501":47,"502":47,"503":47,"504":47,"505":0,"506":0,"507":1,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":1,"537":1,"538":47,"539":47,"540":47,"541":1,"542":1,"543":47,"544":47,"545":1,"546":1,"547":0,"548":0,"549":1},"branchMap":{"0":{"type":"branch","line":473,"loc":{"start":{"line":473,"column":0},"end":{"line":473,"column":1}},"locations":[{"start":{"line":473,"column":0},"end":{"line":473,"column":1}}]},"1":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":0},"end":{"line":126,"column":1}},"locations":[{"start":{"line":18,"column":0},"end":{"line":126,"column":1}}]},"2":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":25}},"locations":[{"start":{"line":31,"column":23},"end":{"line":31,"column":25}}]},"3":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"locations":[{"start":{"line":19,"column":2},"end":{"line":23,"column":3}}]},"4":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":2},"end":{"line":29,"column":3}},"locations":[{"start":{"line":25,"column":2},"end":{"line":29,"column":3}}]},"5":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":35,"column":3}},"locations":[{"start":{"line":31,"column":2},"end":{"line":35,"column":3}}]},"6":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":25},"end":{"line":34,"column":5}},"locations":[{"start":{"line":32,"column":25},"end":{"line":34,"column":5}}]},"7":{"type":"branch","line":39,"loc":{"start":{"line":39,"column":23},"end":{"line":117,"column":3}},"locations":[{"start":{"line":39,"column":23},"end":{"line":117,"column":3}}]},"8":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":24},"end":{"line":114,"column":5}},"locations":[{"start":{"line":40,"column":24},"end":{"line":114,"column":5}}]},"9":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":35},"end":{"line":80,"column":7}},"locations":[{"start":{"line":41,"column":35},"end":{"line":80,"column":7}}]},"10":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":44},"end":{"line":44,"column":9}},"locations":[{"start":{"line":42,"column":44},"end":{"line":44,"column":9}}]},"11":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":95},"end":{"line":49,"column":9}},"locations":[{"start":{"line":46,"column":95},"end":{"line":49,"column":9}}]},"12":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":30},"end":{"line":56,"column":9}},"locations":[{"start":{"line":51,"column":30},"end":{"line":56,"column":9}}]},"13":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":37},"end":{"line":63,"column":9}},"locations":[{"start":{"line":58,"column":37},"end":{"line":63,"column":9}}]},"14":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":31},"end":{"line":70,"column":9}},"locations":[{"start":{"line":65,"column":31},"end":{"line":70,"column":9}}]},"15":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":32},"end":{"line":75,"column":9}},"locations":[{"start":{"line":72,"column":32},"end":{"line":75,"column":9}}]},"16":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":44},"end":{"line":79,"column":9}},"locations":[{"start":{"line":77,"column":44},"end":{"line":79,"column":9}}]},"17":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":9},"end":{"line":113,"column":7}},"locations":[{"start":{"line":80,"column":9},"end":{"line":113,"column":7}}]},"18":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":48},"end":{"line":85,"column":69}},"locations":[{"start":{"line":85,"column":48},"end":{"line":85,"column":69}}]},"19":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":33},"end":{"line":110,"column":9}},"locations":[{"start":{"line":87,"column":33},"end":{"line":110,"column":9}}]},"20":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":12},"end":{"line":93,"column":19}},"locations":[{"start":{"line":91,"column":12},"end":{"line":93,"column":19}}]},"21":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":12},"end":{"line":96,"column":19}},"locations":[{"start":{"line":94,"column":12},"end":{"line":96,"column":19}}]},"22":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":12},"end":{"line":99,"column":19}},"locations":[{"start":{"line":97,"column":12},"end":{"line":99,"column":19}}]},"23":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":12},"end":{"line":102,"column":19}},"locations":[{"start":{"line":100,"column":12},"end":{"line":102,"column":19}}]},"24":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":12},"end":{"line":105,"column":19}},"locations":[{"start":{"line":103,"column":12},"end":{"line":105,"column":19}}]},"25":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":12},"end":{"line":108,"column":19}},"locations":[{"start":{"line":106,"column":12},"end":{"line":108,"column":19}}]},"26":{"type":"branch","line":111,"loc":{"start":{"line":111,"column":-1},"end":{"line":113,"column":7}},"locations":[{"start":{"line":111,"column":-1},"end":{"line":113,"column":7}}]},"27":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":24},"end":{"line":121,"column":3}},"locations":[{"start":{"line":119,"column":24},"end":{"line":121,"column":3}}]},"28":{"type":"branch","line":123,"loc":{"start":{"line":123,"column":24},"end":{"line":125,"column":3}},"locations":[{"start":{"line":123,"column":24},"end":{"line":125,"column":3}}]},"29":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":0},"end":{"line":231,"column":1}},"locations":[{"start":{"line":135,"column":0},"end":{"line":231,"column":1}}]},"30":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":23},"end":{"line":146,"column":25}},"locations":[{"start":{"line":146,"column":23},"end":{"line":146,"column":25}}]},"31":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":2},"end":{"line":139,"column":3}},"locations":[{"start":{"line":136,"column":2},"end":{"line":139,"column":3}}]},"32":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":2},"end":{"line":144,"column":3}},"locations":[{"start":{"line":141,"column":2},"end":{"line":144,"column":3}}]},"33":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":2},"end":{"line":150,"column":3}},"locations":[{"start":{"line":146,"column":2},"end":{"line":150,"column":3}}]},"34":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":25},"end":{"line":149,"column":5}},"locations":[{"start":{"line":147,"column":25},"end":{"line":149,"column":5}}]},"35":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":23},"end":{"line":222,"column":3}},"locations":[{"start":{"line":154,"column":23},"end":{"line":222,"column":3}}]},"36":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":24},"end":{"line":219,"column":5}},"locations":[{"start":{"line":155,"column":24},"end":{"line":219,"column":5}}]},"37":{"type":"branch","line":156,"loc":{"start":{"line":156,"column":36},"end":{"line":188,"column":7}},"locations":[{"start":{"line":156,"column":36},"end":{"line":188,"column":7}}]},"38":{"type":"branch","line":157,"loc":{"start":{"line":157,"column":44},"end":{"line":159,"column":9}},"locations":[{"start":{"line":157,"column":44},"end":{"line":159,"column":9}}]},"39":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":95},"end":{"line":164,"column":9}},"locations":[{"start":{"line":161,"column":95},"end":{"line":164,"column":9}}]},"40":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":30},"end":{"line":171,"column":9}},"locations":[{"start":{"line":166,"column":30},"end":{"line":171,"column":9}}]},"41":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":31},"end":{"line":178,"column":9}},"locations":[{"start":{"line":173,"column":31},"end":{"line":178,"column":9}}]},"42":{"type":"branch","line":180,"loc":{"start":{"line":180,"column":32},"end":{"line":183,"column":9}},"locations":[{"start":{"line":180,"column":32},"end":{"line":183,"column":9}}]},"43":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":44},"end":{"line":187,"column":9}},"locations":[{"start":{"line":185,"column":44},"end":{"line":187,"column":9}}]},"44":{"type":"branch","line":188,"loc":{"start":{"line":188,"column":9},"end":{"line":218,"column":7}},"locations":[{"start":{"line":188,"column":9},"end":{"line":218,"column":7}}]},"45":{"type":"branch","line":193,"loc":{"start":{"line":193,"column":48},"end":{"line":193,"column":69}},"locations":[{"start":{"line":193,"column":48},"end":{"line":193,"column":69}}]},"46":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":33},"end":{"line":215,"column":9}},"locations":[{"start":{"line":195,"column":33},"end":{"line":215,"column":9}}]},"47":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":12},"end":{"line":201,"column":19}},"locations":[{"start":{"line":199,"column":12},"end":{"line":201,"column":19}}]},"48":{"type":"branch","line":202,"loc":{"start":{"line":202,"column":12},"end":{"line":204,"column":19}},"locations":[{"start":{"line":202,"column":12},"end":{"line":204,"column":19}}]},"49":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":12},"end":{"line":207,"column":19}},"locations":[{"start":{"line":205,"column":12},"end":{"line":207,"column":19}}]},"50":{"type":"branch","line":208,"loc":{"start":{"line":208,"column":12},"end":{"line":210,"column":19}},"locations":[{"start":{"line":208,"column":12},"end":{"line":210,"column":19}}]},"51":{"type":"branch","line":211,"loc":{"start":{"line":211,"column":12},"end":{"line":213,"column":19}},"locations":[{"start":{"line":211,"column":12},"end":{"line":213,"column":19}}]},"52":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":24},"end":{"line":226,"column":3}},"locations":[{"start":{"line":224,"column":24},"end":{"line":226,"column":3}}]},"53":{"type":"branch","line":228,"loc":{"start":{"line":228,"column":24},"end":{"line":230,"column":3}},"locations":[{"start":{"line":228,"column":24},"end":{"line":230,"column":3}}]},"54":{"type":"branch","line":238,"loc":{"start":{"line":238,"column":0},"end":{"line":301,"column":1}},"locations":[{"start":{"line":238,"column":0},"end":{"line":301,"column":1}}]},"55":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":23},"end":{"line":292,"column":3}},"locations":[{"start":{"line":241,"column":23},"end":{"line":292,"column":3}}]},"56":{"type":"branch","line":242,"loc":{"start":{"line":242,"column":24},"end":{"line":289,"column":5}},"locations":[{"start":{"line":242,"column":24},"end":{"line":289,"column":5}}]},"57":{"type":"branch","line":243,"loc":{"start":{"line":243,"column":29},"end":{"line":263,"column":7}},"locations":[{"start":{"line":243,"column":29},"end":{"line":263,"column":7}}]},"58":{"type":"branch","line":263,"loc":{"start":{"line":263,"column":9},"end":{"line":288,"column":7}},"locations":[{"start":{"line":263,"column":9},"end":{"line":288,"column":7}}]},"59":{"type":"branch","line":269,"loc":{"start":{"line":269,"column":35},"end":{"line":269,"column":47}},"locations":[{"start":{"line":269,"column":35},"end":{"line":269,"column":47}}]},"60":{"type":"branch","line":271,"loc":{"start":{"line":271,"column":33},"end":{"line":285,"column":9}},"locations":[{"start":{"line":271,"column":33},"end":{"line":285,"column":9}}]},"61":{"type":"branch","line":275,"loc":{"start":{"line":275,"column":12},"end":{"line":277,"column":19}},"locations":[{"start":{"line":275,"column":12},"end":{"line":277,"column":19}}]},"62":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":12},"end":{"line":280,"column":19}},"locations":[{"start":{"line":278,"column":12},"end":{"line":280,"column":19}}]},"63":{"type":"branch","line":281,"loc":{"start":{"line":281,"column":12},"end":{"line":283,"column":19}},"locations":[{"start":{"line":281,"column":12},"end":{"line":283,"column":19}}]},"64":{"type":"branch","line":309,"loc":{"start":{"line":309,"column":0},"end":{"line":380,"column":1}},"locations":[{"start":{"line":309,"column":0},"end":{"line":380,"column":1}}]},"65":{"type":"branch","line":312,"loc":{"start":{"line":312,"column":23},"end":{"line":371,"column":3}},"locations":[{"start":{"line":312,"column":23},"end":{"line":371,"column":3}}]},"66":{"type":"branch","line":313,"loc":{"start":{"line":313,"column":24},"end":{"line":368,"column":5}},"locations":[{"start":{"line":313,"column":24},"end":{"line":368,"column":5}}]},"67":{"type":"branch","line":314,"loc":{"start":{"line":314,"column":36},"end":{"line":339,"column":7}},"locations":[{"start":{"line":314,"column":36},"end":{"line":339,"column":7}}]},"68":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":9},"end":{"line":367,"column":7}},"locations":[{"start":{"line":339,"column":9},"end":{"line":367,"column":7}}]},"69":{"type":"branch","line":345,"loc":{"start":{"line":345,"column":35},"end":{"line":345,"column":47}},"locations":[{"start":{"line":345,"column":35},"end":{"line":345,"column":47}}]},"70":{"type":"branch","line":347,"loc":{"start":{"line":347,"column":33},"end":{"line":364,"column":9}},"locations":[{"start":{"line":347,"column":33},"end":{"line":364,"column":9}}]},"71":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":12},"end":{"line":353,"column":19}},"locations":[{"start":{"line":351,"column":12},"end":{"line":353,"column":19}}]},"72":{"type":"branch","line":354,"loc":{"start":{"line":354,"column":12},"end":{"line":356,"column":19}},"locations":[{"start":{"line":354,"column":12},"end":{"line":356,"column":19}}]},"73":{"type":"branch","line":357,"loc":{"start":{"line":357,"column":12},"end":{"line":359,"column":19}},"locations":[{"start":{"line":357,"column":12},"end":{"line":359,"column":19}}]},"74":{"type":"branch","line":360,"loc":{"start":{"line":360,"column":12},"end":{"line":362,"column":19}},"locations":[{"start":{"line":360,"column":12},"end":{"line":362,"column":19}}]},"75":{"type":"branch","line":387,"loc":{"start":{"line":387,"column":0},"end":{"line":445,"column":1}},"locations":[{"start":{"line":387,"column":0},"end":{"line":445,"column":1}}]},"76":{"type":"branch","line":447,"loc":{"start":{"line":447,"column":0},"end":{"line":456,"column":1}},"locations":[{"start":{"line":447,"column":0},"end":{"line":456,"column":1}}]},"77":{"type":"branch","line":458,"loc":{"start":{"line":458,"column":0},"end":{"line":467,"column":1}},"locations":[{"start":{"line":458,"column":0},"end":{"line":467,"column":1}}]},"78":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":0},"end":{"line":473,"column":1}},"locations":[{"start":{"line":469,"column":0},"end":{"line":473,"column":1}}]},"79":{"type":"branch","line":470,"loc":{"start":{"line":470,"column":23},"end":{"line":472,"column":3}},"locations":[{"start":{"line":470,"column":23},"end":{"line":472,"column":3}}]},"80":{"type":"branch","line":480,"loc":{"start":{"line":480,"column":0},"end":{"line":550,"column":1}},"locations":[{"start":{"line":480,"column":0},"end":{"line":550,"column":1}}]},"81":{"type":"branch","line":483,"loc":{"start":{"line":483,"column":23},"end":{"line":541,"column":3}},"locations":[{"start":{"line":483,"column":23},"end":{"line":541,"column":3}}]},"82":{"type":"branch","line":484,"loc":{"start":{"line":484,"column":24},"end":{"line":538,"column":5}},"locations":[{"start":{"line":484,"column":24},"end":{"line":538,"column":5}}]},"83":{"type":"branch","line":485,"loc":{"start":{"line":485,"column":43},"end":{"line":508,"column":7}},"locations":[{"start":{"line":485,"column":43},"end":{"line":508,"column":7}}]},"84":{"type":"branch","line":486,"loc":{"start":{"line":486,"column":44},"end":{"line":488,"column":9}},"locations":[{"start":{"line":486,"column":44},"end":{"line":488,"column":9}}]},"85":{"type":"branch","line":505,"loc":{"start":{"line":505,"column":44},"end":{"line":507,"column":9}},"locations":[{"start":{"line":505,"column":44},"end":{"line":507,"column":9}}]},"86":{"type":"branch","line":543,"loc":{"start":{"line":543,"column":24},"end":{"line":545,"column":3}},"locations":[{"start":{"line":543,"column":24},"end":{"line":545,"column":3}}]}},"b":{"0":[0],"1":[1],"2":[0],"3":[1],"4":[1],"5":[1],"6":[127],"7":[229],"8":[1],"9":[116],"10":[0],"11":[67],"12":[7],"13":[47],"14":[0],"15":[60],"16":[0],"17":[108],"18":[0],"19":[166],"20":[60],"21":[7],"22":[45],"23":[0],"24":[53],"25":[1],"26":[107],"27":[116],"28":[113],"29":[1],"30":[0],"31":[1],"32":[1],"33":[1],"34":[8],"35":[16],"36":[1],"37":[8],"38":[0],"39":[4],"40":[4],"41":[0],"42":[4],"43":[0],"44":[8],"45":[0],"46":[12],"47":[4],"48":[4],"49":[0],"50":[4],"51":[0],"52":[8],"53":[8],"54":[1],"55":[22],"56":[1],"57":[11],"58":[11],"59":[0],"60":[22],"61":[11],"62":[11],"63":[0],"64":[1],"65":[92],"66":[1],"67":[47],"68":[45],"69":[0],"70":[135],"71":[45],"72":[45],"73":[45],"74":[0],"75":[1],"76":[1],"77":[1],"78":[1],"79":[121],"80":[1],"81":[47],"82":[1],"83":[47],"84":[0],"85":[0],"86":[47]},"fnMap":{"0":{"name":"Type.codec","decl":{"start":{"line":32,"column":25},"end":{"line":34,"column":5}},"loc":{"start":{"line":32,"column":25},"end":{"line":34,"column":5}},"line":32},"1":{"name":"HopMessage.codec","decl":{"start":{"line":39,"column":23},"end":{"line":117,"column":3}},"loc":{"start":{"line":39,"column":23},"end":{"line":117,"column":3}},"line":39},"2":{"name":"obj.type","decl":{"start":{"line":41,"column":35},"end":{"line":80,"column":7}},"loc":{"start":{"line":41,"column":35},"end":{"line":80,"column":7}},"line":41},"3":{"name":"HopMessage.encode","decl":{"start":{"line":119,"column":24},"end":{"line":121,"column":3}},"loc":{"start":{"line":119,"column":24},"end":{"line":121,"column":3}},"line":119},"4":{"name":"HopMessage.decode","decl":{"start":{"line":123,"column":24},"end":{"line":125,"column":3}},"loc":{"start":{"line":123,"column":24},"end":{"line":125,"column":3}},"line":123},"5":{"name":"Type.codec","decl":{"start":{"line":147,"column":25},"end":{"line":149,"column":5}},"loc":{"start":{"line":147,"column":25},"end":{"line":149,"column":5}},"line":147},"6":{"name":"StopMessage.codec","decl":{"start":{"line":154,"column":23},"end":{"line":222,"column":3}},"loc":{"start":{"line":154,"column":23},"end":{"line":222,"column":3}},"line":154},"7":{"name":"obj.type","decl":{"start":{"line":156,"column":36},"end":{"line":188,"column":7}},"loc":{"start":{"line":156,"column":36},"end":{"line":188,"column":7}},"line":156},"8":{"name":"StopMessage.encode","decl":{"start":{"line":224,"column":24},"end":{"line":226,"column":3}},"loc":{"start":{"line":224,"column":24},"end":{"line":226,"column":3}},"line":224},"9":{"name":"StopMessage.decode","decl":{"start":{"line":228,"column":24},"end":{"line":230,"column":3}},"loc":{"start":{"line":228,"column":24},"end":{"line":230,"column":3}},"line":228},"10":{"name":"Peer.codec","decl":{"start":{"line":241,"column":23},"end":{"line":292,"column":3}},"loc":{"start":{"line":241,"column":23},"end":{"line":292,"column":3}},"line":241},"11":{"name":"obj.id","decl":{"start":{"line":243,"column":29},"end":{"line":263,"column":7}},"loc":{"start":{"line":243,"column":29},"end":{"line":263,"column":7}},"line":243},"12":{"name":"Peer.encode","decl":{"start":{"line":294,"column":24},"end":{"line":296,"column":3}},"loc":{"start":{"line":294,"column":24},"end":{"line":296,"column":3}},"line":294},"13":{"name":"Peer.decode","decl":{"start":{"line":298,"column":24},"end":{"line":300,"column":3}},"loc":{"start":{"line":298,"column":24},"end":{"line":300,"column":3}},"line":298},"14":{"name":"Reservation.codec","decl":{"start":{"line":312,"column":23},"end":{"line":371,"column":3}},"loc":{"start":{"line":312,"column":23},"end":{"line":371,"column":3}},"line":312},"15":{"name":"obj.expire","decl":{"start":{"line":314,"column":36},"end":{"line":339,"column":7}},"loc":{"start":{"line":314,"column":36},"end":{"line":339,"column":7}},"line":314},"16":{"name":"Reservation.encode","decl":{"start":{"line":373,"column":24},"end":{"line":375,"column":3}},"loc":{"start":{"line":373,"column":24},"end":{"line":375,"column":3}},"line":373},"17":{"name":"Reservation.decode","decl":{"start":{"line":377,"column":24},"end":{"line":379,"column":3}},"loc":{"start":{"line":377,"column":24},"end":{"line":379,"column":3}},"line":377},"18":{"name":"Limit.codec","decl":{"start":{"line":390,"column":23},"end":{"line":436,"column":3}},"loc":{"start":{"line":390,"column":23},"end":{"line":436,"column":3}},"line":390},"19":{"name":"Limit.encode","decl":{"start":{"line":438,"column":24},"end":{"line":440,"column":3}},"loc":{"start":{"line":438,"column":24},"end":{"line":440,"column":3}},"line":438},"20":{"name":"Limit.decode","decl":{"start":{"line":442,"column":24},"end":{"line":444,"column":3}},"loc":{"start":{"line":442,"column":24},"end":{"line":444,"column":3}},"line":442},"21":{"name":"Status.codec","decl":{"start":{"line":470,"column":23},"end":{"line":472,"column":3}},"loc":{"start":{"line":470,"column":23},"end":{"line":472,"column":3}},"line":470},"22":{"name":"ReservationVoucher.codec","decl":{"start":{"line":483,"column":23},"end":{"line":541,"column":3}},"loc":{"start":{"line":483,"column":23},"end":{"line":541,"column":3}},"line":483},"23":{"name":"obj.relay","decl":{"start":{"line":485,"column":43},"end":{"line":508,"column":7}},"loc":{"start":{"line":485,"column":43},"end":{"line":508,"column":7}},"line":485},"24":{"name":"ReservationVoucher.encode","decl":{"start":{"line":543,"column":24},"end":{"line":545,"column":3}},"loc":{"start":{"line":543,"column":24},"end":{"line":545,"column":3}},"line":543},"25":{"name":"ReservationVoucher.decode","decl":{"start":{"line":547,"column":24},"end":{"line":549,"column":3}},"loc":{"start":{"line":547,"column":24},"end":{"line":549,"column":3}},"line":547}},"f":{"0":127,"1":229,"2":116,"3":116,"4":113,"5":8,"6":16,"7":8,"8":8,"9":8,"10":22,"11":11,"12":0,"13":0,"14":92,"15":47,"16":0,"17":0,"18":0,"19":0,"20":0,"21":121,"22":47,"23":47,"24":47,"25":0}} +,"/home/ckousik/projects/js-libp2p/src/connection/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":56}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":75}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":53}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":86}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":55}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":39}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":54}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":26}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":23}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":20}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":77}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":28}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":1}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":3}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":49}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":73}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":51}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":27}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":28}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":19}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":36}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":38}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":5}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":23}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":4}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":23}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":60}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":95}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":58}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":46}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":54}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":46}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":27}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":51}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":75}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":79}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":84}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":32}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":32}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":17}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":14}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":18}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":31}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":23}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":33}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":18}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":25}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":3}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":31}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":23}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":19}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":15}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":37}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":18}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":29}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":3}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":5}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":45}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":91}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":39}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":95}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":38}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":83}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":36}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":29}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":60}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":38}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":17}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":3}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":5}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":51}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":5}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":30}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":37}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":46}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":5}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":29}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":3}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":25}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":18}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":55}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":12}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":30}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":66}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":9}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":42}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":19}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":20}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":27}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":24}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":23}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":25}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":0}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":41}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":29}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":1}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":69}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":33}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":84,"74":84,"75":84,"76":84,"77":84,"78":84,"79":84,"80":84,"81":84,"82":84,"83":84,"84":84,"85":84,"86":84,"87":84,"88":1,"89":1,"90":0,"91":0,"92":1,"93":1,"94":0,"95":0,"96":1,"97":1,"98":1,"99":1,"100":1,"101":461,"102":461,"103":1,"104":1,"105":1,"106":1,"107":1,"108":492,"109":206,"110":206,"111":286,"112":492,"113":20,"114":20,"115":266,"116":492,"117":3,"118":3,"119":266,"120":266,"121":153,"122":153,"123":153,"124":153,"125":153,"126":1,"127":1,"128":1,"129":1,"130":1,"131":161,"132":161,"133":1,"134":1,"135":1,"136":1,"137":1,"138":487,"139":487,"140":1,"141":1,"142":1,"143":1,"144":1,"145":86,"146":2,"147":2,"148":84,"149":84,"150":84,"151":84,"152":84,"153":84,"154":86,"155":0,"156":0,"157":84,"158":84,"159":84,"160":84,"161":84,"162":84,"163":84,"164":84,"165":84,"166":1,"167":1,"168":1,"169":84,"170":84},"branchMap":{"0":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":2},"end":{"line":88,"column":3}},"locations":[{"start":{"line":73,"column":2},"end":{"line":88,"column":3}}]},"1":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"locations":[{"start":{"line":101,"column":2},"end":{"line":103,"column":3}}]},"2":{"type":"branch","line":108,"loc":{"start":{"line":108,"column":2},"end":{"line":126,"column":3}},"locations":[{"start":{"line":108,"column":2},"end":{"line":126,"column":3}}]},"3":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":38},"end":{"line":111,"column":5}},"locations":[{"start":{"line":109,"column":38},"end":{"line":111,"column":5}}]},"4":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":-1},"end":{"line":113,"column":37}},"locations":[{"start":{"line":112,"column":-1},"end":{"line":113,"column":37}}]},"5":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":37},"end":{"line":115,"column":5}},"locations":[{"start":{"line":113,"column":37},"end":{"line":115,"column":5}}]},"6":{"type":"branch","line":116,"loc":{"start":{"line":116,"column":-1},"end":{"line":117,"column":35}},"locations":[{"start":{"line":116,"column":-1},"end":{"line":117,"column":35}}]},"7":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":35},"end":{"line":119,"column":5}},"locations":[{"start":{"line":117,"column":35},"end":{"line":119,"column":5}}]},"8":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":-1},"end":{"line":121,"column":60}},"locations":[{"start":{"line":120,"column":-1},"end":{"line":121,"column":60}}]},"9":{"type":"branch","line":122,"loc":{"start":{"line":122,"column":-1},"end":{"line":126,"column":3}},"locations":[{"start":{"line":122,"column":-1},"end":{"line":126,"column":3}}]},"10":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":2},"end":{"line":133,"column":3}},"locations":[{"start":{"line":131,"column":2},"end":{"line":133,"column":3}}]},"11":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":2},"end":{"line":140,"column":3}},"locations":[{"start":{"line":138,"column":2},"end":{"line":140,"column":3}}]},"12":{"type":"branch","line":145,"loc":{"start":{"line":145,"column":2},"end":{"line":166,"column":3}},"locations":[{"start":{"line":145,"column":2},"end":{"line":166,"column":3}}]},"13":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":35},"end":{"line":146,"column":52}},"locations":[{"start":{"line":146,"column":35},"end":{"line":146,"column":52}}]},"14":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":54},"end":{"line":148,"column":5}},"locations":[{"start":{"line":146,"column":54},"end":{"line":148,"column":5}}]},"15":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":-1},"end":{"line":155,"column":13}},"locations":[{"start":{"line":149,"column":-1},"end":{"line":155,"column":13}}]},"16":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":6},"end":{"line":157,"column":5}},"locations":[{"start":{"line":155,"column":6},"end":{"line":157,"column":5}}]},"17":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":-1},"end":{"line":166,"column":3}},"locations":[{"start":{"line":158,"column":-1},"end":{"line":166,"column":3}}]},"18":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":27},"end":{"line":154,"column":41}},"locations":[{"start":{"line":154,"column":27},"end":{"line":154,"column":41}}]},"19":{"type":"branch","line":169,"loc":{"start":{"line":169,"column":6},"end":{"line":171,"column":1}},"locations":[{"start":{"line":169,"column":6},"end":{"line":171,"column":1}}]}},"b":{"0":[84],"1":[461],"2":[492],"3":[206],"4":[286],"5":[20],"6":[266],"7":[3],"8":[266],"9":[153],"10":[161],"11":[487],"12":[86],"13":[84],"14":[2],"15":[84],"16":[0],"17":[84],"18":[151],"19":[84]},"fnMap":{"0":{"name":"ConnectionImpl","decl":{"start":{"line":73,"column":2},"end":{"line":88,"column":3}},"loc":{"start":{"line":73,"column":2},"end":{"line":88,"column":3}},"line":73},"1":{"name":"get streams","decl":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"line":101},"2":{"name":"newStream","decl":{"start":{"line":108,"column":2},"end":{"line":126,"column":3}},"loc":{"start":{"line":108,"column":2},"end":{"line":126,"column":3}},"line":108},"3":{"name":"addStream","decl":{"start":{"line":131,"column":2},"end":{"line":133,"column":3}},"loc":{"start":{"line":131,"column":2},"end":{"line":133,"column":3}},"line":131},"4":{"name":"removeStream","decl":{"start":{"line":138,"column":2},"end":{"line":140,"column":3}},"loc":{"start":{"line":138,"column":2},"end":{"line":140,"column":3}},"line":138},"5":{"name":"close","decl":{"start":{"line":145,"column":2},"end":{"line":166,"column":3}},"loc":{"start":{"line":145,"column":2},"end":{"line":166,"column":3}},"line":145},"6":{"name":"createConnection","decl":{"start":{"line":169,"column":6},"end":{"line":171,"column":1}},"loc":{"start":{"line":169,"column":6},"end":{"line":171,"column":1}},"line":169}},"f":{"0":84,"1":461,"2":492,"3":161,"4":487,"5":86,"6":84}} +,"/home/ckousik/projects/js-libp2p/src/connection-manager/auto-dialler.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/auto-dialler.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":47}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":29}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":30}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":30}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":26}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":61}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":55}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":77}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":61}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":60}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":34}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":74}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":19}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":5}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":55}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":25}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":105}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":27}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":1}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":40}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":16}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":38}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":50}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":20}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":25}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":47}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":52}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":53}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":47}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":5}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":73}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":74}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":75}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":74}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":32}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":85}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":24}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":46}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":36}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":16}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":23}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":27}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":5}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":18}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":32}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":12}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":23}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":40}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":44}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":6}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":18}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":27}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":17}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":32}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":24}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":12}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":24}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":39}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":34}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":18}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":3}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":22}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":39}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":34}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":5}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":54}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":37}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":86}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":83}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":12}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":5}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":70}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":58}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":29}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":26}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":56}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":84}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":42}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":54}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":18}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":70}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":18}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":9}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":17}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":9}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":41}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":138}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":57}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":26}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":14}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":7}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":83}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":64}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":13}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":73}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":28}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":70}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":9}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":7}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":5}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":37}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":24}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":12}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":81}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":3}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":55,"57":55,"58":55,"59":55,"60":55,"61":55,"62":55,"63":1,"64":1,"65":0,"66":0,"67":1,"68":1,"69":1,"70":1,"71":1,"72":55,"73":55,"74":55,"75":55,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":1,"86":1,"87":1,"88":1,"89":1,"90":55,"91":55,"92":55,"93":55,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":1,"104":1,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":1},"branchMap":{"0":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"locations":[{"start":{"line":56,"column":2},"end":{"line":63,"column":3}}]},"1":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":2},"end":{"line":85,"column":3}},"locations":[{"start":{"line":72,"column":2},"end":{"line":85,"column":3}}]},"2":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":-1},"end":{"line":85,"column":3}},"locations":[{"start":{"line":77,"column":-1},"end":{"line":85,"column":3}}]},"3":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":2},"end":{"line":103,"column":3}},"locations":[{"start":{"line":90,"column":2},"end":{"line":103,"column":3}}]},"4":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":-1},"end":{"line":103,"column":3}},"locations":[{"start":{"line":95,"column":-1},"end":{"line":103,"column":3}}]}},"b":{"0":[55],"1":[55],"2":[0],"3":[55],"4":[0]},"fnMap":{"0":{"name":"AutoDialler","decl":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"line":56},"1":{"name":"isStarted","decl":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"loc":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"line":65},"2":{"name":"start","decl":{"start":{"line":72,"column":2},"end":{"line":85,"column":3}},"loc":{"start":{"line":72,"column":2},"end":{"line":85,"column":3}},"line":72},"3":{"name":"stop","decl":{"start":{"line":90,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":90,"column":2},"end":{"line":103,"column":3}},"line":90},"4":{"name":"_autoDial","decl":{"start":{"line":105,"column":2},"end":{"line":161,"column":3}},"loc":{"start":{"line":105,"column":2},"end":{"line":161,"column":3}},"line":105}},"f":{"0":55,"1":0,"2":55,"3":55,"4":0}} +,"/home/ckousik/projects/js-libp2p/src/connection-manager/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":68}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":54}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":69}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":61}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":36}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":60}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":83}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":110}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":61}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":76}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":85}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":50}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":60}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":62}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":57}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":56}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":59}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":40}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":47}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":42}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":119}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":24}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":114}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":24}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":5}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":158}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":28}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":5}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":167}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":5}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":23}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":87}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":20}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":85}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":25}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":26}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":61}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":31}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":5}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":35}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":27}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":53}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":5}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":25}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":73}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":73}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":22}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":80}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":68}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":31}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":5}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":44}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":26}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":44}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":5}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":38}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":64}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":70}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":34}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":80}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":85}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":18}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":75}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":38}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":5}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":17}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":73}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":40}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":37}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":81}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":86}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":5}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":40}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":1}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":58}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":27}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":20}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":30}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":21}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":26}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":32}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":35}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":1}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":39}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":53}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":16}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":19}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":20}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":22}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":16}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":1}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":59}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":3}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":46}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":3}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":125}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":65}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":46}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":57}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":26}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":50}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":50}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":56}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":38}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":37}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":36}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":66}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":44}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":95}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":11}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":82}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":62}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":133}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":5}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":0}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":33}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":0}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":7}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":34}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":7}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":32}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":0}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":24}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":110}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":48}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":50}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":45}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":8}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":5}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":9}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":44}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":39}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":14}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":46}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":52}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":0}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":92}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":48}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":0}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":60}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":58}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":0}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":63}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":51}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":17}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":6}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":0}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":39}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":3}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":0}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":16}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":23}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":3}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":0}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":72}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":61}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":5}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":18}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":41}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":91}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":24}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":24}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":21}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":21}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":9}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":56}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":37}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":52}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":30}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":20}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":31}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":13}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":11}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":9}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":21}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":7}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":6}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":0}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":49}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":83}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":24}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":24}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":49}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":56}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":37}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":48}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":94}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":0}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":50}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":13}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":11}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":9}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":21}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":7}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":6}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":52}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":127}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":24}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":24}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":55}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":56}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":37}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":54}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":48}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":94}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":52}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":13}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":0}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":70}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":63}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":46}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":13}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":11}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":9}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":0}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":49}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":0}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":68}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":47}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":55}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":42}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":9}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":21}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":7}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":6}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":0}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":22}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":32}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":62}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":73}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":23}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":18}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":3}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":0}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":23}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":75}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":81}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":0}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":54}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":26}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":25}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":43}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":0}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":67}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":71}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":85}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":0}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":29}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":40}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":11}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":9}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":0}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":48}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":93}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":0}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":13}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":33}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":77}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":18}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":26}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":44}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":45}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":61}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":14}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":29}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":30}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":16}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":12}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":9}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":8}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":21}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":22}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":8}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":22}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":48}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":8}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":3}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":0}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":23}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":66}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":44}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":78}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":84}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":3}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":0}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":5}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":33}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":5}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":17}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":76}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":31}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":0}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":24}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":23}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":18}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":3}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":0}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":5}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":30}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":5}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":19}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":43}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":42}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":61}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":48}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":33}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":15}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":36}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":25}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":26}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":11}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":13}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":7}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":5}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":0}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":47}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":28}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":28}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":3}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":0}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":44}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":44}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":20}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":6}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":3}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":5}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":66}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":5}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":51}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":38}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":0}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":24}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":77}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":30}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":12}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":5}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":0}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":40}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":39}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":55}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":0}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":30}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":34}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":12}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":51}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":5}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":0}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":35}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":75}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":5}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":0}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":55}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":61}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":0}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":72}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":91}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":3}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":0}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":5}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":41}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":5}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":47}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":38}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":0}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":24}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":77}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":12}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":5}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":0}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":51}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":49}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":0}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":54}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":73}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":46}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":36}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":37}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":96}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":5}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":3}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":0}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":50}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":25}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":58}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":5}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":0}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":32}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":0}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":48}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":29}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":5}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":0}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":16}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":3}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":0}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":113}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":22}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":0}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":38}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":32}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":48}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":45}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":22}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":12}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":118}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":5}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":0}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":29}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":59}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":0}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":41}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":53}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":0}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":35}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":5}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":0}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":56}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":0}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":34}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":65}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":47}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":0}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":11}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":31}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":61}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":16}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":5}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":0}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":9}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":86}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":67}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":36}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":28}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":64}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":7}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":0}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":78}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":79}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":19}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":35}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":0}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":43}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":40}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":34}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":9}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":7}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":0}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":31}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":40}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":7}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":0}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":23}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":15}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":38}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":33}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":7}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":5}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":3}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":0}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":58}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":69}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":0}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":22}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":43}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":39}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":8}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":5}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":3}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":0}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":5}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":41}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":5}},"550":{"start":{"line":551,"column":0},"end":{"line":551,"column":41}},"551":{"start":{"line":552,"column":0},"end":{"line":552,"column":28}},"552":{"start":{"line":553,"column":0},"end":{"line":553,"column":101}},"553":{"start":{"line":554,"column":0},"end":{"line":554,"column":5}},"554":{"start":{"line":555,"column":0},"end":{"line":555,"column":0}},"555":{"start":{"line":556,"column":0},"end":{"line":556,"column":32}},"556":{"start":{"line":557,"column":0},"end":{"line":557,"column":48}},"557":{"start":{"line":558,"column":0},"end":{"line":558,"column":0}},"558":{"start":{"line":559,"column":0},"end":{"line":559,"column":34}},"559":{"start":{"line":560,"column":0},"end":{"line":560,"column":30}},"560":{"start":{"line":561,"column":0},"end":{"line":561,"column":85}},"561":{"start":{"line":562,"column":0},"end":{"line":562,"column":5}},"562":{"start":{"line":563,"column":0},"end":{"line":563,"column":0}},"563":{"start":{"line":564,"column":0},"end":{"line":564,"column":13}},"564":{"start":{"line":565,"column":0},"end":{"line":565,"column":3}},"565":{"start":{"line":566,"column":0},"end":{"line":566,"column":0}},"566":{"start":{"line":567,"column":0},"end":{"line":567,"column":5}},"567":{"start":{"line":568,"column":0},"end":{"line":568,"column":56}},"568":{"start":{"line":569,"column":0},"end":{"line":569,"column":5}},"569":{"start":{"line":570,"column":0},"end":{"line":570,"column":55}},"570":{"start":{"line":571,"column":0},"end":{"line":571,"column":35}},"571":{"start":{"line":572,"column":0},"end":{"line":572,"column":0}},"572":{"start":{"line":573,"column":0},"end":{"line":573,"column":62}},"573":{"start":{"line":574,"column":0},"end":{"line":574,"column":21}},"574":{"start":{"line":575,"column":0},"end":{"line":575,"column":22}},"575":{"start":{"line":576,"column":0},"end":{"line":576,"column":8}},"576":{"start":{"line":577,"column":0},"end":{"line":577,"column":3}},"577":{"start":{"line":578,"column":0},"end":{"line":578,"column":0}},"578":{"start":{"line":579,"column":0},"end":{"line":579,"column":5}},"579":{"start":{"line":580,"column":0},"end":{"line":580,"column":78}},"580":{"start":{"line":581,"column":0},"end":{"line":581,"column":5}},"581":{"start":{"line":582,"column":0},"end":{"line":582,"column":96}},"582":{"start":{"line":583,"column":0},"end":{"line":583,"column":33}},"583":{"start":{"line":584,"column":0},"end":{"line":584,"column":0}},"584":{"start":{"line":585,"column":0},"end":{"line":585,"column":24}},"585":{"start":{"line":586,"column":0},"end":{"line":586,"column":69}},"586":{"start":{"line":587,"column":0},"end":{"line":587,"column":12}},"587":{"start":{"line":588,"column":0},"end":{"line":588,"column":5}},"588":{"start":{"line":589,"column":0},"end":{"line":589,"column":0}},"589":{"start":{"line":590,"column":0},"end":{"line":590,"column":82}},"590":{"start":{"line":591,"column":0},"end":{"line":591,"column":24}},"591":{"start":{"line":592,"column":0},"end":{"line":592,"column":121}},"592":{"start":{"line":593,"column":0},"end":{"line":593,"column":43}},"593":{"start":{"line":594,"column":0},"end":{"line":594,"column":5}},"594":{"start":{"line":595,"column":0},"end":{"line":595,"column":3}},"595":{"start":{"line":596,"column":0},"end":{"line":596,"column":0}},"596":{"start":{"line":597,"column":0},"end":{"line":597,"column":5}},"597":{"start":{"line":598,"column":0},"end":{"line":598,"column":81}},"598":{"start":{"line":599,"column":0},"end":{"line":599,"column":33}},"599":{"start":{"line":600,"column":0},"end":{"line":600,"column":5}},"600":{"start":{"line":601,"column":0},"end":{"line":601,"column":45}},"601":{"start":{"line":602,"column":0},"end":{"line":602,"column":45}},"602":{"start":{"line":603,"column":0},"end":{"line":603,"column":44}},"603":{"start":{"line":604,"column":0},"end":{"line":604,"column":0}},"604":{"start":{"line":605,"column":0},"end":{"line":605,"column":27}},"605":{"start":{"line":606,"column":0},"end":{"line":606,"column":43}},"606":{"start":{"line":607,"column":0},"end":{"line":607,"column":46}},"607":{"start":{"line":608,"column":0},"end":{"line":608,"column":0}},"608":{"start":{"line":609,"column":0},"end":{"line":609,"column":39}},"609":{"start":{"line":610,"column":0},"end":{"line":610,"column":16}},"610":{"start":{"line":611,"column":0},"end":{"line":611,"column":7}},"611":{"start":{"line":612,"column":0},"end":{"line":612,"column":0}},"612":{"start":{"line":613,"column":0},"end":{"line":613,"column":70}},"613":{"start":{"line":614,"column":0},"end":{"line":614,"column":0}},"614":{"start":{"line":615,"column":0},"end":{"line":615,"column":27}},"615":{"start":{"line":616,"column":0},"end":{"line":616,"column":61}},"616":{"start":{"line":617,"column":0},"end":{"line":617,"column":31}},"617":{"start":{"line":618,"column":0},"end":{"line":618,"column":12}},"618":{"start":{"line":619,"column":0},"end":{"line":619,"column":5}},"619":{"start":{"line":620,"column":0},"end":{"line":620,"column":0}},"620":{"start":{"line":621,"column":0},"end":{"line":621,"column":39}},"621":{"start":{"line":622,"column":0},"end":{"line":622,"column":58}},"622":{"start":{"line":623,"column":0},"end":{"line":623,"column":58}},"623":{"start":{"line":624,"column":0},"end":{"line":624,"column":58}},"624":{"start":{"line":625,"column":0},"end":{"line":625,"column":0}},"625":{"start":{"line":626,"column":0},"end":{"line":626,"column":36}},"626":{"start":{"line":627,"column":0},"end":{"line":627,"column":16}},"627":{"start":{"line":628,"column":0},"end":{"line":628,"column":7}},"628":{"start":{"line":629,"column":0},"end":{"line":629,"column":0}},"629":{"start":{"line":630,"column":0},"end":{"line":630,"column":36}},"630":{"start":{"line":631,"column":0},"end":{"line":631,"column":17}},"631":{"start":{"line":632,"column":0},"end":{"line":632,"column":7}},"632":{"start":{"line":633,"column":0},"end":{"line":633,"column":0}},"633":{"start":{"line":634,"column":0},"end":{"line":634,"column":14}},"634":{"start":{"line":635,"column":0},"end":{"line":635,"column":6}},"635":{"start":{"line":636,"column":0},"end":{"line":636,"column":0}},"636":{"start":{"line":637,"column":0},"end":{"line":637,"column":29}},"637":{"start":{"line":638,"column":0},"end":{"line":638,"column":22}},"638":{"start":{"line":639,"column":0},"end":{"line":639,"column":0}},"639":{"start":{"line":640,"column":0},"end":{"line":640,"column":49}},"640":{"start":{"line":641,"column":0},"end":{"line":641,"column":90}},"641":{"start":{"line":642,"column":0},"end":{"line":642,"column":30}},"642":{"start":{"line":643,"column":0},"end":{"line":643,"column":0}},"643":{"start":{"line":644,"column":0},"end":{"line":644,"column":39}},"644":{"start":{"line":645,"column":0},"end":{"line":645,"column":13}},"645":{"start":{"line":646,"column":0},"end":{"line":646,"column":7}},"646":{"start":{"line":647,"column":0},"end":{"line":647,"column":5}},"647":{"start":{"line":648,"column":0},"end":{"line":648,"column":0}},"648":{"start":{"line":649,"column":0},"end":{"line":649,"column":24}},"649":{"start":{"line":650,"column":0},"end":{"line":650,"column":22}},"650":{"start":{"line":651,"column":0},"end":{"line":651,"column":39}},"651":{"start":{"line":652,"column":0},"end":{"line":652,"column":13}},"652":{"start":{"line":653,"column":0},"end":{"line":653,"column":34}},"653":{"start":{"line":654,"column":0},"end":{"line":654,"column":23}},"654":{"start":{"line":655,"column":0},"end":{"line":655,"column":24}},"655":{"start":{"line":656,"column":0},"end":{"line":656,"column":9}},"656":{"start":{"line":657,"column":0},"end":{"line":657,"column":0}},"657":{"start":{"line":658,"column":0},"end":{"line":658,"column":56}},"658":{"start":{"line":659,"column":0},"end":{"line":659,"column":72}},"659":{"start":{"line":660,"column":0},"end":{"line":660,"column":28}},"660":{"start":{"line":661,"column":0},"end":{"line":661,"column":11}},"661":{"start":{"line":662,"column":0},"end":{"line":662,"column":8}},"662":{"start":{"line":663,"column":0},"end":{"line":663,"column":5}},"663":{"start":{"line":664,"column":0},"end":{"line":664,"column":3}},"664":{"start":{"line":665,"column":0},"end":{"line":665,"column":0}},"665":{"start":{"line":666,"column":0},"end":{"line":666,"column":82}},"666":{"start":{"line":667,"column":0},"end":{"line":667,"column":22}},"667":{"start":{"line":668,"column":0},"end":{"line":668,"column":49}},"668":{"start":{"line":669,"column":0},"end":{"line":669,"column":67}},"669":{"start":{"line":670,"column":0},"end":{"line":670,"column":6}},"670":{"start":{"line":671,"column":0},"end":{"line":671,"column":0}},"671":{"start":{"line":672,"column":0},"end":{"line":672,"column":25}},"672":{"start":{"line":673,"column":0},"end":{"line":673,"column":103}},"673":{"start":{"line":674,"column":0},"end":{"line":674,"column":18}},"674":{"start":{"line":675,"column":0},"end":{"line":675,"column":5}},"675":{"start":{"line":676,"column":0},"end":{"line":676,"column":0}},"676":{"start":{"line":677,"column":0},"end":{"line":677,"column":23}},"677":{"start":{"line":678,"column":0},"end":{"line":678,"column":51}},"678":{"start":{"line":679,"column":0},"end":{"line":679,"column":67}},"679":{"start":{"line":680,"column":0},"end":{"line":680,"column":6}},"680":{"start":{"line":681,"column":0},"end":{"line":681,"column":0}},"681":{"start":{"line":682,"column":0},"end":{"line":682,"column":26}},"682":{"start":{"line":683,"column":0},"end":{"line":683,"column":39}},"683":{"start":{"line":684,"column":0},"end":{"line":684,"column":0}},"684":{"start":{"line":685,"column":0},"end":{"line":685,"column":17}},"685":{"start":{"line":686,"column":0},"end":{"line":686,"column":5}},"686":{"start":{"line":687,"column":0},"end":{"line":687,"column":0}},"687":{"start":{"line":688,"column":0},"end":{"line":688,"column":32}},"688":{"start":{"line":689,"column":0},"end":{"line":689,"column":86}},"689":{"start":{"line":690,"column":0},"end":{"line":690,"column":107}},"690":{"start":{"line":691,"column":0},"end":{"line":691,"column":18}},"691":{"start":{"line":692,"column":0},"end":{"line":692,"column":5}},"692":{"start":{"line":693,"column":0},"end":{"line":693,"column":0}},"693":{"start":{"line":694,"column":0},"end":{"line":694,"column":49}},"694":{"start":{"line":695,"column":0},"end":{"line":695,"column":58}},"695":{"start":{"line":696,"column":0},"end":{"line":696,"column":0}},"696":{"start":{"line":697,"column":0},"end":{"line":697,"column":11}},"697":{"start":{"line":698,"column":0},"end":{"line":698,"column":64}},"698":{"start":{"line":699,"column":0},"end":{"line":699,"column":15}},"699":{"start":{"line":700,"column":0},"end":{"line":700,"column":115}},"700":{"start":{"line":701,"column":0},"end":{"line":701,"column":20}},"701":{"start":{"line":702,"column":0},"end":{"line":702,"column":7}},"702":{"start":{"line":703,"column":0},"end":{"line":703,"column":5}},"703":{"start":{"line":704,"column":0},"end":{"line":704,"column":0}},"704":{"start":{"line":705,"column":0},"end":{"line":705,"column":66}},"705":{"start":{"line":706,"column":0},"end":{"line":706,"column":39}},"706":{"start":{"line":707,"column":0},"end":{"line":707,"column":0}},"707":{"start":{"line":708,"column":0},"end":{"line":708,"column":17}},"708":{"start":{"line":709,"column":0},"end":{"line":709,"column":5}},"709":{"start":{"line":710,"column":0},"end":{"line":710,"column":0}},"710":{"start":{"line":711,"column":0},"end":{"line":711,"column":82}},"711":{"start":{"line":712,"column":0},"end":{"line":712,"column":16}},"712":{"start":{"line":713,"column":0},"end":{"line":713,"column":3}},"713":{"start":{"line":714,"column":0},"end":{"line":714,"column":0}},"714":{"start":{"line":715,"column":0},"end":{"line":715,"column":26}},"715":{"start":{"line":716,"column":0},"end":{"line":716,"column":37}},"716":{"start":{"line":717,"column":0},"end":{"line":717,"column":3}},"717":{"start":{"line":718,"column":0},"end":{"line":718,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":55,"166":55,"167":55,"168":55,"169":55,"170":0,"171":0,"172":55,"173":55,"174":55,"175":55,"176":55,"177":55,"178":55,"179":55,"180":55,"181":55,"182":55,"183":55,"184":55,"185":0,"186":0,"187":0,"188":0,"189":0,"190":55,"191":55,"192":55,"193":55,"194":55,"195":55,"196":55,"197":55,"198":55,"199":55,"200":55,"201":55,"202":55,"203":55,"204":55,"205":55,"206":55,"207":55,"208":55,"209":55,"210":55,"211":55,"212":1,"213":1,"214":0,"215":0,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":55,"223":55,"224":55,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":55,"243":55,"244":55,"245":55,"246":55,"247":55,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":55,"263":55,"264":55,"265":55,"266":55,"267":55,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":55,"299":55,"300":55,"301":55,"302":55,"303":55,"304":55,"305":55,"306":55,"307":55,"308":1,"309":1,"310":55,"311":55,"312":55,"313":55,"314":55,"315":55,"316":55,"317":55,"318":55,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":55,"327":55,"328":55,"329":55,"330":55,"331":55,"332":55,"333":55,"334":55,"335":55,"336":55,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":55,"344":55,"345":55,"346":55,"347":0,"348":55,"349":55,"350":55,"351":55,"352":55,"353":1,"354":1,"355":55,"356":55,"357":55,"358":55,"359":55,"360":1,"361":1,"362":1,"363":1,"364":1,"365":55,"366":55,"367":55,"368":55,"369":55,"370":55,"371":55,"372":1,"373":1,"374":1,"375":1,"376":1,"377":55,"378":55,"379":55,"380":50,"381":50,"382":50,"383":50,"384":50,"385":0,"386":0,"387":50,"388":50,"389":50,"390":55,"391":55,"392":55,"393":55,"394":55,"395":1,"396":1,"397":84,"398":0,"399":84,"400":84,"401":1,"402":1,"403":1,"404":1,"405":1,"406":84,"407":84,"408":84,"409":0,"410":0,"411":0,"412":0,"413":84,"414":84,"415":84,"416":84,"417":84,"418":84,"419":18,"420":84,"421":66,"422":66,"423":84,"424":84,"425":84,"426":84,"427":84,"428":84,"429":84,"430":84,"431":84,"432":84,"433":84,"434":1,"435":1,"436":1,"437":1,"438":1,"439":34,"440":34,"441":34,"442":0,"443":0,"444":0,"445":34,"446":34,"447":34,"448":34,"449":34,"450":18,"451":18,"452":34,"453":16,"454":16,"455":16,"456":34,"457":1,"458":1,"459":876,"460":282,"461":282,"462":594,"463":594,"464":594,"465":876,"466":486,"467":486,"468":594,"469":594,"470":594,"471":1,"472":1,"473":146,"474":146,"475":146,"476":146,"477":146,"478":0,"479":0,"480":0,"481":0,"482":0,"483":146,"484":146,"485":146,"486":146,"487":146,"488":106,"489":106,"490":106,"491":106,"492":40,"493":40,"494":40,"495":146,"496":35,"497":35,"498":35,"499":35,"500":35,"501":35,"502":35,"503":35,"504":40,"505":40,"506":40,"507":35,"508":35,"509":146,"510":0,"511":0,"512":0,"513":35,"514":35,"515":35,"516":35,"517":35,"518":35,"519":35,"520":35,"521":35,"522":35,"523":35,"524":35,"525":146,"526":0,"527":0,"528":35,"529":35,"530":35,"531":40,"532":35,"533":35,"534":40,"535":146,"536":1,"537":1,"538":6,"539":6,"540":6,"541":6,"542":6,"543":6,"544":6,"545":6,"546":1,"547":1,"548":1,"549":1,"550":1,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":0,"561":0,"562":0,"563":0,"564":0,"565":1,"566":1,"567":1,"568":1,"569":1,"570":0,"571":0,"572":0,"573":0,"574":0,"575":0,"576":0,"577":1,"578":1,"579":1,"580":1,"581":1,"582":84,"583":84,"584":84,"585":0,"586":0,"587":0,"588":84,"589":84,"590":84,"591":0,"592":0,"593":0,"594":84,"595":1,"596":1,"597":1,"598":1,"599":1,"600":1,"601":0,"602":0,"603":0,"604":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":0,"613":0,"614":0,"615":0,"616":0,"617":0,"618":0,"619":0,"620":0,"621":0,"622":0,"623":0,"624":0,"625":0,"626":0,"627":0,"628":0,"629":0,"630":0,"631":0,"632":0,"633":0,"634":0,"635":0,"636":0,"637":0,"638":0,"639":0,"640":0,"641":0,"642":0,"643":0,"644":0,"645":0,"646":0,"647":0,"648":0,"649":0,"650":0,"651":0,"652":0,"653":0,"654":0,"655":0,"656":0,"657":0,"658":0,"659":0,"660":0,"661":0,"662":0,"663":0,"664":1,"665":1,"666":52,"667":52,"668":0,"669":52,"670":52,"671":52,"672":0,"673":0,"674":0,"675":52,"676":52,"677":52,"678":0,"679":52,"680":52,"681":52,"682":0,"683":0,"684":0,"685":0,"686":52,"687":52,"688":52,"689":0,"690":0,"691":0,"692":52,"693":52,"694":48,"695":48,"696":48,"697":48,"698":48,"699":0,"700":0,"701":0,"702":48,"703":52,"704":52,"705":52,"706":52,"707":52,"708":52,"709":0,"710":0,"711":0,"712":0,"713":1,"714":1,"715":52,"716":52,"717":1},"branchMap":{"0":{"type":"branch","line":165,"loc":{"start":{"line":165,"column":2},"end":{"line":212,"column":3}},"locations":[{"start":{"line":165,"column":2},"end":{"line":212,"column":3}}]},"1":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":61},"end":{"line":172,"column":5}},"locations":[{"start":{"line":170,"column":61},"end":{"line":172,"column":5}}]},"2":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":38},"end":{"line":185,"column":68}},"locations":[{"start":{"line":185,"column":38},"end":{"line":185,"column":68}}]},"3":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":68},"end":{"line":185,"column":107}},"locations":[{"start":{"line":185,"column":68},"end":{"line":185,"column":107}}]},"4":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":109},"end":{"line":190,"column":5}},"locations":[{"start":{"line":185,"column":109},"end":{"line":190,"column":5}}]},"5":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":6},"end":{"line":195,"column":14}},"locations":[{"start":{"line":195,"column":6},"end":{"line":195,"column":14}}]},"6":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":39},"end":{"line":201,"column":48}},"locations":[{"start":{"line":201,"column":39},"end":{"line":201,"column":48}}]},"7":{"type":"branch","line":222,"loc":{"start":{"line":222,"column":2},"end":{"line":308,"column":3}},"locations":[{"start":{"line":222,"column":2},"end":{"line":308,"column":3}}]},"8":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":27},"end":{"line":224,"column":48}},"locations":[{"start":{"line":224,"column":27},"end":{"line":224,"column":48}}]},"9":{"type":"branch","line":246,"loc":{"start":{"line":246,"column":27},"end":{"line":246,"column":48}},"locations":[{"start":{"line":246,"column":27},"end":{"line":246,"column":48}}]},"10":{"type":"branch","line":266,"loc":{"start":{"line":266,"column":27},"end":{"line":266,"column":48}},"locations":[{"start":{"line":266,"column":27},"end":{"line":266,"column":48}}]},"11":{"type":"branch","line":302,"loc":{"start":{"line":302,"column":23},"end":{"line":302,"column":30}},"locations":[{"start":{"line":302,"column":23},"end":{"line":302,"column":30}}]},"12":{"type":"branch","line":304,"loc":{"start":{"line":304,"column":23},"end":{"line":304,"column":41}},"locations":[{"start":{"line":304,"column":23},"end":{"line":304,"column":41}}]},"13":{"type":"branch","line":310,"loc":{"start":{"line":310,"column":2},"end":{"line":353,"column":3}},"locations":[{"start":{"line":310,"column":2},"end":{"line":353,"column":3}}]},"14":{"type":"branch","line":316,"loc":{"start":{"line":316,"column":12},"end":{"line":346,"column":7}},"locations":[{"start":{"line":316,"column":12},"end":{"line":346,"column":7}}]},"15":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":66},"end":{"line":326,"column":9}},"locations":[{"start":{"line":319,"column":66},"end":{"line":326,"column":9}}]},"16":{"type":"branch","line":328,"loc":{"start":{"line":328,"column":39},"end":{"line":328,"column":46}},"locations":[{"start":{"line":328,"column":39},"end":{"line":328,"column":46}}]},"17":{"type":"branch","line":334,"loc":{"start":{"line":334,"column":10},"end":{"line":334,"column":18}},"locations":[{"start":{"line":334,"column":10},"end":{"line":334,"column":18}}]},"18":{"type":"branch","line":350,"loc":{"start":{"line":350,"column":15},"end":{"line":352,"column":7}},"locations":[{"start":{"line":350,"column":15},"end":{"line":352,"column":7}}]},"19":{"type":"branch","line":355,"loc":{"start":{"line":355,"column":2},"end":{"line":360,"column":3}},"locations":[{"start":{"line":355,"column":2},"end":{"line":360,"column":3}}]},"20":{"type":"branch","line":365,"loc":{"start":{"line":365,"column":2},"end":{"line":372,"column":3}},"locations":[{"start":{"line":365,"column":2},"end":{"line":372,"column":3}}]},"21":{"type":"branch","line":366,"loc":{"start":{"line":366,"column":23},"end":{"line":366,"column":44}},"locations":[{"start":{"line":366,"column":23},"end":{"line":366,"column":44}}]},"22":{"type":"branch","line":367,"loc":{"start":{"line":367,"column":23},"end":{"line":367,"column":29}},"locations":[{"start":{"line":367,"column":23},"end":{"line":367,"column":29}}]},"23":{"type":"branch","line":377,"loc":{"start":{"line":377,"column":2},"end":{"line":395,"column":3}},"locations":[{"start":{"line":377,"column":2},"end":{"line":395,"column":3}}]},"24":{"type":"branch","line":380,"loc":{"start":{"line":380,"column":60},"end":{"line":390,"column":5}},"locations":[{"start":{"line":380,"column":60},"end":{"line":390,"column":5}}]},"25":{"type":"branch","line":382,"loc":{"start":{"line":382,"column":20},"end":{"line":388,"column":9}},"locations":[{"start":{"line":382,"column":20},"end":{"line":388,"column":9}}]},"26":{"type":"branch","line":385,"loc":{"start":{"line":385,"column":12},"end":{"line":387,"column":11}},"locations":[{"start":{"line":385,"column":12},"end":{"line":387,"column":11}}]},"27":{"type":"branch","line":397,"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"locations":[{"start":{"line":397,"column":2},"end":{"line":401,"column":3}}]},"28":{"type":"branch","line":406,"loc":{"start":{"line":406,"column":2},"end":{"line":434,"column":3}},"locations":[{"start":{"line":406,"column":2},"end":{"line":434,"column":3}}]},"29":{"type":"branch","line":409,"loc":{"start":{"line":409,"column":23},"end":{"line":413,"column":5}},"locations":[{"start":{"line":409,"column":23},"end":{"line":413,"column":5}}]},"30":{"type":"branch","line":419,"loc":{"start":{"line":419,"column":29},"end":{"line":421,"column":11}},"locations":[{"start":{"line":419,"column":29},"end":{"line":421,"column":11}}]},"31":{"type":"branch","line":421,"loc":{"start":{"line":421,"column":5},"end":{"line":423,"column":5}},"locations":[{"start":{"line":421,"column":5},"end":{"line":423,"column":5}}]},"32":{"type":"branch","line":439,"loc":{"start":{"line":439,"column":2},"end":{"line":457,"column":3}},"locations":[{"start":{"line":439,"column":2},"end":{"line":457,"column":3}}]},"33":{"type":"branch","line":442,"loc":{"start":{"line":442,"column":23},"end":{"line":445,"column":5}},"locations":[{"start":{"line":442,"column":23},"end":{"line":445,"column":5}}]},"34":{"type":"branch","line":450,"loc":{"start":{"line":450,"column":53},"end":{"line":453,"column":11}},"locations":[{"start":{"line":450,"column":53},"end":{"line":453,"column":11}}]},"35":{"type":"branch","line":453,"loc":{"start":{"line":453,"column":5},"end":{"line":456,"column":5}},"locations":[{"start":{"line":453,"column":5},"end":{"line":456,"column":5}}]},"36":{"type":"branch","line":451,"loc":{"start":{"line":451,"column":37},"end":{"line":451,"column":72}},"locations":[{"start":{"line":451,"column":37},"end":{"line":451,"column":72}}]},"37":{"type":"branch","line":459,"loc":{"start":{"line":459,"column":2},"end":{"line":471,"column":3}},"locations":[{"start":{"line":459,"column":2},"end":{"line":471,"column":3}}]},"38":{"type":"branch","line":460,"loc":{"start":{"line":460,"column":24},"end":{"line":462,"column":5}},"locations":[{"start":{"line":460,"column":24},"end":{"line":462,"column":5}}]},"39":{"type":"branch","line":461,"loc":{"start":{"line":461,"column":52},"end":{"line":461,"column":58}},"locations":[{"start":{"line":461,"column":52},"end":{"line":461,"column":58}}]},"40":{"type":"branch","line":463,"loc":{"start":{"line":463,"column":-1},"end":{"line":466,"column":47}},"locations":[{"start":{"line":463,"column":-1},"end":{"line":466,"column":47}}]},"41":{"type":"branch","line":466,"loc":{"start":{"line":466,"column":47},"end":{"line":468,"column":5}},"locations":[{"start":{"line":466,"column":47},"end":{"line":468,"column":5}}]},"42":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":-1},"end":{"line":471,"column":3}},"locations":[{"start":{"line":469,"column":-1},"end":{"line":471,"column":3}}]},"43":{"type":"branch","line":473,"loc":{"start":{"line":473,"column":2},"end":{"line":536,"column":3}},"locations":[{"start":{"line":473,"column":2},"end":{"line":536,"column":3}}]},"44":{"type":"branch","line":478,"loc":{"start":{"line":478,"column":5},"end":{"line":483,"column":5}},"locations":[{"start":{"line":478,"column":5},"end":{"line":483,"column":5}}]},"45":{"type":"branch","line":488,"loc":{"start":{"line":488,"column":40},"end":{"line":492,"column":5}},"locations":[{"start":{"line":488,"column":40},"end":{"line":492,"column":5}}]},"46":{"type":"branch","line":493,"loc":{"start":{"line":493,"column":-1},"end":{"line":496,"column":23}},"locations":[{"start":{"line":493,"column":-1},"end":{"line":496,"column":23}}]},"47":{"type":"branch","line":496,"loc":{"start":{"line":496,"column":33},"end":{"line":504,"column":5}},"locations":[{"start":{"line":496,"column":33},"end":{"line":504,"column":5}}]},"48":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":8},"end":{"line":503,"column":16}},"locations":[{"start":{"line":503,"column":8},"end":{"line":503,"column":16}}]},"49":{"type":"branch","line":505,"loc":{"start":{"line":505,"column":-1},"end":{"line":507,"column":86}},"locations":[{"start":{"line":505,"column":-1},"end":{"line":507,"column":86}}]},"50":{"type":"branch","line":508,"loc":{"start":{"line":508,"column":-1},"end":{"line":510,"column":35}},"locations":[{"start":{"line":508,"column":-1},"end":{"line":510,"column":35}}]},"51":{"type":"branch","line":510,"loc":{"start":{"line":510,"column":35},"end":{"line":513,"column":7}},"locations":[{"start":{"line":510,"column":35},"end":{"line":513,"column":7}}]},"52":{"type":"branch","line":514,"loc":{"start":{"line":514,"column":-1},"end":{"line":526,"column":30}},"locations":[{"start":{"line":514,"column":-1},"end":{"line":526,"column":30}}]},"53":{"type":"branch","line":526,"loc":{"start":{"line":526,"column":30},"end":{"line":528,"column":7}},"locations":[{"start":{"line":526,"column":30},"end":{"line":528,"column":7}}]},"54":{"type":"branch","line":529,"loc":{"start":{"line":529,"column":-1},"end":{"line":531,"column":15}},"locations":[{"start":{"line":529,"column":-1},"end":{"line":531,"column":15}}]},"55":{"type":"branch","line":531,"loc":{"start":{"line":531,"column":14},"end":{"line":535,"column":5}},"locations":[{"start":{"line":531,"column":14},"end":{"line":535,"column":5}}]},"56":{"type":"branch","line":532,"loc":{"start":{"line":532,"column":37},"end":{"line":534,"column":7}},"locations":[{"start":{"line":532,"column":37},"end":{"line":534,"column":7}}]},"57":{"type":"branch","line":538,"loc":{"start":{"line":538,"column":2},"end":{"line":546,"column":3}},"locations":[{"start":{"line":538,"column":2},"end":{"line":546,"column":3}}]},"58":{"type":"branch","line":539,"loc":{"start":{"line":539,"column":63},"end":{"line":539,"column":69}},"locations":[{"start":{"line":539,"column":63},"end":{"line":539,"column":69}}]},"59":{"type":"branch","line":542,"loc":{"start":{"line":542,"column":22},"end":{"line":544,"column":7}},"locations":[{"start":{"line":542,"column":22},"end":{"line":544,"column":7}}]},"60":{"type":"branch","line":582,"loc":{"start":{"line":582,"column":2},"end":{"line":595,"column":3}},"locations":[{"start":{"line":582,"column":2},"end":{"line":595,"column":3}}]},"61":{"type":"branch","line":585,"loc":{"start":{"line":585,"column":23},"end":{"line":588,"column":5}},"locations":[{"start":{"line":585,"column":23},"end":{"line":588,"column":5}}]},"62":{"type":"branch","line":591,"loc":{"start":{"line":591,"column":23},"end":{"line":594,"column":5}},"locations":[{"start":{"line":591,"column":23},"end":{"line":594,"column":5}}]},"63":{"type":"branch","line":666,"loc":{"start":{"line":666,"column":2},"end":{"line":713,"column":3}},"locations":[{"start":{"line":666,"column":2},"end":{"line":713,"column":3}}]},"64":{"type":"branch","line":672,"loc":{"start":{"line":672,"column":24},"end":{"line":675,"column":5}},"locations":[{"start":{"line":672,"column":24},"end":{"line":675,"column":5}}]},"65":{"type":"branch","line":682,"loc":{"start":{"line":682,"column":25},"end":{"line":686,"column":5}},"locations":[{"start":{"line":682,"column":25},"end":{"line":686,"column":5}}]},"66":{"type":"branch","line":689,"loc":{"start":{"line":689,"column":85},"end":{"line":692,"column":5}},"locations":[{"start":{"line":689,"column":85},"end":{"line":692,"column":5}}]},"67":{"type":"branch","line":694,"loc":{"start":{"line":694,"column":48},"end":{"line":703,"column":5}},"locations":[{"start":{"line":694,"column":48},"end":{"line":703,"column":5}}]},"68":{"type":"branch","line":699,"loc":{"start":{"line":699,"column":8},"end":{"line":702,"column":7}},"locations":[{"start":{"line":699,"column":8},"end":{"line":702,"column":7}}]},"69":{"type":"branch","line":710,"loc":{"start":{"line":710,"column":-1},"end":{"line":713,"column":3}},"locations":[{"start":{"line":710,"column":-1},"end":{"line":713,"column":3}}]},"70":{"type":"branch","line":715,"loc":{"start":{"line":715,"column":2},"end":{"line":717,"column":3}},"locations":[{"start":{"line":715,"column":2},"end":{"line":717,"column":3}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[55],"8":[0],"9":[0],"10":[0],"11":[0],"12":[0],"13":[55],"14":[55],"15":[0],"16":[0],"17":[0],"18":[55],"19":[55],"20":[55],"21":[0],"22":[0],"23":[55],"24":[50],"25":[50],"26":[0],"27":[84],"28":[84],"29":[0],"30":[18],"31":[66],"32":[34],"33":[0],"34":[18],"35":[16],"36":[39],"37":[876],"38":[282],"39":[48],"40":[594],"41":[486],"42":[594],"43":[146],"44":[0],"45":[106],"46":[40],"47":[35],"48":[0],"49":[40],"50":[35],"51":[0],"52":[35],"53":[0],"54":[35],"55":[40],"56":[35],"57":[6],"58":[0],"59":[6],"60":[84],"61":[0],"62":[0],"63":[52],"64":[0],"65":[0],"66":[0],"67":[48],"68":[0],"69":[0],"70":[52]},"fnMap":{"0":{"name":"DefaultConnectionManager","decl":{"start":{"line":165,"column":2},"end":{"line":212,"column":3}},"loc":{"start":{"line":165,"column":2},"end":{"line":212,"column":3}},"line":165},"1":{"name":"isStarted","decl":{"start":{"line":214,"column":2},"end":{"line":216,"column":3}},"loc":{"start":{"line":214,"column":2},"end":{"line":216,"column":3}},"line":214},"2":{"name":"start","decl":{"start":{"line":222,"column":2},"end":{"line":308,"column":3}},"loc":{"start":{"line":222,"column":2},"end":{"line":308,"column":3}},"line":222},"3":{"name":"calculate","decl":{"start":{"line":225,"column":17},"end":{"line":242,"column":7}},"loc":{"start":{"line":225,"column":17},"end":{"line":242,"column":7}},"line":225},"4":{"name":"calculate","decl":{"start":{"line":248,"column":17},"end":{"line":262,"column":7}},"loc":{"start":{"line":248,"column":17},"end":{"line":262,"column":7}},"line":248},"5":{"name":"calculate","decl":{"start":{"line":268,"column":17},"end":{"line":298,"column":7}},"loc":{"start":{"line":268,"column":17},"end":{"line":298,"column":7}},"line":268},"6":{"name":"afterStart","decl":{"start":{"line":310,"column":2},"end":{"line":353,"column":3}},"loc":{"start":{"line":310,"column":2},"end":{"line":353,"column":3}},"line":310},"7":{"name":"beforeStop","decl":{"start":{"line":355,"column":2},"end":{"line":360,"column":3}},"loc":{"start":{"line":355,"column":2},"end":{"line":360,"column":3}},"line":355},"8":{"name":"stop","decl":{"start":{"line":365,"column":2},"end":{"line":372,"column":3}},"loc":{"start":{"line":365,"column":2},"end":{"line":372,"column":3}},"line":365},"9":{"name":"_close","decl":{"start":{"line":377,"column":2},"end":{"line":395,"column":3}},"loc":{"start":{"line":377,"column":2},"end":{"line":395,"column":3}},"line":377},"10":{"name":"onConnect","decl":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"line":397},"11":{"name":"_onConnect","decl":{"start":{"line":406,"column":2},"end":{"line":434,"column":3}},"loc":{"start":{"line":406,"column":2},"end":{"line":434,"column":3}},"line":406},"12":{"name":"onDisconnect","decl":{"start":{"line":439,"column":2},"end":{"line":457,"column":3}},"loc":{"start":{"line":439,"column":2},"end":{"line":457,"column":3}},"line":439},"13":{"name":"getConnections","decl":{"start":{"line":459,"column":2},"end":{"line":471,"column":3}},"loc":{"start":{"line":459,"column":2},"end":{"line":471,"column":3}},"line":459},"14":{"name":"openConnection","decl":{"start":{"line":473,"column":2},"end":{"line":536,"column":3}},"loc":{"start":{"line":473,"column":2},"end":{"line":536,"column":3}},"line":473},"15":{"name":"closeConnections","decl":{"start":{"line":538,"column":2},"end":{"line":546,"column":3}},"loc":{"start":{"line":538,"column":2},"end":{"line":546,"column":3}},"line":538},"16":{"name":"getAll","decl":{"start":{"line":551,"column":2},"end":{"line":565,"column":3}},"loc":{"start":{"line":551,"column":2},"end":{"line":565,"column":3}},"line":551},"17":{"name":"_onLatencyMeasure","decl":{"start":{"line":570,"column":2},"end":{"line":577,"column":3}},"loc":{"start":{"line":570,"column":2},"end":{"line":577,"column":3}},"line":570},"18":{"name":"_checkMaxLimit","decl":{"start":{"line":582,"column":2},"end":{"line":595,"column":3}},"loc":{"start":{"line":582,"column":2},"end":{"line":595,"column":3}},"line":582},"19":{"name":"_pruneConnections","decl":{"start":{"line":601,"column":2},"end":{"line":664,"column":3}},"loc":{"start":{"line":601,"column":2},"end":{"line":664,"column":3}},"line":601},"20":{"name":"acceptIncomingConnection","decl":{"start":{"line":666,"column":2},"end":{"line":713,"column":3}},"loc":{"start":{"line":666,"column":2},"end":{"line":713,"column":3}},"line":666},"21":{"name":"afterUpgradeInbound","decl":{"start":{"line":715,"column":2},"end":{"line":717,"column":3}},"loc":{"start":{"line":715,"column":2},"end":{"line":717,"column":3}},"line":715}},"f":{"0":55,"1":0,"2":55,"3":0,"4":0,"5":0,"6":55,"7":55,"8":55,"9":55,"10":84,"11":84,"12":34,"13":876,"14":146,"15":6,"16":0,"17":0,"18":84,"19":0,"20":52,"21":52}} +,"/home/ckousik/projects/js-libp2p/src/connection-manager/latency-monitor.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/latency-monitor.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":230}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":3}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":72}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":39}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":63}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":39}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":1}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":37}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":48}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":81}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":29}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":40}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":40}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":117}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":34}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":32}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":32}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":5}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":16}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":48}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":15}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":15}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":5}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":52}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":15}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":37}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":1}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":19}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":16}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":15}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":15}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":17}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":1}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":120}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":122}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":83}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":2}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":26}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":2}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":120}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":44}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":2}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":11}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":40}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":83}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":2}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":11}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":115}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":82}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":3}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":72}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":49}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":50}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":47}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":46}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":57}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":42}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":54}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":59}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":34}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":41}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":41}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":47}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":11}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":101}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":46}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":71}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":64}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":104}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":61}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":87}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":17}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":44}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":60}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":59}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":42}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":100}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":12}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":35}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":5}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":80}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":44}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":45}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":44}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":74}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":40}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":42}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":57}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":7}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":64}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":82}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":45}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":64}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":73}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":12}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":38}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":25}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":61}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":5}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":45}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":3}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":12}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":98}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":41}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":108}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":22}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":66}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":82}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":43}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":26}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":29}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":16}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":29}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":28}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":9}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":8}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":61}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":25}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":5}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":3}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":0}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":11}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":22}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":3}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":5}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":26}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":4}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":13}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":5}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":19}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":41}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":38}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":12}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":5}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":23}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":42}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":91}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":60}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":57}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":7}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":5}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":3}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":0}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":5}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":25}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":4}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":13}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":5}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":18}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":38}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":39}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":37}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":5}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":38}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":40}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":37}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":5}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":5}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":113}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":4}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":13}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":19}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":37}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":29}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":65}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":23}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":9}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":5}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":3}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":0}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":5}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":122}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":43}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":5}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":32}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":64}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":100}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":48}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":21}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":38}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":36}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":36}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":40}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":60}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":35}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":59}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":5}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":54}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":37}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":18}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":3}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":5}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":117}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":49}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":5}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":19}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":94}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":94}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":104}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":23}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":71}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":27}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":5}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":0}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":22}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":54}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":40}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":14}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":7}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":82}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":45}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":62}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":31}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":72}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":72}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":41}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":61}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":5}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":41}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":0}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":44}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":46}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":37}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":38}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":33}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":40}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":28}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":14}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":123}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":104}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":34}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":115}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":109}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":12}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":7}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":29}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":0}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":58}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":55}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":5}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":3}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":35}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":12}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":28}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":38}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":38}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":16}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":16}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":5}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":3}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":1}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":0}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":23}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":49}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":1,"150":1,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":1,"174":1,"175":0,"176":0,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":1,"305":1,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":1,"315":1,"316":0,"317":0,"318":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"LatencyMonitor","decl":{"start":{"line":105,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":105,"column":2},"end":{"line":149,"column":3}},"line":105},"1":{"name":"start","decl":{"start":{"line":151,"column":2},"end":{"line":173,"column":3}},"loc":{"start":{"line":151,"column":2},"end":{"line":173,"column":3}},"line":151},"2":{"name":"stop","decl":{"start":{"line":175,"column":2},"end":{"line":177,"column":3}},"loc":{"start":{"line":175,"column":2},"end":{"line":177,"column":3}},"line":175},"3":{"name":"_startTimers","decl":{"start":{"line":184,"column":2},"end":{"line":198,"column":3}},"loc":{"start":{"line":184,"column":2},"end":{"line":198,"column":3}},"line":184},"4":{"name":"_stopTimers","decl":{"start":{"line":205,"column":2},"end":{"line":214,"column":3}},"loc":{"start":{"line":205,"column":2},"end":{"line":214,"column":3}},"line":205},"5":{"name":"_emitSummary","decl":{"start":{"line":221,"column":2},"end":{"line":228,"column":3}},"loc":{"start":{"line":221,"column":2},"end":{"line":228,"column":3}},"line":221},"6":{"name":"getSummary","decl":{"start":{"line":234,"column":2},"end":{"line":251,"column":3}},"loc":{"start":{"line":234,"column":2},"end":{"line":251,"column":3}},"line":234},"7":{"name":"checkLatency","decl":{"start":{"line":257,"column":2},"end":{"line":304,"column":3}},"loc":{"start":{"line":257,"column":2},"end":{"line":304,"column":3}},"line":257},"8":{"name":"initLatencyData","decl":{"start":{"line":306,"column":2},"end":{"line":314,"column":3}},"loc":{"start":{"line":306,"column":2},"end":{"line":314,"column":3}},"line":306},"9":{"name":"isBrowser","decl":{"start":{"line":317,"column":0},"end":{"line":319,"column":1}},"loc":{"start":{"line":317,"column":0},"end":{"line":319,"column":1}},"line":317}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0}} +,"/home/ckousik/projects/js-libp2p/src/connection-manager/visibility-change-emitter.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/visibility-change-emitter.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":230}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":3}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":39}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":89}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":41}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":42}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":105}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":2}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":86}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":2}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":11}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":2}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":65}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":2}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":68}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":29}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":33}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":38}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":11}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":16}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":32}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":11}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":10}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":56}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":75}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":90}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":24}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":34}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":11}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":26}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":46}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":38}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":42}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":41}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":5}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":94}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":90}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":93}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":103}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":17}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":4}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":13}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":36}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":33}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":45}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":108}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":23}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":43}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":64}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":70}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":26}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":46}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":63}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":69}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":25}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":45}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":67}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":73}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":29}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":49}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":24}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":44}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":3}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":5}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":96}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":86}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":4}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":13}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":35}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":68}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":118}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":95}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":12}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":38}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":113}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":3}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":105}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":80}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":16}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":68}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":75}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":22}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":68}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":40}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":3}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":5}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":75}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":90}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":14}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":4}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":13}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":30}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":68}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":62}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":49}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":21}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":69}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":21}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":3}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"VisibilityChangeEmitter","decl":{"start":{"line":42,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":42,"column":2},"end":{"line":52,"column":3}},"line":42},"1":{"name":"_initializeVisibilityVarNames","decl":{"start":{"line":63,"column":2},"end":{"line":86,"column":3}},"loc":{"start":{"line":63,"column":2},"end":{"line":86,"column":3}},"line":63},"2":{"name":"_addVisibilityChangeListener","decl":{"start":{"line":94,"column":2},"end":{"line":102,"column":3}},"loc":{"start":{"line":94,"column":2},"end":{"line":102,"column":3}},"line":94},"3":{"name":"isVisible","decl":{"start":{"line":108,"column":2},"end":{"line":116,"column":3}},"loc":{"start":{"line":108,"column":2},"end":{"line":116,"column":3}},"line":108},"4":{"name":"_handleVisibilityChange","decl":{"start":{"line":125,"column":2},"end":{"line":134,"column":3}},"loc":{"start":{"line":125,"column":2},"end":{"line":134,"column":3}},"line":125}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0}} +,"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/dial-request.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/dial-request.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":38}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":39}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":39}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":56}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":66}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":48}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":29}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":37}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":16}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":1}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":26}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":33}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":41}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":78}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":64}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":70}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":80}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":54}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":45}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":11}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":12}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":17}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":12}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":15}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":22}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":24}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":32}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":3}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":63}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":59}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":40}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":28}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":84}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":42}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":33}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":49}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":22}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":8}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":93}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":46}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":11}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":31}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":54}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":16}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":23}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":6}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":33}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":11}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":31}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":51}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":16}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":20}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":9}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":66}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":60}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":53}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":19}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":78}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":95}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":9}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":50}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":33}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":115}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":9}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":16}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":13}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":42}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":141}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":71}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":45}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":19}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":26}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":106}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":68}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":55}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":28}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":14}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":18}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":80}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":11}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":9}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":27}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":63}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":62}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":42}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":101}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":16}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":61}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":21}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":9}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":19}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":9}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":15}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":56}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":41}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":30}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":19}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":9}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":8}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":99}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":3}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":37,"37":37,"38":37,"39":37,"40":37,"41":37,"42":37,"43":37,"44":37,"45":37,"46":1,"47":1,"48":37,"49":37,"50":37,"51":37,"52":0,"53":0,"54":37,"55":37,"56":37,"57":37,"58":55,"59":0,"60":55,"61":55,"62":37,"63":37,"64":56,"65":56,"66":56,"67":56,"68":56,"69":56,"70":56,"71":37,"72":37,"73":37,"74":37,"75":37,"76":37,"77":37,"78":37,"79":37,"80":37,"81":37,"82":37,"83":37,"84":37,"85":56,"86":56,"87":56,"88":0,"89":0,"90":0,"91":56,"92":56,"93":56,"94":0,"95":0,"96":56,"97":56,"98":56,"99":56,"100":33,"101":33,"102":33,"103":56,"104":56,"105":56,"106":1,"107":0,"108":1,"109":56,"110":55,"111":55,"112":56,"113":33,"114":56,"115":0,"116":0,"117":0,"118":0,"119":56,"120":33,"121":33,"122":33,"123":33,"124":33,"125":37,"126":37,"127":37,"128":37,"129":56,"130":23,"131":23,"132":37,"133":37,"134":37,"135":37,"136":1},"branchMap":{"0":{"type":"branch","line":36,"loc":{"start":{"line":36,"column":2},"end":{"line":46,"column":3}},"locations":[{"start":{"line":36,"column":2},"end":{"line":46,"column":3}}]},"1":{"type":"branch","line":48,"loc":{"start":{"line":48,"column":2},"end":{"line":136,"column":3}},"locations":[{"start":{"line":48,"column":2},"end":{"line":136,"column":3}}]},"2":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":27},"end":{"line":54,"column":5}},"locations":[{"start":{"line":52,"column":27},"end":{"line":54,"column":5}}]},"3":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":32},"end":{"line":62,"column":5}},"locations":[{"start":{"line":58,"column":32},"end":{"line":62,"column":5}}]},"4":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":8},"end":{"line":78,"column":16}},"locations":[{"start":{"line":78,"column":8},"end":{"line":78,"column":16}}]},"5":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":86},"end":{"line":72,"column":5}},"locations":[{"start":{"line":64,"column":86},"end":{"line":72,"column":5}}]},"6":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":16}},"locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":16}}]},"7":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":46},"end":{"line":126,"column":7}},"locations":[{"start":{"line":85,"column":46},"end":{"line":126,"column":7}}]},"8":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":18},"end":{"line":91,"column":9}},"locations":[{"start":{"line":88,"column":18},"end":{"line":91,"column":9}}]},"9":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":32},"end":{"line":96,"column":9}},"locations":[{"start":{"line":94,"column":32},"end":{"line":96,"column":9}}]},"10":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":130},"end":{"line":100,"column":138}},"locations":[{"start":{"line":100,"column":130},"end":{"line":100,"column":138}}]},"11":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":-1},"end":{"line":103,"column":19}},"locations":[{"start":{"line":101,"column":-1},"end":{"line":103,"column":19}}]},"12":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":67},"end":{"line":110,"column":17}},"locations":[{"start":{"line":106,"column":67},"end":{"line":110,"column":17}}]},"13":{"type":"branch","line":110,"loc":{"start":{"line":110,"column":11},"end":{"line":112,"column":11}},"locations":[{"start":{"line":110,"column":11},"end":{"line":112,"column":11}}]},"14":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":-1},"end":{"line":115,"column":26}},"locations":[{"start":{"line":114,"column":-1},"end":{"line":115,"column":26}}]},"15":{"type":"branch","line":115,"loc":{"start":{"line":115,"column":26},"end":{"line":120,"column":15}},"locations":[{"start":{"line":115,"column":26},"end":{"line":120,"column":15}}]},"16":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":9},"end":{"line":126,"column":7}},"locations":[{"start":{"line":120,"column":9},"end":{"line":126,"column":7}}]},"17":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":35},"end":{"line":133,"column":7}},"locations":[{"start":{"line":129,"column":35},"end":{"line":133,"column":7}}]},"18":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":29},"end":{"line":132,"column":9}},"locations":[{"start":{"line":130,"column":29},"end":{"line":132,"column":9}}]},"19":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":21},"end":{"line":134,"column":61}},"locations":[{"start":{"line":134,"column":21},"end":{"line":134,"column":61}}]}},"b":{"0":[37],"1":[37],"2":[0],"3":[55],"4":[0],"5":[56],"6":[0],"7":[56],"8":[0],"9":[0],"10":[0],"11":[33],"12":[1],"13":[55],"14":[33],"15":[0],"16":[33],"17":[56],"18":[23],"19":[18]},"fnMap":{"0":{"name":"DialRequest","decl":{"start":{"line":36,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":36,"column":2},"end":{"line":46,"column":3}},"line":36},"1":{"name":"run","decl":{"start":{"line":48,"column":2},"end":{"line":136,"column":3}},"loc":{"start":{"line":48,"column":2},"end":{"line":136,"column":3}},"line":48}},"f":{"0":37,"1":37}} +,"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":96}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":60}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":38}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":40}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":59}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":65}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":48}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":8}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":21}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":21}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":19}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":27}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":79}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":54}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":61}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":43}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":76}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":66}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":67}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":35}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":29}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":12}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":20}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":1}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":30}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":31}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":30}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":21}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":36}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":31}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":30}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":1}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":29}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":61}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":31}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":27}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":53}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":25}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":47}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":22}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":44}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":26}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":44}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":5}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":42}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":16}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":19}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":22}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":36}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":34}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":1}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":0}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":57}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":54}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":47}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":41}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":34}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":42}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":25}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":57}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":26}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":76}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":24}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":67}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":66}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":51}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":69}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":102}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":32}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":36}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":43}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":33}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":6}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":42}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":50}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":33}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":6}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":70}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":31}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":16}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":23}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":3}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":18}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":23}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":5}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":29}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":5}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":17}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":24}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":52}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":11}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":31}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":26}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":22}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":7}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":29}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":67}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":35}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":3}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":70}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":84}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":18}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":5}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":103}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":57}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":44}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":75}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":34}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":54}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":50}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":69}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":5}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":0}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":65}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":117}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":5}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":0}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":42}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":79}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":44}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":35}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":57}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":34}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":43}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":50}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":5}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":0}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":30}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":0}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":9}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":68}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":19}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":14}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":8}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":15}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":69}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":50}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":5}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":40}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":103}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":5}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":0}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":70}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":119}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":0}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":9}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":50}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":48}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":23}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":24}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":50}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":27}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":50}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":36}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":7}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":20}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":15}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":15}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":27}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":3}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":0}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":69}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":37}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":4}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":72}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":4}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":79}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":5}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":111}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":45}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":115}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":0}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":31}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":58}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":6}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":13}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":83}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":88}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":28}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":31}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":0}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":45}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":101}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":0}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":78}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":25}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":57}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":33}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":46}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":0}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":69}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":50}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":9}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":0}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":19}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":8}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":5}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":12}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":58}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":11}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":5}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":3}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":0}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":5}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":73}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":5}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":61}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":75}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":30}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":38}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":101}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":19}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":22}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":9}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":0}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":22}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":8}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":6}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":23}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":78}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":31}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":40}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":3}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":5}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":64}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":5}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":88}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":7}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":30}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":54}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":7}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":66}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":45}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":78}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":7}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":0}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":86}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":49}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":17}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":8}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":5}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":0}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":41}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":30}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":17}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":18}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":6}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":0}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":65}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":65}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":0}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":46}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":61}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":37}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":0}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":65}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":76}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":9}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":29}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":41}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":14}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":0}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":25}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":18}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":36}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":55}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":22}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":33}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":47}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":7}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":5}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":53}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":0}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":22}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":3}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":27}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":73}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":47}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":88}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":17}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":3}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":0}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":32}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":39}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":38}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":12}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":5}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":0}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":35}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":27}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":3}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":5}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":34}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":5}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":79}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":88}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":46}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":63}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":0}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":50}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":27}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":17}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":5}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":0}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":69}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":88}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":45}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":7}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":0}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":44}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":55}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":52}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":24}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":7}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":18}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":12}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":3}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":0}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":5}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":78}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":5}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":85}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":9}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":67}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":50}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":23}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":19}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":72}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":15}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":5}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":3}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":1}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":3}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":46}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":3}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":65}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":19}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":1}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":0}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":3}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":26}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":3}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":30}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":81}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":55,"98":55,"99":55,"100":55,"101":55,"102":55,"103":55,"104":55,"105":55,"106":55,"107":55,"108":55,"109":55,"110":55,"111":55,"112":55,"113":55,"114":55,"115":55,"116":55,"117":1,"118":1,"119":0,"120":0,"121":1,"122":1,"123":55,"124":55,"125":1,"126":1,"127":1,"128":1,"129":1,"130":55,"131":55,"132":55,"133":1,"134":1,"135":1,"136":0,"137":0,"138":1,"139":55,"140":55,"141":55,"142":0,"143":0,"144":55,"145":55,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":40,"154":40,"155":40,"156":1,"157":1,"158":39,"159":39,"160":39,"161":40,"162":0,"163":0,"164":0,"165":39,"166":40,"167":0,"168":0,"169":39,"170":39,"171":39,"172":39,"173":39,"174":39,"175":39,"176":39,"177":39,"178":39,"179":39,"180":39,"181":39,"182":39,"183":39,"184":39,"185":39,"186":39,"187":39,"188":39,"189":39,"190":39,"191":39,"192":39,"193":39,"194":39,"195":40,"196":0,"197":0,"198":39,"199":39,"200":40,"201":40,"202":40,"203":40,"204":35,"205":35,"206":40,"207":4,"208":4,"209":4,"210":1,"211":1,"212":4,"213":4,"214":40,"215":39,"216":39,"217":40,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":39,"229":39,"230":39,"231":39,"232":39,"233":39,"234":39,"235":39,"236":39,"237":39,"238":39,"239":39,"240":39,"241":39,"242":39,"243":0,"244":0,"245":39,"246":39,"247":39,"248":39,"249":39,"250":39,"251":60,"252":60,"253":60,"254":8,"255":8,"256":52,"257":52,"258":39,"259":39,"260":39,"261":39,"262":39,"263":39,"264":39,"265":39,"266":1,"267":1,"268":1,"269":1,"270":1,"271":39,"272":39,"273":39,"274":39,"275":61,"276":61,"277":61,"278":0,"279":0,"280":61,"281":61,"282":39,"283":39,"284":39,"285":39,"286":39,"287":39,"288":39,"289":1,"290":1,"291":1,"292":1,"293":1,"294":37,"295":37,"296":37,"297":37,"298":37,"299":56,"300":0,"301":0,"302":56,"303":56,"304":23,"305":23,"306":56,"307":56,"308":37,"309":37,"310":37,"311":37,"312":37,"313":37,"314":37,"315":37,"316":37,"317":37,"318":37,"319":37,"320":37,"321":37,"322":37,"323":37,"324":37,"325":37,"326":37,"327":37,"328":37,"329":37,"330":37,"331":37,"332":37,"333":37,"334":39,"335":39,"336":39,"337":37,"338":37,"339":37,"340":37,"341":37,"342":1,"343":1,"344":37,"345":37,"346":37,"347":37,"348":37,"349":1,"350":1,"351":73,"352":73,"353":18,"354":18,"355":55,"356":55,"357":55,"358":55,"359":1,"360":1,"361":1,"362":1,"363":1,"364":61,"365":61,"366":61,"367":61,"368":61,"369":61,"370":61,"371":61,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":1,"387":1,"388":1,"389":1,"390":1,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":1,"401":1,"402":1,"403":1,"404":1,"405":61,"406":61,"407":61,"408":1,"409":1,"410":1,"411":1,"412":39,"413":39,"414":39},"branchMap":{"0":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":2},"end":{"line":117,"column":3}},"locations":[{"start":{"line":97,"column":2},"end":{"line":117,"column":3}}]},"1":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":43},"end":{"line":99,"column":67}},"locations":[{"start":{"line":99,"column":43},"end":{"line":99,"column":67}}]},"2":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":35},"end":{"line":101,"column":51}},"locations":[{"start":{"line":101,"column":35},"end":{"line":101,"column":51}}]},"3":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":47},"end":{"line":102,"column":69}},"locations":[{"start":{"line":102,"column":47},"end":{"line":102,"column":69}}]},"4":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":53},"end":{"line":103,"column":75}},"locations":[{"start":{"line":103,"column":53},"end":{"line":103,"column":75}}]},"5":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":60},"end":{"line":114,"column":66}},"locations":[{"start":{"line":114,"column":60},"end":{"line":114,"column":66}}]},"6":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":82},"end":{"line":103,"column":101}},"locations":[{"start":{"line":103,"column":82},"end":{"line":103,"column":101}}]},"7":{"type":"branch","line":123,"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"locations":[{"start":{"line":123,"column":2},"end":{"line":125,"column":3}}]},"8":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":2},"end":{"line":146,"column":3}},"locations":[{"start":{"line":130,"column":2},"end":{"line":146,"column":3}}]},"9":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":51},"end":{"line":139,"column":5}},"locations":[{"start":{"line":133,"column":51},"end":{"line":139,"column":5}}]},"10":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":8},"end":{"line":138,"column":7}},"locations":[{"start":{"line":136,"column":8},"end":{"line":138,"column":7}}]},"11":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":66},"end":{"line":144,"column":5}},"locations":[{"start":{"line":142,"column":66},"end":{"line":144,"column":5}}]},"12":{"type":"branch","line":153,"loc":{"start":{"line":153,"column":2},"end":{"line":218,"column":3}},"locations":[{"start":{"line":153,"column":2},"end":{"line":218,"column":3}}]},"13":{"type":"branch","line":156,"loc":{"start":{"line":156,"column":43},"end":{"line":158,"column":5}},"locations":[{"start":{"line":156,"column":43},"end":{"line":158,"column":5}}]},"14":{"type":"branch","line":159,"loc":{"start":{"line":159,"column":-1},"end":{"line":162,"column":51}},"locations":[{"start":{"line":159,"column":-1},"end":{"line":162,"column":51}}]},"15":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":53},"end":{"line":165,"column":5}},"locations":[{"start":{"line":162,"column":53},"end":{"line":165,"column":5}}]},"16":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":-1},"end":{"line":167,"column":64}},"locations":[{"start":{"line":166,"column":-1},"end":{"line":167,"column":64}}]},"17":{"type":"branch","line":167,"loc":{"start":{"line":167,"column":64},"end":{"line":169,"column":5}},"locations":[{"start":{"line":167,"column":64},"end":{"line":169,"column":5}}]},"18":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":-1},"end":{"line":196,"column":39}},"locations":[{"start":{"line":170,"column":-1},"end":{"line":196,"column":39}}]},"19":{"type":"branch","line":196,"loc":{"start":{"line":196,"column":39},"end":{"line":198,"column":5}},"locations":[{"start":{"line":196,"column":39},"end":{"line":198,"column":5}}]},"20":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":-1},"end":{"line":201,"column":75}},"locations":[{"start":{"line":199,"column":-1},"end":{"line":201,"column":75}}]},"21":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":71},"end":{"line":201,"column":119}},"locations":[{"start":{"line":201,"column":71},"end":{"line":201,"column":119}}]},"22":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":-1},"end":{"line":207,"column":13}},"locations":[{"start":{"line":205,"column":-1},"end":{"line":207,"column":13}}]},"23":{"type":"branch","line":207,"loc":{"start":{"line":207,"column":6},"end":{"line":215,"column":14}},"locations":[{"start":{"line":207,"column":6},"end":{"line":215,"column":14}}]},"24":{"type":"branch","line":210,"loc":{"start":{"line":210,"column":49},"end":{"line":212,"column":7}},"locations":[{"start":{"line":210,"column":49},"end":{"line":212,"column":7}}]},"25":{"type":"branch","line":215,"loc":{"start":{"line":215,"column":5},"end":{"line":215,"column":15}},"locations":[{"start":{"line":215,"column":5},"end":{"line":215,"column":15}}]},"26":{"type":"branch","line":215,"loc":{"start":{"line":215,"column":14},"end":{"line":217,"column":5}},"locations":[{"start":{"line":215,"column":14},"end":{"line":217,"column":5}}]},"27":{"type":"branch","line":228,"loc":{"start":{"line":228,"column":2},"end":{"line":266,"column":3}},"locations":[{"start":{"line":228,"column":2},"end":{"line":266,"column":3}}]},"28":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":47},"end":{"line":231,"column":68}},"locations":[{"start":{"line":231,"column":47},"end":{"line":231,"column":68}}]},"29":{"type":"branch","line":243,"loc":{"start":{"line":243,"column":44},"end":{"line":245,"column":5}},"locations":[{"start":{"line":243,"column":44},"end":{"line":245,"column":5}}]},"30":{"type":"branch","line":247,"loc":{"start":{"line":247,"column":67},"end":{"line":247,"column":78}},"locations":[{"start":{"line":247,"column":67},"end":{"line":247,"column":78}}]},"31":{"type":"branch","line":263,"loc":{"start":{"line":263,"column":25},"end":{"line":263,"column":37}},"locations":[{"start":{"line":263,"column":25},"end":{"line":263,"column":37}}]},"32":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":16},"end":{"line":234,"column":57}},"locations":[{"start":{"line":234,"column":16},"end":{"line":234,"column":57}}]},"33":{"type":"branch","line":238,"loc":{"start":{"line":238,"column":14},"end":{"line":238,"column":87}},"locations":[{"start":{"line":238,"column":14},"end":{"line":238,"column":87}}]},"34":{"type":"branch","line":251,"loc":{"start":{"line":251,"column":24},"end":{"line":259,"column":7}},"locations":[{"start":{"line":251,"column":24},"end":{"line":259,"column":7}}]},"35":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":33},"end":{"line":254,"column":66}},"locations":[{"start":{"line":254,"column":33},"end":{"line":254,"column":66}}]},"36":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":68},"end":{"line":256,"column":9}},"locations":[{"start":{"line":254,"column":68},"end":{"line":256,"column":9}}]},"37":{"type":"branch","line":257,"loc":{"start":{"line":257,"column":-1},"end":{"line":259,"column":7}},"locations":[{"start":{"line":257,"column":-1},"end":{"line":259,"column":7}}]},"38":{"type":"branch","line":271,"loc":{"start":{"line":271,"column":2},"end":{"line":289,"column":3}},"locations":[{"start":{"line":271,"column":2},"end":{"line":289,"column":3}}]},"39":{"type":"branch","line":275,"loc":{"start":{"line":275,"column":20},"end":{"line":283,"column":7}},"locations":[{"start":{"line":275,"column":20},"end":{"line":283,"column":7}}]},"40":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":18},"end":{"line":280,"column":9}},"locations":[{"start":{"line":278,"column":18},"end":{"line":280,"column":9}}]},"41":{"type":"branch","line":288,"loc":{"start":{"line":288,"column":11},"end":{"line":288,"column":39}},"locations":[{"start":{"line":288,"column":11},"end":{"line":288,"column":39}}]},"42":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":2},"end":{"line":342,"column":3}},"locations":[{"start":{"line":294,"column":2},"end":{"line":342,"column":3}}]},"43":{"type":"branch","line":328,"loc":{"start":{"line":328,"column":6},"end":{"line":328,"column":14}},"locations":[{"start":{"line":328,"column":6},"end":{"line":328,"column":14}}]},"44":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":35},"end":{"line":308,"column":5}},"locations":[{"start":{"line":299,"column":35},"end":{"line":308,"column":5}}]},"45":{"type":"branch","line":300,"loc":{"start":{"line":300,"column":44},"end":{"line":302,"column":7}},"locations":[{"start":{"line":300,"column":44},"end":{"line":302,"column":7}}]},"46":{"type":"branch","line":304,"loc":{"start":{"line":304,"column":78},"end":{"line":307,"column":7}},"locations":[{"start":{"line":304,"column":78},"end":{"line":307,"column":7}}]},"47":{"type":"branch","line":334,"loc":{"start":{"line":334,"column":15},"end":{"line":337,"column":7}},"locations":[{"start":{"line":334,"column":15},"end":{"line":337,"column":7}}]},"48":{"type":"branch","line":344,"loc":{"start":{"line":344,"column":2},"end":{"line":349,"column":3}},"locations":[{"start":{"line":344,"column":2},"end":{"line":349,"column":3}}]},"49":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":2},"end":{"line":359,"column":3}},"locations":[{"start":{"line":351,"column":2},"end":{"line":359,"column":3}}]},"50":{"type":"branch","line":353,"loc":{"start":{"line":353,"column":37},"end":{"line":355,"column":5}},"locations":[{"start":{"line":353,"column":37},"end":{"line":355,"column":5}}]},"51":{"type":"branch","line":356,"loc":{"start":{"line":356,"column":-1},"end":{"line":359,"column":3}},"locations":[{"start":{"line":356,"column":-1},"end":{"line":359,"column":3}}]},"52":{"type":"branch","line":364,"loc":{"start":{"line":364,"column":2},"end":{"line":386,"column":3}},"locations":[{"start":{"line":364,"column":2},"end":{"line":386,"column":3}}]},"53":{"type":"branch","line":373,"loc":{"start":{"line":373,"column":-1},"end":{"line":386,"column":3}},"locations":[{"start":{"line":373,"column":-1},"end":{"line":386,"column":3}}]},"54":{"type":"branch","line":406,"loc":{"start":{"line":406,"column":0},"end":{"line":408,"column":1}},"locations":[{"start":{"line":406,"column":0},"end":{"line":408,"column":1}}]},"55":{"type":"branch","line":413,"loc":{"start":{"line":413,"column":0},"end":{"line":415,"column":1}},"locations":[{"start":{"line":413,"column":0},"end":{"line":415,"column":1}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[5500],"7":[55],"8":[55],"9":[1],"10":[0],"11":[0],"12":[40],"13":[1],"14":[39],"15":[0],"16":[39],"17":[0],"18":[39],"19":[0],"20":[39],"21":[37],"22":[35],"23":[4],"24":[1],"25":[0],"26":[39],"27":[39],"28":[0],"29":[0],"30":[0],"31":[0],"32":[61],"33":[61],"34":[60],"35":[55],"36":[8],"37":[52],"38":[39],"39":[61],"40":[0],"41":[61],"42":[37],"43":[0],"44":[56],"45":[0],"46":[23],"47":[39],"48":[37],"49":[73],"50":[18],"51":[55],"52":[61],"53":[0],"54":[61],"55":[39]},"fnMap":{"0":{"name":"DefaultDialer","decl":{"start":{"line":97,"column":2},"end":{"line":117,"column":3}},"loc":{"start":{"line":97,"column":2},"end":{"line":117,"column":3}},"line":97},"1":{"name":"isStarted","decl":{"start":{"line":119,"column":2},"end":{"line":121,"column":3}},"loc":{"start":{"line":119,"column":2},"end":{"line":121,"column":3}},"line":119},"2":{"name":"start","decl":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"line":123},"3":{"name":"stop","decl":{"start":{"line":130,"column":2},"end":{"line":146,"column":3}},"loc":{"start":{"line":130,"column":2},"end":{"line":146,"column":3}},"line":130},"4":{"name":"dial","decl":{"start":{"line":153,"column":2},"end":{"line":218,"column":3}},"loc":{"start":{"line":153,"column":2},"end":{"line":218,"column":3}},"line":153},"5":{"name":"_createDialTarget","decl":{"start":{"line":228,"column":2},"end":{"line":266,"column":3}},"loc":{"start":{"line":228,"column":2},"end":{"line":266,"column":3}},"line":228},"6":{"name":"_loadAddresses","decl":{"start":{"line":271,"column":2},"end":{"line":289,"column":3}},"loc":{"start":{"line":271,"column":2},"end":{"line":289,"column":3}},"line":271},"7":{"name":"_createPendingDial","decl":{"start":{"line":294,"column":2},"end":{"line":342,"column":3}},"loc":{"start":{"line":294,"column":2},"end":{"line":342,"column":3}},"line":294},"8":{"name":"dialAction","decl":{"start":{"line":299,"column":35},"end":{"line":308,"column":5}},"loc":{"start":{"line":299,"column":35},"end":{"line":308,"column":5}},"line":299},"9":{"name":"destroy","decl":{"start":{"line":334,"column":15},"end":{"line":337,"column":7}},"loc":{"start":{"line":334,"column":15},"end":{"line":337,"column":7}},"line":334},"10":{"name":"getTokens","decl":{"start":{"line":344,"column":2},"end":{"line":349,"column":3}},"loc":{"start":{"line":344,"column":2},"end":{"line":349,"column":3}},"line":344},"11":{"name":"releaseToken","decl":{"start":{"line":351,"column":2},"end":{"line":359,"column":3}},"loc":{"start":{"line":351,"column":2},"end":{"line":359,"column":3}},"line":351},"12":{"name":"_resolve","decl":{"start":{"line":364,"column":2},"end":{"line":386,"column":3}},"loc":{"start":{"line":364,"column":2},"end":{"line":386,"column":3}},"line":364},"13":{"name":"_resolveRecord","decl":{"start":{"line":391,"column":2},"end":{"line":400,"column":3}},"loc":{"start":{"line":391,"column":2},"end":{"line":400,"column":3}},"line":391},"14":{"name":"isTruthy","decl":{"start":{"line":406,"column":0},"end":{"line":408,"column":1}},"loc":{"start":{"line":406,"column":0},"end":{"line":408,"column":1}},"line":406},"15":{"name":"randomId","decl":{"start":{"line":413,"column":0},"end":{"line":415,"column":1}},"loc":{"start":{"line":413,"column":0},"end":{"line":415,"column":1}},"line":413}},"f":{"0":55,"1":0,"2":55,"3":55,"4":40,"5":39,"6":39,"7":37,"8":56,"9":39,"10":37,"11":73,"12":61,"13":0,"14":61,"15":39}} +,"/home/ckousik/projects/js-libp2p/src/content-routing/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/content-routing/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":8}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":17}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":14}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":14}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":19}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":28}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":28}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":30}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":71}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":54}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":61}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":43}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":61}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":52}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":27}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":51}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":22}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":15}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":1}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":74}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":44}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":26}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":63}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":96}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":37}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":24}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":32}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":3}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":16}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":23}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":17}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":24}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":85}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":64}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":36}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":99}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":17}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":12}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":73}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":8}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":68}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":38}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":38}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":66}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":32}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":5}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":56}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":36}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":94}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":93}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":69}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":74}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":28}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":79}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":5}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":35}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":22}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":47}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":5}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":36}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":41}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":76}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":28}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":79}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":5}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":35}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":22}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":56}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":37}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":28}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":7}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":69}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":3}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":5}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":56}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":112}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":28}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":79}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":5}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":39}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":12}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":5}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":21}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":35}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":22}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":56}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":37}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":54}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":21}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":36}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":17}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":11}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":9}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":7}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":26}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":71}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":3}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":55,"33":55,"34":55,"35":55,"36":1,"37":1,"38":0,"39":0,"40":1,"41":1,"42":110,"43":110,"44":1,"45":1,"46":110,"47":110,"48":1,"49":1,"50":1,"51":1,"52":1,"53":50,"54":45,"55":45,"56":5,"57":5,"58":5,"59":5,"60":5,"61":5,"62":5,"63":5,"64":5,"65":0,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":2,"73":0,"74":0,"75":2,"76":2,"77":2,"78":1,"79":1,"80":1,"81":1,"82":1,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":1,"116":1,"117":1,"118":1,"119":1,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":1},"branchMap":{"0":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":2},"end":{"line":36,"column":3}},"locations":[{"start":{"line":32,"column":2},"end":{"line":36,"column":3}}]},"1":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":31},"end":{"line":33,"column":37}},"locations":[{"start":{"line":33,"column":31},"end":{"line":33,"column":37}}]},"2":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}}]},"3":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"4":{"type":"branch","line":53,"loc":{"start":{"line":53,"column":2},"end":{"line":66,"column":3}},"locations":[{"start":{"line":53,"column":2},"end":{"line":66,"column":3}}]},"5":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":35},"end":{"line":56,"column":5}},"locations":[{"start":{"line":54,"column":35},"end":{"line":56,"column":5}}]},"6":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":-1},"end":{"line":65,"column":5}},"locations":[{"start":{"line":57,"column":-1},"end":{"line":65,"column":5}}]},"7":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":-1},"end":{"line":66,"column":3}},"locations":[{"start":{"line":66,"column":-1},"end":{"line":66,"column":3}}]},"8":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":28},"end":{"line":60,"column":72}},"locations":[{"start":{"line":60,"column":28},"end":{"line":60,"column":72}}]},"9":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":6},"end":{"line":62,"column":67}},"locations":[{"start":{"line":62,"column":6},"end":{"line":62,"column":67}}]},"10":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":6},"end":{"line":63,"column":37}},"locations":[{"start":{"line":63,"column":6},"end":{"line":63,"column":37}}]},"11":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":38}},"locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":38}}]},"12":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":72,"column":2},"end":{"line":78,"column":3}}]},"13":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":35},"end":{"line":75,"column":5}},"locations":[{"start":{"line":73,"column":35},"end":{"line":75,"column":5}}]},"14":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":39},"end":{"line":77,"column":91}},"locations":[{"start":{"line":77,"column":39},"end":{"line":77,"column":91}}]}},"b":{"0":[55],"1":[0],"2":[110],"3":[110],"4":[50],"5":[45],"6":[5],"7":[0],"8":[5],"9":[5],"10":[5],"11":[5],"12":[2],"13":[0],"14":[2]},"fnMap":{"0":{"name":"CompoundContentRouting","decl":{"start":{"line":32,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":32,"column":2},"end":{"line":36,"column":3}},"line":32},"1":{"name":"isStarted","decl":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"line":38},"2":{"name":"start","decl":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"line":42},"3":{"name":"stop","decl":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"line":46},"4":{"name":"findProviders","decl":{"start":{"line":53,"column":2},"end":{"line":66,"column":3}},"loc":{"start":{"line":53,"column":2},"end":{"line":66,"column":3}},"line":53},"5":{"name":"provide","decl":{"start":{"line":72,"column":2},"end":{"line":78,"column":3}},"loc":{"start":{"line":72,"column":2},"end":{"line":78,"column":3}},"line":72},"6":{"name":"put","decl":{"start":{"line":83,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":83,"column":2},"end":{"line":93,"column":3}},"line":83},"7":{"name":"get","decl":{"start":{"line":99,"column":2},"end":{"line":115,"column":3}},"loc":{"start":{"line":99,"column":2},"end":{"line":115,"column":3}},"line":99},"8":{"name":"getMany","decl":{"start":{"line":120,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":120,"column":2},"end":{"line":149,"column":3}},"line":120}},"f":{"0":55,"1":0,"2":110,"3":110,"4":50,"5":2,"6":0,"7":0,"8":0}} +,"/home/ckousik/projects/js-libp2p/src/content-routing/utils.ts": {"path":"/home/ckousik/projects/js-libp2p/src/content-routing/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":45}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":61}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":89}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":39}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":52}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":61}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":4}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":1}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":3}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":26}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":24}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":35}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":24}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":39}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":18}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":32}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":15}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":4}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":59}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":82}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":14}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":36}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":10}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":14}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":3}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":19}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":54}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":5,"12":1,"13":1,"14":1,"15":1,"16":5,"17":4,"18":1,"19":1,"20":1,"21":1,"22":1,"23":5,"24":5,"25":5,"26":5,"27":1,"28":1,"29":0,"30":0,"31":1,"32":1,"33":1,"34":1,"35":5,"36":5,"37":1,"38":1,"39":1,"40":1,"41":1,"42":5,"43":5,"44":5,"45":1,"46":1,"47":1,"48":0,"49":4,"50":4,"51":4,"52":4,"53":5},"branchMap":{"0":{"type":"branch","line":11,"loc":{"start":{"line":11,"column":7},"end":{"line":18,"column":1}},"locations":[{"start":{"line":11,"column":7},"end":{"line":18,"column":1}}]},"1":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":-1},"end":{"line":18,"column":1}},"locations":[{"start":{"line":18,"column":-1},"end":{"line":18,"column":1}}]},"2":{"type":"branch","line":12,"loc":{"start":{"line":12,"column":22},"end":{"line":17,"column":3}},"locations":[{"start":{"line":12,"column":22},"end":{"line":17,"column":3}}]},"3":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":6},"end":{"line":37,"column":1}},"locations":[{"start":{"line":23,"column":6},"end":{"line":37,"column":1}}]},"4":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":24},"end":{"line":36,"column":3}},"locations":[{"start":{"line":27,"column":24},"end":{"line":36,"column":3}}]},"5":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":38},"end":{"line":31,"column":5}},"locations":[{"start":{"line":29,"column":38},"end":{"line":31,"column":5}}]},"6":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":7},"end":{"line":54,"column":1}},"locations":[{"start":{"line":42,"column":7},"end":{"line":54,"column":1}}]},"7":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":35},"end":{"line":49,"column":3}},"locations":[{"start":{"line":45,"column":35},"end":{"line":49,"column":3}}]},"8":{"type":"branch","line":49,"loc":{"start":{"line":49,"column":-1},"end":{"line":49,"column":3}},"locations":[{"start":{"line":49,"column":-1},"end":{"line":49,"column":3}}]},"9":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":-1},"end":{"line":53,"column":3}},"locations":[{"start":{"line":50,"column":-1},"end":{"line":53,"column":3}}]}},"b":{"0":[5],"1":[4],"2":[1],"3":[5],"4":[1],"5":[0],"6":[5],"7":[1],"8":[0],"9":[4]},"fnMap":{"0":{"name":"storeAddresses","decl":{"start":{"line":11,"column":7},"end":{"line":18,"column":1}},"loc":{"start":{"line":11,"column":7},"end":{"line":18,"column":1}},"line":11},"1":{"name":"uniquePeers","decl":{"start":{"line":23,"column":6},"end":{"line":37,"column":1}},"loc":{"start":{"line":23,"column":6},"end":{"line":37,"column":1}},"line":23},"2":{"name":"requirePeers","decl":{"start":{"line":42,"column":7},"end":{"line":54,"column":1}},"loc":{"start":{"line":42,"column":7},"end":{"line":54,"column":1}},"line":42}},"f":{"0":5,"1":5,"2":5}} +,"/home/ckousik/projects/js-libp2p/src/dht/dht-content-routing.ts": {"path":"/home/ckousik/projects/js-libp2p/src/dht/dht-content-routing.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":71}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":43}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":54}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":55}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":58}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":26}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":18}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":28}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":64}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":69}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":38}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":31}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":7}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":89}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":50}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":76}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":59}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":35}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":26}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":7}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":58}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":3}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":1,"17":1,"18":0,"19":0,"20":1,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":1,"29":1,"30":0,"31":0,"32":1,"33":1,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"DHTContentRouting","decl":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"line":14},"1":{"name":"provide","decl":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"line":18},"2":{"name":"findProviders","decl":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"loc":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"line":22},"3":{"name":"put","decl":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"line":30},"4":{"name":"get","decl":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"loc":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"line":34}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0}} +,"/home/ckousik/projects/js-libp2p/src/dht/dht-peer-routing.ts": {"path":"/home/ckousik/projects/js-libp2p/src/dht/dht-peer-routing.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":65}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":48}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":55}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":54}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":55}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":52}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":26}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":18}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":63}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":67}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":25}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":7}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":69}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":3}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":73}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":71}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":40}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":24}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":7}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":1,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"DHTPeerRouting","decl":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"line":14},"1":{"name":"findPeer","decl":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"line":18},"2":{"name":"getClosestPeers","decl":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"line":28}},"f":{"0":0,"1":0,"2":0}} +,"/home/ckousik/projects/js-libp2p/src/dht/dummy-dht.ts": {"path":"/home/ckousik/projects/js-libp2p/src/dht/dummy-dht.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":75}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":75}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":57}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":84}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":25}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":3}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":31}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":25}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":71}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":25}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":71}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":71}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":47}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":71}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":42}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":71}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":49}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":71}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":41}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":71}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":3}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":37}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":71}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":50}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":71}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":3}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":71}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":3}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":47}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":71}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":1,"16":1,"17":0,"18":0,"19":1,"20":1,"21":0,"22":0,"23":1,"24":1,"25":0,"26":0,"27":1,"28":1,"29":0,"30":0,"31":1,"32":1,"33":0,"34":0,"35":1,"36":1,"37":0,"38":0,"39":1,"40":1,"41":0,"42":0,"43":1,"44":1,"45":0,"46":0,"47":1,"48":1,"49":0,"50":0,"51":1,"52":1,"53":0,"54":0,"55":1,"56":1,"57":0,"58":0,"59":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"get wan","decl":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"line":17},"1":{"name":"get lan","decl":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"line":21},"2":{"name":"get","decl":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"loc":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"line":25},"3":{"name":"findProviders","decl":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"line":29},"4":{"name":"findPeer","decl":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"line":33},"5":{"name":"getClosestPeers","decl":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"line":37},"6":{"name":"provide","decl":{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},"line":41},"7":{"name":"put","decl":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"line":45},"8":{"name":"getMode","decl":{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},"loc":{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},"line":49},"9":{"name":"setMode","decl":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"loc":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"line":53},"10":{"name":"refreshRoutingTable","decl":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"loc":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"line":57}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0}} +,"/home/ckousik/projects/js-libp2p/src/fetch/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/fetch/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":66}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":36}}},"s":{"0":1,"1":1,"2":1,"3":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/fetch/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/fetch/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":64}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":61}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":58}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":80}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":54}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":52}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":40}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":76}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":70}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":77}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":35}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":24}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":27}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":63}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":17}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":1}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":16}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":18}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":33}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":43}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":1}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":41}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":22}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":38}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":1}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":86}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":96}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":99}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":97}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":48}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":34}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":53}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":63}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":26}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":41}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":76}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":24}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":32}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":94}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":80}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":54}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":20}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":18}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":69}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":35}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":23}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":10}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":24}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":29}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":10}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":8}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":53}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":54}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":6}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":23}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":3}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":0}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":17}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":59}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":24}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":3}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":16}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":23}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":89}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":5}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":99}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":48}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":92}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":25}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":31}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":34}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":49}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":25}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":62}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":66}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":39}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":11}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":31}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":61}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":16}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":9}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":58}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":14}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":8}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":30}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":52}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":26}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":32}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":51}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":20}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":20}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":33}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":41}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":28}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":83}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":11}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":52}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":36}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":49}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":51}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":34}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":13}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":56}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":58}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":25}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":13}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":52}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":54}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":62}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":115}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":13}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":22}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":56}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":92}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":13}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":11}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":9}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":7}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":0}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":27}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":15}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":38}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":33}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":7}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":27}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":22}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":7}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":5}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":3}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":5}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":98}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":97}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":25}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":5}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":50}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":27}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":21}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":15}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":13}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":18}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":33}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":39}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":26}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":81}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":9}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":44}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":48}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":35}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":66}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":29}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":68}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":55}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":29}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":63}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":68}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":18}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":70}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":94}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":11}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":16}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":64}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":109}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":77}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":9}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":44}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":8}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":18}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":12}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":3}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":0}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":5}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":97}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":22}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":5}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":36}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":55}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":35}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":47}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":7}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":5}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":3}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":0}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":5}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":94}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":26}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":4}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":13}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":4}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":10}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":11}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":76}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":8}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":67}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":43}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":137}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":5}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":44}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":3}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":0}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":5}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":94}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":27}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":4}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":13}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":4}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":10}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":11}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":60}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":8}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":5}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":70}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":25}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":61}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":38}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":14}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":7}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":5}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":39}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":3}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":55,"62":55,"63":55,"64":55,"65":55,"66":55,"67":55,"68":1,"69":1,"70":55,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":55,"79":55,"80":55,"81":55,"82":55,"83":55,"84":1,"85":1,"86":55,"87":55,"88":55,"89":1,"90":1,"91":0,"92":0,"93":1,"94":1,"95":1,"96":1,"97":1,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":1},"branchMap":{"0":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":2},"end":{"line":68,"column":3}},"locations":[{"start":{"line":61,"column":2},"end":{"line":68,"column":3}}]},"1":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":43},"end":{"line":64,"column":55}},"locations":[{"start":{"line":64,"column":43},"end":{"line":64,"column":55}}]},"2":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":2},"end":{"line":84,"column":3}},"locations":[{"start":{"line":70,"column":2},"end":{"line":84,"column":3}}]},"3":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"locations":[{"start":{"line":86,"column":2},"end":{"line":89,"column":3}}]}},"b":{"0":[55],"1":[0],"2":[55],"3":[55]},"fnMap":{"0":{"name":"FetchService","decl":{"start":{"line":61,"column":2},"end":{"line":68,"column":3}},"loc":{"start":{"line":61,"column":2},"end":{"line":68,"column":3}},"line":61},"1":{"name":"start","decl":{"start":{"line":70,"column":2},"end":{"line":84,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":84,"column":3}},"line":70},"2":{"name":"components.registrar.handle.maxInboundStreams","decl":{"start":{"line":71,"column":58},"end":{"line":79,"column":5}},"loc":{"start":{"line":71,"column":58},"end":{"line":79,"column":5}},"line":71},"3":{"name":"stop","decl":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"loc":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"line":86},"4":{"name":"isStarted","decl":{"start":{"line":91,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":91,"column":2},"end":{"line":93,"column":3}},"line":91},"5":{"name":"fetch","decl":{"start":{"line":98,"column":2},"end":{"line":174,"column":3}},"loc":{"start":{"line":98,"column":2},"end":{"line":174,"column":3}},"line":98},"6":{"name":"handleMessage","decl":{"start":{"line":181,"column":2},"end":{"line":221,"column":3}},"loc":{"start":{"line":181,"column":2},"end":{"line":221,"column":3}},"line":181},"7":{"name":"_getLookupFunction","decl":{"start":{"line":227,"column":2},"end":{"line":233,"column":3}},"loc":{"start":{"line":227,"column":2},"end":{"line":233,"column":3}},"line":227},"8":{"name":"registerLookupFunction","decl":{"start":{"line":246,"column":2},"end":{"line":252,"column":3}},"loc":{"start":{"line":246,"column":2},"end":{"line":252,"column":3}},"line":246},"9":{"name":"unregisterLookupFunction","decl":{"start":{"line":265,"column":2},"end":{"line":275,"column":3}},"loc":{"start":{"line":265,"column":2},"end":{"line":275,"column":3}},"line":265}},"f":{"0":55,"1":55,"2":0,"3":55,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0}} +,"/home/ckousik/projects/js-libp2p/src/fetch/pb/proto.ts": {"path":"/home/ckousik/projects/js-libp2p/src/fetch/pb/proto.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":31}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":20}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":31}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":33}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":51}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":25}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":61}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":45}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":18}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":9}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":67}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":22}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":34}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":9}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":45}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":20}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":9}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":26}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":24}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":9}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":69}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":37}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":30}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":19}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":46}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":19}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":20}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":38}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":19}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":11}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":9}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":18}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":8}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":17}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":3}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":60}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":51}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":3}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":77}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":51}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":32}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":34}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":18}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":1}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":32}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":26}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":14}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":28}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":19}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":27}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":11}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":18}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":13}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":3}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":0}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":31}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":32}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":56}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":3}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":34}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":52}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":25}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":62}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":45}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":9}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":106}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":21}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":64}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":9}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":91}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":22}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":27}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":45}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":20}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":9}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":30}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":26}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":32}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":33}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":9}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":69}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":34}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":37}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":30}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":19}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":74}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":19}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":19}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":39}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":19}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":20}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":38}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":19}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":11}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":9}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":18}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":8}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":17}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":3}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":61}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":52}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":3}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":78}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":52}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":3}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":1,"58":1,"59":0,"60":0,"61":1,"62":1,"63":0,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":0,"88":0,"89":1,"90":1,"91":1,"92":1,"93":1,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":1,"144":1,"145":0,"146":0,"147":1,"148":1,"149":0,"150":0,"151":1},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":0},"end":{"line":66,"column":1}},"locations":[{"start":{"line":14,"column":0},"end":{"line":66,"column":1}}]},"1":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":0},"end":{"line":152,"column":1}},"locations":[{"start":{"line":73,"column":0},"end":{"line":152,"column":1}}]},"2":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":29},"end":{"line":86,"column":31}},"locations":[{"start":{"line":86,"column":29},"end":{"line":86,"column":31}}]},"3":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":74,"column":2},"end":{"line":78,"column":3}}]},"4":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":2},"end":{"line":84,"column":3}},"locations":[{"start":{"line":80,"column":2},"end":{"line":84,"column":3}}]},"5":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":2},"end":{"line":90,"column":3}},"locations":[{"start":{"line":86,"column":2},"end":{"line":90,"column":3}}]}},"b":{"0":[1],"1":[1],"2":[0],"3":[1],"4":[1],"5":[1]},"fnMap":{"0":{"name":"FetchRequest.codec","decl":{"start":{"line":17,"column":23},"end":{"line":57,"column":3}},"loc":{"start":{"line":17,"column":23},"end":{"line":57,"column":3}},"line":17},"1":{"name":"FetchRequest.encode","decl":{"start":{"line":59,"column":24},"end":{"line":61,"column":3}},"loc":{"start":{"line":59,"column":24},"end":{"line":61,"column":3}},"line":59},"2":{"name":"FetchRequest.decode","decl":{"start":{"line":63,"column":24},"end":{"line":65,"column":3}},"loc":{"start":{"line":63,"column":24},"end":{"line":65,"column":3}},"line":63},"3":{"name":"StatusCode.codec","decl":{"start":{"line":87,"column":25},"end":{"line":89,"column":5}},"loc":{"start":{"line":87,"column":25},"end":{"line":89,"column":5}},"line":87},"4":{"name":"FetchResponse.codec","decl":{"start":{"line":94,"column":23},"end":{"line":143,"column":3}},"loc":{"start":{"line":94,"column":23},"end":{"line":143,"column":3}},"line":94},"5":{"name":"FetchResponse.encode","decl":{"start":{"line":145,"column":24},"end":{"line":147,"column":3}},"loc":{"start":{"line":145,"column":24},"end":{"line":147,"column":3}},"line":145},"6":{"name":"FetchResponse.decode","decl":{"start":{"line":149,"column":24},"end":{"line":151,"column":3}},"loc":{"start":{"line":149,"column":24},"end":{"line":151,"column":3}},"line":149}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0}} +,"/home/ckousik/projects/js-libp2p/src/identify/consts.ts": {"path":"/home/ckousik/projects/js-libp2p/src/identify/consts.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":58}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":51}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":65}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":75}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":48}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":53}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":63}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":59}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":64}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/identify/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/identify/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":28}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":76}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":62}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":42}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":8}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":22}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":28}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":36}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":41}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":39}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":43}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":20}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":36}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":80}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":70}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":61}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":48}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":60}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":54}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":40}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":77}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":55}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":61}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":71}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":37}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":116}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":42}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":22}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":1}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":38}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":57}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":24}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":63}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":22}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":5}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":78}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":17}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":82}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":33}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":27}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":28}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":32}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":32}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":1}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":44}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":16}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":22}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":22}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":32}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":51}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":56}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":46}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":50}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":27}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":24}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":44}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":26}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":82}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":32}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":24}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":20}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":133}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":147}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":31}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":17}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":77}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":18}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":5}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":54}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":81}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":35}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":48}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":6}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":57}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":78}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":35}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":50}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":64}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":7}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":6}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":56}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":77}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":35}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":50}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":64}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":7}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":6}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":3}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":16}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":23}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":3}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":18}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":23}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":12}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":5}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":143}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":149}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":80}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":52}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":22}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":8}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":8}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":53}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":54}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":6}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":84}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":48}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":22}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":8}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":8}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":58}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":58}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":6}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":23}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":3}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":17}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":70}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":74}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":24}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":60}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":5}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":57}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":111}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":91}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":91}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":56}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":36}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":72}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":11}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":31}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":61}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":16}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":11}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":77}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":42}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":10}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":32}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":72}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":31}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":28}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":24}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":29}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":21}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":14}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":21}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":10}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":26}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":26}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":64}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":17}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":29}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":24}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":9}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":0}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":33}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":7}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":6}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":0}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":29}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":5}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":41}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":28}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":47}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":28}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":12}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":5}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":40}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":0}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":76}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":36}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":62}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":67}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":16}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":7}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":0}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":28}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":5}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":0}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":32}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":3}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":91}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":25}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":31}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":34}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":0}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":49}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":25}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":66}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":39}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":11}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":31}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":61}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":16}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":5}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":9}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":71}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":14}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":8}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":30}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":52}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":30}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":11}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":15}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":19}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":86}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":11}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":45}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":7}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":25}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":90}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":7}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":11}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":36}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":26}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":53}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":7}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":15}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":38}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":33}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":7}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":0}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":27}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":22}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":7}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":5}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":3}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":0}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":5}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":86}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":87}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":29}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":5}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":86}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":61}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":11}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":16}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":18}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":16}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":19}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":23}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":19}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":21}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":15}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":0}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":28}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":108}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":0}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":46}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":0}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":44}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":106}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":5}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":0}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":44}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":93}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":5}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":0}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":43}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":77}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":0}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":35}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":52}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":11}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":97}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":0}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":42}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":110}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":9}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":0}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":86}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":70}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":0}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":37}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":121}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":11}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":0}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":40}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":127}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":11}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":0}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":79}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":0}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":16}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":9}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":26}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":98}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":7}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":12}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":55}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":5}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":55}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":0}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":45}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":9}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":101}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":24}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":46}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":5}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":0}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":64}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":0}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":31}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":115}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":5}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":0}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":34}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":121}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":5}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":73}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":0}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":44}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":73}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":67}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":3}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":5}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":62}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":55}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":5}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":52}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":39}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":70}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":0}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":9}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":29}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":59}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":14}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":0}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":9}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":77}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":82}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":123}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":56}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":0}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":62}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":43}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":41}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":20}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":10}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":0}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":86}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":79}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":56}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":7}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":0}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":39}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":51}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":45}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":18}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":56}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":25}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":50}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":37}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":8}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":0}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":30}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":70}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":0}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":59}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":41}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":24}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":61}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":15}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":20}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":31}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":5}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":3}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":0}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":5}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":64}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":5}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":48}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":39}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":70}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":0}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":9}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":29}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":59}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":14}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":0}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":37}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":9}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":30}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":70}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":0}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":30}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":11}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":15}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":19}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":86}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":11}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":45}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":7}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":0}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":25}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":39}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":7}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":24}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":55}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":15}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":20}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":31}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":5}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":0}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":26}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":50}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":5}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":0}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":36}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":0}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":44}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":42}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":12}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":5}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":0}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":36}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":0}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":43}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":46}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":0}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":11}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":105}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":0}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":86}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":55}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":0}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":78}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":16}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":16}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":64}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":9}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":26}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":98}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":7}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":12}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":53}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":5}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":45}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":9}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":57}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":59}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":24}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":46}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":5}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":0}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":27}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":9}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":74}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":24}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":50}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":5}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":0}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":35}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":3}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":0}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":5}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":64}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":5}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":75}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":42}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":11}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":30}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":15}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":0}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":7}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":5}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":3}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":1}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":0}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":3}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":45}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":3}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":28}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":32}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":41}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":1}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":0}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":35}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":55,"91":55,"92":55,"93":55,"94":55,"95":55,"96":55,"97":55,"98":55,"99":55,"100":55,"101":55,"102":55,"103":55,"104":55,"105":84,"106":84,"107":55,"108":55,"109":55,"110":55,"111":368,"112":368,"113":368,"114":175,"115":175,"116":55,"117":55,"118":55,"119":55,"120":925,"121":925,"122":925,"123":776,"124":776,"125":55,"126":55,"127":1,"128":1,"129":951,"130":951,"131":1,"132":1,"133":55,"134":0,"135":0,"136":55,"137":55,"138":55,"139":55,"140":55,"141":62,"142":0,"143":62,"144":55,"145":55,"146":55,"147":55,"148":55,"149":34,"150":0,"151":34,"152":55,"153":55,"154":55,"155":55,"156":55,"157":55,"158":55,"159":1,"160":1,"161":55,"162":55,"163":55,"164":55,"165":55,"166":1,"167":1,"168":1,"169":1,"170":1,"171":456,"172":456,"173":456,"174":456,"175":456,"176":343,"177":343,"178":343,"179":343,"180":343,"181":343,"182":343,"183":343,"184":343,"185":343,"186":343,"187":343,"188":28,"189":28,"190":28,"191":28,"192":28,"193":28,"194":28,"195":28,"196":28,"197":28,"198":28,"199":28,"200":343,"201":315,"202":315,"203":343,"204":343,"205":28,"206":28,"207":343,"208":343,"209":343,"210":456,"211":456,"212":456,"213":456,"214":1,"215":1,"216":1,"217":1,"218":1,"219":951,"220":951,"221":495,"222":495,"223":456,"224":456,"225":456,"226":951,"227":369,"228":369,"229":369,"230":369,"231":26,"232":26,"233":343,"234":343,"235":343,"236":456,"237":456,"238":456,"239":1,"240":1,"241":84,"242":84,"243":84,"244":84,"245":84,"246":84,"247":84,"248":84,"249":84,"250":84,"251":84,"252":84,"253":84,"254":84,"255":84,"256":84,"257":84,"258":84,"259":84,"260":62,"261":62,"262":62,"263":62,"264":62,"265":62,"266":62,"267":62,"268":62,"269":84,"270":84,"271":84,"272":62,"273":84,"274":0,"275":0,"276":62,"277":62,"278":62,"279":84,"280":0,"281":0,"282":84,"283":84,"284":84,"285":84,"286":84,"287":84,"288":62,"289":62,"290":84,"291":84,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":84,"300":62,"301":62,"302":62,"303":62,"304":62,"305":62,"306":62,"307":62,"308":62,"309":62,"310":62,"311":84,"312":0,"313":0,"314":62,"315":62,"316":62,"317":84,"318":0,"319":0,"320":62,"321":84,"322":0,"323":0,"324":62,"325":62,"326":62,"327":62,"328":62,"329":62,"330":62,"331":62,"332":62,"333":62,"334":62,"335":0,"336":0,"337":62,"338":62,"339":61,"340":61,"341":61,"342":61,"343":61,"344":61,"345":61,"346":61,"347":61,"348":61,"349":61,"350":61,"351":61,"352":61,"353":62,"354":0,"355":0,"356":84,"357":0,"358":0,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":84,"366":0,"367":0,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":84,"383":84,"384":84,"385":1,"386":1,"387":1,"388":1,"389":1,"390":1,"391":62,"392":62,"393":62,"394":62,"395":62,"396":62,"397":62,"398":62,"399":62,"400":62,"401":62,"402":62,"403":62,"404":62,"405":62,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":62,"416":62,"417":62,"418":62,"419":62,"420":62,"421":62,"422":62,"423":62,"424":62,"425":62,"426":62,"427":62,"428":62,"429":62,"430":62,"431":62,"432":0,"433":62,"434":62,"435":62,"436":62,"437":62,"438":1,"439":1,"440":1,"441":1,"442":1,"443":34,"444":34,"445":34,"446":34,"447":34,"448":34,"449":34,"450":34,"451":34,"452":34,"453":34,"454":34,"455":34,"456":34,"457":34,"458":34,"459":34,"460":34,"461":34,"462":34,"463":34,"464":30,"465":34,"466":26,"467":26,"468":34,"469":4,"470":34,"471":34,"472":34,"473":34,"474":30,"475":34,"476":4,"477":4,"478":26,"479":26,"480":26,"481":34,"482":0,"483":0,"484":0,"485":26,"486":26,"487":26,"488":26,"489":26,"490":26,"491":26,"492":26,"493":26,"494":26,"495":26,"496":26,"497":26,"498":26,"499":26,"500":0,"501":0,"502":26,"503":0,"504":0,"505":34,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":1,"527":1,"528":1,"529":1,"530":1,"531":62,"532":62,"533":62,"534":62,"535":0,"536":0,"537":62,"538":62,"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1,"546":1,"547":1,"548":1,"549":1},"branchMap":{"0":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":2},"end":{"line":127,"column":3}},"locations":[{"start":{"line":90,"column":2},"end":{"line":127,"column":3}}]},"1":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":71},"end":{"line":108,"column":5}},"locations":[{"start":{"line":105,"column":71},"end":{"line":108,"column":5}}]},"2":{"type":"branch","line":111,"loc":{"start":{"line":111,"column":68},"end":{"line":117,"column":5}},"locations":[{"start":{"line":111,"column":68},"end":{"line":117,"column":5}}]},"3":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":49},"end":{"line":116,"column":7}},"locations":[{"start":{"line":114,"column":49},"end":{"line":116,"column":7}}]},"4":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":67},"end":{"line":126,"column":5}},"locations":[{"start":{"line":120,"column":67},"end":{"line":126,"column":5}}]},"5":{"type":"branch","line":123,"loc":{"start":{"line":123,"column":49},"end":{"line":125,"column":7}},"locations":[{"start":{"line":123,"column":49},"end":{"line":125,"column":7}}]},"6":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":2},"end":{"line":131,"column":3}},"locations":[{"start":{"line":129,"column":2},"end":{"line":131,"column":3}}]},"7":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":2},"end":{"line":159,"column":3}},"locations":[{"start":{"line":133,"column":2},"end":{"line":159,"column":3}}]},"8":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":22},"end":{"line":136,"column":5}},"locations":[{"start":{"line":134,"column":22},"end":{"line":136,"column":5}}]},"9":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":69},"end":{"line":145,"column":5}},"locations":[{"start":{"line":141,"column":69},"end":{"line":145,"column":5}}]},"10":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":73},"end":{"line":153,"column":5}},"locations":[{"start":{"line":149,"column":73},"end":{"line":153,"column":5}}]},"11":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":2},"end":{"line":166,"column":3}},"locations":[{"start":{"line":161,"column":2},"end":{"line":166,"column":3}}]},"12":{"type":"branch","line":171,"loc":{"start":{"line":171,"column":2},"end":{"line":214,"column":3}},"locations":[{"start":{"line":171,"column":2},"end":{"line":214,"column":3}}]},"13":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":74},"end":{"line":173,"column":90}},"locations":[{"start":{"line":173,"column":74},"end":{"line":173,"column":90}}]},"14":{"type":"branch","line":176,"loc":{"start":{"line":176,"column":35},"end":{"line":211,"column":5}},"locations":[{"start":{"line":176,"column":35},"end":{"line":211,"column":5}}]},"15":{"type":"branch","line":183,"loc":{"start":{"line":183,"column":8},"end":{"line":183,"column":16}},"locations":[{"start":{"line":183,"column":8},"end":{"line":183,"column":16}}]},"16":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":-1},"end":{"line":201,"column":15}},"locations":[{"start":{"line":189,"column":-1},"end":{"line":201,"column":15}}]},"17":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":8},"end":{"line":204,"column":16}},"locations":[{"start":{"line":201,"column":8},"end":{"line":204,"column":16}}]},"18":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":28},"end":{"line":207,"column":9}},"locations":[{"start":{"line":205,"column":28},"end":{"line":207,"column":9}}]},"19":{"type":"branch","line":219,"loc":{"start":{"line":219,"column":2},"end":{"line":239,"column":3}},"locations":[{"start":{"line":219,"column":2},"end":{"line":239,"column":3}}]},"20":{"type":"branch","line":221,"loc":{"start":{"line":221,"column":27},"end":{"line":223,"column":5}},"locations":[{"start":{"line":221,"column":27},"end":{"line":223,"column":5}}]},"21":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":-1},"end":{"line":227,"column":75}},"locations":[{"start":{"line":224,"column":-1},"end":{"line":227,"column":75}}]},"22":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":75},"end":{"line":236,"column":5}},"locations":[{"start":{"line":227,"column":75},"end":{"line":236,"column":5}}]},"23":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":66},"end":{"line":233,"column":7}},"locations":[{"start":{"line":231,"column":66},"end":{"line":233,"column":7}}]},"24":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":-1},"end":{"line":236,"column":5}},"locations":[{"start":{"line":234,"column":-1},"end":{"line":236,"column":5}}]},"25":{"type":"branch","line":237,"loc":{"start":{"line":237,"column":-1},"end":{"line":239,"column":3}},"locations":[{"start":{"line":237,"column":-1},"end":{"line":239,"column":3}}]},"26":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":2},"end":{"line":292,"column":3}},"locations":[{"start":{"line":241,"column":2},"end":{"line":292,"column":3}}]},"27":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":8},"end":{"line":254,"column":16}},"locations":[{"start":{"line":254,"column":8},"end":{"line":254,"column":16}}]},"28":{"type":"branch","line":261,"loc":{"start":{"line":261,"column":-1},"end":{"line":269,"column":86}},"locations":[{"start":{"line":261,"column":-1},"end":{"line":269,"column":86}}]},"29":{"type":"branch","line":273,"loc":{"start":{"line":273,"column":-1},"end":{"line":274,"column":24}},"locations":[{"start":{"line":273,"column":-1},"end":{"line":274,"column":24}}]},"30":{"type":"branch","line":274,"loc":{"start":{"line":274,"column":24},"end":{"line":276,"column":7}},"locations":[{"start":{"line":274,"column":24},"end":{"line":276,"column":7}}]},"31":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":-1},"end":{"line":280,"column":15}},"locations":[{"start":{"line":277,"column":-1},"end":{"line":280,"column":15}}]},"32":{"type":"branch","line":280,"loc":{"start":{"line":280,"column":8},"end":{"line":282,"column":7}},"locations":[{"start":{"line":280,"column":8},"end":{"line":282,"column":7}}]},"33":{"type":"branch","line":288,"loc":{"start":{"line":288,"column":26},"end":{"line":290,"column":7}},"locations":[{"start":{"line":288,"column":26},"end":{"line":290,"column":7}}]},"34":{"type":"branch","line":271,"loc":{"start":{"line":271,"column":8},"end":{"line":271,"column":45}},"locations":[{"start":{"line":271,"column":8},"end":{"line":271,"column":45}}]},"35":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":2},"end":{"line":385,"column":3}},"locations":[{"start":{"line":299,"column":2},"end":{"line":385,"column":3}}]},"36":{"type":"branch","line":301,"loc":{"start":{"line":301,"column":-1},"end":{"line":312,"column":27}},"locations":[{"start":{"line":301,"column":-1},"end":{"line":312,"column":27}}]},"37":{"type":"branch","line":312,"loc":{"start":{"line":312,"column":27},"end":{"line":314,"column":5}},"locations":[{"start":{"line":312,"column":27},"end":{"line":314,"column":5}}]},"38":{"type":"branch","line":315,"loc":{"start":{"line":315,"column":-1},"end":{"line":318,"column":43}},"locations":[{"start":{"line":315,"column":-1},"end":{"line":318,"column":43}}]},"39":{"type":"branch","line":318,"loc":{"start":{"line":318,"column":43},"end":{"line":320,"column":5}},"locations":[{"start":{"line":318,"column":43},"end":{"line":320,"column":5}}]},"40":{"type":"branch","line":321,"loc":{"start":{"line":321,"column":-1},"end":{"line":322,"column":43}},"locations":[{"start":{"line":321,"column":-1},"end":{"line":322,"column":43}}]},"41":{"type":"branch","line":322,"loc":{"start":{"line":322,"column":43},"end":{"line":324,"column":5}},"locations":[{"start":{"line":322,"column":43},"end":{"line":324,"column":5}}]},"42":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":-1},"end":{"line":357,"column":11}},"locations":[{"start":{"line":325,"column":-1},"end":{"line":357,"column":11}}]},"43":{"type":"branch","line":335,"loc":{"start":{"line":335,"column":41},"end":{"line":337,"column":9}},"locations":[{"start":{"line":335,"column":41},"end":{"line":337,"column":9}}]},"44":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":85},"end":{"line":353,"column":9}},"locations":[{"start":{"line":339,"column":85},"end":{"line":353,"column":9}}]},"45":{"type":"branch","line":354,"loc":{"start":{"line":354,"column":8},"end":{"line":356,"column":7}},"locations":[{"start":{"line":354,"column":8},"end":{"line":356,"column":7}}]},"46":{"type":"branch","line":357,"loc":{"start":{"line":357,"column":5},"end":{"line":359,"column":5}},"locations":[{"start":{"line":357,"column":5},"end":{"line":359,"column":5}}]},"47":{"type":"branch","line":360,"loc":{"start":{"line":360,"column":-1},"end":{"line":366,"column":13}},"locations":[{"start":{"line":360,"column":-1},"end":{"line":366,"column":13}}]},"48":{"type":"branch","line":366,"loc":{"start":{"line":366,"column":6},"end":{"line":368,"column":5}},"locations":[{"start":{"line":366,"column":6},"end":{"line":368,"column":5}}]},"49":{"type":"branch","line":369,"loc":{"start":{"line":369,"column":-1},"end":{"line":383,"column":70}},"locations":[{"start":{"line":369,"column":-1},"end":{"line":383,"column":70}}]},"50":{"type":"branch","line":365,"loc":{"start":{"line":365,"column":74},"end":{"line":365,"column":99}},"locations":[{"start":{"line":365,"column":74},"end":{"line":365,"column":99}}]},"51":{"type":"branch","line":391,"loc":{"start":{"line":391,"column":2},"end":{"line":438,"column":3}},"locations":[{"start":{"line":391,"column":2},"end":{"line":438,"column":3}}]},"52":{"type":"branch","line":398,"loc":{"start":{"line":398,"column":6},"end":{"line":398,"column":14}},"locations":[{"start":{"line":398,"column":6},"end":{"line":398,"column":14}}]},"53":{"type":"branch","line":401,"loc":{"start":{"line":401,"column":56},"end":{"line":401,"column":77}},"locations":[{"start":{"line":401,"column":56},"end":{"line":401,"column":77}}]},"54":{"type":"branch","line":406,"loc":{"start":{"line":406,"column":61},"end":{"line":415,"column":7}},"locations":[{"start":{"line":406,"column":61},"end":{"line":415,"column":7}}]},"55":{"type":"branch","line":432,"loc":{"start":{"line":432,"column":6},"end":{"line":434,"column":14}},"locations":[{"start":{"line":432,"column":6},"end":{"line":434,"column":14}}]},"56":{"type":"branch","line":403,"loc":{"start":{"line":403,"column":75},"end":{"line":403,"column":122}},"locations":[{"start":{"line":403,"column":75},"end":{"line":403,"column":122}}]},"57":{"type":"branch","line":421,"loc":{"start":{"line":421,"column":36},"end":{"line":421,"column":54}},"locations":[{"start":{"line":421,"column":36},"end":{"line":421,"column":54}}]},"58":{"type":"branch","line":443,"loc":{"start":{"line":443,"column":2},"end":{"line":526,"column":3}},"locations":[{"start":{"line":443,"column":2},"end":{"line":526,"column":3}}]},"59":{"type":"branch","line":450,"loc":{"start":{"line":450,"column":6},"end":{"line":450,"column":14}},"locations":[{"start":{"line":450,"column":6},"end":{"line":450,"column":14}}]},"60":{"type":"branch","line":465,"loc":{"start":{"line":465,"column":-1},"end":{"line":466,"column":24}},"locations":[{"start":{"line":465,"column":-1},"end":{"line":466,"column":24}}]},"61":{"type":"branch","line":466,"loc":{"start":{"line":466,"column":24},"end":{"line":468,"column":7}},"locations":[{"start":{"line":466,"column":24},"end":{"line":468,"column":7}}]},"62":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":6},"end":{"line":471,"column":14}},"locations":[{"start":{"line":469,"column":6},"end":{"line":471,"column":14}}]},"63":{"type":"branch","line":471,"loc":{"start":{"line":471,"column":5},"end":{"line":471,"column":15}},"locations":[{"start":{"line":471,"column":5},"end":{"line":471,"column":15}}]},"64":{"type":"branch","line":475,"loc":{"start":{"line":475,"column":-1},"end":{"line":476,"column":25}},"locations":[{"start":{"line":475,"column":-1},"end":{"line":476,"column":25}}]},"65":{"type":"branch","line":476,"loc":{"start":{"line":476,"column":25},"end":{"line":478,"column":5}},"locations":[{"start":{"line":476,"column":25},"end":{"line":478,"column":5}}]},"66":{"type":"branch","line":479,"loc":{"start":{"line":479,"column":-1},"end":{"line":482,"column":43}},"locations":[{"start":{"line":479,"column":-1},"end":{"line":482,"column":43}}]},"67":{"type":"branch","line":482,"loc":{"start":{"line":482,"column":43},"end":{"line":485,"column":5}},"locations":[{"start":{"line":482,"column":43},"end":{"line":485,"column":5}}]},"68":{"type":"branch","line":486,"loc":{"start":{"line":486,"column":-1},"end":{"line":506,"column":11}},"locations":[{"start":{"line":486,"column":-1},"end":{"line":506,"column":11}}]},"69":{"type":"branch","line":500,"loc":{"start":{"line":500,"column":9},"end":{"line":502,"column":9}},"locations":[{"start":{"line":500,"column":9},"end":{"line":502,"column":9}}]},"70":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":8},"end":{"line":505,"column":7}},"locations":[{"start":{"line":503,"column":8},"end":{"line":505,"column":7}}]},"71":{"type":"branch","line":506,"loc":{"start":{"line":506,"column":5},"end":{"line":526,"column":3}},"locations":[{"start":{"line":506,"column":5},"end":{"line":526,"column":3}}]},"72":{"type":"branch","line":463,"loc":{"start":{"line":463,"column":8},"end":{"line":463,"column":45}},"locations":[{"start":{"line":463,"column":8},"end":{"line":463,"column":45}}]},"73":{"type":"branch","line":531,"loc":{"start":{"line":531,"column":9},"end":{"line":539,"column":3}},"locations":[{"start":{"line":531,"column":9},"end":{"line":539,"column":3}}]},"74":{"type":"branch","line":535,"loc":{"start":{"line":535,"column":8},"end":{"line":537,"column":7}},"locations":[{"start":{"line":535,"column":8},"end":{"line":537,"column":7}}]}},"b":{"0":[55],"1":[84],"2":[368],"3":[175],"4":[925],"5":[776],"6":[951],"7":[55],"8":[0],"9":[62],"10":[34],"11":[55],"12":[456],"13":[480],"14":[343],"15":[0],"16":[28],"17":[315],"18":[28],"19":[951],"20":[495],"21":[456],"22":[369],"23":[26],"24":[343],"25":[456],"26":[84],"27":[0],"28":[62],"29":[62],"30":[0],"31":[62],"32":[0],"33":[62],"34":[62],"35":[84],"36":[62],"37":[0],"38":[62],"39":[0],"40":[62],"41":[0],"42":[62],"43":[0],"44":[61],"45":[0],"46":[0],"47":[1],"48":[0],"49":[1],"50":[3],"51":[62],"52":[0],"53":[0],"54":[0],"55":[0],"56":[141],"57":[141],"58":[34],"59":[0],"60":[30],"61":[26],"62":[4],"63":[30],"64":[30],"65":[4],"66":[26],"67":[0],"68":[26],"69":[0],"70":[0],"71":[0],"72":[34],"73":[62],"74":[0]},"fnMap":{"0":{"name":"IdentifyService","decl":{"start":{"line":90,"column":2},"end":{"line":127,"column":3}},"loc":{"start":{"line":90,"column":2},"end":{"line":127,"column":3}},"line":90},"1":{"name":"isStarted","decl":{"start":{"line":129,"column":2},"end":{"line":131,"column":3}},"loc":{"start":{"line":129,"column":2},"end":{"line":131,"column":3}},"line":129},"2":{"name":"start","decl":{"start":{"line":133,"column":2},"end":{"line":159,"column":3}},"loc":{"start":{"line":133,"column":2},"end":{"line":159,"column":3}},"line":133},"3":{"name":"components.registrar.handle.maxInboundStreams","decl":{"start":{"line":141,"column":69},"end":{"line":145,"column":5}},"loc":{"start":{"line":141,"column":69},"end":{"line":145,"column":5}},"line":141},"4":{"name":"components.registrar.handle.maxInboundStreams","decl":{"start":{"line":149,"column":73},"end":{"line":153,"column":5}},"loc":{"start":{"line":149,"column":73},"end":{"line":153,"column":5}},"line":149},"5":{"name":"stop","decl":{"start":{"line":161,"column":2},"end":{"line":166,"column":3}},"loc":{"start":{"line":161,"column":2},"end":{"line":166,"column":3}},"line":161},"6":{"name":"push","decl":{"start":{"line":171,"column":2},"end":{"line":214,"column":3}},"loc":{"start":{"line":171,"column":2},"end":{"line":214,"column":3}},"line":171},"7":{"name":"pushToPeerStore","decl":{"start":{"line":219,"column":2},"end":{"line":239,"column":3}},"loc":{"start":{"line":219,"column":2},"end":{"line":239,"column":3}},"line":219},"8":{"name":"_identify","decl":{"start":{"line":241,"column":2},"end":{"line":292,"column":3}},"loc":{"start":{"line":241,"column":2},"end":{"line":292,"column":3}},"line":241},"9":{"name":"identify","decl":{"start":{"line":299,"column":2},"end":{"line":385,"column":3}},"loc":{"start":{"line":299,"column":2},"end":{"line":385,"column":3}},"line":299},"10":{"name":"_handleIdentify","decl":{"start":{"line":391,"column":2},"end":{"line":438,"column":3}},"loc":{"start":{"line":391,"column":2},"end":{"line":438,"column":3}},"line":391},"11":{"name":"_handlePush","decl":{"start":{"line":443,"column":2},"end":{"line":526,"column":3}},"loc":{"start":{"line":443,"column":2},"end":{"line":526,"column":3}},"line":443},"12":{"name":"getCleanMultiaddr","decl":{"start":{"line":531,"column":9},"end":{"line":539,"column":3}},"loc":{"start":{"line":531,"column":9},"end":{"line":539,"column":3}},"line":531}},"f":{"0":55,"1":951,"2":55,"3":62,"4":34,"5":55,"6":456,"7":951,"8":84,"9":84,"10":62,"11":34,"12":62}} +,"/home/ckousik/projects/js-libp2p/src/identify/pb/message.ts": {"path":"/home/ckousik/projects/js-libp2p/src/identify/pb/message.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":71}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":27}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":23}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":24}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":27}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":21}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":31}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":1}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":27}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":29}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":47}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":25}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":57}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":45}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":18}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":9}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":42}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":22}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":39}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":9}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":39}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":36}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":9}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":36}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":22}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":32}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":9}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":38}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":48}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":24}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":11}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":9}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":39}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":22}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":35}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":9}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":36}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":46}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":24}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":27}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":11}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":9}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":43}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":22}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":39}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":9}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":45}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":20}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":9}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":30}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":26}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":26}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":23}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":9}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":69}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":34}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":37}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":30}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":19}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":51}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":19}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":19}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":48}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":19}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":19}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":44}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":19}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":19}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":50}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":19}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":19}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":47}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":19}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":19}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":49}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":19}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":19}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":51}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":19}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":20}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":38}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":19}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":11}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":18}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":8}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":17}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":3}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":56}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":47}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":3}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":73}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":47}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":178,"24":1,"25":90,"26":0,"27":0,"28":90,"29":90,"30":62,"31":62,"32":62,"33":90,"34":90,"35":62,"36":62,"37":62,"38":90,"39":90,"40":62,"41":62,"42":62,"43":90,"44":90,"45":90,"46":226,"47":226,"48":226,"49":90,"50":90,"51":90,"52":62,"53":62,"54":62,"55":90,"56":90,"57":90,"58":634,"59":634,"60":634,"61":90,"62":90,"63":90,"64":90,"65":90,"66":90,"67":90,"68":90,"69":0,"70":0,"71":1,"72":88,"73":88,"74":88,"75":88,"76":88,"77":88,"78":88,"79":88,"80":1176,"81":1176,"82":1176,"83":1176,"84":62,"85":62,"86":1176,"87":62,"88":62,"89":1176,"90":62,"91":62,"92":1176,"93":220,"94":220,"95":1176,"96":62,"97":62,"98":1176,"99":620,"100":620,"101":1176,"102":88,"103":88,"104":1176,"105":0,"106":0,"107":1176,"108":1176,"109":88,"110":88,"111":1,"112":1,"113":178,"114":178,"115":178,"116":1,"117":1,"118":90,"119":90,"120":1,"121":1,"122":88,"123":88,"124":1},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":0},"end":{"line":125,"column":1}},"locations":[{"start":{"line":20,"column":0},"end":{"line":125,"column":1}}]},"1":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":23},"end":{"line":116,"column":3}},"locations":[{"start":{"line":23,"column":23},"end":{"line":116,"column":3}}]},"2":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":24},"end":{"line":113,"column":5}},"locations":[{"start":{"line":24,"column":24},"end":{"line":113,"column":5}}]},"3":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":33},"end":{"line":72,"column":7}},"locations":[{"start":{"line":25,"column":33},"end":{"line":72,"column":7}}]},"4":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":44},"end":{"line":28,"column":9}},"locations":[{"start":{"line":26,"column":44},"end":{"line":28,"column":9}}]},"5":{"type":"branch","line":30,"loc":{"start":{"line":30,"column":41},"end":{"line":33,"column":9}},"locations":[{"start":{"line":30,"column":41},"end":{"line":33,"column":9}}]},"6":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":38},"end":{"line":38,"column":9}},"locations":[{"start":{"line":35,"column":38},"end":{"line":38,"column":9}}]},"7":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":35},"end":{"line":43,"column":9}},"locations":[{"start":{"line":40,"column":35},"end":{"line":43,"column":9}}]},"8":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":47},"end":{"line":49,"column":11}},"locations":[{"start":{"line":46,"column":47},"end":{"line":49,"column":11}}]},"9":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":38},"end":{"line":55,"column":9}},"locations":[{"start":{"line":52,"column":38},"end":{"line":55,"column":9}}]},"10":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":45},"end":{"line":61,"column":11}},"locations":[{"start":{"line":58,"column":45},"end":{"line":61,"column":11}}]},"11":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":44},"end":{"line":71,"column":9}},"locations":[{"start":{"line":69,"column":44},"end":{"line":71,"column":9}}]},"12":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":9},"end":{"line":112,"column":7}},"locations":[{"start":{"line":72,"column":9},"end":{"line":112,"column":7}}]},"13":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":48},"end":{"line":78,"column":69}},"locations":[{"start":{"line":78,"column":48},"end":{"line":78,"column":69}}]},"14":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":33},"end":{"line":109,"column":9}},"locations":[{"start":{"line":80,"column":33},"end":{"line":109,"column":9}}]},"15":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":12},"end":{"line":86,"column":19}},"locations":[{"start":{"line":84,"column":12},"end":{"line":86,"column":19}}]},"16":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":12},"end":{"line":89,"column":19}},"locations":[{"start":{"line":87,"column":12},"end":{"line":89,"column":19}}]},"17":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":12},"end":{"line":92,"column":19}},"locations":[{"start":{"line":90,"column":12},"end":{"line":92,"column":19}}]},"18":{"type":"branch","line":93,"loc":{"start":{"line":93,"column":12},"end":{"line":95,"column":19}},"locations":[{"start":{"line":93,"column":12},"end":{"line":95,"column":19}}]},"19":{"type":"branch","line":96,"loc":{"start":{"line":96,"column":12},"end":{"line":98,"column":19}},"locations":[{"start":{"line":96,"column":12},"end":{"line":98,"column":19}}]},"20":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":12},"end":{"line":101,"column":19}},"locations":[{"start":{"line":99,"column":12},"end":{"line":101,"column":19}}]},"21":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":12},"end":{"line":104,"column":19}},"locations":[{"start":{"line":102,"column":12},"end":{"line":104,"column":19}}]},"22":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":12},"end":{"line":107,"column":19}},"locations":[{"start":{"line":105,"column":12},"end":{"line":107,"column":19}}]},"23":{"type":"branch","line":118,"loc":{"start":{"line":118,"column":24},"end":{"line":120,"column":3}},"locations":[{"start":{"line":118,"column":24},"end":{"line":120,"column":3}}]},"24":{"type":"branch","line":122,"loc":{"start":{"line":122,"column":24},"end":{"line":124,"column":3}},"locations":[{"start":{"line":122,"column":24},"end":{"line":124,"column":3}}]}},"b":{"0":[1],"1":[178],"2":[1],"3":[90],"4":[0],"5":[62],"6":[62],"7":[62],"8":[226],"9":[62],"10":[634],"11":[0],"12":[88],"13":[0],"14":[1176],"15":[62],"16":[62],"17":[62],"18":[220],"19":[62],"20":[620],"21":[88],"22":[0],"23":[90],"24":[88]},"fnMap":{"0":{"name":"Identify.codec","decl":{"start":{"line":23,"column":23},"end":{"line":116,"column":3}},"loc":{"start":{"line":23,"column":23},"end":{"line":116,"column":3}},"line":23},"1":{"name":"obj.listenAddrs","decl":{"start":{"line":25,"column":33},"end":{"line":72,"column":7}},"loc":{"start":{"line":25,"column":33},"end":{"line":72,"column":7}},"line":25},"2":{"name":"Identify.encode","decl":{"start":{"line":118,"column":24},"end":{"line":120,"column":3}},"loc":{"start":{"line":118,"column":24},"end":{"line":120,"column":3}},"line":118},"3":{"name":"Identify.decode","decl":{"start":{"line":122,"column":24},"end":{"line":124,"column":3}},"loc":{"start":{"line":122,"column":24},"end":{"line":124,"column":3}},"line":122}},"f":{"0":178,"1":90,"2":90,"3":88}} +,"/home/ckousik/projects/js-libp2p/src/insecure/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/insecure/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":2}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":61}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":2}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":83}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":2}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":11}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":2}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":16}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":40}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":2}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":55}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":38}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":2}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":36}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":6}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":39}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":40}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":111}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":49}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":55}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":65}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":100}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":45}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":24}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":38}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":35}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":48}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":38}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":29}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":3}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":21}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":115}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":31}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":24}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":26}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":44}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":28}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":3}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":58}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":14}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":28}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":15}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":19}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":7}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":17}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":51}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":29}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":43}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":74}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":52}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":12}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":7}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":28}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":43}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":38}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":50}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":5}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":24}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":42}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":49}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":49}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":52}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":5}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":22}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":81}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":3}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":53}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":35}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":75}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":14}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":10}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":11}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":30}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":63}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":6}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":22}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":3}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":1}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":48}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":36}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":114}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":49}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":115}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":49}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":3}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":1}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":57}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":30}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":103,"39":103,"40":103,"41":103,"42":103,"43":1,"44":1,"45":1,"46":1,"47":103,"48":103,"49":103,"50":103,"51":103,"52":103,"53":103,"54":103,"55":0,"56":0,"57":103,"58":103,"59":103,"60":103,"61":103,"62":103,"63":103,"64":103,"65":103,"66":103,"67":103,"68":103,"69":103,"70":103,"71":103,"72":103,"73":103,"74":102,"75":102,"76":102,"77":102,"78":102,"79":103,"80":0,"81":0,"82":102,"83":103,"84":0,"85":0,"86":102,"87":103,"88":0,"89":0,"90":102,"91":102,"92":102,"93":103,"94":0,"95":0,"96":103,"97":0,"98":0,"99":0,"100":102,"101":103,"102":0,"103":0,"104":102,"105":102,"106":102,"107":102,"108":102,"109":102,"110":102,"111":102,"112":102,"113":102,"114":102,"115":102,"116":102,"117":1,"118":55,"119":55,"120":55,"121":55,"122":52,"123":52,"124":55,"125":55,"126":51,"127":51,"128":55,"129":1,"130":1,"131":110,"132":110},"branchMap":{"0":{"type":"branch","line":39,"loc":{"start":{"line":39,"column":0},"end":{"line":43,"column":1}},"locations":[{"start":{"line":39,"column":0},"end":{"line":43,"column":1}}]},"1":{"type":"branch","line":48,"loc":{"start":{"line":48,"column":0},"end":{"line":117,"column":1}},"locations":[{"start":{"line":48,"column":0},"end":{"line":117,"column":1}}]},"2":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":3},"end":{"line":57,"column":3}},"locations":[{"start":{"line":55,"column":3},"end":{"line":57,"column":3}}]},"3":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":31},"end":{"line":65,"column":52}},"locations":[{"start":{"line":65,"column":31},"end":{"line":65,"column":52}}]},"4":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":67},"end":{"line":80,"column":27}},"locations":[{"start":{"line":74,"column":67},"end":{"line":80,"column":27}}]},"5":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":27},"end":{"line":82,"column":5}},"locations":[{"start":{"line":80,"column":27},"end":{"line":82,"column":5}}]},"6":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":-1},"end":{"line":84,"column":37}},"locations":[{"start":{"line":83,"column":-1},"end":{"line":84,"column":37}}]},"7":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":37},"end":{"line":86,"column":5}},"locations":[{"start":{"line":84,"column":37},"end":{"line":86,"column":5}}]},"8":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":-1},"end":{"line":88,"column":23}},"locations":[{"start":{"line":87,"column":-1},"end":{"line":88,"column":23}}]},"9":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":23},"end":{"line":90,"column":5}},"locations":[{"start":{"line":88,"column":23},"end":{"line":90,"column":5}}]},"10":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":-1},"end":{"line":94,"column":48}},"locations":[{"start":{"line":91,"column":-1},"end":{"line":94,"column":48}}]},"11":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":48},"end":{"line":96,"column":5}},"locations":[{"start":{"line":94,"column":48},"end":{"line":96,"column":5}}]},"12":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":4},"end":{"line":100,"column":3}},"locations":[{"start":{"line":97,"column":4},"end":{"line":100,"column":3}}]},"13":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":-1},"end":{"line":102,"column":26}},"locations":[{"start":{"line":101,"column":-1},"end":{"line":102,"column":26}}]},"14":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"locations":[{"start":{"line":102,"column":22},"end":{"line":102,"column":50}}]},"15":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":52},"end":{"line":104,"column":3}},"locations":[{"start":{"line":102,"column":52},"end":{"line":104,"column":3}}]},"16":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":-1},"end":{"line":117,"column":1}},"locations":[{"start":{"line":105,"column":-1},"end":{"line":117,"column":1}}]},"17":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":39},"end":{"line":113,"column":62}},"locations":[{"start":{"line":113,"column":39},"end":{"line":113,"column":62}}]},"18":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":0},"end":{"line":129,"column":1}},"locations":[{"start":{"line":119,"column":0},"end":{"line":129,"column":1}}]},"19":{"type":"branch","line":122,"loc":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"locations":[{"start":{"line":122,"column":2},"end":{"line":124,"column":3}}]},"20":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":2},"end":{"line":128,"column":3}},"locations":[{"start":{"line":126,"column":2},"end":{"line":128,"column":3}}]},"21":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":6},"end":{"line":133,"column":1}},"locations":[{"start":{"line":131,"column":6},"end":{"line":133,"column":1}}]},"22":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":9},"end":{"line":132,"column":30}},"locations":[{"start":{"line":132,"column":9},"end":{"line":132,"column":30}}]}},"b":{"0":[103],"1":[103],"2":[0],"3":[0],"4":[102],"5":[0],"6":[102],"7":[0],"8":[102],"9":[0],"10":[102],"11":[0],"12":[0],"13":[102],"14":[51],"15":[0],"16":[102],"17":[647],"18":[55],"19":[52],"20":[51],"21":[110],"22":[55]},"fnMap":{"0":{"name":"lpEncodeExchange","decl":{"start":{"line":39,"column":0},"end":{"line":43,"column":1}},"loc":{"start":{"line":39,"column":0},"end":{"line":43,"column":1}},"line":39},"1":{"name":"encrypt","decl":{"start":{"line":48,"column":0},"end":{"line":117,"column":1}},"loc":{"start":{"line":48,"column":0},"end":{"line":117,"column":1}},"line":48},"2":{"name":"Plaintext","decl":{"start":{"line":119,"column":0},"end":{"line":129,"column":1}},"loc":{"start":{"line":119,"column":0},"end":{"line":129,"column":1}},"line":119},"3":{"name":"secureInbound","decl":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"line":122},"4":{"name":"secureOutbound","decl":{"start":{"line":126,"column":2},"end":{"line":128,"column":3}},"loc":{"start":{"line":126,"column":2},"end":{"line":128,"column":3}},"line":126},"5":{"name":"plaintext","decl":{"start":{"line":131,"column":6},"end":{"line":133,"column":1}},"loc":{"start":{"line":131,"column":6},"end":{"line":133,"column":1}},"line":131}},"f":{"0":103,"1":103,"2":55,"3":52,"4":51,"5":110}} +,"/home/ckousik/projects/js-libp2p/src/insecure/pb/proto.ts": {"path":"/home/ckousik/projects/js-libp2p/src/insecure/pb/proto.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":27}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":17}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":20}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":1}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":29}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":47}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":25}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":57}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":45}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":18}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":9}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":29}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":22}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":25}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":9}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":22}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":51}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":32}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":9}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":45}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":20}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":9}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":30}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":27}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":69}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":34}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":37}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":30}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":19}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":37}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":19}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":19}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":76}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":19}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":20}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":38}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":19}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":11}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":9}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":8}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":5}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":17}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":56}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":47}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":3}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":73}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":47}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":21}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":14}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":22}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":26}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":17}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":22}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":10}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":14}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":16}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":11}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":1}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":26}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":30}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":48}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":3}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":1}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":28}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":15}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":1}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":28}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":30}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":48}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":25}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":58}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":45}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":18}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":99}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":21}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":45}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":9}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":91}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":22}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":27}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":9}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":45}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":20}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":9}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":30}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":26}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":28}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":33}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":9}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":69}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":34}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":37}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":30}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":19}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":55}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":19}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":19}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":39}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":19}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":20}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":38}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":19}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":11}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":9}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":18}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":8}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":5}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":17}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":3}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":57}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":48}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":3}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":74}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":48}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":3}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":205,"19":1,"20":103,"21":0,"22":0,"23":103,"24":103,"25":103,"26":103,"27":103,"28":103,"29":103,"30":103,"31":103,"32":103,"33":103,"34":103,"35":103,"36":103,"37":0,"38":0,"39":1,"40":102,"41":102,"42":102,"43":102,"44":102,"45":204,"46":204,"47":204,"48":204,"49":102,"50":102,"51":204,"52":102,"53":102,"54":204,"55":0,"56":0,"57":204,"58":204,"59":102,"60":102,"61":1,"62":1,"63":205,"64":205,"65":205,"66":1,"67":1,"68":103,"69":103,"70":1,"71":1,"72":102,"73":102,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":205,"93":205,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":205,"105":1,"106":103,"107":103,"108":103,"109":103,"110":103,"111":103,"112":103,"113":103,"114":103,"115":103,"116":103,"117":103,"118":103,"119":103,"120":103,"121":103,"122":103,"123":1,"124":102,"125":102,"126":102,"127":102,"128":102,"129":102,"130":102,"131":102,"132":204,"133":204,"134":204,"135":204,"136":102,"137":102,"138":204,"139":102,"140":102,"141":204,"142":0,"143":0,"144":204,"145":204,"146":102,"147":102,"148":1,"149":1,"150":205,"151":205,"152":205,"153":1,"154":1,"155":0,"156":0,"157":1,"158":1,"159":0,"160":0,"161":1},"branchMap":{"0":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":0},"end":{"line":95,"column":1}},"locations":[{"start":{"line":95,"column":0},"end":{"line":95,"column":1}}]},"1":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":0},"end":{"line":75,"column":1}},"locations":[{"start":{"line":15,"column":0},"end":{"line":75,"column":1}}]},"2":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":23},"end":{"line":66,"column":3}},"locations":[{"start":{"line":18,"column":23},"end":{"line":66,"column":3}}]},"3":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":24},"end":{"line":63,"column":5}},"locations":[{"start":{"line":19,"column":24},"end":{"line":63,"column":5}}]},"4":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":33},"end":{"line":40,"column":7}},"locations":[{"start":{"line":20,"column":33},"end":{"line":40,"column":7}}]},"5":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":44},"end":{"line":23,"column":9}},"locations":[{"start":{"line":21,"column":44},"end":{"line":23,"column":9}}]},"6":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":44},"end":{"line":39,"column":9}},"locations":[{"start":{"line":37,"column":44},"end":{"line":39,"column":9}}]},"7":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":9},"end":{"line":62,"column":7}},"locations":[{"start":{"line":40,"column":9},"end":{"line":62,"column":7}}]},"8":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":48},"end":{"line":43,"column":69}},"locations":[{"start":{"line":43,"column":48},"end":{"line":43,"column":69}}]},"9":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":33},"end":{"line":59,"column":9}},"locations":[{"start":{"line":45,"column":33},"end":{"line":59,"column":9}}]},"10":{"type":"branch","line":49,"loc":{"start":{"line":49,"column":12},"end":{"line":51,"column":19}},"locations":[{"start":{"line":49,"column":12},"end":{"line":51,"column":19}}]},"11":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":12},"end":{"line":54,"column":19}},"locations":[{"start":{"line":52,"column":12},"end":{"line":54,"column":19}}]},"12":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":12},"end":{"line":57,"column":19}},"locations":[{"start":{"line":55,"column":12},"end":{"line":57,"column":19}}]},"13":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":24},"end":{"line":70,"column":3}},"locations":[{"start":{"line":68,"column":24},"end":{"line":70,"column":3}}]},"14":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":24},"end":{"line":74,"column":3}},"locations":[{"start":{"line":72,"column":24},"end":{"line":74,"column":3}}]},"15":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":0},"end":{"line":82,"column":1}},"locations":[{"start":{"line":77,"column":0},"end":{"line":82,"column":1}}]},"16":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":0},"end":{"line":89,"column":1}},"locations":[{"start":{"line":84,"column":0},"end":{"line":89,"column":1}}]},"17":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":0},"end":{"line":95,"column":1}},"locations":[{"start":{"line":91,"column":0},"end":{"line":95,"column":1}}]},"18":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":23},"end":{"line":94,"column":3}},"locations":[{"start":{"line":92,"column":23},"end":{"line":94,"column":3}}]},"19":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":0},"end":{"line":162,"column":1}},"locations":[{"start":{"line":101,"column":0},"end":{"line":162,"column":1}}]},"20":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":23},"end":{"line":153,"column":3}},"locations":[{"start":{"line":104,"column":23},"end":{"line":153,"column":3}}]},"21":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":24},"end":{"line":150,"column":5}},"locations":[{"start":{"line":105,"column":24},"end":{"line":150,"column":5}}]},"22":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":34},"end":{"line":124,"column":7}},"locations":[{"start":{"line":106,"column":34},"end":{"line":124,"column":7}}]},"23":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":9},"end":{"line":149,"column":7}},"locations":[{"start":{"line":124,"column":9},"end":{"line":149,"column":7}}]},"24":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":35},"end":{"line":130,"column":47}},"locations":[{"start":{"line":130,"column":35},"end":{"line":130,"column":47}}]},"25":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":33},"end":{"line":146,"column":9}},"locations":[{"start":{"line":132,"column":33},"end":{"line":146,"column":9}}]},"26":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":12},"end":{"line":138,"column":19}},"locations":[{"start":{"line":136,"column":12},"end":{"line":138,"column":19}}]},"27":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":12},"end":{"line":141,"column":19}},"locations":[{"start":{"line":139,"column":12},"end":{"line":141,"column":19}}]},"28":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":12},"end":{"line":144,"column":19}},"locations":[{"start":{"line":142,"column":12},"end":{"line":144,"column":19}}]}},"b":{"0":[0],"1":[1],"2":[205],"3":[1],"4":[103],"5":[0],"6":[0],"7":[102],"8":[0],"9":[204],"10":[102],"11":[102],"12":[0],"13":[103],"14":[102],"15":[1],"16":[1],"17":[1],"18":[205],"19":[1],"20":[205],"21":[1],"22":[103],"23":[102],"24":[0],"25":[204],"26":[102],"27":[102],"28":[0]},"fnMap":{"0":{"name":"Exchange.codec","decl":{"start":{"line":18,"column":23},"end":{"line":66,"column":3}},"loc":{"start":{"line":18,"column":23},"end":{"line":66,"column":3}},"line":18},"1":{"name":"obj","decl":{"start":{"line":20,"column":33},"end":{"line":40,"column":7}},"loc":{"start":{"line":20,"column":33},"end":{"line":40,"column":7}},"line":20},"2":{"name":"Exchange.encode","decl":{"start":{"line":68,"column":24},"end":{"line":70,"column":3}},"loc":{"start":{"line":68,"column":24},"end":{"line":70,"column":3}},"line":68},"3":{"name":"Exchange.decode","decl":{"start":{"line":72,"column":24},"end":{"line":74,"column":3}},"loc":{"start":{"line":72,"column":24},"end":{"line":74,"column":3}},"line":72},"4":{"name":"KeyType.codec","decl":{"start":{"line":92,"column":23},"end":{"line":94,"column":3}},"loc":{"start":{"line":92,"column":23},"end":{"line":94,"column":3}},"line":92},"5":{"name":"PublicKey.codec","decl":{"start":{"line":104,"column":23},"end":{"line":153,"column":3}},"loc":{"start":{"line":104,"column":23},"end":{"line":153,"column":3}},"line":104},"6":{"name":"obj.Type","decl":{"start":{"line":106,"column":34},"end":{"line":124,"column":7}},"loc":{"start":{"line":106,"column":34},"end":{"line":124,"column":7}},"line":106},"7":{"name":"PublicKey.encode","decl":{"start":{"line":155,"column":24},"end":{"line":157,"column":3}},"loc":{"start":{"line":155,"column":24},"end":{"line":157,"column":3}},"line":155},"8":{"name":"PublicKey.decode","decl":{"start":{"line":159,"column":24},"end":{"line":161,"column":3}},"loc":{"start":{"line":159,"column":24},"end":{"line":161,"column":3}},"line":159}},"f":{"0":205,"1":103,"2":103,"3":102,"4":205,"5":205,"6":103,"7":0,"8":0}} +,"/home/ckousik/projects/js-libp2p/src/keychain/cms.ts": {"path":"/home/ckousik/projects/js-libp2p/src/keychain/cms.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":37}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":43}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":30}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":76}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":70}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":36}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":42}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":41}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":55}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":3}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":2}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":64}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":2}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":36}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":3}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":18}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":37}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":43}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":49}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":83}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":28}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":33}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":63}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":72}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":41}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":95}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":55}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":55}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":37}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":25}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":75}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":26}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":63}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":64}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":36}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":48}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":32}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":47}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":16}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":29}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":56}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":45}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":5}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":31}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":4}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":93}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":91}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":60}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":43}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":84}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":16}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":9}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":79}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":41}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":44}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":24}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":20}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":68}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":76}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":31}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":42}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":47}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":81}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":47}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":60}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":47}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":17}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":16}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":23}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":51}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":63}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":8}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":69}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":11}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":68}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":26}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":21}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":9}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":26}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":20}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":7}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":18}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":6}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":20}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":47}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":64}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":121}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":19}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":8}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":5}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":56}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":22}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":80}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":5}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":59}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":37}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":25}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":75}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":5}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":26}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":63}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":40}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":64}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":3}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"CMS","decl":{"start":{"line":32,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":32,"column":2},"end":{"line":39,"column":3}},"line":32},"1":{"name":"encrypt","decl":{"start":{"line":46,"column":2},"end":{"line":72,"column":3}},"loc":{"start":{"line":46,"column":2},"end":{"line":72,"column":3}},"line":46},"2":{"name":"decrypt","decl":{"start":{"line":80,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":80,"column":2},"end":{"line":149,"column":3}},"line":80}},"f":{"0":0,"1":0,"2":0}} +,"/home/ckousik/projects/js-libp2p/src/keychain/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/keychain/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":45}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":30}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":30}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":36}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":70}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":76}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":85}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":55}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":52}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":70}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":52}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":37}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":28}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":14}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":14}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":24}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":19}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":1}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":31}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":15}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":34}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":12}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":14}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":1}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":27}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":27}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":55}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":18}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":14}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":24}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":25}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":25}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":1}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":24}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":62}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":8}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":23}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":26}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":78}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":20}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":41}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":21}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":16}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":33}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":16}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":58}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":32}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":2}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":93}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":44}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":3}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":31}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":17}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":18}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":49}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":58}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":1}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":44}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":3}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":32}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":34}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":1}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":0}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":49}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":3}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":36}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":35}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":37}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":16}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":22}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":1}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":3}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":76}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":2}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":37}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":57}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":58}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":2}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":3}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":44}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":49}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":37}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":26}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":42}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":5}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":68}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":32}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":50}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":30}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":64}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":57}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":90}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":79}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":5}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":96}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":81}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":105}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":83}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":5}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":69}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":15}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":23}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":28}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":38}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":33}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":28}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":10}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":31}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":24}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":3}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":16}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":23}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":3}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":18}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":37}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":57}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":59}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":5}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":23}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":3}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":0}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":11}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":24}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":3}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":5}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":59}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":50}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":4}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":66}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":64}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":30}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":5}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":14}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":37}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":25}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":75}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":5}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":26}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":29}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":3}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":70}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":4}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":22}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":5}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":43}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":53}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":81}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":76}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":18}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":3}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":5}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":60}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":40}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":4}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":22}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":5}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":25}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":25}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":3}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":0}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":22}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":4}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":69}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":56}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":81}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":5}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":90}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":52}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":25}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":78}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":5}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":35}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":25}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":78}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":5}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":0}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":31}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":62}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":17}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":25}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":87}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":5}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":0}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":33}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":17}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":57}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":29}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":86}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":9}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":13}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":14}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":13}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":5}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":0}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":15}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":9}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":55}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":36}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":39}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":0}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":27}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":77}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":7}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":0}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":28}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":43}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":17}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":19}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":15}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":7}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":53}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":50}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":80}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":26}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":24}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":25}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":15}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":5}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":0}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":18}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":3}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":0}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":5}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":23}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":4}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":34}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":5}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":21}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":19}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":24}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":5}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":19}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":71}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":60}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":5}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":0}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":15}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":3}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":0}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":5}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":26}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":5}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":52}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":9}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":40}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":42}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":24}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":25}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":15}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":5}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":3}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":0}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":29}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":4}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":47}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":32}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":5}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":56}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":33}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":25}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":88}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":5}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":0}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":35}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":9}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":61}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":48}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":24}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":25}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":20}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":88}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":5}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":3}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":0}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":5}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":28}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":4}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":67}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":32}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":5}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":34}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":52}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":25}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":88}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":5}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":31}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":50}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":51}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":24}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":34}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":24}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":18}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":3}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":0}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":5}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":17}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":4}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":74}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":78}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":32}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":5}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":72}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":58}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":25}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":99}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":5}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":58}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":25}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":99}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":5}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":37}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":37}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":43}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":43}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":0}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":65}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":17}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":25}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":95}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":5}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":9}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":64}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":66}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":0}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":57}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":28}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":53}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":31}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":75}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":29}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":31}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":26}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":20}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":24}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":25}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":15}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":5}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":3}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":5}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":61}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":5}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":52}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":33}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":25}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":88}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":5}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":27}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":25}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":83}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":5}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":0}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":31}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":9}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":61}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":41}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":39}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":0}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":27}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":77}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":7}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":0}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":28}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":50}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":46}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":24}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":25}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":15}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":5}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":3}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":5}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":55}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":4}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":71}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":57}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":45}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":32}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":5}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":83}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":52}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":25}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":88}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":5}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":22}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":25}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":85}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":5}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":31}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":62}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":17}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":25}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":92}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":5}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":0}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":18}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":9}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":49}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":24}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":25}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":115}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":5}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":0}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":11}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":9}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":33}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":39}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":0}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":27}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":77}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":7}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":0}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":28}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":40}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":24}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":25}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":15}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":5}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":0}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":21}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":17}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":13}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":5}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":51}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":48}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":78}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":24}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":0}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":18}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":3}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":0}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":5}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":22}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":5}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":67}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":9}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":35}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":90}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":7}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":25}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":85}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":7}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":36}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":93}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":7}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":67}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":0}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":33}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":64}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":19}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":27}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":94}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":7}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":0}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":39}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":0}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":27}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":77}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":7}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":0}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":28}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":46}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":32}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":19}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":27}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":7}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":53}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":50}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":80}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":26}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":20}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":24}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":25}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":15}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":5}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":3}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":0}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":5}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":55}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":5}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":55}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":33}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":25}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":88}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":5}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":0}},"550":{"start":{"line":551,"column":0},"end":{"line":551,"column":9}},"551":{"start":{"line":552,"column":0},"end":{"line":552,"column":33}},"552":{"start":{"line":553,"column":0},"end":{"line":553,"column":61}},"553":{"start":{"line":554,"column":0},"end":{"line":554,"column":36}},"554":{"start":{"line":555,"column":0},"end":{"line":555,"column":24}},"555":{"start":{"line":556,"column":0},"end":{"line":556,"column":25}},"556":{"start":{"line":557,"column":0},"end":{"line":557,"column":20}},"557":{"start":{"line":558,"column":0},"end":{"line":558,"column":88}},"558":{"start":{"line":559,"column":0},"end":{"line":559,"column":5}},"559":{"start":{"line":560,"column":0},"end":{"line":560,"column":3}},"560":{"start":{"line":561,"column":0},"end":{"line":561,"column":0}},"561":{"start":{"line":562,"column":0},"end":{"line":562,"column":5}},"562":{"start":{"line":563,"column":0},"end":{"line":563,"column":64}},"563":{"start":{"line":564,"column":0},"end":{"line":564,"column":5}},"564":{"start":{"line":565,"column":0},"end":{"line":565,"column":63}},"565":{"start":{"line":566,"column":0},"end":{"line":566,"column":38}},"566":{"start":{"line":567,"column":0},"end":{"line":567,"column":25}},"567":{"start":{"line":568,"column":0},"end":{"line":568,"column":108}},"568":{"start":{"line":569,"column":0},"end":{"line":569,"column":5}},"569":{"start":{"line":570,"column":0},"end":{"line":570,"column":38}},"570":{"start":{"line":571,"column":0},"end":{"line":571,"column":25}},"571":{"start":{"line":572,"column":0},"end":{"line":572,"column":108}},"572":{"start":{"line":573,"column":0},"end":{"line":573,"column":5}},"573":{"start":{"line":574,"column":0},"end":{"line":574,"column":30}},"574":{"start":{"line":575,"column":0},"end":{"line":575,"column":25}},"575":{"start":{"line":576,"column":0},"end":{"line":576,"column":102}},"576":{"start":{"line":577,"column":0},"end":{"line":577,"column":5}},"577":{"start":{"line":578,"column":0},"end":{"line":578,"column":30}},"578":{"start":{"line":579,"column":0},"end":{"line":579,"column":37}},"579":{"start":{"line":580,"column":0},"end":{"line":580,"column":0}},"580":{"start":{"line":581,"column":0},"end":{"line":581,"column":25}},"581":{"start":{"line":582,"column":0},"end":{"line":582,"column":75}},"582":{"start":{"line":583,"column":0},"end":{"line":583,"column":5}},"583":{"start":{"line":584,"column":0},"end":{"line":584,"column":0}},"584":{"start":{"line":585,"column":0},"end":{"line":585,"column":29}},"585":{"start":{"line":586,"column":0},"end":{"line":586,"column":28}},"586":{"start":{"line":587,"column":0},"end":{"line":587,"column":65}},"587":{"start":{"line":588,"column":0},"end":{"line":588,"column":15}},"588":{"start":{"line":589,"column":0},"end":{"line":589,"column":16}},"589":{"start":{"line":590,"column":0},"end":{"line":590,"column":27}},"590":{"start":{"line":591,"column":0},"end":{"line":591,"column":38}},"591":{"start":{"line":592,"column":0},"end":{"line":592,"column":33}},"592":{"start":{"line":593,"column":0},"end":{"line":593,"column":28}},"593":{"start":{"line":594,"column":0},"end":{"line":594,"column":10}},"594":{"start":{"line":595,"column":0},"end":{"line":595,"column":39}},"595":{"start":{"line":596,"column":0},"end":{"line":596,"column":38}},"596":{"start":{"line":597,"column":0},"end":{"line":597,"column":29}},"597":{"start":{"line":598,"column":0},"end":{"line":598,"column":71}},"598":{"start":{"line":599,"column":0},"end":{"line":599,"column":41}},"599":{"start":{"line":600,"column":0},"end":{"line":600,"column":53}},"600":{"start":{"line":601,"column":0},"end":{"line":601,"column":40}},"601":{"start":{"line":602,"column":0},"end":{"line":602,"column":56}},"602":{"start":{"line":603,"column":0},"end":{"line":603,"column":0}},"603":{"start":{"line":604,"column":0},"end":{"line":604,"column":26}},"604":{"start":{"line":605,"column":0},"end":{"line":605,"column":53}},"605":{"start":{"line":606,"column":0},"end":{"line":606,"column":23}},"606":{"start":{"line":607,"column":0},"end":{"line":607,"column":23}},"607":{"start":{"line":608,"column":0},"end":{"line":608,"column":18}},"608":{"start":{"line":609,"column":0},"end":{"line":609,"column":7}},"609":{"start":{"line":610,"column":0},"end":{"line":610,"column":65}},"610":{"start":{"line":611,"column":0},"end":{"line":611,"column":84}},"611":{"start":{"line":612,"column":0},"end":{"line":612,"column":26}},"612":{"start":{"line":613,"column":0},"end":{"line":613,"column":5}},"613":{"start":{"line":614,"column":0},"end":{"line":614,"column":33}},"614":{"start":{"line":615,"column":0},"end":{"line":615,"column":3}},"615":{"start":{"line":616,"column":0},"end":{"line":616,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":55,"68":55,"69":0,"70":0,"71":55,"72":0,"73":0,"74":55,"75":55,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":1,"91":1,"92":1,"93":1,"94":55,"95":55,"96":55,"97":1,"98":1,"99":1,"100":1,"101":110,"102":110,"103":110,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":55,"128":55,"129":55,"130":55,"131":55,"132":0,"133":0,"134":55,"135":0,"136":0,"137":55,"138":0,"139":0,"140":55,"141":0,"142":0,"143":55,"144":55,"145":55,"146":0,"147":0,"148":0,"149":0,"150":0,"151":55,"152":55,"153":55,"154":55,"155":55,"156":1,"157":1,"158":0,"159":0,"160":1,"161":1,"162":55,"163":55,"164":55,"165":55,"166":55,"167":55,"168":55,"169":55,"170":1,"171":1,"172":55,"173":55,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":55,"202":55,"203":55,"204":55,"205":55,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":0,"215":0,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":1,"300":1,"301":1,"302":1,"303":1,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":1,"402":1,"403":1,"404":1,"405":1,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1,"442":1,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":1,"494":1,"495":1,"496":1,"497":1,"498":55,"499":55,"500":0,"501":0,"502":55,"503":0,"504":0,"505":55,"506":0,"507":0,"508":55,"509":55,"510":55,"511":55,"512":55,"513":55,"514":0,"515":0,"516":0,"517":55,"518":55,"519":55,"520":55,"521":0,"522":0,"523":55,"524":55,"525":55,"526":55,"527":55,"528":55,"529":55,"530":55,"531":55,"532":55,"533":55,"534":55,"535":55,"536":0,"537":0,"538":0,"539":55,"540":1,"541":1,"542":1,"543":1,"544":1,"545":0,"546":0,"547":0,"548":0,"549":0,"550":0,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":1,"561":1,"562":1,"563":1,"564":1,"565":0,"566":0,"567":0,"568":0,"569":0,"570":0,"571":0,"572":0,"573":0,"574":0,"575":0,"576":0,"577":0,"578":0,"579":0,"580":0,"581":0,"582":0,"583":0,"584":0,"585":0,"586":0,"587":0,"588":0,"589":0,"590":0,"591":0,"592":0,"593":0,"594":0,"595":0,"596":0,"597":0,"598":0,"599":0,"600":0,"601":0,"602":0,"603":0,"604":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":0,"613":0,"614":0,"615":1},"branchMap":{"0":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":0},"end":{"line":76,"column":1}},"locations":[{"start":{"line":68,"column":0},"end":{"line":76,"column":1}}]},"1":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":20},"end":{"line":71,"column":3}},"locations":[{"start":{"line":69,"column":20},"end":{"line":71,"column":3}}]},"2":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":32},"end":{"line":74,"column":3}},"locations":[{"start":{"line":72,"column":32},"end":{"line":74,"column":3}}]},"3":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":0},"end":{"line":97,"column":1}},"locations":[{"start":{"line":95,"column":0},"end":{"line":97,"column":1}}]},"4":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":0},"end":{"line":104,"column":1}},"locations":[{"start":{"line":102,"column":0},"end":{"line":104,"column":1}}]},"5":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":156,"column":3}},"locations":[{"start":{"line":127,"column":2},"end":{"line":156,"column":3}}]},"6":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":30},"end":{"line":132,"column":61}},"locations":[{"start":{"line":132,"column":30},"end":{"line":132,"column":61}}]},"7":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":63},"end":{"line":134,"column":5}},"locations":[{"start":{"line":132,"column":63},"end":{"line":134,"column":5}}]},"8":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":89},"end":{"line":137,"column":5}},"locations":[{"start":{"line":135,"column":89},"end":{"line":137,"column":5}}]},"9":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":95},"end":{"line":140,"column":5}},"locations":[{"start":{"line":138,"column":95},"end":{"line":140,"column":5}}]},"10":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":104},"end":{"line":143,"column":5}},"locations":[{"start":{"line":141,"column":104},"end":{"line":143,"column":5}}]},"11":{"type":"branch","line":145,"loc":{"start":{"line":145,"column":38},"end":{"line":145,"column":69}},"locations":[{"start":{"line":145,"column":38},"end":{"line":145,"column":69}}]},"12":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":6},"end":{"line":151,"column":28}},"locations":[{"start":{"line":146,"column":6},"end":{"line":151,"column":28}}]},"13":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":2},"end":{"line":170,"column":3}},"locations":[{"start":{"line":162,"column":2},"end":{"line":170,"column":3}}]},"14":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":2},"end":{"line":174,"column":3}},"locations":[{"start":{"line":172,"column":2},"end":{"line":174,"column":3}}]},"15":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":9},"end":{"line":206,"column":3}},"locations":[{"start":{"line":201,"column":9},"end":{"line":206,"column":3}}]},"16":{"type":"branch","line":498,"loc":{"start":{"line":498,"column":2},"end":{"line":540,"column":3}},"locations":[{"start":{"line":498,"column":2},"end":{"line":540,"column":3}}]},"17":{"type":"branch","line":500,"loc":{"start":{"line":500,"column":34},"end":{"line":502,"column":7}},"locations":[{"start":{"line":500,"column":34},"end":{"line":502,"column":7}}]},"18":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":24},"end":{"line":505,"column":7}},"locations":[{"start":{"line":503,"column":24},"end":{"line":505,"column":7}}]},"19":{"type":"branch","line":506,"loc":{"start":{"line":506,"column":35},"end":{"line":508,"column":7}},"locations":[{"start":{"line":506,"column":35},"end":{"line":508,"column":7}}]},"20":{"type":"branch","line":514,"loc":{"start":{"line":514,"column":18},"end":{"line":517,"column":7}},"locations":[{"start":{"line":514,"column":18},"end":{"line":517,"column":7}}]},"21":{"type":"branch","line":521,"loc":{"start":{"line":521,"column":26},"end":{"line":523,"column":7}},"locations":[{"start":{"line":521,"column":26},"end":{"line":523,"column":7}}]},"22":{"type":"branch","line":536,"loc":{"start":{"line":536,"column":6},"end":{"line":539,"column":5}},"locations":[{"start":{"line":536,"column":6},"end":{"line":539,"column":5}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[55],"4":[110],"5":[55],"6":[0],"7":[0],"8":[0],"9":[0],"10":[0],"11":[0],"12":[0],"13":[55],"14":[55],"15":[55],"16":[55],"17":[0],"18":[0],"19":[0],"20":[0],"21":[0],"22":[0]},"fnMap":{"0":{"name":"validateKeyName","decl":{"start":{"line":68,"column":0},"end":{"line":76,"column":1}},"loc":{"start":{"line":68,"column":0},"end":{"line":76,"column":1}},"line":68},"1":{"name":"randomDelay","decl":{"start":{"line":84,"column":0},"end":{"line":90,"column":1}},"loc":{"start":{"line":84,"column":0},"end":{"line":90,"column":1}},"line":84},"2":{"name":"DsName","decl":{"start":{"line":95,"column":0},"end":{"line":97,"column":1}},"loc":{"start":{"line":95,"column":0},"end":{"line":97,"column":1}},"line":95},"3":{"name":"DsInfoName","decl":{"start":{"line":102,"column":0},"end":{"line":104,"column":1}},"loc":{"start":{"line":102,"column":0},"end":{"line":104,"column":1}},"line":102},"4":{"name":"KeyChain","decl":{"start":{"line":127,"column":2},"end":{"line":156,"column":3}},"loc":{"start":{"line":127,"column":2},"end":{"line":156,"column":3}},"line":127},"5":{"name":"isStarted","decl":{"start":{"line":158,"column":2},"end":{"line":160,"column":3}},"loc":{"start":{"line":158,"column":2},"end":{"line":160,"column":3}},"line":158},"6":{"name":"start","decl":{"start":{"line":162,"column":2},"end":{"line":170,"column":3}},"loc":{"start":{"line":162,"column":2},"end":{"line":170,"column":3}},"line":162},"7":{"name":"stop","decl":{"start":{"line":172,"column":2},"end":{"line":174,"column":3}},"loc":{"start":{"line":172,"column":2},"end":{"line":174,"column":3}},"line":172},"8":{"name":"get cms","decl":{"start":{"line":184,"column":2},"end":{"line":194,"column":3}},"loc":{"start":{"line":184,"column":2},"end":{"line":194,"column":3}},"line":184},"9":{"name":"generateOptions","decl":{"start":{"line":201,"column":9},"end":{"line":206,"column":3}},"loc":{"start":{"line":201,"column":9},"end":{"line":206,"column":3}},"line":201},"10":{"name":"get options","decl":{"start":{"line":214,"column":8},"end":{"line":216,"column":3}},"loc":{"start":{"line":214,"column":8},"end":{"line":216,"column":3}},"line":214},"11":{"name":"createKey","decl":{"start":{"line":225,"column":2},"end":{"line":281,"column":3}},"loc":{"start":{"line":225,"column":2},"end":{"line":281,"column":3}},"line":225},"12":{"name":"listKeys","decl":{"start":{"line":288,"column":2},"end":{"line":299,"column":3}},"loc":{"start":{"line":288,"column":2},"end":{"line":299,"column":3}},"line":288},"13":{"name":"findKeyById","decl":{"start":{"line":304,"column":2},"end":{"line":312,"column":3}},"loc":{"start":{"line":304,"column":2},"end":{"line":312,"column":3}},"line":304},"14":{"name":"findKeyByName","decl":{"start":{"line":320,"column":2},"end":{"line":335,"column":3}},"loc":{"start":{"line":320,"column":2},"end":{"line":335,"column":3}},"line":320},"15":{"name":"removeKey","decl":{"start":{"line":343,"column":2},"end":{"line":355,"column":3}},"loc":{"start":{"line":343,"column":2},"end":{"line":355,"column":3}},"line":343},"16":{"name":"renameKey","decl":{"start":{"line":364,"column":2},"end":{"line":401,"column":3}},"loc":{"start":{"line":364,"column":2},"end":{"line":401,"column":3}},"line":364},"17":{"name":"exportKey","decl":{"start":{"line":406,"column":2},"end":{"line":433,"column":3}},"loc":{"start":{"line":406,"column":2},"end":{"line":433,"column":3}},"line":406},"18":{"name":"importKey","decl":{"start":{"line":443,"column":2},"end":{"line":493,"column":3}},"loc":{"start":{"line":443,"column":2},"end":{"line":493,"column":3}},"line":443},"19":{"name":"importPeer","decl":{"start":{"line":498,"column":2},"end":{"line":540,"column":3}},"loc":{"start":{"line":498,"column":2},"end":{"line":540,"column":3}},"line":498},"20":{"name":"getPrivateKey","decl":{"start":{"line":545,"column":2},"end":{"line":560,"column":3}},"loc":{"start":{"line":545,"column":2},"end":{"line":560,"column":3}},"line":545},"21":{"name":"rotateKeychainPass","decl":{"start":{"line":565,"column":2},"end":{"line":615,"column":3}},"loc":{"start":{"line":565,"column":2},"end":{"line":615,"column":3}},"line":565}},"f":{"0":55,"1":0,"2":55,"3":110,"4":55,"5":0,"6":55,"7":55,"8":0,"9":55,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":55,"20":0,"21":0}} +,"/home/ckousik/projects/js-libp2p/src/keychain/util.ts": {"path":"/home/ckousik/projects/js-libp2p/src/keychain/util.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":37}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":21}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":3}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":52}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":2}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":61}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":2}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":86}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":68}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":38}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":26}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":37}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":145}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":18}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":29}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":17}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":6}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":20}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":21}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":6}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":23}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":17}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":4}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":24}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":23}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":23}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":29}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":12}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":6}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":21}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":22}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":27}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":25}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":26}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":26}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":6}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":21}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":21}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":22}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":26}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":22}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":6}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":23}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":17}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":17}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":16}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":18}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":16}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":18}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":15}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":26}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":23}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":13}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":62}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":27}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":2}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":48}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":39}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":2}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":23}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":79}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":3}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":90}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":42}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":45}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":51}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":21}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":0,"78":0,"79":0,"80":0,"81":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"certificateForKey","decl":{"start":{"line":14,"column":33},"end":{"line":65,"column":1}},"loc":{"start":{"line":14,"column":33},"end":{"line":65,"column":1}},"line":14},"1":{"name":"findAsync","decl":{"start":{"line":77,"column":7},"end":{"line":82,"column":1}},"loc":{"start":{"line":77,"column":7},"end":{"line":82,"column":1}},"line":77}},"f":{"0":0,"1":0}} +,"/home/ckousik/projects/js-libp2p/src/ping/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/ping/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":42}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":35}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/src/ping/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/ping/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":30}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":28}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":63}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":77}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":80}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":55}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":61}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":54}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":52}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":60}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":58}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":40}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":77}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":27}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":48}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":40}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":22}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":38}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":47}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":34}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":52}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":26}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":74}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":32}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":82}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":20}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":18}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":79}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":53}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":54}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":6}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":23}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":3}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":17}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":59}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":24}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":3}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":16}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":63}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":44}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":27}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":29}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":21}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":22}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":8}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":3}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":80}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":4}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":35}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":31}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":5}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":74}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":48}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":28}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":41}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":92}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":25}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":31}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":34}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":49}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":25}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":66}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":39}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":0}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":11}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":31}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":61}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":16}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":9}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":60}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":14}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":8}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":30}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":52}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":32}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":15}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":15}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":45}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":7}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":28}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":73}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":85}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":7}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":24}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":15}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":38}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":33}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":7}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":27}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":22}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":3}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":55,"44":55,"45":55,"46":55,"47":55,"48":1,"49":1,"50":55,"51":55,"52":55,"53":55,"54":55,"55":55,"56":1,"57":1,"58":55,"59":55,"60":55,"61":1,"62":1,"63":0,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":1},"branchMap":{"0":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"locations":[{"start":{"line":43,"column":2},"end":{"line":48,"column":3}}]},"1":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"locations":[{"start":{"line":50,"column":2},"end":{"line":56,"column":3}}]},"2":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":2},"end":{"line":61,"column":3}},"locations":[{"start":{"line":58,"column":2},"end":{"line":61,"column":3}}]}},"b":{"0":[55],"1":[55],"2":[55]},"fnMap":{"0":{"name":"PingService","decl":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"line":43},"1":{"name":"start","decl":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"loc":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"line":50},"2":{"name":"stop","decl":{"start":{"line":58,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":58,"column":2},"end":{"line":61,"column":3}},"line":58},"3":{"name":"isStarted","decl":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"line":63},"4":{"name":"handleMessage","decl":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"line":70},"5":{"name":"ping","decl":{"start":{"line":85,"column":2},"end":{"line":135,"column":3}},"loc":{"start":{"line":85,"column":2},"end":{"line":135,"column":3}},"line":85}},"f":{"0":55,"1":55,"2":55,"3":0,"4":0,"5":0}} +,"/home/ckousik/projects/js-libp2p/src/pubsub/dummy-pubsub.ts": {"path":"/home/ckousik/projects/js-libp2p/src/pubsub/dummy-pubsub.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":56}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":55}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":127}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":46}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":79}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":25}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":16}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":3}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":34}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":33}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":73}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":81}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":81}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":81}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":26}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":81}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":3}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":22}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":81}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":81}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":31}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":81}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":44}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":81}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":55,"7":55,"8":55,"9":55,"10":0,"11":0,"12":55,"13":55,"14":0,"15":0,"16":55,"17":55,"18":0,"19":0,"20":55,"21":55,"22":0,"23":0,"24":55,"25":55,"26":0,"27":0,"28":55,"29":55,"30":0,"31":0,"32":55,"33":55,"34":0,"35":0,"36":55,"37":55,"38":0,"39":0,"40":55,"41":55,"42":0,"43":0,"44":55,"45":55,"46":0,"47":0,"48":55,"49":55,"50":0,"51":0,"52":55},"branchMap":{"0":{"type":"branch","line":7,"loc":{"start":{"line":7,"column":0},"end":{"line":53,"column":1}},"locations":[{"start":{"line":7,"column":0},"end":{"line":53,"column":1}}]}},"b":{"0":[55]},"fnMap":{"0":{"name":"DummyPubSub","decl":{"start":{"line":7,"column":0},"end":{"line":53,"column":1}},"loc":{"start":{"line":7,"column":0},"end":{"line":53,"column":1}},"line":7},"1":{"name":"isStarted","decl":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"line":10},"2":{"name":"start","decl":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"line":14},"3":{"name":"stop","decl":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"line":18},"4":{"name":"get globalSignaturePolicy","decl":{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},"line":22},"5":{"name":"get multicodecs","decl":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"line":26},"6":{"name":"getPeers","decl":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"line":30},"7":{"name":"getTopics","decl":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"line":34},"8":{"name":"subscribe","decl":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"line":38},"9":{"name":"unsubscribe","decl":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"line":42},"10":{"name":"getSubscribers","decl":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"line":46},"11":{"name":"publish","decl":{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},"line":50}},"f":{"0":55,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0}} +,"/home/ckousik/projects/js-libp2p/test/fixtures/peers.ts": {"path":"/home/ckousik/projects/js-libp2p/test/fixtures/peers.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":17}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":61}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":150}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":60}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":4}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":61}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":150}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":60}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":4}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":61}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":150}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":60}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":4}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":61}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":150}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":60}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":4}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":61}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":150}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":61}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":150}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":60}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":2}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/test/relay/auto-relay.node.ts": {"path":"/home/ckousik/projects/js-libp2p/test/relay/auto-relay.node.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":22}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":27}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":33}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":25}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":68}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":53}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":66}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":51}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":57}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":71}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":100}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":40}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":46}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":79}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":19}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":7}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":16}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":10}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":76}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":30}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":59}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":58}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":4}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":30}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":28}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":26}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":31}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":28}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":54}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":33}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":8}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":38}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":8}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":6}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":28}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":24}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":95}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":6}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":27}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":23}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":94}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":6}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":120}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":23}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":93}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":43}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":44}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":54}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":44}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":45}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":34}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":85}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":59}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":6}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":4}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":47}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":26}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":32}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":32}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":32}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":28}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":54}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":78}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":52}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":53}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":53}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":52}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":8}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":24}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":117}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":6}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":27}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":23}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":123}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":6}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":0}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":120}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":23}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":101}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":50}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":61}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":44}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":52}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":34}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":92}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":59}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":6}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":95}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":23}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":101}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":50}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":61}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":44}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":52}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":44}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":91}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":86}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":44}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":6}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":70}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":39}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":101}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":50}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":61}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":44}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":52}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":36}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":93}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":60}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":44}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":101}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":50}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":61}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":73}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":61}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":21}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":37}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":36}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":93}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":60}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":6}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":86}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":49}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":58}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":7}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":69}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":64}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":39}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":101}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":50}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":61}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":40}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":52}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":44}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":52}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":48}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":61}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":21}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":37}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":6}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":115}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":39}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":101}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":50}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":61}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":52}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":44}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":101}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":50}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":61}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":44}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":61}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":21}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":37}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":44}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":107}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":31}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":43}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":89}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":47}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":61}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":21}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":37}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":0}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":65}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":52}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":6}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":0}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":141}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":39}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":101}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":50}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":0}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":44}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":52}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":70}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":101}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":50}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":49}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":61}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":41}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":52}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":0}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":67}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":52}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":62}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":70}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":65}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":52}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":6}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":0}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":123}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":30}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":0}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":39}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":101}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":50}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":70}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":101}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":50}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":0}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":44}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":52}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":0}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":49}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":61}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":41}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":52}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":0}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":18}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":101}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":26}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":64}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":8}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":67}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":52}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":62}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":57}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":29}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":28}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":6}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":4}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":0}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":48}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":32}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":32}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":32}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":0}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":28}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":54}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":70}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":53}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":53}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":52}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":8}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":24}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":109}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":6}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":27}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":23}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":115}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":6}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":79}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":46}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":101}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":50}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":52}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":0}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":46}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":101}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":50}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":52}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":0}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":64}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":97}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":88}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":50}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":0}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":39}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":61}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":21}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":37}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":6}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":4}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":0}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":31}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":25}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":26}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":31}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":54}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":55}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":54}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":0}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":28}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":53}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":67}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":0}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":54}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":68}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":0}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":53}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":54}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":67}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":57}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":20}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":37}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":29}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":33}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":13}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":12}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":11}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":20}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":37}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":29}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":34}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":13}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":12}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":11}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":20}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":38}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":20}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":26}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":32}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":26}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":29}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":16}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":26}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":30}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":31}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":15}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":14}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":29}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":33}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":13}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":12}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":10}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":8}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":6}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":28}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":24}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":95}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":32}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":65}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":41}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":105}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":0}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":63}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":15}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":23}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":21}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":23}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":9}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":10}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":6}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":0}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":27}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":23}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":101}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":6}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":0}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":82}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":67}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":0}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":27}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":57}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":0}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":30}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":49}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":7}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":0}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":25}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":33}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":0}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":37}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":44}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":0}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":67}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":35}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":0}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":51}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":73}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":21}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":8}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":0}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":44}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":91}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":21}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":8}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":0}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":81}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":73}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":0}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":53}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":50}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":0}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":29}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":6}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":4}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":2}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":18,"17":18,"18":18,"19":350,"20":899,"21":13,"22":13,"23":899,"24":337,"25":337,"26":18,"27":13,"28":1,"29":10,"30":10,"31":59,"32":59,"33":10,"34":10,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":7,"86":7,"87":7,"88":7,"89":7,"90":7,"91":7,"92":7,"93":7,"94":7,"95":1,"96":1,"97":1,"98":7,"99":7,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":0,"162":0,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1,"388":1,"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1,"397":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":0,"411":0,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"426":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1},"branchMap":{"0":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":0},"end":{"line":28,"column":1}},"locations":[{"start":{"line":17,"column":0},"end":{"line":28,"column":1}}]},"1":{"type":"branch","line":28,"loc":{"start":{"line":28,"column":-1},"end":{"line":28,"column":1}},"locations":[{"start":{"line":28,"column":-1},"end":{"line":28,"column":1}}]},"2":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":17},"end":{"line":27,"column":3}},"locations":[{"start":{"line":19,"column":17},"end":{"line":27,"column":3}}]},"3":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":45},"end":{"line":24,"column":5}},"locations":[{"start":{"line":20,"column":45},"end":{"line":24,"column":5}}]},"4":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":78},"end":{"line":23,"column":7}},"locations":[{"start":{"line":21,"column":78},"end":{"line":23,"column":7}}]},"5":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":-1},"end":{"line":27,"column":3}},"locations":[{"start":{"line":25,"column":-1},"end":{"line":27,"column":3}}]},"6":{"type":"branch","line":30,"loc":{"start":{"line":30,"column":0},"end":{"line":35,"column":1}},"locations":[{"start":{"line":30,"column":0},"end":{"line":35,"column":1}}]},"7":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":17},"end":{"line":34,"column":3}},"locations":[{"start":{"line":31,"column":17},"end":{"line":34,"column":3}}]},"8":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":23},"end":{"line":442,"column":2}},"locations":[{"start":{"line":37,"column":23},"end":{"line":442,"column":2}}]},"9":{"type":"branch","line":38,"loc":{"start":{"line":38,"column":21},"end":{"line":77,"column":3}},"locations":[{"start":{"line":38,"column":21},"end":{"line":77,"column":3}}]},"10":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":15},"end":{"line":50,"column":5}},"locations":[{"start":{"line":42,"column":15},"end":{"line":50,"column":5}}]},"11":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":15},"end":{"line":55,"column":5}},"locations":[{"start":{"line":52,"column":15},"end":{"line":55,"column":5}}]},"12":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":57},"end":{"line":54,"column":93}},"locations":[{"start":{"line":54,"column":57},"end":{"line":54,"column":93}}]},"13":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":14},"end":{"line":60,"column":5}},"locations":[{"start":{"line":57,"column":14},"end":{"line":60,"column":5}}]},"14":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":57},"end":{"line":59,"column":92}},"locations":[{"start":{"line":59,"column":57},"end":{"line":59,"column":92}}]},"15":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":107},"end":{"line":76,"column":5}},"locations":[{"start":{"line":62,"column":107},"end":{"line":76,"column":5}}]},"16":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":40},"end":{"line":278,"column":3}},"locations":[{"start":{"line":79,"column":40},"end":{"line":278,"column":3}}]},"17":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":15},"end":{"line":96,"column":5}},"locations":[{"start":{"line":85,"column":15},"end":{"line":96,"column":5}}]},"18":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":79},"end":{"line":95,"column":115}},"locations":[{"start":{"line":95,"column":79},"end":{"line":95,"column":115}}]},"19":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":14},"end":{"line":101,"column":5}},"locations":[{"start":{"line":98,"column":14},"end":{"line":101,"column":5}}]},"20":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":86},"end":{"line":100,"column":121}},"locations":[{"start":{"line":100,"column":86},"end":{"line":100,"column":121}}]},"21":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":107},"end":{"line":115,"column":5}},"locations":[{"start":{"line":103,"column":107},"end":{"line":115,"column":5}}]},"22":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":82},"end":{"line":130,"column":5}},"locations":[{"start":{"line":117,"column":82},"end":{"line":130,"column":5}}]},"23":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":57},"end":{"line":158,"column":5}},"locations":[{"start":{"line":132,"column":57},"end":{"line":158,"column":5}}]},"24":{"type":"branch","line":160,"loc":{"start":{"line":160,"column":73},"end":{"line":183,"column":5}},"locations":[{"start":{"line":160,"column":73},"end":{"line":183,"column":5}}]},"25":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":48},"end":{"line":163,"column":7}},"locations":[{"start":{"line":161,"column":48},"end":{"line":163,"column":7}}]},"26":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":102},"end":{"line":215,"column":5}},"locations":[{"start":{"line":185,"column":102},"end":{"line":215,"column":5}}]},"27":{"type":"branch","line":217,"loc":{"start":{"line":217,"column":128},"end":{"line":242,"column":5}},"locations":[{"start":{"line":217,"column":128},"end":{"line":242,"column":5}}]},"28":{"type":"branch","line":238,"loc":{"start":{"line":238,"column":21},"end":{"line":238,"column":69}},"locations":[{"start":{"line":238,"column":21},"end":{"line":238,"column":69}}]},"29":{"type":"branch","line":244,"loc":{"start":{"line":244,"column":110},"end":{"line":277,"column":5}},"locations":[{"start":{"line":244,"column":110},"end":{"line":277,"column":5}}]},"30":{"type":"branch","line":265,"loc":{"start":{"line":265,"column":88},"end":{"line":268,"column":7}},"locations":[{"start":{"line":265,"column":88},"end":{"line":268,"column":7}}]},"31":{"type":"branch","line":280,"loc":{"start":{"line":280,"column":41},"end":{"line":323,"column":3}},"locations":[{"start":{"line":280,"column":41},"end":{"line":323,"column":3}}]},"32":{"type":"branch","line":285,"loc":{"start":{"line":285,"column":15},"end":{"line":295,"column":5}},"locations":[{"start":{"line":285,"column":15},"end":{"line":295,"column":5}}]},"33":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":71},"end":{"line":294,"column":107}},"locations":[{"start":{"line":294,"column":71},"end":{"line":294,"column":107}}]},"34":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":14},"end":{"line":300,"column":5}},"locations":[{"start":{"line":297,"column":14},"end":{"line":300,"column":5}}]},"35":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":78},"end":{"line":299,"column":113}},"locations":[{"start":{"line":299,"column":78},"end":{"line":299,"column":113}}]},"36":{"type":"branch","line":302,"loc":{"start":{"line":302,"column":66},"end":{"line":322,"column":5}},"locations":[{"start":{"line":302,"column":66},"end":{"line":322,"column":5}}]},"37":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":24},"end":{"line":441,"column":3}},"locations":[{"start":{"line":325,"column":24},"end":{"line":441,"column":3}}]},"38":{"type":"branch","line":333,"loc":{"start":{"line":333,"column":15},"end":{"line":378,"column":5}},"locations":[{"start":{"line":333,"column":15},"end":{"line":378,"column":5}}]},"39":{"type":"branch","line":335,"loc":{"start":{"line":335,"column":42},"end":{"line":335,"column":64}},"locations":[{"start":{"line":335,"column":42},"end":{"line":335,"column":64}}]},"40":{"type":"branch","line":338,"loc":{"start":{"line":338,"column":43},"end":{"line":338,"column":65}},"locations":[{"start":{"line":338,"column":43},"end":{"line":338,"column":65}}]},"41":{"type":"branch","line":342,"loc":{"start":{"line":342,"column":42},"end":{"line":342,"column":64}},"locations":[{"start":{"line":342,"column":42},"end":{"line":342,"column":64}}]},"42":{"type":"branch","line":348,"loc":{"start":{"line":348,"column":14},"end":{"line":348,"column":33}},"locations":[{"start":{"line":348,"column":14},"end":{"line":348,"column":33}}]},"43":{"type":"branch","line":355,"loc":{"start":{"line":355,"column":14},"end":{"line":355,"column":34}},"locations":[{"start":{"line":355,"column":14},"end":{"line":355,"column":34}}]},"44":{"type":"branch","line":373,"loc":{"start":{"line":373,"column":14},"end":{"line":373,"column":33}},"locations":[{"start":{"line":373,"column":14},"end":{"line":373,"column":33}}]},"45":{"type":"branch","line":380,"loc":{"start":{"line":380,"column":15},"end":{"line":397,"column":5}},"locations":[{"start":{"line":380,"column":15},"end":{"line":397,"column":5}}]},"46":{"type":"branch","line":382,"loc":{"start":{"line":382,"column":57},"end":{"line":382,"column":93}},"locations":[{"start":{"line":382,"column":57},"end":{"line":382,"column":93}}]},"47":{"type":"branch","line":385,"loc":{"start":{"line":385,"column":21},"end":{"line":385,"column":64}},"locations":[{"start":{"line":385,"column":21},"end":{"line":385,"column":64}}]},"48":{"type":"branch","line":388,"loc":{"start":{"line":388,"column":57},"end":{"line":388,"column":104}},"locations":[{"start":{"line":388,"column":57},"end":{"line":388,"column":104}}]},"49":{"type":"branch","line":390,"loc":{"start":{"line":390,"column":42},"end":{"line":396,"column":7}},"locations":[{"start":{"line":390,"column":42},"end":{"line":396,"column":7}}]},"50":{"type":"branch","line":399,"loc":{"start":{"line":399,"column":14},"end":{"line":402,"column":5}},"locations":[{"start":{"line":399,"column":14},"end":{"line":402,"column":5}}]},"51":{"type":"branch","line":401,"loc":{"start":{"line":401,"column":64},"end":{"line":401,"column":99}},"locations":[{"start":{"line":401,"column":64},"end":{"line":401,"column":99}}]},"52":{"type":"branch","line":404,"loc":{"start":{"line":404,"column":69},"end":{"line":440,"column":5}},"locations":[{"start":{"line":404,"column":69},"end":{"line":440,"column":5}}]},"53":{"type":"branch","line":410,"loc":{"start":{"line":410,"column":29},"end":{"line":412,"column":7}},"locations":[{"start":{"line":410,"column":29},"end":{"line":412,"column":7}}]},"54":{"type":"branch","line":424,"loc":{"start":{"line":424,"column":21},"end":{"line":424,"column":70}},"locations":[{"start":{"line":424,"column":21},"end":{"line":424,"column":70}}]},"55":{"type":"branch","line":429,"loc":{"start":{"line":429,"column":21},"end":{"line":429,"column":88}},"locations":[{"start":{"line":429,"column":21},"end":{"line":429,"column":88}}]}},"b":{"0":[18],"1":[13],"2":[350],"3":[899],"4":[13],"5":[337],"6":[10],"7":[59],"8":[1],"9":[1],"10":[1],"11":[1],"12":[2],"13":[1],"14":[2],"15":[1],"16":[1],"17":[7],"18":[28],"19":[7],"20":[28],"21":[1],"22":[1],"23":[1],"24":[1],"25":[0],"26":[1],"27":[1],"28":[1],"29":[1],"30":[1],"31":[1],"32":[1],"33":[3],"34":[1],"35":[3],"36":[1],"37":[1],"38":[1],"39":[1],"40":[1],"41":[1],"42":[1],"43":[1],"44":[1],"45":[1],"46":[3],"47":[50],"48":[2],"49":[1],"50":[1],"51":[3],"52":[1],"53":[0],"54":[1],"55":[14]},"fnMap":{"0":{"name":"usingAsRelay","decl":{"start":{"line":17,"column":0},"end":{"line":28,"column":1}},"loc":{"start":{"line":17,"column":0},"end":{"line":28,"column":1}},"line":17},"1":{"name":"discoveredRelayConfig","decl":{"start":{"line":30,"column":0},"end":{"line":35,"column":1}},"loc":{"start":{"line":30,"column":0},"end":{"line":35,"column":1}},"line":30},"2":{"name":"Promise.all.createNode.config.createNodeOptions.contentRouters","decl":{"start":{"line":348,"column":14},"end":{"line":348,"column":33}},"loc":{"start":{"line":348,"column":14},"end":{"line":348,"column":33}},"line":348},"3":{"name":"Promise.all.createNode.config.createNodeOptions.contentRouters","decl":{"start":{"line":355,"column":14},"end":{"line":355,"column":34}},"loc":{"start":{"line":355,"column":14},"end":{"line":355,"column":34}},"line":355},"4":{"name":"Promise.all.createNode.config.createRelayOptions.contentRouters","decl":{"start":{"line":373,"column":14},"end":{"line":373,"column":33}},"loc":{"start":{"line":373,"column":14},"end":{"line":373,"column":33}},"line":373},"5":{"name":"pWaitFor.timeout","decl":{"start":{"line":424,"column":21},"end":{"line":424,"column":70}},"loc":{"start":{"line":424,"column":21},"end":{"line":424,"column":70}},"line":424},"6":{"name":"pWaitFor.timeout","decl":{"start":{"line":429,"column":21},"end":{"line":429,"column":88}},"loc":{"start":{"line":429,"column":21},"end":{"line":429,"column":88}},"line":429}},"f":{"0":18,"1":10,"2":1,"3":1,"4":1,"5":1,"6":14}} +,"/home/ckousik/projects/js-libp2p/test/relay/relay.node.ts": {"path":"/home/ckousik/projects/js-libp2p/test/relay/relay.node.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":51}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":30}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":76}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":68}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":63}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":61}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":72}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":53}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":53}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":24}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":25}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":44}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":27}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":27}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":26}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":61}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":18}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":35}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":18}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":24}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":28}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":13}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":11}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":10}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":9}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":18}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":36}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":18}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":24}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":28}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":13}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":11}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":10}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":9}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":35}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":18}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":24}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":27}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":13}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":11}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":10}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":8}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":6}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":59}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":31}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":6}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":100}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":4}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":25}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":106}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":4}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":94}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":75}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":55}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":72}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":98}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":72}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":64}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":30}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":43}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":69}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":53}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":33}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":78}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":50}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":64}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":47}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":32}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":14}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":17}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":41}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":40}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":22}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":4}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":93}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":75}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":55}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":30}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":43}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":69}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":42}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":34}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":84}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":4}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":99}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":75}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":55}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":30}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":43}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":69}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":42}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":34}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":84}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":82}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":101}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":41}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":4}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":95}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":55}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":112}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":30}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":69}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":35}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":42}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":34}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":84}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":0}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":100}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":46}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":77}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":4}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":105}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":55}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":112}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":0}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":30}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":69}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":49}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":69}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":129}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":108}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":125}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":0}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":75}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":68}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":69}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":57}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":73}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":61}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":44}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":61}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":71}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":25}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":0}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":32}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":100}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":46}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":77}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":4}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":74}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":28}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":36}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":34}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":16}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":22}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":26}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":12}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":16}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":33}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":22}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":11}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":9}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":8}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":6}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":75}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":83}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":53}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":65}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":43}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":42}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":23}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":32}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":8}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":68}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":62}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":48}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":4}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":2}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":6,"26":6,"27":6,"28":6,"29":6,"30":6,"31":6,"32":6,"33":6,"34":6,"35":6,"36":6,"37":6,"38":6,"39":6,"40":6,"41":6,"42":6,"43":6,"44":6,"45":6,"46":6,"47":6,"48":6,"49":6,"50":6,"51":6,"52":6,"53":6,"54":6,"55":6,"56":6,"57":1,"58":6,"59":6,"60":6,"61":6,"62":1,"63":1,"64":1,"65":6,"66":6,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":37},"end":{"line":212,"column":2}},"locations":[{"start":{"line":20,"column":37},"end":{"line":212,"column":2}}]},"1":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":13},"end":{"line":63,"column":3}},"locations":[{"start":{"line":25,"column":13},"end":{"line":63,"column":3}}]},"2":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":42},"end":{"line":59,"column":5}},"locations":[{"start":{"line":57,"column":42},"end":{"line":59,"column":5}}]},"3":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":62},"end":{"line":62,"column":98}},"locations":[{"start":{"line":62,"column":62},"end":{"line":62,"column":98}}]},"4":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":12},"end":{"line":68,"column":3}},"locations":[{"start":{"line":65,"column":12},"end":{"line":68,"column":3}}]},"5":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":69},"end":{"line":67,"column":104}},"locations":[{"start":{"line":67,"column":69},"end":{"line":67,"column":104}}]},"6":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":81},"end":{"line":99,"column":3}},"locations":[{"start":{"line":70,"column":81},"end":{"line":99,"column":3}}]},"7":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":6},"end":{"line":94,"column":41}},"locations":[{"start":{"line":94,"column":6},"end":{"line":94,"column":41}}]},"8":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":80},"end":{"line":112,"column":3}},"locations":[{"start":{"line":101,"column":80},"end":{"line":112,"column":3}}]},"9":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":86},"end":{"line":129,"column":3}},"locations":[{"start":{"line":114,"column":86},"end":{"line":129,"column":3}}]},"10":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":82},"end":{"line":147,"column":3}},"locations":[{"start":{"line":131,"column":82},"end":{"line":147,"column":3}}]},"11":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":92},"end":{"line":178,"column":3}},"locations":[{"start":{"line":149,"column":92},"end":{"line":178,"column":3}}]},"12":{"type":"branch","line":180,"loc":{"start":{"line":180,"column":61},"end":{"line":211,"column":3}},"locations":[{"start":{"line":180,"column":61},"end":{"line":211,"column":3}}]},"13":{"type":"branch","line":202,"loc":{"start":{"line":202,"column":22},"end":{"line":206,"column":5}},"locations":[{"start":{"line":202,"column":22},"end":{"line":206,"column":5}}]},"14":{"type":"branch","line":206,"loc":{"start":{"line":206,"column":-1},"end":{"line":206,"column":5}},"locations":[{"start":{"line":206,"column":-1},"end":{"line":206,"column":5}}]}},"b":{"0":[1],"1":[6],"2":[1],"3":[18],"4":[6],"5":[18],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[0]},"fnMap":{},"f":{}} +,"/home/ckousik/projects/js-libp2p/test/relay/utils.ts": {"path":"/home/ckousik/projects/js-libp2p/test/relay/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":60}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":82}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":28}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":16}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":26}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":6}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":24}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":21}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":6}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":12}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":12}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":22}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":8}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":22}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":23}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":7}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":5}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":18}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":1}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":83}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":28}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":12}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":12}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":21}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":7}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":55,"7":55,"8":55,"9":55,"10":55,"11":55,"12":55,"13":55,"14":55,"15":55,"16":55,"17":55,"18":55,"19":55,"20":55,"21":55,"22":55,"23":55,"24":1,"25":1,"26":33,"27":33,"28":33,"29":33,"30":33,"31":33,"32":33,"33":33},"branchMap":{"0":{"type":"branch","line":6,"loc":{"start":{"line":6,"column":6},"end":{"line":24,"column":1}},"locations":[{"start":{"line":6,"column":6},"end":{"line":24,"column":1}}]},"1":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":6},"end":{"line":34,"column":1}},"locations":[{"start":{"line":26,"column":6},"end":{"line":34,"column":1}}]}},"b":{"0":[55],"1":[33]},"fnMap":{"0":{"name":"createNodeOptions","decl":{"start":{"line":6,"column":6},"end":{"line":24,"column":1}},"loc":{"start":{"line":6,"column":6},"end":{"line":24,"column":1}},"line":6},"1":{"name":"createRelayOptions","decl":{"start":{"line":26,"column":6},"end":{"line":34,"column":1}},"loc":{"start":{"line":26,"column":6},"end":{"line":34,"column":1}},"line":26}},"f":{"0":55,"1":33}} +,"/home/ckousik/projects/js-libp2p/test/utils/base-options.browser.ts": {"path":"/home/ckousik/projects/js-libp2p/test/utils/base-options.browser.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":47}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":53}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":37}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":55}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":46}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":40}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":78}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":34}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":17}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":18}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":27}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":8}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":6}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":19}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":13}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":6}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":27}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":17}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":6}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":12}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":21}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":12}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":22}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":7}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":6}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":10}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":20}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":41}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":55,"10":55,"11":55,"12":55,"13":55,"14":55,"15":55,"16":55,"17":55,"18":55,"19":55,"20":55,"21":55,"22":55,"23":55,"24":55,"25":55,"26":55,"27":55,"28":55,"29":55,"30":55,"31":55,"32":55,"33":55},"branchMap":{"0":{"type":"branch","line":9,"loc":{"start":{"line":9,"column":6},"end":{"line":34,"column":1}},"locations":[{"start":{"line":9,"column":6},"end":{"line":34,"column":1}}]}},"b":{"0":[55]},"fnMap":{"0":{"name":"createBaseOptions","decl":{"start":{"line":9,"column":6},"end":{"line":34,"column":1}},"loc":{"start":{"line":9,"column":6},"end":{"line":34,"column":1}},"line":9}},"f":{"0":55}} +,"/home/ckousik/projects/js-libp2p/test/utils/base-options.ts": {"path":"/home/ckousik/projects/js-libp2p/test/utils/base-options.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":37}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":55}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":82}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":34}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":17}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":11}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":6}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":19}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":13}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":6}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":17}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":6}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":12}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":12}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":22}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":7}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":6}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":10}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":20}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":44}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":55,"8":55,"9":55,"10":55,"11":55,"12":55,"13":55,"14":55,"15":55,"16":55,"17":55,"18":55,"19":55,"20":55,"21":55,"22":55,"23":55,"24":55,"25":55,"26":55,"27":55,"28":55,"29":55},"branchMap":{"0":{"type":"branch","line":7,"loc":{"start":{"line":7,"column":6},"end":{"line":30,"column":1}},"locations":[{"start":{"line":7,"column":6},"end":{"line":30,"column":1}}]}},"b":{"0":[55]},"fnMap":{"0":{"name":"createBaseOptions","decl":{"start":{"line":7,"column":6},"end":{"line":30,"column":1}},"loc":{"start":{"line":7,"column":6},"end":{"line":30,"column":1}},"line":7}},"f":{"0":55}} +,"/home/ckousik/projects/js-libp2p/test/utils/creators/peer.ts": {"path":"/home/ckousik/projects/js-libp2p/test/utils/creators/peer.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":43}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":62}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":94}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":28}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":58}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":55}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":79}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":52}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":36}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":5}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":33}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":17}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":18}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":39}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":19}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":24}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":23}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":89}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":41}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":37}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":65}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":47}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":7}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":21}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":40}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":7}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":7}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":19}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":21}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":23}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":40}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":7}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":57}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":11}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":14}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":13}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":16}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":3}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":13}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":1}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":66}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":42}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":44}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":20}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":127}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":7}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":5}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":1}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":0}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":5}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":54}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":18}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":46}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":5}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":10}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":28}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":17}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":3}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":1}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":3}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":17}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":89}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":33}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":32}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":112}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":53}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":1}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":18}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":3}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":124}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":33}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":62}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":12}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":14}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":55,"36":55,"37":55,"38":55,"39":55,"40":55,"41":55,"42":55,"43":55,"44":55,"45":55,"46":0,"47":0,"48":0,"49":0,"50":0,"51":55,"52":55,"53":55,"54":55,"55":55,"56":55,"57":55,"58":55,"59":55,"60":55,"61":55,"62":55,"63":1,"64":1,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":55,"95":55,"96":55,"97":55,"98":55,"99":0,"100":0,"101":0,"102":1,"103":1,"104":1,"105":1,"106":1,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0},"branchMap":{"0":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":7},"end":{"line":63,"column":1}},"locations":[{"start":{"line":35,"column":7},"end":{"line":63,"column":1}}]},"1":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":31},"end":{"line":37,"column":37}},"locations":[{"start":{"line":37,"column":31},"end":{"line":37,"column":37}}]},"2":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":4},"end":{"line":51,"column":7}},"locations":[{"start":{"line":46,"column":4},"end":{"line":51,"column":7}}]},"3":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":7},"end":{"line":102,"column":1}},"locations":[{"start":{"line":94,"column":7},"end":{"line":102,"column":1}}]},"4":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":31},"end":{"line":98,"column":83}},"locations":[{"start":{"line":98,"column":31},"end":{"line":98,"column":83}}]},"5":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":-1},"end":{"line":102,"column":1}},"locations":[{"start":{"line":100,"column":-1},"end":{"line":102,"column":1}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[55],"4":[0],"5":[0]},"fnMap":{"0":{"name":"createNode","decl":{"start":{"line":35,"column":7},"end":{"line":63,"column":1}},"loc":{"start":{"line":35,"column":7},"end":{"line":63,"column":1}},"line":35},"1":{"name":"announceFilter","decl":{"start":{"line":44,"column":24},"end":{"line":44,"column":40}},"loc":{"start":{"line":44,"column":24},"end":{"line":44,"column":40}},"line":44},"2":{"name":"announceFilter","decl":{"start":{"line":50,"column":24},"end":{"line":50,"column":40}},"loc":{"start":{"line":50,"column":24},"end":{"line":50,"column":40}},"line":50},"3":{"name":"populateAddressBooks","decl":{"start":{"line":65,"column":7},"end":{"line":73,"column":1}},"loc":{"start":{"line":65,"column":7},"end":{"line":73,"column":1}},"line":65},"4":{"name":"createPeerId","decl":{"start":{"line":94,"column":7},"end":{"line":102,"column":1}},"loc":{"start":{"line":94,"column":7},"end":{"line":102,"column":1}},"line":94},"5":{"name":"createPeerIds","decl":{"start":{"line":107,"column":7},"end":{"line":114,"column":1}},"loc":{"start":{"line":107,"column":7},"end":{"line":114,"column":1}},"line":107}},"f":{"0":55,"1":0,"2":0,"3":0,"4":55,"5":0}} +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..55712c19f1 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib" +} \ No newline at end of file diff --git a/package.json b/package.json index 8f340b2262..8edc158db0 100644 --- a/package.json +++ b/package.json @@ -80,11 +80,13 @@ "build": "aegir build", "docs": "aegir docs", "generate": "run-s generate:proto:*", - "generate:proto:circuit": "protons ./src/circuit/pb/index.proto", + "generate:proto:circuitv1": "protons ./src/circuit/v1/pb/index.proto", + "generate:proto:circuitv2": "protons ./src/circuit/v2/pb/index.proto", "generate:proto:fetch": "protons ./src/fetch/pb/proto.proto", "generate:proto:identify": "protons ./src/identify/pb/message.proto", "generate:proto:plaintext": "protons ./src/insecure/pb/proto.proto", "test": "aegir test", + "test:relay": "aegir test -t node -f \"./dist/test/relay/*.{node,spec}.js\" --cov", "test:node": "aegir test -t node -f \"./dist/test/**/*.{node,spec}.js\" --cov", "test:chrome": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" --cov", "test:chrome-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\"", diff --git a/src/circuit/circuit/hop.ts b/src/circuit/circuit/hop.ts deleted file mode 100644 index 1ec63e0caf..0000000000 --- a/src/circuit/circuit/hop.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { logger } from '@libp2p/logger' -import errCode from 'err-code' -import { validateAddrs } from './utils.js' -import { StreamHandler } from './stream-handler.js' -import { CircuitRelay as CircuitPB } from '../pb/index.js' -import { pipe } from 'it-pipe' -import { codes as Errors } from '../../errors.js' -import { stop } from './stop.js' -import { RELAY_CODEC } from '../multicodec.js' -import type { Connection } from '@libp2p/interface-connection' -import { peerIdFromBytes } from '@libp2p/peer-id' -import type { Duplex } from 'it-stream-types' -import type { Circuit } from '../transport.js' -import type { ConnectionManager } from '@libp2p/interface-connection-manager' -import type { AbortOptions } from '@libp2p/interfaces' -import type { Uint8ArrayList } from 'uint8arraylist' - -const log = logger('libp2p:circuit:hop') - -export interface HopRequest { - connection: Connection - request: CircuitPB - streamHandler: StreamHandler - circuit: Circuit - connectionManager: ConnectionManager -} - -export async function handleHop (hopRequest: HopRequest): Promise { - const { - connection, - request, - streamHandler, - circuit, - connectionManager - } = hopRequest - - // Ensure hop is enabled - if (!circuit.hopEnabled()) { - log('HOP request received but we are not acting as a relay') - return streamHandler.end({ - type: CircuitPB.Type.STATUS, - code: CircuitPB.Status.HOP_CANT_SPEAK_RELAY - }) - } - - // Validate the HOP request has the required input - try { - validateAddrs(request, streamHandler) - } catch (err: any) { - log.error('invalid hop request via peer %p %o', connection.remotePeer, err) - - return - } - - if (request.dstPeer == null) { - log('HOP request received but we do not receive a dstPeer') - return - } - - // Get the connection to the destination (stop) peer - const destinationPeer = peerIdFromBytes(request.dstPeer.id) - - const destinationConnections = connectionManager.getConnections(destinationPeer) - if (destinationConnections.length === 0 && !circuit.hopActive()) { - log('HOP request received but we are not connected to the destination peer') - return streamHandler.end({ - type: CircuitPB.Type.STATUS, - code: CircuitPB.Status.HOP_NO_CONN_TO_DST - }) - } - - // TODO: Handle being an active relay - if (destinationConnections.length === 0) { - log('did not have connection to remote peer') - return streamHandler.end({ - type: CircuitPB.Type.STATUS, - code: CircuitPB.Status.HOP_NO_CONN_TO_DST - }) - } - - // Handle the incoming HOP request by performing a STOP request - const stopRequest = { - type: CircuitPB.Type.STOP, - dstPeer: request.dstPeer, - srcPeer: request.srcPeer - } - - let destinationStream: Duplex - try { - log('performing STOP request') - const result = await stop({ - connection: destinationConnections[0], - request: stopRequest - }) - - if (result == null) { - throw new Error('Could not stop') - } - - destinationStream = result - } catch (err: any) { - log.error(err) - - return - } - - log('hop request from %p is valid', connection.remotePeer) - streamHandler.write({ - type: CircuitPB.Type.STATUS, - code: CircuitPB.Status.SUCCESS - }) - const sourceStream = streamHandler.rest() - - log('creating related connections') - // Short circuit the two streams to create the relayed connection - return await pipe( - sourceStream, - destinationStream, - sourceStream - ) -} - -export interface HopConfig extends AbortOptions { - connection: Connection - request: CircuitPB -} - -/** - * Performs a HOP request to a relay peer, to request a connection to another - * peer. A new, virtual, connection will be created between the two via the relay. - */ -export async function hop (options: HopConfig): Promise> { - const { - connection, - request, - signal - } = options - - // Create a new stream to the relay - const stream = await connection.newStream(RELAY_CODEC, { - signal - }) - // Send the HOP request - const streamHandler = new StreamHandler({ stream }) - streamHandler.write(request) - - const response = await streamHandler.read() - - if (response == null) { - throw errCode(new Error('HOP request had no response'), Errors.ERR_HOP_REQUEST_FAILED) - } - - if (response.code === CircuitPB.Status.SUCCESS) { - log('hop request was successful') - - return streamHandler.rest() - } - - log('hop request failed with code %d, closing stream', response.code) - streamHandler.close() - - throw errCode(new Error(`HOP request failed with code "${response.code ?? 'unknown'}"`), Errors.ERR_HOP_REQUEST_FAILED) -} - -export interface CanHopOptions extends AbortOptions { - connection: Connection -} - -/** - * Performs a CAN_HOP request to a relay peer, in order to understand its capabilities - */ -export async function canHop (options: CanHopOptions) { - const { - connection, - signal - } = options - - // Create a new stream to the relay - const stream = await connection.newStream(RELAY_CODEC, { - signal - }) - - // Send the HOP request - const streamHandler = new StreamHandler({ stream }) - streamHandler.write({ - type: CircuitPB.Type.CAN_HOP - }) - - const response = await streamHandler.read() - await streamHandler.close() - - if (response == null || response.code !== CircuitPB.Status.SUCCESS) { - return false - } - - return true -} - -export interface HandleCanHopOptions { - connection: Connection - streamHandler: StreamHandler - circuit: Circuit -} - -/** - * Creates an unencoded CAN_HOP response based on the Circuits configuration - */ -export function handleCanHop (options: HandleCanHopOptions) { - const { - connection, - streamHandler, - circuit - } = options - const canHop = circuit.hopEnabled() - log('can hop (%s) request from %p', canHop, connection.remotePeer) - streamHandler.end({ - type: CircuitPB.Type.STATUS, - code: canHop ? CircuitPB.Status.SUCCESS : CircuitPB.Status.HOP_CANT_SPEAK_RELAY - }) -} diff --git a/src/circuit/auto-relay.ts b/src/circuit/client.ts similarity index 59% rename from src/circuit/auto-relay.ts rename to src/circuit/client.ts index c6b2722cca..cc5bcfdef3 100644 --- a/src/circuit/auto-relay.ts +++ b/src/circuit/client.ts @@ -1,57 +1,88 @@ import { logger } from '@libp2p/logger' -import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' -import { toString as uint8ArrayToString } from 'uint8arrays/to-string' -import { RELAY_CODEC } from './multicodec.js' -import { canHop } from './circuit/hop.js' -import { namespaceToCid } from './utils.js' +import { RELAY_V2_HOP_CODEC } from './multicodec.js' +import { getExpiration, namespaceToCid } from './utils.js' import { CIRCUIT_PROTO_CODE, - HOP_METADATA_KEY, - HOP_METADATA_VALUE, RELAY_RENDEZVOUS_NS } from './constants.js' import type { PeerId } from '@libp2p/interface-peer-id' -import type { AddressSorter, PeerProtocolsChangeData } from '@libp2p/interface-peer-store' +import type { AddressSorter } from '@libp2p/interface-peer-store' import type { Connection } from '@libp2p/interface-connection' import sort from 'it-sort' import all from 'it-all' import { pipe } from 'it-pipe' import { publicAddressesFirst } from '@libp2p/utils/address-sort' -import type { RelayComponents } from './index.js' +import { reserve } from './v2/index.js' +import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' +import type { Startable } from '@libp2p/interfaces/startable' +import type { Components } from '../components.js' -const log = logger('libp2p:auto-relay') +const log = logger('libp2p:circuit_client') const noop = () => {} -export interface AutoRelayInit { +export interface CircuitServiceInit { addressSorter?: AddressSorter - maxListeners?: number + maxReservations?: number onError?: (error: Error, msg?: string) => void } -export class AutoRelay { - private readonly components: RelayComponents +export interface CircuitServiceEvents { + 'relay:reservation': CustomEvent +} + +export class CircuitService extends EventEmitter implements Startable { + private readonly components: Components private readonly addressSorter: AddressSorter - private readonly maxListeners: number - private readonly listenRelays: Set + private readonly maxReservations: number + private readonly relays: Set + private readonly reservationMap: Map> private readonly onError: (error: Error, msg?: string) => void + private started: boolean - constructor (components: RelayComponents, init: AutoRelayInit) { + constructor (components: Components, init: CircuitServiceInit) { + super() + this.started = false this.components = components this.addressSorter = init.addressSorter ?? publicAddressesFirst - this.maxListeners = init.maxListeners ?? 1 - this.listenRelays = new Set() + this.maxReservations = init.maxReservations ?? 1 + this.relays = new Set() + this.reservationMap = new Map() this.onError = init.onError ?? noop this._onProtocolChange = this._onProtocolChange.bind(this) this._onPeerDisconnected = this._onPeerDisconnected.bind(this) this.components.peerStore.addEventListener('change:protocols', (evt) => { - void this._onProtocolChange(evt).catch(err => { + void this._onProtocolChange(evt.detail).catch(err => { log.error(err) }) }) - this.components.connectionManager.addEventListener('peer:disconnect', this._onPeerDisconnected) + + this.components.connectionManager.addEventListener('peer:disconnect', (evt) => { + this._onPeerDisconnected(evt) + }) + + this.components.connectionManager.addEventListener('peer:connect', (evt) => { + log.trace('Connected', evt.detail.remotePeer.toString(), this.components.peerId.toString()) + }) + } + + isStarted () { + return this.started + } + + start () { + void this._listenOnAvailableHopRelays() + this.started = true + } + + async stop () { + for (const timer of this.reservationMap.values()) { + clearTimeout(timer) + } + this.reservationMap.clear() + this.relays.clear() } /** @@ -60,26 +91,27 @@ export class AutoRelay { * If the protocol is supported, check if the peer supports **HOP** and add it as a listener if * inside the threshold. */ - async _onProtocolChange (evt: CustomEvent) { - const { - peerId, - protocols - } = evt.detail + async _onProtocolChange ({ peerId, protocols }: {peerId: PeerId, protocols: string[]}) { const id = peerId.toString() + if (peerId.equals(this.components.peerId)) { + return + } + // Check if it has the protocol - const hasProtocol = protocols.find(protocol => protocol === RELAY_CODEC) + const hasProtocol = protocols.find(protocol => protocol === RELAY_V2_HOP_CODEC) + log.trace(`Peer ${peerId.toString()} protocol change`, this.components.peerId.toString()) // If no protocol, check if we were keeping the peer before as a listenRelay if (hasProtocol == null) { - if (this.listenRelays.has(id)) { + if (this.relays.has(id)) { await this._removeListenRelay(id) } return } - if (this.listenRelays.has(id)) { + if (this.relays.has(id)) { return } @@ -87,24 +119,20 @@ export class AutoRelay { try { const connections = this.components.connectionManager.getConnections(peerId) - if (connections.length === 0) { + const connection = connections[0] + + if (connection == null) { + void this._tryToListenOnRelay(peerId) return } - const connection = connections[0] - // Do not hop on a relayed connection if (connection.remoteAddr.protoCodes().includes(CIRCUIT_PROTO_CODE)) { log(`relayed connection to ${id} will not be used to hop on`) return } - - const supportsHop = await canHop({ connection }) - - if (supportsHop) { - await this.components.peerStore.metadataBook.setValue(peerId, HOP_METADATA_KEY, uint8ArrayFromString(HOP_METADATA_VALUE)) - await this._addListenRelay(connection, id) - } + log.trace(`Peer ${peerId.toString()} adding as relay`) + await this._addListenRelay(connection, peerId) } catch (err: any) { this.onError(err) } @@ -117,9 +145,11 @@ export class AutoRelay { const connection = evt.detail const peerId = connection.remotePeer const id = peerId.toString() + clearTimeout(this.reservationMap.get(peerId)) + this.reservationMap.delete(peerId) // Not listening on this relay - if (!this.listenRelays.has(id)) { + if (!this.relays.has(id)) { return } @@ -131,13 +161,17 @@ export class AutoRelay { /** * Attempt to listen on the given relay connection */ - async _addListenRelay (connection: Connection, id: string): Promise { + async _addListenRelay (connection: Connection, peerId: PeerId): Promise { + const id = peerId.toString() + log.trace(`Peer ${peerId.toString()} is being added as relay`) try { - // Check if already listening on enough relays - if (this.listenRelays.size >= this.maxListeners) { + // Check if already enough relay reservations + if (this.relays.size >= this.maxReservations) { return } + await this.createOrRefreshReservation(peerId) + // Get peer known addresses and sort them with public addresses first const remoteAddrs = await pipe( await this.components.peerStore.addressBook.get(connection.remotePeer), @@ -170,11 +204,11 @@ export class AutoRelay { ) if (result.includes(true)) { - this.listenRelays.add(id) + this.relays.add(id) } } catch (err: any) { this.onError(err) - this.listenRelays.delete(id) + this.relays.delete(id) } } @@ -182,7 +216,7 @@ export class AutoRelay { * Remove listen relay */ async _removeListenRelay (id: string) { - if (this.listenRelays.delete(id)) { + if (this.relays.delete(id)) { // TODO: this should be responsibility of the connMgr await this._listenOnAvailableHopRelays([id]) } @@ -196,9 +230,8 @@ export class AutoRelay { * 3. Search the network. */ async _listenOnAvailableHopRelays (peersToIgnore: string[] = []) { - // TODO: The peer redial issue on disconnect should be handled by connection gating // Check if already listening on enough relays - if (this.listenRelays.size >= this.maxListeners) { + if (this.relays.size >= this.maxReservations) { return } @@ -206,11 +239,12 @@ export class AutoRelay { const peers = await this.components.peerStore.all() // Check if we have known hop peers to use and attempt to listen on the already connected - for (const { id, metadata } of peers) { + for (const { id, protocols } of peers) { const idStr = id.toString() + log.trace('Checking if peer relay', idStr, protocols, { me: this.components.peerId.toString() }) // Continue to next if listening on this or peer to ignore - if (this.listenRelays.has(idStr)) { + if (this.relays.has(idStr)) { continue } @@ -218,12 +252,13 @@ export class AutoRelay { continue } - const supportsHop = metadata.get(HOP_METADATA_KEY) + const hasProtocol = protocols.find(protocol => protocol === RELAY_V2_HOP_CODEC) // Continue to next if it does not support Hop - if ((supportsHop == null) || uint8ArrayToString(supportsHop) !== HOP_METADATA_VALUE) { + if (hasProtocol == null) { continue } + log.trace('Found peer with relay codec', id) const connections = this.components.connectionManager.getConnections(id) @@ -233,10 +268,10 @@ export class AutoRelay { continue } - await this._addListenRelay(connections[0], idStr) + await this._addListenRelay(connections[0], id) // Check if already listening on enough relays - if (this.listenRelays.size >= this.maxListeners) { + if (this.relays.size >= this.maxReservations) { return } } @@ -246,7 +281,7 @@ export class AutoRelay { await this._tryToListenOnRelay(peerId) // Check if already listening on enough relays - if (this.listenRelays.size >= this.maxListeners) { + if (this.relays.size >= this.maxReservations) { return } } @@ -271,7 +306,7 @@ export class AutoRelay { await this._tryToListenOnRelay(peerId) // Check if already listening on enough relays - if (this.listenRelays.size >= this.maxListeners) { + if (this.relays.size >= this.maxReservations) { return } } @@ -282,11 +317,47 @@ export class AutoRelay { async _tryToListenOnRelay (peerId: PeerId) { try { + if (peerId.equals(this.components.peerId)) { + log.trace('Skipping dialling self', peerId.toString()) + return + } const connection = await this.components.connectionManager.openConnection(peerId) - await this._addListenRelay(connection, peerId.toString()) + await this._addListenRelay(connection, peerId) } catch (err: any) { log.error('Could not use %p as relay', peerId, err) this.onError(err, `could not connect and listen on known hop relay ${peerId.toString()}`) } } + + private readonly createOrRefreshReservation = async (peerId: PeerId) => { + try { + const connections = this.components.connectionManager.getConnections(peerId) + + if (connections.length === 0) { + throw new Error('No connections to peer') + } + + const connection = connections[0] + + const reservation = await reserve(connection) + + const refreshReservation = this.createOrRefreshReservation + + if (reservation != null) { + log('new reservation on ', peerId.toString()) + this.reservationMap.set( + peerId, + setTimeout( + (peerId) => { void refreshReservation(peerId) }, + Math.max(getExpiration(reservation.expire) - 100, 0), + peerId + ) + ) + this.dispatchEvent(new CustomEvent('relay:reservation')) + } + } catch (err: any) { + log.error(err) + await this._removeListenRelay(peerId.toString()) + } + } } diff --git a/src/circuit/constants.ts b/src/circuit/constants.ts index 8405a0fa74..b8db3b3a99 100644 --- a/src/circuit/constants.ts +++ b/src/circuit/constants.ts @@ -15,16 +15,6 @@ export const ADVERTISE_TTL = 30 * minute */ export const CIRCUIT_PROTO_CODE = 290 -/** - * PeerStore metadaBook key for HOP relay service - */ -export const HOP_METADATA_KEY = 'hop_relay' - -/** - * PeerStore metadaBook value for HOP relay service - */ -export const HOP_METADATA_VALUE = 'true' - /** * Relay HOP relay service namespace for discovery */ diff --git a/src/circuit/index.ts b/src/circuit/index.ts index a5870fbc71..18cf74d79b 100644 --- a/src/circuit/index.ts +++ b/src/circuit/index.ts @@ -5,7 +5,6 @@ import { clearDelayedInterval // @ts-expect-error set-delayed-interval does not export types } from 'set-delayed-interval' -import { AutoRelay } from './auto-relay.js' import { namespaceToCid } from './utils.js' import { RELAY_RENDEZVOUS_NS @@ -63,8 +62,6 @@ export interface RelayComponents { export class Relay implements Startable { private readonly components: RelayComponents private readonly init: RelayInit - // @ts-expect-error this field isn't used anywhere? - private readonly autoRelay?: AutoRelay private timeout?: any private started: boolean @@ -73,14 +70,6 @@ export class Relay implements Startable { */ constructor (components: RelayComponents, init: RelayInit) { this.components = components - // Create autoRelay if enabled - this.autoRelay = init.autoRelay?.enabled !== false - ? new AutoRelay(components, { - addressSorter: init.addressSorter, - ...init.autoRelay - }) - : undefined - this.started = false this.init = init this._advertiseService = this._advertiseService.bind(this) diff --git a/src/circuit/multicodec.ts b/src/circuit/multicodec.ts index fcd2822165..3be1e364c4 100644 --- a/src/circuit/multicodec.ts +++ b/src/circuit/multicodec.ts @@ -1,2 +1,4 @@ -export const RELAY_CODEC = '/libp2p/circuit/relay/0.1.0' +export const RELAY_V1_CODEC = '/libp2p/circuit/relay/0.1.0' +export const RELAY_V2_HOP_CODEC = '/libp2p/circuit/relay/0.2.0/hop' +export const RELAY_V2_STOP_CODEC = '/libp2p/circuit/relay/0.2.0/stop' diff --git a/src/circuit/relay.ts b/src/circuit/relay.ts new file mode 100644 index 0000000000..5c1386313c --- /dev/null +++ b/src/circuit/relay.ts @@ -0,0 +1,108 @@ +import { logger } from '@libp2p/logger' +import { codes } from '../errors.js' +import { + setDelayedInterval, + clearDelayedInterval +// @ts-expect-error set-delayed-interval does not export types +} from 'set-delayed-interval' +import { namespaceToCid } from './utils.js' +import { + RELAY_RENDEZVOUS_NS +} from './constants.js' +import type { AddressSorter } from '@libp2p/interface-peer-store' +import type { Startable } from '@libp2p/interfaces/startable' +import type { Components } from '../components.js' + +const log = logger('libp2p:relay') + +export interface RelayAdvertiseConfig { + bootDelay?: number + enabled?: boolean + ttl?: number +} + +export interface HopConfig { + enabled?: boolean + active?: boolean +} + +export interface AutoRelayConfig { + enabled?: boolean + + /** + * maximum number of relays to listen + */ + maxListeners: number +} + +export interface RelayInit { + addressSorter?: AddressSorter + maxListeners?: number + onError?: (error: Error, msg?: string) => void + hop: HopConfig + advertise: RelayAdvertiseConfig +} + +export class Relay implements Startable { + private readonly components: Components + private readonly init: RelayInit + private timeout?: any + private started: boolean + + /** + * Creates an instance of Relay + */ + constructor (components: Components, init: RelayInit) { + this.components = components + this.started = false + this.init = init + this._advertiseService = this._advertiseService.bind(this) + } + + isStarted () { + return this.started + } + + /** + * Start Relay service + */ + async start () { + // Advertise service if HOP enabled + if (this.init.hop.enabled !== false && this.init.advertise.enabled !== false) { + this.timeout = setDelayedInterval( + this._advertiseService, this.init.advertise.ttl, this.init.advertise.bootDelay + ) + } + + this.started = true + } + + /** + * Stop Relay service + */ + async stop () { + if (this.timeout != null) { + clearDelayedInterval(this.timeout) + } + + this.started = false + } + + /** + * Advertise hop relay service in the network. + */ + async _advertiseService () { + try { + const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS) + await this.components.contentRouting.provide(cid) + } catch (err: any) { + if (err.code === codes.ERR_NO_ROUTERS_AVAILABLE) { + log.error('a content router, such as a DHT, must be provided in order to advertise the relay service', err) + // Stop the advertise + await this.stop() + } else { + log.error(err) + } + } + } +} diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index ebb793ca18..fb40352a74 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -1,36 +1,41 @@ +import * as CircuitV1 from './v1/pb/index.js' +import * as CircuitV2 from './v2/pb/index.js' +import { ReservationStore } from './v2/reservation-store.js' import { logger } from '@libp2p/logger' -import errCode from 'err-code' +import createError from 'err-code' import * as mafmt from '@multiformats/mafmt' -import type { Multiaddr } from '@multiformats/multiaddr' import { multiaddr } from '@multiformats/multiaddr' -import { CircuitRelay as CircuitPB } from './pb/index.js' import { codes } from '../errors.js' import { streamToMaConnection } from '@libp2p/utils/stream-to-ma-conn' -import { RELAY_CODEC } from './multicodec.js' +import { RELAY_V2_HOP_CODEC, RELAY_V1_CODEC, RELAY_V2_STOP_CODEC } from './multicodec.js' import { createListener } from './listener.js' -import { handleCanHop, handleHop, hop } from './circuit/hop.js' -import { handleStop } from './circuit/stop.js' -import { StreamHandler } from './circuit/stream-handler.js' -import { symbol, Upgrader } from '@libp2p/interface-transport' +import { symbol, TransportManager, Upgrader } from '@libp2p/interface-transport' import { peerIdFromString } from '@libp2p/peer-id' import type { AbortOptions } from '@libp2p/interfaces' import type { IncomingStreamData, Registrar } from '@libp2p/interface-registrar' import type { Listener, Transport, CreateListenerOptions, ConnectionHandler } from '@libp2p/interface-transport' -import type { Connection } from '@libp2p/interface-connection' +import type { Connection, Stream } from '@libp2p/interface-connection' import type { RelayConfig } from './index.js' import { abortableDuplex } from 'abortable-iterator' import { TimeoutController } from 'timeout-abort-controller' import { setMaxListeners } from 'events' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Duplex } from 'it-stream-types' -import type { Startable } from '@libp2p/interfaces/startable' -import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { PeerId } from '@libp2p/interface-peer-id' +import { StreamHandlerV2 } from './v2/stream-handler.js' +import { StreamHandlerV1 } from './v1/stream-handler.js' +import * as CircuitV1Handler from './v1/index.js' +import * as CircuitV2Handler from './v2/index.js' +import type { Multiaddr } from '@multiformats/multiaddr' import type { PeerStore } from '@libp2p/interface-peer-store' +import type { Startable } from '@libp2p/interfaces/dist/src/startable' +import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { AddressManager } from '@libp2p/interface-address-manager' const log = logger('libp2p:circuit') +export interface CircuitOptions { + limit?: number +} + export interface CircuitComponents { peerId: PeerId peerStore: PeerStore @@ -38,17 +43,30 @@ export interface CircuitComponents { connectionManager: ConnectionManager upgrader: Upgrader addressManager: AddressManager + transportManager: TransportManager +} + +interface ConnectOptions { + stream: Stream + connection: Connection + destinationPeer: PeerId + destinationAddr: Multiaddr + relayAddr: Multiaddr + ma: Multiaddr + disconnectOnFailure: boolean } export class Circuit implements Transport, Startable { private handler?: ConnectionHandler private readonly components: CircuitComponents + private readonly reservationStore: ReservationStore private readonly _init: RelayConfig private _started: boolean - constructor (components: CircuitComponents, init: RelayConfig) { - this._init = init + constructor (components: CircuitComponents, options: RelayConfig) { this.components = components + this._init = options + this.reservationStore = new ReservationStore() this._started = false } @@ -62,9 +80,25 @@ export class Circuit implements Transport, Startable { } this._started = true + await this.components.registrar.handle(RELAY_V1_CODEC, (data) => { + void this._onProtocolV1(data).catch(err => { + log.error(err) + }) + }) + .catch(err => { + log.error(err) + }) - await this.components.registrar.handle(RELAY_CODEC, (data) => { - void this._onProtocol(data).catch(err => { + await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { + void this._onV2ProtocolHop(data).catch(err => { + log.error(err) + }) + }) + .catch(err => { + log.error(err) + }) + await this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { + void this._onV2ProtocolStop(data).catch(err => { log.error(err) }) }, { ...this._init }) @@ -74,7 +108,9 @@ export class Circuit implements Transport, Startable { } async stop () { - await this.components.registrar.unhandle(RELAY_CODEC) + await this.components.registrar.unhandle(RELAY_V1_CODEC) + await this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) + await this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) } hopEnabled () { @@ -90,102 +126,122 @@ export class Circuit implements Transport, Startable { } get [Symbol.toStringTag] () { - return 'libp2p/circuit-relay-v1' + return 'libp2p/circuit-relay-v2' } - async _onProtocol (data: IncomingStreamData) { + getPeerConnection (dstPeer: PeerId): Connection | undefined { + return this.components.connectionManager.getConnections(dstPeer)[0] ?? undefined + } + + async _onProtocolV1 (data: IncomingStreamData) { const { connection, stream } = data const controller = new TimeoutController(this._init.hop.timeout) try { // fails on node < 15.4 setMaxListeners?.(Infinity, controller.signal) - } catch {} + } catch { } try { const source = abortableDuplex(stream, controller.signal) - const streamHandler = new StreamHandler({ - stream: { - ...stream, - ...source - } - }) + const streamHandler = new StreamHandlerV1({ stream: { ...stream, ...source } }) const request = await streamHandler.read() if (request == null) { log('request was invalid, could not read from stream') - streamHandler.write({ - type: CircuitPB.Type.STATUS, - code: CircuitPB.Status.MALFORMED_MESSAGE - }) - streamHandler.close() + CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.MALFORMED_MESSAGE) return } - let virtualConnection: Duplex | undefined - switch (request.type) { - case CircuitPB.Type.CAN_HOP: { - log('received CAN_HOP request from %p', connection.remotePeer) - await handleCanHop({ circuit: this, connection, streamHandler }) - break - } - case CircuitPB.Type.HOP: { - log('received HOP request from %p', connection.remotePeer) - await handleHop({ - connection, - request, - streamHandler, - circuit: this, - connectionManager: this.components.connectionManager - }) + case CircuitV1.CircuitRelay.Type.CAN_HOP: + case CircuitV1.CircuitRelay.Type.HOP: { + log('received circuit v1 hop request from %p', connection.remotePeer) + CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.HOP_CANT_SPEAK_RELAY) break } - case CircuitPB.Type.STOP: { - log('received STOP request from %p', connection.remotePeer) - virtualConnection = await handleStop({ - connection, - request, - streamHandler - }) + case CircuitV1.CircuitRelay.Type.STOP: { + log('received circuit v1 stop request from %p', connection.remotePeer) + CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.STOP_RELAY_REFUSED) break } default: { log('Request of type %s not supported', request.type) - streamHandler.write({ - type: CircuitPB.Type.STATUS, - code: CircuitPB.Status.MALFORMED_MESSAGE - }) - streamHandler.close() - return + CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.MALFORMED_MESSAGE) } } + } finally { + controller.clear() + } + } - if (virtualConnection != null) { - const remoteAddr = connection.remoteAddr - .encapsulate('/p2p-circuit') - .encapsulate(multiaddr(request.dstPeer?.addrs[0])) - const localAddr = multiaddr(request.srcPeer?.addrs[0]) - const maConn = streamToMaConnection({ - stream: virtualConnection, - remoteAddr, - localAddr - }) - const type = request.type === CircuitPB.Type.HOP ? 'relay' : 'inbound' - log('new %s connection %s', type, maConn.remoteAddr) + async _onV2ProtocolHop ({ connection, stream }: IncomingStreamData) { + // log('received circuit v2 hop protocol stream from %s', connection.remotePeer) + const controller = new TimeoutController(this._init.hop.timeout) + + try { + // fails on node < 15.4 + setMaxListeners?.(Infinity, controller.signal) + } catch { } - const conn = await this.components.upgrader.upgradeInbound(maConn) - log('%s connection %s upgraded', type, maConn.remoteAddr) + const source = abortableDuplex(stream, controller.signal) + const streamHandler = new StreamHandlerV2({ stream: { ...stream, ...source } }) + try { + const request = CircuitV2.HopMessage.decode(await streamHandler.read()) - if (this.handler != null) { - this.handler(conn) - } + if (request?.type == null) { + throw new Error('request was invalid, could not read from stream') } + + await CircuitV2Handler.handleHopProtocol({ + connection, + streamHandler, + circuit: this, + relayPeer: this.components.peerId, + relayAddrs: this.components.addressManager.getListenAddrs(), + reservationStore: this.reservationStore, + request + }) + } catch (_err) { + streamHandler.write(CircuitV2.HopMessage.encode({ + type: CircuitV2.HopMessage.Type.STATUS, + status: CircuitV2.Status.MALFORMED_MESSAGE + })) + streamHandler.close() } finally { controller.clear() } } + async _onV2ProtocolStop ({ connection, stream }: IncomingStreamData) { + const streamHandler = new StreamHandlerV2({ stream }) + const request = CircuitV2.StopMessage.decode(await streamHandler.read()) + log('received circuit v2 stop protocol request from %s', connection.remotePeer) + if (request?.type === undefined) { + return + } + + const mStream = await CircuitV2Handler.handleStop({ + connection, + streamHandler, + request + }) + + if (mStream !== null && mStream !== undefined) { + const remoteAddr = multiaddr(request.peer?.addrs?.[0]) + const localAddr = this.components.transportManager.getAddrs()[0] + const maConn = streamToMaConnection({ + stream: mStream, + remoteAddr, + localAddr + }) + log('new inbound connection %s', maConn.remoteAddr) + const conn = await this.components.upgrader.upgradeInbound(maConn) + log('%s connection %s upgraded', 'inbound', maConn.remoteAddr) + this.handler?.(conn) + } + } + /** * Dial a peer over a relay */ @@ -200,7 +256,7 @@ export class Circuit implements Transport, Startable { if (relayId == null || destinationId == null) { const errMsg = 'Circuit relay dial failed as addresses did not have peer id' log.error(errMsg) - throw errCode(new Error(errMsg), codes.ERR_RELAYED_DIAL) + throw createError(new Error(errMsg), codes.ERR_RELAYED_DIAL) } const relayPeer = peerIdFromString(relayId) @@ -217,34 +273,106 @@ export class Circuit implements Transport, Startable { } try { - const virtualConnection = await hop({ - ...options, - connection: relayConnection, - request: { - type: CircuitPB.Type.HOP, - srcPeer: { - id: this.components.peerId.toBytes(), - addrs: this.components.addressManager.getAddresses().map(addr => addr.bytes) - }, - dstPeer: { - id: destinationPeer.toBytes(), - addrs: [multiaddr(destinationAddr).bytes] - } + const stream = await relayConnection.newStream([RELAY_V2_HOP_CODEC, RELAY_V1_CODEC]) + + switch (stream.stat.protocol) { + case RELAY_V1_CODEC: return await this.connectV1({ + stream, + connection: relayConnection, + destinationPeer, + destinationAddr, + relayAddr, + ma, + disconnectOnFailure + }) + case RELAY_V2_HOP_CODEC: return await this.connectV2({ + stream, + connection: relayConnection, + destinationPeer, + destinationAddr, + relayAddr, + ma, + disconnectOnFailure + }) + default: + stream.reset() + throw new Error('Unexpected stream protocol') + } + } catch (err: any) { + log.error('Circuit relay dial failed', err) + disconnectOnFailure && await relayConnection.close() + throw err + } + } + + async connectV1 ({ + stream, destinationPeer, + destinationAddr, relayAddr, ma + }: ConnectOptions + ) { + const virtualConnection = await CircuitV1Handler.hop({ + stream, + request: { + type: CircuitV1.CircuitRelay.Type.HOP, + srcPeer: { + id: this.components.peerId.toBytes(), + addrs: this.components.addressManager.getListenAddrs().map(addr => addr.bytes) + }, + dstPeer: { + id: destinationPeer.toBytes(), + addrs: [multiaddr(destinationAddr).bytes] } - }) + } + }) + + const localAddr = relayAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`) + const maConn = streamToMaConnection({ + stream: virtualConnection, + remoteAddr: ma, + localAddr + }) + log('new outbound connection %s', maConn.remoteAddr) + + return await this.components.upgrader.upgradeOutbound(maConn) + } - const localAddr = relayAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`) + async connectV2 ( + { + stream, connection, destinationPeer, + destinationAddr, relayAddr, ma, + disconnectOnFailure + }: ConnectOptions + ) { + try { + const streamHandler = new StreamHandlerV2({ stream }) + streamHandler.write(CircuitV2.HopMessage.encode({ + type: CircuitV2.HopMessage.Type.CONNECT, + peer: { + id: destinationPeer.toBytes(), + addrs: [multiaddr(destinationAddr).bytes] + } + })) + + const status = CircuitV2.HopMessage.decode(await streamHandler.read()) + if (status.status !== CircuitV2.Status.OK) { + throw createError(new Error(`failed to connect via relay with status ${status?.status?.toString() ?? 'undefined'}`), codes.ERR_HOP_REQUEST_FAILED) + } + + // TODO: do something with limit and transient connection + + let localAddr = relayAddr + localAddr = localAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`) const maConn = streamToMaConnection({ - stream: virtualConnection, + stream: streamHandler.rest(), remoteAddr: ma, localAddr }) log('new outbound connection %s', maConn.remoteAddr) - - return await this.components.upgrader.upgradeOutbound(maConn) - } catch (err: any) { + const conn = await this.components.upgrader.upgradeOutbound(maConn) + return conn + } catch (/** @type {any} */ err) { log.error('Circuit relay dial failed', err) - disconnectOnFailure && await relayConnection.close() + disconnectOnFailure && await connection.close() throw err } } diff --git a/src/circuit/utils.ts b/src/circuit/utils.ts index eb3bcd6fa8..b41e0ed89a 100644 --- a/src/circuit/utils.ts +++ b/src/circuit/utils.ts @@ -10,3 +10,8 @@ export async function namespaceToCid (namespace: string): Promise { return CID.createV0(hash) } + +/** returns number of ms beween now and expiration time */ +export function getExpiration (expireTime: bigint): number { + return Number(expireTime) - new Date().getTime() +} diff --git a/src/circuit/v1/hop.ts b/src/circuit/v1/hop.ts new file mode 100644 index 0000000000..9e034ee321 --- /dev/null +++ b/src/circuit/v1/hop.ts @@ -0,0 +1,45 @@ +import { logger } from '@libp2p/logger' +import errCode from 'err-code' +import { StreamHandlerV1 } from './stream-handler.js' +import { CircuitRelay } from './pb/index.js' +import { codes as Errors } from '../../errors.js' +import type { Stream } from '@libp2p/interface-connection' +import type { Duplex } from 'it-stream-types' +import type { Uint8ArrayList } from 'uint8arraylist' + +const log = logger('libp2p:circuit:hop') +export interface HopConfig { + stream: Stream + request: CircuitRelay +} + +/** + * Performs a HOP request to a relay peer, to request a connection to another + * peer. A new, virtual, connection will be created between the two via the relay. + */ +export async function hop (options: HopConfig): Promise> { + const { + stream, + request + } = options + + // Send the HOP request + const streamHandler = new StreamHandlerV1({ stream }) + streamHandler.write(request) + + const response = await streamHandler.read() + + if (response == null) { + throw errCode(new Error('HOP request had no response'), Errors.ERR_HOP_REQUEST_FAILED) + } + + if (response.code === CircuitRelay.Status.SUCCESS) { + log('hop request was successful') + return streamHandler.rest() + } + + log('hop request failed with code %d, closing stream', response.code) + streamHandler.close() + + throw errCode(new Error(`HOP request failed with code "${response.code ?? 'unknown'}"`), Errors.ERR_HOP_REQUEST_FAILED) +} diff --git a/src/circuit/v1/index.ts b/src/circuit/v1/index.ts new file mode 100644 index 0000000000..c78171a98c --- /dev/null +++ b/src/circuit/v1/index.ts @@ -0,0 +1,11 @@ +import { CircuitRelay } from './pb/index.js' +import type { StreamHandlerV1 } from './stream-handler.js' +export * from './hop.js' + +export function handleCircuitV1Error (streamHandler: StreamHandlerV1, code: CircuitRelay.Status): void { + streamHandler.write({ + type: CircuitRelay.Type.STATUS, + code + }) + streamHandler.close() +} diff --git a/src/circuit/v1/pb/index.d.ts b/src/circuit/v1/pb/index.d.ts new file mode 100644 index 0000000000..68e4880b95 --- /dev/null +++ b/src/circuit/v1/pb/index.d.ts @@ -0,0 +1,173 @@ +import * as $protobuf from "protobufjs"; +/** Properties of a CircuitRelay. */ +export interface ICircuitRelay { + + /** CircuitRelay type */ + type?: (CircuitRelay.Type|null); + + /** CircuitRelay srcPeer */ + srcPeer?: (CircuitRelay.IPeer|null); + + /** CircuitRelay dstPeer */ + dstPeer?: (CircuitRelay.IPeer|null); + + /** CircuitRelay code */ + code?: (CircuitRelay.Status|null); +} + +/** Represents a CircuitRelay. */ +export class CircuitRelay implements ICircuitRelay { + + /** + * Constructs a new CircuitRelay. + * @param [p] Properties to set + */ + constructor(p?: ICircuitRelay); + + /** CircuitRelay type. */ + public type: CircuitRelay.Type; + + /** CircuitRelay srcPeer. */ + public srcPeer?: (CircuitRelay.IPeer|null); + + /** CircuitRelay dstPeer. */ + public dstPeer?: (CircuitRelay.IPeer|null); + + /** CircuitRelay code. */ + public code: CircuitRelay.Status; + + /** + * Encodes the specified CircuitRelay message. Does not implicitly {@link CircuitRelay.verify|verify} messages. + * @param m CircuitRelay message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: ICircuitRelay, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CircuitRelay message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns CircuitRelay + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): CircuitRelay; + + /** + * Creates a CircuitRelay message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns CircuitRelay + */ + public static fromObject(d: { [k: string]: any }): CircuitRelay; + + /** + * Creates a plain object from a CircuitRelay message. Also converts values to other types if specified. + * @param m CircuitRelay + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: CircuitRelay, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CircuitRelay to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} + +export namespace CircuitRelay { + + /** Status enum. */ + enum Status { + SUCCESS = 100, + HOP_SRC_ADDR_TOO_LONG = 220, + HOP_DST_ADDR_TOO_LONG = 221, + HOP_SRC_MULTIADDR_INVALID = 250, + HOP_DST_MULTIADDR_INVALID = 251, + HOP_NO_CONN_TO_DST = 260, + HOP_CANT_DIAL_DST = 261, + HOP_CANT_OPEN_DST_STREAM = 262, + HOP_CANT_SPEAK_RELAY = 270, + HOP_CANT_RELAY_TO_SELF = 280, + STOP_SRC_ADDR_TOO_LONG = 320, + STOP_DST_ADDR_TOO_LONG = 321, + STOP_SRC_MULTIADDR_INVALID = 350, + STOP_DST_MULTIADDR_INVALID = 351, + STOP_RELAY_REFUSED = 390, + MALFORMED_MESSAGE = 400 + } + + /** Type enum. */ + enum Type { + HOP = 1, + STOP = 2, + STATUS = 3, + CAN_HOP = 4 + } + + /** Properties of a Peer. */ + interface IPeer { + + /** Peer id */ + id: Uint8Array; + + /** Peer addrs */ + addrs?: (Uint8Array[]|null); + } + + /** Represents a Peer. */ + class Peer implements IPeer { + + /** + * Constructs a new Peer. + * @param [p] Properties to set + */ + constructor(p?: CircuitRelay.IPeer); + + /** Peer id. */ + public id: Uint8Array; + + /** Peer addrs. */ + public addrs: Uint8Array[]; + + /** + * Encodes the specified Peer message. Does not implicitly {@link CircuitRelay.Peer.verify|verify} messages. + * @param m Peer message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: CircuitRelay.IPeer, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Peer message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns Peer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): CircuitRelay.Peer; + + /** + * Creates a Peer message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns Peer + */ + public static fromObject(d: { [k: string]: any }): CircuitRelay.Peer; + + /** + * Creates a plain object from a Peer message. Also converts values to other types if specified. + * @param m Peer + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: CircuitRelay.Peer, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Peer to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } +} diff --git a/src/circuit/pb/index.proto b/src/circuit/v1/pb/index.proto similarity index 100% rename from src/circuit/pb/index.proto rename to src/circuit/v1/pb/index.proto diff --git a/src/circuit/pb/index.ts b/src/circuit/v1/pb/index.ts similarity index 100% rename from src/circuit/pb/index.ts rename to src/circuit/v1/pb/index.ts diff --git a/src/circuit/v1/protocol/index.proto b/src/circuit/v1/protocol/index.proto new file mode 100644 index 0000000000..1eaec2e29b --- /dev/null +++ b/src/circuit/v1/protocol/index.proto @@ -0,0 +1,42 @@ +syntax = "proto3"; + +message CircuitRelay { + + enum Status { + SUCCESS = 100; + HOP_SRC_ADDR_TOO_LONG = 220; + HOP_DST_ADDR_TOO_LONG = 221; + HOP_SRC_MULTIADDR_INVALID = 250; + HOP_DST_MULTIADDR_INVALID = 251; + HOP_NO_CONN_TO_DST = 260; + HOP_CANT_DIAL_DST = 261; + HOP_CANT_OPEN_DST_STREAM = 262; + HOP_CANT_SPEAK_RELAY = 270; + HOP_CANT_RELAY_TO_SELF = 280; + STOP_SRC_ADDR_TOO_LONG = 320; + STOP_DST_ADDR_TOO_LONG = 321; + STOP_SRC_MULTIADDR_INVALID = 350; + STOP_DST_MULTIADDR_INVALID = 351; + STOP_RELAY_REFUSED = 390; + MALFORMED_MESSAGE = 400; + } + + enum Type { // RPC identifier, either HOP, STOP or STATUS + HOP = 1; + STOP = 2; + STATUS = 3; + CAN_HOP = 4; + } + + message Peer { + required bytes id = 1; // peer id + repeated bytes addrs = 2; // peer's known addresses + } + + optional Type type = 1; // Type of the message + + optional Peer srcPeer = 2; // srcPeer and dstPeer are used when Type is HOP or STATUS + optional Peer dstPeer = 3; + + optional Status code = 4; // Status code, used when Type is STATUS +} diff --git a/src/circuit/circuit/stop.ts b/src/circuit/v1/stop.ts similarity index 77% rename from src/circuit/circuit/stop.ts rename to src/circuit/v1/stop.ts index 2e27d010fe..b839be78bf 100644 --- a/src/circuit/circuit/stop.ts +++ b/src/circuit/v1/stop.ts @@ -1,7 +1,7 @@ import { logger } from '@libp2p/logger' -import { CircuitRelay as CircuitPB } from '../pb/index.js' -import { RELAY_CODEC } from '../multicodec.js' -import { StreamHandler } from './stream-handler.js' +import { CircuitRelay } from './pb/index.js' +import { RELAY_V1_CODEC } from '../multicodec.js' +import { StreamHandlerV1 } from './stream-handler.js' import { validateAddrs } from './utils.js' import type { Connection } from '@libp2p/interface-connection' import type { Duplex } from 'it-stream-types' @@ -12,8 +12,8 @@ const log = logger('libp2p:circuit:stop') export interface HandleStopOptions { connection: Connection - request: CircuitPB - streamHandler: StreamHandler + request: CircuitRelay + streamHandler: StreamHandlerV1 } /** @@ -37,8 +37,8 @@ export function handleStop (options: HandleStopOptions): Duplex private readonly decoder: Source diff --git a/src/circuit/circuit/utils.ts b/src/circuit/v1/utils.ts similarity index 82% rename from src/circuit/circuit/utils.ts rename to src/circuit/v1/utils.ts index b1c6d78e96..6b35b0d427 100644 --- a/src/circuit/circuit/utils.ts +++ b/src/circuit/v1/utils.ts @@ -1,11 +1,11 @@ import { multiaddr } from '@multiformats/multiaddr' -import { CircuitRelay } from '../pb/index.js' -import type { StreamHandler } from './stream-handler.js' +import { CircuitRelay } from './pb/index.js' +import type { StreamHandlerV1 } from './stream-handler.js' /** * Write a response */ -function writeResponse (streamHandler: StreamHandler, status: CircuitRelay.Status) { +function writeResponse (streamHandler: StreamHandlerV1, status: CircuitRelay.Status) { streamHandler.write({ type: CircuitRelay.Type.STATUS, code: status @@ -15,7 +15,7 @@ function writeResponse (streamHandler: StreamHandler, status: CircuitRelay.Statu /** * Validate incomming HOP/STOP message */ -export function validateAddrs (msg: CircuitRelay, streamHandler: StreamHandler) { +export function validateAddrs (msg: CircuitRelay, streamHandler: StreamHandlerV1) { try { if (msg.dstPeer?.addrs != null) { msg.dstPeer.addrs.forEach((addr) => { diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts new file mode 100644 index 0000000000..7e7857ce9b --- /dev/null +++ b/src/circuit/v2/hop.ts @@ -0,0 +1,222 @@ +import type { PeerId } from '@libp2p/interface-peer-id' +import { RecordEnvelope } from '@libp2p/peer-record' +import { logger } from '@libp2p/logger' +import { pipe } from 'it-pipe' +import type { Connection } from '@libp2p/interface-connection' +import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' +import { StreamHandlerV2 } from './stream-handler.js' +import type { Circuit } from '../transport.js' +import type { Multiaddr } from '@multiformats/multiaddr' +import { multiaddr } from '@multiformats/multiaddr' +import type { Acl, ReservationStore } from './interfaces.js' +import { RELAY_V2_HOP_CODEC } from '../multicodec.js' +import { validateHopConnectRequest } from './validation.js' +import { stop } from './stop.js' +import { ReservationVoucherRecord } from './reservation-voucher.js' +import { peerIdFromBytes } from '@libp2p/peer-id' + +const log = logger('libp2p:circuitv2:hop') + +export interface HopProtocolOptions { + connection: Connection + request: HopMessage + streamHandler: StreamHandlerV2 + circuit: Circuit + relayPeer: PeerId + relayAddrs: Multiaddr[] + limit?: Limit + acl?: Acl + reservationStore: ReservationStore +} + +export async function handleHopProtocol (options: HopProtocolOptions) { + switch (options.request.type) { + case HopMessage.Type.RESERVE: await handleReserve(options); break + case HopMessage.Type.CONNECT: await handleConnect(options); break + default: { + log.error('invalid hop request type %s via peer %s', options.request.type, options.connection.remotePeer) + writeErrorResponse(options.streamHandler, Status.MALFORMED_MESSAGE) + options.streamHandler.close() + } + } +} + +export async function reserve (connection: Connection) { + log('requesting reservation from %s', connection.remotePeer) + const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) + const streamHandler = new StreamHandlerV2({ stream }) + streamHandler.write(HopMessage.encode({ + type: HopMessage.Type.RESERVE + })) + + let response: HopMessage|undefined + try { + response = HopMessage.decode(await streamHandler.read()) + } catch (e: any) { + log.error('error passing reserve message response from %s because', connection.remotePeer, e.message) + streamHandler.close() + throw e + } + + if (response.status === Status.OK && response.reservation !== null) { + return response.reservation + } + const errMsg = `reservation failed with status ${response.status ?? 'undefined'}` + log.error(errMsg) + throw new Error(errMsg) +} + +async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { + log('hop reserve request from %s', connection.remotePeer) + + // TODO: prevent reservation over relay address + + if ((await acl?.allowReserve?.(connection.remotePeer, connection.remoteAddr)) === false) { + log.error('acl denied reservation to %s', connection.remotePeer) + writeErrorResponse(streamHandler, Status.PERMISSION_DENIED) + streamHandler.close() + return + } + + const result = await reservationStore.reserve(connection.remotePeer, connection.remoteAddr) + + if (result.status !== Status.OK) { + writeErrorResponse(streamHandler, result.status) + streamHandler.close() + return + } + + try { + writeResponse( + streamHandler, + { + type: HopMessage.Type.STATUS, + status: Status.OK, + reservation: await makeReservation(relayAddrs, relayPeer, connection.remotePeer, BigInt(result.expire || 0)), + limit + }) + log('sent confirmation response to %s', connection.remotePeer) + } catch (err) { + log.error('failed to send confirmation response to %s', connection.remotePeer) + await reservationStore.removeReservation(connection.remotePeer) + } + // TODO: how to ensure connection manager doesn't close reserved relay conn +} + +type HopConnectOptions = Pick< +HopProtocolOptions, +'connection' | 'streamHandler' | 'request' | 'reservationStore' |'circuit' |'acl' +> + +async function handleConnect (options: HopConnectOptions) { + const { connection, streamHandler, request, reservationStore, circuit, acl } = options + log('hop connect request from %s', connection.remotePeer) + // Validate the HOP connect request has the required input + try { + validateHopConnectRequest(request, streamHandler) + } catch (/** @type {any} */ err) { + log.error('invalid hop connect request via peer %s', connection.remotePeer, err) + writeErrorResponse(streamHandler, Status.MALFORMED_MESSAGE) + return + } + + /* eslint-disable @typescript-eslint/no-non-null-assertion */ + const dstPeer = peerIdFromBytes(request.peer!.id) + + if (acl?.allowConnect !== undefined) { + const status = await acl.allowConnect(connection.remotePeer, connection.remoteAddr, dstPeer) + if (status !== Status.OK) { + log.error('hop connect denied for %s with status %s', connection.remotePeer, status) + writeErrorResponse(streamHandler, status) + return + } + } + + if (!await reservationStore.hasReservation(dstPeer)) { + log.error('hop connect denied for %s with status %s', connection.remotePeer, Status.NO_RESERVATION) + writeErrorResponse(streamHandler, Status.NO_RESERVATION) + return + } + + const destinationConnection = circuit.getPeerConnection(dstPeer) + if (destinationConnection === undefined || destinationConnection === null) { + log('hop connect denied for %s as there is no destination connection', connection.remotePeer) + writeErrorResponse(streamHandler, Status.NO_RESERVATION) + return + } + + log('hop connect request from %s to %s is valid', connection.remotePeer, dstPeer) + + const destinationStream = await stop({ + connection: destinationConnection, + request: { + type: StopMessage.Type.CONNECT, + peer: { + id: connection.remotePeer.toBytes(), + addrs: [multiaddr('/p2p/' + connection.remotePeer.toString()).bytes] + } + } + }) + + if (destinationStream === undefined || destinationStream === null) { + log.error('failed to open stream to destination peer %s', destinationConnection?.remotePeer) + writeErrorResponse(streamHandler, Status.CONNECTION_FAILED) + return + } + + writeResponse(streamHandler, { type: HopMessage.Type.STATUS, status: Status.OK }) + + const sourceStream = streamHandler.rest() + log('connection to destination established, short circuiting streams...') + // Short circuit the two streams to create the relayed connection + return await pipe( + sourceStream, + destinationStream, + sourceStream + ) +} + +async function makeReservation ( + relayAddrs: Multiaddr[], + relayPeerId: PeerId, + remotePeer: PeerId, + expire: bigint +): Promise { + const addrs = [] + + for (const relayAddr of relayAddrs) { + addrs.push(relayAddr.bytes) + } + + const voucher = await RecordEnvelope.seal(new ReservationVoucherRecord({ + peer: remotePeer, + relay: relayPeerId, + expiration: Number(expire) + }), relayPeerId) + + return { + addrs, + expire, + voucher: voucher.marshal() + } +} + +/** + * Write an error response and closes stream + * + */ +function writeErrorResponse (streamHandler: StreamHandlerV2, status: Status) { + writeResponse(streamHandler, { + type: HopMessage.Type.STATUS, + status + }) + streamHandler.close() +} + +/** + * Write a response + * + */ +function writeResponse (streamHandler: StreamHandlerV2, msg: HopMessage) { + streamHandler.write(HopMessage.encode(msg)) +} diff --git a/src/circuit/v2/index.ts b/src/circuit/v2/index.ts new file mode 100644 index 0000000000..27a393b226 --- /dev/null +++ b/src/circuit/v2/index.ts @@ -0,0 +1,2 @@ +export * from './hop.js' +export * from './stop.js' diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts new file mode 100644 index 0000000000..80b3785ac3 --- /dev/null +++ b/src/circuit/v2/interfaces.ts @@ -0,0 +1,21 @@ +import type { PeerId } from '@libp2p/interface-peer-id' +import type { Multiaddr } from '@multiformats/multiaddr' +import type { Status } from './pb/index.js' + +export type ReservationStatus = Status.OK | Status.PERMISSION_DENIED | Status.RESERVATION_REFUSED + +export interface ReservationStore { + reserve: (peer: PeerId, addr: Multiaddr) => Promise<{status: ReservationStatus, expire?: number}> + removeReservation: (peer: PeerId) => Promise + hasReservation: (dst: PeerId) => Promise +} + +type AclStatus = Status.OK | Status.RESOURCE_LIMIT_EXCEEDED | Status.PERMISSION_DENIED + +export interface Acl { + allowReserve: (peer: PeerId, addr: Multiaddr) => Promise + /** + * Checks if connection should be allowed + */ + allowConnect: (src: PeerId, addr: Multiaddr, dst: PeerId) => Promise +} diff --git a/src/circuit/v2/pb/index.d.ts b/src/circuit/v2/pb/index.d.ts new file mode 100644 index 0000000000..13c10df7d6 --- /dev/null +++ b/src/circuit/v2/pb/index.d.ts @@ -0,0 +1,450 @@ +import * as $protobuf from "protobufjs"; +/** Properties of a HopMessage. */ +export interface IHopMessage { + + /** HopMessage type */ + type: HopMessage.Type; + + /** HopMessage peer */ + peer?: (IPeer|null); + + /** HopMessage reservation */ + reservation?: (IReservation|null); + + /** HopMessage limit */ + limit?: (ILimit|null); + + /** HopMessage status */ + status?: (Status|null); +} + +/** Represents a HopMessage. */ +export class HopMessage implements IHopMessage { + + /** + * Constructs a new HopMessage. + * @param [p] Properties to set + */ + constructor(p?: IHopMessage); + + /** HopMessage type. */ + public type: HopMessage.Type; + + /** HopMessage peer. */ + public peer?: (IPeer|null); + + /** HopMessage reservation. */ + public reservation?: (IReservation|null); + + /** HopMessage limit. */ + public limit?: (ILimit|null); + + /** HopMessage status. */ + public status: Status; + + /** + * Encodes the specified HopMessage message. Does not implicitly {@link HopMessage.verify|verify} messages. + * @param m HopMessage message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: IHopMessage, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HopMessage message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns HopMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): HopMessage; + + /** + * Creates a HopMessage message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns HopMessage + */ + public static fromObject(d: { [k: string]: any }): HopMessage; + + /** + * Creates a plain object from a HopMessage message. Also converts values to other types if specified. + * @param m HopMessage + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: HopMessage, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HopMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} + +export namespace HopMessage { + + /** Type enum. */ + enum Type { + RESERVE = 0, + CONNECT = 1, + STATUS = 2 + } +} + +/** Properties of a StopMessage. */ +export interface IStopMessage { + + /** StopMessage type */ + type: StopMessage.Type; + + /** StopMessage peer */ + peer?: (IPeer|null); + + /** StopMessage limit */ + limit?: (ILimit|null); + + /** StopMessage status */ + status?: (Status|null); +} + +/** Represents a StopMessage. */ +export class StopMessage implements IStopMessage { + + /** + * Constructs a new StopMessage. + * @param [p] Properties to set + */ + constructor(p?: IStopMessage); + + /** StopMessage type. */ + public type: StopMessage.Type; + + /** StopMessage peer. */ + public peer?: (IPeer|null); + + /** StopMessage limit. */ + public limit?: (ILimit|null); + + /** StopMessage status. */ + public status: Status; + + /** + * Encodes the specified StopMessage message. Does not implicitly {@link StopMessage.verify|verify} messages. + * @param m StopMessage message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: IStopMessage, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a StopMessage message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns StopMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): StopMessage; + + /** + * Creates a StopMessage message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns StopMessage + */ + public static fromObject(d: { [k: string]: any }): StopMessage; + + /** + * Creates a plain object from a StopMessage message. Also converts values to other types if specified. + * @param m StopMessage + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: StopMessage, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this StopMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} + +export namespace StopMessage { + + /** Type enum. */ + enum Type { + CONNECT = 0, + STATUS = 1 + } +} + +/** Properties of a Peer. */ +export interface IPeer { + + /** Peer id */ + id: Uint8Array; + + /** Peer addrs */ + addrs?: (Uint8Array[]|null); +} + +/** Represents a Peer. */ +export class Peer implements IPeer { + + /** + * Constructs a new Peer. + * @param [p] Properties to set + */ + constructor(p?: IPeer); + + /** Peer id. */ + public id: Uint8Array; + + /** Peer addrs. */ + public addrs: Uint8Array[]; + + /** + * Encodes the specified Peer message. Does not implicitly {@link Peer.verify|verify} messages. + * @param m Peer message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: IPeer, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Peer message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns Peer + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Peer; + + /** + * Creates a Peer message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns Peer + */ + public static fromObject(d: { [k: string]: any }): Peer; + + /** + * Creates a plain object from a Peer message. Also converts values to other types if specified. + * @param m Peer + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: Peer, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Peer to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} + +/** Properties of a Reservation. */ +export interface IReservation { + + /** Reservation expire */ + expire: number; + + /** Reservation addrs */ + addrs?: (Uint8Array[]|null); + + /** Reservation voucher */ + voucher?: (Uint8Array|null); +} + +/** Represents a Reservation. */ +export class Reservation implements IReservation { + + /** + * Constructs a new Reservation. + * @param [p] Properties to set + */ + constructor(p?: IReservation); + + /** Reservation expire. */ + public expire: number; + + /** Reservation addrs. */ + public addrs: Uint8Array[]; + + /** Reservation voucher. */ + public voucher: Uint8Array; + + /** + * Encodes the specified Reservation message. Does not implicitly {@link Reservation.verify|verify} messages. + * @param m Reservation message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: IReservation, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Reservation message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns Reservation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Reservation; + + /** + * Creates a Reservation message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns Reservation + */ + public static fromObject(d: { [k: string]: any }): Reservation; + + /** + * Creates a plain object from a Reservation message. Also converts values to other types if specified. + * @param m Reservation + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: Reservation, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Reservation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} + +/** Properties of a Limit. */ +export interface ILimit { + + /** Limit duration */ + duration?: (number|null); + + /** Limit data */ + data?: (number|null); +} + +/** Represents a Limit. */ +export class Limit implements ILimit { + + /** + * Constructs a new Limit. + * @param [p] Properties to set + */ + constructor(p?: ILimit); + + /** Limit duration. */ + public duration: number; + + /** Limit data. */ + public data: number; + + /** + * Encodes the specified Limit message. Does not implicitly {@link Limit.verify|verify} messages. + * @param m Limit message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: ILimit, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Limit message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns Limit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Limit; + + /** + * Creates a Limit message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns Limit + */ + public static fromObject(d: { [k: string]: any }): Limit; + + /** + * Creates a plain object from a Limit message. Also converts values to other types if specified. + * @param m Limit + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: Limit, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Limit to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} + +/** Status enum. */ +export enum Status { + OK = 100, + RESERVATION_REFUSED = 200, + RESOURCE_LIMIT_EXCEEDED = 201, + PERMISSION_DENIED = 202, + CONNECTION_FAILED = 203, + NO_RESERVATION = 204, + MALFORMED_MESSAGE = 400, + UNEXPECTED_MESSAGE = 401 +} + +/** Represents a ReservationVoucher. */ +export class ReservationVoucher implements IReservationVoucher { + + /** + * Constructs a new ReservationVoucher. + * @param [p] Properties to set + */ + constructor(p?: IReservationVoucher); + + /** ReservationVoucher relay. */ + public relay: Uint8Array; + + /** ReservationVoucher peer. */ + public peer: Uint8Array; + + /** ReservationVoucher expiration. */ + public expiration: number; + + /** + * Encodes the specified ReservationVoucher message. Does not implicitly {@link ReservationVoucher.verify|verify} messages. + * @param m ReservationVoucher message or plain object to encode + * @param [w] Writer to encode to + * @returns Writer + */ + public static encode(m: IReservationVoucher, w?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReservationVoucher message from the specified reader or buffer. + * @param r Reader or buffer to decode from + * @param [l] Message length if known beforehand + * @returns ReservationVoucher + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): ReservationVoucher; + + /** + * Creates a ReservationVoucher message from a plain object. Also converts values to their respective internal types. + * @param d Plain object + * @returns ReservationVoucher + */ + public static fromObject(d: { [k: string]: any }): ReservationVoucher; + + /** + * Creates a plain object from a ReservationVoucher message. Also converts values to other types if specified. + * @param m ReservationVoucher + * @param [o] Conversion options + * @returns Plain object + */ + public static toObject(m: ReservationVoucher, o?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReservationVoucher to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; +} diff --git a/src/circuit/v2/pb/index.proto b/src/circuit/v2/pb/index.proto new file mode 100644 index 0000000000..9cd9eb31f5 --- /dev/null +++ b/src/circuit/v2/pb/index.proto @@ -0,0 +1,64 @@ +syntax = "proto3"; + +message HopMessage { + enum Type { + RESERVE = 0; + CONNECT = 1; + STATUS = 2; + } + + Type type = 1; + + optional Peer peer = 2; + optional Reservation reservation = 3; + optional Limit limit = 4; + + optional Status status = 5; +} + +message StopMessage { + enum Type { + CONNECT = 0; + STATUS = 1; + } + + Type type = 1; + + optional Peer peer = 2; + optional Limit limit = 3; + + optional Status status = 4; +} + +message Peer { + bytes id = 1; + repeated bytes addrs = 2; +} + +message Reservation { + uint64 expire = 1; // Unix expiration time (UTC) + repeated bytes addrs = 2; // relay addrs for reserving peer + optional bytes voucher = 3; // reservation voucher +} + +message Limit { + optional uint32 duration = 1; // seconds + optional uint64 data = 2; // bytes +} + +enum Status { + OK = 100; + RESERVATION_REFUSED = 200; + RESOURCE_LIMIT_EXCEEDED = 201; + PERMISSION_DENIED = 202; + CONNECTION_FAILED = 203; + NO_RESERVATION = 204; + MALFORMED_MESSAGE = 400; + UNEXPECTED_MESSAGE = 401; +} + +message ReservationVoucher { + bytes relay = 1; + bytes peer = 2; + uint64 expiration = 3; +} \ No newline at end of file diff --git a/src/circuit/v2/pb/index.ts b/src/circuit/v2/pb/index.ts new file mode 100644 index 0000000000..a4264373e3 --- /dev/null +++ b/src/circuit/v2/pb/index.ts @@ -0,0 +1,550 @@ +/* eslint-disable import/export */ +/* eslint-disable complexity */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ + +import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Codec } from 'protons-runtime' + +export interface HopMessage { + type: HopMessage.Type + peer?: Peer + reservation?: Reservation + limit?: Limit + status?: Status +} + +export namespace HopMessage { + export enum Type { + RESERVE = 'RESERVE', + CONNECT = 'CONNECT', + STATUS = 'STATUS' + } + + enum __TypeValues { + RESERVE = 0, + CONNECT = 1, + STATUS = 2 + } + + export namespace Type { + export const codec = () => { + return enumeration(__TypeValues) + } + } + + let _codec: Codec + + export const codec = (): Codec => { + if (_codec == null) { + _codec = message((obj, w, opts = {}) => { + if (opts.lengthDelimited !== false) { + w.fork() + } + + if (opts.writeDefaults === true || (obj.type != null && __TypeValues[obj.type] !== 0)) { + w.uint32(8) + HopMessage.Type.codec().encode(obj.type, w) + } + + if (obj.peer != null) { + w.uint32(18) + Peer.codec().encode(obj.peer, w, { + writeDefaults: false + }) + } + + if (obj.reservation != null) { + w.uint32(26) + Reservation.codec().encode(obj.reservation, w, { + writeDefaults: false + }) + } + + if (obj.limit != null) { + w.uint32(34) + Limit.codec().encode(obj.limit, w, { + writeDefaults: false + }) + } + + if (obj.status != null) { + w.uint32(40) + Status.codec().encode(obj.status, w) + } + + if (opts.lengthDelimited !== false) { + w.ldelim() + } + }, (reader, length) => { + const obj: any = { + type: Type.RESERVE + } + + const end = length == null ? reader.len : reader.pos + length + + while (reader.pos < end) { + const tag = reader.uint32() + + switch (tag >>> 3) { + case 1: + obj.type = HopMessage.Type.codec().decode(reader) + break + case 2: + obj.peer = Peer.codec().decode(reader, reader.uint32()) + break + case 3: + obj.reservation = Reservation.codec().decode(reader, reader.uint32()) + break + case 4: + obj.limit = Limit.codec().decode(reader, reader.uint32()) + break + case 5: + obj.status = Status.codec().decode(reader) + break + default: + reader.skipType(tag & 7) + break + } + } + + return obj + }) + } + + return _codec + } + + export const encode = (obj: HopMessage): Uint8Array => { + return encodeMessage(obj, HopMessage.codec()) + } + + export const decode = (buf: Uint8Array | Uint8ArrayList): HopMessage => { + return decodeMessage(buf, HopMessage.codec()) + } +} + +export interface StopMessage { + type: StopMessage.Type + peer?: Peer + limit?: Limit + status?: Status +} + +export namespace StopMessage { + export enum Type { + CONNECT = 'CONNECT', + STATUS = 'STATUS' + } + + enum __TypeValues { + CONNECT = 0, + STATUS = 1 + } + + export namespace Type { + export const codec = () => { + return enumeration(__TypeValues) + } + } + + let _codec: Codec + + export const codec = (): Codec => { + if (_codec == null) { + _codec = message((obj, w, opts = {}) => { + if (opts.lengthDelimited !== false) { + w.fork() + } + + if (opts.writeDefaults === true || (obj.type != null && __TypeValues[obj.type] !== 0)) { + w.uint32(8) + StopMessage.Type.codec().encode(obj.type, w) + } + + if (obj.peer != null) { + w.uint32(18) + Peer.codec().encode(obj.peer, w, { + writeDefaults: false + }) + } + + if (obj.limit != null) { + w.uint32(26) + Limit.codec().encode(obj.limit, w, { + writeDefaults: false + }) + } + + if (obj.status != null) { + w.uint32(32) + Status.codec().encode(obj.status, w) + } + + if (opts.lengthDelimited !== false) { + w.ldelim() + } + }, (reader, length) => { + const obj: any = { + type: Type.CONNECT + } + + const end = length == null ? reader.len : reader.pos + length + + while (reader.pos < end) { + const tag = reader.uint32() + + switch (tag >>> 3) { + case 1: + obj.type = StopMessage.Type.codec().decode(reader) + break + case 2: + obj.peer = Peer.codec().decode(reader, reader.uint32()) + break + case 3: + obj.limit = Limit.codec().decode(reader, reader.uint32()) + break + case 4: + obj.status = Status.codec().decode(reader) + break + default: + reader.skipType(tag & 7) + break + } + } + + return obj + }) + } + + return _codec + } + + export const encode = (obj: StopMessage): Uint8Array => { + return encodeMessage(obj, StopMessage.codec()) + } + + export const decode = (buf: Uint8Array | Uint8ArrayList): StopMessage => { + return decodeMessage(buf, StopMessage.codec()) + } +} + +export interface Peer { + id: Uint8Array + addrs: Uint8Array[] +} + +export namespace Peer { + let _codec: Codec + + export const codec = (): Codec => { + if (_codec == null) { + _codec = message((obj, w, opts = {}) => { + if (opts.lengthDelimited !== false) { + w.fork() + } + + if (opts.writeDefaults === true || (obj.id != null && obj.id.byteLength > 0)) { + w.uint32(10) + w.bytes(obj.id) + } + + if (obj.addrs != null) { + for (const value of obj.addrs) { + w.uint32(18) + w.bytes(value) + } + } + + if (opts.lengthDelimited !== false) { + w.ldelim() + } + }, (reader, length) => { + const obj: any = { + id: new Uint8Array(0), + addrs: [] + } + + const end = length == null ? reader.len : reader.pos + length + + while (reader.pos < end) { + const tag = reader.uint32() + + switch (tag >>> 3) { + case 1: + obj.id = reader.bytes() + break + case 2: + obj.addrs.push(reader.bytes()) + break + default: + reader.skipType(tag & 7) + break + } + } + + return obj + }) + } + + return _codec + } + + export const encode = (obj: Peer): Uint8Array => { + return encodeMessage(obj, Peer.codec()) + } + + export const decode = (buf: Uint8Array | Uint8ArrayList): Peer => { + return decodeMessage(buf, Peer.codec()) + } +} + +export interface Reservation { + expire: bigint + addrs: Uint8Array[] + voucher?: Uint8Array +} + +export namespace Reservation { + let _codec: Codec + + export const codec = (): Codec => { + if (_codec == null) { + _codec = message((obj, w, opts = {}) => { + if (opts.lengthDelimited !== false) { + w.fork() + } + + if (opts.writeDefaults === true || obj.expire !== 0n) { + w.uint32(8) + w.uint64(obj.expire) + } + + if (obj.addrs != null) { + for (const value of obj.addrs) { + w.uint32(18) + w.bytes(value) + } + } + + if (obj.voucher != null) { + w.uint32(26) + w.bytes(obj.voucher) + } + + if (opts.lengthDelimited !== false) { + w.ldelim() + } + }, (reader, length) => { + const obj: any = { + expire: 0n, + addrs: [] + } + + const end = length == null ? reader.len : reader.pos + length + + while (reader.pos < end) { + const tag = reader.uint32() + + switch (tag >>> 3) { + case 1: + obj.expire = reader.uint64() + break + case 2: + obj.addrs.push(reader.bytes()) + break + case 3: + obj.voucher = reader.bytes() + break + default: + reader.skipType(tag & 7) + break + } + } + + return obj + }) + } + + return _codec + } + + export const encode = (obj: Reservation): Uint8Array => { + return encodeMessage(obj, Reservation.codec()) + } + + export const decode = (buf: Uint8Array | Uint8ArrayList): Reservation => { + return decodeMessage(buf, Reservation.codec()) + } +} + +export interface Limit { + duration?: number + data?: bigint +} + +export namespace Limit { + let _codec: Codec + + export const codec = (): Codec => { + if (_codec == null) { + _codec = message((obj, w, opts = {}) => { + if (opts.lengthDelimited !== false) { + w.fork() + } + + if (obj.duration != null) { + w.uint32(8) + w.uint32(obj.duration) + } + + if (obj.data != null) { + w.uint32(16) + w.uint64(obj.data) + } + + if (opts.lengthDelimited !== false) { + w.ldelim() + } + }, (reader, length) => { + const obj: any = {} + + const end = length == null ? reader.len : reader.pos + length + + while (reader.pos < end) { + const tag = reader.uint32() + + switch (tag >>> 3) { + case 1: + obj.duration = reader.uint32() + break + case 2: + obj.data = reader.uint64() + break + default: + reader.skipType(tag & 7) + break + } + } + + return obj + }) + } + + return _codec + } + + export const encode = (obj: Limit): Uint8Array => { + return encodeMessage(obj, Limit.codec()) + } + + export const decode = (buf: Uint8Array | Uint8ArrayList): Limit => { + return decodeMessage(buf, Limit.codec()) + } +} + +export enum Status { + OK = 'OK', + RESERVATION_REFUSED = 'RESERVATION_REFUSED', + RESOURCE_LIMIT_EXCEEDED = 'RESOURCE_LIMIT_EXCEEDED', + PERMISSION_DENIED = 'PERMISSION_DENIED', + CONNECTION_FAILED = 'CONNECTION_FAILED', + NO_RESERVATION = 'NO_RESERVATION', + MALFORMED_MESSAGE = 'MALFORMED_MESSAGE', + UNEXPECTED_MESSAGE = 'UNEXPECTED_MESSAGE' +} + +enum __StatusValues { + OK = 100, + RESERVATION_REFUSED = 200, + RESOURCE_LIMIT_EXCEEDED = 201, + PERMISSION_DENIED = 202, + CONNECTION_FAILED = 203, + NO_RESERVATION = 204, + MALFORMED_MESSAGE = 400, + UNEXPECTED_MESSAGE = 401 +} + +export namespace Status { + export const codec = () => { + return enumeration(__StatusValues) + } +} +export interface ReservationVoucher { + relay: Uint8Array + peer: Uint8Array + expiration: bigint +} + +export namespace ReservationVoucher { + let _codec: Codec + + export const codec = (): Codec => { + if (_codec == null) { + _codec = message((obj, w, opts = {}) => { + if (opts.lengthDelimited !== false) { + w.fork() + } + + if (opts.writeDefaults === true || (obj.relay != null && obj.relay.byteLength > 0)) { + w.uint32(10) + w.bytes(obj.relay) + } + + if (opts.writeDefaults === true || (obj.peer != null && obj.peer.byteLength > 0)) { + w.uint32(18) + w.bytes(obj.peer) + } + + if (opts.writeDefaults === true || obj.expiration !== 0n) { + w.uint32(24) + w.uint64(obj.expiration) + } + + if (opts.lengthDelimited !== false) { + w.ldelim() + } + }, (reader, length) => { + const obj: any = { + relay: new Uint8Array(0), + peer: new Uint8Array(0), + expiration: 0n + } + + const end = length == null ? reader.len : reader.pos + length + + while (reader.pos < end) { + const tag = reader.uint32() + + switch (tag >>> 3) { + case 1: + obj.relay = reader.bytes() + break + case 2: + obj.peer = reader.bytes() + break + case 3: + obj.expiration = reader.uint64() + break + default: + reader.skipType(tag & 7) + break + } + } + + return obj + }) + } + + return _codec + } + + export const encode = (obj: ReservationVoucher): Uint8Array => { + return encodeMessage(obj, ReservationVoucher.codec()) + } + + export const decode = (buf: Uint8Array | Uint8ArrayList): ReservationVoucher => { + return decodeMessage(buf, ReservationVoucher.codec()) + } +} diff --git a/src/circuit/v2/reservation-store.ts b/src/circuit/v2/reservation-store.ts new file mode 100644 index 0000000000..13bedd6f11 --- /dev/null +++ b/src/circuit/v2/reservation-store.ts @@ -0,0 +1,34 @@ +import { Status } from './pb/index.js' +import type { ReservationStore as IReservationStore, ReservationStatus } from './interfaces.js' +import type { Multiaddr } from '@multiformats/multiaddr' +import type { PeerId } from '@libp2p/interface-peer-id' + +interface Reservation { + addr: Multiaddr + expire: Date +} + +export class ReservationStore implements IReservationStore { + private readonly reservations = new Map() + + constructor (private readonly limit = 15) { + } + + async reserve (peer: PeerId, addr: Multiaddr): Promise<{status: ReservationStatus, expire?: number}> { + if (this.reservations.size >= this.limit && !this.reservations.has(peer.toString())) { + return { status: Status.RESERVATION_REFUSED, expire: undefined } + } + const expire = new Date() + expire.setHours(expire.getHours() + 12) + this.reservations.set(peer.toString(), { addr, expire }) + return { status: Status.OK, expire: expire.getTime() } + } + + async removeReservation (peer: PeerId) { + this.reservations.delete(peer.toString()) + } + + async hasReservation (dst: PeerId) { + return this.reservations.has(dst.toString()) + } +} diff --git a/src/circuit/v2/reservation-voucher.ts b/src/circuit/v2/reservation-voucher.ts new file mode 100644 index 0000000000..9979ae0692 --- /dev/null +++ b/src/circuit/v2/reservation-voucher.ts @@ -0,0 +1,51 @@ +import type { PeerId } from '@libp2p/interface-peer-id' +import type { Record } from '@libp2p/interface-record' +import { ReservationVoucher } from './pb/index.js' + +export interface ReservationVoucherOptions { + relay: PeerId + peer: PeerId + expiration: number +} + +export class ReservationVoucherRecord implements Record { + public readonly domain = 'libp2p-relay-rsvp' + public readonly codec = new Uint8Array([0x03, 0x02]) + + private readonly relay: PeerId + private readonly peer: PeerId + private readonly expiration: number + + constructor ({ relay, peer, expiration }: ReservationVoucherOptions) { + this.relay = relay + this.peer = peer + this.expiration = expiration + } + + marshal () { + return ReservationVoucher.encode({ + relay: this.relay.toBytes(), + peer: this.peer.toBytes(), + expiration: BigInt(this.expiration) + }) + } + + equals (other: Record) { + if (!(other instanceof ReservationVoucherRecord)) { + return false + } + if (!this.peer.equals(other.peer)) { + return false + } + + if (!this.relay.equals(other.relay)) { + return false + } + + if (this.expiration !== other.expiration) { + return false + } + + return true + } +} diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts new file mode 100644 index 0000000000..819c36c41e --- /dev/null +++ b/src/circuit/v2/stop.ts @@ -0,0 +1,80 @@ + +import { Status, StopMessage } from './pb/index.js' +import type { Connection } from '@libp2p/interface-connection' + +import { logger } from '@libp2p/logger' +import { StreamHandlerV2 } from './stream-handler.js' +import { RELAY_V2_STOP_CODEC } from '../multicodec.js' +import { validateStopConnectRequest } from './validation.js' + +const log = logger('libp2p:circuitv2:stop') + +export interface HandleStopOptions { + connection: Connection + request: StopMessage + streamHandler: StreamHandlerV2 +} + +export async function handleStop ({ + connection, + request, + streamHandler +}: HandleStopOptions) { + log('new circuit relay v2 stop stream from %s', connection.remotePeer) + // Validate the STOP request has the required input + try { + validateStopConnectRequest(request, streamHandler) + } catch (/** @type {any} */ err) { + return log.error('invalid stop connect request via peer %s', connection.remotePeer, err) + } + log('stop request is valid') + + // TODO: go-libp2p marks connection transient if there is limit field present in request. + // Cannot find any reference to transient connections in js-libp2p + + streamHandler.write(StopMessage.encode( + { + type: StopMessage.Type.STATUS, + status: Status.OK + } + )) + return streamHandler.rest() +} + +export interface StopOptions { + connection: Connection + request: StopMessage +} + +/** + * Creates a STOP request + * + */ +export async function stop ({ + connection, + request +}: StopOptions) { + const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) + log('starting circuit relay v2 stop request to %s', connection.remotePeer) + const streamHandler = new StreamHandlerV2({ stream }) + streamHandler.write(StopMessage.encode(request)) + let response + try { + response = StopMessage.decode(await streamHandler.read()) + } catch (/** @type {any} */ err) { + log.error('error parsing stop message response from %s', connection.remotePeer) + } + + if (response == null) { + streamHandler.close() + return undefined + } + if (response.status === Status.OK) { + log('stop request to %s was successful', connection.remotePeer) + return streamHandler.rest() + } + + log('stop request failed with code %d', response.status) + streamHandler.close() + return undefined +} diff --git a/src/circuit/v2/stream-handler.ts b/src/circuit/v2/stream-handler.ts new file mode 100644 index 0000000000..efd7997192 --- /dev/null +++ b/src/circuit/v2/stream-handler.ts @@ -0,0 +1,82 @@ +import { logger } from '@libp2p/logger' +import * as lp from 'it-length-prefixed' +import { Handshake, handshake } from 'it-handshake' +import type { Stream } from '@libp2p/interface-connection' +import type { Source } from 'it-stream-types' + +const log = logger('libp2p:circuitv2:stream-handler') + +export interface StreamHandlerOptions { + /** + * A duplex iterable + */ + stream: Stream + + /** + * max bytes length of message + */ + maxLength?: number +} + +export class StreamHandlerV2 { + private readonly stream: Stream + private readonly shake: Handshake + private readonly decoder: Source + + constructor (options: StreamHandlerOptions) { + const { stream, maxLength = 4096 } = options + + this.stream = stream + this.shake = handshake(this.stream) + // @ts-expect-error some type incompatibilities + this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength }) + } + + /** + * Read and decode message + * + * @async + */ + async read () { + // @ts-expect-error FIXME is a source, needs to be a generator + const msg = await this.decoder.next() + if (msg.value != null) { + return msg.value.slice() + } + + log('read received no value, closing stream') + // End the stream, we didn't get data + this.close() + } + + write (msg: Uint8Array) { + this.shake.write(lp.encode.single(msg).slice()) + } + + /** + * Return the handshake rest stream and invalidate handler + */ + rest () { + this.shake.rest() + return this.shake.stream + } + + /** + * @param msg - An encoded Uint8Array protobuf message + */ + end (msg: Uint8Array) { + this.write(msg) + this.close() + } + + /** + * Close the stream + * + */ + close () { + log('closing the stream') + void this.rest().sink([]).catch(err => { + log.error(err) + }) + } +} diff --git a/src/circuit/v2/validation.ts b/src/circuit/v2/validation.ts new file mode 100644 index 0000000000..e78a660e98 --- /dev/null +++ b/src/circuit/v2/validation.ts @@ -0,0 +1,67 @@ +import { multiaddr } from '@multiformats/multiaddr' +import { Status, StopMessage, HopMessage } from './pb/index.js' +import type { StreamHandlerV2 } from './stream-handler.js' + +export function validateStopConnectRequest (request: StopMessage, streamHandler: StreamHandlerV2) { + if (request.type !== StopMessage.Type.CONNECT) { + writeStopMessageResponse(streamHandler, Status.UNEXPECTED_MESSAGE) + throw new Error('Received unexpected stop status msg') + } + try { + if (request.peer?.addrs !== null && request.peer?.addrs !== undefined) { + request.peer.addrs.forEach((addr) => { + return multiaddr(addr) + }) + } else { + throw new Error('Missing peer info in stop request') + } + } catch (/** @type {any} */ err) { + writeStopMessageResponse(streamHandler, Status.MALFORMED_MESSAGE) + throw err + } +} + +export function validateHopConnectRequest (request: HopMessage, streamHandler: StreamHandlerV2) { + // TODO: check if relay connection + + try { + if (request.peer?.addrs !== null && request.peer?.addrs !== undefined) { + request.peer.addrs.forEach((addr) => { + return multiaddr(addr) + }) + } else { + throw new Error('Missing peer info in hop connect request') + } + } catch (/** @type {any} */ err) { + writeHopMessageResponse(streamHandler, Status.MALFORMED_MESSAGE) + throw err + } +} + +/** + * Write a response + * + */ +function writeStopMessageResponse (streamHandler: StreamHandlerV2, status: Status) { + streamHandler.write(StopMessage.encode( + { + type: StopMessage.Type.STATUS, + status: status + } + )) +} + +/** + * Write a response + * + * @param {StreamHandler} streamHandler + * @param {import('./pb').Status} status + */ +function writeHopMessageResponse (streamHandler: StreamHandlerV2, status: Status) { + streamHandler.write(HopMessage.encode( + { + type: HopMessage.Type.STATUS, + status: status + } + )) +} diff --git a/src/libp2p.ts b/src/libp2p.ts index 00cdb23647..168f823cbd 100644 --- a/src/libp2p.ts +++ b/src/libp2p.ts @@ -1,3 +1,4 @@ +import { CircuitService } from './circuit/client.js' import { logger } from '@libp2p/logger' import type { AbortOptions } from '@libp2p/interfaces' import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' @@ -58,6 +59,7 @@ export class Libp2pNode extends EventEmitter implements Libp2p { public dht: DualDHT public pubsub: PubSub public identifyService: IdentifyService + public circuitService?: CircuitService public fetchService: FetchService public pingService: PingService public components: Components @@ -179,6 +181,14 @@ export class Libp2pNode extends EventEmitter implements Libp2p { }) this.configureComponent(this.identifyService) + if (init.relay.autoRelay.enabled === true) { + this.circuitService = new CircuitService(this.components, { + addressSorter: init.connectionManager.addressSorter, + ...init.relay.autoRelay + }) + this.services.push(this.circuitService) + } + // dht provided components (peerRouting, contentRouting, dht) if (init.dht != null) { this.dht = this.components.dht = init.dht(this.components) @@ -228,7 +238,6 @@ export class Libp2pNode extends EventEmitter implements Libp2p { this.components.transportManager.add(this.configureComponent(new Circuit(this.components, init.relay))) this.configureComponent(new Relay(this.components, { - addressSorter: init.connectionManager.addressSorter, ...init.relay })) } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts new file mode 100644 index 0000000000..fcc7d374cc --- /dev/null +++ b/test/circuit/v2/hop.spec.ts @@ -0,0 +1,332 @@ +import type { Connection } from '@libp2p/interface-connection' +import { mockConnection, mockDuplex, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' +import type { PeerId } from '@libp2p/interface-peer-id' +import { expect } from 'aegir/chai' +import { pair } from 'it-pair' +import * as sinon from 'sinon' +import { Circuit } from '../../../src/circuit/transport.js' +import { handleHopProtocol } from '../../../src/circuit/v2/hop.js' +import { HopMessage, Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' +import { ReservationStore } from '../../../src/circuit/v2/reservation-store.js' +import { StreamHandlerV2 } from '../../../src/circuit/v2/stream-handler.js' +import { DefaultComponents } from '../../../src/components.js' +import { DefaultConnectionManager } from '../../../src/connection-manager/index.js' +import { DefaultRegistrar } from '../../../src/registrar.js' +import { DefaultUpgrader } from '../../../src/upgrader.js' +import * as peerUtils from '../../utils/creators/peer.js' +import * as Constants from '../../../src/constants.js' +import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers' +import { publicAddressesFirst } from '@libp2p/utils/address-sort' +import { PersistentPeerStore } from '@libp2p/peer-store' +import { multiaddr } from '@multiformats/multiaddr' + +/* eslint-env mocha */ + +describe('Circuit v2 - hop protocol', function () { + it('error on unknow message type', async function () { + const streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + await handleHopProtocol({ + connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), + streamHandler, + request: { + // @ts-expect-error + type: 'not_existing' + } + }) + const msg = HopMessage.decode(await streamHandler.read()) + expect(msg.type).to.be.equal(HopMessage.Type.STATUS) + expect(msg.status).to.be.equal(Status.MALFORMED_MESSAGE) + }) + + describe('reserve', function () { + let relayPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2, reservationStore: ReservationStore + + beforeEach(async () => { + [, relayPeer] = await peerUtils.createPeerIds(2) + conn = await mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) + streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + reservationStore = new ReservationStore() + }) + + this.afterEach(async function () { + streamHandler.close() + await conn.close() + }) + + it('should reserve slot', async function () { + const expire: number = 123 + const reserveStub = sinon.stub(reservationStore, 'reserve') + reserveStub.resolves({ status: Status.OK, expire }) + await handleHopProtocol({ + request: { + type: HopMessage.Type.RESERVE + }, + connection: conn, + streamHandler, + relayPeer, + circuit: sinon.stub() as any, + relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + reservationStore + }) + expect(reserveStub.calledOnceWith(conn.remotePeer, conn.remoteAddr)).to.be.true() + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.limit).to.be.undefined() + expect(response.status).to.be.equal(Status.OK) + expect(response.reservation?.expire).to.be.equal(BigInt(expire)) + expect(response.reservation?.voucher).to.not.be.undefined() + expect(response.reservation?.addrs?.length).to.be.greaterThan(0) + }) + + it('should fail to reserve slot - acl denied', async function () { + const reserveStub = sinon.stub(reservationStore, 'reserve') + await handleHopProtocol({ + request: { + type: HopMessage.Type.RESERVE + }, + connection: conn, + streamHandler, + relayPeer, + circuit: sinon.stub() as any, + relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + reservationStore, + acl: { allowReserve: async function () { return false }, allowConnect: sinon.stub() as any } + }) + expect(reserveStub.notCalled).to.be.true() + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.limit).to.be.undefined() + expect(response.status).to.be.equal(Status.PERMISSION_DENIED) + }) + + it('should fail to reserve slot - resource exceeded', async function () { + const reserveStub = sinon.stub(reservationStore, 'reserve') + reserveStub.resolves({ status: Status.RESERVATION_REFUSED }) + await handleHopProtocol({ + request: { + type: HopMessage.Type.RESERVE + }, + connection: conn, + streamHandler, + relayPeer, + circuit: sinon.stub() as any, + relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + reservationStore + }) + expect(reserveStub.calledOnce).to.be.true() + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.limit).to.be.undefined() + expect(response.status).to.be.equal(Status.RESERVATION_REFUSED) + }) + + it('should fail to reserve slot - failed to write response', async function () { + const reserveStub = sinon.stub(reservationStore, 'reserve') + const removeReservationStub = sinon.stub(reservationStore, 'removeReservation') + reserveStub.resolves({ status: Status.OK, expire: 123 }) + removeReservationStub.resolves() + const backup = streamHandler.write + streamHandler.write = function () { throw new Error('connection reset') } + await handleHopProtocol({ + request: { + type: HopMessage.Type.RESERVE + }, + connection: conn, + streamHandler, + relayPeer, + circuit: sinon.stub() as any, + relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + reservationStore + }) + expect(reserveStub.calledOnce).to.be.true() + expect(removeReservationStub.calledOnce).to.be.true() + streamHandler.write = backup + }) + }) + + describe('connect', function () { + let relayPeer: PeerId, dstPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2, reservationStore: ReservationStore, + circuit: Circuit + + beforeEach(async () => { + [, relayPeer, dstPeer] = await peerUtils.createPeerIds(3) + conn = await mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) + streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + reservationStore = new ReservationStore() + // components + const components = new DefaultComponents() + components.connectionManager = new DefaultConnectionManager(components, + + { + maxConnections: 300, + minConnections: 50, + autoDial: true, + autoDialInterval: 10000, + maxParallelDials: Constants.MAX_PARALLEL_DIALS, + maxDialsPerPeer: Constants.MAX_PER_PEER_DIALS, + dialTimeout: Constants.DIAL_TIMEOUT, + inboundUpgradeTimeout: Constants.INBOUND_UPGRADE_TIMEOUT, + resolvers: { + dnsaddr: dnsaddrResolver + }, + addressSorter: publicAddressesFirst + } + ) + components.peerStore = new PersistentPeerStore(components) + components.registrar = new DefaultRegistrar(components) + components.upgrader = new DefaultUpgrader(components, { + connectionEncryption: [], + muxers: [], + inboundUpgradeTimeout: 10000 + }) + + circuit = new Circuit(components, { + enabled: true, + advertise: { + enabled: false + }, + hop: { + enabled: true, + active: false, + timeout: 30000 + }, + autoRelay: { + enabled: false, + maxListeners: 2 + } + }) + }) + + this.afterEach(async function () { + streamHandler.close() + await conn.close() + }) + + it('should succeed to connect', async function () { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + hasReservationStub.resolves(true) + const dstConn = await mockConnection( + mockMultiaddrConnection(pair(), dstPeer) + ) + const streamStub = sinon.stub(dstConn, 'newStream') + const dstStream = mockStream(pair()) + streamStub.resolves(dstStream) + const dstStreamHandler = new StreamHandlerV2({ stream: dstStream }) + dstStreamHandler.write(StopMessage.encode({ + type: StopMessage.Type.STATUS, + status: Status.OK + })) + const stub = sinon.stub(circuit, 'getPeerConnection') + stub.returns(dstConn) + await handleHopProtocol({ + connection: conn, + streamHandler, + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + circuit + }) + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.OK) + }) + + it('should fail to connect - invalid request', async function () { + await handleHopProtocol({ + connection: conn, + streamHandler, + request: { + type: HopMessage.Type.CONNECT, + // @ts-expect-error + peer: { + } + }, + reservationStore, + circuit + }) + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.MALFORMED_MESSAGE) + }) + + it('should failed to connect - acl denied', async function () { + const acl = { + allowConnect: function () { return Status.PERMISSION_DENIED } + } + await handleHopProtocol({ + connection: conn, + streamHandler, + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + reservationStore, + circuit, + // @ts-expect-error + acl + }) + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.PERMISSION_DENIED) + }) + + it('should fail to connect - no reservation', async function () { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + hasReservationStub.resolves(false) + await handleHopProtocol({ + connection: conn, + streamHandler, + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + circuit + }) + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.NO_RESERVATION) + }) + + it('should fail to connect - no connection', async function () { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + hasReservationStub.resolves(true) + const stub = sinon.stub(circuit, 'getPeerConnection') + stub.returns(undefined) + await handleHopProtocol({ + connection: conn, + streamHandler, + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + circuit + }) + const response = HopMessage.decode(await streamHandler.read()) + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.NO_RESERVATION) + expect(stub.calledOnce).to.be.true() + }) + }) +}) diff --git a/test/circuit/v2/reservation-store.spec.ts b/test/circuit/v2/reservation-store.spec.ts new file mode 100644 index 0000000000..d0b2031306 --- /dev/null +++ b/test/circuit/v2/reservation-store.spec.ts @@ -0,0 +1,45 @@ +import { multiaddr } from '@multiformats/multiaddr' +import { expect } from 'aegir/chai' +import { Status } from '../../../src/circuit/v2/pb/index.js' +import { ReservationStore } from '../../../src/circuit/v2/reservation-store.js' +import { createPeerId } from '../../utils/creators/peer.js' + +/* eslint-env mocha */ + +describe('Circuit v2 - reservation store', function () { + it('should add reservation', async function () { + const store = new ReservationStore(2) + const peer = await createPeerId() + const result = await store.reserve(peer, multiaddr()) + expect(result.status).to.equal(Status.OK) + expect(result.expire).to.not.be.undefined() + expect(await store.hasReservation(peer)).to.be.true() + }) + it('should add reservation if peer already has reservation', async function () { + const store = new ReservationStore(1) + const peer = await createPeerId() + await store.reserve(peer, multiaddr()) + const result = await store.reserve(peer, multiaddr()) + expect(result.status).to.equal(Status.OK) + expect(result.expire).to.not.be.undefined() + expect(await store.hasReservation(peer)).to.be.true() + }) + + it('should fail to add reservation on exceeding limit', async function () { + const store = new ReservationStore(0) + const peer = await createPeerId() + const result = await store.reserve(peer, multiaddr()) + expect(result.status).to.equal(Status.RESERVATION_REFUSED) + }) + + it('should remove reservation', async function () { + const store = new ReservationStore(10) + const peer = await createPeerId() + const result = await store.reserve(peer, multiaddr()) + expect(result.status).to.equal(Status.OK) + expect(await store.hasReservation(peer)).to.be.true() + await store.removeReservation(peer) + expect(await store.hasReservation(peer)).to.be.false() + await store.removeReservation(peer) + }) +}) diff --git a/test/circuit/v2/stop.spec.ts b/test/circuit/v2/stop.spec.ts new file mode 100644 index 0000000000..35c62cbfdd --- /dev/null +++ b/test/circuit/v2/stop.spec.ts @@ -0,0 +1,68 @@ +import { pair } from 'it-pair' +import { StreamHandlerV2 } from './../../../src/circuit/v2/stream-handler.js' +import type { Connection } from '@libp2p/interface-connection' +import type { PeerId } from '@libp2p/interface-peer-id' +import { createPeerIds } from '../../utils/creators/peer.js' +import { handleStop, stop } from '../../../src/circuit/v2/stop.js' +import { Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' +import { expect } from 'aegir/chai' +import sinon from 'sinon' +import { mockConnection, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' + +/* eslint-env mocha */ + +describe('Circuit v2 - stop protocol', function () { + let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2 + + beforeEach(async () => { + [srcPeer, relayPeer] = await createPeerIds(2) + conn = await mockConnection(mockMultiaddrConnection(pair(), relayPeer)) + streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + }) + + this.afterEach(async function () { + streamHandler.close() + await conn.close() + }) + + it('handle stop - success', async function () { + await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } }, streamHandler }) + const response = StopMessage.decode(await streamHandler.read()) + expect(response.status).to.be.equal(Status.OK) + }) + + it('handle stop error - invalid request - wrong type', async function () { + await handleStop({ connection: conn, request: { type: StopMessage.Type.STATUS, peer: { id: srcPeer.toBytes(), addrs: [] } }, streamHandler }) + const response = StopMessage.decode(await streamHandler.read()) + expect(response.status).to.be.equal(Status.UNEXPECTED_MESSAGE) + }) + + it('handle stop error - invalid request - missing peer', async function () { + await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT }, streamHandler }) + const response = StopMessage.decode(await streamHandler.read()) + expect(response.status).to.be.equal(Status.MALFORMED_MESSAGE) + }) + + it('handle stop error - invalid request - invalid peer addr', async function () { + await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [new Uint8Array(32)] } }, streamHandler }) + const response = StopMessage.decode(await streamHandler.read()) + expect(response.status).to.be.equal(Status.MALFORMED_MESSAGE) + }) + + it('send stop - success', async function () { + const streamStub = sinon.stub(conn, 'newStream') + streamStub.resolves(mockStream(pair())) + await stop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } } }) + streamHandler.write(StopMessage.encode({ + type: StopMessage.Type.STATUS, + status: Status.OK + })) + }) + + it('send stop - should not fall apart with invalid status response', async function () { + const streamStub = sinon.stub(conn, 'newStream') + streamStub.resolves(mockStream(pair())) + await stop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } } }) + streamHandler.write(new Uint8Array(10)) + }) +}) diff --git a/test/configuration/protocol-prefix.node.ts b/test/configuration/protocol-prefix.node.ts index c21cdd5658..a8e72df081 100644 --- a/test/configuration/protocol-prefix.node.ts +++ b/test/configuration/protocol-prefix.node.ts @@ -33,7 +33,7 @@ describe('Protocol prefix is configurable', () => { const protocols = await libp2p.peerStore.protoBook.get(libp2p.peerId) expect(protocols).to.include.members([ `/${testProtocol}/fetch/0.0.1`, - '/libp2p/circuit/relay/0.1.0', + '/libp2p/circuit/relay/0.2.0/hop', `/${testProtocol}/id/1.0.0`, `/${testProtocol}/id/push/1.0.0`, `/${testProtocol}/ping/1.0.0` @@ -46,7 +46,7 @@ describe('Protocol prefix is configurable', () => { const protocols = await libp2p.peerStore.protoBook.get(libp2p.peerId) expect(protocols).to.include.members([ - '/libp2p/circuit/relay/0.1.0', + '/libp2p/circuit/relay/0.2.0/hop', '/ipfs/id/1.0.0', '/ipfs/id/push/1.0.0', '/ipfs/ping/1.0.0', diff --git a/test/dialing/resolver.spec.ts b/test/dialing/resolver.spec.ts index 4c2f7dca77..52cb04944c 100644 --- a/test/dialing/resolver.spec.ts +++ b/test/dialing/resolver.spec.ts @@ -14,6 +14,9 @@ import { Circuit } from '../../src/circuit/transport.js' import pDefer from 'p-defer' import { mockConnection, mockDuplex, mockMultiaddrConnection } from '@libp2p/interface-mocks' import { peerIdFromString } from '@libp2p/peer-id' +import { pEvent } from 'p-event' +import { createFromJSON } from '@libp2p/peer-id-factory' +import { RELAY_V2_HOP_CODEC } from '../../src/circuit/multicodec.js' const relayAddr = MULTIADDRS_WEBSOCKETS[0] @@ -53,6 +56,9 @@ describe('Dialing (resolvable addresses)', () => { }, relay: { enabled: true, + autoRelay: { + enabled: true + }, hop: { enabled: false } @@ -73,6 +79,9 @@ describe('Dialing (resolvable addresses)', () => { }, relay: { enabled: true, + autoRelay: { + enabled: true + }, hop: { enabled: false } @@ -81,6 +90,8 @@ describe('Dialing (resolvable addresses)', () => { started: true }) ]) + + await Promise.all([libp2p, remoteLibp2p].map(async n => await n.start())) }) afterEach(async () => { @@ -89,6 +100,12 @@ describe('Dialing (resolvable addresses)', () => { }) it('resolves dnsaddr to ws local address', async () => { + const { default: Peers } = await import('../fixtures/peers.js') + + // Use the last peer + const peerId = await createFromJSON(Peers[Peers.length - 1]) + // ensure remote libp2p creates reservation on relay + await remoteLibp2p.components.peerStore.protoBook.add(peerId, [RELAY_V2_HOP_CODEC]) const remoteId = remoteLibp2p.peerId const dialAddr = multiaddr(`/dnsaddr/remote.libp2p.io/p2p/${remoteId.toString()}`) const relayedAddrFetched = multiaddr(relayedAddr(remoteId)) @@ -100,6 +117,10 @@ describe('Dialing (resolvable addresses)', () => { // Resolver stub resolver.onCall(0).returns(Promise.resolve(getDnsRelayedAddrStub(remoteId))) + // create reservation on relay + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + await pEvent(remoteLibp2p.circuitService!, 'relay:reservation') + // Dial with address resolve const connection = await libp2p.dial(dialAddr) expect(connection).to.exist() @@ -114,6 +135,17 @@ describe('Dialing (resolvable addresses)', () => { const dialAddr = multiaddr(`/dnsaddr/remote.libp2p.io/p2p/${remoteId.toString()}`) const relayedAddrFetched = multiaddr(relayedAddr(remoteId)) + const { default: Peers } = await import('../fixtures/peers.js') + + // Use the last peer + const relayId = await createFromJSON(Peers[Peers.length - 1]) + // ensure remote libp2p creates reservation on relay + await remoteLibp2p.components.peerStore.protoBook.add(relayId, [RELAY_V2_HOP_CODEC]) + + // create reservation on relay + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + await pEvent(remoteLibp2p.circuitService!, 'relay:reservation') + // Transport spy const transport = getTransport(libp2p, Circuit.prototype[Symbol.toStringTag]) const transportDialSpy = sinon.spy(transport, 'dial') @@ -173,6 +205,17 @@ describe('Dialing (resolvable addresses)', () => { const dialAddr = multiaddr(`/dnsaddr/remote.libp2p.io/p2p/${remoteId.toString()}`) const relayedAddrFetched = multiaddr(relayedAddr(remoteId)) + const { default: Peers } = await import('../fixtures/peers.js') + + // Use the last peer + const relayId = await createFromJSON(Peers[Peers.length - 1]) + // ensure remote libp2p creates reservation on relay + await remoteLibp2p.components.peerStore.protoBook.add(relayId, [RELAY_V2_HOP_CODEC]) + + // create reservation on relay + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + await pEvent(remoteLibp2p.circuitService!, 'relay:reservation') + // Transport spy const transport = getTransport(libp2p, Circuit.prototype[Symbol.toStringTag]) const transportDialSpy = sinon.spy(transport, 'dial') diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index 806e70d20f..094f26df15 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -5,7 +5,7 @@ import { pEvent } from 'p-event' import defer from 'p-defer' import pWaitFor from 'p-wait-for' import sinon from 'sinon' -import { RELAY_CODEC } from '../../src/circuit/multicodec.js' +import { RELAY_V2_HOP_CODEC } from '../../src/circuit/multicodec.js' import { createNode } from '../utils/creators/peer.js' import type { Libp2pNode } from '../../src/libp2p.js' import type { Options as PWaitForOptions } from 'p-wait-for' @@ -30,10 +30,7 @@ async function usingAsRelay (node: Libp2pNode, relay: Libp2pNode, opts?: PWaitFo async function discoveredRelayConfig (node: Libp2pNode, relay: Libp2pNode) { await pWaitFor(async () => { const peerData = await node.peerStore.get(relay.peerId) - const supportsRelay = peerData.protocols.includes(RELAY_CODEC) - const supportsHop = peerData.metadata.has('hop_relay') - - return supportsRelay && supportsHop + return peerData.protocols.includes(RELAY_V2_HOP_CODEC) }) } @@ -75,7 +72,7 @@ describe('auto-relay', () => { // Peer has relay multicodec const knownProtocols = await libp2p.peerStore.protoBook.get(relayLibp2p.peerId) - expect(knownProtocols).to.include(RELAY_CODEC) + expect(knownProtocols).to.include(RELAY_V2_HOP_CODEC) }) }) @@ -114,7 +111,7 @@ describe('auto-relay', () => { // Peer has relay multicodec const knownProtocols = await relayLibp2p1.peerStore.protoBook.get(relayLibp2p2.peerId) - expect(knownProtocols).to.include(RELAY_CODEC) + expect(knownProtocols).to.include(RELAY_V2_HOP_CODEC) }) it('should be able to dial a peer from its relayed address previously added', async () => { @@ -143,7 +140,7 @@ describe('auto-relay', () => { // Relay2 has relay multicodec const knownProtocols2 = await relayLibp2p1.peerStore.protoBook.get(relayLibp2p2.peerId) - expect(knownProtocols2).to.include(RELAY_CODEC) + expect(knownProtocols2).to.include(RELAY_V2_HOP_CODEC) // Discover an extra relay and connect await relayLibp2p1.peerStore.addressBook.add(relayLibp2p3.peerId, relayLibp2p3.getMultiaddrs()) @@ -157,7 +154,7 @@ describe('auto-relay', () => { // Relay2 has relay multicodec const knownProtocols3 = await relayLibp2p1.peerStore.protoBook.get(relayLibp2p3.peerId) - expect(knownProtocols3).to.include(RELAY_CODEC) + expect(knownProtocols3).to.include(RELAY_V2_HOP_CODEC) }) it('should not listen on a relayed address we disconnect from peer', async () => { diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 823050e157..2ce7da81f1 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -1,20 +1,22 @@ -/* eslint-env mocha */ - import { expect } from 'aegir/chai' -import sinon from 'sinon' import { multiaddr } from '@multiformats/multiaddr' import { pipe } from 'it-pipe' +import { pEvent } from 'p-event' +import * as sinon from 'sinon' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' -import { createNode } from '../utils/creators/peer.js' +import { RELAY_V2_HOP_CODEC } from '../../src/circuit/multicodec.js' +import { CircuitRelay } from '../../src/circuit/v1/pb/index.js' +import { HopMessage } from '../../src/circuit/v2/pb/index.js' +import { StreamHandlerV2 } from '../../src/circuit/v2/stream-handler.js' import { codes as Errors } from '../../src/errors.js' import type { Libp2pNode } from '../../src/libp2p.js' -import all from 'it-all' -import { RELAY_CODEC } from '../../src/circuit/multicodec.js' -import { StreamHandler } from '../../src/circuit/circuit/stream-handler.js' -import { CircuitRelay } from '../../src/circuit/pb/index.js' +import { createNode } from '../utils/creators/peer.js' import { createNodeOptions, createRelayOptions } from './utils.js' +import all from 'it-all' import delay from 'delay' +/* eslint-env mocha */ + describe('Dialing (via relay, TCP)', () => { let srcLibp2p: Libp2pNode let relayLibp2p: Libp2pNode @@ -45,7 +47,7 @@ describe('Dialing (via relay, TCP)', () => { config: createNodeOptions({ relay: { autoRelay: { - enabled: false + enabled: true } } }) @@ -69,12 +71,14 @@ describe('Dialing (via relay, TCP)', () => { const relayAddr = relayLibp2p.components.transportManager.getAddrs()[0] const relayIdString = relayLibp2p.peerId.toString() + await dstLibp2p.dial(relayAddr.encapsulate(`/p2p/${relayIdString}`)) + // make sure we have reservation before trying to dial. Previously relay initiated connection. + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + await pEvent(dstLibp2p.circuitService!, 'relay:reservation') const dialAddr = relayAddr .encapsulate(`/p2p/${relayIdString}`) .encapsulate(`/p2p-circuit/p2p/${dstLibp2p.peerId.toString()}`) - await relayLibp2p.dial(dstLibp2p.getMultiaddrs()[0]) - const connection = await srcLibp2p.dial(dialAddr) expect(connection).to.exist() @@ -91,6 +95,7 @@ describe('Dialing (via relay, TCP)', () => { ) expect(output.slice()).to.eql(input) + echoStream.close() }) it('should fail to connect to a peer over a relay with inactive connections', async () => { @@ -157,13 +162,13 @@ describe('Dialing (via relay, TCP)', () => { // send an invalid relay message from the relay to the destination peer const connections = relayLibp2p.getConnections(dstLibp2p.peerId) - const stream = await connections[0].newStream(RELAY_CODEC) - const streamHandler = new StreamHandler({ stream }) - streamHandler.write({ - type: CircuitRelay.Type.STATUS - }) - const res = await streamHandler.read() - expect(res?.code).to.equal(CircuitRelay.Status.MALFORMED_MESSAGE) + const stream = await connections[0].newStream(RELAY_V2_HOP_CODEC) + const streamHandler = new StreamHandlerV2({ stream }) + // empty messages are encoded as { type: RESERVE } for the hop codec, + // so we make the message invalid by adding a zeroed byte + streamHandler.write(new Uint8Array([0])) + const res = HopMessage.decode(await streamHandler.read()) + expect(res?.status).to.equal(CircuitRelay.Status.MALFORMED_MESSAGE) streamHandler.close() // should still be connected @@ -182,7 +187,7 @@ describe('Dialing (via relay, TCP)', () => { }, hop: { // very short timeout - timeout: 10 + timeout: 5 } } }) @@ -192,7 +197,7 @@ describe('Dialing (via relay, TCP)', () => { const dialAddr = relayAddr.encapsulate(`/p2p/${relayLibp2p.peerId.toString()}`) const connection = await srcLibp2p.dial(dialAddr) - const stream = await connection.newStream('/libp2p/circuit/relay/0.1.0') + const stream = await connection.newStream(RELAY_V2_HOP_CODEC) await stream.sink(async function * () { // delay for longer than the timeout diff --git a/test/utils/creators/peer.ts b/test/utils/creators/peer.ts index 4c0c387902..d80eb153fc 100644 --- a/test/utils/creators/peer.ts +++ b/test/utils/creators/peer.ts @@ -3,6 +3,7 @@ import Peers from '../../fixtures/peers.js' import { createBaseOptions } from '../base-options.browser.js' import { createEd25519PeerId, createFromJSON, createRSAPeerId } from '@libp2p/peer-id-factory' import { createLibp2pNode, Libp2pNode } from '../../../src/libp2p.js' +import pTimes from 'p-times' import type { Libp2pOptions } from '../../../src/index.js' import type { PeerId } from '@libp2p/interface-peer-id' import type { AddressManagerInit } from '../../../src/address-manager/index.js' @@ -72,10 +73,6 @@ export async function populateAddressBooks (peers: Libp2pNode[]) { } export interface CreatePeerIdOptions { - /** - * number of peers (default: 1) - */ - number?: number /** * fixture index for peer-id generation (default: 0) @@ -92,7 +89,7 @@ export interface CreatePeerIdOptions { } /** - * Create Peer-ids + * Create Peer-id */ export async function createPeerId (options: CreatePeerIdOptions = {}): Promise { const opts = options.opts ?? {} @@ -103,3 +100,15 @@ export async function createPeerId (options: CreatePeerIdOptions = {}): Promise< return await createFromJSON(Peers[options.fixture]) } + +/** + * Create Peer-ids + */ +export async function createPeerIds (count: number, options: Omit = {}): Promise { + const opts = options.opts ?? {} + + return await pTimes(count, async (i) => await createPeerId({ + ...opts, + fixture: i + })) +} diff --git a/tsconfig.json b/tsconfig.json index fe4fd056b1..51aab45139 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,7 +8,8 @@ "test" ], "exclude": [ - "src/circuit/pb/index.js", + "src/circuit/v1/pb/index.js", + "src/circuit/v2/pb/index.js", "src/fetch/pb/proto.js", "src/identify/pb/message.js", "src/insecure/pb/proto.js" From d4e6436c38d223aa9e0ccc709d2bd123a07d4eeb Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 5 Jan 2023 20:24:03 +0530 Subject: [PATCH 02/58] remove extra test command --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 8edc158db0..dba9df05bc 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,6 @@ "generate:proto:identify": "protons ./src/identify/pb/message.proto", "generate:proto:plaintext": "protons ./src/insecure/pb/proto.proto", "test": "aegir test", - "test:relay": "aegir test -t node -f \"./dist/test/relay/*.{node,spec}.js\" --cov", "test:node": "aegir test -t node -f \"./dist/test/**/*.{node,spec}.js\" --cov", "test:chrome": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" --cov", "test:chrome-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\"", From 79611999ed3dfa741d2ea8ef91f66b21e649dc5b Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 5 Jan 2023 21:07:21 +0530 Subject: [PATCH 03/58] fix linter --- src/circuit/client.ts | 11 +- src/circuit/transport.ts | 1 + src/circuit/v1/pb/index.d.ts | 173 -------------- src/circuit/v2/hop.ts | 9 +- src/circuit/v2/pb/index.d.ts | 450 ----------------------------------- src/circuit/v2/stop.ts | 1 + src/circuit/v2/validation.ts | 1 + 7 files changed, 18 insertions(+), 628 deletions(-) delete mode 100644 src/circuit/v1/pb/index.d.ts delete mode 100644 src/circuit/v2/pb/index.d.ts diff --git a/src/circuit/client.ts b/src/circuit/client.ts index cc5bcfdef3..964cbd98c6 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -19,7 +19,7 @@ import type { Components } from '../components.js' const log = logger('libp2p:circuit_client') -const noop = () => {} +const noop = () => { } export interface CircuitServiceInit { addressSorter?: AddressSorter @@ -91,7 +91,7 @@ export class CircuitService extends EventEmitter implement * If the protocol is supported, check if the peer supports **HOP** and add it as a listener if * inside the threshold. */ - async _onProtocolChange ({ peerId, protocols }: {peerId: PeerId, protocols: string[]}) { + async _onProtocolChange ({ peerId, protocols }: { peerId: PeerId, protocols: string[] }) { const id = peerId.toString() if (peerId.equals(this.components.peerId)) { @@ -217,6 +217,7 @@ export class CircuitService extends EventEmitter implement */ async _removeListenRelay (id: string) { if (this.relays.delete(id)) { + /* eslint-disable-next-line no-warning-comments */ // TODO: this should be responsibility of the connMgr await this._listenOnAvailableHopRelays([id]) } @@ -245,10 +246,12 @@ export class CircuitService extends EventEmitter implement // Continue to next if listening on this or peer to ignore if (this.relays.has(idStr)) { + /* eslint-disable-next-line no-continue */ continue } if (peersToIgnore.includes(idStr)) { + /* eslint-disable-next-line no-continue */ continue } @@ -256,6 +259,7 @@ export class CircuitService extends EventEmitter implement // Continue to next if it does not support Hop if (hasProtocol == null) { + /* eslint-disable-next-line no-continue */ continue } log.trace('Found peer with relay codec', id) @@ -265,6 +269,7 @@ export class CircuitService extends EventEmitter implement // If not connected, store for possible later use. if (connections.length === 0) { knownHopsToDial.push(id) + /* eslint-disable-next-line no-continue */ continue } @@ -291,6 +296,7 @@ export class CircuitService extends EventEmitter implement const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS) for await (const provider of this.components.contentRouting.findProviders(cid)) { if (provider.multiaddrs.length === 0) { + /* eslint-disable-next-line no-continue */ continue } @@ -298,6 +304,7 @@ export class CircuitService extends EventEmitter implement if (peerId.equals(this.components.peerId)) { // Skip the provider if it's us as dialing will fail + /* eslint-disable-next-line no-continue */ continue } diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index fb40352a74..8cbd18e7d6 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -358,6 +358,7 @@ export class Circuit implements Transport, Startable { throw createError(new Error(`failed to connect via relay with status ${status?.status?.toString() ?? 'undefined'}`), codes.ERR_HOP_REQUEST_FAILED) } + /* eslint-disable-next-line no-warning-comments */ // TODO: do something with limit and transient connection let localAddr = relayAddr diff --git a/src/circuit/v1/pb/index.d.ts b/src/circuit/v1/pb/index.d.ts deleted file mode 100644 index 68e4880b95..0000000000 --- a/src/circuit/v1/pb/index.d.ts +++ /dev/null @@ -1,173 +0,0 @@ -import * as $protobuf from "protobufjs"; -/** Properties of a CircuitRelay. */ -export interface ICircuitRelay { - - /** CircuitRelay type */ - type?: (CircuitRelay.Type|null); - - /** CircuitRelay srcPeer */ - srcPeer?: (CircuitRelay.IPeer|null); - - /** CircuitRelay dstPeer */ - dstPeer?: (CircuitRelay.IPeer|null); - - /** CircuitRelay code */ - code?: (CircuitRelay.Status|null); -} - -/** Represents a CircuitRelay. */ -export class CircuitRelay implements ICircuitRelay { - - /** - * Constructs a new CircuitRelay. - * @param [p] Properties to set - */ - constructor(p?: ICircuitRelay); - - /** CircuitRelay type. */ - public type: CircuitRelay.Type; - - /** CircuitRelay srcPeer. */ - public srcPeer?: (CircuitRelay.IPeer|null); - - /** CircuitRelay dstPeer. */ - public dstPeer?: (CircuitRelay.IPeer|null); - - /** CircuitRelay code. */ - public code: CircuitRelay.Status; - - /** - * Encodes the specified CircuitRelay message. Does not implicitly {@link CircuitRelay.verify|verify} messages. - * @param m CircuitRelay message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: ICircuitRelay, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a CircuitRelay message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns CircuitRelay - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): CircuitRelay; - - /** - * Creates a CircuitRelay message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns CircuitRelay - */ - public static fromObject(d: { [k: string]: any }): CircuitRelay; - - /** - * Creates a plain object from a CircuitRelay message. Also converts values to other types if specified. - * @param m CircuitRelay - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: CircuitRelay, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this CircuitRelay to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} - -export namespace CircuitRelay { - - /** Status enum. */ - enum Status { - SUCCESS = 100, - HOP_SRC_ADDR_TOO_LONG = 220, - HOP_DST_ADDR_TOO_LONG = 221, - HOP_SRC_MULTIADDR_INVALID = 250, - HOP_DST_MULTIADDR_INVALID = 251, - HOP_NO_CONN_TO_DST = 260, - HOP_CANT_DIAL_DST = 261, - HOP_CANT_OPEN_DST_STREAM = 262, - HOP_CANT_SPEAK_RELAY = 270, - HOP_CANT_RELAY_TO_SELF = 280, - STOP_SRC_ADDR_TOO_LONG = 320, - STOP_DST_ADDR_TOO_LONG = 321, - STOP_SRC_MULTIADDR_INVALID = 350, - STOP_DST_MULTIADDR_INVALID = 351, - STOP_RELAY_REFUSED = 390, - MALFORMED_MESSAGE = 400 - } - - /** Type enum. */ - enum Type { - HOP = 1, - STOP = 2, - STATUS = 3, - CAN_HOP = 4 - } - - /** Properties of a Peer. */ - interface IPeer { - - /** Peer id */ - id: Uint8Array; - - /** Peer addrs */ - addrs?: (Uint8Array[]|null); - } - - /** Represents a Peer. */ - class Peer implements IPeer { - - /** - * Constructs a new Peer. - * @param [p] Properties to set - */ - constructor(p?: CircuitRelay.IPeer); - - /** Peer id. */ - public id: Uint8Array; - - /** Peer addrs. */ - public addrs: Uint8Array[]; - - /** - * Encodes the specified Peer message. Does not implicitly {@link CircuitRelay.Peer.verify|verify} messages. - * @param m Peer message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: CircuitRelay.IPeer, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Peer message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns Peer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): CircuitRelay.Peer; - - /** - * Creates a Peer message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns Peer - */ - public static fromObject(d: { [k: string]: any }): CircuitRelay.Peer; - - /** - * Creates a plain object from a Peer message. Also converts values to other types if specified. - * @param m Peer - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: CircuitRelay.Peer, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Peer to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - } -} diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 7e7857ce9b..eab5f73f05 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -49,7 +49,7 @@ export async function reserve (connection: Connection) { type: HopMessage.Type.RESERVE })) - let response: HopMessage|undefined + let response: HopMessage | undefined try { response = HopMessage.decode(await streamHandler.read()) } catch (e: any) { @@ -69,6 +69,7 @@ export async function reserve (connection: Connection) { async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { log('hop reserve request from %s', connection.remotePeer) + /* eslint-disable-next-line no-warning-comments */ // TODO: prevent reservation over relay address if ((await acl?.allowReserve?.(connection.remotePeer, connection.remoteAddr)) === false) { @@ -92,7 +93,7 @@ async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs { type: HopMessage.Type.STATUS, status: Status.OK, - reservation: await makeReservation(relayAddrs, relayPeer, connection.remotePeer, BigInt(result.expire || 0)), + reservation: await makeReservation(relayAddrs, relayPeer, connection.remotePeer, BigInt(result.expire ?? 0)), limit }) log('sent confirmation response to %s', connection.remotePeer) @@ -100,12 +101,14 @@ async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs log.error('failed to send confirmation response to %s', connection.remotePeer) await reservationStore.removeReservation(connection.remotePeer) } + + /* eslint-disable-next-line no-warning-comments */ // TODO: how to ensure connection manager doesn't close reserved relay conn } type HopConnectOptions = Pick< HopProtocolOptions, -'connection' | 'streamHandler' | 'request' | 'reservationStore' |'circuit' |'acl' +'connection' | 'streamHandler' | 'request' | 'reservationStore' | 'circuit' | 'acl' > async function handleConnect (options: HopConnectOptions) { diff --git a/src/circuit/v2/pb/index.d.ts b/src/circuit/v2/pb/index.d.ts deleted file mode 100644 index 13c10df7d6..0000000000 --- a/src/circuit/v2/pb/index.d.ts +++ /dev/null @@ -1,450 +0,0 @@ -import * as $protobuf from "protobufjs"; -/** Properties of a HopMessage. */ -export interface IHopMessage { - - /** HopMessage type */ - type: HopMessage.Type; - - /** HopMessage peer */ - peer?: (IPeer|null); - - /** HopMessage reservation */ - reservation?: (IReservation|null); - - /** HopMessage limit */ - limit?: (ILimit|null); - - /** HopMessage status */ - status?: (Status|null); -} - -/** Represents a HopMessage. */ -export class HopMessage implements IHopMessage { - - /** - * Constructs a new HopMessage. - * @param [p] Properties to set - */ - constructor(p?: IHopMessage); - - /** HopMessage type. */ - public type: HopMessage.Type; - - /** HopMessage peer. */ - public peer?: (IPeer|null); - - /** HopMessage reservation. */ - public reservation?: (IReservation|null); - - /** HopMessage limit. */ - public limit?: (ILimit|null); - - /** HopMessage status. */ - public status: Status; - - /** - * Encodes the specified HopMessage message. Does not implicitly {@link HopMessage.verify|verify} messages. - * @param m HopMessage message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: IHopMessage, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a HopMessage message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns HopMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): HopMessage; - - /** - * Creates a HopMessage message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns HopMessage - */ - public static fromObject(d: { [k: string]: any }): HopMessage; - - /** - * Creates a plain object from a HopMessage message. Also converts values to other types if specified. - * @param m HopMessage - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: HopMessage, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this HopMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} - -export namespace HopMessage { - - /** Type enum. */ - enum Type { - RESERVE = 0, - CONNECT = 1, - STATUS = 2 - } -} - -/** Properties of a StopMessage. */ -export interface IStopMessage { - - /** StopMessage type */ - type: StopMessage.Type; - - /** StopMessage peer */ - peer?: (IPeer|null); - - /** StopMessage limit */ - limit?: (ILimit|null); - - /** StopMessage status */ - status?: (Status|null); -} - -/** Represents a StopMessage. */ -export class StopMessage implements IStopMessage { - - /** - * Constructs a new StopMessage. - * @param [p] Properties to set - */ - constructor(p?: IStopMessage); - - /** StopMessage type. */ - public type: StopMessage.Type; - - /** StopMessage peer. */ - public peer?: (IPeer|null); - - /** StopMessage limit. */ - public limit?: (ILimit|null); - - /** StopMessage status. */ - public status: Status; - - /** - * Encodes the specified StopMessage message. Does not implicitly {@link StopMessage.verify|verify} messages. - * @param m StopMessage message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: IStopMessage, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a StopMessage message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns StopMessage - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): StopMessage; - - /** - * Creates a StopMessage message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns StopMessage - */ - public static fromObject(d: { [k: string]: any }): StopMessage; - - /** - * Creates a plain object from a StopMessage message. Also converts values to other types if specified. - * @param m StopMessage - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: StopMessage, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this StopMessage to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} - -export namespace StopMessage { - - /** Type enum. */ - enum Type { - CONNECT = 0, - STATUS = 1 - } -} - -/** Properties of a Peer. */ -export interface IPeer { - - /** Peer id */ - id: Uint8Array; - - /** Peer addrs */ - addrs?: (Uint8Array[]|null); -} - -/** Represents a Peer. */ -export class Peer implements IPeer { - - /** - * Constructs a new Peer. - * @param [p] Properties to set - */ - constructor(p?: IPeer); - - /** Peer id. */ - public id: Uint8Array; - - /** Peer addrs. */ - public addrs: Uint8Array[]; - - /** - * Encodes the specified Peer message. Does not implicitly {@link Peer.verify|verify} messages. - * @param m Peer message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: IPeer, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Peer message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns Peer - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Peer; - - /** - * Creates a Peer message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns Peer - */ - public static fromObject(d: { [k: string]: any }): Peer; - - /** - * Creates a plain object from a Peer message. Also converts values to other types if specified. - * @param m Peer - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: Peer, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Peer to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} - -/** Properties of a Reservation. */ -export interface IReservation { - - /** Reservation expire */ - expire: number; - - /** Reservation addrs */ - addrs?: (Uint8Array[]|null); - - /** Reservation voucher */ - voucher?: (Uint8Array|null); -} - -/** Represents a Reservation. */ -export class Reservation implements IReservation { - - /** - * Constructs a new Reservation. - * @param [p] Properties to set - */ - constructor(p?: IReservation); - - /** Reservation expire. */ - public expire: number; - - /** Reservation addrs. */ - public addrs: Uint8Array[]; - - /** Reservation voucher. */ - public voucher: Uint8Array; - - /** - * Encodes the specified Reservation message. Does not implicitly {@link Reservation.verify|verify} messages. - * @param m Reservation message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: IReservation, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Reservation message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns Reservation - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Reservation; - - /** - * Creates a Reservation message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns Reservation - */ - public static fromObject(d: { [k: string]: any }): Reservation; - - /** - * Creates a plain object from a Reservation message. Also converts values to other types if specified. - * @param m Reservation - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: Reservation, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Reservation to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} - -/** Properties of a Limit. */ -export interface ILimit { - - /** Limit duration */ - duration?: (number|null); - - /** Limit data */ - data?: (number|null); -} - -/** Represents a Limit. */ -export class Limit implements ILimit { - - /** - * Constructs a new Limit. - * @param [p] Properties to set - */ - constructor(p?: ILimit); - - /** Limit duration. */ - public duration: number; - - /** Limit data. */ - public data: number; - - /** - * Encodes the specified Limit message. Does not implicitly {@link Limit.verify|verify} messages. - * @param m Limit message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: ILimit, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Limit message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns Limit - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Limit; - - /** - * Creates a Limit message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns Limit - */ - public static fromObject(d: { [k: string]: any }): Limit; - - /** - * Creates a plain object from a Limit message. Also converts values to other types if specified. - * @param m Limit - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: Limit, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Limit to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} - -/** Status enum. */ -export enum Status { - OK = 100, - RESERVATION_REFUSED = 200, - RESOURCE_LIMIT_EXCEEDED = 201, - PERMISSION_DENIED = 202, - CONNECTION_FAILED = 203, - NO_RESERVATION = 204, - MALFORMED_MESSAGE = 400, - UNEXPECTED_MESSAGE = 401 -} - -/** Represents a ReservationVoucher. */ -export class ReservationVoucher implements IReservationVoucher { - - /** - * Constructs a new ReservationVoucher. - * @param [p] Properties to set - */ - constructor(p?: IReservationVoucher); - - /** ReservationVoucher relay. */ - public relay: Uint8Array; - - /** ReservationVoucher peer. */ - public peer: Uint8Array; - - /** ReservationVoucher expiration. */ - public expiration: number; - - /** - * Encodes the specified ReservationVoucher message. Does not implicitly {@link ReservationVoucher.verify|verify} messages. - * @param m ReservationVoucher message or plain object to encode - * @param [w] Writer to encode to - * @returns Writer - */ - public static encode(m: IReservationVoucher, w?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a ReservationVoucher message from the specified reader or buffer. - * @param r Reader or buffer to decode from - * @param [l] Message length if known beforehand - * @returns ReservationVoucher - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): ReservationVoucher; - - /** - * Creates a ReservationVoucher message from a plain object. Also converts values to their respective internal types. - * @param d Plain object - * @returns ReservationVoucher - */ - public static fromObject(d: { [k: string]: any }): ReservationVoucher; - - /** - * Creates a plain object from a ReservationVoucher message. Also converts values to other types if specified. - * @param m ReservationVoucher - * @param [o] Conversion options - * @returns Plain object - */ - public static toObject(m: ReservationVoucher, o?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this ReservationVoucher to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; -} diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index 819c36c41e..ee53bf2844 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -29,6 +29,7 @@ export async function handleStop ({ } log('stop request is valid') + /* eslint-disable-next-line no-warning-comments */ // TODO: go-libp2p marks connection transient if there is limit field present in request. // Cannot find any reference to transient connections in js-libp2p diff --git a/src/circuit/v2/validation.ts b/src/circuit/v2/validation.ts index e78a660e98..b7d868aa11 100644 --- a/src/circuit/v2/validation.ts +++ b/src/circuit/v2/validation.ts @@ -22,6 +22,7 @@ export function validateStopConnectRequest (request: StopMessage, streamHandler: } export function validateHopConnectRequest (request: HopMessage, streamHandler: StreamHandlerV2) { + /* eslint-disable-next-line no-warning-comments */ // TODO: check if relay connection try { From 290dc0af375363441456868099b52302fed1b60d Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 5 Jan 2023 21:13:35 +0530 Subject: [PATCH 04/58] remove extraneous files --- .coverage/coverage-final.json | 67 ----------------------------------- .gitignore | 3 ++ .vscode/settings.json | 3 -- 3 files changed, 3 insertions(+), 70 deletions(-) delete mode 100644 .coverage/coverage-final.json delete mode 100644 .vscode/settings.json diff --git a/.coverage/coverage-final.json b/.coverage/coverage-final.json deleted file mode 100644 index 049acd9de5..0000000000 --- a/.coverage/coverage-final.json +++ /dev/null @@ -1,67 +0,0 @@ -{"/home/ckousik/projects/js-libp2p/src/components.ts": {"path":"/home/ckousik/projects/js-libp2p/src/components.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":88}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":71}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":71}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":56}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":65}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":61}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":60}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":77}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":52}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":52}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":85}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":29}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":16}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":32}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":22}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":20}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":38}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":36}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":34}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":26}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":22}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":43}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":16}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":19}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":15}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":17}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":33}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":17}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":23}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":21}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":19}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":23}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":39}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":37}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":33}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":27}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":23}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":43}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":15}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":17}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":17}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":1}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":65}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":26}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":42}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":32}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":30}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":28}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":32}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":48}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":46}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":44}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":42}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":36}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":32}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":52}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":24}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":26}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":26}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":26}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":43}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":30}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":46}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":36}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":34}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":32}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":36}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":52}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":50}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":48}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":46}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":40}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":36}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":56}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":24}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":30}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":30}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":3}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":16}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":24}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":3}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":24}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":22}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":95}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":44}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":39}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":9}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":8}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":3}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":18}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":22}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":95}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":31}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":8}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":24}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":3}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":23}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":22}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":95}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":43}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":38}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":9}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":8}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":23}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":22}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":95}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":43}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":38}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":9}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":8}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":3}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":17}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":22}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":95}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":30}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":8}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":0}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":25}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":3}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":22}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":22}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":95}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":42}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":37}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":9}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":8}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":5}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":3}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":0}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":25}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":31}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":71}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":5}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":23}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":3}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":31}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":25}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":3}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":41}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":39}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":79}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":5}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":0}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":31}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":3}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":55}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":41}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":3}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":31}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":34}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":74}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":5}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":0}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":26}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":3}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":0}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":40}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":31}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":3}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":29}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":33}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":73}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":25}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":3}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":0}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":37}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":29}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":3}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":0}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":31}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":34}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":74}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":5}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":0}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":26}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":3}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":0}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":40}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":31}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":3}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":0}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":47}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":42}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":82}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":0}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":34}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":3}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":64}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":47}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":3}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":45}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":41}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":81}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":5}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":33}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":3}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":0}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":61}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":45}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":3}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":43}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":40}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":80}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":5}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":0}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":32}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":3}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":58}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":43}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":3}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":41}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":39}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":79}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":5}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":0}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":31}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":3}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":55}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":41}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":3}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":35}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":36}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":76}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":5}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":28}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":3}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":46}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":35}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":3}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":0}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":31}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":34}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":74}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":5}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":0}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":26}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":3}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":0}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":40}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":31}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":3}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":0}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":63}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":36}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":3}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":82}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":51}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":3}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":25}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":31}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":71}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":5}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":23}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":3}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":0}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":31}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":25}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":3}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":0}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":39}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":24}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":3}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":0}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":46}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":27}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":3}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":0}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":35}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":20}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":3}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":0}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":38}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":19}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":3}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":0}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":37}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":23}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":3}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":0}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":43}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":25}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":3}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":55,"75":55,"76":55,"77":55,"78":55,"79":55,"80":55,"81":55,"82":55,"83":55,"84":55,"85":55,"86":55,"87":55,"88":55,"89":55,"90":55,"91":1,"92":1,"93":0,"94":0,"95":1,"96":1,"97":55,"98":55,"99":275,"100":0,"101":0,"102":55,"103":55,"104":55,"105":1,"106":1,"107":55,"108":55,"109":275,"110":55,"111":55,"112":55,"113":55,"114":55,"115":1,"116":1,"117":55,"118":55,"119":275,"120":55,"121":55,"122":55,"123":55,"124":55,"125":1,"126":1,"127":55,"128":55,"129":275,"130":55,"131":55,"132":55,"133":55,"134":55,"135":1,"136":1,"137":55,"138":55,"139":275,"140":55,"141":55,"142":55,"143":55,"144":55,"145":1,"146":1,"147":55,"148":55,"149":275,"150":0,"151":0,"152":55,"153":55,"154":55,"155":1,"156":1,"157":9278,"158":0,"159":0,"160":9278,"161":9278,"162":9278,"163":1,"164":1,"165":0,"166":0,"167":1,"168":1,"169":1325,"170":0,"171":0,"172":1325,"173":1325,"174":1325,"175":1,"176":1,"177":55,"178":55,"179":1,"180":1,"181":3843,"182":0,"183":0,"184":3843,"185":3843,"186":3843,"187":1,"188":1,"189":55,"190":55,"191":1,"192":1,"193":458,"194":0,"195":0,"196":458,"197":458,"198":458,"199":1,"200":1,"201":55,"202":55,"203":1,"204":1,"205":1539,"206":0,"207":0,"208":1539,"209":1539,"210":1539,"211":1,"212":1,"213":55,"214":55,"215":1,"216":1,"217":1217,"218":0,"219":0,"220":1217,"221":1217,"222":1217,"223":1,"224":1,"225":55,"226":55,"227":1,"228":1,"229":1683,"230":0,"231":0,"232":1683,"233":1683,"234":1683,"235":1,"236":1,"237":55,"238":55,"239":1,"240":1,"241":445,"242":0,"243":0,"244":445,"245":445,"246":445,"247":1,"248":1,"249":0,"250":0,"251":1,"252":1,"253":52,"254":0,"255":0,"256":52,"257":52,"258":52,"259":1,"260":1,"261":55,"262":55,"263":1,"264":1,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":1,"272":1,"273":55,"274":55,"275":1,"276":1,"277":8952,"278":0,"279":0,"280":8952,"281":8952,"282":8952,"283":1,"284":1,"285":0,"286":0,"287":1,"288":1,"289":104,"290":104,"291":1,"292":1,"293":0,"294":0,"295":1,"296":1,"297":40,"298":0,"299":0,"300":40,"301":40,"302":40,"303":1,"304":1,"305":55,"306":55,"307":1,"308":1,"309":858,"310":858,"311":1,"312":1,"313":0,"314":0,"315":1,"316":1,"317":0,"318":0,"319":1,"320":1,"321":0,"322":0,"323":1,"324":1,"325":0,"326":0,"327":1,"328":1,"329":0,"330":0,"331":1},"branchMap":{"0":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":2},"end":{"line":91,"column":3}},"locations":[{"start":{"line":74,"column":2},"end":{"line":91,"column":3}}]},"1":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":2},"end":{"line":105,"column":3}},"locations":[{"start":{"line":97,"column":2},"end":{"line":105,"column":3}}]},"2":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":33},"end":{"line":99,"column":56}},"locations":[{"start":{"line":99,"column":33},"end":{"line":99,"column":56}}]},"3":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":62},"end":{"line":103,"column":7}},"locations":[{"start":{"line":99,"column":62},"end":{"line":103,"column":7}}]},"4":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":43},"end":{"line":102,"column":9}},"locations":[{"start":{"line":100,"column":43},"end":{"line":102,"column":9}}]},"5":{"type":"branch","line":107,"loc":{"start":{"line":107,"column":2},"end":{"line":115,"column":3}},"locations":[{"start":{"line":107,"column":2},"end":{"line":115,"column":3}}]},"6":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":33},"end":{"line":109,"column":56}},"locations":[{"start":{"line":109,"column":33},"end":{"line":109,"column":56}}]},"7":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":62},"end":{"line":111,"column":7}},"locations":[{"start":{"line":109,"column":62},"end":{"line":111,"column":7}}]},"8":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":2},"end":{"line":125,"column":3}},"locations":[{"start":{"line":117,"column":2},"end":{"line":125,"column":3}}]},"9":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":33},"end":{"line":119,"column":56}},"locations":[{"start":{"line":119,"column":33},"end":{"line":119,"column":56}}]},"10":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":62},"end":{"line":123,"column":7}},"locations":[{"start":{"line":119,"column":62},"end":{"line":123,"column":7}}]},"11":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":42},"end":{"line":122,"column":9}},"locations":[{"start":{"line":120,"column":42},"end":{"line":122,"column":9}}]},"12":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":135,"column":3}},"locations":[{"start":{"line":127,"column":2},"end":{"line":135,"column":3}}]},"13":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":33},"end":{"line":129,"column":56}},"locations":[{"start":{"line":129,"column":33},"end":{"line":129,"column":56}}]},"14":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":62},"end":{"line":133,"column":7}},"locations":[{"start":{"line":129,"column":62},"end":{"line":133,"column":7}}]},"15":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":42},"end":{"line":132,"column":9}},"locations":[{"start":{"line":130,"column":42},"end":{"line":132,"column":9}}]},"16":{"type":"branch","line":137,"loc":{"start":{"line":137,"column":2},"end":{"line":145,"column":3}},"locations":[{"start":{"line":137,"column":2},"end":{"line":145,"column":3}}]},"17":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":33},"end":{"line":139,"column":56}},"locations":[{"start":{"line":139,"column":33},"end":{"line":139,"column":56}}]},"18":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":62},"end":{"line":141,"column":7}},"locations":[{"start":{"line":139,"column":62},"end":{"line":141,"column":7}}]},"19":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":2},"end":{"line":155,"column":3}},"locations":[{"start":{"line":147,"column":2},"end":{"line":155,"column":3}}]},"20":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":33},"end":{"line":149,"column":56}},"locations":[{"start":{"line":149,"column":33},"end":{"line":149,"column":56}}]},"21":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":62},"end":{"line":153,"column":7}},"locations":[{"start":{"line":149,"column":62},"end":{"line":153,"column":7}}]},"22":{"type":"branch","line":150,"loc":{"start":{"line":150,"column":41},"end":{"line":152,"column":9}},"locations":[{"start":{"line":150,"column":41},"end":{"line":152,"column":9}}]},"23":{"type":"branch","line":157,"loc":{"start":{"line":157,"column":2},"end":{"line":163,"column":3}},"locations":[{"start":{"line":157,"column":2},"end":{"line":163,"column":3}}]},"24":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":30},"end":{"line":160,"column":5}},"locations":[{"start":{"line":158,"column":30},"end":{"line":160,"column":5}}]},"25":{"type":"branch","line":169,"loc":{"start":{"line":169,"column":2},"end":{"line":175,"column":3}},"locations":[{"start":{"line":169,"column":2},"end":{"line":175,"column":3}}]},"26":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":38},"end":{"line":172,"column":5}},"locations":[{"start":{"line":170,"column":38},"end":{"line":172,"column":5}}]},"27":{"type":"branch","line":177,"loc":{"start":{"line":177,"column":2},"end":{"line":179,"column":3}},"locations":[{"start":{"line":177,"column":2},"end":{"line":179,"column":3}}]},"28":{"type":"branch","line":181,"loc":{"start":{"line":181,"column":2},"end":{"line":187,"column":3}},"locations":[{"start":{"line":181,"column":2},"end":{"line":187,"column":3}}]},"29":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":33},"end":{"line":184,"column":5}},"locations":[{"start":{"line":182,"column":33},"end":{"line":184,"column":5}}]},"30":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":2},"end":{"line":191,"column":3}},"locations":[{"start":{"line":189,"column":2},"end":{"line":191,"column":3}}]},"31":{"type":"branch","line":193,"loc":{"start":{"line":193,"column":2},"end":{"line":199,"column":3}},"locations":[{"start":{"line":193,"column":2},"end":{"line":199,"column":3}}]},"32":{"type":"branch","line":194,"loc":{"start":{"line":194,"column":32},"end":{"line":196,"column":5}},"locations":[{"start":{"line":194,"column":32},"end":{"line":196,"column":5}}]},"33":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":2},"end":{"line":203,"column":3}},"locations":[{"start":{"line":201,"column":2},"end":{"line":203,"column":3}}]},"34":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":2},"end":{"line":211,"column":3}},"locations":[{"start":{"line":205,"column":2},"end":{"line":211,"column":3}}]},"35":{"type":"branch","line":206,"loc":{"start":{"line":206,"column":33},"end":{"line":208,"column":5}},"locations":[{"start":{"line":206,"column":33},"end":{"line":208,"column":5}}]},"36":{"type":"branch","line":213,"loc":{"start":{"line":213,"column":2},"end":{"line":215,"column":3}},"locations":[{"start":{"line":213,"column":2},"end":{"line":215,"column":3}}]},"37":{"type":"branch","line":217,"loc":{"start":{"line":217,"column":2},"end":{"line":223,"column":3}},"locations":[{"start":{"line":217,"column":2},"end":{"line":223,"column":3}}]},"38":{"type":"branch","line":218,"loc":{"start":{"line":218,"column":41},"end":{"line":220,"column":5}},"locations":[{"start":{"line":218,"column":41},"end":{"line":220,"column":5}}]},"39":{"type":"branch","line":225,"loc":{"start":{"line":225,"column":2},"end":{"line":227,"column":3}},"locations":[{"start":{"line":225,"column":2},"end":{"line":227,"column":3}}]},"40":{"type":"branch","line":229,"loc":{"start":{"line":229,"column":2},"end":{"line":235,"column":3}},"locations":[{"start":{"line":229,"column":2},"end":{"line":235,"column":3}}]},"41":{"type":"branch","line":230,"loc":{"start":{"line":230,"column":40},"end":{"line":232,"column":5}},"locations":[{"start":{"line":230,"column":40},"end":{"line":232,"column":5}}]},"42":{"type":"branch","line":237,"loc":{"start":{"line":237,"column":2},"end":{"line":239,"column":3}},"locations":[{"start":{"line":237,"column":2},"end":{"line":239,"column":3}}]},"43":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":2},"end":{"line":247,"column":3}},"locations":[{"start":{"line":241,"column":2},"end":{"line":247,"column":3}}]},"44":{"type":"branch","line":242,"loc":{"start":{"line":242,"column":39},"end":{"line":244,"column":5}},"locations":[{"start":{"line":242,"column":39},"end":{"line":244,"column":5}}]},"45":{"type":"branch","line":253,"loc":{"start":{"line":253,"column":2},"end":{"line":259,"column":3}},"locations":[{"start":{"line":253,"column":2},"end":{"line":259,"column":3}}]},"46":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":38},"end":{"line":256,"column":5}},"locations":[{"start":{"line":254,"column":38},"end":{"line":256,"column":5}}]},"47":{"type":"branch","line":261,"loc":{"start":{"line":261,"column":2},"end":{"line":263,"column":3}},"locations":[{"start":{"line":261,"column":2},"end":{"line":263,"column":3}}]},"48":{"type":"branch","line":273,"loc":{"start":{"line":273,"column":2},"end":{"line":275,"column":3}},"locations":[{"start":{"line":273,"column":2},"end":{"line":275,"column":3}}]},"49":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":2},"end":{"line":283,"column":3}},"locations":[{"start":{"line":277,"column":2},"end":{"line":283,"column":3}}]},"50":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":33},"end":{"line":280,"column":5}},"locations":[{"start":{"line":278,"column":33},"end":{"line":280,"column":5}}]},"51":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":2},"end":{"line":291,"column":3}},"locations":[{"start":{"line":289,"column":2},"end":{"line":291,"column":3}}]},"52":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":2},"end":{"line":303,"column":3}},"locations":[{"start":{"line":297,"column":2},"end":{"line":303,"column":3}}]},"53":{"type":"branch","line":298,"loc":{"start":{"line":298,"column":30},"end":{"line":300,"column":5}},"locations":[{"start":{"line":298,"column":30},"end":{"line":300,"column":5}}]},"54":{"type":"branch","line":305,"loc":{"start":{"line":305,"column":2},"end":{"line":307,"column":3}},"locations":[{"start":{"line":305,"column":2},"end":{"line":307,"column":3}}]},"55":{"type":"branch","line":309,"loc":{"start":{"line":309,"column":2},"end":{"line":311,"column":3}},"locations":[{"start":{"line":309,"column":2},"end":{"line":311,"column":3}}]}},"b":{"0":[55],"1":[55],"2":[935],"3":[275],"4":[0],"5":[55],"6":[935],"7":[275],"8":[55],"9":[935],"10":[275],"11":[55],"12":[55],"13":[935],"14":[275],"15":[55],"16":[55],"17":[935],"18":[275],"19":[55],"20":[935],"21":[275],"22":[0],"23":[9278],"24":[0],"25":[1325],"26":[0],"27":[55],"28":[3843],"29":[0],"30":[55],"31":[458],"32":[0],"33":[55],"34":[1539],"35":[0],"36":[55],"37":[1217],"38":[0],"39":[55],"40":[1683],"41":[0],"42":[55],"43":[445],"44":[0],"45":[52],"46":[0],"47":[55],"48":[55],"49":[8952],"50":[0],"51":[104],"52":[40],"53":[0],"54":[55],"55":[858]},"fnMap":{"0":{"name":"DefaultComponents","decl":{"start":{"line":74,"column":2},"end":{"line":91,"column":3}},"loc":{"start":{"line":74,"column":2},"end":{"line":91,"column":3}},"line":74},"1":{"name":"isStarted","decl":{"start":{"line":93,"column":2},"end":{"line":95,"column":3}},"loc":{"start":{"line":93,"column":2},"end":{"line":95,"column":3}},"line":93},"2":{"name":"beforeStart","decl":{"start":{"line":97,"column":2},"end":{"line":105,"column":3}},"loc":{"start":{"line":97,"column":2},"end":{"line":105,"column":3}},"line":97},"3":{"name":"start","decl":{"start":{"line":107,"column":2},"end":{"line":115,"column":3}},"loc":{"start":{"line":107,"column":2},"end":{"line":115,"column":3}},"line":107},"4":{"name":"afterStart","decl":{"start":{"line":117,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":117,"column":2},"end":{"line":125,"column":3}},"line":117},"5":{"name":"beforeStop","decl":{"start":{"line":127,"column":2},"end":{"line":135,"column":3}},"loc":{"start":{"line":127,"column":2},"end":{"line":135,"column":3}},"line":127},"6":{"name":"stop","decl":{"start":{"line":137,"column":2},"end":{"line":145,"column":3}},"loc":{"start":{"line":137,"column":2},"end":{"line":145,"column":3}},"line":137},"7":{"name":"afterStop","decl":{"start":{"line":147,"column":2},"end":{"line":155,"column":3}},"loc":{"start":{"line":147,"column":2},"end":{"line":155,"column":3}},"line":147},"8":{"name":"get peerId","decl":{"start":{"line":157,"column":2},"end":{"line":163,"column":3}},"loc":{"start":{"line":157,"column":2},"end":{"line":163,"column":3}},"line":157},"9":{"name":"set peerId","decl":{"start":{"line":165,"column":2},"end":{"line":167,"column":3}},"loc":{"start":{"line":165,"column":2},"end":{"line":167,"column":3}},"line":165},"10":{"name":"get addressManager","decl":{"start":{"line":169,"column":2},"end":{"line":175,"column":3}},"loc":{"start":{"line":169,"column":2},"end":{"line":175,"column":3}},"line":169},"11":{"name":"set addressManager","decl":{"start":{"line":177,"column":2},"end":{"line":179,"column":3}},"loc":{"start":{"line":177,"column":2},"end":{"line":179,"column":3}},"line":177},"12":{"name":"get peerStore","decl":{"start":{"line":181,"column":2},"end":{"line":187,"column":3}},"loc":{"start":{"line":181,"column":2},"end":{"line":187,"column":3}},"line":181},"13":{"name":"set peerStore","decl":{"start":{"line":189,"column":2},"end":{"line":191,"column":3}},"loc":{"start":{"line":189,"column":2},"end":{"line":191,"column":3}},"line":189},"14":{"name":"get upgrader","decl":{"start":{"line":193,"column":2},"end":{"line":199,"column":3}},"loc":{"start":{"line":193,"column":2},"end":{"line":199,"column":3}},"line":193},"15":{"name":"set upgrader","decl":{"start":{"line":201,"column":2},"end":{"line":203,"column":3}},"loc":{"start":{"line":201,"column":2},"end":{"line":203,"column":3}},"line":201},"16":{"name":"get registrar","decl":{"start":{"line":205,"column":2},"end":{"line":211,"column":3}},"loc":{"start":{"line":205,"column":2},"end":{"line":211,"column":3}},"line":205},"17":{"name":"set registrar","decl":{"start":{"line":213,"column":2},"end":{"line":215,"column":3}},"loc":{"start":{"line":213,"column":2},"end":{"line":215,"column":3}},"line":213},"18":{"name":"get connectionManager","decl":{"start":{"line":217,"column":2},"end":{"line":223,"column":3}},"loc":{"start":{"line":217,"column":2},"end":{"line":223,"column":3}},"line":217},"19":{"name":"set connectionManager","decl":{"start":{"line":225,"column":2},"end":{"line":227,"column":3}},"loc":{"start":{"line":225,"column":2},"end":{"line":227,"column":3}},"line":225},"20":{"name":"get transportManager","decl":{"start":{"line":229,"column":2},"end":{"line":235,"column":3}},"loc":{"start":{"line":229,"column":2},"end":{"line":235,"column":3}},"line":229},"21":{"name":"set transportManager","decl":{"start":{"line":237,"column":2},"end":{"line":239,"column":3}},"loc":{"start":{"line":237,"column":2},"end":{"line":239,"column":3}},"line":237},"22":{"name":"get connectionGater","decl":{"start":{"line":241,"column":2},"end":{"line":247,"column":3}},"loc":{"start":{"line":241,"column":2},"end":{"line":247,"column":3}},"line":241},"23":{"name":"set connectionGater","decl":{"start":{"line":249,"column":2},"end":{"line":251,"column":3}},"loc":{"start":{"line":249,"column":2},"end":{"line":251,"column":3}},"line":249},"24":{"name":"get contentRouting","decl":{"start":{"line":253,"column":2},"end":{"line":259,"column":3}},"loc":{"start":{"line":253,"column":2},"end":{"line":259,"column":3}},"line":253},"25":{"name":"set contentRouting","decl":{"start":{"line":261,"column":2},"end":{"line":263,"column":3}},"loc":{"start":{"line":261,"column":2},"end":{"line":263,"column":3}},"line":261},"26":{"name":"get peerRouting","decl":{"start":{"line":265,"column":2},"end":{"line":271,"column":3}},"loc":{"start":{"line":265,"column":2},"end":{"line":271,"column":3}},"line":265},"27":{"name":"set peerRouting","decl":{"start":{"line":273,"column":2},"end":{"line":275,"column":3}},"loc":{"start":{"line":273,"column":2},"end":{"line":275,"column":3}},"line":273},"28":{"name":"get datastore","decl":{"start":{"line":277,"column":2},"end":{"line":283,"column":3}},"loc":{"start":{"line":277,"column":2},"end":{"line":283,"column":3}},"line":277},"29":{"name":"set datastore","decl":{"start":{"line":285,"column":2},"end":{"line":287,"column":3}},"loc":{"start":{"line":285,"column":2},"end":{"line":287,"column":3}},"line":285},"30":{"name":"get connectionProtector","decl":{"start":{"line":289,"column":2},"end":{"line":291,"column":3}},"loc":{"start":{"line":289,"column":2},"end":{"line":291,"column":3}},"line":289},"31":{"name":"set connectionProtector","decl":{"start":{"line":293,"column":2},"end":{"line":295,"column":3}},"loc":{"start":{"line":293,"column":2},"end":{"line":295,"column":3}},"line":293},"32":{"name":"get dialer","decl":{"start":{"line":297,"column":2},"end":{"line":303,"column":3}},"loc":{"start":{"line":297,"column":2},"end":{"line":303,"column":3}},"line":297},"33":{"name":"set dialer","decl":{"start":{"line":305,"column":2},"end":{"line":307,"column":3}},"loc":{"start":{"line":305,"column":2},"end":{"line":307,"column":3}},"line":305},"34":{"name":"get metrics","decl":{"start":{"line":309,"column":2},"end":{"line":311,"column":3}},"loc":{"start":{"line":309,"column":2},"end":{"line":311,"column":3}},"line":309},"35":{"name":"set metrics","decl":{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},"loc":{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},"line":313},"36":{"name":"get dht","decl":{"start":{"line":317,"column":2},"end":{"line":319,"column":3}},"loc":{"start":{"line":317,"column":2},"end":{"line":319,"column":3}},"line":317},"37":{"name":"set dht","decl":{"start":{"line":321,"column":2},"end":{"line":323,"column":3}},"loc":{"start":{"line":321,"column":2},"end":{"line":323,"column":3}},"line":321},"38":{"name":"get pubsub","decl":{"start":{"line":325,"column":2},"end":{"line":327,"column":3}},"loc":{"start":{"line":325,"column":2},"end":{"line":327,"column":3}},"line":325},"39":{"name":"set pubsub","decl":{"start":{"line":329,"column":2},"end":{"line":331,"column":3}},"loc":{"start":{"line":329,"column":2},"end":{"line":331,"column":3}},"line":329}},"f":{"0":55,"1":0,"2":55,"3":55,"4":55,"5":55,"6":55,"7":55,"8":9278,"9":0,"10":1325,"11":55,"12":3843,"13":55,"14":458,"15":55,"16":1539,"17":55,"18":1217,"19":55,"20":1683,"21":55,"22":445,"23":0,"24":52,"25":55,"26":0,"27":55,"28":8952,"29":0,"30":104,"31":0,"32":40,"33":55,"34":858,"35":0,"36":0,"37":0,"38":0,"39":0}} -,"/home/ckousik/projects/js-libp2p/src/config.ts": {"path":"/home/ckousik/projects/js-libp2p/src/config.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":40}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":67}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":65}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":60}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":56}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":44}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":45}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":58}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":110}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":44}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":14}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":15}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":17}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":19}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":59}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":24}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":23}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":19}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":51}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":50}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":40}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":61}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":16}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":6}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":4}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":21}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":44}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":4}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":21}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":20}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":20}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":21}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":4}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":8}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":18}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":14}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":19}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":4}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":10}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":18}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":16}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":53}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":21}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":39}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":6}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":10}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":21}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":20}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":20}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":6}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":16}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":21}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":4}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":13}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":27}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":11}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":33}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":6}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":120}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":19}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":25}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":26}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":30}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":29}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":4}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":9}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":27}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":25}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":26}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":18}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":4}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":10}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":29}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":25}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":26}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":18}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":1}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":81}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":72}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":86}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":93}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":3}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":108}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":95}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":140}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":91}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":3}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":84}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":70}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":35}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":95}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":81}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":99}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":25}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":55,"96":55,"97":55,"98":0,"99":0,"100":55,"101":55,"102":0,"103":0,"104":55,"105":55,"106":0,"107":0,"108":55,"109":55,"110":55,"111":55,"112":55,"113":55,"114":0,"115":0,"116":55,"117":55,"118":55,"119":55},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":20},"end":{"line":20,"column":59}},"locations":[{"start":{"line":20,"column":20},"end":{"line":20,"column":59}}]},"1":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":6},"end":{"line":120,"column":1}},"locations":[{"start":{"line":95,"column":6},"end":{"line":120,"column":1}}]},"2":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":85},"end":{"line":100,"column":3}},"locations":[{"start":{"line":98,"column":85},"end":{"line":100,"column":3}}]},"3":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":107},"end":{"line":104,"column":3}},"locations":[{"start":{"line":102,"column":107},"end":{"line":104,"column":3}}]},"4":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":51},"end":{"line":106,"column":105}},"locations":[{"start":{"line":106,"column":51},"end":{"line":106,"column":105}}]},"5":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":107},"end":{"line":108,"column":3}},"locations":[{"start":{"line":106,"column":107},"end":{"line":108,"column":3}}]},"6":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":14},"end":{"line":112,"column":32}},"locations":[{"start":{"line":112,"column":14},"end":{"line":112,"column":32}}]},"7":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":5},"end":{"line":116,"column":5}},"locations":[{"start":{"line":114,"column":5},"end":{"line":116,"column":5}}]}},"b":{"0":[1104],"1":[55],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[0]},"fnMap":{"0":{"name":"announceFilter","decl":{"start":{"line":20,"column":20},"end":{"line":20,"column":59}},"loc":{"start":{"line":20,"column":20},"end":{"line":20,"column":59}},"line":20},"1":{"name":"validateConfig","decl":{"start":{"line":95,"column":6},"end":{"line":120,"column":1}},"loc":{"start":{"line":95,"column":6},"end":{"line":120,"column":1}},"line":95}},"f":{"0":1104,"1":55}} -,"/home/ckousik/projects/js-libp2p/src/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":3}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":3}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":32}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":3}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":66}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":43}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":3}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":35}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":3}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":37}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":3}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":41}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":35}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":3}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":57}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":35}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":24}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":36}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":31}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":27}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":26}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":31}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":32}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":4}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/errors.ts": {"path":"/home/ckousik/projects/js-libp2p/src/errors.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":22}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":57}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":85}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":72}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":88}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":25}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":1}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":19}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":46}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":48}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":42}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":60}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":54}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":58}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":72}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":48}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":50}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":48}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":46}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":52}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":40}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":38}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":46}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":54}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":50}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":52}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":38}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":46}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":52}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":40}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":50}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":30}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":58}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":58}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":56}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":86}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":50}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":54}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":34}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":56}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":68}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":44}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":50}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":38}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":40}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":28}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":48}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":48}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":52}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":48}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":42}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":56}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":56}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":50}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":40}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":46}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":54}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":52}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":58}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":58}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":54}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":46}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":44}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":44}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":50}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":62}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":84}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":82}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":49}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":9,"column":1}},"locations":[{"start":{"line":1,"column":0},"end":{"line":9,"column":1}}]},"1":{"type":"branch","line":11,"loc":{"start":{"line":11,"column":0},"end":{"line":78,"column":1}},"locations":[{"start":{"line":11,"column":0},"end":{"line":78,"column":1}}]}},"b":{"0":[1],"1":[1]},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/get-peer.ts": {"path":"/home/ckousik/projects/js-libp2p/src/get-peer.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":50}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":56}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":53}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":35}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":59}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":46}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":22}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":18}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":68}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":33}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":3}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":7}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":22}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":18}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":61}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":33}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":3}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":52}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":62}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":23}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":12}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":15}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":21}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":19}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":10}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":26}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":15}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":36}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":10}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":13}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":43}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":17}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":9,"10":9,"11":9,"12":9,"13":0,"14":0,"15":0,"16":0,"17":0,"18":9,"19":9,"20":9,"21":9,"22":0,"23":0,"24":0,"25":0,"26":0,"27":9,"28":1,"29":1,"30":1,"31":1,"32":1,"33":71,"34":62,"35":62,"36":62,"37":62,"38":62,"39":62,"40":9,"41":9,"42":9,"43":9,"44":9,"45":9,"46":9,"47":9,"48":9,"49":9,"50":71,"51":71,"52":71,"53":71},"branchMap":{"0":{"type":"branch","line":10,"loc":{"start":{"line":10,"column":0},"end":{"line":28,"column":1}},"locations":[{"start":{"line":10,"column":0},"end":{"line":28,"column":1}}]},"1":{"type":"branch","line":13,"loc":{"start":{"line":13,"column":21},"end":{"line":18,"column":3}},"locations":[{"start":{"line":13,"column":21},"end":{"line":18,"column":3}}]},"2":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":4},"end":{"line":27,"column":3}},"locations":[{"start":{"line":22,"column":4},"end":{"line":27,"column":3}}]},"3":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":6},"end":{"line":54,"column":1}},"locations":[{"start":{"line":33,"column":6},"end":{"line":54,"column":1}}]},"4":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":22},"end":{"line":40,"column":3}},"locations":[{"start":{"line":34,"column":22},"end":{"line":40,"column":3}}]},"5":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":-1},"end":{"line":51,"column":37}},"locations":[{"start":{"line":41,"column":-1},"end":{"line":51,"column":37}}]},"6":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":38},"end":{"line":51,"column":42}},"locations":[{"start":{"line":51,"column":38},"end":{"line":51,"column":42}}]}},"b":{"0":[9],"1":[0],"2":[0],"3":[71],"4":[62],"5":[9],"6":[0]},"fnMap":{"0":{"name":"peerIdFromMultiaddr","decl":{"start":{"line":10,"column":0},"end":{"line":28,"column":1}},"loc":{"start":{"line":10,"column":0},"end":{"line":28,"column":1}},"line":10},"1":{"name":"getPeer","decl":{"start":{"line":33,"column":6},"end":{"line":54,"column":1}},"loc":{"start":{"line":33,"column":6},"end":{"line":54,"column":1}},"line":33}},"f":{"0":9,"1":71}} -,"/home/ckousik/projects/js-libp2p/src/libp2p.ts": {"path":"/home/ckousik/projects/js-libp2p/src/libp2p.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":52}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":54}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":69}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":56}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":54}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":67}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":35}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":66}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":72}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":48}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":46}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":64}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":47}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":49}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":53}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":47}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":45}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":45}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":60}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":58}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":56}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":64}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":51}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":49}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":55}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":62}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":65}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":71}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":54}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":97}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":77}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":59}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":81}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":44}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":61}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":61}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":52}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":63}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":76}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":30}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":56}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":56}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":45}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":54}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":50}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":68}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":28}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":78}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":23}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":21}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":23}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":41}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":40}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":35}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":33}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":31}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":29}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":39}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":33}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":27}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":45}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":29}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":26}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":26}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":40}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":34}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":11}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":24}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":29}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":64}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":26}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":57}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":24}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":63}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":68}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":72}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":73}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":81}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":82}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":80}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":81}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":72}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":7}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":6}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":64}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":76}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":23}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":6}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":21}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":16}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":21}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":31}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":101}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":5}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":46}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":52}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":38}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":91}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":6}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":48}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":43}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":80}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":5}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":26}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":69}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":118}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":96}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":73}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":6}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":24}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":87}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":36}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":134}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":40}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":86}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":98}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":6}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":83}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":95}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":6}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":27}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":86}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":34}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":106}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":47}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":95}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":51}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":67}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":0}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":62}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":47}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":60}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":63}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":7}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":0}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":22}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":51}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":75}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":22}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":22}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":7}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":29}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":65}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":37}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":88}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":6}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":31}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":65}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":22}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":6}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":49}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":0}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":48}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":65}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":60}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":31}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":8}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":45}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":5}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":65}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":27}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":64}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":12}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":31}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":32}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":30}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":73}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":12}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":37}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":5}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":0}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":28}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":85}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":119}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":0}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":27}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":27}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":77}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":0}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":35}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":50}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":33}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":8}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":0}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":118}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":26}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":26}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":7}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":128}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":0}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":27}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":27}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":83}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":5}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":128}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":29}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":7}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":0}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":29}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":109}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":0}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":58}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":21}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":9}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":5}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":0}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":83}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":19}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":7}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":81}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":18}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":7}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":0}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":24}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":48}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":66}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":0}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":49}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":33}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":8}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":5}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":3}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":52}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":33}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":35}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":5}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":0}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":20}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":3}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":5}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":50}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":5}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":18}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":23}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":12}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":5}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":23}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":0}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":29}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":0}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":9}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":24}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":44}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":44}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":39}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":11}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":10}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":7}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":29}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":24}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":53}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":7}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":0}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":24}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":44}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":43}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":38}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":11}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":10}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":7}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":0}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":31}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":24}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":57}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":23}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":15}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":5}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":3}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":0}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":5}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":71}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":17}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":24}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":12}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":5}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":0}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":29}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":0}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":24}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":0}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":22}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":42}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":41}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":36}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":9}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":8}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":5}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":22}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":50}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":5}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":22}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":42}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":40}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":35}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":9}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":8}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":5}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":29}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":3}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":0}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":16}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":23}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":3}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":0}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":50}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":67}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":3}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":0}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":25}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":33}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":0}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":76}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":34}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":5}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":0}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":30}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":3}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":0}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":90}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":44}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":0}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":67}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":0}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":78}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":3}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":0}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":107}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":28}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":117}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":5}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":0}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":66}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":33}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":117}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":5}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":53}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":0}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":57}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":3}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":0}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":33}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":56}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":3}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":0}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":29}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":51}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":3}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":0}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":58}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":32}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":0}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":64}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":3}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":5}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":45}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":5}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":86}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":32}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":0}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":33}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":27}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":5}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":0}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":51}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":0}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":34}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":28}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":5}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":0}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":27}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":129}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":5}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":0}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":38}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":35}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":27}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":6}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":0}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":21}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":63}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":35}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":51}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":0}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":59}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":24}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":7}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":5}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":0}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":117}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":3}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":0}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":111}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":44}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":0}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":29}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":69}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":5}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":0}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":58}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":3}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":0}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":86}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":44}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":0}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":32}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":69}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":5}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":0}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":51}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":3}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":0}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":118}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":36}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":29}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":5}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":0}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":22}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":39}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":74}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":8}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":5}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":3}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":0}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":64}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":36}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":29}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":5}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":0}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":22}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":39}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":58}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":8}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":5}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":3}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":0}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":5}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":64}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":32}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":5}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":48}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":32}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":0}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":56}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":53}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":12}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":5}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":0}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":37}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":107}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":5}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":0}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":36}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":104}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":5}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":0}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":85}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":3}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":1}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":3}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":82}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":60}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":3}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":86}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":31}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":48}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":3}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":0}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":48}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":55,"77":55,"78":55,"79":55,"80":55,"81":55,"82":55,"83":55,"84":55,"85":55,"86":55,"87":55,"88":55,"89":55,"90":55,"91":55,"92":55,"93":55,"94":55,"95":55,"96":55,"97":55,"98":55,"99":55,"100":55,"101":55,"102":55,"103":55,"104":55,"105":55,"106":55,"107":0,"108":0,"109":55,"110":55,"111":55,"112":55,"113":73,"114":73,"115":73,"116":55,"117":55,"118":55,"119":55,"120":0,"121":0,"122":55,"123":55,"124":55,"125":55,"126":55,"127":55,"128":55,"129":55,"130":55,"131":55,"132":55,"133":55,"134":55,"135":55,"136":55,"137":55,"138":16,"139":55,"140":55,"141":84,"142":55,"143":55,"144":55,"145":55,"146":55,"147":55,"148":55,"149":55,"150":55,"151":55,"152":55,"153":55,"154":55,"155":55,"156":55,"157":55,"158":55,"159":55,"160":55,"161":55,"162":55,"163":55,"164":55,"165":55,"166":55,"167":55,"168":55,"169":55,"170":55,"171":55,"172":55,"173":55,"174":55,"175":55,"176":55,"177":55,"178":55,"179":55,"180":55,"181":55,"182":55,"183":42,"184":42,"185":42,"186":42,"187":42,"188":42,"189":55,"190":55,"191":55,"192":0,"193":55,"194":55,"195":55,"196":55,"197":55,"198":55,"199":0,"200":55,"201":55,"202":55,"203":55,"204":55,"205":55,"206":55,"207":55,"208":55,"209":55,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":55,"219":55,"220":55,"221":55,"222":55,"223":55,"224":55,"225":55,"226":55,"227":0,"228":0,"229":0,"230":55,"231":55,"232":55,"233":55,"234":55,"235":55,"236":55,"237":55,"238":55,"239":55,"240":55,"241":55,"242":55,"243":55,"244":55,"245":55,"246":55,"247":55,"248":55,"249":55,"250":55,"251":55,"252":55,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":55,"260":1,"261":1,"262":718,"263":553,"264":553,"265":718,"266":718,"267":718,"268":1,"269":1,"270":1,"271":1,"272":1,"273":109,"274":54,"275":54,"276":55,"277":55,"278":55,"279":55,"280":55,"281":55,"282":55,"283":55,"284":705,"285":58,"286":58,"287":55,"288":55,"289":55,"290":55,"291":55,"292":55,"293":55,"294":55,"295":55,"296":55,"297":705,"298":113,"299":113,"300":55,"301":55,"302":55,"303":55,"304":109,"305":0,"306":0,"307":0,"308":0,"309":109,"310":1,"311":1,"312":1,"313":1,"314":1,"315":56,"316":1,"317":1,"318":55,"319":55,"320":55,"321":55,"322":55,"323":55,"324":55,"325":705,"326":58,"327":58,"328":55,"329":55,"330":55,"331":55,"332":55,"333":55,"334":55,"335":55,"336":55,"337":705,"338":58,"339":58,"340":55,"341":55,"342":55,"343":55,"344":55,"345":1,"346":1,"347":0,"348":0,"349":1,"350":1,"351":3,"352":3,"353":1,"354":1,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":1,"364":1,"365":25,"366":25,"367":25,"368":25,"369":25,"370":25,"371":1,"372":1,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":1,"388":1,"389":386,"390":386,"391":1,"392":1,"393":0,"394":0,"395":1,"396":1,"397":6,"398":6,"399":6,"400":6,"401":1,"402":1,"403":1,"404":1,"405":1,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":1,"441":1,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":1,"451":1,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":1,"461":1,"462":6,"463":6,"464":6,"465":6,"466":6,"467":6,"468":6,"469":6,"470":6,"471":6,"472":1,"473":1,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":1,"485":1,"486":1,"487":1,"488":1,"489":1,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":1,"508":1,"509":1,"510":1,"511":1,"512":1,"513":1,"514":55,"515":0,"516":0,"517":55,"518":55,"519":55},"branchMap":{"0":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":260,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":260,"column":3}}]},"1":{"type":"branch","line":107,"loc":{"start":{"line":107,"column":30},"end":{"line":109,"column":5}},"locations":[{"start":{"line":107,"column":30},"end":{"line":109,"column":5}}]},"2":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":42},"end":{"line":122,"column":5}},"locations":[{"start":{"line":120,"column":42},"end":{"line":122,"column":5}}]},"3":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":54},"end":{"line":126,"column":60}},"locations":[{"start":{"line":126,"column":54},"end":{"line":126,"column":60}}]},"4":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":32},"end":{"line":127,"column":38}},"locations":[{"start":{"line":127,"column":32},"end":{"line":127,"column":38}}]},"5":{"type":"branch","line":183,"loc":{"start":{"line":183,"column":47},"end":{"line":189,"column":5}},"locations":[{"start":{"line":183,"column":47},"end":{"line":189,"column":5}}]},"6":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":26},"end":{"line":194,"column":11}},"locations":[{"start":{"line":192,"column":26},"end":{"line":194,"column":11}}]},"7":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":29},"end":{"line":201,"column":11}},"locations":[{"start":{"line":199,"column":29},"end":{"line":201,"column":11}}]},"8":{"type":"branch","line":210,"loc":{"start":{"line":210,"column":26},"end":{"line":218,"column":5}},"locations":[{"start":{"line":210,"column":26},"end":{"line":218,"column":5}}]},"9":{"type":"branch","line":225,"loc":{"start":{"line":225,"column":65},"end":{"line":225,"column":71}},"locations":[{"start":{"line":225,"column":65},"end":{"line":225,"column":71}}]},"10":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":26},"end":{"line":230,"column":5}},"locations":[{"start":{"line":227,"column":26},"end":{"line":230,"column":5}}]},"11":{"type":"branch","line":253,"loc":{"start":{"line":253,"column":47},"end":{"line":259,"column":5}},"locations":[{"start":{"line":253,"column":47},"end":{"line":259,"column":5}}]},"12":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":22},"end":{"line":85,"column":62}},"locations":[{"start":{"line":85,"column":22},"end":{"line":85,"column":62}}]},"13":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":27},"end":{"line":86,"column":67}},"locations":[{"start":{"line":86,"column":27},"end":{"line":86,"column":67}}]},"14":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":31},"end":{"line":87,"column":71}},"locations":[{"start":{"line":87,"column":31},"end":{"line":87,"column":71}}]},"15":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":32},"end":{"line":88,"column":72}},"locations":[{"start":{"line":88,"column":32},"end":{"line":88,"column":72}}]},"16":{"type":"branch","line":89,"loc":{"start":{"line":89,"column":40},"end":{"line":89,"column":80}},"locations":[{"start":{"line":89,"column":40},"end":{"line":89,"column":80}}]},"17":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":41},"end":{"line":90,"column":81}},"locations":[{"start":{"line":90,"column":41},"end":{"line":90,"column":81}}]},"18":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":39},"end":{"line":91,"column":79}},"locations":[{"start":{"line":91,"column":39},"end":{"line":91,"column":79}}]},"19":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":40},"end":{"line":92,"column":80}},"locations":[{"start":{"line":92,"column":40},"end":{"line":92,"column":80}}]},"20":{"type":"branch","line":93,"loc":{"start":{"line":93,"column":32},"end":{"line":93,"column":71}},"locations":[{"start":{"line":93,"column":32},"end":{"line":93,"column":71}}]},"21":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":44},"end":{"line":117,"column":5}},"locations":[{"start":{"line":113,"column":44},"end":{"line":117,"column":5}}]},"22":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":66},"end":{"line":126,"column":116}},"locations":[{"start":{"line":126,"column":66},"end":{"line":126,"column":116}}]},"23":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":44},"end":{"line":127,"column":94}},"locations":[{"start":{"line":127,"column":44},"end":{"line":127,"column":94}}]},"24":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":74},"end":{"line":140,"column":5}},"locations":[{"start":{"line":138,"column":74},"end":{"line":140,"column":5}}]},"25":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":71},"end":{"line":143,"column":5}},"locations":[{"start":{"line":141,"column":71},"end":{"line":143,"column":5}}]},"26":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":28},"end":{"line":175,"column":5}},"locations":[{"start":{"line":173,"column":28},"end":{"line":175,"column":5}}]},"27":{"type":"branch","line":225,"loc":{"start":{"line":225,"column":77},"end":{"line":225,"column":127}},"locations":[{"start":{"line":225,"column":77},"end":{"line":225,"column":127}}]},"28":{"type":"branch","line":262,"loc":{"start":{"line":262,"column":10},"end":{"line":268,"column":3}},"locations":[{"start":{"line":262,"column":10},"end":{"line":268,"column":3}}]},"29":{"type":"branch","line":263,"loc":{"start":{"line":263,"column":32},"end":{"line":265,"column":5}},"locations":[{"start":{"line":263,"column":32},"end":{"line":265,"column":5}}]},"30":{"type":"branch","line":273,"loc":{"start":{"line":273,"column":2},"end":{"line":310,"column":3}},"locations":[{"start":{"line":273,"column":2},"end":{"line":310,"column":3}}]},"31":{"type":"branch","line":274,"loc":{"start":{"line":274,"column":22},"end":{"line":276,"column":5}},"locations":[{"start":{"line":274,"column":22},"end":{"line":276,"column":5}}]},"32":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":-1},"end":{"line":305,"column":13}},"locations":[{"start":{"line":277,"column":-1},"end":{"line":305,"column":13}}]},"33":{"type":"branch","line":305,"loc":{"start":{"line":305,"column":6},"end":{"line":309,"column":5}},"locations":[{"start":{"line":305,"column":6},"end":{"line":309,"column":5}}]},"34":{"type":"branch","line":284,"loc":{"start":{"line":284,"column":26},"end":{"line":288,"column":9}},"locations":[{"start":{"line":284,"column":26},"end":{"line":288,"column":9}}]},"35":{"type":"branch","line":285,"loc":{"start":{"line":285,"column":43},"end":{"line":287,"column":11}},"locations":[{"start":{"line":285,"column":43},"end":{"line":287,"column":11}}]},"36":{"type":"branch","line":293,"loc":{"start":{"line":293,"column":26},"end":{"line":293,"column":52}},"locations":[{"start":{"line":293,"column":26},"end":{"line":293,"column":52}}]},"37":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":26},"end":{"line":301,"column":9}},"locations":[{"start":{"line":297,"column":26},"end":{"line":301,"column":9}}]},"38":{"type":"branch","line":298,"loc":{"start":{"line":298,"column":42},"end":{"line":300,"column":11}},"locations":[{"start":{"line":298,"column":42},"end":{"line":300,"column":11}}]},"39":{"type":"branch","line":315,"loc":{"start":{"line":315,"column":2},"end":{"line":345,"column":3}},"locations":[{"start":{"line":315,"column":2},"end":{"line":345,"column":3}}]},"40":{"type":"branch","line":316,"loc":{"start":{"line":316,"column":23},"end":{"line":318,"column":5}},"locations":[{"start":{"line":316,"column":23},"end":{"line":318,"column":5}}]},"41":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":-1},"end":{"line":345,"column":3}},"locations":[{"start":{"line":319,"column":-1},"end":{"line":345,"column":3}}]},"42":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":24},"end":{"line":329,"column":7}},"locations":[{"start":{"line":325,"column":24},"end":{"line":329,"column":7}}]},"43":{"type":"branch","line":326,"loc":{"start":{"line":326,"column":40},"end":{"line":328,"column":9}},"locations":[{"start":{"line":326,"column":40},"end":{"line":328,"column":9}}]},"44":{"type":"branch","line":333,"loc":{"start":{"line":333,"column":24},"end":{"line":333,"column":49}},"locations":[{"start":{"line":333,"column":24},"end":{"line":333,"column":49}}]},"45":{"type":"branch","line":337,"loc":{"start":{"line":337,"column":24},"end":{"line":341,"column":7}},"locations":[{"start":{"line":337,"column":24},"end":{"line":341,"column":7}}]},"46":{"type":"branch","line":338,"loc":{"start":{"line":338,"column":39},"end":{"line":340,"column":9}},"locations":[{"start":{"line":338,"column":39},"end":{"line":340,"column":9}}]},"47":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":2},"end":{"line":353,"column":3}},"locations":[{"start":{"line":351,"column":2},"end":{"line":353,"column":3}}]},"48":{"type":"branch","line":365,"loc":{"start":{"line":365,"column":2},"end":{"line":371,"column":3}},"locations":[{"start":{"line":365,"column":2},"end":{"line":371,"column":3}}]},"49":{"type":"branch","line":389,"loc":{"start":{"line":389,"column":2},"end":{"line":391,"column":3}},"locations":[{"start":{"line":389,"column":2},"end":{"line":391,"column":3}}]},"50":{"type":"branch","line":397,"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"locations":[{"start":{"line":397,"column":2},"end":{"line":401,"column":3}}]},"51":{"type":"branch","line":462,"loc":{"start":{"line":462,"column":2},"end":{"line":472,"column":3}},"locations":[{"start":{"line":462,"column":2},"end":{"line":472,"column":3}}]},"52":{"type":"branch","line":468,"loc":{"start":{"line":468,"column":20},"end":{"line":470,"column":7}},"locations":[{"start":{"line":468,"column":20},"end":{"line":470,"column":7}}]},"53":{"type":"branch","line":514,"loc":{"start":{"line":514,"column":7},"end":{"line":520,"column":1}},"locations":[{"start":{"line":514,"column":7},"end":{"line":520,"column":1}}]},"54":{"type":"branch","line":515,"loc":{"start":{"line":515,"column":30},"end":{"line":517,"column":3}},"locations":[{"start":{"line":515,"column":30},"end":{"line":517,"column":3}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[0],"5":[42],"6":[0],"7":[0],"8":[0],"9":[52],"10":[0],"11":[0],"12":[39],"13":[61],"14":[52],"15":[52],"16":[51],"17":[51],"18":[51],"19":[33],"20":[843],"21":[73],"22":[55],"23":[55],"24":[16],"25":[84],"26":[55],"27":[3],"28":[718],"29":[553],"30":[109],"31":[54],"32":[55],"33":[0],"34":[705],"35":[58],"36":[705],"37":[705],"38":[113],"39":[56],"40":[1],"41":[55],"42":[705],"43":[58],"44":[705],"45":[705],"46":[58],"47":[3],"48":[25],"49":[386],"50":[6],"51":[6],"52":[6],"53":[55],"54":[0]},"fnMap":{"0":{"name":"Libp2pNode","decl":{"start":{"line":76,"column":2},"end":{"line":260,"column":3}},"loc":{"start":{"line":76,"column":2},"end":{"line":260,"column":3}},"line":76},"1":{"name":"denyDialPeer","decl":{"start":{"line":85,"column":22},"end":{"line":85,"column":62}},"loc":{"start":{"line":85,"column":22},"end":{"line":85,"column":62}},"line":85},"2":{"name":"denyDialMultiaddr","decl":{"start":{"line":86,"column":27},"end":{"line":86,"column":67}},"loc":{"start":{"line":86,"column":27},"end":{"line":86,"column":67}},"line":86},"3":{"name":"denyInboundConnection","decl":{"start":{"line":87,"column":31},"end":{"line":87,"column":71}},"loc":{"start":{"line":87,"column":31},"end":{"line":87,"column":71}},"line":87},"4":{"name":"denyOutboundConnection","decl":{"start":{"line":88,"column":32},"end":{"line":88,"column":72}},"loc":{"start":{"line":88,"column":32},"end":{"line":88,"column":72}},"line":88},"5":{"name":"denyInboundEncryptedConnection","decl":{"start":{"line":89,"column":40},"end":{"line":89,"column":80}},"loc":{"start":{"line":89,"column":40},"end":{"line":89,"column":80}},"line":89},"6":{"name":"denyOutboundEncryptedConnection","decl":{"start":{"line":90,"column":41},"end":{"line":90,"column":81}},"loc":{"start":{"line":90,"column":41},"end":{"line":90,"column":81}},"line":90},"7":{"name":"denyInboundUpgradedConnection","decl":{"start":{"line":91,"column":39},"end":{"line":91,"column":79}},"loc":{"start":{"line":91,"column":39},"end":{"line":91,"column":79}},"line":91},"8":{"name":"denyOutboundUpgradedConnection","decl":{"start":{"line":92,"column":40},"end":{"line":92,"column":80}},"loc":{"start":{"line":92,"column":40},"end":{"line":92,"column":80}},"line":92},"9":{"name":"filterMultiaddrForPeer","decl":{"start":{"line":93,"column":32},"end":{"line":93,"column":71}},"loc":{"start":{"line":93,"column":32},"end":{"line":93,"column":71}},"line":93},"10":{"name":"configureComponent","decl":{"start":{"line":262,"column":10},"end":{"line":268,"column":3}},"loc":{"start":{"line":262,"column":10},"end":{"line":268,"column":3}},"line":262},"11":{"name":"start","decl":{"start":{"line":273,"column":2},"end":{"line":310,"column":3}},"loc":{"start":{"line":273,"column":2},"end":{"line":310,"column":3}},"line":273},"12":{"name":"stop","decl":{"start":{"line":315,"column":2},"end":{"line":345,"column":3}},"loc":{"start":{"line":315,"column":2},"end":{"line":345,"column":3}},"line":315},"13":{"name":"isStarted","decl":{"start":{"line":347,"column":2},"end":{"line":349,"column":3}},"loc":{"start":{"line":347,"column":2},"end":{"line":349,"column":3}},"line":347},"14":{"name":"getConnections","decl":{"start":{"line":351,"column":2},"end":{"line":353,"column":3}},"loc":{"start":{"line":351,"column":2},"end":{"line":353,"column":3}},"line":351},"15":{"name":"getPeers","decl":{"start":{"line":355,"column":2},"end":{"line":363,"column":3}},"loc":{"start":{"line":355,"column":2},"end":{"line":363,"column":3}},"line":355},"16":{"name":"dial","decl":{"start":{"line":365,"column":2},"end":{"line":371,"column":3}},"loc":{"start":{"line":365,"column":2},"end":{"line":371,"column":3}},"line":365},"17":{"name":"dialProtocol","decl":{"start":{"line":373,"column":2},"end":{"line":387,"column":3}},"loc":{"start":{"line":373,"column":2},"end":{"line":387,"column":3}},"line":373},"18":{"name":"getMultiaddrs","decl":{"start":{"line":389,"column":2},"end":{"line":391,"column":3}},"loc":{"start":{"line":389,"column":2},"end":{"line":391,"column":3}},"line":389},"19":{"name":"getProtocols","decl":{"start":{"line":393,"column":2},"end":{"line":395,"column":3}},"loc":{"start":{"line":393,"column":2},"end":{"line":395,"column":3}},"line":393},"20":{"name":"hangUp","decl":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"line":397},"21":{"name":"getPublicKey","decl":{"start":{"line":406,"column":2},"end":{"line":440,"column":3}},"loc":{"start":{"line":406,"column":2},"end":{"line":440,"column":3}},"line":406},"22":{"name":"fetch","decl":{"start":{"line":442,"column":2},"end":{"line":450,"column":3}},"loc":{"start":{"line":442,"column":2},"end":{"line":450,"column":3}},"line":442},"23":{"name":"ping","decl":{"start":{"line":452,"column":2},"end":{"line":460,"column":3}},"loc":{"start":{"line":452,"column":2},"end":{"line":460,"column":3}},"line":452},"24":{"name":"handle","decl":{"start":{"line":462,"column":2},"end":{"line":472,"column":3}},"loc":{"start":{"line":462,"column":2},"end":{"line":472,"column":3}},"line":462},"25":{"name":"unhandle","decl":{"start":{"line":474,"column":2},"end":{"line":484,"column":3}},"loc":{"start":{"line":474,"column":2},"end":{"line":484,"column":3}},"line":474},"26":{"name":"onDiscoveryPeer","decl":{"start":{"line":490,"column":2},"end":{"line":507,"column":3}},"loc":{"start":{"line":490,"column":2},"end":{"line":507,"column":3}},"line":490},"27":{"name":"createLibp2pNode","decl":{"start":{"line":514,"column":7},"end":{"line":520,"column":1}},"loc":{"start":{"line":514,"column":7},"end":{"line":520,"column":1}},"line":514}},"f":{"0":55,"1":39,"2":61,"3":52,"4":52,"5":51,"6":51,"7":51,"8":33,"9":843,"10":718,"11":109,"12":56,"13":0,"14":3,"15":0,"16":25,"17":0,"18":386,"19":0,"20":6,"21":0,"22":0,"23":0,"24":6,"25":0,"26":0,"27":55}} -,"/home/ckousik/projects/js-libp2p/src/nat-manager.ts": {"path":"/home/ckousik/projects/js-libp2p/src/nat-manager.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":62}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":57}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":38}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":36}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":35}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":30}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":35}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":61}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":67}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":55}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":71}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":58}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":42}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":5}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":19}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":1}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":33}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":38}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":50}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":5}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":26}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":5}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":50}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":5}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":74}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":22}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":74}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":14}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":82}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":20}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":0}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":50}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":18}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":1}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":39}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":16}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":36}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":32}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":1}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":46}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":51}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":35}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":43}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":40}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":38}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":30}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":37}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":35}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":72}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":32}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":24}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":31}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":47}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":41}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":108}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":38}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":43}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":33}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":120}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":16}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":23}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":3}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":13}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":77}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":4}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":82}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":17}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":53}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":12}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":23}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":42}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":39}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":43}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":20}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":6}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":19}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":61}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":31}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":59}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":64}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":62}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":34}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":47}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":16}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":7}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":29}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":47}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":16}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":7}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":0}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":25}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":22}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":47}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":16}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":7}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":44}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":72}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":45}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":31}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":155}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":7}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":30}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":59}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":7}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":35}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":0}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":86}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":24}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":19}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":24}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":40}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":67}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":8}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":70}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":18}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":26}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":24}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":20}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":5}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":3}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":23}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":30}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":24}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":5}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":0}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":33}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":36}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":20}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":32}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":27}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":6}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":22}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":3}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":26}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":5}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":17}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":43}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":12}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":5}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":0}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":9}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":31}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":29}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":24}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":20}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":5}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":3}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":55,"85":55,"86":55,"87":55,"88":55,"89":55,"90":55,"91":55,"92":55,"93":55,"94":55,"95":55,"96":0,"97":0,"98":55,"99":1,"100":1,"101":0,"102":0,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":55,"113":55,"114":55,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":1,"125":1,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":1,"180":1,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":1,"195":1,"196":1,"197":1,"198":1,"199":55,"200":55,"201":55,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":55,"210":1},"branchMap":{"0":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":2},"end":{"line":99,"column":3}},"locations":[{"start":{"line":84,"column":2},"end":{"line":99,"column":3}}]},"1":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":23},"end":{"line":92,"column":38}},"locations":[{"start":{"line":92,"column":23},"end":{"line":92,"column":38}}]},"2":{"type":"branch","line":93,"loc":{"start":{"line":93,"column":35},"end":{"line":93,"column":43}},"locations":[{"start":{"line":93,"column":35},"end":{"line":93,"column":43}}]},"3":{"type":"branch","line":96,"loc":{"start":{"line":96,"column":32},"end":{"line":98,"column":5}},"locations":[{"start":{"line":96,"column":32},"end":{"line":98,"column":5}}]},"4":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":2},"end":{"line":105,"column":13}},"locations":[{"start":{"line":105,"column":2},"end":{"line":105,"column":13}}]},"5":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":2},"end":{"line":124,"column":3}},"locations":[{"start":{"line":112,"column":2},"end":{"line":124,"column":3}}]},"6":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":34},"end":{"line":113,"column":50}},"locations":[{"start":{"line":113,"column":34},"end":{"line":113,"column":50}}]},"7":{"type":"branch","line":116,"loc":{"start":{"line":116,"column":-1},"end":{"line":124,"column":3}},"locations":[{"start":{"line":116,"column":-1},"end":{"line":124,"column":3}}]},"8":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":2},"end":{"line":210,"column":3}},"locations":[{"start":{"line":199,"column":2},"end":{"line":210,"column":3}}]},"9":{"type":"branch","line":203,"loc":{"start":{"line":203,"column":-1},"end":{"line":209,"column":5}},"locations":[{"start":{"line":203,"column":-1},"end":{"line":209,"column":5}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[55],"5":[55],"6":[0],"7":[0],"8":[55],"9":[0]},"fnMap":{"0":{"name":"highPort","decl":{"start":{"line":18,"column":0},"end":{"line":20,"column":1}},"loc":{"start":{"line":18,"column":0},"end":{"line":20,"column":1}},"line":18},"1":{"name":"NatManager","decl":{"start":{"line":84,"column":2},"end":{"line":99,"column":3}},"loc":{"start":{"line":84,"column":2},"end":{"line":99,"column":3}},"line":84},"2":{"name":"isStarted","decl":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"line":101},"3":{"name":"start","decl":{"start":{"line":105,"column":2},"end":{"line":105,"column":13}},"loc":{"start":{"line":105,"column":2},"end":{"line":105,"column":13}},"line":105},"4":{"name":"afterStart","decl":{"start":{"line":112,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":112,"column":2},"end":{"line":124,"column":3}},"line":112},"5":{"name":"_start","decl":{"start":{"line":126,"column":2},"end":{"line":179,"column":3}},"loc":{"start":{"line":126,"column":2},"end":{"line":179,"column":3}},"line":126},"6":{"name":"_getClient","decl":{"start":{"line":181,"column":2},"end":{"line":194,"column":3}},"loc":{"start":{"line":181,"column":2},"end":{"line":194,"column":3}},"line":181},"7":{"name":"stop","decl":{"start":{"line":199,"column":2},"end":{"line":210,"column":3}},"loc":{"start":{"line":199,"column":2},"end":{"line":210,"column":3}},"line":199}},"f":{"0":0,"1":55,"2":0,"3":55,"4":55,"5":0,"6":0,"7":55}} -,"/home/ckousik/projects/js-libp2p/src/peer-record-updater.ts": {"path":"/home/ckousik/projects/js-libp2p/src/peer-record-updater.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":64}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":61}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":51}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":67}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":71}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":61}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":48}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":16}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":22}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":36}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":32}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":1}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":53}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":58}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":26}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":57}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":32}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":24}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":16}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":23}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":23}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":88}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":84}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":84}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":3}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":17}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":24}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":91}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":87}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":87}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":3}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":85}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":13}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":21}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":25}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":43}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":41}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":120}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":10}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":86}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":79}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":8}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":21}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":63}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":8}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":3}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":55,"24":55,"25":55,"26":55,"27":1,"28":1,"29":0,"30":0,"31":1,"32":1,"33":55,"34":55,"35":55,"36":55,"37":55,"38":1,"39":1,"40":55,"41":55,"42":55,"43":55,"44":55,"45":1,"46":1,"47":1,"48":1,"49":1,"50":200,"51":200,"52":200,"53":200,"54":200,"55":200,"56":200,"57":200,"58":200,"59":200,"60":200,"61":0,"62":200,"63":200,"64":1},"branchMap":{"0":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":2},"end":{"line":27,"column":3}},"locations":[{"start":{"line":23,"column":2},"end":{"line":27,"column":3}}]},"1":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":2},"end":{"line":38,"column":3}},"locations":[{"start":{"line":33,"column":2},"end":{"line":38,"column":3}}]},"2":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"locations":[{"start":{"line":40,"column":2},"end":{"line":45,"column":3}}]},"3":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":2},"end":{"line":64,"column":3}},"locations":[{"start":{"line":50,"column":2},"end":{"line":64,"column":3}}]},"4":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":12},"end":{"line":60,"column":7}},"locations":[{"start":{"line":52,"column":12},"end":{"line":60,"column":7}}]},"5":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":72},"end":{"line":55,"column":119}},"locations":[{"start":{"line":55,"column":72},"end":{"line":55,"column":119}}]}},"b":{"0":[55],"1":[55],"2":[55],"3":[200],"4":[200],"5":[521]},"fnMap":{"0":{"name":"PeerRecordUpdater","decl":{"start":{"line":23,"column":2},"end":{"line":27,"column":3}},"loc":{"start":{"line":23,"column":2},"end":{"line":27,"column":3}},"line":23},"1":{"name":"isStarted","decl":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"line":29},"2":{"name":"start","decl":{"start":{"line":33,"column":2},"end":{"line":38,"column":3}},"loc":{"start":{"line":33,"column":2},"end":{"line":38,"column":3}},"line":33},"3":{"name":"stop","decl":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":40,"column":2},"end":{"line":45,"column":3}},"line":40},"4":{"name":"update","decl":{"start":{"line":50,"column":2},"end":{"line":64,"column":3}},"loc":{"start":{"line":50,"column":2},"end":{"line":64,"column":3}},"line":50}},"f":{"0":55,"1":0,"2":55,"3":55,"4":200}} -,"/home/ckousik/projects/js-libp2p/src/peer-routing.ts": {"path":"/home/ckousik/projects/js-libp2p/src/peer-routing.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":45}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":8}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":17}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":14}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":14}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":35}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":60}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":28}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":30}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":28}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":28}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":8}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":21}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":22}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":40}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":29}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":55}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":65}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":54}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":61}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":59}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":61}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":41}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":37}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":19}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":52}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":20}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":54}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":19}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":5}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":45}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":18}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":1}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":34}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":25}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":37}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":1}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":47}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":16}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":1}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":67}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":59}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":41}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":57}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":51}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":26}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":45}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":81}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":32}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":37}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":55}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":70}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":3}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":16}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":23}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":3}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":32}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":5}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":18}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":123}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":12}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":40}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":101}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":23}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":86}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":34}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":39}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":41}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":12}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":5}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":9}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":91}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":103}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":33}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":11}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":31}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":64}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":16}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":66}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":114}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":24}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":20}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":15}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":35}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":38}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":5}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":31}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":5}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":17}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":40}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":37}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":33}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":24}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":3}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":70}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":5}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":74}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":36}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":91}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":5}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":62}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":82}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":30}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":12}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":60}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":15}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":52}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":25}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":26}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":11}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":13}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":8}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":42}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":68}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":43}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":5}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":25}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":19}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":69}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":3}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":5}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":70}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":5}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":94}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":36}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":91}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":5}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":17}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":12}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":75}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":8}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":68}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":38}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":38}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":5}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":3}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":55,"71":55,"72":55,"73":55,"74":55,"75":55,"76":55,"77":1,"78":1,"79":0,"80":0,"81":1,"82":1,"83":1,"84":1,"85":1,"86":110,"87":110,"88":110,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":1,"97":1,"98":1,"99":1,"100":1,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":1,"126":1,"127":1,"128":1,"129":1,"130":110,"131":110,"132":110,"133":110,"134":110,"135":110,"136":110,"137":1,"138":1,"139":1,"140":1,"141":1,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":1,"172":1,"173":1,"174":1,"175":1,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":1},"branchMap":{"0":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"locations":[{"start":{"line":70,"column":2},"end":{"line":77,"column":3}}]},"1":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":31},"end":{"line":72,"column":37}},"locations":[{"start":{"line":72,"column":31},"end":{"line":72,"column":37}}]},"2":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":49},"end":{"line":73,"column":55}},"locations":[{"start":{"line":73,"column":49},"end":{"line":73,"column":55}}]},"3":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":2},"end":{"line":96,"column":3}},"locations":[{"start":{"line":86,"column":2},"end":{"line":96,"column":3}}]},"4":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":49},"end":{"line":87,"column":75}},"locations":[{"start":{"line":87,"column":49},"end":{"line":87,"column":75}}]},"5":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":75},"end":{"line":87,"column":120}},"locations":[{"start":{"line":87,"column":75},"end":{"line":87,"column":120}}]},"6":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":-1},"end":{"line":96,"column":3}},"locations":[{"start":{"line":90,"column":-1},"end":{"line":96,"column":3}}]},"7":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":2},"end":{"line":137,"column":3}},"locations":[{"start":{"line":130,"column":2},"end":{"line":137,"column":3}}]},"8":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":24},"end":{"line":134,"column":31}},"locations":[{"start":{"line":134,"column":24},"end":{"line":134,"column":31}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[110],"4":[0],"5":[0],"6":[0],"7":[110],"8":[0]},"fnMap":{"0":{"name":"DefaultPeerRouting","decl":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"line":70},"1":{"name":"isStarted","decl":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"loc":{"start":{"line":79,"column":2},"end":{"line":81,"column":3}},"line":79},"2":{"name":"start","decl":{"start":{"line":86,"column":2},"end":{"line":96,"column":3}},"loc":{"start":{"line":86,"column":2},"end":{"line":96,"column":3}},"line":86},"3":{"name":"_findClosestPeersTask","decl":{"start":{"line":101,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":101,"column":2},"end":{"line":125,"column":3}},"line":101},"4":{"name":"stop","decl":{"start":{"line":130,"column":2},"end":{"line":137,"column":3}},"loc":{"start":{"line":130,"column":2},"end":{"line":137,"column":3}},"line":130},"5":{"name":"findPeer","decl":{"start":{"line":142,"column":2},"end":{"line":171,"column":3}},"loc":{"start":{"line":142,"column":2},"end":{"line":171,"column":3}},"line":142},"6":{"name":"getClosestPeers","decl":{"start":{"line":176,"column":2},"end":{"line":189,"column":3}},"loc":{"start":{"line":176,"column":2},"end":{"line":189,"column":3}},"line":176}},"f":{"0":55,"1":0,"2":110,"3":0,"4":110,"5":0,"6":0}} -,"/home/ckousik/projects/js-libp2p/src/registrar.ts": {"path":"/home/ckousik/projects/js-libp2p/src/registrar.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":99}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":33}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":85}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":86}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":77}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":55}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":45}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":46}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":38}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":16}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":22}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":1}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":75}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":3}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":65}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":50}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":49}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":31}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":29}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":32}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":54}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":62}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":48}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":93}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":87}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":29}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":90}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":3}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":19}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":39}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":32}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":29}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":14}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":33}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":47}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":26}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":115}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":3}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":36}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":29}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":15}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":12}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":28}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":46}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":103}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":38}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":132}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":59}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":53}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":54}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":12}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":33}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":14}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":13}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":6}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":59}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":85}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":56}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":44}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":49}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":75}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":38}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":36}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":6}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":60}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":90}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":3}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":53}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":74}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":32}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":70}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":115}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":5}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":22}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":67}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":50}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":29}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":46}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":47}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":5}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":32}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":20}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":37}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":13}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":3}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":24}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":69}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":31}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":29}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":36}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":42}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":9}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":7}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":5}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":3}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":5}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":47}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":48}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":33}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":71}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":30}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":47}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":58}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":35}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":60}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":20}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":11}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":0}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":55}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":56}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":11}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":9}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":8}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":21}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":22}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":8}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":3}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":5}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":86}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":75}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":5}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":45}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":33}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":0}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":71}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":30}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":47}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":58}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":35}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":60}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":20}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":11}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":55}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":65}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":11}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":9}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":8}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":21}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":22}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":8}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":3}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":5}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":66}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":5}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":65}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":58}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":82}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":80}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":37}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":54}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":0}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":31}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":56}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":16}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":7}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":0}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":51}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":37}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":7}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":5}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":35}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":54}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":31}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":56}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":16}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":7}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":0}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":51}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":86}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":33}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":18}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":9}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":46}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":7}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":3}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":55,"32":55,"33":55,"34":55,"35":55,"36":55,"37":55,"38":55,"39":55,"40":55,"41":55,"42":55,"43":55,"44":55,"45":1,"46":1,"47":225,"48":225,"49":225,"50":225,"51":225,"52":1,"53":1,"54":538,"55":538,"56":538,"57":1,"58":1,"59":537,"60":537,"61":537,"62":1,"63":1,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":1,"75":1,"76":1,"77":1,"78":1,"79":391,"80":0,"81":0,"82":391,"83":391,"84":391,"85":391,"86":391,"87":391,"88":391,"89":391,"90":391,"91":391,"92":391,"93":391,"94":391,"95":391,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":385,"103":385,"104":385,"105":385,"106":385,"107":385,"108":385,"109":385,"110":385,"111":1,"112":1,"113":1,"114":1,"115":1,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":1,"139":1,"140":1,"141":1,"142":1,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":1,"154":1,"155":1,"156":1,"157":1,"158":16,"159":16,"160":16,"161":16,"162":16,"163":112,"164":112,"165":112,"166":112,"167":112,"168":112,"169":0,"170":0,"171":0,"172":0,"173":0,"174":16,"175":16,"176":0,"177":16,"178":16,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":84,"186":84,"187":84,"188":84,"189":84,"190":56,"191":56,"192":56,"193":56,"194":56,"195":56,"196":0,"197":0,"198":0,"199":0,"200":0,"201":84,"202":84,"203":0,"204":84,"205":84,"206":1,"207":1,"208":1,"209":1,"210":1,"211":925,"212":925,"213":925,"214":925,"215":925,"216":386,"217":386,"218":386,"219":386,"220":386,"221":386,"222":0,"223":0,"224":0,"225":0,"226":0,"227":925,"228":925,"229":801,"230":801,"231":801,"232":801,"233":801,"234":801,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":925,"246":1},"branchMap":{"0":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":45,"column":3}},"locations":[{"start":{"line":31,"column":2},"end":{"line":45,"column":3}}]},"1":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"locations":[{"start":{"line":47,"column":2},"end":{"line":52,"column":3}}]},"2":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"locations":[{"start":{"line":54,"column":2},"end":{"line":62,"column":3}}]},"3":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":25},"end":{"line":59,"column":5}},"locations":[{"start":{"line":57,"column":25},"end":{"line":59,"column":5}}]},"4":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":-1},"end":{"line":62,"column":3}},"locations":[{"start":{"line":60,"column":-1},"end":{"line":62,"column":3}}]},"5":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":2},"end":{"line":96,"column":3}},"locations":[{"start":{"line":79,"column":2},"end":{"line":96,"column":3}}]},"6":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":37},"end":{"line":82,"column":5}},"locations":[{"start":{"line":80,"column":37},"end":{"line":82,"column":5}}]},"7":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":2},"end":{"line":111,"column":3}},"locations":[{"start":{"line":102,"column":2},"end":{"line":111,"column":3}}]},"8":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":50},"end":{"line":103,"column":61}},"locations":[{"start":{"line":103,"column":50},"end":{"line":103,"column":61}}]},"9":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":25},"end":{"line":107,"column":5}},"locations":[{"start":{"line":105,"column":25},"end":{"line":107,"column":5}}]},"10":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":2},"end":{"line":179,"column":3}},"locations":[{"start":{"line":158,"column":2},"end":{"line":179,"column":3}}]},"11":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":12},"end":{"line":175,"column":7}},"locations":[{"start":{"line":162,"column":12},"end":{"line":175,"column":7}}]},"12":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":46},"end":{"line":174,"column":9}},"locations":[{"start":{"line":163,"column":46},"end":{"line":174,"column":9}}]},"13":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":-1},"end":{"line":174,"column":9}},"locations":[{"start":{"line":170,"column":-1},"end":{"line":174,"column":9}}]},"14":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":2},"end":{"line":206,"column":3}},"locations":[{"start":{"line":185,"column":2},"end":{"line":206,"column":3}}]},"15":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":12},"end":{"line":202,"column":7}},"locations":[{"start":{"line":189,"column":12},"end":{"line":202,"column":7}}]},"16":{"type":"branch","line":190,"loc":{"start":{"line":190,"column":46},"end":{"line":201,"column":9}},"locations":[{"start":{"line":190,"column":46},"end":{"line":201,"column":9}}]},"17":{"type":"branch","line":197,"loc":{"start":{"line":197,"column":-1},"end":{"line":201,"column":9}},"locations":[{"start":{"line":197,"column":-1},"end":{"line":201,"column":9}}]},"18":{"type":"branch","line":211,"loc":{"start":{"line":211,"column":2},"end":{"line":246,"column":3}},"locations":[{"start":{"line":211,"column":2},"end":{"line":246,"column":3}}]},"19":{"type":"branch","line":216,"loc":{"start":{"line":216,"column":36},"end":{"line":227,"column":5}},"locations":[{"start":{"line":216,"column":36},"end":{"line":227,"column":5}}]},"20":{"type":"branch","line":223,"loc":{"start":{"line":223,"column":-1},"end":{"line":227,"column":5}},"locations":[{"start":{"line":223,"column":-1},"end":{"line":227,"column":5}}]},"21":{"type":"branch","line":229,"loc":{"start":{"line":229,"column":34},"end":{"line":245,"column":5}},"locations":[{"start":{"line":229,"column":34},"end":{"line":245,"column":5}}]},"22":{"type":"branch","line":236,"loc":{"start":{"line":236,"column":-1},"end":{"line":245,"column":5}},"locations":[{"start":{"line":236,"column":-1},"end":{"line":245,"column":5}}]},"23":{"type":"branch","line":213,"loc":{"start":{"line":213,"column":40},"end":{"line":213,"column":81}},"locations":[{"start":{"line":213,"column":40},"end":{"line":213,"column":81}}]},"24":{"type":"branch","line":214,"loc":{"start":{"line":214,"column":35},"end":{"line":214,"column":79}},"locations":[{"start":{"line":214,"column":35},"end":{"line":214,"column":79}}]}},"b":{"0":[55],"1":[225],"2":[538],"3":[1],"4":[537],"5":[391],"6":[0],"7":[385],"8":[0],"9":[385],"10":[16],"11":[16],"12":[112],"13":[0],"14":[84],"15":[84],"16":[56],"17":[0],"18":[925],"19":[386],"20":[0],"21":[801],"22":[0],"23":[2903],"24":[3318]},"fnMap":{"0":{"name":"DefaultRegistrar","decl":{"start":{"line":31,"column":2},"end":{"line":45,"column":3}},"loc":{"start":{"line":31,"column":2},"end":{"line":45,"column":3}},"line":31},"1":{"name":"getProtocols","decl":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":47,"column":2},"end":{"line":52,"column":3}},"line":47},"2":{"name":"getHandler","decl":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"loc":{"start":{"line":54,"column":2},"end":{"line":62,"column":3}},"line":54},"3":{"name":"getTopologies","decl":{"start":{"line":64,"column":2},"end":{"line":74,"column":3}},"loc":{"start":{"line":64,"column":2},"end":{"line":74,"column":3}},"line":64},"4":{"name":"handle","decl":{"start":{"line":79,"column":2},"end":{"line":96,"column":3}},"loc":{"start":{"line":79,"column":2},"end":{"line":96,"column":3}},"line":79},"5":{"name":"unhandle","decl":{"start":{"line":102,"column":2},"end":{"line":111,"column":3}},"loc":{"start":{"line":102,"column":2},"end":{"line":111,"column":3}},"line":102},"6":{"name":"register","decl":{"start":{"line":116,"column":2},"end":{"line":138,"column":3}},"loc":{"start":{"line":116,"column":2},"end":{"line":138,"column":3}},"line":116},"7":{"name":"unregister","decl":{"start":{"line":143,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":143,"column":2},"end":{"line":153,"column":3}},"line":143},"8":{"name":"_onDisconnect","decl":{"start":{"line":158,"column":2},"end":{"line":179,"column":3}},"loc":{"start":{"line":158,"column":2},"end":{"line":179,"column":3}},"line":158},"9":{"name":"_onConnect","decl":{"start":{"line":185,"column":2},"end":{"line":206,"column":3}},"loc":{"start":{"line":185,"column":2},"end":{"line":206,"column":3}},"line":185},"10":{"name":"_onProtocolChange","decl":{"start":{"line":211,"column":2},"end":{"line":246,"column":3}},"loc":{"start":{"line":211,"column":2},"end":{"line":246,"column":3}},"line":211}},"f":{"0":55,"1":225,"2":538,"3":0,"4":391,"5":385,"6":0,"7":0,"8":16,"9":84,"10":925}} -,"/home/ckousik/projects/js-libp2p/src/transport-manager.ts": {"path":"/home/ckousik/projects/js-libp2p/src/transport-manager.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":60}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":122}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":56}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":69}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":61}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":48}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":56}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":71}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":39}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":39}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":52}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":19}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":32}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":20}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":1}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":122}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":64}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":53}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":53}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":49}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":26}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":96}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":11}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":32}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":24}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":50}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":33}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":49}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":38}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":6}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":73}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":3}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":38}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":30}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":45}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":88}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":35}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":107}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":35}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":39}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":35}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":33}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":16}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":23}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":3}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":0}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":18}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":67}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":65}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":28}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":23}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":3}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":5}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":24}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":5}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":17}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":20}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":52}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":42}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":36}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":40}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":18}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":9}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":36}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":7}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":28}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":31}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":46}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":33}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":5}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":24}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":3}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":60}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":75}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":52}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":28}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":115}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":9}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":39}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":19}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":42}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":8}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":24}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":29}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":50}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":7}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":5}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":52}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":5}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":28}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":31}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":54}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":41}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":50}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":7}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":16}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":3}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":41}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":5}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":20}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":48}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":3}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":5}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":55}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":41}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":55}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":42}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":29}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":24}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":7}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":5}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":47}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":5}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":37}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":46}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":77}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":12}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":5}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":29}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":63}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":52}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":0}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":56}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":42}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":56}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":51}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":44}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":10}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":47}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":32}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":24}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":44}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":9}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":32}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":36}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":54}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":78}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":28}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":13}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":10}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":50}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":74}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":28}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":13}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":10}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":0}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":53}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":41}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":7}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":0}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":57}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":31}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":32}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":16}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":7}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":0}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":42}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":60}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":82}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":88}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":91}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":58}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":85}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":126}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":7}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":5}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":72}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":66}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":57}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":102}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":61}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":71}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":7}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":49}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":5}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":3}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":0}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":5}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":50}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":67}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":5}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":30}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":27}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":0}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":34}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":59}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":28}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":5}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":0}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":31}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":30}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":3}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":0}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":5}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":45}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":55}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":4}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":11}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":5}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":22}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":20}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":47}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":34}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":5}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":28}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":3}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":55,"36":55,"37":55,"38":55,"39":55,"40":55,"41":55,"42":55,"43":55,"44":55,"45":55,"46":1,"47":1,"48":1,"49":1,"50":1,"51":110,"52":110,"53":110,"54":0,"55":0,"56":110,"57":110,"58":0,"59":0,"60":110,"61":110,"62":110,"63":110,"64":110,"65":110,"66":110,"67":110,"68":110,"69":1,"70":1,"71":0,"72":0,"73":1,"74":1,"75":55,"76":55,"77":55,"78":55,"79":55,"80":55,"81":55,"82":1,"83":1,"84":1,"85":1,"86":1,"87":55,"88":55,"89":110,"90":110,"91":171,"92":171,"93":171,"94":0,"95":0,"96":171,"97":171,"98":171,"99":110,"100":55,"101":55,"102":55,"103":55,"104":110,"105":110,"106":55,"107":55,"108":55,"109":1,"110":1,"111":1,"112":1,"113":1,"114":56,"115":56,"116":56,"117":1,"118":1,"119":55,"120":55,"121":55,"122":55,"123":55,"124":55,"125":56,"126":22,"127":0,"128":0,"129":22,"130":22,"131":22,"132":56,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1116,"139":1116,"140":2232,"141":3673,"142":3673,"143":2232,"144":1116,"145":1116,"146":1,"147":1,"148":1,"149":1,"150":1,"151":0,"152":0,"153":1,"154":1,"155":1,"156":1,"157":1,"158":117,"159":136,"160":136,"161":136,"162":115,"163":115,"164":136,"165":2,"166":1,"167":1,"168":1,"169":1,"170":1,"171":175,"172":0,"173":0,"174":0,"175":175,"176":175,"177":175,"178":175,"179":350,"180":350,"181":350,"182":350,"183":350,"184":175,"185":175,"186":175,"187":175,"188":175,"189":175,"190":175,"191":175,"192":0,"193":0,"194":0,"195":175,"196":175,"197":175,"198":175,"199":175,"200":167,"201":167,"202":167,"203":175,"204":175,"205":92,"206":92,"207":92,"208":175,"209":175,"210":175,"211":175,"212":175,"213":350,"214":350,"215":350,"216":175,"217":175,"218":175,"219":175,"220":175,"221":175,"222":175,"223":175,"224":175,"225":175,"226":350,"227":8,"228":8,"229":350,"230":167,"231":167,"232":167,"233":175,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":175,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":1},"branchMap":{"0":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":2},"end":{"line":46,"column":3}},"locations":[{"start":{"line":35,"column":2},"end":{"line":46,"column":3}}]},"1":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":45},"end":{"line":45,"column":73}},"locations":[{"start":{"line":45,"column":45},"end":{"line":45,"column":73}}]},"2":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":2},"end":{"line":69,"column":3}},"locations":[{"start":{"line":51,"column":2},"end":{"line":69,"column":3}}]},"3":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":21},"end":{"line":56,"column":5}},"locations":[{"start":{"line":54,"column":21},"end":{"line":56,"column":5}}]},"4":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":34},"end":{"line":60,"column":5}},"locations":[{"start":{"line":58,"column":34},"end":{"line":60,"column":5}}]},"5":{"type":"branch","line":75,"loc":{"start":{"line":75,"column":2},"end":{"line":82,"column":3}},"locations":[{"start":{"line":75,"column":2},"end":{"line":82,"column":3}}]},"6":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":2},"end":{"line":109,"column":3}},"locations":[{"start":{"line":87,"column":2},"end":{"line":109,"column":3}}]},"7":{"type":"branch","line":89,"loc":{"start":{"line":89,"column":51},"end":{"line":100,"column":5}},"locations":[{"start":{"line":89,"column":51},"end":{"line":100,"column":5}}]},"8":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":35},"end":{"line":99,"column":7}},"locations":[{"start":{"line":91,"column":35},"end":{"line":99,"column":7}}]},"9":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":30},"end":{"line":96,"column":9}},"locations":[{"start":{"line":94,"column":30},"end":{"line":96,"column":9}}]},"10":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":45},"end":{"line":106,"column":5}},"locations":[{"start":{"line":104,"column":45},"end":{"line":106,"column":5}}]},"11":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":2},"end":{"line":133,"column":3}},"locations":[{"start":{"line":114,"column":2},"end":{"line":133,"column":3}}]},"12":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":27},"end":{"line":119,"column":5}},"locations":[{"start":{"line":117,"column":27},"end":{"line":119,"column":5}}]},"13":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":-1},"end":{"line":126,"column":13}},"locations":[{"start":{"line":120,"column":-1},"end":{"line":126,"column":13}}]},"14":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":6},"end":{"line":132,"column":5}},"locations":[{"start":{"line":126,"column":6},"end":{"line":132,"column":5}}]},"15":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":28},"end":{"line":129,"column":7}},"locations":[{"start":{"line":127,"column":28},"end":{"line":129,"column":7}}]},"16":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"locations":[{"start":{"line":138,"column":2},"end":{"line":146,"column":3}}]},"17":{"type":"branch","line":140,"loc":{"start":{"line":140,"column":53},"end":{"line":144,"column":5}},"locations":[{"start":{"line":140,"column":53},"end":{"line":144,"column":5}}]},"18":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":40},"end":{"line":143,"column":7}},"locations":[{"start":{"line":141,"column":40},"end":{"line":143,"column":7}}]},"19":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":2},"end":{"line":166,"column":3}},"locations":[{"start":{"line":158,"column":2},"end":{"line":166,"column":3}}]},"20":{"type":"branch","line":159,"loc":{"start":{"line":159,"column":54},"end":{"line":165,"column":5}},"locations":[{"start":{"line":159,"column":54},"end":{"line":165,"column":5}}]},"21":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":28},"end":{"line":164,"column":7}},"locations":[{"start":{"line":162,"column":28},"end":{"line":164,"column":7}}]},"22":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":-1},"end":{"line":166,"column":3}},"locations":[{"start":{"line":166,"column":-1},"end":{"line":166,"column":3}}]},"23":{"type":"branch","line":171,"loc":{"start":{"line":171,"column":2},"end":{"line":241,"column":3}},"locations":[{"start":{"line":171,"column":2},"end":{"line":241,"column":3}}]},"24":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":45},"end":{"line":175,"column":5}},"locations":[{"start":{"line":172,"column":45},"end":{"line":175,"column":5}}]},"25":{"type":"branch","line":179,"loc":{"start":{"line":179,"column":62},"end":{"line":230,"column":5}},"locations":[{"start":{"line":179,"column":62},"end":{"line":230,"column":5}}]},"26":{"type":"branch","line":184,"loc":{"start":{"line":184,"column":41},"end":{"line":213,"column":7}},"locations":[{"start":{"line":184,"column":41},"end":{"line":213,"column":7}}]},"27":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":31},"end":{"line":195,"column":9}},"locations":[{"start":{"line":192,"column":31},"end":{"line":195,"column":9}}]},"28":{"type":"branch","line":216,"loc":{"start":{"line":216,"column":30},"end":{"line":227,"column":35}},"locations":[{"start":{"line":216,"column":30},"end":{"line":227,"column":35}}]},"29":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":31},"end":{"line":227,"column":82}},"locations":[{"start":{"line":227,"column":31},"end":{"line":227,"column":82}}]},"30":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":84},"end":{"line":229,"column":7}},"locations":[{"start":{"line":227,"column":84},"end":{"line":229,"column":7}}]},"31":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":-1},"end":{"line":234,"column":56}},"locations":[{"start":{"line":231,"column":-1},"end":{"line":234,"column":56}}]},"32":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":56},"end":{"line":240,"column":5}},"locations":[{"start":{"line":234,"column":56},"end":{"line":240,"column":5}}]},"33":{"type":"branch","line":200,"loc":{"start":{"line":200,"column":47},"end":{"line":204,"column":9}},"locations":[{"start":{"line":200,"column":47},"end":{"line":204,"column":9}}]},"34":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":43},"end":{"line":209,"column":9}},"locations":[{"start":{"line":205,"column":43},"end":{"line":209,"column":9}}]},"35":{"type":"branch","line":226,"loc":{"start":{"line":226,"column":39},"end":{"line":226,"column":57}},"locations":[{"start":{"line":226,"column":39},"end":{"line":226,"column":57}}]}},"b":{"0":[55],"1":[0],"2":[110],"3":[0],"4":[0],"5":[55],"6":[55],"7":[110],"8":[171],"9":[0],"10":[110],"11":[56],"12":[1],"13":[55],"14":[22],"15":[0],"16":[1116],"17":[2232],"18":[3673],"19":[117],"20":[136],"21":[115],"22":[2],"23":[175],"24":[0],"25":[350],"26":[175],"27":[0],"28":[175],"29":[8],"30":[8],"31":[167],"32":[0],"33":[167],"34":[92],"35":[175]},"fnMap":{"0":{"name":"DefaultTransportManager","decl":{"start":{"line":35,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":35,"column":2},"end":{"line":46,"column":3}},"line":35},"1":{"name":"add","decl":{"start":{"line":51,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":51,"column":2},"end":{"line":69,"column":3}},"line":51},"2":{"name":"isStarted","decl":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"loc":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"line":71},"3":{"name":"start","decl":{"start":{"line":75,"column":2},"end":{"line":82,"column":3}},"loc":{"start":{"line":75,"column":2},"end":{"line":82,"column":3}},"line":75},"4":{"name":"stop","decl":{"start":{"line":87,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":87,"column":2},"end":{"line":109,"column":3}},"line":87},"5":{"name":"dial","decl":{"start":{"line":114,"column":2},"end":{"line":133,"column":3}},"loc":{"start":{"line":114,"column":2},"end":{"line":133,"column":3}},"line":114},"6":{"name":"getAddrs","decl":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"loc":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"line":138},"7":{"name":"getTransports","decl":{"start":{"line":151,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":151,"column":2},"end":{"line":153,"column":3}},"line":151},"8":{"name":"transportForMultiaddr","decl":{"start":{"line":158,"column":2},"end":{"line":166,"column":3}},"loc":{"start":{"line":158,"column":2},"end":{"line":166,"column":3}},"line":158},"9":{"name":"listen","decl":{"start":{"line":171,"column":2},"end":{"line":241,"column":3}},"loc":{"start":{"line":171,"column":2},"end":{"line":241,"column":3}},"line":171},"10":{"name":"remove","decl":{"start":{"line":247,"column":2},"end":{"line":257,"column":3}},"loc":{"start":{"line":247,"column":2},"end":{"line":257,"column":3}},"line":247},"11":{"name":"removeAll","decl":{"start":{"line":265,"column":2},"end":{"line":272,"column":3}},"loc":{"start":{"line":265,"column":2},"end":{"line":272,"column":3}},"line":265}},"f":{"0":55,"1":110,"2":0,"3":55,"4":55,"5":56,"6":1116,"7":0,"8":117,"9":175,"10":0,"11":0}} -,"/home/ckousik/projects/js-libp2p/src/upgrader.ts": {"path":"/home/ckousik/projects/js-libp2p/src/upgrader.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":49}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":35}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":69}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":50}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":129}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":100}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":85}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":55}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":92}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":45}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":54}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":90}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":60}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":40}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":56}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":77}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":61}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":37}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":34}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":24}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":35}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":29}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":34}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":20}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":35}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":1}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":27}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":24}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":16}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":57}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":31}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":45}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":30}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":59}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":18}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":31}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":75}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":7}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":54}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":0}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":36}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":57}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":15}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":36}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":1}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":75}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":7}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":54}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":37}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":22}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":57}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":15}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":3}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":37}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":101}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":21}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":40}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":83}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":19}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":4}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":20}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":1}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":44}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":16}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":19}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":38}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":34}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":43}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":22}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":22}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":87}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":56}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":73}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":58}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":48}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":75}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":11}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":32}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":41}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":52}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":66}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":6}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":27}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":34}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":44}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":6}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":59}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":3}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":5}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":35}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":5}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":99}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":91}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":18}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":80}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":21}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":18}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":40}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":52}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":22}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":79}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":9}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":29}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":59}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":14}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":9}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":79}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":44}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":40}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":80}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":131}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":7}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":0}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":63}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":52}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":0}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":16}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":32}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":42}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":61}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":32}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":50}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":57}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":9}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":7}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":11}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":37}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":44}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":12}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":32}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":23}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":36}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":56}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":0}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":96}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":29}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":28}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":15}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":144}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":11}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":16}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":53}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":30}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":131}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":11}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":54}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":0}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":35}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":35}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":9}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":36}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":41}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":42}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":42}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":37}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":60}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":29}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":28}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":25}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":49}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":43}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":9}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":26}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":62}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":17}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":7}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":91}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":25}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":24}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":11}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":140}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":7}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":53}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":37}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":23}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":29}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":15}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":21}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":21}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":18}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":8}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":15}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":61}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":31}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":3}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":5}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":36}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":5}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":100}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":47}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":24}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":102}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":5}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":48}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":0}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":93}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":145}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":5}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":0}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":21}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":18}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":20}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":22}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":20}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":61}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":51}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":69}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":31}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":0}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":14}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":30}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":40}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":59}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":0}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":30}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":55}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":7}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":5}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":0}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":9}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":31}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":35}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":42}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":10}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":30}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":21}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":34}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":69}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":0}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":95}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":27}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":26}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":13}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":142}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":9}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":14}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":33}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":33}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":7}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":0}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":34}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":39}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":40}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":40}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":35}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":59}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":27}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":26}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":23}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":47}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":41}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":7}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":24}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":61}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":29}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":15}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":5}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":0}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":90}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":23}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":22}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":9}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":138}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":5}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":52}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":0}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":35}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":21}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":28}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":13}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":19}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":19}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":16}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":6}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":3}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":5}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":59}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":5}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":64}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":11}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":21}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":16}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":13}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":19}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":17}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":18}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":12}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":0}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":38}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":99}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":66}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":31}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":25}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":46}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":18}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":49}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":42}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":35}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":18}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":11}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":0}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":32}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":31}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":72}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":83}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":74}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":0}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":39}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":22}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":15}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":0}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":96}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":79}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":50}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":187}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":22}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":15}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":0}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":88}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":31}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":48}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":44}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":50}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":0}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":110}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":91}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":106}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":0}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":47}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":83}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":75}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":14}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":27}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":28}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":0}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":60}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":35}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":15}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":14}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":10}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":38}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":37}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":50}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":9}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":8}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":0}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":95}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":28}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":92}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":9}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":0}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":66}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":51}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":53}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":0}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":13}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":39}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":127}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":0}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":53}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":46}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":17}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":37}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":60}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":22}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":11}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":0}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":88}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":0}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":92}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":76}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":0}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":46}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":178}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":34}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":0}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":21}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":11}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":0}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":106}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":87}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":102}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":0}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":84}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":27}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":44}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":40}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":46}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":0}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":79}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":0}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":28}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":28}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":55}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":0}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":56}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":31}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":11}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":0}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":33}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":21}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":11}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":0}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":60}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":19}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":35}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":30}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":11}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":9}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":7}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":0}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":40}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":24}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":40}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":39}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":23}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":22}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":8}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":5}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":0}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":37}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":44}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":25}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":102}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":69}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":24}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":17}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":54}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":40}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":15}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":32}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":28}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":23}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":79}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":34}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":17}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":13}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":29}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":26}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":12}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":9}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":0}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":35}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":7}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":6}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":41}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":0}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":47}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":101}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":5}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":0}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":28}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":35}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":36}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":29}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":13}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":23}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":18}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":34}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":37}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":34}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":8}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":58}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":86}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":26}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":28}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":46}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":28}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":23}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":9}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":7}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":6}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":0}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":66}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":24}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":7}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":0}},"550":{"start":{"line":551,"column":0},"end":{"line":551,"column":21}},"551":{"start":{"line":552,"column":0},"end":{"line":552,"column":3}},"552":{"start":{"line":553,"column":0},"end":{"line":553,"column":0}},"553":{"start":{"line":554,"column":0},"end":{"line":554,"column":5}},"554":{"start":{"line":555,"column":0},"end":{"line":555,"column":51}},"555":{"start":{"line":556,"column":0},"end":{"line":556,"column":5}},"556":{"start":{"line":557,"column":0},"end":{"line":557,"column":43}},"557":{"start":{"line":558,"column":0},"end":{"line":558,"column":49}},"558":{"start":{"line":559,"column":0},"end":{"line":559,"column":70}},"559":{"start":{"line":560,"column":0},"end":{"line":560,"column":0}},"560":{"start":{"line":561,"column":0},"end":{"line":561,"column":35}},"561":{"start":{"line":562,"column":0},"end":{"line":562,"column":3}},"562":{"start":{"line":563,"column":0},"end":{"line":563,"column":0}},"563":{"start":{"line":564,"column":0},"end":{"line":564,"column":5}},"564":{"start":{"line":565,"column":0},"end":{"line":565,"column":78}},"565":{"start":{"line":566,"column":0},"end":{"line":566,"column":5}},"566":{"start":{"line":567,"column":0},"end":{"line":567,"column":81}},"567":{"start":{"line":568,"column":0},"end":{"line":568,"column":66}},"568":{"start":{"line":569,"column":0},"end":{"line":569,"column":64}},"569":{"start":{"line":570,"column":0},"end":{"line":570,"column":0}},"570":{"start":{"line":571,"column":0},"end":{"line":571,"column":9}},"571":{"start":{"line":572,"column":0},"end":{"line":572,"column":76}},"572":{"start":{"line":573,"column":0},"end":{"line":573,"column":24}},"573":{"start":{"line":574,"column":0},"end":{"line":574,"column":8}},"574":{"start":{"line":575,"column":0},"end":{"line":575,"column":63}},"575":{"start":{"line":576,"column":0},"end":{"line":576,"column":0}},"576":{"start":{"line":577,"column":0},"end":{"line":577,"column":30}},"577":{"start":{"line":578,"column":0},"end":{"line":578,"column":65}},"578":{"start":{"line":579,"column":0},"end":{"line":579,"column":7}},"579":{"start":{"line":580,"column":0},"end":{"line":580,"column":0}},"580":{"start":{"line":581,"column":0},"end":{"line":581,"column":45}},"581":{"start":{"line":582,"column":0},"end":{"line":582,"column":0}},"582":{"start":{"line":583,"column":0},"end":{"line":583,"column":14}},"583":{"start":{"line":584,"column":0},"end":{"line":584,"column":73}},"584":{"start":{"line":585,"column":0},"end":{"line":585,"column":16}},"585":{"start":{"line":586,"column":0},"end":{"line":586,"column":7}},"586":{"start":{"line":587,"column":0},"end":{"line":587,"column":24}},"587":{"start":{"line":588,"column":0},"end":{"line":588,"column":53}},"588":{"start":{"line":589,"column":0},"end":{"line":589,"column":5}},"589":{"start":{"line":590,"column":0},"end":{"line":590,"column":3}},"590":{"start":{"line":591,"column":0},"end":{"line":591,"column":0}},"591":{"start":{"line":592,"column":0},"end":{"line":592,"column":5}},"592":{"start":{"line":593,"column":0},"end":{"line":593,"column":88}},"593":{"start":{"line":594,"column":0},"end":{"line":594,"column":67}},"594":{"start":{"line":595,"column":0},"end":{"line":595,"column":5}},"595":{"start":{"line":596,"column":0},"end":{"line":596,"column":105}},"596":{"start":{"line":597,"column":0},"end":{"line":597,"column":66}},"597":{"start":{"line":598,"column":0},"end":{"line":598,"column":56}},"598":{"start":{"line":599,"column":0},"end":{"line":599,"column":0}},"599":{"start":{"line":600,"column":0},"end":{"line":600,"column":9}},"600":{"start":{"line":601,"column":0},"end":{"line":601,"column":76}},"601":{"start":{"line":602,"column":0},"end":{"line":602,"column":24}},"602":{"start":{"line":603,"column":0},"end":{"line":603,"column":8}},"603":{"start":{"line":604,"column":0},"end":{"line":604,"column":63}},"604":{"start":{"line":605,"column":0},"end":{"line":605,"column":0}},"605":{"start":{"line":606,"column":0},"end":{"line":606,"column":30}},"606":{"start":{"line":607,"column":0},"end":{"line":607,"column":65}},"607":{"start":{"line":608,"column":0},"end":{"line":608,"column":7}},"608":{"start":{"line":609,"column":0},"end":{"line":609,"column":0}},"609":{"start":{"line":610,"column":0},"end":{"line":610,"column":63}},"610":{"start":{"line":611,"column":0},"end":{"line":611,"column":0}},"611":{"start":{"line":612,"column":0},"end":{"line":612,"column":14}},"612":{"start":{"line":613,"column":0},"end":{"line":613,"column":88}},"613":{"start":{"line":614,"column":0},"end":{"line":614,"column":16}},"614":{"start":{"line":615,"column":0},"end":{"line":615,"column":7}},"615":{"start":{"line":616,"column":0},"end":{"line":616,"column":24}},"616":{"start":{"line":617,"column":0},"end":{"line":617,"column":53}},"617":{"start":{"line":618,"column":0},"end":{"line":618,"column":5}},"618":{"start":{"line":619,"column":0},"end":{"line":619,"column":3}},"619":{"start":{"line":620,"column":0},"end":{"line":620,"column":0}},"620":{"start":{"line":621,"column":0},"end":{"line":621,"column":5}},"621":{"start":{"line":622,"column":0},"end":{"line":622,"column":65}},"622":{"start":{"line":623,"column":0},"end":{"line":623,"column":65}},"623":{"start":{"line":624,"column":0},"end":{"line":624,"column":5}},"624":{"start":{"line":625,"column":0},"end":{"line":625,"column":177}},"625":{"start":{"line":626,"column":0},"end":{"line":626,"column":47}},"626":{"start":{"line":627,"column":0},"end":{"line":627,"column":49}},"627":{"start":{"line":628,"column":0},"end":{"line":628,"column":9}},"628":{"start":{"line":629,"column":0},"end":{"line":629,"column":76}},"629":{"start":{"line":630,"column":0},"end":{"line":630,"column":24}},"630":{"start":{"line":631,"column":0},"end":{"line":631,"column":8}},"631":{"start":{"line":632,"column":0},"end":{"line":632,"column":52}},"632":{"start":{"line":633,"column":0},"end":{"line":633,"column":47}},"633":{"start":{"line":634,"column":0},"end":{"line":634,"column":37}},"634":{"start":{"line":635,"column":0},"end":{"line":635,"column":24}},"635":{"start":{"line":636,"column":0},"end":{"line":636,"column":58}},"636":{"start":{"line":637,"column":0},"end":{"line":637,"column":53}},"637":{"start":{"line":638,"column":0},"end":{"line":638,"column":5}},"638":{"start":{"line":639,"column":0},"end":{"line":639,"column":3}},"639":{"start":{"line":640,"column":0},"end":{"line":640,"column":0}},"640":{"start":{"line":641,"column":0},"end":{"line":641,"column":5}},"641":{"start":{"line":642,"column":0},"end":{"line":642,"column":78}},"642":{"start":{"line":643,"column":0},"end":{"line":643,"column":74}},"643":{"start":{"line":644,"column":0},"end":{"line":644,"column":5}},"644":{"start":{"line":645,"column":0},"end":{"line":645,"column":176}},"645":{"start":{"line":646,"column":0},"end":{"line":646,"column":47}},"646":{"start":{"line":647,"column":0},"end":{"line":647,"column":48}},"647":{"start":{"line":648,"column":0},"end":{"line":648,"column":9}},"648":{"start":{"line":649,"column":0},"end":{"line":649,"column":76}},"649":{"start":{"line":650,"column":0},"end":{"line":650,"column":24}},"650":{"start":{"line":651,"column":0},"end":{"line":651,"column":8}},"651":{"start":{"line":652,"column":0},"end":{"line":652,"column":47}},"652":{"start":{"line":653,"column":0},"end":{"line":653,"column":37}},"653":{"start":{"line":654,"column":0},"end":{"line":654,"column":24}},"654":{"start":{"line":655,"column":0},"end":{"line":655,"column":57}},"655":{"start":{"line":656,"column":0},"end":{"line":656,"column":53}},"656":{"start":{"line":657,"column":0},"end":{"line":657,"column":5}},"657":{"start":{"line":658,"column":0},"end":{"line":658,"column":3}},"658":{"start":{"line":659,"column":0},"end":{"line":659,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":224,"56":224,"57":224,"58":224,"59":224,"60":224,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":153,"70":153,"71":153,"72":153,"73":153,"74":153,"75":1,"76":0,"77":0,"78":1,"79":1,"80":1,"81":1,"82":1,"83":377,"84":377,"85":377,"86":377,"87":1405,"88":108,"89":108,"90":377,"91":377,"92":377,"93":377,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":55,"113":55,"114":55,"115":55,"116":55,"117":55,"118":55,"119":55,"120":55,"121":55,"122":55,"123":55,"124":55,"125":55,"126":55,"127":55,"128":55,"129":1,"130":1,"131":1,"132":1,"133":1,"134":52,"135":52,"136":52,"137":0,"138":0,"139":52,"140":52,"141":52,"142":52,"143":52,"144":52,"145":52,"146":52,"147":52,"148":52,"149":52,"150":52,"151":52,"152":52,"153":52,"154":52,"155":52,"156":52,"157":52,"158":52,"159":0,"160":0,"161":52,"162":52,"163":52,"164":52,"165":52,"166":52,"167":52,"168":52,"169":52,"170":52,"171":52,"172":52,"173":0,"174":0,"175":0,"176":52,"177":52,"178":52,"179":52,"180":52,"181":52,"182":52,"183":52,"184":52,"185":52,"186":52,"187":51,"188":51,"189":51,"190":51,"191":52,"192":0,"193":0,"194":52,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":51,"207":51,"208":52,"209":0,"210":52,"211":51,"212":51,"213":51,"214":51,"215":51,"216":51,"217":51,"218":51,"219":52,"220":1,"221":1,"222":1,"223":51,"224":51,"225":51,"226":51,"227":52,"228":0,"229":0,"230":51,"231":51,"232":51,"233":51,"234":51,"235":51,"236":51,"237":51,"238":51,"239":51,"240":51,"241":51,"242":52,"243":52,"244":52,"245":52,"246":1,"247":1,"248":1,"249":1,"250":1,"251":52,"252":52,"253":0,"254":0,"255":52,"256":52,"257":52,"258":52,"259":0,"260":0,"261":52,"262":52,"263":52,"264":52,"265":52,"266":52,"267":52,"268":52,"269":52,"270":52,"271":52,"272":52,"273":52,"274":52,"275":52,"276":52,"277":52,"278":52,"279":52,"280":52,"281":0,"282":0,"283":52,"284":52,"285":52,"286":52,"287":52,"288":52,"289":52,"290":52,"291":52,"292":52,"293":52,"294":51,"295":51,"296":51,"297":51,"298":52,"299":0,"300":0,"301":52,"302":0,"303":0,"304":0,"305":51,"306":51,"307":52,"308":0,"309":52,"310":51,"311":51,"312":51,"313":51,"314":51,"315":33,"316":33,"317":33,"318":52,"319":19,"320":19,"321":19,"322":19,"323":33,"324":33,"325":33,"326":33,"327":52,"328":0,"329":0,"330":33,"331":33,"332":33,"333":33,"334":33,"335":33,"336":33,"337":33,"338":33,"339":33,"340":33,"341":33,"342":1,"343":1,"344":1,"345":1,"346":1,"347":84,"348":84,"349":84,"350":84,"351":84,"352":84,"353":84,"354":84,"355":84,"356":84,"357":84,"358":84,"359":84,"360":84,"361":84,"362":84,"363":84,"364":84,"365":84,"366":225,"367":0,"368":0,"369":225,"370":225,"371":225,"372":225,"373":225,"374":224,"375":224,"376":225,"377":0,"378":0,"379":224,"380":224,"381":224,"382":224,"383":225,"384":63,"385":63,"386":63,"387":63,"388":161,"389":161,"390":161,"391":161,"392":161,"393":161,"394":161,"395":161,"396":161,"397":161,"398":161,"399":161,"400":225,"401":225,"402":225,"403":225,"404":225,"405":1,"406":1,"407":1,"408":0,"409":0,"410":225,"411":84,"412":84,"413":84,"414":487,"415":487,"416":84,"417":84,"418":84,"419":266,"420":0,"421":0,"422":266,"423":266,"424":266,"425":262,"426":262,"427":262,"428":266,"429":65,"430":65,"431":65,"432":65,"433":65,"434":65,"435":65,"436":65,"437":65,"438":65,"439":262,"440":262,"441":153,"442":153,"443":153,"444":153,"445":266,"446":0,"447":0,"448":0,"449":0,"450":0,"451":153,"452":153,"453":153,"454":153,"455":153,"456":153,"457":153,"458":153,"459":153,"460":153,"461":153,"462":266,"463":266,"464":266,"465":266,"466":109,"467":109,"468":109,"469":0,"470":0,"471":109,"472":109,"473":109,"474":109,"475":0,"476":0,"477":266,"478":262,"479":65,"480":65,"481":262,"482":266,"483":84,"484":84,"485":84,"486":84,"487":84,"488":84,"489":0,"490":84,"491":84,"492":84,"493":84,"494":84,"495":84,"496":250,"497":84,"498":84,"499":84,"500":84,"501":26,"502":26,"503":84,"504":0,"505":84,"506":84,"507":84,"508":84,"509":84,"510":84,"511":0,"512":84,"513":84,"514":250,"515":250,"516":250,"517":84,"518":84,"519":84,"520":84,"521":0,"522":0,"523":84,"524":84,"525":84,"526":84,"527":84,"528":84,"529":84,"530":84,"531":84,"532":84,"533":84,"534":84,"535":84,"536":84,"537":84,"538":84,"539":84,"540":84,"541":84,"542":84,"543":84,"544":84,"545":84,"546":84,"547":84,"548":84,"549":84,"550":84,"551":84,"552":1,"553":1,"554":1,"555":1,"556":1,"557":161,"558":161,"559":161,"560":161,"561":161,"562":1,"563":1,"564":1,"565":1,"566":1,"567":52,"568":52,"569":52,"570":52,"571":52,"572":52,"573":52,"574":52,"575":52,"576":52,"577":0,"578":0,"579":52,"580":52,"581":52,"582":52,"583":52,"584":51,"585":51,"586":52,"587":1,"588":1,"589":52,"590":1,"591":1,"592":1,"593":1,"594":1,"595":1,"596":52,"597":52,"598":52,"599":52,"600":52,"601":52,"602":52,"603":51,"604":51,"605":52,"606":0,"607":0,"608":51,"609":51,"610":51,"611":51,"612":51,"613":51,"614":51,"615":52,"616":1,"617":1,"618":52,"619":1,"620":1,"621":1,"622":1,"623":1,"624":1,"625":51,"626":51,"627":51,"628":51,"629":51,"630":51,"631":33,"632":33,"633":33,"634":51,"635":18,"636":18,"637":18,"638":51,"639":1,"640":1,"641":1,"642":1,"643":1,"644":1,"645":51,"646":51,"647":51,"648":51,"649":51,"650":51,"651":51,"652":51,"653":51,"654":0,"655":0,"656":0,"657":51,"658":1},"branchMap":{"0":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":0},"end":{"line":68,"column":1}},"locations":[{"start":{"line":56,"column":0},"end":{"line":68,"column":1}}]},"1":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":4},"end":{"line":68,"column":1}},"locations":[{"start":{"line":61,"column":4},"end":{"line":68,"column":1}}]},"2":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":0},"end":{"line":82,"column":1}},"locations":[{"start":{"line":70,"column":0},"end":{"line":82,"column":1}}]},"3":{"type":"branch","line":75,"loc":{"start":{"line":75,"column":4},"end":{"line":82,"column":1}},"locations":[{"start":{"line":75,"column":4},"end":{"line":82,"column":1}}]},"4":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":56},"end":{"line":78,"column":5}},"locations":[{"start":{"line":76,"column":56},"end":{"line":78,"column":5}}]},"5":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":0},"end":{"line":94,"column":1}},"locations":[{"start":{"line":84,"column":0},"end":{"line":94,"column":1}}]},"6":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":29},"end":{"line":91,"column":3}},"locations":[{"start":{"line":87,"column":29},"end":{"line":91,"column":3}}]},"7":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":43},"end":{"line":88,"column":80}},"locations":[{"start":{"line":88,"column":43},"end":{"line":88,"column":80}}]},"8":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":82},"end":{"line":90,"column":5}},"locations":[{"start":{"line":88,"column":82},"end":{"line":90,"column":5}}]},"9":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":2},"end":{"line":129,"column":3}},"locations":[{"start":{"line":112,"column":2},"end":{"line":129,"column":3}}]},"10":{"type":"branch","line":118,"loc":{"start":{"line":118,"column":38},"end":{"line":120,"column":5}},"locations":[{"start":{"line":118,"column":38},"end":{"line":120,"column":5}}]},"11":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":24},"end":{"line":126,"column":5}},"locations":[{"start":{"line":124,"column":24},"end":{"line":126,"column":5}}]},"12":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":2},"end":{"line":246,"column":3}},"locations":[{"start":{"line":134,"column":2},"end":{"line":246,"column":3}}]},"13":{"type":"branch","line":137,"loc":{"start":{"line":137,"column":17},"end":{"line":139,"column":5}},"locations":[{"start":{"line":137,"column":17},"end":{"line":139,"column":5}}]},"14":{"type":"branch","line":152,"loc":{"start":{"line":152,"column":6},"end":{"line":152,"column":14}},"locations":[{"start":{"line":152,"column":6},"end":{"line":152,"column":14}}]},"15":{"type":"branch","line":159,"loc":{"start":{"line":159,"column":79},"end":{"line":161,"column":7}},"locations":[{"start":{"line":159,"column":79},"end":{"line":161,"column":7}}]},"16":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":29},"end":{"line":163,"column":55}},"locations":[{"start":{"line":163,"column":29},"end":{"line":163,"column":55}}]},"17":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":14},"end":{"line":170,"column":30}},"locations":[{"start":{"line":170,"column":14},"end":{"line":170,"column":30}}]},"18":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":31},"end":{"line":176,"column":9}},"locations":[{"start":{"line":173,"column":31},"end":{"line":176,"column":9}}]},"19":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":16},"end":{"line":182,"column":32}},"locations":[{"start":{"line":182,"column":16},"end":{"line":182,"column":32}}]},"20":{"type":"branch","line":187,"loc":{"start":{"line":187,"column":55},"end":{"line":192,"column":14}},"locations":[{"start":{"line":187,"column":55},"end":{"line":192,"column":14}}]},"21":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":14},"end":{"line":194,"column":11}},"locations":[{"start":{"line":192,"column":14},"end":{"line":194,"column":11}}]},"22":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":9},"end":{"line":206,"column":9}},"locations":[{"start":{"line":195,"column":9},"end":{"line":206,"column":9}}]},"23":{"type":"branch","line":207,"loc":{"start":{"line":207,"column":-1},"end":{"line":209,"column":16}},"locations":[{"start":{"line":207,"column":-1},"end":{"line":209,"column":16}}]},"24":{"type":"branch","line":209,"loc":{"start":{"line":209,"column":16},"end":{"line":209,"column":30}},"locations":[{"start":{"line":209,"column":16},"end":{"line":209,"column":30}}]},"25":{"type":"branch","line":209,"loc":{"start":{"line":209,"column":40},"end":{"line":211,"column":15}},"locations":[{"start":{"line":209,"column":40},"end":{"line":211,"column":15}}]},"26":{"type":"branch","line":211,"loc":{"start":{"line":211,"column":9},"end":{"line":219,"column":9}},"locations":[{"start":{"line":211,"column":9},"end":{"line":219,"column":9}}]},"27":{"type":"branch","line":220,"loc":{"start":{"line":220,"column":8},"end":{"line":223,"column":7}},"locations":[{"start":{"line":220,"column":8},"end":{"line":223,"column":7}}]},"28":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":-1},"end":{"line":228,"column":10}},"locations":[{"start":{"line":224,"column":-1},"end":{"line":228,"column":10}}]},"29":{"type":"branch","line":228,"loc":{"start":{"line":228,"column":10},"end":{"line":230,"column":7}},"locations":[{"start":{"line":228,"column":10},"end":{"line":230,"column":7}}]},"30":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":-1},"end":{"line":242,"column":15}},"locations":[{"start":{"line":231,"column":-1},"end":{"line":242,"column":15}}]},"31":{"type":"branch","line":251,"loc":{"start":{"line":251,"column":2},"end":{"line":342,"column":3}},"locations":[{"start":{"line":251,"column":2},"end":{"line":342,"column":3}}]},"32":{"type":"branch","line":253,"loc":{"start":{"line":253,"column":23},"end":{"line":255,"column":5}},"locations":[{"start":{"line":253,"column":23},"end":{"line":255,"column":5}}]},"33":{"type":"branch","line":259,"loc":{"start":{"line":259,"column":92},"end":{"line":261,"column":5}},"locations":[{"start":{"line":259,"column":92},"end":{"line":261,"column":5}}]},"34":{"type":"branch","line":269,"loc":{"start":{"line":269,"column":27},"end":{"line":269,"column":53}},"locations":[{"start":{"line":269,"column":27},"end":{"line":269,"column":53}}]},"35":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":12},"end":{"line":278,"column":28}},"locations":[{"start":{"line":278,"column":12},"end":{"line":278,"column":28}}]},"36":{"type":"branch","line":281,"loc":{"start":{"line":281,"column":29},"end":{"line":283,"column":7}},"locations":[{"start":{"line":281,"column":29},"end":{"line":283,"column":7}}]},"37":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":14},"end":{"line":289,"column":30}},"locations":[{"start":{"line":289,"column":14},"end":{"line":289,"column":30}}]},"38":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":68},"end":{"line":299,"column":12}},"locations":[{"start":{"line":294,"column":68},"end":{"line":299,"column":12}}]},"39":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":12},"end":{"line":301,"column":9}},"locations":[{"start":{"line":299,"column":12},"end":{"line":301,"column":9}}]},"40":{"type":"branch","line":302,"loc":{"start":{"line":302,"column":7},"end":{"line":305,"column":7}},"locations":[{"start":{"line":302,"column":7},"end":{"line":305,"column":7}}]},"41":{"type":"branch","line":306,"loc":{"start":{"line":306,"column":-1},"end":{"line":308,"column":14}},"locations":[{"start":{"line":306,"column":-1},"end":{"line":308,"column":14}}]},"42":{"type":"branch","line":308,"loc":{"start":{"line":308,"column":14},"end":{"line":308,"column":28}},"locations":[{"start":{"line":308,"column":14},"end":{"line":308,"column":28}}]},"43":{"type":"branch","line":308,"loc":{"start":{"line":308,"column":38},"end":{"line":310,"column":13}},"locations":[{"start":{"line":308,"column":38},"end":{"line":310,"column":13}}]},"44":{"type":"branch","line":310,"loc":{"start":{"line":310,"column":7},"end":{"line":318,"column":7}},"locations":[{"start":{"line":310,"column":7},"end":{"line":318,"column":7}}]},"45":{"type":"branch","line":316,"loc":{"start":{"line":316,"column":-1},"end":{"line":318,"column":7}},"locations":[{"start":{"line":316,"column":-1},"end":{"line":318,"column":7}}]},"46":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":6},"end":{"line":323,"column":5}},"locations":[{"start":{"line":319,"column":6},"end":{"line":323,"column":5}}]},"47":{"type":"branch","line":324,"loc":{"start":{"line":324,"column":-1},"end":{"line":328,"column":8}},"locations":[{"start":{"line":324,"column":-1},"end":{"line":328,"column":8}}]},"48":{"type":"branch","line":328,"loc":{"start":{"line":328,"column":8},"end":{"line":330,"column":5}},"locations":[{"start":{"line":328,"column":8},"end":{"line":330,"column":5}}]},"49":{"type":"branch","line":331,"loc":{"start":{"line":331,"column":-1},"end":{"line":342,"column":3}},"locations":[{"start":{"line":331,"column":-1},"end":{"line":342,"column":3}}]},"50":{"type":"branch","line":347,"loc":{"start":{"line":347,"column":2},"end":{"line":552,"column":3}},"locations":[{"start":{"line":347,"column":2},"end":{"line":552,"column":3}}]},"51":{"type":"branch","line":536,"loc":{"start":{"line":536,"column":26},"end":{"line":536,"column":57}},"locations":[{"start":{"line":536,"column":26},"end":{"line":536,"column":57}}]},"52":{"type":"branch","line":366,"loc":{"start":{"line":366,"column":26},"end":{"line":412,"column":9}},"locations":[{"start":{"line":366,"column":26},"end":{"line":412,"column":9}}]},"53":{"type":"branch","line":367,"loc":{"start":{"line":367,"column":34},"end":{"line":369,"column":11}},"locations":[{"start":{"line":367,"column":34},"end":{"line":369,"column":11}}]},"54":{"type":"branch","line":372,"loc":{"start":{"line":372,"column":18},"end":{"line":404,"column":13}},"locations":[{"start":{"line":372,"column":18},"end":{"line":404,"column":13}}]},"55":{"type":"branch","line":375,"loc":{"start":{"line":375,"column":-1},"end":{"line":377,"column":38}},"locations":[{"start":{"line":375,"column":-1},"end":{"line":377,"column":38}}]},"56":{"type":"branch","line":377,"loc":{"start":{"line":377,"column":38},"end":{"line":379,"column":15}},"locations":[{"start":{"line":377,"column":38},"end":{"line":379,"column":15}}]},"57":{"type":"branch","line":380,"loc":{"start":{"line":380,"column":-1},"end":{"line":384,"column":49}},"locations":[{"start":{"line":380,"column":-1},"end":{"line":384,"column":49}}]},"58":{"type":"branch","line":384,"loc":{"start":{"line":384,"column":49},"end":{"line":388,"column":15}},"locations":[{"start":{"line":384,"column":49},"end":{"line":388,"column":15}}]},"59":{"type":"branch","line":389,"loc":{"start":{"line":389,"column":-1},"end":{"line":401,"column":37}},"locations":[{"start":{"line":389,"column":-1},"end":{"line":401,"column":37}}]},"60":{"type":"branch","line":401,"loc":{"start":{"line":401,"column":37},"end":{"line":401,"column":58}},"locations":[{"start":{"line":401,"column":37},"end":{"line":401,"column":58}}]},"61":{"type":"branch","line":405,"loc":{"start":{"line":405,"column":19},"end":{"line":411,"column":13}},"locations":[{"start":{"line":405,"column":19},"end":{"line":411,"column":13}}]},"62":{"type":"branch","line":408,"loc":{"start":{"line":408,"column":59},"end":{"line":410,"column":15}},"locations":[{"start":{"line":408,"column":59},"end":{"line":410,"column":15}}]},"63":{"type":"branch","line":414,"loc":{"start":{"line":414,"column":21},"end":{"line":416,"column":9}},"locations":[{"start":{"line":414,"column":21},"end":{"line":416,"column":9}}]},"64":{"type":"branch","line":419,"loc":{"start":{"line":419,"column":18},"end":{"line":483,"column":7}},"locations":[{"start":{"line":419,"column":18},"end":{"line":483,"column":7}}]},"65":{"type":"branch","line":420,"loc":{"start":{"line":420,"column":27},"end":{"line":422,"column":9}},"locations":[{"start":{"line":420,"column":27},"end":{"line":422,"column":9}}]},"66":{"type":"branch","line":426,"loc":{"start":{"line":426,"column":-1},"end":{"line":429,"column":38}},"locations":[{"start":{"line":426,"column":-1},"end":{"line":429,"column":38}}]},"67":{"type":"branch","line":429,"loc":{"start":{"line":429,"column":38},"end":{"line":439,"column":11}},"locations":[{"start":{"line":429,"column":38},"end":{"line":439,"column":11}}]},"68":{"type":"branch","line":438,"loc":{"start":{"line":438,"column":14},"end":{"line":438,"column":22}},"locations":[{"start":{"line":438,"column":14},"end":{"line":438,"column":22}}]},"69":{"type":"branch","line":440,"loc":{"start":{"line":440,"column":-1},"end":{"line":441,"column":88}},"locations":[{"start":{"line":440,"column":-1},"end":{"line":441,"column":88}}]},"70":{"type":"branch","line":442,"loc":{"start":{"line":442,"column":-1},"end":{"line":446,"column":45}},"locations":[{"start":{"line":442,"column":-1},"end":{"line":446,"column":45}}]},"71":{"type":"branch","line":446,"loc":{"start":{"line":446,"column":45},"end":{"line":451,"column":11}},"locations":[{"start":{"line":446,"column":45},"end":{"line":451,"column":11}}]},"72":{"type":"branch","line":452,"loc":{"start":{"line":452,"column":-1},"end":{"line":463,"column":33}},"locations":[{"start":{"line":452,"column":-1},"end":{"line":463,"column":33}}]},"73":{"type":"branch","line":463,"loc":{"start":{"line":463,"column":33},"end":{"line":463,"column":54}},"locations":[{"start":{"line":463,"column":33},"end":{"line":463,"column":54}}]},"74":{"type":"branch","line":466,"loc":{"start":{"line":466,"column":10},"end":{"line":478,"column":18}},"locations":[{"start":{"line":466,"column":10},"end":{"line":478,"column":18}}]},"75":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":55},"end":{"line":471,"column":11}},"locations":[{"start":{"line":469,"column":55},"end":{"line":471,"column":11}}]},"76":{"type":"branch","line":476,"loc":{"start":{"line":476,"column":-1},"end":{"line":478,"column":18}},"locations":[{"start":{"line":476,"column":-1},"end":{"line":478,"column":18}}]},"77":{"type":"branch","line":478,"loc":{"start":{"line":478,"column":9},"end":{"line":478,"column":19}},"locations":[{"start":{"line":478,"column":9},"end":{"line":478,"column":19}}]},"78":{"type":"branch","line":478,"loc":{"start":{"line":478,"column":18},"end":{"line":482,"column":9}},"locations":[{"start":{"line":478,"column":18},"end":{"line":482,"column":9}}]},"79":{"type":"branch","line":479,"loc":{"start":{"line":479,"column":34},"end":{"line":481,"column":11}},"locations":[{"start":{"line":479,"column":34},"end":{"line":481,"column":11}}]},"80":{"type":"branch","line":496,"loc":{"start":{"line":496,"column":11},"end":{"line":517,"column":7}},"locations":[{"start":{"line":496,"column":11},"end":{"line":517,"column":7}}]},"81":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":30},"end":{"line":497,"column":53}},"locations":[{"start":{"line":497,"column":30},"end":{"line":497,"column":53}}]},"82":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":53},"end":{"line":497,"column":72}},"locations":[{"start":{"line":497,"column":53},"end":{"line":497,"column":72}}]},"83":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":72},"end":{"line":497,"column":99}},"locations":[{"start":{"line":497,"column":72},"end":{"line":497,"column":99}}]},"84":{"type":"branch","line":497,"loc":{"start":{"line":497,"column":101},"end":{"line":514,"column":9}},"locations":[{"start":{"line":497,"column":101},"end":{"line":514,"column":9}}]},"85":{"type":"branch","line":499,"loc":{"start":{"line":499,"column":11},"end":{"line":511,"column":11}},"locations":[{"start":{"line":499,"column":11},"end":{"line":511,"column":11}}]},"86":{"type":"branch","line":501,"loc":{"start":{"line":501,"column":53},"end":{"line":503,"column":15}},"locations":[{"start":{"line":501,"column":53},"end":{"line":503,"column":15}}]},"87":{"type":"branch","line":504,"loc":{"start":{"line":504,"column":14},"end":{"line":506,"column":22}},"locations":[{"start":{"line":504,"column":14},"end":{"line":506,"column":22}}]},"88":{"type":"branch","line":537,"loc":{"start":{"line":537,"column":18},"end":{"line":537,"column":85}},"locations":[{"start":{"line":537,"column":18},"end":{"line":537,"column":85}}]},"89":{"type":"branch","line":537,"loc":{"start":{"line":537,"column":54},"end":{"line":537,"column":85}},"locations":[{"start":{"line":537,"column":54},"end":{"line":537,"column":85}}]},"90":{"type":"branch","line":538,"loc":{"start":{"line":538,"column":13},"end":{"line":544,"column":7}},"locations":[{"start":{"line":538,"column":13},"end":{"line":544,"column":7}}]},"91":{"type":"branch","line":557,"loc":{"start":{"line":557,"column":2},"end":{"line":562,"column":3}},"locations":[{"start":{"line":557,"column":2},"end":{"line":562,"column":3}}]},"92":{"type":"branch","line":567,"loc":{"start":{"line":567,"column":2},"end":{"line":590,"column":3}},"locations":[{"start":{"line":567,"column":2},"end":{"line":590,"column":3}}]},"93":{"type":"branch","line":577,"loc":{"start":{"line":577,"column":29},"end":{"line":579,"column":7}},"locations":[{"start":{"line":577,"column":29},"end":{"line":579,"column":7}}]},"94":{"type":"branch","line":584,"loc":{"start":{"line":584,"column":72},"end":{"line":587,"column":13}},"locations":[{"start":{"line":584,"column":72},"end":{"line":587,"column":13}}]},"95":{"type":"branch","line":587,"loc":{"start":{"line":587,"column":6},"end":{"line":589,"column":5}},"locations":[{"start":{"line":587,"column":6},"end":{"line":589,"column":5}}]},"96":{"type":"branch","line":596,"loc":{"start":{"line":596,"column":2},"end":{"line":619,"column":3}},"locations":[{"start":{"line":596,"column":2},"end":{"line":619,"column":3}}]},"97":{"type":"branch","line":604,"loc":{"start":{"line":604,"column":-1},"end":{"line":606,"column":29}},"locations":[{"start":{"line":604,"column":-1},"end":{"line":606,"column":29}}]},"98":{"type":"branch","line":606,"loc":{"start":{"line":606,"column":29},"end":{"line":608,"column":7}},"locations":[{"start":{"line":606,"column":29},"end":{"line":608,"column":7}}]},"99":{"type":"branch","line":609,"loc":{"start":{"line":609,"column":-1},"end":{"line":616,"column":13}},"locations":[{"start":{"line":609,"column":-1},"end":{"line":616,"column":13}}]},"100":{"type":"branch","line":616,"loc":{"start":{"line":616,"column":6},"end":{"line":618,"column":5}},"locations":[{"start":{"line":616,"column":6},"end":{"line":618,"column":5}}]},"101":{"type":"branch","line":625,"loc":{"start":{"line":625,"column":2},"end":{"line":639,"column":3}},"locations":[{"start":{"line":625,"column":2},"end":{"line":639,"column":3}}]},"102":{"type":"branch","line":632,"loc":{"start":{"line":632,"column":-1},"end":{"line":635,"column":13}},"locations":[{"start":{"line":632,"column":-1},"end":{"line":635,"column":13}}]},"103":{"type":"branch","line":635,"loc":{"start":{"line":635,"column":6},"end":{"line":638,"column":5}},"locations":[{"start":{"line":635,"column":6},"end":{"line":638,"column":5}}]},"104":{"type":"branch","line":645,"loc":{"start":{"line":645,"column":2},"end":{"line":658,"column":3}},"locations":[{"start":{"line":645,"column":2},"end":{"line":658,"column":3}}]},"105":{"type":"branch","line":654,"loc":{"start":{"line":654,"column":6},"end":{"line":657,"column":5}},"locations":[{"start":{"line":654,"column":6},"end":{"line":657,"column":5}}]}},"b":{"0":[224],"1":[0],"2":[153],"3":[1],"4":[0],"5":[377],"6":[1405],"7":[919],"8":[108],"9":[55],"10":[55],"11":[55],"12":[52],"13":[0],"14":[0],"15":[0],"16":[0],"17":[0],"18":[0],"19":[0],"20":[51],"21":[0],"22":[0],"23":[51],"24":[0],"25":[0],"26":[51],"27":[1],"28":[51],"29":[0],"30":[51],"31":[52],"32":[0],"33":[0],"34":[0],"35":[0],"36":[0],"37":[0],"38":[51],"39":[0],"40":[0],"41":[51],"42":[0],"43":[0],"44":[51],"45":[33],"46":[19],"47":[33],"48":[0],"49":[33],"50":[84],"51":[0],"52":[225],"53":[0],"54":[225],"55":[224],"56":[0],"57":[224],"58":[63],"59":[161],"60":[0],"61":[1],"62":[0],"63":[487],"64":[266],"65":[0],"66":[262],"67":[65],"68":[0],"69":[262],"70":[153],"71":[0],"72":[153],"73":[0],"74":[109],"75":[0],"76":[0],"77":[0],"78":[262],"79":[65],"80":[250],"81":[166],"82":[166],"83":[166],"84":[84],"85":[84],"86":[26],"87":[0],"88":[461],"89":[0],"90":[84],"91":[161],"92":[52],"93":[0],"94":[51],"95":[1],"96":[52],"97":[51],"98":[0],"99":[51],"100":[1],"101":[51],"102":[33],"103":[18],"104":[51],"105":[0]},"fnMap":{"0":{"name":"findIncomingStreamLimit","decl":{"start":{"line":56,"column":0},"end":{"line":68,"column":1}},"loc":{"start":{"line":56,"column":0},"end":{"line":68,"column":1}},"line":56},"1":{"name":"findOutgoingStreamLimit","decl":{"start":{"line":70,"column":0},"end":{"line":82,"column":1}},"loc":{"start":{"line":70,"column":0},"end":{"line":82,"column":1}},"line":70},"2":{"name":"countStreams","decl":{"start":{"line":84,"column":0},"end":{"line":94,"column":1}},"loc":{"start":{"line":84,"column":0},"end":{"line":94,"column":1}},"line":84},"3":{"name":"DefaultUpgrader","decl":{"start":{"line":112,"column":2},"end":{"line":129,"column":3}},"loc":{"start":{"line":112,"column":2},"end":{"line":129,"column":3}},"line":112},"4":{"name":"upgradeInbound","decl":{"start":{"line":134,"column":2},"end":{"line":246,"column":3}},"loc":{"start":{"line":134,"column":2},"end":{"line":246,"column":3}},"line":134},"5":{"name":"upgradeOutbound","decl":{"start":{"line":251,"column":2},"end":{"line":342,"column":3}},"loc":{"start":{"line":251,"column":2},"end":{"line":342,"column":3}},"line":251},"6":{"name":"_createConnection","decl":{"start":{"line":347,"column":2},"end":{"line":552,"column":3}},"loc":{"start":{"line":347,"column":2},"end":{"line":552,"column":3}},"line":347},"7":{"name":"onIncomingStream","decl":{"start":{"line":366,"column":26},"end":{"line":412,"column":9}},"loc":{"start":{"line":366,"column":26},"end":{"line":412,"column":9}},"line":366},"8":{"name":"onStreamEnd","decl":{"start":{"line":414,"column":21},"end":{"line":416,"column":9}},"loc":{"start":{"line":414,"column":21},"end":{"line":416,"column":9}},"line":414},"9":{"name":"newStream","decl":{"start":{"line":419,"column":18},"end":{"line":483,"column":7}},"loc":{"start":{"line":419,"column":18},"end":{"line":483,"column":7}},"line":419},"10":{"name":"set","decl":{"start":{"line":496,"column":11},"end":{"line":517,"column":7}},"loc":{"start":{"line":496,"column":11},"end":{"line":517,"column":7}},"line":496},"11":{"name":"errConnectionNotMultiplexed","decl":{"start":{"line":521,"column":40},"end":{"line":523,"column":5}},"loc":{"start":{"line":521,"column":40},"end":{"line":523,"column":5}},"line":521},"12":{"name":"getStreams","decl":{"start":{"line":537,"column":18},"end":{"line":537,"column":85}},"loc":{"start":{"line":537,"column":18},"end":{"line":537,"column":85}},"line":537},"13":{"name":"close","decl":{"start":{"line":538,"column":13},"end":{"line":544,"column":7}},"loc":{"start":{"line":538,"column":13},"end":{"line":544,"column":7}},"line":538},"14":{"name":"_onStream","decl":{"start":{"line":557,"column":2},"end":{"line":562,"column":3}},"loc":{"start":{"line":557,"column":2},"end":{"line":562,"column":3}},"line":557},"15":{"name":"_encryptInbound","decl":{"start":{"line":567,"column":2},"end":{"line":590,"column":3}},"loc":{"start":{"line":567,"column":2},"end":{"line":590,"column":3}},"line":567},"16":{"name":"_encryptOutbound","decl":{"start":{"line":596,"column":2},"end":{"line":619,"column":3}},"loc":{"start":{"line":596,"column":2},"end":{"line":619,"column":3}},"line":596},"17":{"name":"_multiplexOutbound","decl":{"start":{"line":625,"column":2},"end":{"line":639,"column":3}},"loc":{"start":{"line":625,"column":2},"end":{"line":639,"column":3}},"line":625},"18":{"name":"_multiplexInbound","decl":{"start":{"line":645,"column":2},"end":{"line":658,"column":3}},"loc":{"start":{"line":645,"column":2},"end":{"line":658,"column":3}},"line":645}},"f":{"0":224,"1":153,"2":377,"3":55,"4":52,"5":52,"6":84,"7":225,"8":487,"9":266,"10":250,"11":0,"12":461,"13":84,"14":161,"15":52,"16":52,"17":51,"18":51}} -,"/home/ckousik/projects/js-libp2p/src/version.ts": {"path":"/home/ckousik/projects/js-libp2p/src/version.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}}},"s":{"0":1,"1":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/address-manager/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/address-manager/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":77}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":69}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":56}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":51}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":50}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":55}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":67}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":37}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":5}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":69}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":5}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":32}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":55}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":19}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":57}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":21}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":63}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":23}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":50}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":16}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":36}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":64}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":14}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":32}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":35}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":71}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":79}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":62}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":85}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":35}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":40}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":40}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":48}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":49}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":59}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":94}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":101}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":87}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":11}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":47}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":32}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":49}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":62}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":29}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":69}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":31}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":34}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":59}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":35}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":36}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":61}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":28}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":36}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":61}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":32}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":80}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":61}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":47}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":3}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":0}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":5}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":87}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":62}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":5}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":46}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":3}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":32}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":52}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":28}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":37}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":46}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":29}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":55}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":41}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":56}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":83}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":7}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":5}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":36}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":86}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":40}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":12}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":5}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":33}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":59}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":3}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":32}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":64}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":29}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":70}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":82}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":5}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":74}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":24}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":34}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":30}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":50}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":34}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":18}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":67}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":19}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":9}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":74}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":8}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":3}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":55,"62":55,"63":55,"64":55,"65":55,"66":55,"67":55,"68":55,"69":55,"70":55,"71":1,"72":1,"73":1,"74":1,"75":1,"76":109,"77":109,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1104,"84":1104,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1104,"91":1104,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":0,"100":0,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":0,"108":0,"109":1,"110":1,"111":1,"112":1,"113":1,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":1,"138":1,"139":1104,"140":1104,"141":1104,"142":1104,"143":1104,"144":1104,"145":1104,"146":1104,"147":1104,"148":1104,"149":1104,"150":1104,"151":1104,"152":1104,"153":1104,"154":1104,"155":2120,"156":0,"157":0,"158":2120,"159":2120,"160":1104,"161":1104,"162":1},"branchMap":{"0":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":2},"end":{"line":71,"column":3}},"locations":[{"start":{"line":61,"column":2},"end":{"line":71,"column":3}}]},"1":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":45},"end":{"line":70,"column":69}},"locations":[{"start":{"line":70,"column":45},"end":{"line":70,"column":69}}]},"2":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":29},"end":{"line":67,"column":48}},"locations":[{"start":{"line":67,"column":29},"end":{"line":67,"column":48}}]},"3":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":78,"column":3}}]},"4":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":39},"end":{"line":77,"column":58}},"locations":[{"start":{"line":77,"column":39},"end":{"line":77,"column":58}}]},"5":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"locations":[{"start":{"line":83,"column":2},"end":{"line":85,"column":3}}]},"6":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":2},"end":{"line":92,"column":3}},"locations":[{"start":{"line":90,"column":2},"end":{"line":92,"column":3}}]},"7":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":2},"end":{"line":162,"column":3}},"locations":[{"start":{"line":139,"column":2},"end":{"line":162,"column":3}}]},"8":{"type":"branch","line":144,"loc":{"start":{"line":144,"column":62},"end":{"line":144,"column":81}},"locations":[{"start":{"line":144,"column":62},"end":{"line":144,"column":81}}]},"9":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":11},"end":{"line":154,"column":32}},"locations":[{"start":{"line":154,"column":11},"end":{"line":154,"column":32}}]},"10":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":11},"end":{"line":161,"column":7}},"locations":[{"start":{"line":155,"column":11},"end":{"line":161,"column":7}}]},"11":{"type":"branch","line":156,"loc":{"start":{"line":156,"column":66},"end":{"line":158,"column":9}},"locations":[{"start":{"line":156,"column":66},"end":{"line":158,"column":9}}]}},"b":{"0":[55],"1":[0],"2":[55],"3":[109],"4":[109],"5":[1104],"6":[1104],"7":[1104],"8":[3120],"9":[2120],"10":[2120],"11":[0]},"fnMap":{"0":{"name":"defaultAddressFilter","decl":{"start":{"line":45,"column":29},"end":{"line":45,"column":71}},"loc":{"start":{"line":45,"column":29},"end":{"line":45,"column":71}},"line":45},"1":{"name":"DefaultAddressManager","decl":{"start":{"line":61,"column":2},"end":{"line":71,"column":3}},"loc":{"start":{"line":61,"column":2},"end":{"line":71,"column":3}},"line":61},"2":{"name":"getListenAddrs","decl":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"loc":{"start":{"line":76,"column":2},"end":{"line":78,"column":3}},"line":76},"3":{"name":"getAnnounceAddrs","decl":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"loc":{"start":{"line":83,"column":2},"end":{"line":85,"column":3}},"line":83},"4":{"name":"getObservedAddrs","decl":{"start":{"line":90,"column":2},"end":{"line":92,"column":3}},"loc":{"start":{"line":90,"column":2},"end":{"line":92,"column":3}},"line":90},"5":{"name":"confirmObservedAddr","decl":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"loc":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"line":99},"6":{"name":"removeObservedAddr","decl":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"loc":{"start":{"line":107,"column":2},"end":{"line":109,"column":3}},"line":107},"7":{"name":"addObservedAddr","decl":{"start":{"line":114,"column":2},"end":{"line":137,"column":3}},"loc":{"start":{"line":114,"column":2},"end":{"line":137,"column":3}},"line":114},"8":{"name":"getAddresses","decl":{"start":{"line":139,"column":2},"end":{"line":162,"column":3}},"loc":{"start":{"line":139,"column":2},"end":{"line":162,"column":3}},"line":139}},"f":{"0":0,"1":55,"2":109,"3":1104,"4":1104,"5":0,"6":0,"7":0,"8":1104}} -,"/home/ckousik/projects/js-libp2p/src/circuit/client.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/client.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":8}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":21}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":21}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":23}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":55}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":65}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":62}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":24}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":65}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":39}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":69}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":61}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":50}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":43}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":37}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":31}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":26}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":48}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":39}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":34}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":1}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":93}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":41}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":47}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":42}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":38}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":77}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":64}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":26}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":66}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":11}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":32}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":67}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":52}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":27}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":35}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":39}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":62}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":66}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":77}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":60}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":22}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":8}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":6}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":84}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":35}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":6}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":81}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":97}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":6}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":16}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":23}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":3}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":0}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":12}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":43}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":23}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":17}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":55}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":31}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":23}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":3}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":5}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":49}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":104}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":97}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":26}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":90}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":32}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":48}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":12}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":5}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":35}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":83}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":93}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":80}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":30}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":32}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":41}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":7}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":12}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":30}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":12}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":85}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":9}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":82}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":39}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":31}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":45}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":14}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":7}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":43}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":76}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":69}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":14}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":60}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":52}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":24}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":23}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":5}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":3}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":5}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":21}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":5}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":54}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":33}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":40}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":32}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":49}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":38}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":34}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":31}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":12}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":5}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":46}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":20}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":6}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":3}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":5}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":52}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":5}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":81}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":32}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":66}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":9}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":51}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":53}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":14}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":7}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":51}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":0}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":75}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":37}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":79}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":53}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":43}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":7}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":0}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":35}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":39}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":39}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":15}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":42}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":0}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":48}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":91}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":13}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":61}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":0}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":106}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":70}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":23}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":30}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":64}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":29}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":11}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":22}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":10}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":7}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":0}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":34}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":27}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":7}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":24}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":23}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":28}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":5}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":3}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":0}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":5}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":24}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":41}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":33}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":59}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":50}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":5}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":3}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":5}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":54}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":72}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":102}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":91}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":27}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":5}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":68}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":50}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":51}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":12}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":5}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":0}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":30}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":55}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":93}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":44}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":33}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":102}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":0}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":64}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":35}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":16}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":7}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":42}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":16}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":7}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":0}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":85}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":52}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":32}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":16}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":7}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":50}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":0}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":78}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":56}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":37}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":32}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":16}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":7}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":52}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":52}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":53}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":14}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":7}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":5}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":0}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":58}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":43}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":44}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":0}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":52}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":53}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":14}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":7}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":5}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":0}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":47}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":9}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":59}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":87}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":47}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":18}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":9}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":34}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":0}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":52}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":62}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":18}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":9}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":0}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":84}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":46}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":0}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":54}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":55}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":16}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":9}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":7}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":24}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":23}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":5}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":3}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":0}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":46}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":9}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":50}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":62}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":14}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":7}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":87}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":52}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":24}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":57}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":95}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":5}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":3}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":75}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":9}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":82}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":37}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":49}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":7}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":0}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":39}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":0}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":51}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":64}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":0}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":32}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":53}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":32}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":17}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":21}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":60}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":65}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":18}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":11}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":9}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":69}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":7}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":24}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":20}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":54}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":5}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":3}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":42,"44":42,"45":42,"46":42,"47":42,"48":42,"49":42,"50":42,"51":42,"52":42,"53":42,"54":42,"55":42,"56":705,"57":0,"58":705,"59":42,"60":42,"61":42,"62":14,"63":42,"64":42,"65":42,"66":71,"67":42,"68":42,"69":1,"70":1,"71":0,"72":0,"73":1,"74":1,"75":42,"76":42,"77":42,"78":1,"79":1,"80":42,"81":45,"82":45,"83":42,"84":42,"85":42,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":705,"95":705,"96":705,"97":594,"98":594,"99":111,"100":111,"101":111,"102":111,"103":111,"104":111,"105":705,"106":44,"107":0,"108":0,"109":44,"110":44,"111":44,"112":67,"113":705,"114":0,"115":0,"116":67,"117":67,"118":67,"119":67,"120":67,"121":67,"122":67,"123":705,"124":0,"125":0,"126":0,"127":67,"128":67,"129":705,"130":1,"131":1,"132":1,"133":66,"134":66,"135":705,"136":0,"137":0,"138":705,"139":1,"140":1,"141":1,"142":1,"143":1,"144":14,"145":14,"146":14,"147":14,"148":14,"149":14,"150":14,"151":14,"152":3,"153":3,"154":11,"155":11,"156":0,"157":11,"158":11,"159":1,"160":1,"161":1,"162":1,"163":1,"164":69,"165":69,"166":69,"167":69,"168":69,"169":18,"170":18,"171":51,"172":51,"173":51,"174":51,"175":51,"176":51,"177":51,"178":51,"179":51,"180":51,"181":51,"182":51,"183":51,"184":119,"185":119,"186":119,"187":119,"188":108,"189":108,"190":119,"191":119,"192":119,"193":119,"194":119,"195":111,"196":119,"197":8,"198":8,"199":8,"200":8,"201":8,"202":51,"203":51,"204":51,"205":51,"206":51,"207":51,"208":69,"209":0,"210":0,"211":0,"212":69,"213":1,"214":1,"215":1,"216":1,"217":1,"218":17,"219":11,"220":11,"221":11,"222":17,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":53,"233":53,"234":1,"235":1,"236":52,"237":52,"238":52,"239":52,"240":52,"241":53,"242":13,"243":13,"244":13,"245":13,"246":13,"247":0,"248":0,"249":13,"250":13,"251":10,"252":10,"253":3,"254":3,"255":3,"256":3,"257":13,"258":0,"259":0,"260":3,"261":3,"262":3,"263":3,"264":3,"265":13,"266":2,"267":2,"268":2,"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":13,"277":51,"278":51,"279":53,"280":2,"281":2,"282":2,"283":2,"284":1,"285":1,"286":2,"287":50,"288":50,"289":50,"290":50,"291":53,"292":1,"293":0,"294":0,"295":1,"296":1,"297":1,"298":1,"299":0,"300":0,"301":0,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":53,"313":49,"314":49,"315":53,"316":1,"317":1,"318":3,"319":3,"320":0,"321":0,"322":0,"323":3,"324":2,"325":3,"326":1,"327":1,"328":1,"329":3,"330":1,"331":1,"332":51,"333":51,"334":51,"335":51,"336":0,"337":0,"338":51,"339":51,"340":51,"341":51,"342":45,"343":45,"344":45,"345":45,"346":45,"347":45,"348":45,"349":45,"350":45,"351":45,"352":45,"353":45,"354":45,"355":45,"356":45,"357":51,"358":6,"359":6,"360":6,"361":51,"362":1},"branchMap":{"0":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"locations":[{"start":{"line":22,"column":13},"end":{"line":22,"column":21}}]},"1":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":2},"end":{"line":69,"column":3}},"locations":[{"start":{"line":43,"column":2},"end":{"line":69,"column":3}}]},"2":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":43},"end":{"line":47,"column":67}},"locations":[{"start":{"line":47,"column":43},"end":{"line":47,"column":67}}]},"3":{"type":"branch","line":332,"loc":{"start":{"line":332,"column":48},"end":{"line":362,"column":3}},"locations":[{"start":{"line":332,"column":48},"end":{"line":362,"column":3}}]},"4":{"type":"branch","line":336,"loc":{"start":{"line":336,"column":36},"end":{"line":338,"column":7}},"locations":[{"start":{"line":336,"column":36},"end":{"line":338,"column":7}}]},"5":{"type":"branch","line":343,"loc":{"start":{"line":343,"column":-1},"end":{"line":357,"column":7}},"locations":[{"start":{"line":343,"column":-1},"end":{"line":357,"column":7}}]},"6":{"type":"branch","line":358,"loc":{"start":{"line":358,"column":6},"end":{"line":361,"column":5}},"locations":[{"start":{"line":358,"column":6},"end":{"line":361,"column":5}}]},"7":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":67},"end":{"line":60,"column":5}},"locations":[{"start":{"line":56,"column":67},"end":{"line":60,"column":5}}]},"8":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":74},"end":{"line":64,"column":5}},"locations":[{"start":{"line":62,"column":74},"end":{"line":64,"column":5}}]},"9":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":71},"end":{"line":68,"column":5}},"locations":[{"start":{"line":66,"column":71},"end":{"line":68,"column":5}}]},"10":{"type":"branch","line":75,"loc":{"start":{"line":75,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":75,"column":2},"end":{"line":78,"column":3}}]},"11":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":2},"end":{"line":86,"column":3}},"locations":[{"start":{"line":80,"column":2},"end":{"line":86,"column":3}}]},"12":{"type":"branch","line":81,"loc":{"start":{"line":81,"column":54},"end":{"line":83,"column":5}},"locations":[{"start":{"line":81,"column":54},"end":{"line":83,"column":5}}]},"13":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":2},"end":{"line":139,"column":3}},"locations":[{"start":{"line":94,"column":2},"end":{"line":139,"column":3}}]},"14":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":47},"end":{"line":99,"column":5}},"locations":[{"start":{"line":97,"column":47},"end":{"line":99,"column":5}}]},"15":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":-1},"end":{"line":106,"column":29}},"locations":[{"start":{"line":100,"column":-1},"end":{"line":106,"column":29}}]},"16":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":29},"end":{"line":112,"column":5}},"locations":[{"start":{"line":106,"column":29},"end":{"line":112,"column":5}}]},"17":{"type":"branch","line":107,"loc":{"start":{"line":107,"column":31},"end":{"line":109,"column":7}},"locations":[{"start":{"line":107,"column":31},"end":{"line":109,"column":7}}]},"18":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":-1},"end":{"line":114,"column":29}},"locations":[{"start":{"line":113,"column":-1},"end":{"line":114,"column":29}}]},"19":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":29},"end":{"line":116,"column":5}},"locations":[{"start":{"line":114,"column":29},"end":{"line":116,"column":5}}]},"20":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":-1},"end":{"line":124,"column":30}},"locations":[{"start":{"line":117,"column":-1},"end":{"line":124,"column":30}}]},"21":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":30},"end":{"line":127,"column":7}},"locations":[{"start":{"line":124,"column":30},"end":{"line":127,"column":7}}]},"22":{"type":"branch","line":128,"loc":{"start":{"line":128,"column":-1},"end":{"line":130,"column":75}},"locations":[{"start":{"line":128,"column":-1},"end":{"line":130,"column":75}}]},"23":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":75},"end":{"line":133,"column":7}},"locations":[{"start":{"line":130,"column":75},"end":{"line":133,"column":7}}]},"24":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":-1},"end":{"line":136,"column":13}},"locations":[{"start":{"line":134,"column":-1},"end":{"line":136,"column":13}}]},"25":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":6},"end":{"line":138,"column":5}},"locations":[{"start":{"line":136,"column":6},"end":{"line":138,"column":5}}]},"26":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":39},"end":{"line":102,"column":82}},"locations":[{"start":{"line":102,"column":39},"end":{"line":102,"column":82}}]},"27":{"type":"branch","line":144,"loc":{"start":{"line":144,"column":2},"end":{"line":159,"column":3}},"locations":[{"start":{"line":144,"column":2},"end":{"line":159,"column":3}}]},"28":{"type":"branch","line":152,"loc":{"start":{"line":152,"column":30},"end":{"line":154,"column":5}},"locations":[{"start":{"line":152,"column":30},"end":{"line":154,"column":5}}]},"29":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":-1},"end":{"line":159,"column":3}},"locations":[{"start":{"line":155,"column":-1},"end":{"line":159,"column":3}}]},"30":{"type":"branch","line":164,"loc":{"start":{"line":164,"column":2},"end":{"line":213,"column":3}},"locations":[{"start":{"line":164,"column":2},"end":{"line":213,"column":3}}]},"31":{"type":"branch","line":169,"loc":{"start":{"line":169,"column":52},"end":{"line":171,"column":7}},"locations":[{"start":{"line":169,"column":52},"end":{"line":171,"column":7}}]},"32":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":-1},"end":{"line":208,"column":7}},"locations":[{"start":{"line":172,"column":-1},"end":{"line":208,"column":7}}]},"33":{"type":"branch","line":209,"loc":{"start":{"line":209,"column":6},"end":{"line":212,"column":5}},"locations":[{"start":{"line":209,"column":6},"end":{"line":212,"column":5}}]},"34":{"type":"branch","line":178,"loc":{"start":{"line":178,"column":8},"end":{"line":178,"column":52}},"locations":[{"start":{"line":178,"column":8},"end":{"line":178,"column":52}}]},"35":{"type":"branch","line":179,"loc":{"start":{"line":179,"column":8},"end":{"line":179,"column":43}},"locations":[{"start":{"line":179,"column":8},"end":{"line":179,"column":43}}]},"36":{"type":"branch","line":184,"loc":{"start":{"line":184,"column":24},"end":{"line":203,"column":9}},"locations":[{"start":{"line":184,"column":24},"end":{"line":203,"column":9}}]},"37":{"type":"branch","line":188,"loc":{"start":{"line":188,"column":47},"end":{"line":190,"column":13}},"locations":[{"start":{"line":188,"column":47},"end":{"line":190,"column":13}}]},"38":{"type":"branch","line":196,"loc":{"start":{"line":196,"column":-1},"end":{"line":197,"column":19}},"locations":[{"start":{"line":196,"column":-1},"end":{"line":197,"column":19}}]},"39":{"type":"branch","line":197,"loc":{"start":{"line":197,"column":12},"end":{"line":203,"column":9}},"locations":[{"start":{"line":197,"column":12},"end":{"line":203,"column":9}}]},"40":{"type":"branch","line":218,"loc":{"start":{"line":218,"column":2},"end":{"line":223,"column":3}},"locations":[{"start":{"line":218,"column":2},"end":{"line":223,"column":3}}]},"41":{"type":"branch","line":219,"loc":{"start":{"line":219,"column":32},"end":{"line":222,"column":5}},"locations":[{"start":{"line":219,"column":32},"end":{"line":222,"column":5}}]},"42":{"type":"branch","line":232,"loc":{"start":{"line":232,"column":2},"end":{"line":316,"column":3}},"locations":[{"start":{"line":232,"column":2},"end":{"line":316,"column":3}}]},"43":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":50},"end":{"line":236,"column":5}},"locations":[{"start":{"line":234,"column":50},"end":{"line":236,"column":5}}]},"44":{"type":"branch","line":237,"loc":{"start":{"line":237,"column":-1},"end":{"line":242,"column":43}},"locations":[{"start":{"line":237,"column":-1},"end":{"line":242,"column":43}}]},"45":{"type":"branch","line":242,"loc":{"start":{"line":242,"column":43},"end":{"line":277,"column":5}},"locations":[{"start":{"line":242,"column":43},"end":{"line":277,"column":5}}]},"46":{"type":"branch","line":247,"loc":{"start":{"line":247,"column":34},"end":{"line":249,"column":7}},"locations":[{"start":{"line":247,"column":34},"end":{"line":249,"column":7}}]},"47":{"type":"branch","line":251,"loc":{"start":{"line":251,"column":41},"end":{"line":253,"column":7}},"locations":[{"start":{"line":251,"column":41},"end":{"line":253,"column":7}}]},"48":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":-1},"end":{"line":258,"column":31}},"locations":[{"start":{"line":254,"column":-1},"end":{"line":258,"column":31}}]},"49":{"type":"branch","line":258,"loc":{"start":{"line":258,"column":31},"end":{"line":260,"column":7}},"locations":[{"start":{"line":258,"column":31},"end":{"line":260,"column":7}}]},"50":{"type":"branch","line":261,"loc":{"start":{"line":261,"column":-1},"end":{"line":266,"column":36}},"locations":[{"start":{"line":261,"column":-1},"end":{"line":266,"column":36}}]},"51":{"type":"branch","line":266,"loc":{"start":{"line":266,"column":36},"end":{"line":269,"column":7}},"locations":[{"start":{"line":266,"column":36},"end":{"line":269,"column":7}}]},"52":{"type":"branch","line":270,"loc":{"start":{"line":270,"column":-1},"end":{"line":276,"column":7}},"locations":[{"start":{"line":270,"column":-1},"end":{"line":276,"column":7}}]},"53":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":-1},"end":{"line":280,"column":42}},"locations":[{"start":{"line":278,"column":-1},"end":{"line":280,"column":42}}]},"54":{"type":"branch","line":280,"loc":{"start":{"line":280,"column":42},"end":{"line":287,"column":5}},"locations":[{"start":{"line":280,"column":42},"end":{"line":287,"column":5}}]},"55":{"type":"branch","line":284,"loc":{"start":{"line":284,"column":52},"end":{"line":286,"column":7}},"locations":[{"start":{"line":284,"column":52},"end":{"line":286,"column":7}}]},"56":{"type":"branch","line":288,"loc":{"start":{"line":288,"column":-1},"end":{"line":292,"column":86}},"locations":[{"start":{"line":288,"column":-1},"end":{"line":292,"column":86}}]},"57":{"type":"branch","line":292,"loc":{"start":{"line":292,"column":86},"end":{"line":312,"column":7}},"locations":[{"start":{"line":292,"column":86},"end":{"line":312,"column":7}}]},"58":{"type":"branch","line":293,"loc":{"start":{"line":293,"column":46},"end":{"line":295,"column":9}},"locations":[{"start":{"line":293,"column":46},"end":{"line":295,"column":9}}]},"59":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":51},"end":{"line":302,"column":9}},"locations":[{"start":{"line":299,"column":51},"end":{"line":302,"column":9}}]},"60":{"type":"branch","line":313,"loc":{"start":{"line":313,"column":-1},"end":{"line":313,"column":13}},"locations":[{"start":{"line":313,"column":-1},"end":{"line":313,"column":13}}]},"61":{"type":"branch","line":313,"loc":{"start":{"line":313,"column":6},"end":{"line":315,"column":5}},"locations":[{"start":{"line":313,"column":6},"end":{"line":315,"column":5}}]},"62":{"type":"branch","line":255,"loc":{"start":{"line":255,"column":41},"end":{"line":255,"column":84}},"locations":[{"start":{"line":255,"column":41},"end":{"line":255,"column":84}}]},"63":{"type":"branch","line":318,"loc":{"start":{"line":318,"column":2},"end":{"line":330,"column":3}},"locations":[{"start":{"line":318,"column":2},"end":{"line":330,"column":3}}]},"64":{"type":"branch","line":320,"loc":{"start":{"line":320,"column":49},"end":{"line":323,"column":7}},"locations":[{"start":{"line":320,"column":49},"end":{"line":323,"column":7}}]},"65":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":-1},"end":{"line":326,"column":13}},"locations":[{"start":{"line":325,"column":-1},"end":{"line":326,"column":13}}]},"66":{"type":"branch","line":326,"loc":{"start":{"line":326,"column":6},"end":{"line":329,"column":5}},"locations":[{"start":{"line":326,"column":6},"end":{"line":329,"column":5}}]}},"b":{"0":[58],"1":[42],"2":[0],"3":[51],"4":[0],"5":[45],"6":[6],"7":[705],"8":[14],"9":[71],"10":[42],"11":[42],"12":[45],"13":[705],"14":[594],"15":[111],"16":[44],"17":[0],"18":[67],"19":[0],"20":[67],"21":[0],"22":[67],"23":[1],"24":[66],"25":[0],"26":[312],"27":[14],"28":[3],"29":[11],"30":[69],"31":[18],"32":[51],"33":[0],"34":[51],"35":[51],"36":[119],"37":[108],"38":[111],"39":[8],"40":[17],"41":[11],"42":[53],"43":[1],"44":[52],"45":[13],"46":[0],"47":[10],"48":[3],"49":[0],"50":[3],"51":[2],"52":[1],"53":[51],"54":[2],"55":[1],"56":[50],"57":[1],"58":[0],"59":[0],"60":[0],"61":[49],"62":[15],"63":[3],"64":[0],"65":[2],"66":[1]},"fnMap":{"0":{"name":"noop","decl":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":21}},"line":22},"1":{"name":"CircuitService","decl":{"start":{"line":43,"column":2},"end":{"line":69,"column":3}},"loc":{"start":{"line":43,"column":2},"end":{"line":69,"column":3}},"line":43},"2":{"name":"CircuitService.createOrRefreshReservation","decl":{"start":{"line":332,"column":48},"end":{"line":362,"column":3}},"loc":{"start":{"line":332,"column":48},"end":{"line":362,"column":3}},"line":332},"3":{"name":"isStarted","decl":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"loc":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"line":71},"4":{"name":"start","decl":{"start":{"line":75,"column":2},"end":{"line":78,"column":3}},"loc":{"start":{"line":75,"column":2},"end":{"line":78,"column":3}},"line":75},"5":{"name":"stop","decl":{"start":{"line":80,"column":2},"end":{"line":86,"column":3}},"loc":{"start":{"line":80,"column":2},"end":{"line":86,"column":3}},"line":80},"6":{"name":"_onProtocolChange","decl":{"start":{"line":94,"column":2},"end":{"line":139,"column":3}},"loc":{"start":{"line":94,"column":2},"end":{"line":139,"column":3}},"line":94},"7":{"name":"_onPeerDisconnected","decl":{"start":{"line":144,"column":2},"end":{"line":159,"column":3}},"loc":{"start":{"line":144,"column":2},"end":{"line":159,"column":3}},"line":144},"8":{"name":"_addListenRelay","decl":{"start":{"line":164,"column":2},"end":{"line":213,"column":3}},"loc":{"start":{"line":164,"column":2},"end":{"line":213,"column":3}},"line":164},"9":{"name":"_removeListenRelay","decl":{"start":{"line":218,"column":2},"end":{"line":223,"column":3}},"loc":{"start":{"line":218,"column":2},"end":{"line":223,"column":3}},"line":218},"10":{"name":"_listenOnAvailableHopRelays","decl":{"start":{"line":232,"column":2},"end":{"line":316,"column":3}},"loc":{"start":{"line":232,"column":2},"end":{"line":316,"column":3}},"line":232},"11":{"name":"_tryToListenOnRelay","decl":{"start":{"line":318,"column":2},"end":{"line":330,"column":3}},"loc":{"start":{"line":318,"column":2},"end":{"line":330,"column":3}},"line":318}},"f":{"0":58,"1":42,"2":51,"3":0,"4":42,"5":42,"6":705,"7":14,"8":69,"9":17,"10":53,"11":3}} -,"/home/ckousik/projects/js-libp2p/src/circuit/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":3}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":62}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":3}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":47}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":40}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":18}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":37}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":3}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":50}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":50}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/circuit/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":36}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":8}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":21}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":22}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":62}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":29}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":43}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":8}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":21}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":23}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":76}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":61}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":71}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":77}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":67}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":55}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":30}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":18}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":16}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":28}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":1}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":19}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":18}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":34}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":20}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":19}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":14}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":1}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":34}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":19}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":39}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":22}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":1}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":31}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":1}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":34}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":16}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":32}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":22}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":38}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":36}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":1}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":41}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":46}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":34}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":26}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":33}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":62}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":32}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":24}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":20}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":62}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":16}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":23}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":3}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":5}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":24}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":18}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":39}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":83}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":40}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":86}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":7}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":23}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":23}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":5}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":17}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":31}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":40}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":0}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":24}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":5}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":48}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":5}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":30}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":59}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":55}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":24}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":56}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":115}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":29}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":25}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":14}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":22}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":7}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":5}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":3}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":55,"71":55,"72":55,"73":55,"74":55,"75":1,"76":1,"77":0,"78":0,"79":1,"80":1,"81":1,"82":1,"83":1,"84":55,"85":55,"86":1,"87":1,"88":1,"89":1,"90":55,"91":55,"92":55,"93":1,"94":1,"95":1,"96":1,"97":1,"98":55,"99":1,"100":1,"101":55,"102":55,"103":55,"104":1,"105":1,"106":1,"107":1,"108":1,"109":2,"110":2,"111":2,"112":2,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":2,"122":1},"branchMap":{"0":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"locations":[{"start":{"line":70,"column":2},"end":{"line":75,"column":3}}]},"1":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":2},"end":{"line":93,"column":3}},"locations":[{"start":{"line":84,"column":2},"end":{"line":93,"column":3}}]},"2":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":39},"end":{"line":86,"column":80}},"locations":[{"start":{"line":86,"column":39},"end":{"line":86,"column":80}}]},"3":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":82},"end":{"line":90,"column":5}},"locations":[{"start":{"line":86,"column":82},"end":{"line":90,"column":5}}]},"4":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":2},"end":{"line":104,"column":3}},"locations":[{"start":{"line":98,"column":2},"end":{"line":104,"column":3}}]},"5":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":30},"end":{"line":101,"column":5}},"locations":[{"start":{"line":99,"column":30},"end":{"line":101,"column":5}}]},"6":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":2},"end":{"line":122,"column":3}},"locations":[{"start":{"line":109,"column":2},"end":{"line":122,"column":3}}]},"7":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":6},"end":{"line":121,"column":5}},"locations":[{"start":{"line":113,"column":6},"end":{"line":121,"column":5}}]}},"b":{"0":[55],"1":[55],"2":[33],"3":[1],"4":[55],"5":[1],"6":[2],"7":[0]},"fnMap":{"0":{"name":"Relay","decl":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":75,"column":3}},"line":70},"1":{"name":"isStarted","decl":{"start":{"line":77,"column":2},"end":{"line":79,"column":3}},"loc":{"start":{"line":77,"column":2},"end":{"line":79,"column":3}},"line":77},"2":{"name":"start","decl":{"start":{"line":84,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":84,"column":2},"end":{"line":93,"column":3}},"line":84},"3":{"name":"stop","decl":{"start":{"line":98,"column":2},"end":{"line":104,"column":3}},"loc":{"start":{"line":98,"column":2},"end":{"line":104,"column":3}},"line":98},"4":{"name":"_advertiseService","decl":{"start":{"line":109,"column":2},"end":{"line":122,"column":3}},"loc":{"start":{"line":109,"column":2},"end":{"line":122,"column":3}},"line":109}},"f":{"0":55,"1":0,"2":55,"3":55,"4":2}} -,"/home/ckousik/projects/js-libp2p/src/circuit/listener.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/listener.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":69}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":77}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":61}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":59}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":50}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":56}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":51}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":34}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":22}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":38}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":69}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":34}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":58}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":58}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":80}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":36}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":39}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":31}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":70}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":54}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":62}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":81}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":72}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":68}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":56}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":28}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":80}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":4}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":74}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":78}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":79}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":30}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":93}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":93}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":92}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":55}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":4}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":27}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":24}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":20}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":49}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":22}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":5}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":16}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":64}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":47}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":11}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":12}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":4}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":50}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":74}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":75}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":18}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":41}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":54}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":4}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":17}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":120,"15":120,"16":120,"17":120,"18":120,"19":120,"20":120,"21":120,"22":120,"23":120,"24":120,"25":120,"26":6,"27":6,"28":114,"29":114,"30":114,"31":114,"32":114,"33":114,"34":112,"35":112,"36":112,"37":112,"38":112,"39":120,"40":120,"41":120,"42":120,"43":120,"44":120,"45":120,"46":120,"47":120,"48":120,"49":120,"50":120,"51":120,"52":120,"53":120,"54":120,"55":120,"56":120,"57":2832,"58":2832,"59":1471,"60":1471,"61":2832,"62":2832,"63":120,"64":120,"65":120,"66":120,"67":120,"68":120,"69":120,"70":120,"71":120,"72":56,"73":56,"74":56,"75":56,"76":37,"77":37,"78":37,"79":120,"80":120,"81":120,"82":120},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":6},"end":{"line":83,"column":1}},"locations":[{"start":{"line":14,"column":6},"end":{"line":83,"column":1}}]},"1":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":2},"end":{"line":39,"column":3}},"locations":[{"start":{"line":20,"column":2},"end":{"line":39,"column":3}}]},"2":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":30},"end":{"line":28,"column":5}},"locations":[{"start":{"line":26,"column":30},"end":{"line":28,"column":5}}]},"3":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":-1},"end":{"line":34,"column":81}},"locations":[{"start":{"line":29,"column":-1},"end":{"line":34,"column":81}}]},"4":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":-1},"end":{"line":39,"column":3}},"locations":[{"start":{"line":35,"column":-1},"end":{"line":39,"column":3}}]},"5":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":66},"end":{"line":21,"column":79}},"locations":[{"start":{"line":21,"column":66},"end":{"line":21,"column":79}}]},"6":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"locations":[{"start":{"line":57,"column":2},"end":{"line":63,"column":3}}]},"7":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":48},"end":{"line":61,"column":5}},"locations":[{"start":{"line":59,"column":48},"end":{"line":61,"column":5}}]},"8":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":11},"end":{"line":66,"column":46}},"locations":[{"start":{"line":66,"column":11},"end":{"line":66,"column":46}}]},"9":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":64},"end":{"line":80,"column":3}},"locations":[{"start":{"line":72,"column":64},"end":{"line":80,"column":3}}]},"10":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":17},"end":{"line":79,"column":5}},"locations":[{"start":{"line":76,"column":17},"end":{"line":79,"column":5}}]}},"b":{"0":[120],"1":[120],"2":[6],"3":[114],"4":[112],"5":[120],"6":[2832],"7":[1471],"8":[116],"9":[56],"10":[37]},"fnMap":{"0":{"name":"createListener","decl":{"start":{"line":14,"column":6},"end":{"line":83,"column":1}},"loc":{"start":{"line":14,"column":6},"end":{"line":83,"column":1}},"line":14},"1":{"name":"listen","decl":{"start":{"line":20,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":20,"column":2},"end":{"line":39,"column":3}},"line":20},"2":{"name":"getAddrs","decl":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":57,"column":2},"end":{"line":63,"column":3}},"line":57},"3":{"name":"close","decl":{"start":{"line":66,"column":11},"end":{"line":66,"column":46}},"loc":{"start":{"line":66,"column":11},"end":{"line":66,"column":46}},"line":66}},"f":{"0":120,"1":120,"2":2832,"3":116}} -,"/home/ckousik/projects/js-libp2p/src/circuit/multicodec.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/multicodec.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":59}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":67}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":69}}},"s":{"0":1,"1":1,"2":1,"3":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/circuit/transport.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/transport.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":45}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":45}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":60}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":34}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":51}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":36}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":70}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":89}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":46}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":80}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":50}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":54}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":80}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":112}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":70}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":52}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":40}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":55}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":56}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":49}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":49}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":56}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":70}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":77}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":71}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":36}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":33}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":16}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":36}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":22}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":22}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":38}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":20}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":32}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":36}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":1}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":26}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":16}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":24}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":25}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":28}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":15}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":30}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":1}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":54}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":37}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":48}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":53}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":37}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":27}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":69}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":32}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":24}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":50}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":25}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":16}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":33}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":24}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":12}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":24}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":70}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":50}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":22}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":8}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":6}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":21}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":22}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":8}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":74}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":53}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":22}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":8}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":6}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":21}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":22}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":8}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":75}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":54}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":22}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":8}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":6}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":21}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":22}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":8}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":3}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":17}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":60}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":64}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":65}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":3}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":17}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":15}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":3}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":16}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":15}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":3}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":25}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":15}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":3}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":31}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":36}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":3}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":63}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":84}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":3}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":50}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":39}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":68}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":9}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":29}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":52}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":15}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":9}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":63}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":85}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":48}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":28}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":62}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":109}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":14}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":7}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":29}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":49}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":47}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":79}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":114}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":15}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":9}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":48}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":80}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":112}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":15}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":9}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":18}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":63}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":111}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":9}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":7}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":15}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":24}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":5}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":3}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":0}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":71}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":84}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":68}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":0}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":9}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":29}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":52}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":15}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":61}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":83}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":9}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":77}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":34}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":74}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":7}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":48}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":19}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":22}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":22}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":42}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":68}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":48}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":15}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":8}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":20}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":55}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":47}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":50}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":9}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":27}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":15}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":24}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":5}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":72}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":57}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":76}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":83}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":38}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":12}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":5}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":0}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":55}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":17}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":20}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":13}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":6}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":0}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":52}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":60}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":70}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":43}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":24}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":19}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":17}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":8}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":57}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":72}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":68}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":26}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":5}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":3}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":0}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":29}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":5}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":79}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":79}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":53}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":41}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":62}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":41}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":53}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":0}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":51}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":82}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":23}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":66}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":5}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":47}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":59}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":35}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":88}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":45}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":34}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":77}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":98}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":32}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":5}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":9}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":90}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":37}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":58}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":17}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":38}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":26}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":26}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":20}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":13}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":29}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":10}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":62}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":17}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":38}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":26}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":26}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":20}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":13}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":29}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":10}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":16}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":24}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":55}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":7}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":24}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":49}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":58}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":15}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":5}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":3}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":0}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":20}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":28}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":34}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":19}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":5}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":58}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":13}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":16}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":46}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":18}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":47}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":88}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":10}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":18}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":40}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":51}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":9}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":7}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":6}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":0}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":100}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":41}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":32}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":21}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":15}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":6}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":56}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":65}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":3}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":0}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":19}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":5}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":42}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":37}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":25}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":21}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":5}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":9}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":59}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":55}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":48}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":15}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":40}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":51}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":9}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":9}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":0}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":76}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":50}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":154}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":7}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":63}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":0}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":31}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":96}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":43}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":37}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":23}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":17}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":8}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":58}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":73}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":17}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":38}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":49}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":53}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":15}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":5}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":3}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":5}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":22}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":5}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":61}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":49}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":34}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":27}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":59}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":42}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":6}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":3}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":0}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":5}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":68}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":4}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":36}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":27}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":5}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":49}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":70}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":0}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":38}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":38}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":6}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":3}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":55,"67":55,"68":55,"69":55,"70":55,"71":1,"72":1,"73":0,"74":0,"75":1,"76":1,"77":55,"78":0,"79":0,"80":55,"81":55,"82":55,"83":0,"84":0,"85":0,"86":55,"87":55,"88":0,"89":55,"90":55,"91":55,"92":60,"93":0,"94":60,"95":55,"96":55,"97":0,"98":55,"99":55,"100":4,"101":0,"102":4,"103":55,"104":55,"105":0,"106":55,"107":55,"108":1,"109":1,"110":55,"111":55,"112":55,"113":55,"114":1,"115":1,"116":0,"117":0,"118":1,"119":1,"120":0,"121":0,"122":1,"123":1,"124":0,"125":0,"126":1,"127":1,"128":55,"129":55,"130":1,"131":1,"132":4,"133":4,"134":1,"135":1,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":1,"177":1,"178":60,"179":60,"180":60,"181":60,"182":60,"183":60,"184":60,"185":60,"186":60,"187":60,"188":60,"189":60,"190":57,"191":60,"192":0,"193":0,"194":54,"195":54,"196":54,"197":54,"198":54,"199":54,"200":54,"201":54,"202":54,"203":54,"204":60,"205":6,"206":6,"207":6,"208":6,"209":6,"210":60,"211":60,"212":60,"213":60,"214":1,"215":1,"216":4,"217":4,"218":4,"219":4,"220":0,"221":0,"222":4,"223":4,"224":4,"225":4,"226":4,"227":4,"228":4,"229":4,"230":4,"231":4,"232":4,"233":4,"234":4,"235":4,"236":4,"237":4,"238":4,"239":4,"240":4,"241":4,"242":4,"243":1,"244":1,"245":1,"246":1,"247":1,"248":7,"249":7,"250":7,"251":7,"252":7,"253":7,"254":7,"255":7,"256":0,"257":0,"258":0,"259":0,"260":7,"261":7,"262":7,"263":7,"264":7,"265":7,"266":7,"267":7,"268":7,"269":5,"270":5,"271":5,"272":5,"273":7,"274":7,"275":7,"276":7,"277":7,"278":7,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":7,"288":7,"289":7,"290":7,"291":7,"292":7,"293":7,"294":7,"295":7,"296":7,"297":0,"298":0,"299":7,"300":7,"301":3,"302":3,"303":2,"304":2,"305":7,"306":1,"307":1,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":1,"338":1,"339":7,"340":7,"341":7,"342":7,"343":7,"344":7,"345":7,"346":7,"347":7,"348":7,"349":7,"350":7,"351":7,"352":7,"353":7,"354":7,"355":7,"356":7,"357":3,"358":3,"359":4,"360":4,"361":4,"362":4,"363":4,"364":4,"365":4,"366":4,"367":4,"368":4,"369":4,"370":4,"371":4,"372":7,"373":3,"374":3,"375":2,"376":2,"377":7,"378":1,"379":1,"380":1,"381":1,"382":1,"383":120,"384":120,"385":120,"386":120,"387":120,"388":120,"389":120,"390":120,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1,"397":1,"398":1,"399":194,"400":194,"401":194,"402":194,"403":194,"404":194,"405":1},"branchMap":{"0":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":2},"end":{"line":71,"column":3}},"locations":[{"start":{"line":66,"column":2},"end":{"line":71,"column":3}}]},"1":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":2},"end":{"line":108,"column":3}},"locations":[{"start":{"line":77,"column":2},"end":{"line":108,"column":3}}]},"2":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":23},"end":{"line":80,"column":5}},"locations":[{"start":{"line":78,"column":23},"end":{"line":80,"column":5}}]},"3":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":63},"end":{"line":96,"column":5}},"locations":[{"start":{"line":92,"column":63},"end":{"line":96,"column":5}}]},"4":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":64},"end":{"line":104,"column":5}},"locations":[{"start":{"line":100,"column":64},"end":{"line":104,"column":5}}]},"5":{"type":"branch","line":110,"loc":{"start":{"line":110,"column":2},"end":{"line":114,"column":3}},"locations":[{"start":{"line":110,"column":2},"end":{"line":114,"column":3}}]},"6":{"type":"branch","line":128,"loc":{"start":{"line":128,"column":2},"end":{"line":130,"column":3}},"locations":[{"start":{"line":128,"column":2},"end":{"line":130,"column":3}}]},"7":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":2},"end":{"line":134,"column":3}},"locations":[{"start":{"line":132,"column":2},"end":{"line":134,"column":3}}]},"8":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":71},"end":{"line":133,"column":84}},"locations":[{"start":{"line":133,"column":71},"end":{"line":133,"column":84}}]},"9":{"type":"branch","line":178,"loc":{"start":{"line":178,"column":2},"end":{"line":214,"column":3}},"locations":[{"start":{"line":178,"column":2},"end":{"line":214,"column":3}}]},"10":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":6},"end":{"line":185,"column":15}},"locations":[{"start":{"line":185,"column":6},"end":{"line":185,"column":15}}]},"11":{"type":"branch","line":190,"loc":{"start":{"line":190,"column":76},"end":{"line":192,"column":17}},"locations":[{"start":{"line":190,"column":76},"end":{"line":192,"column":17}}]},"12":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":17},"end":{"line":192,"column":23}},"locations":[{"start":{"line":192,"column":17},"end":{"line":192,"column":23}}]},"13":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":33},"end":{"line":194,"column":7}},"locations":[{"start":{"line":192,"column":33},"end":{"line":194,"column":7}}]},"14":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":-1},"end":{"line":205,"column":13}},"locations":[{"start":{"line":195,"column":-1},"end":{"line":205,"column":13}}]},"15":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":6},"end":{"line":211,"column":14}},"locations":[{"start":{"line":205,"column":6},"end":{"line":211,"column":14}}]},"16":{"type":"branch","line":216,"loc":{"start":{"line":216,"column":2},"end":{"line":243,"column":3}},"locations":[{"start":{"line":216,"column":2},"end":{"line":243,"column":3}}]},"17":{"type":"branch","line":220,"loc":{"start":{"line":220,"column":37},"end":{"line":222,"column":5}},"locations":[{"start":{"line":220,"column":37},"end":{"line":222,"column":5}}]},"18":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":18},"end":{"line":241,"column":26}},"locations":[{"start":{"line":241,"column":18},"end":{"line":241,"column":26}}]},"19":{"type":"branch","line":248,"loc":{"start":{"line":248,"column":2},"end":{"line":306,"column":3}},"locations":[{"start":{"line":248,"column":2},"end":{"line":306,"column":3}}]},"20":{"type":"branch","line":256,"loc":{"start":{"line":256,"column":50},"end":{"line":260,"column":5}},"locations":[{"start":{"line":256,"column":50},"end":{"line":260,"column":5}}]},"21":{"type":"branch","line":269,"loc":{"start":{"line":269,"column":33},"end":{"line":273,"column":5}},"locations":[{"start":{"line":269,"column":33},"end":{"line":273,"column":5}}]},"22":{"type":"branch","line":279,"loc":{"start":{"line":279,"column":8},"end":{"line":287,"column":10}},"locations":[{"start":{"line":279,"column":8},"end":{"line":287,"column":10}}]},"23":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":8},"end":{"line":299,"column":55}},"locations":[{"start":{"line":297,"column":8},"end":{"line":299,"column":55}}]},"24":{"type":"branch","line":301,"loc":{"start":{"line":301,"column":6},"end":{"line":305,"column":5}},"locations":[{"start":{"line":301,"column":6},"end":{"line":305,"column":5}}]},"25":{"type":"branch","line":303,"loc":{"start":{"line":303,"column":25},"end":{"line":303,"column":58}},"locations":[{"start":{"line":303,"column":25},"end":{"line":303,"column":58}}]},"26":{"type":"branch","line":304,"loc":{"start":{"line":304,"column":-1},"end":{"line":305,"column":5}},"locations":[{"start":{"line":304,"column":-1},"end":{"line":305,"column":5}}]},"27":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":2},"end":{"line":378,"column":3}},"locations":[{"start":{"line":339,"column":2},"end":{"line":378,"column":3}}]},"28":{"type":"branch","line":357,"loc":{"start":{"line":357,"column":49},"end":{"line":359,"column":7}},"locations":[{"start":{"line":357,"column":49},"end":{"line":359,"column":7}}]},"29":{"type":"branch","line":358,"loc":{"start":{"line":358,"column":105},"end":{"line":358,"column":120}},"locations":[{"start":{"line":358,"column":105},"end":{"line":358,"column":120}}]},"30":{"type":"branch","line":360,"loc":{"start":{"line":360,"column":-1},"end":{"line":373,"column":13}},"locations":[{"start":{"line":360,"column":-1},"end":{"line":373,"column":13}}]},"31":{"type":"branch","line":373,"loc":{"start":{"line":373,"column":6},"end":{"line":377,"column":5}},"locations":[{"start":{"line":373,"column":6},"end":{"line":377,"column":5}}]},"32":{"type":"branch","line":375,"loc":{"start":{"line":375,"column":25},"end":{"line":375,"column":53}},"locations":[{"start":{"line":375,"column":25},"end":{"line":375,"column":53}}]},"33":{"type":"branch","line":376,"loc":{"start":{"line":376,"column":-1},"end":{"line":377,"column":5}},"locations":[{"start":{"line":376,"column":-1},"end":{"line":377,"column":5}}]},"34":{"type":"branch","line":383,"loc":{"start":{"line":383,"column":2},"end":{"line":391,"column":3}},"locations":[{"start":{"line":383,"column":2},"end":{"line":391,"column":3}}]},"35":{"type":"branch","line":399,"loc":{"start":{"line":399,"column":2},"end":{"line":405,"column":3}},"locations":[{"start":{"line":399,"column":2},"end":{"line":405,"column":3}}]},"36":{"type":"branch","line":400,"loc":{"start":{"line":400,"column":56},"end":{"line":400,"column":70}},"locations":[{"start":{"line":400,"column":56},"end":{"line":400,"column":70}}]},"37":{"type":"branch","line":402,"loc":{"start":{"line":402,"column":29},"end":{"line":404,"column":5}},"locations":[{"start":{"line":402,"column":29},"end":{"line":404,"column":5}}]}},"b":{"0":[55],"1":[55],"2":[0],"3":[60],"4":[4],"5":[55],"6":[55],"7":[4],"8":[0],"9":[60],"10":[0],"11":[57],"12":[54],"13":[0],"14":[54],"15":[6],"16":[4],"17":[0],"18":[0],"19":[7],"20":[0],"21":[5],"22":[0],"23":[0],"24":[3],"25":[2],"26":[2],"27":[7],"28":[3],"29":[0],"30":[4],"31":[3],"32":[2],"33":[2],"34":[120],"35":[194],"36":[0],"37":[194]},"fnMap":{"0":{"name":"Circuit","decl":{"start":{"line":66,"column":2},"end":{"line":71,"column":3}},"loc":{"start":{"line":66,"column":2},"end":{"line":71,"column":3}},"line":66},"1":{"name":"isStarted","decl":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"loc":{"start":{"line":73,"column":2},"end":{"line":75,"column":3}},"line":73},"2":{"name":"start","decl":{"start":{"line":77,"column":2},"end":{"line":108,"column":3}},"loc":{"start":{"line":77,"column":2},"end":{"line":108,"column":3}},"line":77},"3":{"name":"stop","decl":{"start":{"line":110,"column":2},"end":{"line":114,"column":3}},"loc":{"start":{"line":110,"column":2},"end":{"line":114,"column":3}},"line":110},"4":{"name":"hopEnabled","decl":{"start":{"line":116,"column":2},"end":{"line":118,"column":3}},"loc":{"start":{"line":116,"column":2},"end":{"line":118,"column":3}},"line":116},"5":{"name":"hopActive","decl":{"start":{"line":120,"column":2},"end":{"line":122,"column":3}},"loc":{"start":{"line":120,"column":2},"end":{"line":122,"column":3}},"line":120},"6":{"name":"getPeerConnection","decl":{"start":{"line":132,"column":2},"end":{"line":134,"column":3}},"loc":{"start":{"line":132,"column":2},"end":{"line":134,"column":3}},"line":132},"7":{"name":"_onProtocolV1","decl":{"start":{"line":136,"column":2},"end":{"line":176,"column":3}},"loc":{"start":{"line":136,"column":2},"end":{"line":176,"column":3}},"line":136},"8":{"name":"_onV2ProtocolHop","decl":{"start":{"line":178,"column":2},"end":{"line":214,"column":3}},"loc":{"start":{"line":178,"column":2},"end":{"line":214,"column":3}},"line":178},"9":{"name":"_onV2ProtocolStop","decl":{"start":{"line":216,"column":2},"end":{"line":243,"column":3}},"loc":{"start":{"line":216,"column":2},"end":{"line":243,"column":3}},"line":216},"10":{"name":"dial","decl":{"start":{"line":248,"column":2},"end":{"line":306,"column":3}},"loc":{"start":{"line":248,"column":2},"end":{"line":306,"column":3}},"line":248},"11":{"name":"connectV1","decl":{"start":{"line":308,"column":2},"end":{"line":337,"column":3}},"loc":{"start":{"line":308,"column":2},"end":{"line":337,"column":3}},"line":308},"12":{"name":"connectV2","decl":{"start":{"line":339,"column":2},"end":{"line":378,"column":3}},"loc":{"start":{"line":339,"column":2},"end":{"line":378,"column":3}},"line":339},"13":{"name":"createListener","decl":{"start":{"line":383,"column":2},"end":{"line":391,"column":3}},"loc":{"start":{"line":383,"column":2},"end":{"line":391,"column":3}},"line":383},"14":{"name":"filter","decl":{"start":{"line":399,"column":2},"end":{"line":405,"column":3}},"loc":{"start":{"line":399,"column":2},"end":{"line":405,"column":3}},"line":399}},"f":{"0":55,"1":0,"2":55,"3":55,"4":0,"5":0,"6":4,"7":0,"8":60,"9":4,"10":7,"11":0,"12":7,"13":120,"14":194}} -,"/home/ckousik/projects/js-libp2p/src/circuit/utils.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":38}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":49}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":3}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":3}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":72}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":51}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":41}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":27}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":58}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":50}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":52,"8":52,"9":52,"10":52,"11":52,"12":1,"13":1,"14":1,"15":45,"16":45},"branchMap":{"0":{"type":"branch","line":7,"loc":{"start":{"line":7,"column":7},"end":{"line":12,"column":1}},"locations":[{"start":{"line":7,"column":7},"end":{"line":12,"column":1}}]},"1":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":1}},"locations":[{"start":{"line":15,"column":6},"end":{"line":17,"column":1}}]}},"b":{"0":[52],"1":[45]},"fnMap":{"0":{"name":"namespaceToCid","decl":{"start":{"line":7,"column":7},"end":{"line":12,"column":1}},"loc":{"start":{"line":7,"column":7},"end":{"line":12,"column":1}},"line":7},"1":{"name":"getExpiration","decl":{"start":{"line":15,"column":6},"end":{"line":17,"column":1}},"loc":{"start":{"line":15,"column":6},"end":{"line":17,"column":1}},"line":15}},"f":{"0":52,"1":45}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v1/hop.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/hop.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":53}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":49}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":58}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":45}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":52}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":28}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":16}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":23}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":1}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":77}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":82}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":110}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":9}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":11}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":11}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":13}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":25}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":55}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":30}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":45}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":25}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":90}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":54}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":37}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":71}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":23}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":121}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"hop","decl":{"start":{"line":20,"column":7},"end":{"line":45,"column":1}},"loc":{"start":{"line":20,"column":7},"end":{"line":45,"column":1}},"line":20}},"f":{"0":0}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v1/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":44}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":58}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":104}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":23}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":35}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":8}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":4}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":23}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"handleCircuitV1Error","decl":{"start":{"line":5,"column":6},"end":{"line":11,"column":1}},"loc":{"start":{"line":5,"column":6},"end":{"line":11,"column":1}},"line":5}},"f":{"0":0}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v1/stream-handler.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/stream-handler.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":58}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":45}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":53}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":39}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":5}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":22}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":5}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":16}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":32}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":20}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":1}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":30}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":33}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":64}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":50}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":47}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":48}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":24}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":39}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":88}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":28}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":17}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":66}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":41}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":28}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":50}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":42}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":49}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":41}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":16}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":38}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":29}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":42}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":64}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":3}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":60}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":11}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":28}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":5}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":75}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":27}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":19}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":16}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":3}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":5}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":21}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":12}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":29}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":44}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":20}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":6}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":3}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":1,"35":1,"36":1,"37":1,"38":1,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":0,"58":0,"59":0,"60":1,"61":1,"62":1,"63":1,"64":1,"65":0,"66":0,"67":0,"68":1,"69":1,"70":1,"71":1,"72":1,"73":0,"74":0,"75":0,"76":1,"77":1,"78":1,"79":1,"80":1,"81":0,"82":0,"83":0,"84":0,"85":0,"86":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"StreamHandlerV1","decl":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"line":28},"1":{"name":"read","decl":{"start":{"line":39,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":39,"column":2},"end":{"line":52,"column":3}},"line":39},"2":{"name":"write","decl":{"start":{"line":57,"column":2},"end":{"line":60,"column":3}},"loc":{"start":{"line":57,"column":2},"end":{"line":60,"column":3}},"line":57},"3":{"name":"rest","decl":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"loc":{"start":{"line":65,"column":2},"end":{"line":68,"column":3}},"line":65},"4":{"name":"end","decl":{"start":{"line":73,"column":2},"end":{"line":76,"column":3}},"loc":{"start":{"line":73,"column":2},"end":{"line":76,"column":3}},"line":73},"5":{"name":"close","decl":{"start":{"line":81,"column":2},"end":{"line":86,"column":3}},"loc":{"start":{"line":81,"column":2},"end":{"line":86,"column":3}},"line":81}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v1/pb/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v1/pb/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":31}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":29}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":29}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":1}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":31}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":52}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":52}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":60}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":60}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":46}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":44}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":58}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":50}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":54}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":54}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":54}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":62}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":62}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":46}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":43}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":23}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":32}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":32}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":36}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":36}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":29}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":28}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":31}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":33}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":33}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":33}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":37}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":37}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":29}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":27}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":3}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":27}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":32}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":48}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":3}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":20}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":16}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":18}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":22}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":23}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":21}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":12}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":13}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":15}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":15}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":25}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":32}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":44}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":3}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":18}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":23}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":25}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":27}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":45}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":27}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":55}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":20}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":11}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":89}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":24}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":27}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":11}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":34}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":44}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":26}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":28}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":13}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":11}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":47}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":22}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":11}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":32}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":28}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":34}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":21}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":11}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":71}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":36}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":39}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":32}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":21}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":39}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":21}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":21}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":46}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":21}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":22}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":40}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":21}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":13}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":11}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":20}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":10}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":7}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":19}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":5}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":54}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":45}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":5}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":0}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":71}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":45}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":3}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":33}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":51}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":25}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":61}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":45}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":18}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":9}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":31}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":21}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":55}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":9}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":34}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":22}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":60}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":32}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":12}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":9}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":34}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":22}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":60}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":12}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":9}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":31}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":57}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":9}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":45}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":20}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":9}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":30}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":27}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":69}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":34}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":37}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":30}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":19}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":65}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":19}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":19}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":85}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":19}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":19}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":85}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":19}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":19}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":67}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":19}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":20}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":38}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":19}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":11}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":9}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":0}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":18}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":8}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":0}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":17}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":3}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":0}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":60}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":51}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":3}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":0}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":77}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":51}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":3}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":0,"58":0,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":0,"78":0,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":1,"142":1,"143":0,"144":0,"145":1,"146":1,"147":0,"148":0,"149":1,"150":1,"151":1,"152":1,"153":1,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":1,"221":1,"222":0,"223":0,"224":1,"225":1,"226":0,"227":0,"228":1},"branchMap":{"0":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":0},"end":{"line":229,"column":1}},"locations":[{"start":{"line":17,"column":0},"end":{"line":229,"column":1}}]},"1":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":25},"end":{"line":56,"column":27}},"locations":[{"start":{"line":56,"column":25},"end":{"line":56,"column":27}}]},"2":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":23},"end":{"line":76,"column":25}},"locations":[{"start":{"line":76,"column":23},"end":{"line":76,"column":25}}]},"3":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":2},"end":{"line":35,"column":3}},"locations":[{"start":{"line":18,"column":2},"end":{"line":35,"column":3}}]},"4":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":2},"end":{"line":54,"column":3}},"locations":[{"start":{"line":37,"column":2},"end":{"line":54,"column":3}}]},"5":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":2},"end":{"line":60,"column":3}},"locations":[{"start":{"line":56,"column":2},"end":{"line":60,"column":3}}]},"6":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":2},"end":{"line":67,"column":3}},"locations":[{"start":{"line":62,"column":2},"end":{"line":67,"column":3}}]},"7":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":2},"end":{"line":74,"column":3}},"locations":[{"start":{"line":69,"column":2},"end":{"line":74,"column":3}}]},"8":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":80,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":80,"column":3}}]},"9":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":2},"end":{"line":150,"column":3}},"locations":[{"start":{"line":87,"column":2},"end":{"line":150,"column":3}}]}},"b":{"0":[1],"1":[0],"2":[0],"3":[1],"4":[1],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1]},"fnMap":{"0":{"name":"Status.codec","decl":{"start":{"line":57,"column":25},"end":{"line":59,"column":5}},"loc":{"start":{"line":57,"column":25},"end":{"line":59,"column":5}},"line":57},"1":{"name":"Type.codec","decl":{"start":{"line":77,"column":25},"end":{"line":79,"column":5}},"loc":{"start":{"line":77,"column":25},"end":{"line":79,"column":5}},"line":77},"2":{"name":"Peer.codec","decl":{"start":{"line":90,"column":25},"end":{"line":141,"column":5}},"loc":{"start":{"line":90,"column":25},"end":{"line":141,"column":5}},"line":90},"3":{"name":"Peer.encode","decl":{"start":{"line":143,"column":26},"end":{"line":145,"column":5}},"loc":{"start":{"line":143,"column":26},"end":{"line":145,"column":5}},"line":143},"4":{"name":"Peer.decode","decl":{"start":{"line":147,"column":26},"end":{"line":149,"column":5}},"loc":{"start":{"line":147,"column":26},"end":{"line":149,"column":5}},"line":147},"5":{"name":"CircuitRelay.codec","decl":{"start":{"line":154,"column":23},"end":{"line":220,"column":3}},"loc":{"start":{"line":154,"column":23},"end":{"line":220,"column":3}},"line":154},"6":{"name":"CircuitRelay.encode","decl":{"start":{"line":222,"column":24},"end":{"line":224,"column":3}},"loc":{"start":{"line":222,"column":24},"end":{"line":224,"column":3}},"line":222},"7":{"name":"CircuitRelay.decode","decl":{"start":{"line":226,"column":24},"end":{"line":228,"column":3}},"loc":{"start":{"line":226,"column":24},"end":{"line":228,"column":3}},"line":226}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/hop.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/hop.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":52}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":62}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":83}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":53}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":46}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":56}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":51}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":53}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":59}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":32}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":67}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":49}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":42}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":37}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":24}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":32}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":19}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":25}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":15}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":11}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":36}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":71}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":33}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":69}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":69}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":14}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":111}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":73}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":35}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":5}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":1}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":56}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":62}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":65}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":55}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":41}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":33}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":36}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":7}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":60}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":20}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":105}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":25}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":11}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":71}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":31}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":83}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":19}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":25}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":1}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":135}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":59}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":49}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":92}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":68}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":63}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":25}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":10}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":3}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":93}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":36}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":52}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":25}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":10}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":3}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":7}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":18}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":20}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":7}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":37}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":26}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":117}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":13}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":8}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":66}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":17}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":82}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":67}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":3}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":77}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":30}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":19}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":81}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":1}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":59}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":88}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":59}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":60}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":7}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":53}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":36}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":84}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":63}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":10}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":3}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":63}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":51}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":40}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":96}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":31}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":90}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":47}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":12}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":5}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":56}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":103}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":60}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":10}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":3}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":66}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":78}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":97}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":60}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":10}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":3}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":83}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":40}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":38}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":14}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":37}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":13}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":44}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":76}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":7}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":4}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":70}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":96}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":63}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":10}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":3}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":0}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":83}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":43}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":75}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":67}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":20}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":17}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":22}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":16}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":3}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":1}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":32}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":26}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":21}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":16}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":25}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":18}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":39}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":31}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":3}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":74}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":21}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":23}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":31}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":18}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":10}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":10}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":11}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":30}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":3}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":1}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":0}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":3}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":44}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":2}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":3}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":78}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":32}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":33}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":10}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":4}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":23}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":1}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":3}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":19}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":2}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":3}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":74}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":45}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":54,"33":54,"34":54,"35":54,"36":0,"37":0,"38":0,"39":0,"40":54,"41":54,"42":1,"43":1,"44":51,"45":51,"46":49,"47":49,"48":49,"49":49,"50":49,"51":49,"52":49,"53":51,"54":51,"55":4,"56":4,"57":4,"58":4,"59":45,"60":51,"61":45,"62":45,"63":51,"64":51,"65":51,"66":51,"67":1,"68":47,"69":47,"70":47,"71":47,"72":47,"73":47,"74":0,"75":0,"76":0,"77":0,"78":0,"79":47,"80":47,"81":47,"82":47,"83":0,"84":0,"85":0,"86":0,"87":47,"88":47,"89":47,"90":47,"91":47,"92":47,"93":47,"94":47,"95":47,"96":47,"97":47,"98":47,"99":0,"100":0,"101":0,"102":47,"103":47,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":7,"111":7,"112":7,"113":7,"114":7,"115":7,"116":7,"117":0,"118":0,"119":0,"120":0,"121":7,"122":7,"123":7,"124":7,"125":7,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":7,"134":7,"135":3,"136":3,"137":3,"138":3,"139":4,"140":4,"141":7,"142":0,"143":0,"144":0,"145":0,"146":4,"147":4,"148":4,"149":4,"150":4,"151":4,"152":4,"153":4,"154":4,"155":4,"156":4,"157":4,"158":4,"159":4,"160":7,"161":0,"162":0,"163":0,"164":0,"165":4,"166":4,"167":4,"168":4,"169":4,"170":4,"171":4,"172":4,"173":4,"174":4,"175":4,"176":4,"177":1,"178":47,"179":47,"180":47,"181":47,"182":47,"183":47,"184":47,"185":47,"186":47,"187":47,"188":47,"189":47,"190":47,"191":47,"192":47,"193":47,"194":47,"195":47,"196":47,"197":47,"198":47,"199":47,"200":47,"201":47,"202":1,"203":1,"204":1,"205":1,"206":1,"207":3,"208":3,"209":3,"210":3,"211":3,"212":3,"213":3,"214":1,"215":1,"216":1,"217":1,"218":1,"219":54,"220":54,"221":54},"branchMap":{"0":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":7},"end":{"line":42,"column":1}},"locations":[{"start":{"line":32,"column":7},"end":{"line":42,"column":1}}]},"1":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":4},"end":{"line":34,"column":69}},"locations":[{"start":{"line":34,"column":4},"end":{"line":34,"column":69}}]},"2":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":69}},"locations":[{"start":{"line":35,"column":4},"end":{"line":35,"column":69}}]},"3":{"type":"branch","line":36,"loc":{"start":{"line":36,"column":4},"end":{"line":40,"column":5}},"locations":[{"start":{"line":36,"column":4},"end":{"line":40,"column":5}}]},"4":{"type":"branch","line":44,"loc":{"start":{"line":44,"column":7},"end":{"line":67,"column":1}},"locations":[{"start":{"line":44,"column":7},"end":{"line":67,"column":1}}]},"5":{"type":"branch","line":47,"loc":{"start":{"line":47,"column":-1},"end":{"line":54,"column":59}},"locations":[{"start":{"line":47,"column":-1},"end":{"line":54,"column":59}}]},"6":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":59},"end":{"line":55,"column":11}},"locations":[{"start":{"line":54,"column":59},"end":{"line":55,"column":11}}]},"7":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":4},"end":{"line":59,"column":3}},"locations":[{"start":{"line":55,"column":4},"end":{"line":59,"column":3}}]},"8":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":-1},"end":{"line":61,"column":68}},"locations":[{"start":{"line":60,"column":-1},"end":{"line":61,"column":68}}]},"9":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":70},"end":{"line":63,"column":3}},"locations":[{"start":{"line":61,"column":70},"end":{"line":63,"column":3}}]},"10":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":-1},"end":{"line":64,"column":81}},"locations":[{"start":{"line":64,"column":-1},"end":{"line":64,"column":81}}]},"11":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"locations":[{"start":{"line":69,"column":0},"end":{"line":104,"column":1}}]},"12":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":16},"end":{"line":74,"column":78}},"locations":[{"start":{"line":74,"column":16},"end":{"line":74,"column":78}}]},"13":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":91},"end":{"line":79,"column":3}},"locations":[{"start":{"line":74,"column":91},"end":{"line":79,"column":3}}]},"14":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":35},"end":{"line":87,"column":3}},"locations":[{"start":{"line":83,"column":35},"end":{"line":87,"column":3}}]},"15":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":109},"end":{"line":95,"column":114}},"locations":[{"start":{"line":95,"column":109},"end":{"line":95,"column":114}}]},"16":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":4},"end":{"line":102,"column":3}},"locations":[{"start":{"line":99,"column":4},"end":{"line":102,"column":3}}]},"17":{"type":"branch","line":111,"loc":{"start":{"line":111,"column":0},"end":{"line":177,"column":1}},"locations":[{"start":{"line":111,"column":0},"end":{"line":177,"column":1}}]},"18":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":4},"end":{"line":121,"column":3}},"locations":[{"start":{"line":117,"column":4},"end":{"line":121,"column":3}}]},"19":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":9},"end":{"line":126,"column":23}},"locations":[{"start":{"line":126,"column":9},"end":{"line":126,"column":23}}]},"20":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":39},"end":{"line":133,"column":3}},"locations":[{"start":{"line":126,"column":39},"end":{"line":133,"column":3}}]},"21":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":55},"end":{"line":139,"column":3}},"locations":[{"start":{"line":135,"column":55},"end":{"line":139,"column":3}}]},"22":{"type":"branch","line":140,"loc":{"start":{"line":140,"column":-1},"end":{"line":142,"column":75}},"locations":[{"start":{"line":140,"column":-1},"end":{"line":142,"column":75}}]},"23":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":77},"end":{"line":146,"column":3}},"locations":[{"start":{"line":142,"column":77},"end":{"line":146,"column":3}}]},"24":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":-1},"end":{"line":161,"column":67}},"locations":[{"start":{"line":147,"column":-1},"end":{"line":161,"column":67}}]},"25":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":69},"end":{"line":165,"column":3}},"locations":[{"start":{"line":161,"column":69},"end":{"line":165,"column":3}}]},"26":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":-1},"end":{"line":177,"column":1}},"locations":[{"start":{"line":166,"column":-1},"end":{"line":177,"column":1}}]},"27":{"type":"branch","line":179,"loc":{"start":{"line":179,"column":0},"end":{"line":202,"column":1}},"locations":[{"start":{"line":179,"column":0},"end":{"line":202,"column":1}}]},"28":{"type":"branch","line":208,"loc":{"start":{"line":208,"column":0},"end":{"line":214,"column":1}},"locations":[{"start":{"line":208,"column":0},"end":{"line":214,"column":1}}]},"29":{"type":"branch","line":220,"loc":{"start":{"line":220,"column":0},"end":{"line":222,"column":1}},"locations":[{"start":{"line":220,"column":0},"end":{"line":222,"column":1}}]}},"b":{"0":[54],"1":[47],"2":[7],"3":[0],"4":[51],"5":[49],"6":[48],"7":[4],"8":[45],"9":[45],"10":[0],"11":[47],"12":[0],"13":[0],"14":[0],"15":[0],"16":[0],"17":[7],"18":[0],"19":[0],"20":[0],"21":[3],"22":[4],"23":[0],"24":[4],"25":[0],"26":[4],"27":[47],"28":[3],"29":[54]},"fnMap":{"0":{"name":"handleHopProtocol","decl":{"start":{"line":32,"column":7},"end":{"line":42,"column":1}},"loc":{"start":{"line":32,"column":7},"end":{"line":42,"column":1}},"line":32},"1":{"name":"reserve","decl":{"start":{"line":44,"column":7},"end":{"line":67,"column":1}},"loc":{"start":{"line":44,"column":7},"end":{"line":67,"column":1}},"line":44},"2":{"name":"handleReserve","decl":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"loc":{"start":{"line":69,"column":0},"end":{"line":104,"column":1}},"line":69},"3":{"name":"handleConnect","decl":{"start":{"line":111,"column":0},"end":{"line":177,"column":1}},"loc":{"start":{"line":111,"column":0},"end":{"line":177,"column":1}},"line":111},"4":{"name":"makeReservation","decl":{"start":{"line":179,"column":0},"end":{"line":202,"column":1}},"loc":{"start":{"line":179,"column":0},"end":{"line":202,"column":1}},"line":179},"5":{"name":"writeErrorResponse","decl":{"start":{"line":208,"column":0},"end":{"line":214,"column":1}},"loc":{"start":{"line":208,"column":0},"end":{"line":214,"column":1}},"line":208},"6":{"name":"writeResponse","decl":{"start":{"line":220,"column":0},"end":{"line":222,"column":1}},"loc":{"start":{"line":220,"column":0},"end":{"line":222,"column":1}},"line":220}},"f":{"0":54,"1":51,"2":47,"3":7,"4":47,"5":3,"6":54}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":24}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":25}}},"s":{"0":1,"1":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-store.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-store.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":38}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":95}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":56}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":55}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":23}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":17}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":14}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":1}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":64}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":45}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":104}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":90}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":70}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":5}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":29}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":43}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":60}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":58}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":3}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":42}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":45}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":38}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":48}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":3}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":55,"15":1,"16":1,"17":47,"18":0,"19":0,"20":47,"21":47,"22":47,"23":47,"24":47,"25":1,"26":1,"27":0,"28":0,"29":1,"30":1,"31":7,"32":7,"33":1},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":2},"end":{"line":15,"column":3}},"locations":[{"start":{"line":14,"column":2},"end":{"line":15,"column":3}}]},"1":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"locations":[{"start":{"line":17,"column":2},"end":{"line":25,"column":3}}]},"2":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":44},"end":{"line":18,"column":87}},"locations":[{"start":{"line":18,"column":44},"end":{"line":18,"column":87}}]},"3":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":89},"end":{"line":20,"column":5}},"locations":[{"start":{"line":18,"column":89},"end":{"line":20,"column":5}}]},"4":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"locations":[{"start":{"line":31,"column":2},"end":{"line":33,"column":3}}]}},"b":{"0":[55],"1":[47],"2":[0],"3":[0],"4":[7]},"fnMap":{"0":{"name":"ReservationStore","decl":{"start":{"line":14,"column":2},"end":{"line":15,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":15,"column":3}},"line":14},"1":{"name":"reserve","decl":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"loc":{"start":{"line":17,"column":2},"end":{"line":25,"column":3}},"line":17},"2":{"name":"removeReservation","decl":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"loc":{"start":{"line":27,"column":2},"end":{"line":29,"column":3}},"line":27},"3":{"name":"hasReservation","decl":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":31,"column":2},"end":{"line":33,"column":3}},"line":31}},"f":{"0":55,"1":47,"2":0,"3":7}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-voucher.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/reservation-voucher.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":54}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":50}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":44}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":15}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":14}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":20}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":1}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":57}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":31}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":37}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":72}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":22}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":20}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":32}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":14}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":38}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":34}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":32}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":42}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":6}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":26}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":55}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":18}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":40}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":18}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":42}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":47}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":15}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":47,"20":47,"21":47,"22":47,"23":1,"24":1,"25":47,"26":47,"27":47,"28":47,"29":47,"30":47,"31":1,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":1},"branchMap":{"0":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"locations":[{"start":{"line":19,"column":2},"end":{"line":23,"column":3}}]},"1":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":2},"end":{"line":31,"column":3}},"locations":[{"start":{"line":25,"column":2},"end":{"line":31,"column":3}}]}},"b":{"0":[47],"1":[47]},"fnMap":{"0":{"name":"ReservationVoucherRecord","decl":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"line":19},"1":{"name":"marshal","decl":{"start":{"line":25,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":25,"column":2},"end":{"line":31,"column":3}},"line":25},"2":{"name":"equals","decl":{"start":{"line":33,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":33,"column":2},"end":{"line":50,"column":3}},"line":33}},"f":{"0":47,"1":47,"2":0}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/stop.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/stop.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":51}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":62}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":39}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":53}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":54}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":60}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":43}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":24}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":22}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":32}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":35}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":13}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":10}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":15}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":23}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":72}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":53}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":7}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":54}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":36}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":92}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":30}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":91}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":68}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":41}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":36}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":23}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":4}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":29}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":1}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":0}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":30}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":22}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":1}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":3}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":25}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":2}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":29}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":13}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":9}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":17}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":66}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":76}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":55}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":50}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":14}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":7}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":61}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":36}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":83}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":25}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":25}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":20}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":38}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":67}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":31}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":3}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":58}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":23}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":18}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":4,"19":4,"20":4,"21":4,"22":4,"23":4,"24":4,"25":4,"26":4,"27":0,"28":0,"29":4,"30":4,"31":4,"32":4,"33":4,"34":4,"35":4,"36":4,"37":4,"38":4,"39":4,"40":4,"41":4,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":4,"54":4,"55":4,"56":4,"57":4,"58":4,"59":4,"60":4,"61":4,"62":4,"63":4,"64":0,"65":0,"66":4,"67":4,"68":0,"69":0,"70":0,"71":4,"72":4,"73":4,"74":4,"75":0,"76":0,"77":0,"78":0,"79":0},"branchMap":{"0":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":7},"end":{"line":42,"column":1}},"locations":[{"start":{"line":18,"column":7},"end":{"line":42,"column":1}}]},"1":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":4},"end":{"line":29,"column":3}},"locations":[{"start":{"line":27,"column":4},"end":{"line":29,"column":3}}]},"2":{"type":"branch","line":53,"loc":{"start":{"line":53,"column":7},"end":{"line":80,"column":1}},"locations":[{"start":{"line":53,"column":7},"end":{"line":80,"column":1}}]},"3":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":4},"end":{"line":66,"column":3}},"locations":[{"start":{"line":64,"column":4},"end":{"line":66,"column":3}}]},"4":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":24},"end":{"line":71,"column":3}},"locations":[{"start":{"line":68,"column":24},"end":{"line":71,"column":3}}]},"5":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":-1},"end":{"line":80,"column":1}},"locations":[{"start":{"line":76,"column":-1},"end":{"line":80,"column":1}}]}},"b":{"0":[4],"1":[0],"2":[4],"3":[0],"4":[0],"5":[0]},"fnMap":{"0":{"name":"handleStop","decl":{"start":{"line":18,"column":7},"end":{"line":42,"column":1}},"loc":{"start":{"line":18,"column":7},"end":{"line":42,"column":1}},"line":18},"1":{"name":"stop","decl":{"start":{"line":53,"column":7},"end":{"line":80,"column":1}},"loc":{"start":{"line":53,"column":7},"end":{"line":80,"column":1}},"line":53}},"f":{"0":4,"1":4}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/stream-handler.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/stream-handler.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":58}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":45}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":53}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":39}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":5}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":22}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":5}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":16}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":5}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":32}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":20}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":1}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":30}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":33}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":35}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":46}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":47}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":48}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":24}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":39}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":51}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":88}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":3}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":28}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":4}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":11}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":17}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":66}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":41}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":28}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":30}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":49}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":41}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":16}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":27}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":51}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":3}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":60}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":11}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":21}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":28}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":3}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":56}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":5}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":25}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":19}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":16}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":3}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":21}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":4}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":12}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":29}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":44}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":20}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":6}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":3}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":125,"27":125,"28":125,"29":125,"30":125,"31":125,"32":125,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":125,"41":125,"42":125,"43":116,"44":116,"45":5,"46":5,"47":5,"48":5,"49":5,"50":1,"51":1,"52":125,"53":125,"54":1,"55":1,"56":1,"57":1,"58":1,"59":35,"60":35,"61":35,"62":1,"63":1,"64":1,"65":1,"66":1,"67":0,"68":0,"69":0,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":19,"77":19,"78":0,"79":19,"80":19,"81":1},"branchMap":{"0":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":2},"end":{"line":33,"column":3}},"locations":[{"start":{"line":26,"column":2},"end":{"line":33,"column":3}}]},"1":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":2},"end":{"line":50,"column":3}},"locations":[{"start":{"line":40,"column":2},"end":{"line":50,"column":3}}]},"2":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":-1},"end":{"line":43,"column":27}},"locations":[{"start":{"line":43,"column":-1},"end":{"line":43,"column":27}}]},"3":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":27},"end":{"line":45,"column":5}},"locations":[{"start":{"line":43,"column":27},"end":{"line":45,"column":5}}]},"4":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":-1},"end":{"line":50,"column":3}},"locations":[{"start":{"line":46,"column":-1},"end":{"line":50,"column":3}}]},"5":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":2},"end":{"line":54,"column":3}},"locations":[{"start":{"line":52,"column":2},"end":{"line":54,"column":3}}]},"6":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":2},"end":{"line":62,"column":3}},"locations":[{"start":{"line":59,"column":2},"end":{"line":62,"column":3}}]},"7":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":81,"column":3}},"locations":[{"start":{"line":76,"column":2},"end":{"line":81,"column":3}}]}},"b":{"0":[125],"1":[125],"2":[121],"3":[116],"4":[5],"5":[125],"6":[35],"7":[19]},"fnMap":{"0":{"name":"StreamHandlerV2","decl":{"start":{"line":26,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":26,"column":2},"end":{"line":33,"column":3}},"line":26},"1":{"name":"read","decl":{"start":{"line":40,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":40,"column":2},"end":{"line":50,"column":3}},"line":40},"2":{"name":"write","decl":{"start":{"line":52,"column":2},"end":{"line":54,"column":3}},"loc":{"start":{"line":52,"column":2},"end":{"line":54,"column":3}},"line":52},"3":{"name":"rest","decl":{"start":{"line":59,"column":2},"end":{"line":62,"column":3}},"loc":{"start":{"line":59,"column":2},"end":{"line":62,"column":3}},"line":59},"4":{"name":"end","decl":{"start":{"line":67,"column":2},"end":{"line":70,"column":3}},"loc":{"start":{"line":67,"column":2},"end":{"line":70,"column":3}},"line":67},"5":{"name":"close","decl":{"start":{"line":76,"column":2},"end":{"line":81,"column":3}},"loc":{"start":{"line":76,"column":2},"end":{"line":81,"column":3}},"line":76}},"f":{"0":125,"1":125,"2":125,"3":35,"4":0,"5":19}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/validation.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/validation.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":63}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":58}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":99}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":50}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":70}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":58}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":7}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":76}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":44}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":8}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":12}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":58}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":36}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":69}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":13}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":3}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":1}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":97}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":36}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":7}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":76}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":44}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":30}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":8}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":12}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":65}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":36}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":68}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":13}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":3}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":19}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":2}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":84}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":41}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":20}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":4}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":1}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":3}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":19}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":2}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":39}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":40}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":83}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":40}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":35}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":20}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":4}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":4,"6":0,"7":0,"8":0,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":0,"16":0,"17":4,"18":0,"19":0,"20":0,"21":4,"22":1,"23":1,"24":7,"25":7,"26":7,"27":7,"28":7,"29":7,"30":7,"31":7,"32":0,"33":0,"34":7,"35":0,"36":0,"37":0,"38":7,"39":1,"40":1,"41":1,"42":1,"43":1,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0},"branchMap":{"0":{"type":"branch","line":5,"loc":{"start":{"line":5,"column":6},"end":{"line":22,"column":1}},"locations":[{"start":{"line":5,"column":6},"end":{"line":22,"column":1}}]},"1":{"type":"branch","line":6,"loc":{"start":{"line":6,"column":49},"end":{"line":9,"column":3}},"locations":[{"start":{"line":6,"column":49},"end":{"line":9,"column":3}}]},"2":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":5},"end":{"line":17,"column":5}},"locations":[{"start":{"line":15,"column":5},"end":{"line":17,"column":5}}]},"3":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":4},"end":{"line":21,"column":3}},"locations":[{"start":{"line":18,"column":4},"end":{"line":21,"column":3}}]},"4":{"type":"branch","line":12,"loc":{"start":{"line":12,"column":33},"end":{"line":14,"column":7}},"locations":[{"start":{"line":12,"column":33},"end":{"line":14,"column":7}}]},"5":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":6},"end":{"line":39,"column":1}},"locations":[{"start":{"line":24,"column":6},"end":{"line":39,"column":1}}]},"6":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":5},"end":{"line":34,"column":5}},"locations":[{"start":{"line":32,"column":5},"end":{"line":34,"column":5}}]},"7":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":4},"end":{"line":38,"column":3}},"locations":[{"start":{"line":35,"column":4},"end":{"line":38,"column":3}}]},"8":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":33},"end":{"line":31,"column":7}},"locations":[{"start":{"line":29,"column":33},"end":{"line":31,"column":7}}]}},"b":{"0":[4],"1":[0],"2":[0],"3":[0],"4":[4],"5":[7],"6":[0],"7":[0],"8":[7]},"fnMap":{"0":{"name":"validateStopConnectRequest","decl":{"start":{"line":5,"column":6},"end":{"line":22,"column":1}},"loc":{"start":{"line":5,"column":6},"end":{"line":22,"column":1}},"line":5},"1":{"name":"validateHopConnectRequest","decl":{"start":{"line":24,"column":6},"end":{"line":39,"column":1}},"loc":{"start":{"line":24,"column":6},"end":{"line":39,"column":1}},"line":24},"2":{"name":"writeStopMessageResponse","decl":{"start":{"line":45,"column":0},"end":{"line":52,"column":1}},"loc":{"start":{"line":45,"column":0},"end":{"line":52,"column":1}},"line":45},"3":{"name":"writeHopMessageResponse","decl":{"start":{"line":60,"column":0},"end":{"line":67,"column":1}},"loc":{"start":{"line":60,"column":0},"end":{"line":67,"column":1}},"line":60}},"f":{"0":4,"1":7,"2":0,"3":0}} -,"/home/ckousik/projects/js-libp2p/src/circuit/v2/pb/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/circuit/v2/pb/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":29}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":23}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":13}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":27}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":15}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":17}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":29}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":24}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":21}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":16}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":16}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":14}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":3}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":25}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":32}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":44}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":31}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":49}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":25}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":59}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":45}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":18}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":9}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":96}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":21}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":53}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":9}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":31}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":22}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":44}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":32}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":12}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":9}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":38}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":58}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":32}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":12}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":9}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":32}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":22}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":46}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":32}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":12}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":9}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":33}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":22}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":46}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":9}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":45}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":20}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":9}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":30}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":28}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":9}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":69}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":34}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":37}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":30}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":19}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":63}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":19}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":19}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":69}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":19}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":19}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":83}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":19}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":19}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":71}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":19}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":19}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":56}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":19}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":20}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":38}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":19}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":11}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":18}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":8}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":5}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":17}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":58}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":49}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":3}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":75}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":49}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":1}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":30}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":24}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":13}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":17}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":1}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":30}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":20}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":24}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":21}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":3}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":21}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":16}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":14}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":3}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":25}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":32}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":44}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":5}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":3}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":32}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":50}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":25}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":60}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":45}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":18}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":9}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":96}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":21}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":54}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":9}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":0}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":31}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":22}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":44}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":32}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":12}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":9}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":32}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":22}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":46}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":12}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":9}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":22}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":46}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":9}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":45}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":20}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":9}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":30}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":26}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":28}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":9}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":69}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":34}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":37}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":30}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":19}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":64}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":19}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":19}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":69}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":19}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":19}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":71}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":19}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":19}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":56}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":19}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":20}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":38}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":19}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":11}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":9}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":0}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":18}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":8}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":5}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":0}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":17}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":3}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":0}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":59}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":50}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":3}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":0}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":76}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":50}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":3}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":1}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":0}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":23}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":16}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":21}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":1}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":0}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":23}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":25}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":43}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":25}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":53}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":45}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":18}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":9}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":87}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":22}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":25}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":9}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":32}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":42}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":24}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":26}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":11}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":9}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":0}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":45}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":20}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":9}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":30}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":26}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":32}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":19}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":9}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":69}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":34}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":37}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":30}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":19}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":37}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":19}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":19}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":44}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":19}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":20}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":38}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":19}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":11}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":9}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":0}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":18}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":8}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":5}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":17}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":3}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":0}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":52}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":43}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":3}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":0}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":69}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":43}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":3}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":1}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":0}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":30}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":16}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":21}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":22}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":1}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":0}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":30}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":32}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":0}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":50}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":25}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":60}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":45}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":18}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":9}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":0}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":63}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":21}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":30}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":9}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":0}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":32}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":42}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":24}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":26}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":11}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":9}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":0}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":34}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":22}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":30}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":9}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":45}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":20}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":9}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":30}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":26}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":21}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":19}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":9}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":0}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":69}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":0}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":34}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":37}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":0}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":30}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":19}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":42}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":19}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":19}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":44}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":19}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":19}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":42}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":19}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":20}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":38}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":19}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":11}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":9}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":0}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":18}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":8}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":5}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":0}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":17}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":3}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":0}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":59}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":50}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":3}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":0}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":76}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":50}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":3}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":1}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":0}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":24}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":19}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":15}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":1}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":24}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":26}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":0}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":44}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":25}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":54}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":45}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":18}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":9}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":0}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":35}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":21}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":32}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":9}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":0}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":31}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":22}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":28}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":9}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":0}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":45}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":20}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":9}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":30}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":27}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":0}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":69}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":0}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":34}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":37}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":0}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":30}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":19}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":44}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":19}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":19}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":40}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":19}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":20}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":38}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":19}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":11}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":9}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":0}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":18}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":8}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":5}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":17}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":3}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":0}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":53}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":44}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":3}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":0}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":70}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":44}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":3}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":1}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":0}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":20}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":12}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":46}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":54}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":42}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":42}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":36}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":42}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":43}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":1}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":0}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":21}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":11}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":28}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":32}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":26}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":26}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":23}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":26}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":26}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":1}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":0}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":25}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":30}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":46}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":3}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":1}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":37}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":19}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":18}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":20}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":1}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":0}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":37}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":39}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":0}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":57}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":25}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":67}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":45}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":18}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":9}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":0}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":93}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":22}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":28}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":9}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":0}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":91}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":22}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":27}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":9}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":0}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":67}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":22}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":34}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":9}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":0}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":45}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":20}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":9}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":30}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":26}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":35}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":34}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":24}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":9}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":0}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":69}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":0}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":34}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":37}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":0}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":30}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":19}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":40}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":19}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":19}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":39}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":19}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":19}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":46}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":19}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":20}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":38}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":19}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":11}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":9}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":0}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":18}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":8}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":5}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":0}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":17}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":3}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":0}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":66}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":57}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":3}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":0}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":83}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":57}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":3}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":127,"33":127,"34":1,"35":1,"36":1,"37":1,"38":1,"39":229,"40":1,"41":116,"42":0,"43":0,"44":116,"45":116,"46":67,"47":67,"48":67,"49":116,"50":116,"51":7,"52":7,"53":7,"54":7,"55":7,"56":116,"57":116,"58":47,"59":47,"60":47,"61":47,"62":47,"63":116,"64":116,"65":0,"66":0,"67":0,"68":0,"69":0,"70":116,"71":116,"72":60,"73":60,"74":60,"75":116,"76":116,"77":0,"78":0,"79":1,"80":108,"81":108,"82":108,"83":108,"84":108,"85":108,"86":108,"87":166,"88":166,"89":166,"90":166,"91":60,"92":60,"93":166,"94":7,"95":7,"96":166,"97":45,"98":45,"99":166,"100":0,"101":0,"102":166,"103":53,"104":53,"105":166,"106":1,"107":1,"108":166,"109":166,"110":107,"111":107,"112":1,"113":1,"114":229,"115":229,"116":229,"117":1,"118":1,"119":116,"120":116,"121":1,"122":1,"123":113,"124":113,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":8,"148":8,"149":1,"150":1,"151":1,"152":1,"153":1,"154":16,"155":1,"156":8,"157":0,"158":0,"159":8,"160":8,"161":4,"162":4,"163":4,"164":8,"165":8,"166":4,"167":4,"168":4,"169":4,"170":4,"171":8,"172":8,"173":0,"174":0,"175":0,"176":0,"177":0,"178":8,"179":8,"180":4,"181":4,"182":4,"183":8,"184":8,"185":0,"186":0,"187":1,"188":8,"189":8,"190":8,"191":8,"192":8,"193":8,"194":8,"195":12,"196":12,"197":12,"198":12,"199":4,"200":4,"201":12,"202":4,"203":4,"204":12,"205":0,"206":0,"207":12,"208":4,"209":4,"210":12,"211":0,"212":0,"213":12,"214":12,"215":8,"216":8,"217":1,"218":1,"219":16,"220":16,"221":16,"222":1,"223":1,"224":8,"225":8,"226":1,"227":1,"228":8,"229":8,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":22,"242":1,"243":11,"244":11,"245":11,"246":11,"247":11,"248":11,"249":11,"250":11,"251":11,"252":11,"253":11,"254":11,"255":11,"256":11,"257":11,"258":11,"259":11,"260":11,"261":11,"262":1,"263":11,"264":11,"265":11,"266":11,"267":11,"268":11,"269":11,"270":11,"271":22,"272":22,"273":22,"274":22,"275":11,"276":11,"277":22,"278":11,"279":11,"280":22,"281":0,"282":0,"283":22,"284":22,"285":11,"286":11,"287":1,"288":1,"289":22,"290":22,"291":22,"292":1,"293":1,"294":0,"295":0,"296":1,"297":1,"298":0,"299":0,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":92,"313":1,"314":47,"315":47,"316":47,"317":47,"318":47,"319":47,"320":47,"321":47,"322":47,"323":47,"324":47,"325":47,"326":47,"327":47,"328":47,"329":47,"330":47,"331":47,"332":47,"333":47,"334":47,"335":47,"336":47,"337":47,"338":1,"339":45,"340":45,"341":45,"342":45,"343":45,"344":45,"345":45,"346":45,"347":135,"348":135,"349":135,"350":135,"351":45,"352":45,"353":135,"354":45,"355":45,"356":135,"357":45,"358":45,"359":135,"360":0,"361":0,"362":135,"363":135,"364":45,"365":45,"366":1,"367":1,"368":92,"369":92,"370":92,"371":1,"372":1,"373":0,"374":0,"375":1,"376":1,"377":0,"378":0,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1,"388":1,"389":1,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":1,"437":1,"438":0,"439":0,"440":1,"441":1,"442":0,"443":0,"444":1,"445":1,"446":1,"447":1,"448":1,"449":1,"450":1,"451":1,"452":1,"453":1,"454":1,"455":1,"456":1,"457":1,"458":1,"459":1,"460":1,"461":1,"462":1,"463":1,"464":1,"465":1,"466":1,"467":1,"468":1,"469":1,"470":121,"471":121,"472":1,"473":1,"474":1,"475":1,"476":1,"477":1,"478":1,"479":1,"480":1,"481":1,"482":1,"483":47,"484":1,"485":47,"486":0,"487":0,"488":47,"489":47,"490":47,"491":47,"492":47,"493":47,"494":47,"495":47,"496":47,"497":47,"498":47,"499":47,"500":47,"501":47,"502":47,"503":47,"504":47,"505":0,"506":0,"507":1,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":1,"537":1,"538":47,"539":47,"540":47,"541":1,"542":1,"543":47,"544":47,"545":1,"546":1,"547":0,"548":0,"549":1},"branchMap":{"0":{"type":"branch","line":473,"loc":{"start":{"line":473,"column":0},"end":{"line":473,"column":1}},"locations":[{"start":{"line":473,"column":0},"end":{"line":473,"column":1}}]},"1":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":0},"end":{"line":126,"column":1}},"locations":[{"start":{"line":18,"column":0},"end":{"line":126,"column":1}}]},"2":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":25}},"locations":[{"start":{"line":31,"column":23},"end":{"line":31,"column":25}}]},"3":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":2},"end":{"line":23,"column":3}},"locations":[{"start":{"line":19,"column":2},"end":{"line":23,"column":3}}]},"4":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":2},"end":{"line":29,"column":3}},"locations":[{"start":{"line":25,"column":2},"end":{"line":29,"column":3}}]},"5":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":35,"column":3}},"locations":[{"start":{"line":31,"column":2},"end":{"line":35,"column":3}}]},"6":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":25},"end":{"line":34,"column":5}},"locations":[{"start":{"line":32,"column":25},"end":{"line":34,"column":5}}]},"7":{"type":"branch","line":39,"loc":{"start":{"line":39,"column":23},"end":{"line":117,"column":3}},"locations":[{"start":{"line":39,"column":23},"end":{"line":117,"column":3}}]},"8":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":24},"end":{"line":114,"column":5}},"locations":[{"start":{"line":40,"column":24},"end":{"line":114,"column":5}}]},"9":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":35},"end":{"line":80,"column":7}},"locations":[{"start":{"line":41,"column":35},"end":{"line":80,"column":7}}]},"10":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":44},"end":{"line":44,"column":9}},"locations":[{"start":{"line":42,"column":44},"end":{"line":44,"column":9}}]},"11":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":95},"end":{"line":49,"column":9}},"locations":[{"start":{"line":46,"column":95},"end":{"line":49,"column":9}}]},"12":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":30},"end":{"line":56,"column":9}},"locations":[{"start":{"line":51,"column":30},"end":{"line":56,"column":9}}]},"13":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":37},"end":{"line":63,"column":9}},"locations":[{"start":{"line":58,"column":37},"end":{"line":63,"column":9}}]},"14":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":31},"end":{"line":70,"column":9}},"locations":[{"start":{"line":65,"column":31},"end":{"line":70,"column":9}}]},"15":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":32},"end":{"line":75,"column":9}},"locations":[{"start":{"line":72,"column":32},"end":{"line":75,"column":9}}]},"16":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":44},"end":{"line":79,"column":9}},"locations":[{"start":{"line":77,"column":44},"end":{"line":79,"column":9}}]},"17":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":9},"end":{"line":113,"column":7}},"locations":[{"start":{"line":80,"column":9},"end":{"line":113,"column":7}}]},"18":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":48},"end":{"line":85,"column":69}},"locations":[{"start":{"line":85,"column":48},"end":{"line":85,"column":69}}]},"19":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":33},"end":{"line":110,"column":9}},"locations":[{"start":{"line":87,"column":33},"end":{"line":110,"column":9}}]},"20":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":12},"end":{"line":93,"column":19}},"locations":[{"start":{"line":91,"column":12},"end":{"line":93,"column":19}}]},"21":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":12},"end":{"line":96,"column":19}},"locations":[{"start":{"line":94,"column":12},"end":{"line":96,"column":19}}]},"22":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":12},"end":{"line":99,"column":19}},"locations":[{"start":{"line":97,"column":12},"end":{"line":99,"column":19}}]},"23":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":12},"end":{"line":102,"column":19}},"locations":[{"start":{"line":100,"column":12},"end":{"line":102,"column":19}}]},"24":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":12},"end":{"line":105,"column":19}},"locations":[{"start":{"line":103,"column":12},"end":{"line":105,"column":19}}]},"25":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":12},"end":{"line":108,"column":19}},"locations":[{"start":{"line":106,"column":12},"end":{"line":108,"column":19}}]},"26":{"type":"branch","line":111,"loc":{"start":{"line":111,"column":-1},"end":{"line":113,"column":7}},"locations":[{"start":{"line":111,"column":-1},"end":{"line":113,"column":7}}]},"27":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":24},"end":{"line":121,"column":3}},"locations":[{"start":{"line":119,"column":24},"end":{"line":121,"column":3}}]},"28":{"type":"branch","line":123,"loc":{"start":{"line":123,"column":24},"end":{"line":125,"column":3}},"locations":[{"start":{"line":123,"column":24},"end":{"line":125,"column":3}}]},"29":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":0},"end":{"line":231,"column":1}},"locations":[{"start":{"line":135,"column":0},"end":{"line":231,"column":1}}]},"30":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":23},"end":{"line":146,"column":25}},"locations":[{"start":{"line":146,"column":23},"end":{"line":146,"column":25}}]},"31":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":2},"end":{"line":139,"column":3}},"locations":[{"start":{"line":136,"column":2},"end":{"line":139,"column":3}}]},"32":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":2},"end":{"line":144,"column":3}},"locations":[{"start":{"line":141,"column":2},"end":{"line":144,"column":3}}]},"33":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":2},"end":{"line":150,"column":3}},"locations":[{"start":{"line":146,"column":2},"end":{"line":150,"column":3}}]},"34":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":25},"end":{"line":149,"column":5}},"locations":[{"start":{"line":147,"column":25},"end":{"line":149,"column":5}}]},"35":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":23},"end":{"line":222,"column":3}},"locations":[{"start":{"line":154,"column":23},"end":{"line":222,"column":3}}]},"36":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":24},"end":{"line":219,"column":5}},"locations":[{"start":{"line":155,"column":24},"end":{"line":219,"column":5}}]},"37":{"type":"branch","line":156,"loc":{"start":{"line":156,"column":36},"end":{"line":188,"column":7}},"locations":[{"start":{"line":156,"column":36},"end":{"line":188,"column":7}}]},"38":{"type":"branch","line":157,"loc":{"start":{"line":157,"column":44},"end":{"line":159,"column":9}},"locations":[{"start":{"line":157,"column":44},"end":{"line":159,"column":9}}]},"39":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":95},"end":{"line":164,"column":9}},"locations":[{"start":{"line":161,"column":95},"end":{"line":164,"column":9}}]},"40":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":30},"end":{"line":171,"column":9}},"locations":[{"start":{"line":166,"column":30},"end":{"line":171,"column":9}}]},"41":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":31},"end":{"line":178,"column":9}},"locations":[{"start":{"line":173,"column":31},"end":{"line":178,"column":9}}]},"42":{"type":"branch","line":180,"loc":{"start":{"line":180,"column":32},"end":{"line":183,"column":9}},"locations":[{"start":{"line":180,"column":32},"end":{"line":183,"column":9}}]},"43":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":44},"end":{"line":187,"column":9}},"locations":[{"start":{"line":185,"column":44},"end":{"line":187,"column":9}}]},"44":{"type":"branch","line":188,"loc":{"start":{"line":188,"column":9},"end":{"line":218,"column":7}},"locations":[{"start":{"line":188,"column":9},"end":{"line":218,"column":7}}]},"45":{"type":"branch","line":193,"loc":{"start":{"line":193,"column":48},"end":{"line":193,"column":69}},"locations":[{"start":{"line":193,"column":48},"end":{"line":193,"column":69}}]},"46":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":33},"end":{"line":215,"column":9}},"locations":[{"start":{"line":195,"column":33},"end":{"line":215,"column":9}}]},"47":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":12},"end":{"line":201,"column":19}},"locations":[{"start":{"line":199,"column":12},"end":{"line":201,"column":19}}]},"48":{"type":"branch","line":202,"loc":{"start":{"line":202,"column":12},"end":{"line":204,"column":19}},"locations":[{"start":{"line":202,"column":12},"end":{"line":204,"column":19}}]},"49":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":12},"end":{"line":207,"column":19}},"locations":[{"start":{"line":205,"column":12},"end":{"line":207,"column":19}}]},"50":{"type":"branch","line":208,"loc":{"start":{"line":208,"column":12},"end":{"line":210,"column":19}},"locations":[{"start":{"line":208,"column":12},"end":{"line":210,"column":19}}]},"51":{"type":"branch","line":211,"loc":{"start":{"line":211,"column":12},"end":{"line":213,"column":19}},"locations":[{"start":{"line":211,"column":12},"end":{"line":213,"column":19}}]},"52":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":24},"end":{"line":226,"column":3}},"locations":[{"start":{"line":224,"column":24},"end":{"line":226,"column":3}}]},"53":{"type":"branch","line":228,"loc":{"start":{"line":228,"column":24},"end":{"line":230,"column":3}},"locations":[{"start":{"line":228,"column":24},"end":{"line":230,"column":3}}]},"54":{"type":"branch","line":238,"loc":{"start":{"line":238,"column":0},"end":{"line":301,"column":1}},"locations":[{"start":{"line":238,"column":0},"end":{"line":301,"column":1}}]},"55":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":23},"end":{"line":292,"column":3}},"locations":[{"start":{"line":241,"column":23},"end":{"line":292,"column":3}}]},"56":{"type":"branch","line":242,"loc":{"start":{"line":242,"column":24},"end":{"line":289,"column":5}},"locations":[{"start":{"line":242,"column":24},"end":{"line":289,"column":5}}]},"57":{"type":"branch","line":243,"loc":{"start":{"line":243,"column":29},"end":{"line":263,"column":7}},"locations":[{"start":{"line":243,"column":29},"end":{"line":263,"column":7}}]},"58":{"type":"branch","line":263,"loc":{"start":{"line":263,"column":9},"end":{"line":288,"column":7}},"locations":[{"start":{"line":263,"column":9},"end":{"line":288,"column":7}}]},"59":{"type":"branch","line":269,"loc":{"start":{"line":269,"column":35},"end":{"line":269,"column":47}},"locations":[{"start":{"line":269,"column":35},"end":{"line":269,"column":47}}]},"60":{"type":"branch","line":271,"loc":{"start":{"line":271,"column":33},"end":{"line":285,"column":9}},"locations":[{"start":{"line":271,"column":33},"end":{"line":285,"column":9}}]},"61":{"type":"branch","line":275,"loc":{"start":{"line":275,"column":12},"end":{"line":277,"column":19}},"locations":[{"start":{"line":275,"column":12},"end":{"line":277,"column":19}}]},"62":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":12},"end":{"line":280,"column":19}},"locations":[{"start":{"line":278,"column":12},"end":{"line":280,"column":19}}]},"63":{"type":"branch","line":281,"loc":{"start":{"line":281,"column":12},"end":{"line":283,"column":19}},"locations":[{"start":{"line":281,"column":12},"end":{"line":283,"column":19}}]},"64":{"type":"branch","line":309,"loc":{"start":{"line":309,"column":0},"end":{"line":380,"column":1}},"locations":[{"start":{"line":309,"column":0},"end":{"line":380,"column":1}}]},"65":{"type":"branch","line":312,"loc":{"start":{"line":312,"column":23},"end":{"line":371,"column":3}},"locations":[{"start":{"line":312,"column":23},"end":{"line":371,"column":3}}]},"66":{"type":"branch","line":313,"loc":{"start":{"line":313,"column":24},"end":{"line":368,"column":5}},"locations":[{"start":{"line":313,"column":24},"end":{"line":368,"column":5}}]},"67":{"type":"branch","line":314,"loc":{"start":{"line":314,"column":36},"end":{"line":339,"column":7}},"locations":[{"start":{"line":314,"column":36},"end":{"line":339,"column":7}}]},"68":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":9},"end":{"line":367,"column":7}},"locations":[{"start":{"line":339,"column":9},"end":{"line":367,"column":7}}]},"69":{"type":"branch","line":345,"loc":{"start":{"line":345,"column":35},"end":{"line":345,"column":47}},"locations":[{"start":{"line":345,"column":35},"end":{"line":345,"column":47}}]},"70":{"type":"branch","line":347,"loc":{"start":{"line":347,"column":33},"end":{"line":364,"column":9}},"locations":[{"start":{"line":347,"column":33},"end":{"line":364,"column":9}}]},"71":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":12},"end":{"line":353,"column":19}},"locations":[{"start":{"line":351,"column":12},"end":{"line":353,"column":19}}]},"72":{"type":"branch","line":354,"loc":{"start":{"line":354,"column":12},"end":{"line":356,"column":19}},"locations":[{"start":{"line":354,"column":12},"end":{"line":356,"column":19}}]},"73":{"type":"branch","line":357,"loc":{"start":{"line":357,"column":12},"end":{"line":359,"column":19}},"locations":[{"start":{"line":357,"column":12},"end":{"line":359,"column":19}}]},"74":{"type":"branch","line":360,"loc":{"start":{"line":360,"column":12},"end":{"line":362,"column":19}},"locations":[{"start":{"line":360,"column":12},"end":{"line":362,"column":19}}]},"75":{"type":"branch","line":387,"loc":{"start":{"line":387,"column":0},"end":{"line":445,"column":1}},"locations":[{"start":{"line":387,"column":0},"end":{"line":445,"column":1}}]},"76":{"type":"branch","line":447,"loc":{"start":{"line":447,"column":0},"end":{"line":456,"column":1}},"locations":[{"start":{"line":447,"column":0},"end":{"line":456,"column":1}}]},"77":{"type":"branch","line":458,"loc":{"start":{"line":458,"column":0},"end":{"line":467,"column":1}},"locations":[{"start":{"line":458,"column":0},"end":{"line":467,"column":1}}]},"78":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":0},"end":{"line":473,"column":1}},"locations":[{"start":{"line":469,"column":0},"end":{"line":473,"column":1}}]},"79":{"type":"branch","line":470,"loc":{"start":{"line":470,"column":23},"end":{"line":472,"column":3}},"locations":[{"start":{"line":470,"column":23},"end":{"line":472,"column":3}}]},"80":{"type":"branch","line":480,"loc":{"start":{"line":480,"column":0},"end":{"line":550,"column":1}},"locations":[{"start":{"line":480,"column":0},"end":{"line":550,"column":1}}]},"81":{"type":"branch","line":483,"loc":{"start":{"line":483,"column":23},"end":{"line":541,"column":3}},"locations":[{"start":{"line":483,"column":23},"end":{"line":541,"column":3}}]},"82":{"type":"branch","line":484,"loc":{"start":{"line":484,"column":24},"end":{"line":538,"column":5}},"locations":[{"start":{"line":484,"column":24},"end":{"line":538,"column":5}}]},"83":{"type":"branch","line":485,"loc":{"start":{"line":485,"column":43},"end":{"line":508,"column":7}},"locations":[{"start":{"line":485,"column":43},"end":{"line":508,"column":7}}]},"84":{"type":"branch","line":486,"loc":{"start":{"line":486,"column":44},"end":{"line":488,"column":9}},"locations":[{"start":{"line":486,"column":44},"end":{"line":488,"column":9}}]},"85":{"type":"branch","line":505,"loc":{"start":{"line":505,"column":44},"end":{"line":507,"column":9}},"locations":[{"start":{"line":505,"column":44},"end":{"line":507,"column":9}}]},"86":{"type":"branch","line":543,"loc":{"start":{"line":543,"column":24},"end":{"line":545,"column":3}},"locations":[{"start":{"line":543,"column":24},"end":{"line":545,"column":3}}]}},"b":{"0":[0],"1":[1],"2":[0],"3":[1],"4":[1],"5":[1],"6":[127],"7":[229],"8":[1],"9":[116],"10":[0],"11":[67],"12":[7],"13":[47],"14":[0],"15":[60],"16":[0],"17":[108],"18":[0],"19":[166],"20":[60],"21":[7],"22":[45],"23":[0],"24":[53],"25":[1],"26":[107],"27":[116],"28":[113],"29":[1],"30":[0],"31":[1],"32":[1],"33":[1],"34":[8],"35":[16],"36":[1],"37":[8],"38":[0],"39":[4],"40":[4],"41":[0],"42":[4],"43":[0],"44":[8],"45":[0],"46":[12],"47":[4],"48":[4],"49":[0],"50":[4],"51":[0],"52":[8],"53":[8],"54":[1],"55":[22],"56":[1],"57":[11],"58":[11],"59":[0],"60":[22],"61":[11],"62":[11],"63":[0],"64":[1],"65":[92],"66":[1],"67":[47],"68":[45],"69":[0],"70":[135],"71":[45],"72":[45],"73":[45],"74":[0],"75":[1],"76":[1],"77":[1],"78":[1],"79":[121],"80":[1],"81":[47],"82":[1],"83":[47],"84":[0],"85":[0],"86":[47]},"fnMap":{"0":{"name":"Type.codec","decl":{"start":{"line":32,"column":25},"end":{"line":34,"column":5}},"loc":{"start":{"line":32,"column":25},"end":{"line":34,"column":5}},"line":32},"1":{"name":"HopMessage.codec","decl":{"start":{"line":39,"column":23},"end":{"line":117,"column":3}},"loc":{"start":{"line":39,"column":23},"end":{"line":117,"column":3}},"line":39},"2":{"name":"obj.type","decl":{"start":{"line":41,"column":35},"end":{"line":80,"column":7}},"loc":{"start":{"line":41,"column":35},"end":{"line":80,"column":7}},"line":41},"3":{"name":"HopMessage.encode","decl":{"start":{"line":119,"column":24},"end":{"line":121,"column":3}},"loc":{"start":{"line":119,"column":24},"end":{"line":121,"column":3}},"line":119},"4":{"name":"HopMessage.decode","decl":{"start":{"line":123,"column":24},"end":{"line":125,"column":3}},"loc":{"start":{"line":123,"column":24},"end":{"line":125,"column":3}},"line":123},"5":{"name":"Type.codec","decl":{"start":{"line":147,"column":25},"end":{"line":149,"column":5}},"loc":{"start":{"line":147,"column":25},"end":{"line":149,"column":5}},"line":147},"6":{"name":"StopMessage.codec","decl":{"start":{"line":154,"column":23},"end":{"line":222,"column":3}},"loc":{"start":{"line":154,"column":23},"end":{"line":222,"column":3}},"line":154},"7":{"name":"obj.type","decl":{"start":{"line":156,"column":36},"end":{"line":188,"column":7}},"loc":{"start":{"line":156,"column":36},"end":{"line":188,"column":7}},"line":156},"8":{"name":"StopMessage.encode","decl":{"start":{"line":224,"column":24},"end":{"line":226,"column":3}},"loc":{"start":{"line":224,"column":24},"end":{"line":226,"column":3}},"line":224},"9":{"name":"StopMessage.decode","decl":{"start":{"line":228,"column":24},"end":{"line":230,"column":3}},"loc":{"start":{"line":228,"column":24},"end":{"line":230,"column":3}},"line":228},"10":{"name":"Peer.codec","decl":{"start":{"line":241,"column":23},"end":{"line":292,"column":3}},"loc":{"start":{"line":241,"column":23},"end":{"line":292,"column":3}},"line":241},"11":{"name":"obj.id","decl":{"start":{"line":243,"column":29},"end":{"line":263,"column":7}},"loc":{"start":{"line":243,"column":29},"end":{"line":263,"column":7}},"line":243},"12":{"name":"Peer.encode","decl":{"start":{"line":294,"column":24},"end":{"line":296,"column":3}},"loc":{"start":{"line":294,"column":24},"end":{"line":296,"column":3}},"line":294},"13":{"name":"Peer.decode","decl":{"start":{"line":298,"column":24},"end":{"line":300,"column":3}},"loc":{"start":{"line":298,"column":24},"end":{"line":300,"column":3}},"line":298},"14":{"name":"Reservation.codec","decl":{"start":{"line":312,"column":23},"end":{"line":371,"column":3}},"loc":{"start":{"line":312,"column":23},"end":{"line":371,"column":3}},"line":312},"15":{"name":"obj.expire","decl":{"start":{"line":314,"column":36},"end":{"line":339,"column":7}},"loc":{"start":{"line":314,"column":36},"end":{"line":339,"column":7}},"line":314},"16":{"name":"Reservation.encode","decl":{"start":{"line":373,"column":24},"end":{"line":375,"column":3}},"loc":{"start":{"line":373,"column":24},"end":{"line":375,"column":3}},"line":373},"17":{"name":"Reservation.decode","decl":{"start":{"line":377,"column":24},"end":{"line":379,"column":3}},"loc":{"start":{"line":377,"column":24},"end":{"line":379,"column":3}},"line":377},"18":{"name":"Limit.codec","decl":{"start":{"line":390,"column":23},"end":{"line":436,"column":3}},"loc":{"start":{"line":390,"column":23},"end":{"line":436,"column":3}},"line":390},"19":{"name":"Limit.encode","decl":{"start":{"line":438,"column":24},"end":{"line":440,"column":3}},"loc":{"start":{"line":438,"column":24},"end":{"line":440,"column":3}},"line":438},"20":{"name":"Limit.decode","decl":{"start":{"line":442,"column":24},"end":{"line":444,"column":3}},"loc":{"start":{"line":442,"column":24},"end":{"line":444,"column":3}},"line":442},"21":{"name":"Status.codec","decl":{"start":{"line":470,"column":23},"end":{"line":472,"column":3}},"loc":{"start":{"line":470,"column":23},"end":{"line":472,"column":3}},"line":470},"22":{"name":"ReservationVoucher.codec","decl":{"start":{"line":483,"column":23},"end":{"line":541,"column":3}},"loc":{"start":{"line":483,"column":23},"end":{"line":541,"column":3}},"line":483},"23":{"name":"obj.relay","decl":{"start":{"line":485,"column":43},"end":{"line":508,"column":7}},"loc":{"start":{"line":485,"column":43},"end":{"line":508,"column":7}},"line":485},"24":{"name":"ReservationVoucher.encode","decl":{"start":{"line":543,"column":24},"end":{"line":545,"column":3}},"loc":{"start":{"line":543,"column":24},"end":{"line":545,"column":3}},"line":543},"25":{"name":"ReservationVoucher.decode","decl":{"start":{"line":547,"column":24},"end":{"line":549,"column":3}},"loc":{"start":{"line":547,"column":24},"end":{"line":549,"column":3}},"line":547}},"f":{"0":127,"1":229,"2":116,"3":116,"4":113,"5":8,"6":16,"7":8,"8":8,"9":8,"10":22,"11":11,"12":0,"13":0,"14":92,"15":47,"16":0,"17":0,"18":0,"19":0,"20":0,"21":121,"22":47,"23":47,"24":47,"25":0}} -,"/home/ckousik/projects/js-libp2p/src/connection/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":56}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":75}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":53}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":86}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":55}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":39}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":54}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":26}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":23}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":20}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":77}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":28}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":1}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":3}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":49}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":73}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":51}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":27}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":28}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":19}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":36}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":38}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":5}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":23}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":4}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":23}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":60}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":95}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":58}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":46}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":54}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":46}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":27}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":51}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":75}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":79}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":0}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":84}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":32}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":32}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":17}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":14}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":18}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":31}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":23}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":33}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":18}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":25}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":3}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":31}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":23}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":19}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":15}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":3}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":37}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":18}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":29}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":3}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":5}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":45}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":91}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":39}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":95}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":38}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":83}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":5}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":36}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":29}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":60}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":38}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":17}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":3}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":5}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":51}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":5}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":30}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":37}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":3}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":46}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":5}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":29}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":3}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":5}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":25}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":18}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":55}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":12}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":30}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":66}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":9}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":42}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":19}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":20}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":5}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":27}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":24}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":23}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":25}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":0}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":41}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":29}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":1}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":69}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":33}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":84,"74":84,"75":84,"76":84,"77":84,"78":84,"79":84,"80":84,"81":84,"82":84,"83":84,"84":84,"85":84,"86":84,"87":84,"88":1,"89":1,"90":0,"91":0,"92":1,"93":1,"94":0,"95":0,"96":1,"97":1,"98":1,"99":1,"100":1,"101":461,"102":461,"103":1,"104":1,"105":1,"106":1,"107":1,"108":492,"109":206,"110":206,"111":286,"112":492,"113":20,"114":20,"115":266,"116":492,"117":3,"118":3,"119":266,"120":266,"121":153,"122":153,"123":153,"124":153,"125":153,"126":1,"127":1,"128":1,"129":1,"130":1,"131":161,"132":161,"133":1,"134":1,"135":1,"136":1,"137":1,"138":487,"139":487,"140":1,"141":1,"142":1,"143":1,"144":1,"145":86,"146":2,"147":2,"148":84,"149":84,"150":84,"151":84,"152":84,"153":84,"154":86,"155":0,"156":0,"157":84,"158":84,"159":84,"160":84,"161":84,"162":84,"163":84,"164":84,"165":84,"166":1,"167":1,"168":1,"169":84,"170":84},"branchMap":{"0":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":2},"end":{"line":88,"column":3}},"locations":[{"start":{"line":73,"column":2},"end":{"line":88,"column":3}}]},"1":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"locations":[{"start":{"line":101,"column":2},"end":{"line":103,"column":3}}]},"2":{"type":"branch","line":108,"loc":{"start":{"line":108,"column":2},"end":{"line":126,"column":3}},"locations":[{"start":{"line":108,"column":2},"end":{"line":126,"column":3}}]},"3":{"type":"branch","line":109,"loc":{"start":{"line":109,"column":38},"end":{"line":111,"column":5}},"locations":[{"start":{"line":109,"column":38},"end":{"line":111,"column":5}}]},"4":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":-1},"end":{"line":113,"column":37}},"locations":[{"start":{"line":112,"column":-1},"end":{"line":113,"column":37}}]},"5":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":37},"end":{"line":115,"column":5}},"locations":[{"start":{"line":113,"column":37},"end":{"line":115,"column":5}}]},"6":{"type":"branch","line":116,"loc":{"start":{"line":116,"column":-1},"end":{"line":117,"column":35}},"locations":[{"start":{"line":116,"column":-1},"end":{"line":117,"column":35}}]},"7":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":35},"end":{"line":119,"column":5}},"locations":[{"start":{"line":117,"column":35},"end":{"line":119,"column":5}}]},"8":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":-1},"end":{"line":121,"column":60}},"locations":[{"start":{"line":120,"column":-1},"end":{"line":121,"column":60}}]},"9":{"type":"branch","line":122,"loc":{"start":{"line":122,"column":-1},"end":{"line":126,"column":3}},"locations":[{"start":{"line":122,"column":-1},"end":{"line":126,"column":3}}]},"10":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":2},"end":{"line":133,"column":3}},"locations":[{"start":{"line":131,"column":2},"end":{"line":133,"column":3}}]},"11":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":2},"end":{"line":140,"column":3}},"locations":[{"start":{"line":138,"column":2},"end":{"line":140,"column":3}}]},"12":{"type":"branch","line":145,"loc":{"start":{"line":145,"column":2},"end":{"line":166,"column":3}},"locations":[{"start":{"line":145,"column":2},"end":{"line":166,"column":3}}]},"13":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":35},"end":{"line":146,"column":52}},"locations":[{"start":{"line":146,"column":35},"end":{"line":146,"column":52}}]},"14":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":54},"end":{"line":148,"column":5}},"locations":[{"start":{"line":146,"column":54},"end":{"line":148,"column":5}}]},"15":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":-1},"end":{"line":155,"column":13}},"locations":[{"start":{"line":149,"column":-1},"end":{"line":155,"column":13}}]},"16":{"type":"branch","line":155,"loc":{"start":{"line":155,"column":6},"end":{"line":157,"column":5}},"locations":[{"start":{"line":155,"column":6},"end":{"line":157,"column":5}}]},"17":{"type":"branch","line":158,"loc":{"start":{"line":158,"column":-1},"end":{"line":166,"column":3}},"locations":[{"start":{"line":158,"column":-1},"end":{"line":166,"column":3}}]},"18":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":27},"end":{"line":154,"column":41}},"locations":[{"start":{"line":154,"column":27},"end":{"line":154,"column":41}}]},"19":{"type":"branch","line":169,"loc":{"start":{"line":169,"column":6},"end":{"line":171,"column":1}},"locations":[{"start":{"line":169,"column":6},"end":{"line":171,"column":1}}]}},"b":{"0":[84],"1":[461],"2":[492],"3":[206],"4":[286],"5":[20],"6":[266],"7":[3],"8":[266],"9":[153],"10":[161],"11":[487],"12":[86],"13":[84],"14":[2],"15":[84],"16":[0],"17":[84],"18":[151],"19":[84]},"fnMap":{"0":{"name":"ConnectionImpl","decl":{"start":{"line":73,"column":2},"end":{"line":88,"column":3}},"loc":{"start":{"line":73,"column":2},"end":{"line":88,"column":3}},"line":73},"1":{"name":"get streams","decl":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":101,"column":2},"end":{"line":103,"column":3}},"line":101},"2":{"name":"newStream","decl":{"start":{"line":108,"column":2},"end":{"line":126,"column":3}},"loc":{"start":{"line":108,"column":2},"end":{"line":126,"column":3}},"line":108},"3":{"name":"addStream","decl":{"start":{"line":131,"column":2},"end":{"line":133,"column":3}},"loc":{"start":{"line":131,"column":2},"end":{"line":133,"column":3}},"line":131},"4":{"name":"removeStream","decl":{"start":{"line":138,"column":2},"end":{"line":140,"column":3}},"loc":{"start":{"line":138,"column":2},"end":{"line":140,"column":3}},"line":138},"5":{"name":"close","decl":{"start":{"line":145,"column":2},"end":{"line":166,"column":3}},"loc":{"start":{"line":145,"column":2},"end":{"line":166,"column":3}},"line":145},"6":{"name":"createConnection","decl":{"start":{"line":169,"column":6},"end":{"line":171,"column":1}},"loc":{"start":{"line":169,"column":6},"end":{"line":171,"column":1}},"line":169}},"f":{"0":84,"1":461,"2":492,"3":161,"4":487,"5":86,"6":84}} -,"/home/ckousik/projects/js-libp2p/src/connection-manager/auto-dialler.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/auto-dialler.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":40}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":47}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":29}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":30}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":30}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":26}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":61}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":55}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":77}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":61}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":60}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":34}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":5}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":74}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":19}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":5}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":55}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":25}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":105}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":27}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":1}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":40}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":16}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":38}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":50}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":16}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":20}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":25}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":47}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":52}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":53}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":47}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":5}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":73}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":74}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":75}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":74}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":32}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":85}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":24}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":46}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":36}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":3}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":16}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":23}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":27}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":5}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":18}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":32}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":12}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":23}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":40}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":44}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":6}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":18}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":27}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":17}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":32}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":24}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":12}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":24}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":39}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":34}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":5}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":18}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":3}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":22}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":39}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":34}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":5}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":54}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":37}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":86}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":83}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":12}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":5}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":70}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":58}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":29}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":26}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":56}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":84}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":42}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":54}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":18}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":70}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":18}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":9}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":17}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":9}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":41}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":138}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":57}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":26}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":14}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":7}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":83}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":64}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":13}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":73}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":28}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":70}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":9}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":7}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":5}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":37}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":24}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":12}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":81}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":3}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":55,"57":55,"58":55,"59":55,"60":55,"61":55,"62":55,"63":1,"64":1,"65":0,"66":0,"67":1,"68":1,"69":1,"70":1,"71":1,"72":55,"73":55,"74":55,"75":55,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":1,"86":1,"87":1,"88":1,"89":1,"90":55,"91":55,"92":55,"93":55,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":1,"104":1,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":1},"branchMap":{"0":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"locations":[{"start":{"line":56,"column":2},"end":{"line":63,"column":3}}]},"1":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":2},"end":{"line":85,"column":3}},"locations":[{"start":{"line":72,"column":2},"end":{"line":85,"column":3}}]},"2":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":-1},"end":{"line":85,"column":3}},"locations":[{"start":{"line":77,"column":-1},"end":{"line":85,"column":3}}]},"3":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":2},"end":{"line":103,"column":3}},"locations":[{"start":{"line":90,"column":2},"end":{"line":103,"column":3}}]},"4":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":-1},"end":{"line":103,"column":3}},"locations":[{"start":{"line":95,"column":-1},"end":{"line":103,"column":3}}]}},"b":{"0":[55],"1":[55],"2":[0],"3":[55],"4":[0]},"fnMap":{"0":{"name":"AutoDialler","decl":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":56,"column":2},"end":{"line":63,"column":3}},"line":56},"1":{"name":"isStarted","decl":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"loc":{"start":{"line":65,"column":2},"end":{"line":67,"column":3}},"line":65},"2":{"name":"start","decl":{"start":{"line":72,"column":2},"end":{"line":85,"column":3}},"loc":{"start":{"line":72,"column":2},"end":{"line":85,"column":3}},"line":72},"3":{"name":"stop","decl":{"start":{"line":90,"column":2},"end":{"line":103,"column":3}},"loc":{"start":{"line":90,"column":2},"end":{"line":103,"column":3}},"line":90},"4":{"name":"_autoDial","decl":{"start":{"line":105,"column":2},"end":{"line":161,"column":3}},"loc":{"start":{"line":105,"column":2},"end":{"line":161,"column":3}},"line":105}},"f":{"0":55,"1":0,"2":55,"3":55,"4":0}} -,"/home/ckousik/projects/js-libp2p/src/connection-manager/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":68}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":54}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":69}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":61}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":36}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":60}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":83}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":110}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":61}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":76}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":85}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":50}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":60}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":62}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":57}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":56}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":59}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":40}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":47}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":42}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":119}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":24}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":114}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":5}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":24}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":5}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":158}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":28}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":5}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":167}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":5}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":23}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":87}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":20}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":85}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":25}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":26}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":61}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":31}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":5}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":35}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":27}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":53}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":5}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":25}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":73}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":73}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":5}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":22}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":80}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":68}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":31}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":5}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":44}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":5}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":26}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":44}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":5}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":38}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":64}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":70}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":34}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":80}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":85}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":18}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":0}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":75}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":38}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":5}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":17}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":0}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":73}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":40}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":37}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":81}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":86}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":5}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":40}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":1}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":58}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":27}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":20}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":30}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":21}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":26}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":32}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":35}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":1}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":39}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":53}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":16}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":19}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":20}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":22}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":16}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":1}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":59}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":3}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":46}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":3}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":125}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":65}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":46}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":57}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":26}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":50}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":50}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":56}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":38}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":37}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":36}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":66}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":44}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":95}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":11}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":82}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":62}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":133}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":5}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":0}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":33}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":32}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":0}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":7}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":34}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":7}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":32}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":0}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":24}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":110}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":48}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":50}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":45}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":8}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":5}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":9}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":44}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":39}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":14}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":46}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":52}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":0}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":92}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":48}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":0}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":60}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":58}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":0}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":63}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":51}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":17}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":6}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":0}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":39}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":3}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":0}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":16}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":23}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":3}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":0}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":72}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":61}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":5}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":18}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":41}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":91}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":24}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":24}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":21}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":21}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":9}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":56}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":37}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":52}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":30}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":20}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":31}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":13}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":11}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":9}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":21}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":7}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":6}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":0}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":49}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":83}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":24}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":24}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":49}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":56}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":37}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":48}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":94}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":0}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":50}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":13}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":11}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":9}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":21}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":7}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":6}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":52}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":127}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":24}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":24}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":55}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":56}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":37}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":54}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":48}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":94}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":52}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":13}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":0}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":70}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":63}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":46}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":13}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":11}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":9}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":0}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":49}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":0}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":68}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":47}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":55}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":42}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":9}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":21}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":7}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":6}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":0}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":22}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":32}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":62}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":73}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":23}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":18}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":3}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":0}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":23}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":75}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":81}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":0}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":54}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":26}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":25}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":43}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":0}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":67}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":71}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":85}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":0}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":29}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":40}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":11}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":9}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":0}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":48}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":93}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":0}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":13}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":33}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":77}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":18}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":0}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":26}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":44}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":45}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":61}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":14}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":29}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":30}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":16}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":12}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":9}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":8}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":21}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":22}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":8}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":22}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":48}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":8}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":3}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":0}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":23}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":66}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":44}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":78}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":84}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":3}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":0}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":5}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":33}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":5}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":17}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":76}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":31}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":0}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":24}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":23}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":18}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":3}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":0}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":5}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":30}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":5}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":19}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":43}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":42}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":61}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":48}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":33}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":15}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":36}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":25}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":26}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":11}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":13}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":7}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":5}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":0}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":47}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":28}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":28}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":3}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":0}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":44}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":44}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":20}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":6}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":3}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":5}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":66}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":5}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":51}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":38}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":0}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":24}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":77}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":30}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":12}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":5}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":0}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":40}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":39}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":55}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":0}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":30}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":34}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":12}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":51}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":5}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":0}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":35}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":75}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":5}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":0}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":55}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":61}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":0}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":72}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":91}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":3}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":0}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":5}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":41}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":5}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":47}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":38}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":0}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":24}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":77}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":12}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":5}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":0}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":51}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":49}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":0}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":54}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":73}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":46}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":36}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":37}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":96}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":5}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":3}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":0}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":50}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":25}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":58}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":5}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":0}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":32}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":0}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":48}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":29}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":5}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":0}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":16}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":3}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":0}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":113}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":22}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":0}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":38}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":32}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":48}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":45}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":22}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":12}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":118}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":5}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":0}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":29}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":59}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":0}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":41}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":53}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":0}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":35}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":5}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":0}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":56}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":0}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":34}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":65}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":47}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":0}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":11}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":31}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":61}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":16}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":5}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":0}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":9}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":86}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":67}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":36}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":28}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":64}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":7}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":0}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":78}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":79}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":19}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":35}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":0}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":43}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":40}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":34}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":9}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":7}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":0}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":31}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":40}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":7}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":0}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":23}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":15}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":38}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":33}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":7}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":5}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":3}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":0}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":58}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":69}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":0}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":22}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":43}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":39}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":8}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":5}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":3}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":0}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":5}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":41}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":5}},"550":{"start":{"line":551,"column":0},"end":{"line":551,"column":41}},"551":{"start":{"line":552,"column":0},"end":{"line":552,"column":28}},"552":{"start":{"line":553,"column":0},"end":{"line":553,"column":101}},"553":{"start":{"line":554,"column":0},"end":{"line":554,"column":5}},"554":{"start":{"line":555,"column":0},"end":{"line":555,"column":0}},"555":{"start":{"line":556,"column":0},"end":{"line":556,"column":32}},"556":{"start":{"line":557,"column":0},"end":{"line":557,"column":48}},"557":{"start":{"line":558,"column":0},"end":{"line":558,"column":0}},"558":{"start":{"line":559,"column":0},"end":{"line":559,"column":34}},"559":{"start":{"line":560,"column":0},"end":{"line":560,"column":30}},"560":{"start":{"line":561,"column":0},"end":{"line":561,"column":85}},"561":{"start":{"line":562,"column":0},"end":{"line":562,"column":5}},"562":{"start":{"line":563,"column":0},"end":{"line":563,"column":0}},"563":{"start":{"line":564,"column":0},"end":{"line":564,"column":13}},"564":{"start":{"line":565,"column":0},"end":{"line":565,"column":3}},"565":{"start":{"line":566,"column":0},"end":{"line":566,"column":0}},"566":{"start":{"line":567,"column":0},"end":{"line":567,"column":5}},"567":{"start":{"line":568,"column":0},"end":{"line":568,"column":56}},"568":{"start":{"line":569,"column":0},"end":{"line":569,"column":5}},"569":{"start":{"line":570,"column":0},"end":{"line":570,"column":55}},"570":{"start":{"line":571,"column":0},"end":{"line":571,"column":35}},"571":{"start":{"line":572,"column":0},"end":{"line":572,"column":0}},"572":{"start":{"line":573,"column":0},"end":{"line":573,"column":62}},"573":{"start":{"line":574,"column":0},"end":{"line":574,"column":21}},"574":{"start":{"line":575,"column":0},"end":{"line":575,"column":22}},"575":{"start":{"line":576,"column":0},"end":{"line":576,"column":8}},"576":{"start":{"line":577,"column":0},"end":{"line":577,"column":3}},"577":{"start":{"line":578,"column":0},"end":{"line":578,"column":0}},"578":{"start":{"line":579,"column":0},"end":{"line":579,"column":5}},"579":{"start":{"line":580,"column":0},"end":{"line":580,"column":78}},"580":{"start":{"line":581,"column":0},"end":{"line":581,"column":5}},"581":{"start":{"line":582,"column":0},"end":{"line":582,"column":96}},"582":{"start":{"line":583,"column":0},"end":{"line":583,"column":33}},"583":{"start":{"line":584,"column":0},"end":{"line":584,"column":0}},"584":{"start":{"line":585,"column":0},"end":{"line":585,"column":24}},"585":{"start":{"line":586,"column":0},"end":{"line":586,"column":69}},"586":{"start":{"line":587,"column":0},"end":{"line":587,"column":12}},"587":{"start":{"line":588,"column":0},"end":{"line":588,"column":5}},"588":{"start":{"line":589,"column":0},"end":{"line":589,"column":0}},"589":{"start":{"line":590,"column":0},"end":{"line":590,"column":82}},"590":{"start":{"line":591,"column":0},"end":{"line":591,"column":24}},"591":{"start":{"line":592,"column":0},"end":{"line":592,"column":121}},"592":{"start":{"line":593,"column":0},"end":{"line":593,"column":43}},"593":{"start":{"line":594,"column":0},"end":{"line":594,"column":5}},"594":{"start":{"line":595,"column":0},"end":{"line":595,"column":3}},"595":{"start":{"line":596,"column":0},"end":{"line":596,"column":0}},"596":{"start":{"line":597,"column":0},"end":{"line":597,"column":5}},"597":{"start":{"line":598,"column":0},"end":{"line":598,"column":81}},"598":{"start":{"line":599,"column":0},"end":{"line":599,"column":33}},"599":{"start":{"line":600,"column":0},"end":{"line":600,"column":5}},"600":{"start":{"line":601,"column":0},"end":{"line":601,"column":45}},"601":{"start":{"line":602,"column":0},"end":{"line":602,"column":45}},"602":{"start":{"line":603,"column":0},"end":{"line":603,"column":44}},"603":{"start":{"line":604,"column":0},"end":{"line":604,"column":0}},"604":{"start":{"line":605,"column":0},"end":{"line":605,"column":27}},"605":{"start":{"line":606,"column":0},"end":{"line":606,"column":43}},"606":{"start":{"line":607,"column":0},"end":{"line":607,"column":46}},"607":{"start":{"line":608,"column":0},"end":{"line":608,"column":0}},"608":{"start":{"line":609,"column":0},"end":{"line":609,"column":39}},"609":{"start":{"line":610,"column":0},"end":{"line":610,"column":16}},"610":{"start":{"line":611,"column":0},"end":{"line":611,"column":7}},"611":{"start":{"line":612,"column":0},"end":{"line":612,"column":0}},"612":{"start":{"line":613,"column":0},"end":{"line":613,"column":70}},"613":{"start":{"line":614,"column":0},"end":{"line":614,"column":0}},"614":{"start":{"line":615,"column":0},"end":{"line":615,"column":27}},"615":{"start":{"line":616,"column":0},"end":{"line":616,"column":61}},"616":{"start":{"line":617,"column":0},"end":{"line":617,"column":31}},"617":{"start":{"line":618,"column":0},"end":{"line":618,"column":12}},"618":{"start":{"line":619,"column":0},"end":{"line":619,"column":5}},"619":{"start":{"line":620,"column":0},"end":{"line":620,"column":0}},"620":{"start":{"line":621,"column":0},"end":{"line":621,"column":39}},"621":{"start":{"line":622,"column":0},"end":{"line":622,"column":58}},"622":{"start":{"line":623,"column":0},"end":{"line":623,"column":58}},"623":{"start":{"line":624,"column":0},"end":{"line":624,"column":58}},"624":{"start":{"line":625,"column":0},"end":{"line":625,"column":0}},"625":{"start":{"line":626,"column":0},"end":{"line":626,"column":36}},"626":{"start":{"line":627,"column":0},"end":{"line":627,"column":16}},"627":{"start":{"line":628,"column":0},"end":{"line":628,"column":7}},"628":{"start":{"line":629,"column":0},"end":{"line":629,"column":0}},"629":{"start":{"line":630,"column":0},"end":{"line":630,"column":36}},"630":{"start":{"line":631,"column":0},"end":{"line":631,"column":17}},"631":{"start":{"line":632,"column":0},"end":{"line":632,"column":7}},"632":{"start":{"line":633,"column":0},"end":{"line":633,"column":0}},"633":{"start":{"line":634,"column":0},"end":{"line":634,"column":14}},"634":{"start":{"line":635,"column":0},"end":{"line":635,"column":6}},"635":{"start":{"line":636,"column":0},"end":{"line":636,"column":0}},"636":{"start":{"line":637,"column":0},"end":{"line":637,"column":29}},"637":{"start":{"line":638,"column":0},"end":{"line":638,"column":22}},"638":{"start":{"line":639,"column":0},"end":{"line":639,"column":0}},"639":{"start":{"line":640,"column":0},"end":{"line":640,"column":49}},"640":{"start":{"line":641,"column":0},"end":{"line":641,"column":90}},"641":{"start":{"line":642,"column":0},"end":{"line":642,"column":30}},"642":{"start":{"line":643,"column":0},"end":{"line":643,"column":0}},"643":{"start":{"line":644,"column":0},"end":{"line":644,"column":39}},"644":{"start":{"line":645,"column":0},"end":{"line":645,"column":13}},"645":{"start":{"line":646,"column":0},"end":{"line":646,"column":7}},"646":{"start":{"line":647,"column":0},"end":{"line":647,"column":5}},"647":{"start":{"line":648,"column":0},"end":{"line":648,"column":0}},"648":{"start":{"line":649,"column":0},"end":{"line":649,"column":24}},"649":{"start":{"line":650,"column":0},"end":{"line":650,"column":22}},"650":{"start":{"line":651,"column":0},"end":{"line":651,"column":39}},"651":{"start":{"line":652,"column":0},"end":{"line":652,"column":13}},"652":{"start":{"line":653,"column":0},"end":{"line":653,"column":34}},"653":{"start":{"line":654,"column":0},"end":{"line":654,"column":23}},"654":{"start":{"line":655,"column":0},"end":{"line":655,"column":24}},"655":{"start":{"line":656,"column":0},"end":{"line":656,"column":9}},"656":{"start":{"line":657,"column":0},"end":{"line":657,"column":0}},"657":{"start":{"line":658,"column":0},"end":{"line":658,"column":56}},"658":{"start":{"line":659,"column":0},"end":{"line":659,"column":72}},"659":{"start":{"line":660,"column":0},"end":{"line":660,"column":28}},"660":{"start":{"line":661,"column":0},"end":{"line":661,"column":11}},"661":{"start":{"line":662,"column":0},"end":{"line":662,"column":8}},"662":{"start":{"line":663,"column":0},"end":{"line":663,"column":5}},"663":{"start":{"line":664,"column":0},"end":{"line":664,"column":3}},"664":{"start":{"line":665,"column":0},"end":{"line":665,"column":0}},"665":{"start":{"line":666,"column":0},"end":{"line":666,"column":82}},"666":{"start":{"line":667,"column":0},"end":{"line":667,"column":22}},"667":{"start":{"line":668,"column":0},"end":{"line":668,"column":49}},"668":{"start":{"line":669,"column":0},"end":{"line":669,"column":67}},"669":{"start":{"line":670,"column":0},"end":{"line":670,"column":6}},"670":{"start":{"line":671,"column":0},"end":{"line":671,"column":0}},"671":{"start":{"line":672,"column":0},"end":{"line":672,"column":25}},"672":{"start":{"line":673,"column":0},"end":{"line":673,"column":103}},"673":{"start":{"line":674,"column":0},"end":{"line":674,"column":18}},"674":{"start":{"line":675,"column":0},"end":{"line":675,"column":5}},"675":{"start":{"line":676,"column":0},"end":{"line":676,"column":0}},"676":{"start":{"line":677,"column":0},"end":{"line":677,"column":23}},"677":{"start":{"line":678,"column":0},"end":{"line":678,"column":51}},"678":{"start":{"line":679,"column":0},"end":{"line":679,"column":67}},"679":{"start":{"line":680,"column":0},"end":{"line":680,"column":6}},"680":{"start":{"line":681,"column":0},"end":{"line":681,"column":0}},"681":{"start":{"line":682,"column":0},"end":{"line":682,"column":26}},"682":{"start":{"line":683,"column":0},"end":{"line":683,"column":39}},"683":{"start":{"line":684,"column":0},"end":{"line":684,"column":0}},"684":{"start":{"line":685,"column":0},"end":{"line":685,"column":17}},"685":{"start":{"line":686,"column":0},"end":{"line":686,"column":5}},"686":{"start":{"line":687,"column":0},"end":{"line":687,"column":0}},"687":{"start":{"line":688,"column":0},"end":{"line":688,"column":32}},"688":{"start":{"line":689,"column":0},"end":{"line":689,"column":86}},"689":{"start":{"line":690,"column":0},"end":{"line":690,"column":107}},"690":{"start":{"line":691,"column":0},"end":{"line":691,"column":18}},"691":{"start":{"line":692,"column":0},"end":{"line":692,"column":5}},"692":{"start":{"line":693,"column":0},"end":{"line":693,"column":0}},"693":{"start":{"line":694,"column":0},"end":{"line":694,"column":49}},"694":{"start":{"line":695,"column":0},"end":{"line":695,"column":58}},"695":{"start":{"line":696,"column":0},"end":{"line":696,"column":0}},"696":{"start":{"line":697,"column":0},"end":{"line":697,"column":11}},"697":{"start":{"line":698,"column":0},"end":{"line":698,"column":64}},"698":{"start":{"line":699,"column":0},"end":{"line":699,"column":15}},"699":{"start":{"line":700,"column":0},"end":{"line":700,"column":115}},"700":{"start":{"line":701,"column":0},"end":{"line":701,"column":20}},"701":{"start":{"line":702,"column":0},"end":{"line":702,"column":7}},"702":{"start":{"line":703,"column":0},"end":{"line":703,"column":5}},"703":{"start":{"line":704,"column":0},"end":{"line":704,"column":0}},"704":{"start":{"line":705,"column":0},"end":{"line":705,"column":66}},"705":{"start":{"line":706,"column":0},"end":{"line":706,"column":39}},"706":{"start":{"line":707,"column":0},"end":{"line":707,"column":0}},"707":{"start":{"line":708,"column":0},"end":{"line":708,"column":17}},"708":{"start":{"line":709,"column":0},"end":{"line":709,"column":5}},"709":{"start":{"line":710,"column":0},"end":{"line":710,"column":0}},"710":{"start":{"line":711,"column":0},"end":{"line":711,"column":82}},"711":{"start":{"line":712,"column":0},"end":{"line":712,"column":16}},"712":{"start":{"line":713,"column":0},"end":{"line":713,"column":3}},"713":{"start":{"line":714,"column":0},"end":{"line":714,"column":0}},"714":{"start":{"line":715,"column":0},"end":{"line":715,"column":26}},"715":{"start":{"line":716,"column":0},"end":{"line":716,"column":37}},"716":{"start":{"line":717,"column":0},"end":{"line":717,"column":3}},"717":{"start":{"line":718,"column":0},"end":{"line":718,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":55,"166":55,"167":55,"168":55,"169":55,"170":0,"171":0,"172":55,"173":55,"174":55,"175":55,"176":55,"177":55,"178":55,"179":55,"180":55,"181":55,"182":55,"183":55,"184":55,"185":0,"186":0,"187":0,"188":0,"189":0,"190":55,"191":55,"192":55,"193":55,"194":55,"195":55,"196":55,"197":55,"198":55,"199":55,"200":55,"201":55,"202":55,"203":55,"204":55,"205":55,"206":55,"207":55,"208":55,"209":55,"210":55,"211":55,"212":1,"213":1,"214":0,"215":0,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":55,"223":55,"224":55,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":55,"243":55,"244":55,"245":55,"246":55,"247":55,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":55,"263":55,"264":55,"265":55,"266":55,"267":55,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":55,"299":55,"300":55,"301":55,"302":55,"303":55,"304":55,"305":55,"306":55,"307":55,"308":1,"309":1,"310":55,"311":55,"312":55,"313":55,"314":55,"315":55,"316":55,"317":55,"318":55,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":55,"327":55,"328":55,"329":55,"330":55,"331":55,"332":55,"333":55,"334":55,"335":55,"336":55,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":55,"344":55,"345":55,"346":55,"347":0,"348":55,"349":55,"350":55,"351":55,"352":55,"353":1,"354":1,"355":55,"356":55,"357":55,"358":55,"359":55,"360":1,"361":1,"362":1,"363":1,"364":1,"365":55,"366":55,"367":55,"368":55,"369":55,"370":55,"371":55,"372":1,"373":1,"374":1,"375":1,"376":1,"377":55,"378":55,"379":55,"380":50,"381":50,"382":50,"383":50,"384":50,"385":0,"386":0,"387":50,"388":50,"389":50,"390":55,"391":55,"392":55,"393":55,"394":55,"395":1,"396":1,"397":84,"398":0,"399":84,"400":84,"401":1,"402":1,"403":1,"404":1,"405":1,"406":84,"407":84,"408":84,"409":0,"410":0,"411":0,"412":0,"413":84,"414":84,"415":84,"416":84,"417":84,"418":84,"419":18,"420":84,"421":66,"422":66,"423":84,"424":84,"425":84,"426":84,"427":84,"428":84,"429":84,"430":84,"431":84,"432":84,"433":84,"434":1,"435":1,"436":1,"437":1,"438":1,"439":34,"440":34,"441":34,"442":0,"443":0,"444":0,"445":34,"446":34,"447":34,"448":34,"449":34,"450":18,"451":18,"452":34,"453":16,"454":16,"455":16,"456":34,"457":1,"458":1,"459":876,"460":282,"461":282,"462":594,"463":594,"464":594,"465":876,"466":486,"467":486,"468":594,"469":594,"470":594,"471":1,"472":1,"473":146,"474":146,"475":146,"476":146,"477":146,"478":0,"479":0,"480":0,"481":0,"482":0,"483":146,"484":146,"485":146,"486":146,"487":146,"488":106,"489":106,"490":106,"491":106,"492":40,"493":40,"494":40,"495":146,"496":35,"497":35,"498":35,"499":35,"500":35,"501":35,"502":35,"503":35,"504":40,"505":40,"506":40,"507":35,"508":35,"509":146,"510":0,"511":0,"512":0,"513":35,"514":35,"515":35,"516":35,"517":35,"518":35,"519":35,"520":35,"521":35,"522":35,"523":35,"524":35,"525":146,"526":0,"527":0,"528":35,"529":35,"530":35,"531":40,"532":35,"533":35,"534":40,"535":146,"536":1,"537":1,"538":6,"539":6,"540":6,"541":6,"542":6,"543":6,"544":6,"545":6,"546":1,"547":1,"548":1,"549":1,"550":1,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":0,"561":0,"562":0,"563":0,"564":0,"565":1,"566":1,"567":1,"568":1,"569":1,"570":0,"571":0,"572":0,"573":0,"574":0,"575":0,"576":0,"577":1,"578":1,"579":1,"580":1,"581":1,"582":84,"583":84,"584":84,"585":0,"586":0,"587":0,"588":84,"589":84,"590":84,"591":0,"592":0,"593":0,"594":84,"595":1,"596":1,"597":1,"598":1,"599":1,"600":1,"601":0,"602":0,"603":0,"604":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":0,"613":0,"614":0,"615":0,"616":0,"617":0,"618":0,"619":0,"620":0,"621":0,"622":0,"623":0,"624":0,"625":0,"626":0,"627":0,"628":0,"629":0,"630":0,"631":0,"632":0,"633":0,"634":0,"635":0,"636":0,"637":0,"638":0,"639":0,"640":0,"641":0,"642":0,"643":0,"644":0,"645":0,"646":0,"647":0,"648":0,"649":0,"650":0,"651":0,"652":0,"653":0,"654":0,"655":0,"656":0,"657":0,"658":0,"659":0,"660":0,"661":0,"662":0,"663":0,"664":1,"665":1,"666":52,"667":52,"668":0,"669":52,"670":52,"671":52,"672":0,"673":0,"674":0,"675":52,"676":52,"677":52,"678":0,"679":52,"680":52,"681":52,"682":0,"683":0,"684":0,"685":0,"686":52,"687":52,"688":52,"689":0,"690":0,"691":0,"692":52,"693":52,"694":48,"695":48,"696":48,"697":48,"698":48,"699":0,"700":0,"701":0,"702":48,"703":52,"704":52,"705":52,"706":52,"707":52,"708":52,"709":0,"710":0,"711":0,"712":0,"713":1,"714":1,"715":52,"716":52,"717":1},"branchMap":{"0":{"type":"branch","line":165,"loc":{"start":{"line":165,"column":2},"end":{"line":212,"column":3}},"locations":[{"start":{"line":165,"column":2},"end":{"line":212,"column":3}}]},"1":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":61},"end":{"line":172,"column":5}},"locations":[{"start":{"line":170,"column":61},"end":{"line":172,"column":5}}]},"2":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":38},"end":{"line":185,"column":68}},"locations":[{"start":{"line":185,"column":38},"end":{"line":185,"column":68}}]},"3":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":68},"end":{"line":185,"column":107}},"locations":[{"start":{"line":185,"column":68},"end":{"line":185,"column":107}}]},"4":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":109},"end":{"line":190,"column":5}},"locations":[{"start":{"line":185,"column":109},"end":{"line":190,"column":5}}]},"5":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":6},"end":{"line":195,"column":14}},"locations":[{"start":{"line":195,"column":6},"end":{"line":195,"column":14}}]},"6":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":39},"end":{"line":201,"column":48}},"locations":[{"start":{"line":201,"column":39},"end":{"line":201,"column":48}}]},"7":{"type":"branch","line":222,"loc":{"start":{"line":222,"column":2},"end":{"line":308,"column":3}},"locations":[{"start":{"line":222,"column":2},"end":{"line":308,"column":3}}]},"8":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":27},"end":{"line":224,"column":48}},"locations":[{"start":{"line":224,"column":27},"end":{"line":224,"column":48}}]},"9":{"type":"branch","line":246,"loc":{"start":{"line":246,"column":27},"end":{"line":246,"column":48}},"locations":[{"start":{"line":246,"column":27},"end":{"line":246,"column":48}}]},"10":{"type":"branch","line":266,"loc":{"start":{"line":266,"column":27},"end":{"line":266,"column":48}},"locations":[{"start":{"line":266,"column":27},"end":{"line":266,"column":48}}]},"11":{"type":"branch","line":302,"loc":{"start":{"line":302,"column":23},"end":{"line":302,"column":30}},"locations":[{"start":{"line":302,"column":23},"end":{"line":302,"column":30}}]},"12":{"type":"branch","line":304,"loc":{"start":{"line":304,"column":23},"end":{"line":304,"column":41}},"locations":[{"start":{"line":304,"column":23},"end":{"line":304,"column":41}}]},"13":{"type":"branch","line":310,"loc":{"start":{"line":310,"column":2},"end":{"line":353,"column":3}},"locations":[{"start":{"line":310,"column":2},"end":{"line":353,"column":3}}]},"14":{"type":"branch","line":316,"loc":{"start":{"line":316,"column":12},"end":{"line":346,"column":7}},"locations":[{"start":{"line":316,"column":12},"end":{"line":346,"column":7}}]},"15":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":66},"end":{"line":326,"column":9}},"locations":[{"start":{"line":319,"column":66},"end":{"line":326,"column":9}}]},"16":{"type":"branch","line":328,"loc":{"start":{"line":328,"column":39},"end":{"line":328,"column":46}},"locations":[{"start":{"line":328,"column":39},"end":{"line":328,"column":46}}]},"17":{"type":"branch","line":334,"loc":{"start":{"line":334,"column":10},"end":{"line":334,"column":18}},"locations":[{"start":{"line":334,"column":10},"end":{"line":334,"column":18}}]},"18":{"type":"branch","line":350,"loc":{"start":{"line":350,"column":15},"end":{"line":352,"column":7}},"locations":[{"start":{"line":350,"column":15},"end":{"line":352,"column":7}}]},"19":{"type":"branch","line":355,"loc":{"start":{"line":355,"column":2},"end":{"line":360,"column":3}},"locations":[{"start":{"line":355,"column":2},"end":{"line":360,"column":3}}]},"20":{"type":"branch","line":365,"loc":{"start":{"line":365,"column":2},"end":{"line":372,"column":3}},"locations":[{"start":{"line":365,"column":2},"end":{"line":372,"column":3}}]},"21":{"type":"branch","line":366,"loc":{"start":{"line":366,"column":23},"end":{"line":366,"column":44}},"locations":[{"start":{"line":366,"column":23},"end":{"line":366,"column":44}}]},"22":{"type":"branch","line":367,"loc":{"start":{"line":367,"column":23},"end":{"line":367,"column":29}},"locations":[{"start":{"line":367,"column":23},"end":{"line":367,"column":29}}]},"23":{"type":"branch","line":377,"loc":{"start":{"line":377,"column":2},"end":{"line":395,"column":3}},"locations":[{"start":{"line":377,"column":2},"end":{"line":395,"column":3}}]},"24":{"type":"branch","line":380,"loc":{"start":{"line":380,"column":60},"end":{"line":390,"column":5}},"locations":[{"start":{"line":380,"column":60},"end":{"line":390,"column":5}}]},"25":{"type":"branch","line":382,"loc":{"start":{"line":382,"column":20},"end":{"line":388,"column":9}},"locations":[{"start":{"line":382,"column":20},"end":{"line":388,"column":9}}]},"26":{"type":"branch","line":385,"loc":{"start":{"line":385,"column":12},"end":{"line":387,"column":11}},"locations":[{"start":{"line":385,"column":12},"end":{"line":387,"column":11}}]},"27":{"type":"branch","line":397,"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"locations":[{"start":{"line":397,"column":2},"end":{"line":401,"column":3}}]},"28":{"type":"branch","line":406,"loc":{"start":{"line":406,"column":2},"end":{"line":434,"column":3}},"locations":[{"start":{"line":406,"column":2},"end":{"line":434,"column":3}}]},"29":{"type":"branch","line":409,"loc":{"start":{"line":409,"column":23},"end":{"line":413,"column":5}},"locations":[{"start":{"line":409,"column":23},"end":{"line":413,"column":5}}]},"30":{"type":"branch","line":419,"loc":{"start":{"line":419,"column":29},"end":{"line":421,"column":11}},"locations":[{"start":{"line":419,"column":29},"end":{"line":421,"column":11}}]},"31":{"type":"branch","line":421,"loc":{"start":{"line":421,"column":5},"end":{"line":423,"column":5}},"locations":[{"start":{"line":421,"column":5},"end":{"line":423,"column":5}}]},"32":{"type":"branch","line":439,"loc":{"start":{"line":439,"column":2},"end":{"line":457,"column":3}},"locations":[{"start":{"line":439,"column":2},"end":{"line":457,"column":3}}]},"33":{"type":"branch","line":442,"loc":{"start":{"line":442,"column":23},"end":{"line":445,"column":5}},"locations":[{"start":{"line":442,"column":23},"end":{"line":445,"column":5}}]},"34":{"type":"branch","line":450,"loc":{"start":{"line":450,"column":53},"end":{"line":453,"column":11}},"locations":[{"start":{"line":450,"column":53},"end":{"line":453,"column":11}}]},"35":{"type":"branch","line":453,"loc":{"start":{"line":453,"column":5},"end":{"line":456,"column":5}},"locations":[{"start":{"line":453,"column":5},"end":{"line":456,"column":5}}]},"36":{"type":"branch","line":451,"loc":{"start":{"line":451,"column":37},"end":{"line":451,"column":72}},"locations":[{"start":{"line":451,"column":37},"end":{"line":451,"column":72}}]},"37":{"type":"branch","line":459,"loc":{"start":{"line":459,"column":2},"end":{"line":471,"column":3}},"locations":[{"start":{"line":459,"column":2},"end":{"line":471,"column":3}}]},"38":{"type":"branch","line":460,"loc":{"start":{"line":460,"column":24},"end":{"line":462,"column":5}},"locations":[{"start":{"line":460,"column":24},"end":{"line":462,"column":5}}]},"39":{"type":"branch","line":461,"loc":{"start":{"line":461,"column":52},"end":{"line":461,"column":58}},"locations":[{"start":{"line":461,"column":52},"end":{"line":461,"column":58}}]},"40":{"type":"branch","line":463,"loc":{"start":{"line":463,"column":-1},"end":{"line":466,"column":47}},"locations":[{"start":{"line":463,"column":-1},"end":{"line":466,"column":47}}]},"41":{"type":"branch","line":466,"loc":{"start":{"line":466,"column":47},"end":{"line":468,"column":5}},"locations":[{"start":{"line":466,"column":47},"end":{"line":468,"column":5}}]},"42":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":-1},"end":{"line":471,"column":3}},"locations":[{"start":{"line":469,"column":-1},"end":{"line":471,"column":3}}]},"43":{"type":"branch","line":473,"loc":{"start":{"line":473,"column":2},"end":{"line":536,"column":3}},"locations":[{"start":{"line":473,"column":2},"end":{"line":536,"column":3}}]},"44":{"type":"branch","line":478,"loc":{"start":{"line":478,"column":5},"end":{"line":483,"column":5}},"locations":[{"start":{"line":478,"column":5},"end":{"line":483,"column":5}}]},"45":{"type":"branch","line":488,"loc":{"start":{"line":488,"column":40},"end":{"line":492,"column":5}},"locations":[{"start":{"line":488,"column":40},"end":{"line":492,"column":5}}]},"46":{"type":"branch","line":493,"loc":{"start":{"line":493,"column":-1},"end":{"line":496,"column":23}},"locations":[{"start":{"line":493,"column":-1},"end":{"line":496,"column":23}}]},"47":{"type":"branch","line":496,"loc":{"start":{"line":496,"column":33},"end":{"line":504,"column":5}},"locations":[{"start":{"line":496,"column":33},"end":{"line":504,"column":5}}]},"48":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":8},"end":{"line":503,"column":16}},"locations":[{"start":{"line":503,"column":8},"end":{"line":503,"column":16}}]},"49":{"type":"branch","line":505,"loc":{"start":{"line":505,"column":-1},"end":{"line":507,"column":86}},"locations":[{"start":{"line":505,"column":-1},"end":{"line":507,"column":86}}]},"50":{"type":"branch","line":508,"loc":{"start":{"line":508,"column":-1},"end":{"line":510,"column":35}},"locations":[{"start":{"line":508,"column":-1},"end":{"line":510,"column":35}}]},"51":{"type":"branch","line":510,"loc":{"start":{"line":510,"column":35},"end":{"line":513,"column":7}},"locations":[{"start":{"line":510,"column":35},"end":{"line":513,"column":7}}]},"52":{"type":"branch","line":514,"loc":{"start":{"line":514,"column":-1},"end":{"line":526,"column":30}},"locations":[{"start":{"line":514,"column":-1},"end":{"line":526,"column":30}}]},"53":{"type":"branch","line":526,"loc":{"start":{"line":526,"column":30},"end":{"line":528,"column":7}},"locations":[{"start":{"line":526,"column":30},"end":{"line":528,"column":7}}]},"54":{"type":"branch","line":529,"loc":{"start":{"line":529,"column":-1},"end":{"line":531,"column":15}},"locations":[{"start":{"line":529,"column":-1},"end":{"line":531,"column":15}}]},"55":{"type":"branch","line":531,"loc":{"start":{"line":531,"column":14},"end":{"line":535,"column":5}},"locations":[{"start":{"line":531,"column":14},"end":{"line":535,"column":5}}]},"56":{"type":"branch","line":532,"loc":{"start":{"line":532,"column":37},"end":{"line":534,"column":7}},"locations":[{"start":{"line":532,"column":37},"end":{"line":534,"column":7}}]},"57":{"type":"branch","line":538,"loc":{"start":{"line":538,"column":2},"end":{"line":546,"column":3}},"locations":[{"start":{"line":538,"column":2},"end":{"line":546,"column":3}}]},"58":{"type":"branch","line":539,"loc":{"start":{"line":539,"column":63},"end":{"line":539,"column":69}},"locations":[{"start":{"line":539,"column":63},"end":{"line":539,"column":69}}]},"59":{"type":"branch","line":542,"loc":{"start":{"line":542,"column":22},"end":{"line":544,"column":7}},"locations":[{"start":{"line":542,"column":22},"end":{"line":544,"column":7}}]},"60":{"type":"branch","line":582,"loc":{"start":{"line":582,"column":2},"end":{"line":595,"column":3}},"locations":[{"start":{"line":582,"column":2},"end":{"line":595,"column":3}}]},"61":{"type":"branch","line":585,"loc":{"start":{"line":585,"column":23},"end":{"line":588,"column":5}},"locations":[{"start":{"line":585,"column":23},"end":{"line":588,"column":5}}]},"62":{"type":"branch","line":591,"loc":{"start":{"line":591,"column":23},"end":{"line":594,"column":5}},"locations":[{"start":{"line":591,"column":23},"end":{"line":594,"column":5}}]},"63":{"type":"branch","line":666,"loc":{"start":{"line":666,"column":2},"end":{"line":713,"column":3}},"locations":[{"start":{"line":666,"column":2},"end":{"line":713,"column":3}}]},"64":{"type":"branch","line":672,"loc":{"start":{"line":672,"column":24},"end":{"line":675,"column":5}},"locations":[{"start":{"line":672,"column":24},"end":{"line":675,"column":5}}]},"65":{"type":"branch","line":682,"loc":{"start":{"line":682,"column":25},"end":{"line":686,"column":5}},"locations":[{"start":{"line":682,"column":25},"end":{"line":686,"column":5}}]},"66":{"type":"branch","line":689,"loc":{"start":{"line":689,"column":85},"end":{"line":692,"column":5}},"locations":[{"start":{"line":689,"column":85},"end":{"line":692,"column":5}}]},"67":{"type":"branch","line":694,"loc":{"start":{"line":694,"column":48},"end":{"line":703,"column":5}},"locations":[{"start":{"line":694,"column":48},"end":{"line":703,"column":5}}]},"68":{"type":"branch","line":699,"loc":{"start":{"line":699,"column":8},"end":{"line":702,"column":7}},"locations":[{"start":{"line":699,"column":8},"end":{"line":702,"column":7}}]},"69":{"type":"branch","line":710,"loc":{"start":{"line":710,"column":-1},"end":{"line":713,"column":3}},"locations":[{"start":{"line":710,"column":-1},"end":{"line":713,"column":3}}]},"70":{"type":"branch","line":715,"loc":{"start":{"line":715,"column":2},"end":{"line":717,"column":3}},"locations":[{"start":{"line":715,"column":2},"end":{"line":717,"column":3}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[0],"7":[55],"8":[0],"9":[0],"10":[0],"11":[0],"12":[0],"13":[55],"14":[55],"15":[0],"16":[0],"17":[0],"18":[55],"19":[55],"20":[55],"21":[0],"22":[0],"23":[55],"24":[50],"25":[50],"26":[0],"27":[84],"28":[84],"29":[0],"30":[18],"31":[66],"32":[34],"33":[0],"34":[18],"35":[16],"36":[39],"37":[876],"38":[282],"39":[48],"40":[594],"41":[486],"42":[594],"43":[146],"44":[0],"45":[106],"46":[40],"47":[35],"48":[0],"49":[40],"50":[35],"51":[0],"52":[35],"53":[0],"54":[35],"55":[40],"56":[35],"57":[6],"58":[0],"59":[6],"60":[84],"61":[0],"62":[0],"63":[52],"64":[0],"65":[0],"66":[0],"67":[48],"68":[0],"69":[0],"70":[52]},"fnMap":{"0":{"name":"DefaultConnectionManager","decl":{"start":{"line":165,"column":2},"end":{"line":212,"column":3}},"loc":{"start":{"line":165,"column":2},"end":{"line":212,"column":3}},"line":165},"1":{"name":"isStarted","decl":{"start":{"line":214,"column":2},"end":{"line":216,"column":3}},"loc":{"start":{"line":214,"column":2},"end":{"line":216,"column":3}},"line":214},"2":{"name":"start","decl":{"start":{"line":222,"column":2},"end":{"line":308,"column":3}},"loc":{"start":{"line":222,"column":2},"end":{"line":308,"column":3}},"line":222},"3":{"name":"calculate","decl":{"start":{"line":225,"column":17},"end":{"line":242,"column":7}},"loc":{"start":{"line":225,"column":17},"end":{"line":242,"column":7}},"line":225},"4":{"name":"calculate","decl":{"start":{"line":248,"column":17},"end":{"line":262,"column":7}},"loc":{"start":{"line":248,"column":17},"end":{"line":262,"column":7}},"line":248},"5":{"name":"calculate","decl":{"start":{"line":268,"column":17},"end":{"line":298,"column":7}},"loc":{"start":{"line":268,"column":17},"end":{"line":298,"column":7}},"line":268},"6":{"name":"afterStart","decl":{"start":{"line":310,"column":2},"end":{"line":353,"column":3}},"loc":{"start":{"line":310,"column":2},"end":{"line":353,"column":3}},"line":310},"7":{"name":"beforeStop","decl":{"start":{"line":355,"column":2},"end":{"line":360,"column":3}},"loc":{"start":{"line":355,"column":2},"end":{"line":360,"column":3}},"line":355},"8":{"name":"stop","decl":{"start":{"line":365,"column":2},"end":{"line":372,"column":3}},"loc":{"start":{"line":365,"column":2},"end":{"line":372,"column":3}},"line":365},"9":{"name":"_close","decl":{"start":{"line":377,"column":2},"end":{"line":395,"column":3}},"loc":{"start":{"line":377,"column":2},"end":{"line":395,"column":3}},"line":377},"10":{"name":"onConnect","decl":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"loc":{"start":{"line":397,"column":2},"end":{"line":401,"column":3}},"line":397},"11":{"name":"_onConnect","decl":{"start":{"line":406,"column":2},"end":{"line":434,"column":3}},"loc":{"start":{"line":406,"column":2},"end":{"line":434,"column":3}},"line":406},"12":{"name":"onDisconnect","decl":{"start":{"line":439,"column":2},"end":{"line":457,"column":3}},"loc":{"start":{"line":439,"column":2},"end":{"line":457,"column":3}},"line":439},"13":{"name":"getConnections","decl":{"start":{"line":459,"column":2},"end":{"line":471,"column":3}},"loc":{"start":{"line":459,"column":2},"end":{"line":471,"column":3}},"line":459},"14":{"name":"openConnection","decl":{"start":{"line":473,"column":2},"end":{"line":536,"column":3}},"loc":{"start":{"line":473,"column":2},"end":{"line":536,"column":3}},"line":473},"15":{"name":"closeConnections","decl":{"start":{"line":538,"column":2},"end":{"line":546,"column":3}},"loc":{"start":{"line":538,"column":2},"end":{"line":546,"column":3}},"line":538},"16":{"name":"getAll","decl":{"start":{"line":551,"column":2},"end":{"line":565,"column":3}},"loc":{"start":{"line":551,"column":2},"end":{"line":565,"column":3}},"line":551},"17":{"name":"_onLatencyMeasure","decl":{"start":{"line":570,"column":2},"end":{"line":577,"column":3}},"loc":{"start":{"line":570,"column":2},"end":{"line":577,"column":3}},"line":570},"18":{"name":"_checkMaxLimit","decl":{"start":{"line":582,"column":2},"end":{"line":595,"column":3}},"loc":{"start":{"line":582,"column":2},"end":{"line":595,"column":3}},"line":582},"19":{"name":"_pruneConnections","decl":{"start":{"line":601,"column":2},"end":{"line":664,"column":3}},"loc":{"start":{"line":601,"column":2},"end":{"line":664,"column":3}},"line":601},"20":{"name":"acceptIncomingConnection","decl":{"start":{"line":666,"column":2},"end":{"line":713,"column":3}},"loc":{"start":{"line":666,"column":2},"end":{"line":713,"column":3}},"line":666},"21":{"name":"afterUpgradeInbound","decl":{"start":{"line":715,"column":2},"end":{"line":717,"column":3}},"loc":{"start":{"line":715,"column":2},"end":{"line":717,"column":3}},"line":715}},"f":{"0":55,"1":0,"2":55,"3":0,"4":0,"5":0,"6":55,"7":55,"8":55,"9":55,"10":84,"11":84,"12":34,"13":876,"14":146,"15":6,"16":0,"17":0,"18":84,"19":0,"20":52,"21":52}} -,"/home/ckousik/projects/js-libp2p/src/connection-manager/latency-monitor.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/latency-monitor.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":230}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":3}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":72}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":39}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":63}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":39}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":1}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":37}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":48}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":5}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":81}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":29}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":40}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":40}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":0}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":117}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":34}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":32}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":32}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":5}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":16}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":48}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":15}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":48}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":15}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":5}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":52}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":15}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":37}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":1}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":19}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":16}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":15}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":15}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":17}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":1}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":120}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":122}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":83}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":2}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":26}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":2}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":120}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":44}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":2}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":11}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":40}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":83}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":2}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":11}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":115}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":82}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":3}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":72}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":49}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":50}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":47}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":46}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":57}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":42}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":54}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":59}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":34}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":41}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":41}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":47}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":11}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":101}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":46}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":71}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":64}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":104}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":61}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":87}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":17}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":44}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":60}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":59}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":42}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":100}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":12}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":35}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":5}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":80}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":44}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":45}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":44}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":74}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":40}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":42}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":57}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":7}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":64}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":82}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":45}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":64}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":73}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":12}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":38}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":25}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":61}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":5}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":45}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":3}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":12}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":98}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":41}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":108}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":22}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":66}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":82}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":43}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":26}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":29}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":16}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":29}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":28}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":9}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":8}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":61}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":25}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":5}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":3}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":0}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":11}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":22}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":3}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":5}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":26}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":4}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":13}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":5}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":19}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":41}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":38}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":12}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":5}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":23}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":42}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":91}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":60}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":57}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":7}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":5}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":3}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":0}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":5}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":25}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":4}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":13}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":5}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":18}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":38}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":39}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":37}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":5}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":38}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":40}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":37}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":5}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":5}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":113}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":4}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":13}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":19}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":37}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":29}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":65}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":23}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":9}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":5}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":3}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":0}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":5}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":122}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":43}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":5}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":32}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":64}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":100}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":48}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":21}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":38}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":36}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":36}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":40}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":60}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":35}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":59}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":5}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":54}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":37}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":18}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":3}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":5}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":117}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":49}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":5}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":19}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":94}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":94}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":104}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":23}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":71}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":27}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":5}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":0}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":22}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":54}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":40}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":14}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":7}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":82}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":45}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":62}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":31}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":72}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":72}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":41}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":61}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":5}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":41}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":0}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":44}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":46}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":37}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":38}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":33}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":40}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":28}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":14}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":123}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":104}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":34}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":115}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":109}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":12}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":7}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":29}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":0}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":58}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":55}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":5}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":3}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":35}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":12}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":28}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":38}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":38}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":16}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":16}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":5}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":3}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":1}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":0}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":23}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":49}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":1,"150":1,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":1,"174":1,"175":0,"176":0,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":1,"305":1,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":1,"315":1,"316":0,"317":0,"318":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"LatencyMonitor","decl":{"start":{"line":105,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":105,"column":2},"end":{"line":149,"column":3}},"line":105},"1":{"name":"start","decl":{"start":{"line":151,"column":2},"end":{"line":173,"column":3}},"loc":{"start":{"line":151,"column":2},"end":{"line":173,"column":3}},"line":151},"2":{"name":"stop","decl":{"start":{"line":175,"column":2},"end":{"line":177,"column":3}},"loc":{"start":{"line":175,"column":2},"end":{"line":177,"column":3}},"line":175},"3":{"name":"_startTimers","decl":{"start":{"line":184,"column":2},"end":{"line":198,"column":3}},"loc":{"start":{"line":184,"column":2},"end":{"line":198,"column":3}},"line":184},"4":{"name":"_stopTimers","decl":{"start":{"line":205,"column":2},"end":{"line":214,"column":3}},"loc":{"start":{"line":205,"column":2},"end":{"line":214,"column":3}},"line":205},"5":{"name":"_emitSummary","decl":{"start":{"line":221,"column":2},"end":{"line":228,"column":3}},"loc":{"start":{"line":221,"column":2},"end":{"line":228,"column":3}},"line":221},"6":{"name":"getSummary","decl":{"start":{"line":234,"column":2},"end":{"line":251,"column":3}},"loc":{"start":{"line":234,"column":2},"end":{"line":251,"column":3}},"line":234},"7":{"name":"checkLatency","decl":{"start":{"line":257,"column":2},"end":{"line":304,"column":3}},"loc":{"start":{"line":257,"column":2},"end":{"line":304,"column":3}},"line":257},"8":{"name":"initLatencyData","decl":{"start":{"line":306,"column":2},"end":{"line":314,"column":3}},"loc":{"start":{"line":306,"column":2},"end":{"line":314,"column":3}},"line":306},"9":{"name":"isBrowser","decl":{"start":{"line":317,"column":0},"end":{"line":319,"column":1}},"loc":{"start":{"line":317,"column":0},"end":{"line":319,"column":1}},"line":317}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0}} -,"/home/ckousik/projects/js-libp2p/src/connection-manager/visibility-change-emitter.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/visibility-change-emitter.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":230}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":3}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":39}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":89}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":41}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":42}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":105}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":2}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":86}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":2}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":11}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":2}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":65}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":2}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":68}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":29}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":33}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":38}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":11}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":16}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":32}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":42}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":11}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":10}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":56}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":75}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":90}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":24}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":34}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":11}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":26}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":46}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":38}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":42}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":41}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":5}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":0}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":94}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":90}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":93}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":103}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":17}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":4}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":13}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":36}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":33}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":45}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":108}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":23}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":43}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":64}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":70}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":26}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":46}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":63}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":69}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":25}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":45}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":67}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":73}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":29}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":49}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":24}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":44}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":3}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":5}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":96}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":86}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":4}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":13}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":5}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":35}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":68}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":118}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":95}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":12}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":38}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":113}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":5}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":3}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":105}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":80}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":5}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":16}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":68}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":75}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":22}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":68}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":40}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":3}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":5}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":75}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":90}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":14}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":4}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":13}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":30}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":68}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":62}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":49}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":21}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":69}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":21}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":3}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"VisibilityChangeEmitter","decl":{"start":{"line":42,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":42,"column":2},"end":{"line":52,"column":3}},"line":42},"1":{"name":"_initializeVisibilityVarNames","decl":{"start":{"line":63,"column":2},"end":{"line":86,"column":3}},"loc":{"start":{"line":63,"column":2},"end":{"line":86,"column":3}},"line":63},"2":{"name":"_addVisibilityChangeListener","decl":{"start":{"line":94,"column":2},"end":{"line":102,"column":3}},"loc":{"start":{"line":94,"column":2},"end":{"line":102,"column":3}},"line":94},"3":{"name":"isVisible","decl":{"start":{"line":108,"column":2},"end":{"line":116,"column":3}},"loc":{"start":{"line":108,"column":2},"end":{"line":116,"column":3}},"line":108},"4":{"name":"_handleVisibilityChange","decl":{"start":{"line":125,"column":2},"end":{"line":134,"column":3}},"loc":{"start":{"line":125,"column":2},"end":{"line":134,"column":3}},"line":125}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0}} -,"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/dial-request.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/dial-request.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":38}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":25}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":39}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":39}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":56}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":66}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":0}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":48}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":29}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":1}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":37}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":16}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":1}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":26}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":33}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":41}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":78}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":64}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":70}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":80}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":54}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":45}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":11}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":12}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":17}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":12}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":15}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":22}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":24}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":32}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":3}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":63}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":59}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":40}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":28}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":84}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":42}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":33}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":49}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":22}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":8}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":93}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":46}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":11}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":31}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":54}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":16}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":23}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":6}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":33}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":11}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":31}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":51}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":16}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":0}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":26}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":20}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":9}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":66}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":60}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":53}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":19}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":78}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":95}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":9}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":50}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":33}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":115}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":9}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":16}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":13}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":42}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":141}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":71}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":45}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":19}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":26}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":106}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":68}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":55}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":28}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":14}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":18}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":80}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":11}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":9}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":27}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":63}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":62}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":42}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":101}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":16}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":61}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":21}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":9}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":19}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":9}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":15}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":56}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":41}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":30}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":19}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":9}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":8}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":99}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":5}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":3}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":37,"37":37,"38":37,"39":37,"40":37,"41":37,"42":37,"43":37,"44":37,"45":37,"46":1,"47":1,"48":37,"49":37,"50":37,"51":37,"52":0,"53":0,"54":37,"55":37,"56":37,"57":37,"58":55,"59":0,"60":55,"61":55,"62":37,"63":37,"64":56,"65":56,"66":56,"67":56,"68":56,"69":56,"70":56,"71":37,"72":37,"73":37,"74":37,"75":37,"76":37,"77":37,"78":37,"79":37,"80":37,"81":37,"82":37,"83":37,"84":37,"85":56,"86":56,"87":56,"88":0,"89":0,"90":0,"91":56,"92":56,"93":56,"94":0,"95":0,"96":56,"97":56,"98":56,"99":56,"100":33,"101":33,"102":33,"103":56,"104":56,"105":56,"106":1,"107":0,"108":1,"109":56,"110":55,"111":55,"112":56,"113":33,"114":56,"115":0,"116":0,"117":0,"118":0,"119":56,"120":33,"121":33,"122":33,"123":33,"124":33,"125":37,"126":37,"127":37,"128":37,"129":56,"130":23,"131":23,"132":37,"133":37,"134":37,"135":37,"136":1},"branchMap":{"0":{"type":"branch","line":36,"loc":{"start":{"line":36,"column":2},"end":{"line":46,"column":3}},"locations":[{"start":{"line":36,"column":2},"end":{"line":46,"column":3}}]},"1":{"type":"branch","line":48,"loc":{"start":{"line":48,"column":2},"end":{"line":136,"column":3}},"locations":[{"start":{"line":48,"column":2},"end":{"line":136,"column":3}}]},"2":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":27},"end":{"line":54,"column":5}},"locations":[{"start":{"line":52,"column":27},"end":{"line":54,"column":5}}]},"3":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":32},"end":{"line":62,"column":5}},"locations":[{"start":{"line":58,"column":32},"end":{"line":62,"column":5}}]},"4":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":8},"end":{"line":78,"column":16}},"locations":[{"start":{"line":78,"column":8},"end":{"line":78,"column":16}}]},"5":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":86},"end":{"line":72,"column":5}},"locations":[{"start":{"line":64,"column":86},"end":{"line":72,"column":5}}]},"6":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":8},"end":{"line":69,"column":16}},"locations":[{"start":{"line":69,"column":8},"end":{"line":69,"column":16}}]},"7":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":46},"end":{"line":126,"column":7}},"locations":[{"start":{"line":85,"column":46},"end":{"line":126,"column":7}}]},"8":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":18},"end":{"line":91,"column":9}},"locations":[{"start":{"line":88,"column":18},"end":{"line":91,"column":9}}]},"9":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":32},"end":{"line":96,"column":9}},"locations":[{"start":{"line":94,"column":32},"end":{"line":96,"column":9}}]},"10":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":130},"end":{"line":100,"column":138}},"locations":[{"start":{"line":100,"column":130},"end":{"line":100,"column":138}}]},"11":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":-1},"end":{"line":103,"column":19}},"locations":[{"start":{"line":101,"column":-1},"end":{"line":103,"column":19}}]},"12":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":67},"end":{"line":110,"column":17}},"locations":[{"start":{"line":106,"column":67},"end":{"line":110,"column":17}}]},"13":{"type":"branch","line":110,"loc":{"start":{"line":110,"column":11},"end":{"line":112,"column":11}},"locations":[{"start":{"line":110,"column":11},"end":{"line":112,"column":11}}]},"14":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":-1},"end":{"line":115,"column":26}},"locations":[{"start":{"line":114,"column":-1},"end":{"line":115,"column":26}}]},"15":{"type":"branch","line":115,"loc":{"start":{"line":115,"column":26},"end":{"line":120,"column":15}},"locations":[{"start":{"line":115,"column":26},"end":{"line":120,"column":15}}]},"16":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":9},"end":{"line":126,"column":7}},"locations":[{"start":{"line":120,"column":9},"end":{"line":126,"column":7}}]},"17":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":35},"end":{"line":133,"column":7}},"locations":[{"start":{"line":129,"column":35},"end":{"line":133,"column":7}}]},"18":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":29},"end":{"line":132,"column":9}},"locations":[{"start":{"line":130,"column":29},"end":{"line":132,"column":9}}]},"19":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":21},"end":{"line":134,"column":61}},"locations":[{"start":{"line":134,"column":21},"end":{"line":134,"column":61}}]}},"b":{"0":[37],"1":[37],"2":[0],"3":[55],"4":[0],"5":[56],"6":[0],"7":[56],"8":[0],"9":[0],"10":[0],"11":[33],"12":[1],"13":[55],"14":[33],"15":[0],"16":[33],"17":[56],"18":[23],"19":[18]},"fnMap":{"0":{"name":"DialRequest","decl":{"start":{"line":36,"column":2},"end":{"line":46,"column":3}},"loc":{"start":{"line":36,"column":2},"end":{"line":46,"column":3}},"line":36},"1":{"name":"run","decl":{"start":{"line":48,"column":2},"end":{"line":136,"column":3}},"loc":{"start":{"line":48,"column":2},"end":{"line":136,"column":3}},"line":48}},"f":{"0":37,"1":37}} -,"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/connection-manager/dialer/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":96}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":60}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":38}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":40}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":59}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":65}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":48}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":8}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":21}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":21}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":19}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":27}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":79}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":54}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":61}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":43}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":76}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":66}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":67}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":35}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":29}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":12}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":20}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":1}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":30}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":31}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":30}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":21}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":1}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":36}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":31}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":30}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":1}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":29}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":5}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":61}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":31}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":27}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":53}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":5}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":25}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":5}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":47}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":5}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":22}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":44}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":26}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":44}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":5}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":42}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":16}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":19}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":22}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":36}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":34}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":1}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":0}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":57}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":54}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":47}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":41}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":34}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":42}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":25}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":57}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":26}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":76}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":24}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":67}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":66}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":51}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":69}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":102}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":32}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":36}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":43}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":33}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":6}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":42}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":50}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":33}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":6}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":70}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":31}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":3}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":16}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":23}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":3}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":18}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":23}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":3}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":0}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":5}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":29}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":5}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":17}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":24}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":52}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":11}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":31}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":26}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":22}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":7}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":5}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":29}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":67}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":27}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":35}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":3}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":70}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":84}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":18}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":5}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":103}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":57}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":44}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":75}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":5}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":34}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":54}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":50}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":69}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":5}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":0}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":65}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":117}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":5}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":0}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":42}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":79}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":44}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":35}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":57}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":34}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":43}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":50}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":5}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":0}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":30}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":0}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":9}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":68}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":19}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":14}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":8}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":15}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":69}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":50}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":5}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":40}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":103}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":5}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":0}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":70}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":119}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":0}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":9}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":50}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":48}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":23}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":24}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":50}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":27}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":50}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":36}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":7}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":20}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":15}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":15}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":27}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":3}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":0}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":69}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":37}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":4}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":72}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":4}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":79}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":5}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":111}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":45}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":115}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":0}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":31}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":58}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":6}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":13}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":83}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":88}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":28}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":31}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":0}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":45}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":101}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":0}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":78}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":25}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":57}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":33}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":46}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":0}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":69}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":50}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":9}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":0}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":19}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":8}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":5}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":12}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":58}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":11}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":5}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":3}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":0}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":5}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":73}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":5}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":61}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":75}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":30}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":38}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":101}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":19}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":22}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":9}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":0}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":22}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":8}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":6}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":23}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":78}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":31}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":40}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":3}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":5}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":64}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":5}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":88}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":7}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":30}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":54}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":7}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":66}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":45}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":78}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":7}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":0}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":86}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":49}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":17}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":8}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":5}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":0}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":41}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":30}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":17}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":18}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":6}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":0}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":65}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":65}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":0}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":46}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":61}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":37}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":0}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":65}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":76}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":9}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":29}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":41}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":14}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":0}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":25}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":18}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":36}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":55}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":22}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":33}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":47}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":7}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":5}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":53}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":0}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":22}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":3}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":27}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":73}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":47}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":88}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":17}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":3}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":0}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":32}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":39}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":38}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":12}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":5}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":0}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":35}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":27}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":3}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":5}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":34}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":5}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":79}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":88}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":46}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":63}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":0}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":50}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":27}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":17}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":5}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":0}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":69}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":88}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":45}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":7}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":0}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":44}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":55}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":52}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":24}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":7}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":18}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":12}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":3}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":0}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":5}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":78}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":5}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":85}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":9}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":67}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":50}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":23}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":19}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":72}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":15}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":5}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":3}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":1}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":3}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":46}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":3}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":65}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":19}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":1}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":0}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":3}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":26}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":3}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":30}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":81}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":55,"98":55,"99":55,"100":55,"101":55,"102":55,"103":55,"104":55,"105":55,"106":55,"107":55,"108":55,"109":55,"110":55,"111":55,"112":55,"113":55,"114":55,"115":55,"116":55,"117":1,"118":1,"119":0,"120":0,"121":1,"122":1,"123":55,"124":55,"125":1,"126":1,"127":1,"128":1,"129":1,"130":55,"131":55,"132":55,"133":1,"134":1,"135":1,"136":0,"137":0,"138":1,"139":55,"140":55,"141":55,"142":0,"143":0,"144":55,"145":55,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":40,"154":40,"155":40,"156":1,"157":1,"158":39,"159":39,"160":39,"161":40,"162":0,"163":0,"164":0,"165":39,"166":40,"167":0,"168":0,"169":39,"170":39,"171":39,"172":39,"173":39,"174":39,"175":39,"176":39,"177":39,"178":39,"179":39,"180":39,"181":39,"182":39,"183":39,"184":39,"185":39,"186":39,"187":39,"188":39,"189":39,"190":39,"191":39,"192":39,"193":39,"194":39,"195":40,"196":0,"197":0,"198":39,"199":39,"200":40,"201":40,"202":40,"203":40,"204":35,"205":35,"206":40,"207":4,"208":4,"209":4,"210":1,"211":1,"212":4,"213":4,"214":40,"215":39,"216":39,"217":40,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":39,"229":39,"230":39,"231":39,"232":39,"233":39,"234":39,"235":39,"236":39,"237":39,"238":39,"239":39,"240":39,"241":39,"242":39,"243":0,"244":0,"245":39,"246":39,"247":39,"248":39,"249":39,"250":39,"251":60,"252":60,"253":60,"254":8,"255":8,"256":52,"257":52,"258":39,"259":39,"260":39,"261":39,"262":39,"263":39,"264":39,"265":39,"266":1,"267":1,"268":1,"269":1,"270":1,"271":39,"272":39,"273":39,"274":39,"275":61,"276":61,"277":61,"278":0,"279":0,"280":61,"281":61,"282":39,"283":39,"284":39,"285":39,"286":39,"287":39,"288":39,"289":1,"290":1,"291":1,"292":1,"293":1,"294":37,"295":37,"296":37,"297":37,"298":37,"299":56,"300":0,"301":0,"302":56,"303":56,"304":23,"305":23,"306":56,"307":56,"308":37,"309":37,"310":37,"311":37,"312":37,"313":37,"314":37,"315":37,"316":37,"317":37,"318":37,"319":37,"320":37,"321":37,"322":37,"323":37,"324":37,"325":37,"326":37,"327":37,"328":37,"329":37,"330":37,"331":37,"332":37,"333":37,"334":39,"335":39,"336":39,"337":37,"338":37,"339":37,"340":37,"341":37,"342":1,"343":1,"344":37,"345":37,"346":37,"347":37,"348":37,"349":1,"350":1,"351":73,"352":73,"353":18,"354":18,"355":55,"356":55,"357":55,"358":55,"359":1,"360":1,"361":1,"362":1,"363":1,"364":61,"365":61,"366":61,"367":61,"368":61,"369":61,"370":61,"371":61,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":1,"387":1,"388":1,"389":1,"390":1,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":1,"401":1,"402":1,"403":1,"404":1,"405":61,"406":61,"407":61,"408":1,"409":1,"410":1,"411":1,"412":39,"413":39,"414":39},"branchMap":{"0":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":2},"end":{"line":117,"column":3}},"locations":[{"start":{"line":97,"column":2},"end":{"line":117,"column":3}}]},"1":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":43},"end":{"line":99,"column":67}},"locations":[{"start":{"line":99,"column":43},"end":{"line":99,"column":67}}]},"2":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":35},"end":{"line":101,"column":51}},"locations":[{"start":{"line":101,"column":35},"end":{"line":101,"column":51}}]},"3":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":47},"end":{"line":102,"column":69}},"locations":[{"start":{"line":102,"column":47},"end":{"line":102,"column":69}}]},"4":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":53},"end":{"line":103,"column":75}},"locations":[{"start":{"line":103,"column":53},"end":{"line":103,"column":75}}]},"5":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":60},"end":{"line":114,"column":66}},"locations":[{"start":{"line":114,"column":60},"end":{"line":114,"column":66}}]},"6":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":82},"end":{"line":103,"column":101}},"locations":[{"start":{"line":103,"column":82},"end":{"line":103,"column":101}}]},"7":{"type":"branch","line":123,"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"locations":[{"start":{"line":123,"column":2},"end":{"line":125,"column":3}}]},"8":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":2},"end":{"line":146,"column":3}},"locations":[{"start":{"line":130,"column":2},"end":{"line":146,"column":3}}]},"9":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":51},"end":{"line":139,"column":5}},"locations":[{"start":{"line":133,"column":51},"end":{"line":139,"column":5}}]},"10":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":8},"end":{"line":138,"column":7}},"locations":[{"start":{"line":136,"column":8},"end":{"line":138,"column":7}}]},"11":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":66},"end":{"line":144,"column":5}},"locations":[{"start":{"line":142,"column":66},"end":{"line":144,"column":5}}]},"12":{"type":"branch","line":153,"loc":{"start":{"line":153,"column":2},"end":{"line":218,"column":3}},"locations":[{"start":{"line":153,"column":2},"end":{"line":218,"column":3}}]},"13":{"type":"branch","line":156,"loc":{"start":{"line":156,"column":43},"end":{"line":158,"column":5}},"locations":[{"start":{"line":156,"column":43},"end":{"line":158,"column":5}}]},"14":{"type":"branch","line":159,"loc":{"start":{"line":159,"column":-1},"end":{"line":162,"column":51}},"locations":[{"start":{"line":159,"column":-1},"end":{"line":162,"column":51}}]},"15":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":53},"end":{"line":165,"column":5}},"locations":[{"start":{"line":162,"column":53},"end":{"line":165,"column":5}}]},"16":{"type":"branch","line":166,"loc":{"start":{"line":166,"column":-1},"end":{"line":167,"column":64}},"locations":[{"start":{"line":166,"column":-1},"end":{"line":167,"column":64}}]},"17":{"type":"branch","line":167,"loc":{"start":{"line":167,"column":64},"end":{"line":169,"column":5}},"locations":[{"start":{"line":167,"column":64},"end":{"line":169,"column":5}}]},"18":{"type":"branch","line":170,"loc":{"start":{"line":170,"column":-1},"end":{"line":196,"column":39}},"locations":[{"start":{"line":170,"column":-1},"end":{"line":196,"column":39}}]},"19":{"type":"branch","line":196,"loc":{"start":{"line":196,"column":39},"end":{"line":198,"column":5}},"locations":[{"start":{"line":196,"column":39},"end":{"line":198,"column":5}}]},"20":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":-1},"end":{"line":201,"column":75}},"locations":[{"start":{"line":199,"column":-1},"end":{"line":201,"column":75}}]},"21":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":71},"end":{"line":201,"column":119}},"locations":[{"start":{"line":201,"column":71},"end":{"line":201,"column":119}}]},"22":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":-1},"end":{"line":207,"column":13}},"locations":[{"start":{"line":205,"column":-1},"end":{"line":207,"column":13}}]},"23":{"type":"branch","line":207,"loc":{"start":{"line":207,"column":6},"end":{"line":215,"column":14}},"locations":[{"start":{"line":207,"column":6},"end":{"line":215,"column":14}}]},"24":{"type":"branch","line":210,"loc":{"start":{"line":210,"column":49},"end":{"line":212,"column":7}},"locations":[{"start":{"line":210,"column":49},"end":{"line":212,"column":7}}]},"25":{"type":"branch","line":215,"loc":{"start":{"line":215,"column":5},"end":{"line":215,"column":15}},"locations":[{"start":{"line":215,"column":5},"end":{"line":215,"column":15}}]},"26":{"type":"branch","line":215,"loc":{"start":{"line":215,"column":14},"end":{"line":217,"column":5}},"locations":[{"start":{"line":215,"column":14},"end":{"line":217,"column":5}}]},"27":{"type":"branch","line":228,"loc":{"start":{"line":228,"column":2},"end":{"line":266,"column":3}},"locations":[{"start":{"line":228,"column":2},"end":{"line":266,"column":3}}]},"28":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":47},"end":{"line":231,"column":68}},"locations":[{"start":{"line":231,"column":47},"end":{"line":231,"column":68}}]},"29":{"type":"branch","line":243,"loc":{"start":{"line":243,"column":44},"end":{"line":245,"column":5}},"locations":[{"start":{"line":243,"column":44},"end":{"line":245,"column":5}}]},"30":{"type":"branch","line":247,"loc":{"start":{"line":247,"column":67},"end":{"line":247,"column":78}},"locations":[{"start":{"line":247,"column":67},"end":{"line":247,"column":78}}]},"31":{"type":"branch","line":263,"loc":{"start":{"line":263,"column":25},"end":{"line":263,"column":37}},"locations":[{"start":{"line":263,"column":25},"end":{"line":263,"column":37}}]},"32":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":16},"end":{"line":234,"column":57}},"locations":[{"start":{"line":234,"column":16},"end":{"line":234,"column":57}}]},"33":{"type":"branch","line":238,"loc":{"start":{"line":238,"column":14},"end":{"line":238,"column":87}},"locations":[{"start":{"line":238,"column":14},"end":{"line":238,"column":87}}]},"34":{"type":"branch","line":251,"loc":{"start":{"line":251,"column":24},"end":{"line":259,"column":7}},"locations":[{"start":{"line":251,"column":24},"end":{"line":259,"column":7}}]},"35":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":33},"end":{"line":254,"column":66}},"locations":[{"start":{"line":254,"column":33},"end":{"line":254,"column":66}}]},"36":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":68},"end":{"line":256,"column":9}},"locations":[{"start":{"line":254,"column":68},"end":{"line":256,"column":9}}]},"37":{"type":"branch","line":257,"loc":{"start":{"line":257,"column":-1},"end":{"line":259,"column":7}},"locations":[{"start":{"line":257,"column":-1},"end":{"line":259,"column":7}}]},"38":{"type":"branch","line":271,"loc":{"start":{"line":271,"column":2},"end":{"line":289,"column":3}},"locations":[{"start":{"line":271,"column":2},"end":{"line":289,"column":3}}]},"39":{"type":"branch","line":275,"loc":{"start":{"line":275,"column":20},"end":{"line":283,"column":7}},"locations":[{"start":{"line":275,"column":20},"end":{"line":283,"column":7}}]},"40":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":18},"end":{"line":280,"column":9}},"locations":[{"start":{"line":278,"column":18},"end":{"line":280,"column":9}}]},"41":{"type":"branch","line":288,"loc":{"start":{"line":288,"column":11},"end":{"line":288,"column":39}},"locations":[{"start":{"line":288,"column":11},"end":{"line":288,"column":39}}]},"42":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":2},"end":{"line":342,"column":3}},"locations":[{"start":{"line":294,"column":2},"end":{"line":342,"column":3}}]},"43":{"type":"branch","line":328,"loc":{"start":{"line":328,"column":6},"end":{"line":328,"column":14}},"locations":[{"start":{"line":328,"column":6},"end":{"line":328,"column":14}}]},"44":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":35},"end":{"line":308,"column":5}},"locations":[{"start":{"line":299,"column":35},"end":{"line":308,"column":5}}]},"45":{"type":"branch","line":300,"loc":{"start":{"line":300,"column":44},"end":{"line":302,"column":7}},"locations":[{"start":{"line":300,"column":44},"end":{"line":302,"column":7}}]},"46":{"type":"branch","line":304,"loc":{"start":{"line":304,"column":78},"end":{"line":307,"column":7}},"locations":[{"start":{"line":304,"column":78},"end":{"line":307,"column":7}}]},"47":{"type":"branch","line":334,"loc":{"start":{"line":334,"column":15},"end":{"line":337,"column":7}},"locations":[{"start":{"line":334,"column":15},"end":{"line":337,"column":7}}]},"48":{"type":"branch","line":344,"loc":{"start":{"line":344,"column":2},"end":{"line":349,"column":3}},"locations":[{"start":{"line":344,"column":2},"end":{"line":349,"column":3}}]},"49":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":2},"end":{"line":359,"column":3}},"locations":[{"start":{"line":351,"column":2},"end":{"line":359,"column":3}}]},"50":{"type":"branch","line":353,"loc":{"start":{"line":353,"column":37},"end":{"line":355,"column":5}},"locations":[{"start":{"line":353,"column":37},"end":{"line":355,"column":5}}]},"51":{"type":"branch","line":356,"loc":{"start":{"line":356,"column":-1},"end":{"line":359,"column":3}},"locations":[{"start":{"line":356,"column":-1},"end":{"line":359,"column":3}}]},"52":{"type":"branch","line":364,"loc":{"start":{"line":364,"column":2},"end":{"line":386,"column":3}},"locations":[{"start":{"line":364,"column":2},"end":{"line":386,"column":3}}]},"53":{"type":"branch","line":373,"loc":{"start":{"line":373,"column":-1},"end":{"line":386,"column":3}},"locations":[{"start":{"line":373,"column":-1},"end":{"line":386,"column":3}}]},"54":{"type":"branch","line":406,"loc":{"start":{"line":406,"column":0},"end":{"line":408,"column":1}},"locations":[{"start":{"line":406,"column":0},"end":{"line":408,"column":1}}]},"55":{"type":"branch","line":413,"loc":{"start":{"line":413,"column":0},"end":{"line":415,"column":1}},"locations":[{"start":{"line":413,"column":0},"end":{"line":415,"column":1}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[0],"4":[0],"5":[0],"6":[5500],"7":[55],"8":[55],"9":[1],"10":[0],"11":[0],"12":[40],"13":[1],"14":[39],"15":[0],"16":[39],"17":[0],"18":[39],"19":[0],"20":[39],"21":[37],"22":[35],"23":[4],"24":[1],"25":[0],"26":[39],"27":[39],"28":[0],"29":[0],"30":[0],"31":[0],"32":[61],"33":[61],"34":[60],"35":[55],"36":[8],"37":[52],"38":[39],"39":[61],"40":[0],"41":[61],"42":[37],"43":[0],"44":[56],"45":[0],"46":[23],"47":[39],"48":[37],"49":[73],"50":[18],"51":[55],"52":[61],"53":[0],"54":[61],"55":[39]},"fnMap":{"0":{"name":"DefaultDialer","decl":{"start":{"line":97,"column":2},"end":{"line":117,"column":3}},"loc":{"start":{"line":97,"column":2},"end":{"line":117,"column":3}},"line":97},"1":{"name":"isStarted","decl":{"start":{"line":119,"column":2},"end":{"line":121,"column":3}},"loc":{"start":{"line":119,"column":2},"end":{"line":121,"column":3}},"line":119},"2":{"name":"start","decl":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"loc":{"start":{"line":123,"column":2},"end":{"line":125,"column":3}},"line":123},"3":{"name":"stop","decl":{"start":{"line":130,"column":2},"end":{"line":146,"column":3}},"loc":{"start":{"line":130,"column":2},"end":{"line":146,"column":3}},"line":130},"4":{"name":"dial","decl":{"start":{"line":153,"column":2},"end":{"line":218,"column":3}},"loc":{"start":{"line":153,"column":2},"end":{"line":218,"column":3}},"line":153},"5":{"name":"_createDialTarget","decl":{"start":{"line":228,"column":2},"end":{"line":266,"column":3}},"loc":{"start":{"line":228,"column":2},"end":{"line":266,"column":3}},"line":228},"6":{"name":"_loadAddresses","decl":{"start":{"line":271,"column":2},"end":{"line":289,"column":3}},"loc":{"start":{"line":271,"column":2},"end":{"line":289,"column":3}},"line":271},"7":{"name":"_createPendingDial","decl":{"start":{"line":294,"column":2},"end":{"line":342,"column":3}},"loc":{"start":{"line":294,"column":2},"end":{"line":342,"column":3}},"line":294},"8":{"name":"dialAction","decl":{"start":{"line":299,"column":35},"end":{"line":308,"column":5}},"loc":{"start":{"line":299,"column":35},"end":{"line":308,"column":5}},"line":299},"9":{"name":"destroy","decl":{"start":{"line":334,"column":15},"end":{"line":337,"column":7}},"loc":{"start":{"line":334,"column":15},"end":{"line":337,"column":7}},"line":334},"10":{"name":"getTokens","decl":{"start":{"line":344,"column":2},"end":{"line":349,"column":3}},"loc":{"start":{"line":344,"column":2},"end":{"line":349,"column":3}},"line":344},"11":{"name":"releaseToken","decl":{"start":{"line":351,"column":2},"end":{"line":359,"column":3}},"loc":{"start":{"line":351,"column":2},"end":{"line":359,"column":3}},"line":351},"12":{"name":"_resolve","decl":{"start":{"line":364,"column":2},"end":{"line":386,"column":3}},"loc":{"start":{"line":364,"column":2},"end":{"line":386,"column":3}},"line":364},"13":{"name":"_resolveRecord","decl":{"start":{"line":391,"column":2},"end":{"line":400,"column":3}},"loc":{"start":{"line":391,"column":2},"end":{"line":400,"column":3}},"line":391},"14":{"name":"isTruthy","decl":{"start":{"line":406,"column":0},"end":{"line":408,"column":1}},"loc":{"start":{"line":406,"column":0},"end":{"line":408,"column":1}},"line":406},"15":{"name":"randomId","decl":{"start":{"line":413,"column":0},"end":{"line":415,"column":1}},"loc":{"start":{"line":413,"column":0},"end":{"line":415,"column":1}},"line":413}},"f":{"0":55,"1":0,"2":55,"3":55,"4":40,"5":39,"6":39,"7":37,"8":56,"9":39,"10":37,"11":73,"12":61,"13":0,"14":61,"15":39}} -,"/home/ckousik/projects/js-libp2p/src/content-routing/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/content-routing/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":8}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":17}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":14}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":14}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":19}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":28}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":28}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":30}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":71}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":54}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":61}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":43}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":61}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":52}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":27}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":1}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":51}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":22}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":15}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":1}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":74}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":44}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":26}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":63}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":96}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":37}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":24}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":32}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":3}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":16}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":23}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":18}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":17}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":24}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":85}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":64}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":36}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":99}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":17}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":12}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":73}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":8}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":68}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":38}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":38}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":66}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":32}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":5}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":56}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":36}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":94}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":5}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":93}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":5}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":69}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":74}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":28}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":79}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":5}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":35}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":22}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":47}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":5}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":36}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":41}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":5}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":76}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":28}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":79}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":5}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":35}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":22}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":56}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":37}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":28}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":9}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":7}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":5}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":69}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":3}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":5}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":56}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":5}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":112}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":28}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":79}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":5}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":39}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":12}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":5}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":21}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":35}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":22}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":56}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":37}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":54}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":0}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":21}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":36}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":17}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":11}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":9}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":7}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":5}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":26}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":71}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":5}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":3}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":55,"33":55,"34":55,"35":55,"36":1,"37":1,"38":0,"39":0,"40":1,"41":1,"42":110,"43":110,"44":1,"45":1,"46":110,"47":110,"48":1,"49":1,"50":1,"51":1,"52":1,"53":50,"54":45,"55":45,"56":5,"57":5,"58":5,"59":5,"60":5,"61":5,"62":5,"63":5,"64":5,"65":0,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":2,"73":0,"74":0,"75":2,"76":2,"77":2,"78":1,"79":1,"80":1,"81":1,"82":1,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":1,"116":1,"117":1,"118":1,"119":1,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":1},"branchMap":{"0":{"type":"branch","line":32,"loc":{"start":{"line":32,"column":2},"end":{"line":36,"column":3}},"locations":[{"start":{"line":32,"column":2},"end":{"line":36,"column":3}}]},"1":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":31},"end":{"line":33,"column":37}},"locations":[{"start":{"line":33,"column":31},"end":{"line":33,"column":37}}]},"2":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"locations":[{"start":{"line":42,"column":2},"end":{"line":44,"column":3}}]},"3":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"locations":[{"start":{"line":46,"column":2},"end":{"line":48,"column":3}}]},"4":{"type":"branch","line":53,"loc":{"start":{"line":53,"column":2},"end":{"line":66,"column":3}},"locations":[{"start":{"line":53,"column":2},"end":{"line":66,"column":3}}]},"5":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":35},"end":{"line":56,"column":5}},"locations":[{"start":{"line":54,"column":35},"end":{"line":56,"column":5}}]},"6":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":-1},"end":{"line":65,"column":5}},"locations":[{"start":{"line":57,"column":-1},"end":{"line":65,"column":5}}]},"7":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":-1},"end":{"line":66,"column":3}},"locations":[{"start":{"line":66,"column":-1},"end":{"line":66,"column":3}}]},"8":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":28},"end":{"line":60,"column":72}},"locations":[{"start":{"line":60,"column":28},"end":{"line":60,"column":72}}]},"9":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":6},"end":{"line":62,"column":67}},"locations":[{"start":{"line":62,"column":6},"end":{"line":62,"column":67}}]},"10":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":6},"end":{"line":63,"column":37}},"locations":[{"start":{"line":63,"column":6},"end":{"line":63,"column":37}}]},"11":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":6},"end":{"line":64,"column":38}},"locations":[{"start":{"line":64,"column":6},"end":{"line":64,"column":38}}]},"12":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":72,"column":2},"end":{"line":78,"column":3}}]},"13":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":35},"end":{"line":75,"column":5}},"locations":[{"start":{"line":73,"column":35},"end":{"line":75,"column":5}}]},"14":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":39},"end":{"line":77,"column":91}},"locations":[{"start":{"line":77,"column":39},"end":{"line":77,"column":91}}]}},"b":{"0":[55],"1":[0],"2":[110],"3":[110],"4":[50],"5":[45],"6":[5],"7":[0],"8":[5],"9":[5],"10":[5],"11":[5],"12":[2],"13":[0],"14":[2]},"fnMap":{"0":{"name":"CompoundContentRouting","decl":{"start":{"line":32,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":32,"column":2},"end":{"line":36,"column":3}},"line":32},"1":{"name":"isStarted","decl":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"line":38},"2":{"name":"start","decl":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"line":42},"3":{"name":"stop","decl":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"line":46},"4":{"name":"findProviders","decl":{"start":{"line":53,"column":2},"end":{"line":66,"column":3}},"loc":{"start":{"line":53,"column":2},"end":{"line":66,"column":3}},"line":53},"5":{"name":"provide","decl":{"start":{"line":72,"column":2},"end":{"line":78,"column":3}},"loc":{"start":{"line":72,"column":2},"end":{"line":78,"column":3}},"line":72},"6":{"name":"put","decl":{"start":{"line":83,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":83,"column":2},"end":{"line":93,"column":3}},"line":83},"7":{"name":"get","decl":{"start":{"line":99,"column":2},"end":{"line":115,"column":3}},"loc":{"start":{"line":99,"column":2},"end":{"line":115,"column":3}},"line":99},"8":{"name":"getMany","decl":{"start":{"line":120,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":120,"column":2},"end":{"line":149,"column":3}},"line":120}},"f":{"0":55,"1":0,"2":110,"3":110,"4":50,"5":2,"6":0,"7":0,"8":0}} -,"/home/ckousik/projects/js-libp2p/src/content-routing/utils.ts": {"path":"/home/ckousik/projects/js-libp2p/src/content-routing/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":45}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":61}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":89}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":39}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":52}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":61}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":4}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":1}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":33}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":3}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":56}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":26}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":24}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":35}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":24}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":39}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":18}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":32}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":15}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":4}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":59}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":3}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":82}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":14}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":36}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":10}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":14}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":3}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":19}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":54}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":5,"12":1,"13":1,"14":1,"15":1,"16":5,"17":4,"18":1,"19":1,"20":1,"21":1,"22":1,"23":5,"24":5,"25":5,"26":5,"27":1,"28":1,"29":0,"30":0,"31":1,"32":1,"33":1,"34":1,"35":5,"36":5,"37":1,"38":1,"39":1,"40":1,"41":1,"42":5,"43":5,"44":5,"45":1,"46":1,"47":1,"48":0,"49":4,"50":4,"51":4,"52":4,"53":5},"branchMap":{"0":{"type":"branch","line":11,"loc":{"start":{"line":11,"column":7},"end":{"line":18,"column":1}},"locations":[{"start":{"line":11,"column":7},"end":{"line":18,"column":1}}]},"1":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":-1},"end":{"line":18,"column":1}},"locations":[{"start":{"line":18,"column":-1},"end":{"line":18,"column":1}}]},"2":{"type":"branch","line":12,"loc":{"start":{"line":12,"column":22},"end":{"line":17,"column":3}},"locations":[{"start":{"line":12,"column":22},"end":{"line":17,"column":3}}]},"3":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":6},"end":{"line":37,"column":1}},"locations":[{"start":{"line":23,"column":6},"end":{"line":37,"column":1}}]},"4":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":24},"end":{"line":36,"column":3}},"locations":[{"start":{"line":27,"column":24},"end":{"line":36,"column":3}}]},"5":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":38},"end":{"line":31,"column":5}},"locations":[{"start":{"line":29,"column":38},"end":{"line":31,"column":5}}]},"6":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":7},"end":{"line":54,"column":1}},"locations":[{"start":{"line":42,"column":7},"end":{"line":54,"column":1}}]},"7":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":35},"end":{"line":49,"column":3}},"locations":[{"start":{"line":45,"column":35},"end":{"line":49,"column":3}}]},"8":{"type":"branch","line":49,"loc":{"start":{"line":49,"column":-1},"end":{"line":49,"column":3}},"locations":[{"start":{"line":49,"column":-1},"end":{"line":49,"column":3}}]},"9":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":-1},"end":{"line":53,"column":3}},"locations":[{"start":{"line":50,"column":-1},"end":{"line":53,"column":3}}]}},"b":{"0":[5],"1":[4],"2":[1],"3":[5],"4":[1],"5":[0],"6":[5],"7":[1],"8":[0],"9":[4]},"fnMap":{"0":{"name":"storeAddresses","decl":{"start":{"line":11,"column":7},"end":{"line":18,"column":1}},"loc":{"start":{"line":11,"column":7},"end":{"line":18,"column":1}},"line":11},"1":{"name":"uniquePeers","decl":{"start":{"line":23,"column":6},"end":{"line":37,"column":1}},"loc":{"start":{"line":23,"column":6},"end":{"line":37,"column":1}},"line":23},"2":{"name":"requirePeers","decl":{"start":{"line":42,"column":7},"end":{"line":54,"column":1}},"loc":{"start":{"line":42,"column":7},"end":{"line":54,"column":1}},"line":42}},"f":{"0":5,"1":5,"2":5}} -,"/home/ckousik/projects/js-libp2p/src/dht/dht-content-routing.ts": {"path":"/home/ckousik/projects/js-libp2p/src/dht/dht-content-routing.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":71}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":43}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":54}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":55}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":58}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":26}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":18}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":28}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":64}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":69}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":38}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":31}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":7}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":5}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":89}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":50}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":76}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":59}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":35}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":26}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":7}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":58}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":3}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":1,"17":1,"18":0,"19":0,"20":1,"21":1,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":1,"29":1,"30":0,"31":0,"32":1,"33":1,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"DHTContentRouting","decl":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"line":14},"1":{"name":"provide","decl":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"line":18},"2":{"name":"findProviders","decl":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"loc":{"start":{"line":22,"column":2},"end":{"line":28,"column":3}},"line":22},"3":{"name":"put","decl":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"line":30},"4":{"name":"get","decl":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"loc":{"start":{"line":34,"column":2},"end":{"line":42,"column":3}},"line":34}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0}} -,"/home/ckousik/projects/js-libp2p/src/dht/dht-peer-routing.ts": {"path":"/home/ckousik/projects/js-libp2p/src/dht/dht-peer-routing.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":30}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":65}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":48}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":55}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":54}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":55}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":3}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":52}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":26}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":18}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":63}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":67}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":25}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":7}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":5}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":69}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":3}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":73}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":71}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":40}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":24}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":7}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":5}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":1,"17":1,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":1,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"DHTPeerRouting","decl":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"line":14},"1":{"name":"findPeer","decl":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"loc":{"start":{"line":18,"column":2},"end":{"line":26,"column":3}},"line":18},"2":{"name":"getClosestPeers","decl":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"loc":{"start":{"line":28,"column":2},"end":{"line":34,"column":3}},"line":28}},"f":{"0":0,"1":0,"2":0}} -,"/home/ckousik/projects/js-libp2p/src/dht/dummy-dht.ts": {"path":"/home/ckousik/projects/js-libp2p/src/dht/dummy-dht.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":75}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":75}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":57}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":84}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":25}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":3}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":31}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":3}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":25}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":71}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":3}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":25}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":71}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":37}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":71}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":47}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":71}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":42}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":71}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":49}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":71}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":41}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":71}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":3}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":37}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":71}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":0}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":50}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":71}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":3}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":71}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":3}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":47}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":71}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":3}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":0,"10":0,"11":1,"12":1,"13":0,"14":0,"15":1,"16":1,"17":0,"18":0,"19":1,"20":1,"21":0,"22":0,"23":1,"24":1,"25":0,"26":0,"27":1,"28":1,"29":0,"30":0,"31":1,"32":1,"33":0,"34":0,"35":1,"36":1,"37":0,"38":0,"39":1,"40":1,"41":0,"42":0,"43":1,"44":1,"45":0,"46":0,"47":1,"48":1,"49":0,"50":0,"51":1,"52":1,"53":0,"54":0,"55":1,"56":1,"57":0,"58":0,"59":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"get wan","decl":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"loc":{"start":{"line":17,"column":2},"end":{"line":19,"column":3}},"line":17},"1":{"name":"get lan","decl":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":21,"column":2},"end":{"line":23,"column":3}},"line":21},"2":{"name":"get","decl":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"loc":{"start":{"line":25,"column":2},"end":{"line":27,"column":3}},"line":25},"3":{"name":"findProviders","decl":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"line":29},"4":{"name":"findPeer","decl":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"loc":{"start":{"line":33,"column":2},"end":{"line":35,"column":3}},"line":33},"5":{"name":"getClosestPeers","decl":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":37,"column":2},"end":{"line":39,"column":3}},"line":37},"6":{"name":"provide","decl":{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":41,"column":2},"end":{"line":43,"column":3}},"line":41},"7":{"name":"put","decl":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"loc":{"start":{"line":45,"column":2},"end":{"line":47,"column":3}},"line":45},"8":{"name":"getMode","decl":{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},"loc":{"start":{"line":49,"column":2},"end":{"line":51,"column":3}},"line":49},"9":{"name":"setMode","decl":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"loc":{"start":{"line":53,"column":2},"end":{"line":55,"column":3}},"line":53},"10":{"name":"refreshRoutingTable","decl":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"loc":{"start":{"line":57,"column":2},"end":{"line":59,"column":3}},"line":57}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0}} -,"/home/ckousik/projects/js-libp2p/src/fetch/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/fetch/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":66}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":36}}},"s":{"0":1,"1":1,"2":1,"3":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/fetch/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/fetch/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":59}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":64}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":55}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":61}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":58}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":80}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":54}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":52}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":30}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":60}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":40}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":76}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":70}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":77}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":35}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":24}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":27}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":28}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":63}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":17}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":1}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":39}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":16}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":18}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":1}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":33}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":43}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":1}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":41}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":22}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":38}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":1}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":86}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":96}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":99}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":97}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":3}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":48}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":34}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":53}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":63}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":26}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":41}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":76}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":24}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":32}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":94}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":80}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":54}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":20}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":18}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":69}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":35}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":23}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":10}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":24}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":29}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":10}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":8}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":53}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":54}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":6}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":23}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":3}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":0}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":17}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":59}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":24}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":3}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":16}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":23}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":89}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":5}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":99}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":48}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":92}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":25}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":31}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":34}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":49}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":25}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":62}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":66}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":39}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":11}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":31}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":61}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":16}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":5}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":9}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":58}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":14}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":8}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":30}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":52}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":26}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":0}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":32}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":51}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":20}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":20}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":33}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":41}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":0}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":28}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":83}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":11}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":52}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":36}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":49}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":51}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":34}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":13}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":56}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":58}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":25}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":13}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":52}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":54}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":62}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":115}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":13}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":22}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":56}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":92}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":13}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":11}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":9}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":7}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":0}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":27}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":15}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":38}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":33}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":7}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":0}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":27}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":22}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":7}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":5}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":3}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":5}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":98}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":97}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":25}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":5}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":50}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":27}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":21}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":15}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":13}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":18}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":33}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":39}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":26}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":81}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":9}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":44}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":48}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":0}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":35}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":66}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":29}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":68}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":55}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":29}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":63}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":68}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":18}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":70}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":94}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":11}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":16}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":64}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":109}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":77}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":9}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":44}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":8}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":18}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":12}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":5}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":3}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":0}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":5}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":97}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":22}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":5}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":36}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":55}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":35}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":47}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":7}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":5}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":3}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":0}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":5}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":94}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":26}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":4}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":13}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":4}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":10}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":11}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":76}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":8}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":5}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":67}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":43}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":137}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":5}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":44}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":3}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":0}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":5}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":94}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":27}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":4}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":13}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":4}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":10}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":11}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":60}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":8}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":5}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":70}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":25}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":61}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":0}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":38}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":14}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":7}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":5}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":39}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":3}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":55,"62":55,"63":55,"64":55,"65":55,"66":55,"67":55,"68":1,"69":1,"70":55,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":55,"79":55,"80":55,"81":55,"82":55,"83":55,"84":1,"85":1,"86":55,"87":55,"88":55,"89":1,"90":1,"91":0,"92":0,"93":1,"94":1,"95":1,"96":1,"97":1,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":1},"branchMap":{"0":{"type":"branch","line":61,"loc":{"start":{"line":61,"column":2},"end":{"line":68,"column":3}},"locations":[{"start":{"line":61,"column":2},"end":{"line":68,"column":3}}]},"1":{"type":"branch","line":64,"loc":{"start":{"line":64,"column":43},"end":{"line":64,"column":55}},"locations":[{"start":{"line":64,"column":43},"end":{"line":64,"column":55}}]},"2":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":2},"end":{"line":84,"column":3}},"locations":[{"start":{"line":70,"column":2},"end":{"line":84,"column":3}}]},"3":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"locations":[{"start":{"line":86,"column":2},"end":{"line":89,"column":3}}]}},"b":{"0":[55],"1":[0],"2":[55],"3":[55]},"fnMap":{"0":{"name":"FetchService","decl":{"start":{"line":61,"column":2},"end":{"line":68,"column":3}},"loc":{"start":{"line":61,"column":2},"end":{"line":68,"column":3}},"line":61},"1":{"name":"start","decl":{"start":{"line":70,"column":2},"end":{"line":84,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":84,"column":3}},"line":70},"2":{"name":"components.registrar.handle.maxInboundStreams","decl":{"start":{"line":71,"column":58},"end":{"line":79,"column":5}},"loc":{"start":{"line":71,"column":58},"end":{"line":79,"column":5}},"line":71},"3":{"name":"stop","decl":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"loc":{"start":{"line":86,"column":2},"end":{"line":89,"column":3}},"line":86},"4":{"name":"isStarted","decl":{"start":{"line":91,"column":2},"end":{"line":93,"column":3}},"loc":{"start":{"line":91,"column":2},"end":{"line":93,"column":3}},"line":91},"5":{"name":"fetch","decl":{"start":{"line":98,"column":2},"end":{"line":174,"column":3}},"loc":{"start":{"line":98,"column":2},"end":{"line":174,"column":3}},"line":98},"6":{"name":"handleMessage","decl":{"start":{"line":181,"column":2},"end":{"line":221,"column":3}},"loc":{"start":{"line":181,"column":2},"end":{"line":221,"column":3}},"line":181},"7":{"name":"_getLookupFunction","decl":{"start":{"line":227,"column":2},"end":{"line":233,"column":3}},"loc":{"start":{"line":227,"column":2},"end":{"line":233,"column":3}},"line":227},"8":{"name":"registerLookupFunction","decl":{"start":{"line":246,"column":2},"end":{"line":252,"column":3}},"loc":{"start":{"line":246,"column":2},"end":{"line":252,"column":3}},"line":246},"9":{"name":"unregisterLookupFunction","decl":{"start":{"line":265,"column":2},"end":{"line":275,"column":3}},"loc":{"start":{"line":265,"column":2},"end":{"line":275,"column":3}},"line":265}},"f":{"0":55,"1":55,"2":0,"3":55,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0}} -,"/home/ckousik/projects/js-libp2p/src/fetch/pb/proto.ts": {"path":"/home/ckousik/projects/js-libp2p/src/fetch/pb/proto.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":31}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":20}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":1}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":31}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":33}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":51}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":25}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":61}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":45}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":18}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":9}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":67}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":22}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":34}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":9}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":45}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":20}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":9}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":30}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":26}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":24}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":9}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":69}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":37}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":30}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":19}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":46}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":19}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":20}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":38}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":19}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":11}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":9}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":18}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":8}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":17}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":3}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":60}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":51}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":3}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":77}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":51}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":32}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":34}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":18}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":1}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":32}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":26}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":14}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":28}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":19}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":27}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":11}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":18}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":13}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":3}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":0}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":31}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":32}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":56}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":5}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":3}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":34}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":52}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":25}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":62}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":45}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":9}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":106}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":21}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":64}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":9}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":91}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":22}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":27}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":45}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":20}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":9}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":30}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":26}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":32}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":33}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":9}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":69}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":34}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":37}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":30}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":19}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":74}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":19}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":19}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":39}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":19}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":20}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":38}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":19}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":11}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":9}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":18}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":8}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":0}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":17}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":3}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":61}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":52}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":3}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":78}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":52}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":3}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":1,"58":1,"59":0,"60":0,"61":1,"62":1,"63":0,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":0,"88":0,"89":1,"90":1,"91":1,"92":1,"93":1,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":1,"144":1,"145":0,"146":0,"147":1,"148":1,"149":0,"150":0,"151":1},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":0},"end":{"line":66,"column":1}},"locations":[{"start":{"line":14,"column":0},"end":{"line":66,"column":1}}]},"1":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":0},"end":{"line":152,"column":1}},"locations":[{"start":{"line":73,"column":0},"end":{"line":152,"column":1}}]},"2":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":29},"end":{"line":86,"column":31}},"locations":[{"start":{"line":86,"column":29},"end":{"line":86,"column":31}}]},"3":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":2},"end":{"line":78,"column":3}},"locations":[{"start":{"line":74,"column":2},"end":{"line":78,"column":3}}]},"4":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":2},"end":{"line":84,"column":3}},"locations":[{"start":{"line":80,"column":2},"end":{"line":84,"column":3}}]},"5":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":2},"end":{"line":90,"column":3}},"locations":[{"start":{"line":86,"column":2},"end":{"line":90,"column":3}}]}},"b":{"0":[1],"1":[1],"2":[0],"3":[1],"4":[1],"5":[1]},"fnMap":{"0":{"name":"FetchRequest.codec","decl":{"start":{"line":17,"column":23},"end":{"line":57,"column":3}},"loc":{"start":{"line":17,"column":23},"end":{"line":57,"column":3}},"line":17},"1":{"name":"FetchRequest.encode","decl":{"start":{"line":59,"column":24},"end":{"line":61,"column":3}},"loc":{"start":{"line":59,"column":24},"end":{"line":61,"column":3}},"line":59},"2":{"name":"FetchRequest.decode","decl":{"start":{"line":63,"column":24},"end":{"line":65,"column":3}},"loc":{"start":{"line":63,"column":24},"end":{"line":65,"column":3}},"line":63},"3":{"name":"StatusCode.codec","decl":{"start":{"line":87,"column":25},"end":{"line":89,"column":5}},"loc":{"start":{"line":87,"column":25},"end":{"line":89,"column":5}},"line":87},"4":{"name":"FetchResponse.codec","decl":{"start":{"line":94,"column":23},"end":{"line":143,"column":3}},"loc":{"start":{"line":94,"column":23},"end":{"line":143,"column":3}},"line":94},"5":{"name":"FetchResponse.encode","decl":{"start":{"line":145,"column":24},"end":{"line":147,"column":3}},"loc":{"start":{"line":145,"column":24},"end":{"line":147,"column":3}},"line":145},"6":{"name":"FetchResponse.decode","decl":{"start":{"line":149,"column":24},"end":{"line":151,"column":3}},"loc":{"start":{"line":149,"column":24},"end":{"line":151,"column":3}},"line":149}},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0}} -,"/home/ckousik/projects/js-libp2p/src/identify/consts.ts": {"path":"/home/ckousik/projects/js-libp2p/src/identify/consts.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":39}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":58}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":51}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":65}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":75}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":48}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":53}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":63}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":59}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":64}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/identify/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/identify/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":40}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":28}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":76}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":62}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":42}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":8}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":22}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":27}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":28}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":36}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":41}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":39}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":43}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":20}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":36}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":80}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":70}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":61}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":48}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":60}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":54}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":40}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":77}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":55}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":61}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":71}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":37}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":116}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":42}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":33}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":22}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":1}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":38}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":57}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":24}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":5}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":63}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":5}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":22}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":5}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":78}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":5}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":17}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":5}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":82}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":33}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":27}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":28}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":0}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":32}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":32}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":1}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":44}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":16}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":22}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":38}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":22}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":32}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":51}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":56}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":46}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":50}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":25}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":27}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":24}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":3}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":44}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":26}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":82}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":32}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":24}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":20}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":133}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":147}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":31}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":17}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":77}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":18}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":5}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":54}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":81}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":35}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":48}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":6}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":57}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":78}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":35}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":50}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":64}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":7}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":6}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":56}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":77}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":35}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":50}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":64}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":7}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":6}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":3}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":0}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":16}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":23}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":3}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":0}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":18}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":23}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":12}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":5}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":143}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":149}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":80}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":52}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":22}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":8}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":8}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":53}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":54}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":6}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":84}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":48}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":22}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":8}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":8}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":58}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":58}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":6}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":23}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":3}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":0}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":17}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":70}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":74}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":24}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":3}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":5}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":60}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":5}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":57}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":111}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":91}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":91}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":56}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":36}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":72}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":11}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":31}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":61}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":16}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":11}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":77}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":42}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":10}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":32}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":72}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":31}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":28}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":24}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":29}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":21}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":14}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":21}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":10}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":26}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":26}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":64}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":17}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":29}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":24}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":9}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":0}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":33}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":7}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":6}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":0}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":29}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":3}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":0}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":5}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":41}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":28}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":47}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":28}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":12}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":5}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":40}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":0}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":76}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":36}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":62}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":67}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":16}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":7}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":0}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":28}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":5}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":0}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":32}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":3}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":0}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":91}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":25}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":31}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":34}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":0}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":49}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":25}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":66}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":39}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":11}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":31}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":61}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":16}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":5}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":9}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":71}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":14}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":8}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":30}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":52}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":30}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":11}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":15}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":19}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":86}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":11}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":45}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":7}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":25}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":90}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":7}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":0}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":11}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":36}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":26}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":53}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":7}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":15}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":38}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":33}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":7}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":0}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":27}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":22}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":7}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":5}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":3}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":0}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":5}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":86}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":87}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":29}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":5}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":86}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":61}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":11}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":16}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":18}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":16}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":19}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":23}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":19}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":21}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":15}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":0}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":28}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":108}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":0}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":46}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":0}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":44}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":106}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":5}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":0}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":44}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":93}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":5}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":0}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":43}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":77}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":0}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":35}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":52}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":0}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":11}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":97}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":0}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":42}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":110}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":9}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":0}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":86}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":70}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":0}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":37}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":121}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":11}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":0}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":40}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":127}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":11}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":0}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":79}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":0}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":16}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":9}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":26}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":98}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":7}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":12}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":55}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":5}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":0}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":55}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":0}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":45}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":9}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":101}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":24}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":46}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":5}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":0}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":64}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":0}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":31}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":115}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":5}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":0}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":34}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":121}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":5}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":73}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":0}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":44}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":73}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":67}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":3}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":5}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":62}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":55}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":5}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":52}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":39}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":70}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":0}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":9}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":29}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":59}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":14}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":0}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":9}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":77}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":82}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":123}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":56}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":0}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":62}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":43}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":41}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":20}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":10}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":0}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":86}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":79}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":56}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":7}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":0}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":39}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":51}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":45}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":18}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":56}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":25}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":50}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":37}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":8}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":0}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":30}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":70}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":0}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":59}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":41}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":24}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":61}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":15}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":20}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":31}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":5}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":3}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":0}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":5}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":64}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":5}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":48}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":39}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":70}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":0}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":9}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":29}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":59}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":14}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":0}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":37}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":9}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":30}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":70}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":0}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":30}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":11}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":15}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":19}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":86}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":11}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":45}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":7}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":0}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":25}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":39}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":7}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":24}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":55}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":15}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":20}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":31}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":5}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":0}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":26}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":50}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":5}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":0}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":36}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":0}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":44}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":42}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":12}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":5}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":0}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":36}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":0}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":43}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":46}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":0}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":11}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":105}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":0}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":86}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":55}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":0}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":78}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":16}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":16}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":64}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":9}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":26}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":98}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":7}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":12}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":53}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":5}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":45}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":9}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":57}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":59}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":24}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":46}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":5}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":0}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":27}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":9}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":74}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":24}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":50}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":5}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":0}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":35}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":3}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":0}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":5}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":64}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":5}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":75}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":42}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":11}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":30}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":15}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":0}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":7}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":5}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":3}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":1}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":0}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":3}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":45}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":3}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":28}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":32}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":41}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":1}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":0}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":35}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":55,"91":55,"92":55,"93":55,"94":55,"95":55,"96":55,"97":55,"98":55,"99":55,"100":55,"101":55,"102":55,"103":55,"104":55,"105":84,"106":84,"107":55,"108":55,"109":55,"110":55,"111":368,"112":368,"113":368,"114":175,"115":175,"116":55,"117":55,"118":55,"119":55,"120":925,"121":925,"122":925,"123":776,"124":776,"125":55,"126":55,"127":1,"128":1,"129":951,"130":951,"131":1,"132":1,"133":55,"134":0,"135":0,"136":55,"137":55,"138":55,"139":55,"140":55,"141":62,"142":0,"143":62,"144":55,"145":55,"146":55,"147":55,"148":55,"149":34,"150":0,"151":34,"152":55,"153":55,"154":55,"155":55,"156":55,"157":55,"158":55,"159":1,"160":1,"161":55,"162":55,"163":55,"164":55,"165":55,"166":1,"167":1,"168":1,"169":1,"170":1,"171":456,"172":456,"173":456,"174":456,"175":456,"176":343,"177":343,"178":343,"179":343,"180":343,"181":343,"182":343,"183":343,"184":343,"185":343,"186":343,"187":343,"188":28,"189":28,"190":28,"191":28,"192":28,"193":28,"194":28,"195":28,"196":28,"197":28,"198":28,"199":28,"200":343,"201":315,"202":315,"203":343,"204":343,"205":28,"206":28,"207":343,"208":343,"209":343,"210":456,"211":456,"212":456,"213":456,"214":1,"215":1,"216":1,"217":1,"218":1,"219":951,"220":951,"221":495,"222":495,"223":456,"224":456,"225":456,"226":951,"227":369,"228":369,"229":369,"230":369,"231":26,"232":26,"233":343,"234":343,"235":343,"236":456,"237":456,"238":456,"239":1,"240":1,"241":84,"242":84,"243":84,"244":84,"245":84,"246":84,"247":84,"248":84,"249":84,"250":84,"251":84,"252":84,"253":84,"254":84,"255":84,"256":84,"257":84,"258":84,"259":84,"260":62,"261":62,"262":62,"263":62,"264":62,"265":62,"266":62,"267":62,"268":62,"269":84,"270":84,"271":84,"272":62,"273":84,"274":0,"275":0,"276":62,"277":62,"278":62,"279":84,"280":0,"281":0,"282":84,"283":84,"284":84,"285":84,"286":84,"287":84,"288":62,"289":62,"290":84,"291":84,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":84,"300":62,"301":62,"302":62,"303":62,"304":62,"305":62,"306":62,"307":62,"308":62,"309":62,"310":62,"311":84,"312":0,"313":0,"314":62,"315":62,"316":62,"317":84,"318":0,"319":0,"320":62,"321":84,"322":0,"323":0,"324":62,"325":62,"326":62,"327":62,"328":62,"329":62,"330":62,"331":62,"332":62,"333":62,"334":62,"335":0,"336":0,"337":62,"338":62,"339":61,"340":61,"341":61,"342":61,"343":61,"344":61,"345":61,"346":61,"347":61,"348":61,"349":61,"350":61,"351":61,"352":61,"353":62,"354":0,"355":0,"356":84,"357":0,"358":0,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":84,"366":0,"367":0,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":84,"383":84,"384":84,"385":1,"386":1,"387":1,"388":1,"389":1,"390":1,"391":62,"392":62,"393":62,"394":62,"395":62,"396":62,"397":62,"398":62,"399":62,"400":62,"401":62,"402":62,"403":62,"404":62,"405":62,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":62,"416":62,"417":62,"418":62,"419":62,"420":62,"421":62,"422":62,"423":62,"424":62,"425":62,"426":62,"427":62,"428":62,"429":62,"430":62,"431":62,"432":0,"433":62,"434":62,"435":62,"436":62,"437":62,"438":1,"439":1,"440":1,"441":1,"442":1,"443":34,"444":34,"445":34,"446":34,"447":34,"448":34,"449":34,"450":34,"451":34,"452":34,"453":34,"454":34,"455":34,"456":34,"457":34,"458":34,"459":34,"460":34,"461":34,"462":34,"463":34,"464":30,"465":34,"466":26,"467":26,"468":34,"469":4,"470":34,"471":34,"472":34,"473":34,"474":30,"475":34,"476":4,"477":4,"478":26,"479":26,"480":26,"481":34,"482":0,"483":0,"484":0,"485":26,"486":26,"487":26,"488":26,"489":26,"490":26,"491":26,"492":26,"493":26,"494":26,"495":26,"496":26,"497":26,"498":26,"499":26,"500":0,"501":0,"502":26,"503":0,"504":0,"505":34,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":1,"527":1,"528":1,"529":1,"530":1,"531":62,"532":62,"533":62,"534":62,"535":0,"536":0,"537":62,"538":62,"539":1,"540":1,"541":1,"542":1,"543":1,"544":1,"545":1,"546":1,"547":1,"548":1,"549":1},"branchMap":{"0":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":2},"end":{"line":127,"column":3}},"locations":[{"start":{"line":90,"column":2},"end":{"line":127,"column":3}}]},"1":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":71},"end":{"line":108,"column":5}},"locations":[{"start":{"line":105,"column":71},"end":{"line":108,"column":5}}]},"2":{"type":"branch","line":111,"loc":{"start":{"line":111,"column":68},"end":{"line":117,"column":5}},"locations":[{"start":{"line":111,"column":68},"end":{"line":117,"column":5}}]},"3":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":49},"end":{"line":116,"column":7}},"locations":[{"start":{"line":114,"column":49},"end":{"line":116,"column":7}}]},"4":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":67},"end":{"line":126,"column":5}},"locations":[{"start":{"line":120,"column":67},"end":{"line":126,"column":5}}]},"5":{"type":"branch","line":123,"loc":{"start":{"line":123,"column":49},"end":{"line":125,"column":7}},"locations":[{"start":{"line":123,"column":49},"end":{"line":125,"column":7}}]},"6":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":2},"end":{"line":131,"column":3}},"locations":[{"start":{"line":129,"column":2},"end":{"line":131,"column":3}}]},"7":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":2},"end":{"line":159,"column":3}},"locations":[{"start":{"line":133,"column":2},"end":{"line":159,"column":3}}]},"8":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":22},"end":{"line":136,"column":5}},"locations":[{"start":{"line":134,"column":22},"end":{"line":136,"column":5}}]},"9":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":69},"end":{"line":145,"column":5}},"locations":[{"start":{"line":141,"column":69},"end":{"line":145,"column":5}}]},"10":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":73},"end":{"line":153,"column":5}},"locations":[{"start":{"line":149,"column":73},"end":{"line":153,"column":5}}]},"11":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":2},"end":{"line":166,"column":3}},"locations":[{"start":{"line":161,"column":2},"end":{"line":166,"column":3}}]},"12":{"type":"branch","line":171,"loc":{"start":{"line":171,"column":2},"end":{"line":214,"column":3}},"locations":[{"start":{"line":171,"column":2},"end":{"line":214,"column":3}}]},"13":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":74},"end":{"line":173,"column":90}},"locations":[{"start":{"line":173,"column":74},"end":{"line":173,"column":90}}]},"14":{"type":"branch","line":176,"loc":{"start":{"line":176,"column":35},"end":{"line":211,"column":5}},"locations":[{"start":{"line":176,"column":35},"end":{"line":211,"column":5}}]},"15":{"type":"branch","line":183,"loc":{"start":{"line":183,"column":8},"end":{"line":183,"column":16}},"locations":[{"start":{"line":183,"column":8},"end":{"line":183,"column":16}}]},"16":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":-1},"end":{"line":201,"column":15}},"locations":[{"start":{"line":189,"column":-1},"end":{"line":201,"column":15}}]},"17":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":8},"end":{"line":204,"column":16}},"locations":[{"start":{"line":201,"column":8},"end":{"line":204,"column":16}}]},"18":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":28},"end":{"line":207,"column":9}},"locations":[{"start":{"line":205,"column":28},"end":{"line":207,"column":9}}]},"19":{"type":"branch","line":219,"loc":{"start":{"line":219,"column":2},"end":{"line":239,"column":3}},"locations":[{"start":{"line":219,"column":2},"end":{"line":239,"column":3}}]},"20":{"type":"branch","line":221,"loc":{"start":{"line":221,"column":27},"end":{"line":223,"column":5}},"locations":[{"start":{"line":221,"column":27},"end":{"line":223,"column":5}}]},"21":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":-1},"end":{"line":227,"column":75}},"locations":[{"start":{"line":224,"column":-1},"end":{"line":227,"column":75}}]},"22":{"type":"branch","line":227,"loc":{"start":{"line":227,"column":75},"end":{"line":236,"column":5}},"locations":[{"start":{"line":227,"column":75},"end":{"line":236,"column":5}}]},"23":{"type":"branch","line":231,"loc":{"start":{"line":231,"column":66},"end":{"line":233,"column":7}},"locations":[{"start":{"line":231,"column":66},"end":{"line":233,"column":7}}]},"24":{"type":"branch","line":234,"loc":{"start":{"line":234,"column":-1},"end":{"line":236,"column":5}},"locations":[{"start":{"line":234,"column":-1},"end":{"line":236,"column":5}}]},"25":{"type":"branch","line":237,"loc":{"start":{"line":237,"column":-1},"end":{"line":239,"column":3}},"locations":[{"start":{"line":237,"column":-1},"end":{"line":239,"column":3}}]},"26":{"type":"branch","line":241,"loc":{"start":{"line":241,"column":2},"end":{"line":292,"column":3}},"locations":[{"start":{"line":241,"column":2},"end":{"line":292,"column":3}}]},"27":{"type":"branch","line":254,"loc":{"start":{"line":254,"column":8},"end":{"line":254,"column":16}},"locations":[{"start":{"line":254,"column":8},"end":{"line":254,"column":16}}]},"28":{"type":"branch","line":261,"loc":{"start":{"line":261,"column":-1},"end":{"line":269,"column":86}},"locations":[{"start":{"line":261,"column":-1},"end":{"line":269,"column":86}}]},"29":{"type":"branch","line":273,"loc":{"start":{"line":273,"column":-1},"end":{"line":274,"column":24}},"locations":[{"start":{"line":273,"column":-1},"end":{"line":274,"column":24}}]},"30":{"type":"branch","line":274,"loc":{"start":{"line":274,"column":24},"end":{"line":276,"column":7}},"locations":[{"start":{"line":274,"column":24},"end":{"line":276,"column":7}}]},"31":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":-1},"end":{"line":280,"column":15}},"locations":[{"start":{"line":277,"column":-1},"end":{"line":280,"column":15}}]},"32":{"type":"branch","line":280,"loc":{"start":{"line":280,"column":8},"end":{"line":282,"column":7}},"locations":[{"start":{"line":280,"column":8},"end":{"line":282,"column":7}}]},"33":{"type":"branch","line":288,"loc":{"start":{"line":288,"column":26},"end":{"line":290,"column":7}},"locations":[{"start":{"line":288,"column":26},"end":{"line":290,"column":7}}]},"34":{"type":"branch","line":271,"loc":{"start":{"line":271,"column":8},"end":{"line":271,"column":45}},"locations":[{"start":{"line":271,"column":8},"end":{"line":271,"column":45}}]},"35":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":2},"end":{"line":385,"column":3}},"locations":[{"start":{"line":299,"column":2},"end":{"line":385,"column":3}}]},"36":{"type":"branch","line":301,"loc":{"start":{"line":301,"column":-1},"end":{"line":312,"column":27}},"locations":[{"start":{"line":301,"column":-1},"end":{"line":312,"column":27}}]},"37":{"type":"branch","line":312,"loc":{"start":{"line":312,"column":27},"end":{"line":314,"column":5}},"locations":[{"start":{"line":312,"column":27},"end":{"line":314,"column":5}}]},"38":{"type":"branch","line":315,"loc":{"start":{"line":315,"column":-1},"end":{"line":318,"column":43}},"locations":[{"start":{"line":315,"column":-1},"end":{"line":318,"column":43}}]},"39":{"type":"branch","line":318,"loc":{"start":{"line":318,"column":43},"end":{"line":320,"column":5}},"locations":[{"start":{"line":318,"column":43},"end":{"line":320,"column":5}}]},"40":{"type":"branch","line":321,"loc":{"start":{"line":321,"column":-1},"end":{"line":322,"column":43}},"locations":[{"start":{"line":321,"column":-1},"end":{"line":322,"column":43}}]},"41":{"type":"branch","line":322,"loc":{"start":{"line":322,"column":43},"end":{"line":324,"column":5}},"locations":[{"start":{"line":322,"column":43},"end":{"line":324,"column":5}}]},"42":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":-1},"end":{"line":357,"column":11}},"locations":[{"start":{"line":325,"column":-1},"end":{"line":357,"column":11}}]},"43":{"type":"branch","line":335,"loc":{"start":{"line":335,"column":41},"end":{"line":337,"column":9}},"locations":[{"start":{"line":335,"column":41},"end":{"line":337,"column":9}}]},"44":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":85},"end":{"line":353,"column":9}},"locations":[{"start":{"line":339,"column":85},"end":{"line":353,"column":9}}]},"45":{"type":"branch","line":354,"loc":{"start":{"line":354,"column":8},"end":{"line":356,"column":7}},"locations":[{"start":{"line":354,"column":8},"end":{"line":356,"column":7}}]},"46":{"type":"branch","line":357,"loc":{"start":{"line":357,"column":5},"end":{"line":359,"column":5}},"locations":[{"start":{"line":357,"column":5},"end":{"line":359,"column":5}}]},"47":{"type":"branch","line":360,"loc":{"start":{"line":360,"column":-1},"end":{"line":366,"column":13}},"locations":[{"start":{"line":360,"column":-1},"end":{"line":366,"column":13}}]},"48":{"type":"branch","line":366,"loc":{"start":{"line":366,"column":6},"end":{"line":368,"column":5}},"locations":[{"start":{"line":366,"column":6},"end":{"line":368,"column":5}}]},"49":{"type":"branch","line":369,"loc":{"start":{"line":369,"column":-1},"end":{"line":383,"column":70}},"locations":[{"start":{"line":369,"column":-1},"end":{"line":383,"column":70}}]},"50":{"type":"branch","line":365,"loc":{"start":{"line":365,"column":74},"end":{"line":365,"column":99}},"locations":[{"start":{"line":365,"column":74},"end":{"line":365,"column":99}}]},"51":{"type":"branch","line":391,"loc":{"start":{"line":391,"column":2},"end":{"line":438,"column":3}},"locations":[{"start":{"line":391,"column":2},"end":{"line":438,"column":3}}]},"52":{"type":"branch","line":398,"loc":{"start":{"line":398,"column":6},"end":{"line":398,"column":14}},"locations":[{"start":{"line":398,"column":6},"end":{"line":398,"column":14}}]},"53":{"type":"branch","line":401,"loc":{"start":{"line":401,"column":56},"end":{"line":401,"column":77}},"locations":[{"start":{"line":401,"column":56},"end":{"line":401,"column":77}}]},"54":{"type":"branch","line":406,"loc":{"start":{"line":406,"column":61},"end":{"line":415,"column":7}},"locations":[{"start":{"line":406,"column":61},"end":{"line":415,"column":7}}]},"55":{"type":"branch","line":432,"loc":{"start":{"line":432,"column":6},"end":{"line":434,"column":14}},"locations":[{"start":{"line":432,"column":6},"end":{"line":434,"column":14}}]},"56":{"type":"branch","line":403,"loc":{"start":{"line":403,"column":75},"end":{"line":403,"column":122}},"locations":[{"start":{"line":403,"column":75},"end":{"line":403,"column":122}}]},"57":{"type":"branch","line":421,"loc":{"start":{"line":421,"column":36},"end":{"line":421,"column":54}},"locations":[{"start":{"line":421,"column":36},"end":{"line":421,"column":54}}]},"58":{"type":"branch","line":443,"loc":{"start":{"line":443,"column":2},"end":{"line":526,"column":3}},"locations":[{"start":{"line":443,"column":2},"end":{"line":526,"column":3}}]},"59":{"type":"branch","line":450,"loc":{"start":{"line":450,"column":6},"end":{"line":450,"column":14}},"locations":[{"start":{"line":450,"column":6},"end":{"line":450,"column":14}}]},"60":{"type":"branch","line":465,"loc":{"start":{"line":465,"column":-1},"end":{"line":466,"column":24}},"locations":[{"start":{"line":465,"column":-1},"end":{"line":466,"column":24}}]},"61":{"type":"branch","line":466,"loc":{"start":{"line":466,"column":24},"end":{"line":468,"column":7}},"locations":[{"start":{"line":466,"column":24},"end":{"line":468,"column":7}}]},"62":{"type":"branch","line":469,"loc":{"start":{"line":469,"column":6},"end":{"line":471,"column":14}},"locations":[{"start":{"line":469,"column":6},"end":{"line":471,"column":14}}]},"63":{"type":"branch","line":471,"loc":{"start":{"line":471,"column":5},"end":{"line":471,"column":15}},"locations":[{"start":{"line":471,"column":5},"end":{"line":471,"column":15}}]},"64":{"type":"branch","line":475,"loc":{"start":{"line":475,"column":-1},"end":{"line":476,"column":25}},"locations":[{"start":{"line":475,"column":-1},"end":{"line":476,"column":25}}]},"65":{"type":"branch","line":476,"loc":{"start":{"line":476,"column":25},"end":{"line":478,"column":5}},"locations":[{"start":{"line":476,"column":25},"end":{"line":478,"column":5}}]},"66":{"type":"branch","line":479,"loc":{"start":{"line":479,"column":-1},"end":{"line":482,"column":43}},"locations":[{"start":{"line":479,"column":-1},"end":{"line":482,"column":43}}]},"67":{"type":"branch","line":482,"loc":{"start":{"line":482,"column":43},"end":{"line":485,"column":5}},"locations":[{"start":{"line":482,"column":43},"end":{"line":485,"column":5}}]},"68":{"type":"branch","line":486,"loc":{"start":{"line":486,"column":-1},"end":{"line":506,"column":11}},"locations":[{"start":{"line":486,"column":-1},"end":{"line":506,"column":11}}]},"69":{"type":"branch","line":500,"loc":{"start":{"line":500,"column":9},"end":{"line":502,"column":9}},"locations":[{"start":{"line":500,"column":9},"end":{"line":502,"column":9}}]},"70":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":8},"end":{"line":505,"column":7}},"locations":[{"start":{"line":503,"column":8},"end":{"line":505,"column":7}}]},"71":{"type":"branch","line":506,"loc":{"start":{"line":506,"column":5},"end":{"line":526,"column":3}},"locations":[{"start":{"line":506,"column":5},"end":{"line":526,"column":3}}]},"72":{"type":"branch","line":463,"loc":{"start":{"line":463,"column":8},"end":{"line":463,"column":45}},"locations":[{"start":{"line":463,"column":8},"end":{"line":463,"column":45}}]},"73":{"type":"branch","line":531,"loc":{"start":{"line":531,"column":9},"end":{"line":539,"column":3}},"locations":[{"start":{"line":531,"column":9},"end":{"line":539,"column":3}}]},"74":{"type":"branch","line":535,"loc":{"start":{"line":535,"column":8},"end":{"line":537,"column":7}},"locations":[{"start":{"line":535,"column":8},"end":{"line":537,"column":7}}]}},"b":{"0":[55],"1":[84],"2":[368],"3":[175],"4":[925],"5":[776],"6":[951],"7":[55],"8":[0],"9":[62],"10":[34],"11":[55],"12":[456],"13":[480],"14":[343],"15":[0],"16":[28],"17":[315],"18":[28],"19":[951],"20":[495],"21":[456],"22":[369],"23":[26],"24":[343],"25":[456],"26":[84],"27":[0],"28":[62],"29":[62],"30":[0],"31":[62],"32":[0],"33":[62],"34":[62],"35":[84],"36":[62],"37":[0],"38":[62],"39":[0],"40":[62],"41":[0],"42":[62],"43":[0],"44":[61],"45":[0],"46":[0],"47":[1],"48":[0],"49":[1],"50":[3],"51":[62],"52":[0],"53":[0],"54":[0],"55":[0],"56":[141],"57":[141],"58":[34],"59":[0],"60":[30],"61":[26],"62":[4],"63":[30],"64":[30],"65":[4],"66":[26],"67":[0],"68":[26],"69":[0],"70":[0],"71":[0],"72":[34],"73":[62],"74":[0]},"fnMap":{"0":{"name":"IdentifyService","decl":{"start":{"line":90,"column":2},"end":{"line":127,"column":3}},"loc":{"start":{"line":90,"column":2},"end":{"line":127,"column":3}},"line":90},"1":{"name":"isStarted","decl":{"start":{"line":129,"column":2},"end":{"line":131,"column":3}},"loc":{"start":{"line":129,"column":2},"end":{"line":131,"column":3}},"line":129},"2":{"name":"start","decl":{"start":{"line":133,"column":2},"end":{"line":159,"column":3}},"loc":{"start":{"line":133,"column":2},"end":{"line":159,"column":3}},"line":133},"3":{"name":"components.registrar.handle.maxInboundStreams","decl":{"start":{"line":141,"column":69},"end":{"line":145,"column":5}},"loc":{"start":{"line":141,"column":69},"end":{"line":145,"column":5}},"line":141},"4":{"name":"components.registrar.handle.maxInboundStreams","decl":{"start":{"line":149,"column":73},"end":{"line":153,"column":5}},"loc":{"start":{"line":149,"column":73},"end":{"line":153,"column":5}},"line":149},"5":{"name":"stop","decl":{"start":{"line":161,"column":2},"end":{"line":166,"column":3}},"loc":{"start":{"line":161,"column":2},"end":{"line":166,"column":3}},"line":161},"6":{"name":"push","decl":{"start":{"line":171,"column":2},"end":{"line":214,"column":3}},"loc":{"start":{"line":171,"column":2},"end":{"line":214,"column":3}},"line":171},"7":{"name":"pushToPeerStore","decl":{"start":{"line":219,"column":2},"end":{"line":239,"column":3}},"loc":{"start":{"line":219,"column":2},"end":{"line":239,"column":3}},"line":219},"8":{"name":"_identify","decl":{"start":{"line":241,"column":2},"end":{"line":292,"column":3}},"loc":{"start":{"line":241,"column":2},"end":{"line":292,"column":3}},"line":241},"9":{"name":"identify","decl":{"start":{"line":299,"column":2},"end":{"line":385,"column":3}},"loc":{"start":{"line":299,"column":2},"end":{"line":385,"column":3}},"line":299},"10":{"name":"_handleIdentify","decl":{"start":{"line":391,"column":2},"end":{"line":438,"column":3}},"loc":{"start":{"line":391,"column":2},"end":{"line":438,"column":3}},"line":391},"11":{"name":"_handlePush","decl":{"start":{"line":443,"column":2},"end":{"line":526,"column":3}},"loc":{"start":{"line":443,"column":2},"end":{"line":526,"column":3}},"line":443},"12":{"name":"getCleanMultiaddr","decl":{"start":{"line":531,"column":9},"end":{"line":539,"column":3}},"loc":{"start":{"line":531,"column":9},"end":{"line":539,"column":3}},"line":531}},"f":{"0":55,"1":951,"2":55,"3":62,"4":34,"5":55,"6":456,"7":951,"8":84,"9":84,"10":62,"11":34,"12":62}} -,"/home/ckousik/projects/js-libp2p/src/identify/pb/message.ts": {"path":"/home/ckousik/projects/js-libp2p/src/identify/pb/message.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":71}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":27}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":23}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":24}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":27}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":21}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":31}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":1}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":27}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":29}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":0}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":47}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":25}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":57}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":45}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":18}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":9}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":42}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":22}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":39}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":9}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":0}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":39}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":22}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":36}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":9}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":0}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":36}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":22}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":32}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":9}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":38}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":48}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":24}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":26}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":11}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":9}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":39}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":22}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":35}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":9}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":36}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":46}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":24}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":27}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":11}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":9}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":43}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":22}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":39}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":9}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":45}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":20}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":9}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":30}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":26}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":26}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":23}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":9}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":69}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":34}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":37}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":30}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":19}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":51}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":19}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":19}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":48}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":19}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":19}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":44}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":19}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":19}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":50}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":19}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":19}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":47}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":19}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":19}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":49}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":19}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":19}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":51}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":19}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":20}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":38}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":19}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":11}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":18}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":8}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":17}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":3}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":56}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":47}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":3}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":73}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":47}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":178,"24":1,"25":90,"26":0,"27":0,"28":90,"29":90,"30":62,"31":62,"32":62,"33":90,"34":90,"35":62,"36":62,"37":62,"38":90,"39":90,"40":62,"41":62,"42":62,"43":90,"44":90,"45":90,"46":226,"47":226,"48":226,"49":90,"50":90,"51":90,"52":62,"53":62,"54":62,"55":90,"56":90,"57":90,"58":634,"59":634,"60":634,"61":90,"62":90,"63":90,"64":90,"65":90,"66":90,"67":90,"68":90,"69":0,"70":0,"71":1,"72":88,"73":88,"74":88,"75":88,"76":88,"77":88,"78":88,"79":88,"80":1176,"81":1176,"82":1176,"83":1176,"84":62,"85":62,"86":1176,"87":62,"88":62,"89":1176,"90":62,"91":62,"92":1176,"93":220,"94":220,"95":1176,"96":62,"97":62,"98":1176,"99":620,"100":620,"101":1176,"102":88,"103":88,"104":1176,"105":0,"106":0,"107":1176,"108":1176,"109":88,"110":88,"111":1,"112":1,"113":178,"114":178,"115":178,"116":1,"117":1,"118":90,"119":90,"120":1,"121":1,"122":88,"123":88,"124":1},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":0},"end":{"line":125,"column":1}},"locations":[{"start":{"line":20,"column":0},"end":{"line":125,"column":1}}]},"1":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":23},"end":{"line":116,"column":3}},"locations":[{"start":{"line":23,"column":23},"end":{"line":116,"column":3}}]},"2":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":24},"end":{"line":113,"column":5}},"locations":[{"start":{"line":24,"column":24},"end":{"line":113,"column":5}}]},"3":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":33},"end":{"line":72,"column":7}},"locations":[{"start":{"line":25,"column":33},"end":{"line":72,"column":7}}]},"4":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":44},"end":{"line":28,"column":9}},"locations":[{"start":{"line":26,"column":44},"end":{"line":28,"column":9}}]},"5":{"type":"branch","line":30,"loc":{"start":{"line":30,"column":41},"end":{"line":33,"column":9}},"locations":[{"start":{"line":30,"column":41},"end":{"line":33,"column":9}}]},"6":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":38},"end":{"line":38,"column":9}},"locations":[{"start":{"line":35,"column":38},"end":{"line":38,"column":9}}]},"7":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":35},"end":{"line":43,"column":9}},"locations":[{"start":{"line":40,"column":35},"end":{"line":43,"column":9}}]},"8":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":47},"end":{"line":49,"column":11}},"locations":[{"start":{"line":46,"column":47},"end":{"line":49,"column":11}}]},"9":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":38},"end":{"line":55,"column":9}},"locations":[{"start":{"line":52,"column":38},"end":{"line":55,"column":9}}]},"10":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":45},"end":{"line":61,"column":11}},"locations":[{"start":{"line":58,"column":45},"end":{"line":61,"column":11}}]},"11":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":44},"end":{"line":71,"column":9}},"locations":[{"start":{"line":69,"column":44},"end":{"line":71,"column":9}}]},"12":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":9},"end":{"line":112,"column":7}},"locations":[{"start":{"line":72,"column":9},"end":{"line":112,"column":7}}]},"13":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":48},"end":{"line":78,"column":69}},"locations":[{"start":{"line":78,"column":48},"end":{"line":78,"column":69}}]},"14":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":33},"end":{"line":109,"column":9}},"locations":[{"start":{"line":80,"column":33},"end":{"line":109,"column":9}}]},"15":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":12},"end":{"line":86,"column":19}},"locations":[{"start":{"line":84,"column":12},"end":{"line":86,"column":19}}]},"16":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":12},"end":{"line":89,"column":19}},"locations":[{"start":{"line":87,"column":12},"end":{"line":89,"column":19}}]},"17":{"type":"branch","line":90,"loc":{"start":{"line":90,"column":12},"end":{"line":92,"column":19}},"locations":[{"start":{"line":90,"column":12},"end":{"line":92,"column":19}}]},"18":{"type":"branch","line":93,"loc":{"start":{"line":93,"column":12},"end":{"line":95,"column":19}},"locations":[{"start":{"line":93,"column":12},"end":{"line":95,"column":19}}]},"19":{"type":"branch","line":96,"loc":{"start":{"line":96,"column":12},"end":{"line":98,"column":19}},"locations":[{"start":{"line":96,"column":12},"end":{"line":98,"column":19}}]},"20":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":12},"end":{"line":101,"column":19}},"locations":[{"start":{"line":99,"column":12},"end":{"line":101,"column":19}}]},"21":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":12},"end":{"line":104,"column":19}},"locations":[{"start":{"line":102,"column":12},"end":{"line":104,"column":19}}]},"22":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":12},"end":{"line":107,"column":19}},"locations":[{"start":{"line":105,"column":12},"end":{"line":107,"column":19}}]},"23":{"type":"branch","line":118,"loc":{"start":{"line":118,"column":24},"end":{"line":120,"column":3}},"locations":[{"start":{"line":118,"column":24},"end":{"line":120,"column":3}}]},"24":{"type":"branch","line":122,"loc":{"start":{"line":122,"column":24},"end":{"line":124,"column":3}},"locations":[{"start":{"line":122,"column":24},"end":{"line":124,"column":3}}]}},"b":{"0":[1],"1":[178],"2":[1],"3":[90],"4":[0],"5":[62],"6":[62],"7":[62],"8":[226],"9":[62],"10":[634],"11":[0],"12":[88],"13":[0],"14":[1176],"15":[62],"16":[62],"17":[62],"18":[220],"19":[62],"20":[620],"21":[88],"22":[0],"23":[90],"24":[88]},"fnMap":{"0":{"name":"Identify.codec","decl":{"start":{"line":23,"column":23},"end":{"line":116,"column":3}},"loc":{"start":{"line":23,"column":23},"end":{"line":116,"column":3}},"line":23},"1":{"name":"obj.listenAddrs","decl":{"start":{"line":25,"column":33},"end":{"line":72,"column":7}},"loc":{"start":{"line":25,"column":33},"end":{"line":72,"column":7}},"line":25},"2":{"name":"Identify.encode","decl":{"start":{"line":118,"column":24},"end":{"line":120,"column":3}},"loc":{"start":{"line":118,"column":24},"end":{"line":120,"column":3}},"line":118},"3":{"name":"Identify.decode","decl":{"start":{"line":122,"column":24},"end":{"line":124,"column":3}},"loc":{"start":{"line":122,"column":24},"end":{"line":124,"column":3}},"line":122}},"f":{"0":178,"1":90,"2":90,"3":88}} -,"/home/ckousik/projects/js-libp2p/src/insecure/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/insecure/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":3}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":2}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":61}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":2}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":83}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":2}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":11}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":2}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":16}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":40}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":46}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":2}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":55}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":38}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":2}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":36}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":40}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":6}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":3}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":39}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":40}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":40}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":111}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":49}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":55}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":65}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":100}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":45}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":24}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":38}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":35}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":48}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":38}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":29}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":1}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":3}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":21}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":3}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":115}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":31}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":24}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":0}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":35}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":26}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":44}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":28}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":3}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":58}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":14}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":28}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":15}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":19}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":7}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":17}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":3}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":51}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":29}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":43}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":74}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":52}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":12}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":7}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":28}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":43}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":38}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":50}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":5}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":24}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":42}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":5}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":49}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":49}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":52}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":5}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":22}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":81}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":3}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":0}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":53}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":35}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":75}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":14}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":10}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":11}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":30}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":63}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":6}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":22}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":3}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":1}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":0}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":48}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":36}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":114}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":49}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":3}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":115}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":49}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":3}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":1}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":57}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":30}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":103,"39":103,"40":103,"41":103,"42":103,"43":1,"44":1,"45":1,"46":1,"47":103,"48":103,"49":103,"50":103,"51":103,"52":103,"53":103,"54":103,"55":0,"56":0,"57":103,"58":103,"59":103,"60":103,"61":103,"62":103,"63":103,"64":103,"65":103,"66":103,"67":103,"68":103,"69":103,"70":103,"71":103,"72":103,"73":103,"74":102,"75":102,"76":102,"77":102,"78":102,"79":103,"80":0,"81":0,"82":102,"83":103,"84":0,"85":0,"86":102,"87":103,"88":0,"89":0,"90":102,"91":102,"92":102,"93":103,"94":0,"95":0,"96":103,"97":0,"98":0,"99":0,"100":102,"101":103,"102":0,"103":0,"104":102,"105":102,"106":102,"107":102,"108":102,"109":102,"110":102,"111":102,"112":102,"113":102,"114":102,"115":102,"116":102,"117":1,"118":55,"119":55,"120":55,"121":55,"122":52,"123":52,"124":55,"125":55,"126":51,"127":51,"128":55,"129":1,"130":1,"131":110,"132":110},"branchMap":{"0":{"type":"branch","line":39,"loc":{"start":{"line":39,"column":0},"end":{"line":43,"column":1}},"locations":[{"start":{"line":39,"column":0},"end":{"line":43,"column":1}}]},"1":{"type":"branch","line":48,"loc":{"start":{"line":48,"column":0},"end":{"line":117,"column":1}},"locations":[{"start":{"line":48,"column":0},"end":{"line":117,"column":1}}]},"2":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":3},"end":{"line":57,"column":3}},"locations":[{"start":{"line":55,"column":3},"end":{"line":57,"column":3}}]},"3":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":31},"end":{"line":65,"column":52}},"locations":[{"start":{"line":65,"column":31},"end":{"line":65,"column":52}}]},"4":{"type":"branch","line":74,"loc":{"start":{"line":74,"column":67},"end":{"line":80,"column":27}},"locations":[{"start":{"line":74,"column":67},"end":{"line":80,"column":27}}]},"5":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":27},"end":{"line":82,"column":5}},"locations":[{"start":{"line":80,"column":27},"end":{"line":82,"column":5}}]},"6":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":-1},"end":{"line":84,"column":37}},"locations":[{"start":{"line":83,"column":-1},"end":{"line":84,"column":37}}]},"7":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":37},"end":{"line":86,"column":5}},"locations":[{"start":{"line":84,"column":37},"end":{"line":86,"column":5}}]},"8":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":-1},"end":{"line":88,"column":23}},"locations":[{"start":{"line":87,"column":-1},"end":{"line":88,"column":23}}]},"9":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":23},"end":{"line":90,"column":5}},"locations":[{"start":{"line":88,"column":23},"end":{"line":90,"column":5}}]},"10":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":-1},"end":{"line":94,"column":48}},"locations":[{"start":{"line":91,"column":-1},"end":{"line":94,"column":48}}]},"11":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":48},"end":{"line":96,"column":5}},"locations":[{"start":{"line":94,"column":48},"end":{"line":96,"column":5}}]},"12":{"type":"branch","line":97,"loc":{"start":{"line":97,"column":4},"end":{"line":100,"column":3}},"locations":[{"start":{"line":97,"column":4},"end":{"line":100,"column":3}}]},"13":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":-1},"end":{"line":102,"column":26}},"locations":[{"start":{"line":101,"column":-1},"end":{"line":102,"column":26}}]},"14":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":22},"end":{"line":102,"column":50}},"locations":[{"start":{"line":102,"column":22},"end":{"line":102,"column":50}}]},"15":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":52},"end":{"line":104,"column":3}},"locations":[{"start":{"line":102,"column":52},"end":{"line":104,"column":3}}]},"16":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":-1},"end":{"line":117,"column":1}},"locations":[{"start":{"line":105,"column":-1},"end":{"line":117,"column":1}}]},"17":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":39},"end":{"line":113,"column":62}},"locations":[{"start":{"line":113,"column":39},"end":{"line":113,"column":62}}]},"18":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":0},"end":{"line":129,"column":1}},"locations":[{"start":{"line":119,"column":0},"end":{"line":129,"column":1}}]},"19":{"type":"branch","line":122,"loc":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"locations":[{"start":{"line":122,"column":2},"end":{"line":124,"column":3}}]},"20":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":2},"end":{"line":128,"column":3}},"locations":[{"start":{"line":126,"column":2},"end":{"line":128,"column":3}}]},"21":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":6},"end":{"line":133,"column":1}},"locations":[{"start":{"line":131,"column":6},"end":{"line":133,"column":1}}]},"22":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":9},"end":{"line":132,"column":30}},"locations":[{"start":{"line":132,"column":9},"end":{"line":132,"column":30}}]}},"b":{"0":[103],"1":[103],"2":[0],"3":[0],"4":[102],"5":[0],"6":[102],"7":[0],"8":[102],"9":[0],"10":[102],"11":[0],"12":[0],"13":[102],"14":[51],"15":[0],"16":[102],"17":[647],"18":[55],"19":[52],"20":[51],"21":[110],"22":[55]},"fnMap":{"0":{"name":"lpEncodeExchange","decl":{"start":{"line":39,"column":0},"end":{"line":43,"column":1}},"loc":{"start":{"line":39,"column":0},"end":{"line":43,"column":1}},"line":39},"1":{"name":"encrypt","decl":{"start":{"line":48,"column":0},"end":{"line":117,"column":1}},"loc":{"start":{"line":48,"column":0},"end":{"line":117,"column":1}},"line":48},"2":{"name":"Plaintext","decl":{"start":{"line":119,"column":0},"end":{"line":129,"column":1}},"loc":{"start":{"line":119,"column":0},"end":{"line":129,"column":1}},"line":119},"3":{"name":"secureInbound","decl":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":122,"column":2},"end":{"line":124,"column":3}},"line":122},"4":{"name":"secureOutbound","decl":{"start":{"line":126,"column":2},"end":{"line":128,"column":3}},"loc":{"start":{"line":126,"column":2},"end":{"line":128,"column":3}},"line":126},"5":{"name":"plaintext","decl":{"start":{"line":131,"column":6},"end":{"line":133,"column":1}},"loc":{"start":{"line":131,"column":6},"end":{"line":133,"column":1}},"line":131}},"f":{"0":103,"1":103,"2":55,"3":52,"4":51,"5":110}} -,"/home/ckousik/projects/js-libp2p/src/insecure/pb/proto.ts": {"path":"/home/ckousik/projects/js-libp2p/src/insecure/pb/proto.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":34}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":31}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":52}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":78}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":84}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":27}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":17}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":20}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":1}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":29}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":47}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":25}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":57}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":45}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":18}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":9}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":29}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":22}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":25}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":9}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":33}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":22}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":51}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":32}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":9}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":45}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":20}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":9}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":30}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":27}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":69}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":0}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":34}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":37}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":30}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":19}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":37}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":19}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":19}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":76}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":19}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":20}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":38}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":19}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":11}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":9}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":8}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":5}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":17}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":3}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":56}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":47}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":3}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":0}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":73}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":47}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":21}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":14}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":22}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":26}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":17}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":22}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":10}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":14}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":16}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":11}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":1}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":26}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":30}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":48}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":3}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":1}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":28}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":15}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":18}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":1}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":28}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":30}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":48}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":25}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":58}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":45}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":18}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":99}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":21}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":45}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":9}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":0}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":91}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":22}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":27}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":9}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":45}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":20}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":9}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":30}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":26}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":28}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":33}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":9}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":69}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":34}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":37}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":30}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":19}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":55}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":19}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":19}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":39}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":19}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":20}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":38}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":19}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":11}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":9}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":0}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":18}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":8}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":5}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":0}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":17}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":3}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":57}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":48}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":3}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":0}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":74}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":48}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":3}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":205,"19":1,"20":103,"21":0,"22":0,"23":103,"24":103,"25":103,"26":103,"27":103,"28":103,"29":103,"30":103,"31":103,"32":103,"33":103,"34":103,"35":103,"36":103,"37":0,"38":0,"39":1,"40":102,"41":102,"42":102,"43":102,"44":102,"45":204,"46":204,"47":204,"48":204,"49":102,"50":102,"51":204,"52":102,"53":102,"54":204,"55":0,"56":0,"57":204,"58":204,"59":102,"60":102,"61":1,"62":1,"63":205,"64":205,"65":205,"66":1,"67":1,"68":103,"69":103,"70":1,"71":1,"72":102,"73":102,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":205,"93":205,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":205,"105":1,"106":103,"107":103,"108":103,"109":103,"110":103,"111":103,"112":103,"113":103,"114":103,"115":103,"116":103,"117":103,"118":103,"119":103,"120":103,"121":103,"122":103,"123":1,"124":102,"125":102,"126":102,"127":102,"128":102,"129":102,"130":102,"131":102,"132":204,"133":204,"134":204,"135":204,"136":102,"137":102,"138":204,"139":102,"140":102,"141":204,"142":0,"143":0,"144":204,"145":204,"146":102,"147":102,"148":1,"149":1,"150":205,"151":205,"152":205,"153":1,"154":1,"155":0,"156":0,"157":1,"158":1,"159":0,"160":0,"161":1},"branchMap":{"0":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":0},"end":{"line":95,"column":1}},"locations":[{"start":{"line":95,"column":0},"end":{"line":95,"column":1}}]},"1":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":0},"end":{"line":75,"column":1}},"locations":[{"start":{"line":15,"column":0},"end":{"line":75,"column":1}}]},"2":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":23},"end":{"line":66,"column":3}},"locations":[{"start":{"line":18,"column":23},"end":{"line":66,"column":3}}]},"3":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":24},"end":{"line":63,"column":5}},"locations":[{"start":{"line":19,"column":24},"end":{"line":63,"column":5}}]},"4":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":33},"end":{"line":40,"column":7}},"locations":[{"start":{"line":20,"column":33},"end":{"line":40,"column":7}}]},"5":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":44},"end":{"line":23,"column":9}},"locations":[{"start":{"line":21,"column":44},"end":{"line":23,"column":9}}]},"6":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":44},"end":{"line":39,"column":9}},"locations":[{"start":{"line":37,"column":44},"end":{"line":39,"column":9}}]},"7":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":9},"end":{"line":62,"column":7}},"locations":[{"start":{"line":40,"column":9},"end":{"line":62,"column":7}}]},"8":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":48},"end":{"line":43,"column":69}},"locations":[{"start":{"line":43,"column":48},"end":{"line":43,"column":69}}]},"9":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":33},"end":{"line":59,"column":9}},"locations":[{"start":{"line":45,"column":33},"end":{"line":59,"column":9}}]},"10":{"type":"branch","line":49,"loc":{"start":{"line":49,"column":12},"end":{"line":51,"column":19}},"locations":[{"start":{"line":49,"column":12},"end":{"line":51,"column":19}}]},"11":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":12},"end":{"line":54,"column":19}},"locations":[{"start":{"line":52,"column":12},"end":{"line":54,"column":19}}]},"12":{"type":"branch","line":55,"loc":{"start":{"line":55,"column":12},"end":{"line":57,"column":19}},"locations":[{"start":{"line":55,"column":12},"end":{"line":57,"column":19}}]},"13":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":24},"end":{"line":70,"column":3}},"locations":[{"start":{"line":68,"column":24},"end":{"line":70,"column":3}}]},"14":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":24},"end":{"line":74,"column":3}},"locations":[{"start":{"line":72,"column":24},"end":{"line":74,"column":3}}]},"15":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":0},"end":{"line":82,"column":1}},"locations":[{"start":{"line":77,"column":0},"end":{"line":82,"column":1}}]},"16":{"type":"branch","line":84,"loc":{"start":{"line":84,"column":0},"end":{"line":89,"column":1}},"locations":[{"start":{"line":84,"column":0},"end":{"line":89,"column":1}}]},"17":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":0},"end":{"line":95,"column":1}},"locations":[{"start":{"line":91,"column":0},"end":{"line":95,"column":1}}]},"18":{"type":"branch","line":92,"loc":{"start":{"line":92,"column":23},"end":{"line":94,"column":3}},"locations":[{"start":{"line":92,"column":23},"end":{"line":94,"column":3}}]},"19":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":0},"end":{"line":162,"column":1}},"locations":[{"start":{"line":101,"column":0},"end":{"line":162,"column":1}}]},"20":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":23},"end":{"line":153,"column":3}},"locations":[{"start":{"line":104,"column":23},"end":{"line":153,"column":3}}]},"21":{"type":"branch","line":105,"loc":{"start":{"line":105,"column":24},"end":{"line":150,"column":5}},"locations":[{"start":{"line":105,"column":24},"end":{"line":150,"column":5}}]},"22":{"type":"branch","line":106,"loc":{"start":{"line":106,"column":34},"end":{"line":124,"column":7}},"locations":[{"start":{"line":106,"column":34},"end":{"line":124,"column":7}}]},"23":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":9},"end":{"line":149,"column":7}},"locations":[{"start":{"line":124,"column":9},"end":{"line":149,"column":7}}]},"24":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":35},"end":{"line":130,"column":47}},"locations":[{"start":{"line":130,"column":35},"end":{"line":130,"column":47}}]},"25":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":33},"end":{"line":146,"column":9}},"locations":[{"start":{"line":132,"column":33},"end":{"line":146,"column":9}}]},"26":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":12},"end":{"line":138,"column":19}},"locations":[{"start":{"line":136,"column":12},"end":{"line":138,"column":19}}]},"27":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":12},"end":{"line":141,"column":19}},"locations":[{"start":{"line":139,"column":12},"end":{"line":141,"column":19}}]},"28":{"type":"branch","line":142,"loc":{"start":{"line":142,"column":12},"end":{"line":144,"column":19}},"locations":[{"start":{"line":142,"column":12},"end":{"line":144,"column":19}}]}},"b":{"0":[0],"1":[1],"2":[205],"3":[1],"4":[103],"5":[0],"6":[0],"7":[102],"8":[0],"9":[204],"10":[102],"11":[102],"12":[0],"13":[103],"14":[102],"15":[1],"16":[1],"17":[1],"18":[205],"19":[1],"20":[205],"21":[1],"22":[103],"23":[102],"24":[0],"25":[204],"26":[102],"27":[102],"28":[0]},"fnMap":{"0":{"name":"Exchange.codec","decl":{"start":{"line":18,"column":23},"end":{"line":66,"column":3}},"loc":{"start":{"line":18,"column":23},"end":{"line":66,"column":3}},"line":18},"1":{"name":"obj","decl":{"start":{"line":20,"column":33},"end":{"line":40,"column":7}},"loc":{"start":{"line":20,"column":33},"end":{"line":40,"column":7}},"line":20},"2":{"name":"Exchange.encode","decl":{"start":{"line":68,"column":24},"end":{"line":70,"column":3}},"loc":{"start":{"line":68,"column":24},"end":{"line":70,"column":3}},"line":68},"3":{"name":"Exchange.decode","decl":{"start":{"line":72,"column":24},"end":{"line":74,"column":3}},"loc":{"start":{"line":72,"column":24},"end":{"line":74,"column":3}},"line":72},"4":{"name":"KeyType.codec","decl":{"start":{"line":92,"column":23},"end":{"line":94,"column":3}},"loc":{"start":{"line":92,"column":23},"end":{"line":94,"column":3}},"line":92},"5":{"name":"PublicKey.codec","decl":{"start":{"line":104,"column":23},"end":{"line":153,"column":3}},"loc":{"start":{"line":104,"column":23},"end":{"line":153,"column":3}},"line":104},"6":{"name":"obj.Type","decl":{"start":{"line":106,"column":34},"end":{"line":124,"column":7}},"loc":{"start":{"line":106,"column":34},"end":{"line":124,"column":7}},"line":106},"7":{"name":"PublicKey.encode","decl":{"start":{"line":155,"column":24},"end":{"line":157,"column":3}},"loc":{"start":{"line":155,"column":24},"end":{"line":157,"column":3}},"line":155},"8":{"name":"PublicKey.decode","decl":{"start":{"line":159,"column":24},"end":{"line":161,"column":3}},"loc":{"start":{"line":159,"column":24},"end":{"line":161,"column":3}},"line":159}},"f":{"0":205,"1":103,"2":103,"3":102,"4":205,"5":205,"6":103,"7":0,"8":0}} -,"/home/ckousik/projects/js-libp2p/src/keychain/cms.ts": {"path":"/home/ckousik/projects/js-libp2p/src/keychain/cms.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":32}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":37}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":43}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":30}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":76}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":70}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":36}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":39}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":42}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":41}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":55}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":3}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":45}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":2}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":64}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":62}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":2}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":36}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":3}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":18}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":37}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":5}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":43}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":49}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":83}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":5}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":28}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":3}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":33}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":63}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":5}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":72}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":41}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":95}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":5}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":55}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":55}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":37}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":25}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":75}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":5}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":26}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":63}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":64}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":36}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":48}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":32}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":47}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":16}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":0}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":29}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":56}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":45}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":5}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":31}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":4}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":93}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":91}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":60}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":43}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":84}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":16}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":9}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":79}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":41}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":44}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":24}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":20}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":68}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":5}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":76}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":31}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":42}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":47}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":81}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":47}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":60}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":47}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":17}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":16}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":23}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":51}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":63}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":9}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":8}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":69}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":11}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":68}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":26}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":21}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":9}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":26}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":20}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":7}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":18}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":6}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":20}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":47}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":64}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":121}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":19}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":8}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":5}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":56}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":0}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":22}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":80}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":5}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":59}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":37}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":25}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":75}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":5}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":26}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":63}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":40}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":64}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":3}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":1},"branchMap":{},"b":{},"fnMap":{"0":{"name":"CMS","decl":{"start":{"line":32,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":32,"column":2},"end":{"line":39,"column":3}},"line":32},"1":{"name":"encrypt","decl":{"start":{"line":46,"column":2},"end":{"line":72,"column":3}},"loc":{"start":{"line":46,"column":2},"end":{"line":72,"column":3}},"line":46},"2":{"name":"decrypt","decl":{"start":{"line":80,"column":2},"end":{"line":149,"column":3}},"loc":{"start":{"line":80,"column":2},"end":{"line":149,"column":3}},"line":80}},"f":{"0":0,"1":0,"2":0}} -,"/home/ckousik/projects/js-libp2p/src/keychain/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/keychain/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":39}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":40}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":45}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":30}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":30}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":36}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":70}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":76}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":85}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":55}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":52}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":70}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":52}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":37}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":28}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":14}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":14}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":24}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":19}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":1}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":0}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":31}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":15}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":26}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":34}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":5}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":12}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":0}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":5}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":5}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":14}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":1}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":0}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":27}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":27}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":55}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":0}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":18}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":14}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":24}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":25}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":25}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":1}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":24}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":62}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":8}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":23}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":26}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":78}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":20}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":1}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":0}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":41}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":21}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":16}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":3}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":33}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":16}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":3}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":58}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":1}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":0}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":3}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":32}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":2}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":93}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":44}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":3}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":31}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":17}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":18}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":49}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":58}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":1}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":3}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":44}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":3}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":32}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":34}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":1}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":0}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":49}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":3}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":36}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":35}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":1}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":37}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":16}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":22}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":1}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":3}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":76}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":2}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":37}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":57}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":58}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":2}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":3}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":44}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":49}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":37}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":26}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":0}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":42}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":5}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":68}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":32}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":50}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":30}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":64}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":57}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":90}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":79}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":5}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":96}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":81}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":5}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":105}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":83}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":5}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":69}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":15}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":23}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":28}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":38}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":33}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":28}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":10}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":0}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":31}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":24}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":3}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":0}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":16}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":23}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":3}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":18}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":37}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":57}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":59}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":5}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":23}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":3}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":0}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":11}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":24}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":3}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":5}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":59}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":50}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":4}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":66}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":64}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":30}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":5}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":14}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":37}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":25}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":75}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":5}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":0}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":26}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":0}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":29}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":3}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":5}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":70}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":4}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":22}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":5}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":43}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":53}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":81}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":76}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":18}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":3}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":5}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":60}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":40}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":4}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":22}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":5}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":25}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":25}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":3}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":0}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":5}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":22}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":4}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":69}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":56}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":81}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":5}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":90}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":52}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":25}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":78}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":5}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":0}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":35}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":25}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":78}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":5}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":0}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":31}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":62}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":17}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":25}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":87}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":5}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":0}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":33}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":17}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":57}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":29}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":86}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":9}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":13}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":14}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":13}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":5}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":0}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":15}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":9}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":55}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":36}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":39}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":0}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":27}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":77}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":7}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":0}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":28}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":43}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":17}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":19}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":15}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":7}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":53}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":50}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":80}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":26}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":24}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":25}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":15}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":5}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":0}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":18}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":3}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":0}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":5}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":23}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":4}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":34}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":5}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":21}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":19}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":24}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":5}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":19}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":71}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":60}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":5}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":0}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":15}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":3}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":0}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":5}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":26}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":5}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":52}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":9}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":40}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":42}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":24}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":25}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":15}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":5}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":3}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":0}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":29}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":4}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":47}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":32}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":5}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":56}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":33}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":25}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":88}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":5}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":0}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":35}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":9}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":61}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":48}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":24}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":25}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":20}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":88}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":5}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":3}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":0}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":5}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":28}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":4}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":67}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":32}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":5}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":34}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":52}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":25}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":88}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":5}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":31}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":50}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":51}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":24}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":34}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":24}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":18}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":3}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":0}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":5}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":17}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":4}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":74}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":78}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":32}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":5}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":72}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":58}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":25}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":99}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":5}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":58}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":25}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":99}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":5}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":37}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":37}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":43}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":43}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":0}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":65}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":17}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":25}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":95}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":5}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":9}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":64}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":66}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":0}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":57}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":28}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":53}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":31}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":75}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":29}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":31}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":26}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":20}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":24}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":25}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":15}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":5}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":3}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":0}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":5}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":61}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":5}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":52}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":33}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":25}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":88}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":5}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":27}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":25}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":83}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":5}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":0}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":31}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":9}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":61}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":41}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":39}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":0}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":27}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":77}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":7}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":0}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":28}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":50}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":46}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":24}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":25}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":15}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":5}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":3}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":0}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":5}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":55}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":4}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":71}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":57}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":45}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":32}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":5}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":83}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":52}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":25}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":88}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":5}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":22}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":25}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":85}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":5}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":31}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":62}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":17}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":25}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":92}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":5}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":0}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":18}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":9}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":49}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":24}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":25}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":115}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":5}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":0}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":11}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":9}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":33}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":39}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":0}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":27}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":77}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":7}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":0}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":28}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":40}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":24}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":25}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":15}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":5}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":0}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":21}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":17}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":13}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":5}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":51}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":48}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":78}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":24}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":0}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":18}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":3}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":0}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":5}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":22}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":5}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":67}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":9}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":35}},"500":{"start":{"line":501,"column":0},"end":{"line":501,"column":90}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":7}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":25}},"503":{"start":{"line":504,"column":0},"end":{"line":504,"column":85}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":7}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":36}},"506":{"start":{"line":507,"column":0},"end":{"line":507,"column":93}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":7}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":0}},"509":{"start":{"line":510,"column":0},"end":{"line":510,"column":67}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":0}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":33}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":64}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":19}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":27}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":94}},"516":{"start":{"line":517,"column":0},"end":{"line":517,"column":7}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":0}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":39}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":0}},"520":{"start":{"line":521,"column":0},"end":{"line":521,"column":27}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":77}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":7}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":0}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":28}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":46}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":32}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":19}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":27}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":7}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":53}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":50}},"532":{"start":{"line":533,"column":0},"end":{"line":533,"column":80}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":26}},"534":{"start":{"line":535,"column":0},"end":{"line":535,"column":20}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":24}},"536":{"start":{"line":537,"column":0},"end":{"line":537,"column":25}},"537":{"start":{"line":538,"column":0},"end":{"line":538,"column":15}},"538":{"start":{"line":539,"column":0},"end":{"line":539,"column":5}},"539":{"start":{"line":540,"column":0},"end":{"line":540,"column":3}},"540":{"start":{"line":541,"column":0},"end":{"line":541,"column":0}},"541":{"start":{"line":542,"column":0},"end":{"line":542,"column":5}},"542":{"start":{"line":543,"column":0},"end":{"line":543,"column":55}},"543":{"start":{"line":544,"column":0},"end":{"line":544,"column":5}},"544":{"start":{"line":545,"column":0},"end":{"line":545,"column":55}},"545":{"start":{"line":546,"column":0},"end":{"line":546,"column":33}},"546":{"start":{"line":547,"column":0},"end":{"line":547,"column":25}},"547":{"start":{"line":548,"column":0},"end":{"line":548,"column":88}},"548":{"start":{"line":549,"column":0},"end":{"line":549,"column":5}},"549":{"start":{"line":550,"column":0},"end":{"line":550,"column":0}},"550":{"start":{"line":551,"column":0},"end":{"line":551,"column":9}},"551":{"start":{"line":552,"column":0},"end":{"line":552,"column":33}},"552":{"start":{"line":553,"column":0},"end":{"line":553,"column":61}},"553":{"start":{"line":554,"column":0},"end":{"line":554,"column":36}},"554":{"start":{"line":555,"column":0},"end":{"line":555,"column":24}},"555":{"start":{"line":556,"column":0},"end":{"line":556,"column":25}},"556":{"start":{"line":557,"column":0},"end":{"line":557,"column":20}},"557":{"start":{"line":558,"column":0},"end":{"line":558,"column":88}},"558":{"start":{"line":559,"column":0},"end":{"line":559,"column":5}},"559":{"start":{"line":560,"column":0},"end":{"line":560,"column":3}},"560":{"start":{"line":561,"column":0},"end":{"line":561,"column":0}},"561":{"start":{"line":562,"column":0},"end":{"line":562,"column":5}},"562":{"start":{"line":563,"column":0},"end":{"line":563,"column":64}},"563":{"start":{"line":564,"column":0},"end":{"line":564,"column":5}},"564":{"start":{"line":565,"column":0},"end":{"line":565,"column":63}},"565":{"start":{"line":566,"column":0},"end":{"line":566,"column":38}},"566":{"start":{"line":567,"column":0},"end":{"line":567,"column":25}},"567":{"start":{"line":568,"column":0},"end":{"line":568,"column":108}},"568":{"start":{"line":569,"column":0},"end":{"line":569,"column":5}},"569":{"start":{"line":570,"column":0},"end":{"line":570,"column":38}},"570":{"start":{"line":571,"column":0},"end":{"line":571,"column":25}},"571":{"start":{"line":572,"column":0},"end":{"line":572,"column":108}},"572":{"start":{"line":573,"column":0},"end":{"line":573,"column":5}},"573":{"start":{"line":574,"column":0},"end":{"line":574,"column":30}},"574":{"start":{"line":575,"column":0},"end":{"line":575,"column":25}},"575":{"start":{"line":576,"column":0},"end":{"line":576,"column":102}},"576":{"start":{"line":577,"column":0},"end":{"line":577,"column":5}},"577":{"start":{"line":578,"column":0},"end":{"line":578,"column":30}},"578":{"start":{"line":579,"column":0},"end":{"line":579,"column":37}},"579":{"start":{"line":580,"column":0},"end":{"line":580,"column":0}},"580":{"start":{"line":581,"column":0},"end":{"line":581,"column":25}},"581":{"start":{"line":582,"column":0},"end":{"line":582,"column":75}},"582":{"start":{"line":583,"column":0},"end":{"line":583,"column":5}},"583":{"start":{"line":584,"column":0},"end":{"line":584,"column":0}},"584":{"start":{"line":585,"column":0},"end":{"line":585,"column":29}},"585":{"start":{"line":586,"column":0},"end":{"line":586,"column":28}},"586":{"start":{"line":587,"column":0},"end":{"line":587,"column":65}},"587":{"start":{"line":588,"column":0},"end":{"line":588,"column":15}},"588":{"start":{"line":589,"column":0},"end":{"line":589,"column":16}},"589":{"start":{"line":590,"column":0},"end":{"line":590,"column":27}},"590":{"start":{"line":591,"column":0},"end":{"line":591,"column":38}},"591":{"start":{"line":592,"column":0},"end":{"line":592,"column":33}},"592":{"start":{"line":593,"column":0},"end":{"line":593,"column":28}},"593":{"start":{"line":594,"column":0},"end":{"line":594,"column":10}},"594":{"start":{"line":595,"column":0},"end":{"line":595,"column":39}},"595":{"start":{"line":596,"column":0},"end":{"line":596,"column":38}},"596":{"start":{"line":597,"column":0},"end":{"line":597,"column":29}},"597":{"start":{"line":598,"column":0},"end":{"line":598,"column":71}},"598":{"start":{"line":599,"column":0},"end":{"line":599,"column":41}},"599":{"start":{"line":600,"column":0},"end":{"line":600,"column":53}},"600":{"start":{"line":601,"column":0},"end":{"line":601,"column":40}},"601":{"start":{"line":602,"column":0},"end":{"line":602,"column":56}},"602":{"start":{"line":603,"column":0},"end":{"line":603,"column":0}},"603":{"start":{"line":604,"column":0},"end":{"line":604,"column":26}},"604":{"start":{"line":605,"column":0},"end":{"line":605,"column":53}},"605":{"start":{"line":606,"column":0},"end":{"line":606,"column":23}},"606":{"start":{"line":607,"column":0},"end":{"line":607,"column":23}},"607":{"start":{"line":608,"column":0},"end":{"line":608,"column":18}},"608":{"start":{"line":609,"column":0},"end":{"line":609,"column":7}},"609":{"start":{"line":610,"column":0},"end":{"line":610,"column":65}},"610":{"start":{"line":611,"column":0},"end":{"line":611,"column":84}},"611":{"start":{"line":612,"column":0},"end":{"line":612,"column":26}},"612":{"start":{"line":613,"column":0},"end":{"line":613,"column":5}},"613":{"start":{"line":614,"column":0},"end":{"line":614,"column":33}},"614":{"start":{"line":615,"column":0},"end":{"line":615,"column":3}},"615":{"start":{"line":616,"column":0},"end":{"line":616,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":55,"68":55,"69":0,"70":0,"71":55,"72":0,"73":0,"74":55,"75":55,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":1,"91":1,"92":1,"93":1,"94":55,"95":55,"96":55,"97":1,"98":1,"99":1,"100":1,"101":110,"102":110,"103":110,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":55,"128":55,"129":55,"130":55,"131":55,"132":0,"133":0,"134":55,"135":0,"136":0,"137":55,"138":0,"139":0,"140":55,"141":0,"142":0,"143":55,"144":55,"145":55,"146":0,"147":0,"148":0,"149":0,"150":0,"151":55,"152":55,"153":55,"154":55,"155":55,"156":1,"157":1,"158":0,"159":0,"160":1,"161":1,"162":55,"163":55,"164":55,"165":55,"166":55,"167":55,"168":55,"169":55,"170":1,"171":1,"172":55,"173":55,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":55,"202":55,"203":55,"204":55,"205":55,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":0,"215":0,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":1,"300":1,"301":1,"302":1,"303":1,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":1,"402":1,"403":1,"404":1,"405":1,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1,"442":1,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":1,"494":1,"495":1,"496":1,"497":1,"498":55,"499":55,"500":0,"501":0,"502":55,"503":0,"504":0,"505":55,"506":0,"507":0,"508":55,"509":55,"510":55,"511":55,"512":55,"513":55,"514":0,"515":0,"516":0,"517":55,"518":55,"519":55,"520":55,"521":0,"522":0,"523":55,"524":55,"525":55,"526":55,"527":55,"528":55,"529":55,"530":55,"531":55,"532":55,"533":55,"534":55,"535":55,"536":0,"537":0,"538":0,"539":55,"540":1,"541":1,"542":1,"543":1,"544":1,"545":0,"546":0,"547":0,"548":0,"549":0,"550":0,"551":0,"552":0,"553":0,"554":0,"555":0,"556":0,"557":0,"558":0,"559":0,"560":1,"561":1,"562":1,"563":1,"564":1,"565":0,"566":0,"567":0,"568":0,"569":0,"570":0,"571":0,"572":0,"573":0,"574":0,"575":0,"576":0,"577":0,"578":0,"579":0,"580":0,"581":0,"582":0,"583":0,"584":0,"585":0,"586":0,"587":0,"588":0,"589":0,"590":0,"591":0,"592":0,"593":0,"594":0,"595":0,"596":0,"597":0,"598":0,"599":0,"600":0,"601":0,"602":0,"603":0,"604":0,"605":0,"606":0,"607":0,"608":0,"609":0,"610":0,"611":0,"612":0,"613":0,"614":0,"615":1},"branchMap":{"0":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":0},"end":{"line":76,"column":1}},"locations":[{"start":{"line":68,"column":0},"end":{"line":76,"column":1}}]},"1":{"type":"branch","line":69,"loc":{"start":{"line":69,"column":20},"end":{"line":71,"column":3}},"locations":[{"start":{"line":69,"column":20},"end":{"line":71,"column":3}}]},"2":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":32},"end":{"line":74,"column":3}},"locations":[{"start":{"line":72,"column":32},"end":{"line":74,"column":3}}]},"3":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":0},"end":{"line":97,"column":1}},"locations":[{"start":{"line":95,"column":0},"end":{"line":97,"column":1}}]},"4":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":0},"end":{"line":104,"column":1}},"locations":[{"start":{"line":102,"column":0},"end":{"line":104,"column":1}}]},"5":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":156,"column":3}},"locations":[{"start":{"line":127,"column":2},"end":{"line":156,"column":3}}]},"6":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":30},"end":{"line":132,"column":61}},"locations":[{"start":{"line":132,"column":30},"end":{"line":132,"column":61}}]},"7":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":63},"end":{"line":134,"column":5}},"locations":[{"start":{"line":132,"column":63},"end":{"line":134,"column":5}}]},"8":{"type":"branch","line":135,"loc":{"start":{"line":135,"column":89},"end":{"line":137,"column":5}},"locations":[{"start":{"line":135,"column":89},"end":{"line":137,"column":5}}]},"9":{"type":"branch","line":138,"loc":{"start":{"line":138,"column":95},"end":{"line":140,"column":5}},"locations":[{"start":{"line":138,"column":95},"end":{"line":140,"column":5}}]},"10":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":104},"end":{"line":143,"column":5}},"locations":[{"start":{"line":141,"column":104},"end":{"line":143,"column":5}}]},"11":{"type":"branch","line":145,"loc":{"start":{"line":145,"column":38},"end":{"line":145,"column":69}},"locations":[{"start":{"line":145,"column":38},"end":{"line":145,"column":69}}]},"12":{"type":"branch","line":146,"loc":{"start":{"line":146,"column":6},"end":{"line":151,"column":28}},"locations":[{"start":{"line":146,"column":6},"end":{"line":151,"column":28}}]},"13":{"type":"branch","line":162,"loc":{"start":{"line":162,"column":2},"end":{"line":170,"column":3}},"locations":[{"start":{"line":162,"column":2},"end":{"line":170,"column":3}}]},"14":{"type":"branch","line":172,"loc":{"start":{"line":172,"column":2},"end":{"line":174,"column":3}},"locations":[{"start":{"line":172,"column":2},"end":{"line":174,"column":3}}]},"15":{"type":"branch","line":201,"loc":{"start":{"line":201,"column":9},"end":{"line":206,"column":3}},"locations":[{"start":{"line":201,"column":9},"end":{"line":206,"column":3}}]},"16":{"type":"branch","line":498,"loc":{"start":{"line":498,"column":2},"end":{"line":540,"column":3}},"locations":[{"start":{"line":498,"column":2},"end":{"line":540,"column":3}}]},"17":{"type":"branch","line":500,"loc":{"start":{"line":500,"column":34},"end":{"line":502,"column":7}},"locations":[{"start":{"line":500,"column":34},"end":{"line":502,"column":7}}]},"18":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":24},"end":{"line":505,"column":7}},"locations":[{"start":{"line":503,"column":24},"end":{"line":505,"column":7}}]},"19":{"type":"branch","line":506,"loc":{"start":{"line":506,"column":35},"end":{"line":508,"column":7}},"locations":[{"start":{"line":506,"column":35},"end":{"line":508,"column":7}}]},"20":{"type":"branch","line":514,"loc":{"start":{"line":514,"column":18},"end":{"line":517,"column":7}},"locations":[{"start":{"line":514,"column":18},"end":{"line":517,"column":7}}]},"21":{"type":"branch","line":521,"loc":{"start":{"line":521,"column":26},"end":{"line":523,"column":7}},"locations":[{"start":{"line":521,"column":26},"end":{"line":523,"column":7}}]},"22":{"type":"branch","line":536,"loc":{"start":{"line":536,"column":6},"end":{"line":539,"column":5}},"locations":[{"start":{"line":536,"column":6},"end":{"line":539,"column":5}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[55],"4":[110],"5":[55],"6":[0],"7":[0],"8":[0],"9":[0],"10":[0],"11":[0],"12":[0],"13":[55],"14":[55],"15":[55],"16":[55],"17":[0],"18":[0],"19":[0],"20":[0],"21":[0],"22":[0]},"fnMap":{"0":{"name":"validateKeyName","decl":{"start":{"line":68,"column":0},"end":{"line":76,"column":1}},"loc":{"start":{"line":68,"column":0},"end":{"line":76,"column":1}},"line":68},"1":{"name":"randomDelay","decl":{"start":{"line":84,"column":0},"end":{"line":90,"column":1}},"loc":{"start":{"line":84,"column":0},"end":{"line":90,"column":1}},"line":84},"2":{"name":"DsName","decl":{"start":{"line":95,"column":0},"end":{"line":97,"column":1}},"loc":{"start":{"line":95,"column":0},"end":{"line":97,"column":1}},"line":95},"3":{"name":"DsInfoName","decl":{"start":{"line":102,"column":0},"end":{"line":104,"column":1}},"loc":{"start":{"line":102,"column":0},"end":{"line":104,"column":1}},"line":102},"4":{"name":"KeyChain","decl":{"start":{"line":127,"column":2},"end":{"line":156,"column":3}},"loc":{"start":{"line":127,"column":2},"end":{"line":156,"column":3}},"line":127},"5":{"name":"isStarted","decl":{"start":{"line":158,"column":2},"end":{"line":160,"column":3}},"loc":{"start":{"line":158,"column":2},"end":{"line":160,"column":3}},"line":158},"6":{"name":"start","decl":{"start":{"line":162,"column":2},"end":{"line":170,"column":3}},"loc":{"start":{"line":162,"column":2},"end":{"line":170,"column":3}},"line":162},"7":{"name":"stop","decl":{"start":{"line":172,"column":2},"end":{"line":174,"column":3}},"loc":{"start":{"line":172,"column":2},"end":{"line":174,"column":3}},"line":172},"8":{"name":"get cms","decl":{"start":{"line":184,"column":2},"end":{"line":194,"column":3}},"loc":{"start":{"line":184,"column":2},"end":{"line":194,"column":3}},"line":184},"9":{"name":"generateOptions","decl":{"start":{"line":201,"column":9},"end":{"line":206,"column":3}},"loc":{"start":{"line":201,"column":9},"end":{"line":206,"column":3}},"line":201},"10":{"name":"get options","decl":{"start":{"line":214,"column":8},"end":{"line":216,"column":3}},"loc":{"start":{"line":214,"column":8},"end":{"line":216,"column":3}},"line":214},"11":{"name":"createKey","decl":{"start":{"line":225,"column":2},"end":{"line":281,"column":3}},"loc":{"start":{"line":225,"column":2},"end":{"line":281,"column":3}},"line":225},"12":{"name":"listKeys","decl":{"start":{"line":288,"column":2},"end":{"line":299,"column":3}},"loc":{"start":{"line":288,"column":2},"end":{"line":299,"column":3}},"line":288},"13":{"name":"findKeyById","decl":{"start":{"line":304,"column":2},"end":{"line":312,"column":3}},"loc":{"start":{"line":304,"column":2},"end":{"line":312,"column":3}},"line":304},"14":{"name":"findKeyByName","decl":{"start":{"line":320,"column":2},"end":{"line":335,"column":3}},"loc":{"start":{"line":320,"column":2},"end":{"line":335,"column":3}},"line":320},"15":{"name":"removeKey","decl":{"start":{"line":343,"column":2},"end":{"line":355,"column":3}},"loc":{"start":{"line":343,"column":2},"end":{"line":355,"column":3}},"line":343},"16":{"name":"renameKey","decl":{"start":{"line":364,"column":2},"end":{"line":401,"column":3}},"loc":{"start":{"line":364,"column":2},"end":{"line":401,"column":3}},"line":364},"17":{"name":"exportKey","decl":{"start":{"line":406,"column":2},"end":{"line":433,"column":3}},"loc":{"start":{"line":406,"column":2},"end":{"line":433,"column":3}},"line":406},"18":{"name":"importKey","decl":{"start":{"line":443,"column":2},"end":{"line":493,"column":3}},"loc":{"start":{"line":443,"column":2},"end":{"line":493,"column":3}},"line":443},"19":{"name":"importPeer","decl":{"start":{"line":498,"column":2},"end":{"line":540,"column":3}},"loc":{"start":{"line":498,"column":2},"end":{"line":540,"column":3}},"line":498},"20":{"name":"getPrivateKey","decl":{"start":{"line":545,"column":2},"end":{"line":560,"column":3}},"loc":{"start":{"line":545,"column":2},"end":{"line":560,"column":3}},"line":545},"21":{"name":"rotateKeychainPass","decl":{"start":{"line":565,"column":2},"end":{"line":615,"column":3}},"loc":{"start":{"line":565,"column":2},"end":{"line":615,"column":3}},"line":565}},"f":{"0":55,"1":0,"2":55,"3":110,"4":55,"5":0,"6":55,"7":55,"8":0,"9":55,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":55,"20":0,"21":0}} -,"/home/ckousik/projects/js-libp2p/src/keychain/util.ts": {"path":"/home/ckousik/projects/js-libp2p/src/keychain/util.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":37}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":43}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":0}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":21}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":3}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":52}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":2}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":61}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":2}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":38}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":86}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":68}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":38}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":26}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":38}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":37}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":145}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":18}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":29}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":17}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":6}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":20}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":21}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":6}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":23}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":17}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":4}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":24}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":23}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":23}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":29}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":12}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":6}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":21}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":22}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":27}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":25}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":26}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":26}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":6}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":21}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":21}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":22}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":26}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":22}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":6}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":23}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":17}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":17}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":16}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":18}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":16}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":18}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":15}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":5}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":26}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":23}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":0}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":13}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":1}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":3}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":62}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":27}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":2}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":48}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":39}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":2}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":23}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":79}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":3}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":90}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":42}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":45}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":51}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":21}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":0,"78":0,"79":0,"80":0,"81":0},"branchMap":{},"b":{},"fnMap":{"0":{"name":"certificateForKey","decl":{"start":{"line":14,"column":33},"end":{"line":65,"column":1}},"loc":{"start":{"line":14,"column":33},"end":{"line":65,"column":1}},"line":14},"1":{"name":"findAsync","decl":{"start":{"line":77,"column":7},"end":{"line":82,"column":1}},"loc":{"start":{"line":77,"column":7},"end":{"line":82,"column":1}},"line":77}},"f":{"0":0,"1":0}} -,"/home/ckousik/projects/js-libp2p/src/ping/constants.ts": {"path":"/home/ckousik/projects/js-libp2p/src/ping/constants.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":42}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":29}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":35}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/src/ping/index.ts": {"path":"/home/ckousik/projects/js-libp2p/src/ping/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":39}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":30}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":44}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":30}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":28}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":63}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":77}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":80}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":55}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":61}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":54}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":52}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":60}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":58}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":40}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":77}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":0}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":24}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":27}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":48}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":5}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":17}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":40}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":22}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":38}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":47}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":34}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":52}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":26}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":0}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":74}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":32}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":24}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":82}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":20}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":18}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":79}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":53}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":54}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":6}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":23}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":3}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":17}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":59}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":24}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":3}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":16}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":3}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":63}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":44}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":27}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":29}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":21}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":22}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":8}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":3}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":80}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":4}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":35}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":31}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":5}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":74}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":48}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":28}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":41}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":92}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":25}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":31}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":34}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":49}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":25}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":66}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":39}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":0}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":11}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":31}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":61}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":16}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":0}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":9}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":60}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":14}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":8}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":0}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":30}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":52}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":32}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":15}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":15}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":45}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":7}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":28}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":0}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":73}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":85}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":7}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":24}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":15}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":38}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":33}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":7}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":27}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":22}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":7}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":5}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":3}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":55,"44":55,"45":55,"46":55,"47":55,"48":1,"49":1,"50":55,"51":55,"52":55,"53":55,"54":55,"55":55,"56":1,"57":1,"58":55,"59":55,"60":55,"61":1,"62":1,"63":0,"64":0,"65":1,"66":1,"67":1,"68":1,"69":1,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":1},"branchMap":{"0":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"locations":[{"start":{"line":43,"column":2},"end":{"line":48,"column":3}}]},"1":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"locations":[{"start":{"line":50,"column":2},"end":{"line":56,"column":3}}]},"2":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":2},"end":{"line":61,"column":3}},"locations":[{"start":{"line":58,"column":2},"end":{"line":61,"column":3}}]}},"b":{"0":[55],"1":[55],"2":[55]},"fnMap":{"0":{"name":"PingService","decl":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":43,"column":2},"end":{"line":48,"column":3}},"line":43},"1":{"name":"start","decl":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"loc":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"line":50},"2":{"name":"stop","decl":{"start":{"line":58,"column":2},"end":{"line":61,"column":3}},"loc":{"start":{"line":58,"column":2},"end":{"line":61,"column":3}},"line":58},"3":{"name":"isStarted","decl":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"loc":{"start":{"line":63,"column":2},"end":{"line":65,"column":3}},"line":63},"4":{"name":"handleMessage","decl":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":70,"column":2},"end":{"line":77,"column":3}},"line":70},"5":{"name":"ping","decl":{"start":{"line":85,"column":2},"end":{"line":135,"column":3}},"loc":{"start":{"line":85,"column":2},"end":{"line":135,"column":3}},"line":85}},"f":{"0":55,"1":55,"2":55,"3":0,"4":0,"5":0}} -,"/home/ckousik/projects/js-libp2p/src/pubsub/dummy-pubsub.ts": {"path":"/home/ckousik/projects/js-libp2p/src/pubsub/dummy-pubsub.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":56}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":55}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":127}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":46}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":79}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":62}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":25}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":16}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":3}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":34}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":3}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":33}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":73}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":81}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":3}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":32}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":81}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":3}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":81}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":26}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":81}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":3}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":0}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":22}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":81}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":3}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":81}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":31}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":81}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":3}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":44}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":81}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":55,"7":55,"8":55,"9":55,"10":0,"11":0,"12":55,"13":55,"14":0,"15":0,"16":55,"17":55,"18":0,"19":0,"20":55,"21":55,"22":0,"23":0,"24":55,"25":55,"26":0,"27":0,"28":55,"29":55,"30":0,"31":0,"32":55,"33":55,"34":0,"35":0,"36":55,"37":55,"38":0,"39":0,"40":55,"41":55,"42":0,"43":0,"44":55,"45":55,"46":0,"47":0,"48":55,"49":55,"50":0,"51":0,"52":55},"branchMap":{"0":{"type":"branch","line":7,"loc":{"start":{"line":7,"column":0},"end":{"line":53,"column":1}},"locations":[{"start":{"line":7,"column":0},"end":{"line":53,"column":1}}]}},"b":{"0":[55]},"fnMap":{"0":{"name":"DummyPubSub","decl":{"start":{"line":7,"column":0},"end":{"line":53,"column":1}},"loc":{"start":{"line":7,"column":0},"end":{"line":53,"column":1}},"line":7},"1":{"name":"isStarted","decl":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"line":10},"2":{"name":"start","decl":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"loc":{"start":{"line":14,"column":2},"end":{"line":16,"column":3}},"line":14},"3":{"name":"stop","decl":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"loc":{"start":{"line":18,"column":2},"end":{"line":20,"column":3}},"line":18},"4":{"name":"get globalSignaturePolicy","decl":{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},"loc":{"start":{"line":22,"column":2},"end":{"line":24,"column":3}},"line":22},"5":{"name":"get multicodecs","decl":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"loc":{"start":{"line":26,"column":2},"end":{"line":28,"column":3}},"line":26},"6":{"name":"getPeers","decl":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"loc":{"start":{"line":30,"column":2},"end":{"line":32,"column":3}},"line":30},"7":{"name":"getTopics","decl":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"loc":{"start":{"line":34,"column":2},"end":{"line":36,"column":3}},"line":34},"8":{"name":"subscribe","decl":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"loc":{"start":{"line":38,"column":2},"end":{"line":40,"column":3}},"line":38},"9":{"name":"unsubscribe","decl":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"loc":{"start":{"line":42,"column":2},"end":{"line":44,"column":3}},"line":42},"10":{"name":"getSubscribers","decl":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"loc":{"start":{"line":46,"column":2},"end":{"line":48,"column":3}},"line":46},"11":{"name":"publish","decl":{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},"loc":{"start":{"line":50,"column":2},"end":{"line":52,"column":3}},"line":50}},"f":{"0":55,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0}} -,"/home/ckousik/projects/js-libp2p/test/fixtures/peers.ts": {"path":"/home/ckousik/projects/js-libp2p/test/fixtures/peers.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":17}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":61}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":150}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":60}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":4}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":61}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":150}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":60}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":4}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":61}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":150}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":60}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":4}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":61}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":150}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":60}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":4}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":61}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":150}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":60}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":61}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":150}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":60}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":2}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1},"branchMap":{},"b":{},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/test/relay/auto-relay.node.ts": {"path":"/home/ckousik/projects/js-libp2p/test/relay/auto-relay.node.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":22}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":35}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":27}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":33}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":25}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":68}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":54}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":53}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":60}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":66}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":51}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":57}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":71}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":0}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":100}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":40}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":24}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":46}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":79}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":19}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":7}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":16}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":10}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":1}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":0}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":76}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":30}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":59}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":58}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":4}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":30}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":28}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":26}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":31}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":28}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":54}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":33}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":8}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":38}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":8}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":6}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":0}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":28}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":24}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":95}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":6}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":27}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":23}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":94}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":6}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":120}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":23}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":93}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":43}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":44}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":54}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":44}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":45}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":0}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":34}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":85}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":59}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":6}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":4}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":0}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":47}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":26}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":32}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":32}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":32}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":28}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":54}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":78}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":52}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":53}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":53}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":52}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":8}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":24}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":117}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":6}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":27}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":23}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":123}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":6}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":0}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":120}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":23}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":101}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":50}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":61}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":44}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":52}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":34}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":92}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":59}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":6}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":0}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":95}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":23}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":101}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":50}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":61}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":0}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":44}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":52}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":44}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":91}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":86}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":44}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":6}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":0}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":70}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":39}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":101}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":50}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":61}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":44}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":52}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":0}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":36}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":93}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":60}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":0}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":44}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":101}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":50}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":61}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":0}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":73}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":61}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":21}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":37}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":36}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":93}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":60}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":6}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":86}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":49}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":58}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":7}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":69}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":64}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":0}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":39}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":101}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":50}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":61}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":0}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":40}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":52}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":44}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":52}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":0}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":48}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":61}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":21}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":37}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":6}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":115}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":39}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":101}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":50}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":61}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":52}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":0}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":44}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":101}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":50}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":61}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":44}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":61}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":21}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":37}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":44}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":107}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":31}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":43}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":89}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":47}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":61}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":21}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":37}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":0}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":65}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":52}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":6}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":0}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":141}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":39}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":101}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":50}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":0}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":44}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":52}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":0}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":70}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":101}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":50}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":49}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":61}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":0}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":41}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":52}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":0}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":67}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":52}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":62}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":70}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":65}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":52}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":6}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":0}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":123}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":30}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":0}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":39}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":101}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":50}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":0}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":70}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":101}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":50}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":0}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":44}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":52}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":0}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":49}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":61}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":41}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":52}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":0}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":18}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":101}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":26}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":64}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":8}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":67}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":52}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":62}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":57}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":0}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":29}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":28}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":6}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":4}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":0}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":48}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":32}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":32}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":32}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":0}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":28}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":54}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":70}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":53}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":53}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":52}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":8}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":0}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":24}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":109}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":6}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":0}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":27}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":23}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":115}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":6}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":79}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":46}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":101}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":50}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":52}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":0}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":46}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":101}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":50}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":52}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":0}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":64}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":97}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":88}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":50}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":0}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":39}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":61}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":21}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":37}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":6}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":4}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":0}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":31}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":25}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":26}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":31}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":54}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":55}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":54}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":0}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":28}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":53}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":67}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":0}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":54}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":68}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":0}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":53}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":54}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":67}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":0}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":57}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":20}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":37}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":29}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":33}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":13}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":12}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":11}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":20}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":37}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":29}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":34}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":13}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":12}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":11}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":20}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":38}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":20}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":26}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":32}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":26}},"364":{"start":{"line":365,"column":0},"end":{"line":365,"column":29}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":16}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":26}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":30}},"368":{"start":{"line":369,"column":0},"end":{"line":369,"column":31}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":15}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":14}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":29}},"372":{"start":{"line":373,"column":0},"end":{"line":373,"column":33}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":13}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":12}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":10}},"376":{"start":{"line":377,"column":0},"end":{"line":377,"column":8}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":6}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":0}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":28}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":24}},"381":{"start":{"line":382,"column":0},"end":{"line":382,"column":95}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":0}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":32}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":65}},"385":{"start":{"line":386,"column":0},"end":{"line":386,"column":0}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":41}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":105}},"388":{"start":{"line":389,"column":0},"end":{"line":389,"column":0}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":63}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":15}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":23}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":21}},"393":{"start":{"line":394,"column":0},"end":{"line":394,"column":23}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":9}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":10}},"396":{"start":{"line":397,"column":0},"end":{"line":397,"column":6}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":0}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":27}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":23}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":101}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":6}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":0}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":82}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":67}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":0}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":27}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":57}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":0}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":30}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":49}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":7}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":0}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":25}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":33}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":0}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":37}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":44}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":0}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":67}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":35}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":0}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":51}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":73}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":21}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":8}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":0}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":44}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":91}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":21}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":8}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":0}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":81}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":73}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":0}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":53}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":50}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":0}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":29}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":6}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":4}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":2}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":18,"17":18,"18":18,"19":350,"20":899,"21":13,"22":13,"23":899,"24":337,"25":337,"26":18,"27":13,"28":1,"29":10,"30":10,"31":59,"32":59,"33":10,"34":10,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":7,"86":7,"87":7,"88":7,"89":7,"90":7,"91":7,"92":7,"93":7,"94":7,"95":1,"96":1,"97":1,"98":7,"99":7,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":0,"162":0,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"241":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"250":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"263":1,"264":1,"265":1,"266":1,"267":1,"268":1,"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":1,"338":1,"339":1,"340":1,"341":1,"342":1,"343":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1,"378":1,"379":1,"380":1,"381":1,"382":1,"383":1,"384":1,"385":1,"386":1,"387":1,"388":1,"389":1,"390":1,"391":1,"392":1,"393":1,"394":1,"395":1,"396":1,"397":1,"398":1,"399":1,"400":1,"401":1,"402":1,"403":1,"404":1,"405":1,"406":1,"407":1,"408":1,"409":1,"410":0,"411":0,"412":1,"413":1,"414":1,"415":1,"416":1,"417":1,"418":1,"419":1,"420":1,"421":1,"422":1,"423":1,"424":1,"425":1,"426":1,"427":1,"428":1,"429":1,"430":1,"431":1,"432":1,"433":1,"434":1,"435":1,"436":1,"437":1,"438":1,"439":1,"440":1,"441":1},"branchMap":{"0":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":0},"end":{"line":28,"column":1}},"locations":[{"start":{"line":17,"column":0},"end":{"line":28,"column":1}}]},"1":{"type":"branch","line":28,"loc":{"start":{"line":28,"column":-1},"end":{"line":28,"column":1}},"locations":[{"start":{"line":28,"column":-1},"end":{"line":28,"column":1}}]},"2":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":17},"end":{"line":27,"column":3}},"locations":[{"start":{"line":19,"column":17},"end":{"line":27,"column":3}}]},"3":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":45},"end":{"line":24,"column":5}},"locations":[{"start":{"line":20,"column":45},"end":{"line":24,"column":5}}]},"4":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":78},"end":{"line":23,"column":7}},"locations":[{"start":{"line":21,"column":78},"end":{"line":23,"column":7}}]},"5":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":-1},"end":{"line":27,"column":3}},"locations":[{"start":{"line":25,"column":-1},"end":{"line":27,"column":3}}]},"6":{"type":"branch","line":30,"loc":{"start":{"line":30,"column":0},"end":{"line":35,"column":1}},"locations":[{"start":{"line":30,"column":0},"end":{"line":35,"column":1}}]},"7":{"type":"branch","line":31,"loc":{"start":{"line":31,"column":17},"end":{"line":34,"column":3}},"locations":[{"start":{"line":31,"column":17},"end":{"line":34,"column":3}}]},"8":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":23},"end":{"line":442,"column":2}},"locations":[{"start":{"line":37,"column":23},"end":{"line":442,"column":2}}]},"9":{"type":"branch","line":38,"loc":{"start":{"line":38,"column":21},"end":{"line":77,"column":3}},"locations":[{"start":{"line":38,"column":21},"end":{"line":77,"column":3}}]},"10":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":15},"end":{"line":50,"column":5}},"locations":[{"start":{"line":42,"column":15},"end":{"line":50,"column":5}}]},"11":{"type":"branch","line":52,"loc":{"start":{"line":52,"column":15},"end":{"line":55,"column":5}},"locations":[{"start":{"line":52,"column":15},"end":{"line":55,"column":5}}]},"12":{"type":"branch","line":54,"loc":{"start":{"line":54,"column":57},"end":{"line":54,"column":93}},"locations":[{"start":{"line":54,"column":57},"end":{"line":54,"column":93}}]},"13":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":14},"end":{"line":60,"column":5}},"locations":[{"start":{"line":57,"column":14},"end":{"line":60,"column":5}}]},"14":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":57},"end":{"line":59,"column":92}},"locations":[{"start":{"line":59,"column":57},"end":{"line":59,"column":92}}]},"15":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":107},"end":{"line":76,"column":5}},"locations":[{"start":{"line":62,"column":107},"end":{"line":76,"column":5}}]},"16":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":40},"end":{"line":278,"column":3}},"locations":[{"start":{"line":79,"column":40},"end":{"line":278,"column":3}}]},"17":{"type":"branch","line":85,"loc":{"start":{"line":85,"column":15},"end":{"line":96,"column":5}},"locations":[{"start":{"line":85,"column":15},"end":{"line":96,"column":5}}]},"18":{"type":"branch","line":95,"loc":{"start":{"line":95,"column":79},"end":{"line":95,"column":115}},"locations":[{"start":{"line":95,"column":79},"end":{"line":95,"column":115}}]},"19":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":14},"end":{"line":101,"column":5}},"locations":[{"start":{"line":98,"column":14},"end":{"line":101,"column":5}}]},"20":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":86},"end":{"line":100,"column":121}},"locations":[{"start":{"line":100,"column":86},"end":{"line":100,"column":121}}]},"21":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":107},"end":{"line":115,"column":5}},"locations":[{"start":{"line":103,"column":107},"end":{"line":115,"column":5}}]},"22":{"type":"branch","line":117,"loc":{"start":{"line":117,"column":82},"end":{"line":130,"column":5}},"locations":[{"start":{"line":117,"column":82},"end":{"line":130,"column":5}}]},"23":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":57},"end":{"line":158,"column":5}},"locations":[{"start":{"line":132,"column":57},"end":{"line":158,"column":5}}]},"24":{"type":"branch","line":160,"loc":{"start":{"line":160,"column":73},"end":{"line":183,"column":5}},"locations":[{"start":{"line":160,"column":73},"end":{"line":183,"column":5}}]},"25":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":48},"end":{"line":163,"column":7}},"locations":[{"start":{"line":161,"column":48},"end":{"line":163,"column":7}}]},"26":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":102},"end":{"line":215,"column":5}},"locations":[{"start":{"line":185,"column":102},"end":{"line":215,"column":5}}]},"27":{"type":"branch","line":217,"loc":{"start":{"line":217,"column":128},"end":{"line":242,"column":5}},"locations":[{"start":{"line":217,"column":128},"end":{"line":242,"column":5}}]},"28":{"type":"branch","line":238,"loc":{"start":{"line":238,"column":21},"end":{"line":238,"column":69}},"locations":[{"start":{"line":238,"column":21},"end":{"line":238,"column":69}}]},"29":{"type":"branch","line":244,"loc":{"start":{"line":244,"column":110},"end":{"line":277,"column":5}},"locations":[{"start":{"line":244,"column":110},"end":{"line":277,"column":5}}]},"30":{"type":"branch","line":265,"loc":{"start":{"line":265,"column":88},"end":{"line":268,"column":7}},"locations":[{"start":{"line":265,"column":88},"end":{"line":268,"column":7}}]},"31":{"type":"branch","line":280,"loc":{"start":{"line":280,"column":41},"end":{"line":323,"column":3}},"locations":[{"start":{"line":280,"column":41},"end":{"line":323,"column":3}}]},"32":{"type":"branch","line":285,"loc":{"start":{"line":285,"column":15},"end":{"line":295,"column":5}},"locations":[{"start":{"line":285,"column":15},"end":{"line":295,"column":5}}]},"33":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":71},"end":{"line":294,"column":107}},"locations":[{"start":{"line":294,"column":71},"end":{"line":294,"column":107}}]},"34":{"type":"branch","line":297,"loc":{"start":{"line":297,"column":14},"end":{"line":300,"column":5}},"locations":[{"start":{"line":297,"column":14},"end":{"line":300,"column":5}}]},"35":{"type":"branch","line":299,"loc":{"start":{"line":299,"column":78},"end":{"line":299,"column":113}},"locations":[{"start":{"line":299,"column":78},"end":{"line":299,"column":113}}]},"36":{"type":"branch","line":302,"loc":{"start":{"line":302,"column":66},"end":{"line":322,"column":5}},"locations":[{"start":{"line":302,"column":66},"end":{"line":322,"column":5}}]},"37":{"type":"branch","line":325,"loc":{"start":{"line":325,"column":24},"end":{"line":441,"column":3}},"locations":[{"start":{"line":325,"column":24},"end":{"line":441,"column":3}}]},"38":{"type":"branch","line":333,"loc":{"start":{"line":333,"column":15},"end":{"line":378,"column":5}},"locations":[{"start":{"line":333,"column":15},"end":{"line":378,"column":5}}]},"39":{"type":"branch","line":335,"loc":{"start":{"line":335,"column":42},"end":{"line":335,"column":64}},"locations":[{"start":{"line":335,"column":42},"end":{"line":335,"column":64}}]},"40":{"type":"branch","line":338,"loc":{"start":{"line":338,"column":43},"end":{"line":338,"column":65}},"locations":[{"start":{"line":338,"column":43},"end":{"line":338,"column":65}}]},"41":{"type":"branch","line":342,"loc":{"start":{"line":342,"column":42},"end":{"line":342,"column":64}},"locations":[{"start":{"line":342,"column":42},"end":{"line":342,"column":64}}]},"42":{"type":"branch","line":348,"loc":{"start":{"line":348,"column":14},"end":{"line":348,"column":33}},"locations":[{"start":{"line":348,"column":14},"end":{"line":348,"column":33}}]},"43":{"type":"branch","line":355,"loc":{"start":{"line":355,"column":14},"end":{"line":355,"column":34}},"locations":[{"start":{"line":355,"column":14},"end":{"line":355,"column":34}}]},"44":{"type":"branch","line":373,"loc":{"start":{"line":373,"column":14},"end":{"line":373,"column":33}},"locations":[{"start":{"line":373,"column":14},"end":{"line":373,"column":33}}]},"45":{"type":"branch","line":380,"loc":{"start":{"line":380,"column":15},"end":{"line":397,"column":5}},"locations":[{"start":{"line":380,"column":15},"end":{"line":397,"column":5}}]},"46":{"type":"branch","line":382,"loc":{"start":{"line":382,"column":57},"end":{"line":382,"column":93}},"locations":[{"start":{"line":382,"column":57},"end":{"line":382,"column":93}}]},"47":{"type":"branch","line":385,"loc":{"start":{"line":385,"column":21},"end":{"line":385,"column":64}},"locations":[{"start":{"line":385,"column":21},"end":{"line":385,"column":64}}]},"48":{"type":"branch","line":388,"loc":{"start":{"line":388,"column":57},"end":{"line":388,"column":104}},"locations":[{"start":{"line":388,"column":57},"end":{"line":388,"column":104}}]},"49":{"type":"branch","line":390,"loc":{"start":{"line":390,"column":42},"end":{"line":396,"column":7}},"locations":[{"start":{"line":390,"column":42},"end":{"line":396,"column":7}}]},"50":{"type":"branch","line":399,"loc":{"start":{"line":399,"column":14},"end":{"line":402,"column":5}},"locations":[{"start":{"line":399,"column":14},"end":{"line":402,"column":5}}]},"51":{"type":"branch","line":401,"loc":{"start":{"line":401,"column":64},"end":{"line":401,"column":99}},"locations":[{"start":{"line":401,"column":64},"end":{"line":401,"column":99}}]},"52":{"type":"branch","line":404,"loc":{"start":{"line":404,"column":69},"end":{"line":440,"column":5}},"locations":[{"start":{"line":404,"column":69},"end":{"line":440,"column":5}}]},"53":{"type":"branch","line":410,"loc":{"start":{"line":410,"column":29},"end":{"line":412,"column":7}},"locations":[{"start":{"line":410,"column":29},"end":{"line":412,"column":7}}]},"54":{"type":"branch","line":424,"loc":{"start":{"line":424,"column":21},"end":{"line":424,"column":70}},"locations":[{"start":{"line":424,"column":21},"end":{"line":424,"column":70}}]},"55":{"type":"branch","line":429,"loc":{"start":{"line":429,"column":21},"end":{"line":429,"column":88}},"locations":[{"start":{"line":429,"column":21},"end":{"line":429,"column":88}}]}},"b":{"0":[18],"1":[13],"2":[350],"3":[899],"4":[13],"5":[337],"6":[10],"7":[59],"8":[1],"9":[1],"10":[1],"11":[1],"12":[2],"13":[1],"14":[2],"15":[1],"16":[1],"17":[7],"18":[28],"19":[7],"20":[28],"21":[1],"22":[1],"23":[1],"24":[1],"25":[0],"26":[1],"27":[1],"28":[1],"29":[1],"30":[1],"31":[1],"32":[1],"33":[3],"34":[1],"35":[3],"36":[1],"37":[1],"38":[1],"39":[1],"40":[1],"41":[1],"42":[1],"43":[1],"44":[1],"45":[1],"46":[3],"47":[50],"48":[2],"49":[1],"50":[1],"51":[3],"52":[1],"53":[0],"54":[1],"55":[14]},"fnMap":{"0":{"name":"usingAsRelay","decl":{"start":{"line":17,"column":0},"end":{"line":28,"column":1}},"loc":{"start":{"line":17,"column":0},"end":{"line":28,"column":1}},"line":17},"1":{"name":"discoveredRelayConfig","decl":{"start":{"line":30,"column":0},"end":{"line":35,"column":1}},"loc":{"start":{"line":30,"column":0},"end":{"line":35,"column":1}},"line":30},"2":{"name":"Promise.all.createNode.config.createNodeOptions.contentRouters","decl":{"start":{"line":348,"column":14},"end":{"line":348,"column":33}},"loc":{"start":{"line":348,"column":14},"end":{"line":348,"column":33}},"line":348},"3":{"name":"Promise.all.createNode.config.createNodeOptions.contentRouters","decl":{"start":{"line":355,"column":14},"end":{"line":355,"column":34}},"loc":{"start":{"line":355,"column":14},"end":{"line":355,"column":34}},"line":355},"4":{"name":"Promise.all.createNode.config.createRelayOptions.contentRouters","decl":{"start":{"line":373,"column":14},"end":{"line":373,"column":33}},"loc":{"start":{"line":373,"column":14},"end":{"line":373,"column":33}},"line":373},"5":{"name":"pWaitFor.timeout","decl":{"start":{"line":424,"column":21},"end":{"line":424,"column":70}},"loc":{"start":{"line":424,"column":21},"end":{"line":424,"column":70}},"line":424},"6":{"name":"pWaitFor.timeout","decl":{"start":{"line":429,"column":21},"end":{"line":429,"column":88}},"loc":{"start":{"line":429,"column":21},"end":{"line":429,"column":88}},"line":429}},"f":{"0":18,"1":10,"2":1,"3":1,"4":1,"5":1,"6":14}} -,"/home/ckousik/projects/js-libp2p/test/relay/relay.node.ts": {"path":"/home/ckousik/projects/js-libp2p/test/relay/relay.node.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":51}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":32}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":30}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":76}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":68}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":63}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":61}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":72}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":53}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":53}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":54}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":66}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":24}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":25}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":22}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":0}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":44}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":27}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":29}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":27}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":0}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":26}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":52}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":61}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":18}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":35}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":18}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":24}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":28}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":13}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":11}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":10}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":9}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":18}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":36}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":18}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":24}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":28}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":13}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":11}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":10}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":9}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":18}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":35}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":18}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":24}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":27}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":13}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":11}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":10}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":8}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":6}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":59}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":31}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":6}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":0}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":22}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":100}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":4}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":25}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":106}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":4}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":94}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":75}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":55}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":72}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":98}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":72}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":64}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":30}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":43}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":69}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":53}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":33}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":78}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":50}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":64}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":0}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":47}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":32}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":14}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":17}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":41}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":5}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":40}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":22}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":4}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":93}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":75}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":55}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":0}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":30}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":43}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":69}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":0}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":42}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":34}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":84}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":4}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":0}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":99}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":75}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":55}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":30}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":43}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":69}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":42}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":34}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":84}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":82}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":101}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":41}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":4}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":95}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":55}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":112}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":30}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":69}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":35}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":0}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":42}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":34}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":84}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":0}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":100}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":46}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":77}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":4}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":105}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":55}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":112}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":0}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":30}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":69}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":49}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":69}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":129}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":108}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":125}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":0}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":75}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":68}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":69}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":57}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":73}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":61}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":44}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":61}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":71}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":25}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":0}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":32}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":100}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":46}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":77}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":4}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":0}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":74}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":28}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":36}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":34}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":16}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":22}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":26}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":12}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":16}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":33}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":22}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":11}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":9}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":8}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":6}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":0}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":75}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":83}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":53}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":65}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":0}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":43}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":42}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":23}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":32}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":8}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":0}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":68}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":62}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":48}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":4}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":2}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":6,"26":6,"27":6,"28":6,"29":6,"30":6,"31":6,"32":6,"33":6,"34":6,"35":6,"36":6,"37":6,"38":6,"39":6,"40":6,"41":6,"42":6,"43":6,"44":6,"45":6,"46":6,"47":6,"48":6,"49":6,"50":6,"51":6,"52":6,"53":6,"54":6,"55":6,"56":6,"57":1,"58":6,"59":6,"60":6,"61":6,"62":1,"63":1,"64":1,"65":6,"66":6,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"152":1,"153":1,"154":1,"155":1,"156":1,"157":1,"158":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1,"178":1,"179":1,"180":1,"181":1,"182":1,"183":1,"184":1,"185":1,"186":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"211":1},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":37},"end":{"line":212,"column":2}},"locations":[{"start":{"line":20,"column":37},"end":{"line":212,"column":2}}]},"1":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":13},"end":{"line":63,"column":3}},"locations":[{"start":{"line":25,"column":13},"end":{"line":63,"column":3}}]},"2":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":42},"end":{"line":59,"column":5}},"locations":[{"start":{"line":57,"column":42},"end":{"line":59,"column":5}}]},"3":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":62},"end":{"line":62,"column":98}},"locations":[{"start":{"line":62,"column":62},"end":{"line":62,"column":98}}]},"4":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":12},"end":{"line":68,"column":3}},"locations":[{"start":{"line":65,"column":12},"end":{"line":68,"column":3}}]},"5":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":69},"end":{"line":67,"column":104}},"locations":[{"start":{"line":67,"column":69},"end":{"line":67,"column":104}}]},"6":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":81},"end":{"line":99,"column":3}},"locations":[{"start":{"line":70,"column":81},"end":{"line":99,"column":3}}]},"7":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":6},"end":{"line":94,"column":41}},"locations":[{"start":{"line":94,"column":6},"end":{"line":94,"column":41}}]},"8":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":80},"end":{"line":112,"column":3}},"locations":[{"start":{"line":101,"column":80},"end":{"line":112,"column":3}}]},"9":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":86},"end":{"line":129,"column":3}},"locations":[{"start":{"line":114,"column":86},"end":{"line":129,"column":3}}]},"10":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":82},"end":{"line":147,"column":3}},"locations":[{"start":{"line":131,"column":82},"end":{"line":147,"column":3}}]},"11":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":92},"end":{"line":178,"column":3}},"locations":[{"start":{"line":149,"column":92},"end":{"line":178,"column":3}}]},"12":{"type":"branch","line":180,"loc":{"start":{"line":180,"column":61},"end":{"line":211,"column":3}},"locations":[{"start":{"line":180,"column":61},"end":{"line":211,"column":3}}]},"13":{"type":"branch","line":202,"loc":{"start":{"line":202,"column":22},"end":{"line":206,"column":5}},"locations":[{"start":{"line":202,"column":22},"end":{"line":206,"column":5}}]},"14":{"type":"branch","line":206,"loc":{"start":{"line":206,"column":-1},"end":{"line":206,"column":5}},"locations":[{"start":{"line":206,"column":-1},"end":{"line":206,"column":5}}]}},"b":{"0":[1],"1":[6],"2":[1],"3":[18],"4":[6],"5":[18],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[0]},"fnMap":{},"f":{}} -,"/home/ckousik/projects/js-libp2p/test/relay/utils.ts": {"path":"/home/ckousik/projects/js-libp2p/test/relay/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":55}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":60}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":0}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":82}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":28}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":16}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":26}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":6}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":24}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":21}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":6}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":12}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":12}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":22}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":8}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":22}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":23}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":7}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":5}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":18}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":1}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":83}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":28}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":12}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":12}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":21}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":7}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":5}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":55,"7":55,"8":55,"9":55,"10":55,"11":55,"12":55,"13":55,"14":55,"15":55,"16":55,"17":55,"18":55,"19":55,"20":55,"21":55,"22":55,"23":55,"24":1,"25":1,"26":33,"27":33,"28":33,"29":33,"30":33,"31":33,"32":33,"33":33},"branchMap":{"0":{"type":"branch","line":6,"loc":{"start":{"line":6,"column":6},"end":{"line":24,"column":1}},"locations":[{"start":{"line":6,"column":6},"end":{"line":24,"column":1}}]},"1":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":6},"end":{"line":34,"column":1}},"locations":[{"start":{"line":26,"column":6},"end":{"line":34,"column":1}}]}},"b":{"0":[55],"1":[33]},"fnMap":{"0":{"name":"createNodeOptions","decl":{"start":{"line":6,"column":6},"end":{"line":24,"column":1}},"loc":{"start":{"line":6,"column":6},"end":{"line":24,"column":1}},"line":6},"1":{"name":"createRelayOptions","decl":{"start":{"line":26,"column":6},"end":{"line":34,"column":1}},"loc":{"start":{"line":26,"column":6},"end":{"line":34,"column":1}},"line":26}},"f":{"0":55,"1":33}} -,"/home/ckousik/projects/js-libp2p/test/utils/base-options.browser.ts": {"path":"/home/ckousik/projects/js-libp2p/test/utils/base-options.browser.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":0}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":47}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":53}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":37}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":55}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":46}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":40}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":78}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":34}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":17}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":18}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":27}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":8}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":6}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":19}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":13}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":6}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":27}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":17}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":6}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":12}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":21}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":12}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":22}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":7}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":6}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":10}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":20}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":3}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":41}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":55,"10":55,"11":55,"12":55,"13":55,"14":55,"15":55,"16":55,"17":55,"18":55,"19":55,"20":55,"21":55,"22":55,"23":55,"24":55,"25":55,"26":55,"27":55,"28":55,"29":55,"30":55,"31":55,"32":55,"33":55},"branchMap":{"0":{"type":"branch","line":9,"loc":{"start":{"line":9,"column":6},"end":{"line":34,"column":1}},"locations":[{"start":{"line":9,"column":6},"end":{"line":34,"column":1}}]}},"b":{"0":[55]},"fnMap":{"0":{"name":"createBaseOptions","decl":{"start":{"line":9,"column":6},"end":{"line":34,"column":1}},"loc":{"start":{"line":9,"column":6},"end":{"line":34,"column":1}},"line":9}},"f":{"0":55}} -,"/home/ckousik/projects/js-libp2p/test/utils/base-options.ts": {"path":"/home/ckousik/projects/js-libp2p/test/utils/base-options.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":37}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":55}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":40}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":82}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":34}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":17}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":11}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":6}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":19}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":13}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":6}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":17}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":6}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":12}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":20}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":12}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":22}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":7}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":6}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":10}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":20}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":3}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":44}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":55,"8":55,"9":55,"10":55,"11":55,"12":55,"13":55,"14":55,"15":55,"16":55,"17":55,"18":55,"19":55,"20":55,"21":55,"22":55,"23":55,"24":55,"25":55,"26":55,"27":55,"28":55,"29":55},"branchMap":{"0":{"type":"branch","line":7,"loc":{"start":{"line":7,"column":6},"end":{"line":30,"column":1}},"locations":[{"start":{"line":7,"column":6},"end":{"line":30,"column":1}}]}},"b":{"0":[55]},"fnMap":{"0":{"name":"createBaseOptions","decl":{"start":{"line":7,"column":6},"end":{"line":30,"column":1}},"loc":{"start":{"line":7,"column":6},"end":{"line":30,"column":1}},"line":7}},"f":{"0":55}} -,"/home/ckousik/projects/js-libp2p/test/utils/creators/peer.ts": {"path":"/home/ckousik/projects/js-libp2p/test/utils/creators/peer.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":43}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":62}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":94}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":69}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":28}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":58}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":55}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":79}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":52}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":36}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":5}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":33}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":5}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":17}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":0}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":5}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":41}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":5}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":18}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":39}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":5}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":19}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":0}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":24}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":1}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":23}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":3}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":89}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":41}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":37}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":65}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":47}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":7}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":40}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":21}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":40}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":7}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":7}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":19}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":21}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":23}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":40}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":7}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":57}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":11}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":14}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":13}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":5}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":0}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":16}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":3}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":13}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":1}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":66}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":42}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":44}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":20}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":127}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":7}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":5}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":3}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":1}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":0}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":38}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":5}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":54}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":5}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":18}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":0}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":5}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":46}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":5}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":10}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":28}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":17}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":3}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":1}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":3}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":17}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":3}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":89}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":33}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":0}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":32}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":112}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":3}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":0}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":53}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":1}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":3}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":18}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":3}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":124}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":33}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":0}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":62}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":12}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":14}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":5}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":1}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":55,"36":55,"37":55,"38":55,"39":55,"40":55,"41":55,"42":55,"43":55,"44":55,"45":55,"46":0,"47":0,"48":0,"49":0,"50":0,"51":55,"52":55,"53":55,"54":55,"55":55,"56":55,"57":55,"58":55,"59":55,"60":55,"61":55,"62":55,"63":1,"64":1,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":55,"95":55,"96":55,"97":55,"98":55,"99":0,"100":0,"101":0,"102":1,"103":1,"104":1,"105":1,"106":1,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0},"branchMap":{"0":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":7},"end":{"line":63,"column":1}},"locations":[{"start":{"line":35,"column":7},"end":{"line":63,"column":1}}]},"1":{"type":"branch","line":37,"loc":{"start":{"line":37,"column":31},"end":{"line":37,"column":37}},"locations":[{"start":{"line":37,"column":31},"end":{"line":37,"column":37}}]},"2":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":4},"end":{"line":51,"column":7}},"locations":[{"start":{"line":46,"column":4},"end":{"line":51,"column":7}}]},"3":{"type":"branch","line":94,"loc":{"start":{"line":94,"column":7},"end":{"line":102,"column":1}},"locations":[{"start":{"line":94,"column":7},"end":{"line":102,"column":1}}]},"4":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":31},"end":{"line":98,"column":83}},"locations":[{"start":{"line":98,"column":31},"end":{"line":98,"column":83}}]},"5":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":-1},"end":{"line":102,"column":1}},"locations":[{"start":{"line":100,"column":-1},"end":{"line":102,"column":1}}]}},"b":{"0":[55],"1":[0],"2":[0],"3":[55],"4":[0],"5":[0]},"fnMap":{"0":{"name":"createNode","decl":{"start":{"line":35,"column":7},"end":{"line":63,"column":1}},"loc":{"start":{"line":35,"column":7},"end":{"line":63,"column":1}},"line":35},"1":{"name":"announceFilter","decl":{"start":{"line":44,"column":24},"end":{"line":44,"column":40}},"loc":{"start":{"line":44,"column":24},"end":{"line":44,"column":40}},"line":44},"2":{"name":"announceFilter","decl":{"start":{"line":50,"column":24},"end":{"line":50,"column":40}},"loc":{"start":{"line":50,"column":24},"end":{"line":50,"column":40}},"line":50},"3":{"name":"populateAddressBooks","decl":{"start":{"line":65,"column":7},"end":{"line":73,"column":1}},"loc":{"start":{"line":65,"column":7},"end":{"line":73,"column":1}},"line":65},"4":{"name":"createPeerId","decl":{"start":{"line":94,"column":7},"end":{"line":102,"column":1}},"loc":{"start":{"line":94,"column":7},"end":{"line":102,"column":1}},"line":94},"5":{"name":"createPeerIds","decl":{"start":{"line":107,"column":7},"end":{"line":114,"column":1}},"loc":{"start":{"line":107,"column":7},"end":{"line":114,"column":1}},"line":107}},"f":{"0":55,"1":0,"2":0,"3":0,"4":55,"5":0}} -} diff --git a/.gitignore b/.gitignore index 1531bdf9de..754a53fbb7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,6 @@ dist .coverage package-lock.json yarn.lock + +.coverage +.vscode \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 55712c19f1..0000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib" -} \ No newline at end of file From 16fd3f68809c56e0b88932a0061e4bf0521d68a0 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 14:38:39 +0530 Subject: [PATCH 05/58] fixes --- .gitignore | 2 - src/circuit/client.ts | 90 +++++++++++------------------ src/circuit/relay.ts | 11 +--- src/circuit/v1/hop.ts | 2 +- src/circuit/v1/protocol/index.proto | 42 -------------- src/circuit/v1/stop.ts | 2 +- src/circuit/v1/stream-handler.ts | 2 +- src/circuit/v2/hop.ts | 6 +- src/circuit/v2/stop.ts | 2 +- src/circuit/v2/stream-handler.ts | 2 +- src/circuit/v2/validation.ts | 4 +- 11 files changed, 46 insertions(+), 119 deletions(-) delete mode 100644 src/circuit/v1/protocol/index.proto diff --git a/.gitignore b/.gitignore index 754a53fbb7..c31542c23e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,4 @@ dist .coverage package-lock.json yarn.lock - -.coverage .vscode \ No newline at end of file diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 964cbd98c6..e72ed37aee 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -17,7 +17,7 @@ import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' -const log = logger('libp2p:circuit_client') +const log = logger('libp2p:circuit:client') const noop = () => { } @@ -40,7 +40,7 @@ export class CircuitService extends EventEmitter implement private readonly onError: (error: Error, msg?: string) => void private started: boolean - constructor (components: Components, init: CircuitServiceInit) { + constructor(components: Components, init: CircuitServiceInit) { super() this.started = false this.components = components @@ -63,21 +63,18 @@ export class CircuitService extends EventEmitter implement this._onPeerDisconnected(evt) }) - this.components.connectionManager.addEventListener('peer:connect', (evt) => { - log.trace('Connected', evt.detail.remotePeer.toString(), this.components.peerId.toString()) - }) } - isStarted () { + isStarted() { return this.started } - start () { - void this._listenOnAvailableHopRelays() + start() { + void this._listenOnAvailableHopRelays().catch(err => { log.error('error listening on relays', err) }) this.started = true } - async stop () { + async stop() { for (const timer of this.reservationMap.values()) { clearTimeout(timer) } @@ -91,7 +88,7 @@ export class CircuitService extends EventEmitter implement * If the protocol is supported, check if the peer supports **HOP** and add it as a listener if * inside the threshold. */ - async _onProtocolChange ({ peerId, protocols }: { peerId: PeerId, protocols: string[] }) { + async _onProtocolChange({ peerId, protocols }: { peerId: PeerId, protocols: string[] }) { const id = peerId.toString() if (peerId.equals(this.components.peerId)) { @@ -99,11 +96,11 @@ export class CircuitService extends EventEmitter implement } // Check if it has the protocol - const hasProtocol = protocols.find(protocol => protocol === RELAY_V2_HOP_CODEC) - log.trace(`Peer ${peerId.toString()} protocol change`, this.components.peerId.toString()) + const hasProtocol = protocols.includes(RELAY_V2_HOP_CODEC) + log.trace(`Peer %p protocol change %p`, peerId, this.components.peerId) // If no protocol, check if we were keeping the peer before as a listenRelay - if (hasProtocol == null) { + if (hasProtocol) { if (this.relays.has(id)) { await this._removeListenRelay(id) } @@ -141,7 +138,7 @@ export class CircuitService extends EventEmitter implement /** * Peer disconnects */ - _onPeerDisconnected (evt: CustomEvent) { + _onPeerDisconnected(evt: CustomEvent) { const connection = evt.detail const peerId = connection.remotePeer const id = peerId.toString() @@ -161,7 +158,7 @@ export class CircuitService extends EventEmitter implement /** * Attempt to listen on the given relay connection */ - async _addListenRelay (connection: Connection, peerId: PeerId): Promise { + async _addListenRelay(connection: Connection, peerId: PeerId): Promise { const id = peerId.toString() log.trace(`Peer ${peerId.toString()} is being added as relay`) try { @@ -215,7 +212,7 @@ export class CircuitService extends EventEmitter implement /** * Remove listen relay */ - async _removeListenRelay (id: string) { + async _removeListenRelay(id: string) { if (this.relays.delete(id)) { /* eslint-disable-next-line no-warning-comments */ // TODO: this should be responsibility of the connMgr @@ -230,50 +227,32 @@ export class CircuitService extends EventEmitter implement * 2. Dial and try to listen on the peers we know that support hop but are not connected. * 3. Search the network. */ - async _listenOnAvailableHopRelays (peersToIgnore: string[] = []) { + async _listenOnAvailableHopRelays(peersToIgnore: string[] = []) { // Check if already listening on enough relays if (this.relays.size >= this.maxReservations) { return } - const knownHopsToDial = [] - const peers = await this.components.peerStore.all() + const knownHopsToDial: PeerId[] = [] + const peers = (await this.components.peerStore.all()) + // filter by a list of peers supporting RELAY_V2_HOP and ones we are not listening on + .filter(({ id, protocols }) => + protocols.includes(RELAY_V2_HOP_CODEC) && !this.relays.has(id.toString()) && peersToIgnore.includes(id.toString())) + .map(({ id }) => { + const connections = this.components.connectionManager.getConnections(id) + if (connections.length === 0) { + knownHopsToDial.push(id) + return [id, null] + } + return [id, connections[0]] + }) + .filter(([id, conn]) => { conn }) + .sort(() => Math.random() - 0.5) // Check if we have known hop peers to use and attempt to listen on the already connected - for (const { id, protocols } of peers) { - const idStr = id.toString() - log.trace('Checking if peer relay', idStr, protocols, { me: this.components.peerId.toString() }) - - // Continue to next if listening on this or peer to ignore - if (this.relays.has(idStr)) { - /* eslint-disable-next-line no-continue */ - continue - } - - if (peersToIgnore.includes(idStr)) { - /* eslint-disable-next-line no-continue */ - continue - } - - const hasProtocol = protocols.find(protocol => protocol === RELAY_V2_HOP_CODEC) - - // Continue to next if it does not support Hop - if (hasProtocol == null) { - /* eslint-disable-next-line no-continue */ - continue - } - log.trace('Found peer with relay codec', id) + for (const [id, conn] of peers) { - const connections = this.components.connectionManager.getConnections(id) - - // If not connected, store for possible later use. - if (connections.length === 0) { - knownHopsToDial.push(id) - /* eslint-disable-next-line no-continue */ - continue - } - - await this._addListenRelay(connections[0], id) + await this._addListenRelay(conn as Connection, id as PeerId) // Check if already listening on enough relays if (this.relays.size >= this.maxReservations) { @@ -283,12 +262,13 @@ export class CircuitService extends EventEmitter implement // Try to listen on known peers that are not connected for (const peerId of knownHopsToDial) { - await this._tryToListenOnRelay(peerId) - // Check if already listening on enough relays if (this.relays.size >= this.maxReservations) { return } + + await this._tryToListenOnRelay(peerId) + } // Try to find relays to hop on the network @@ -322,7 +302,7 @@ export class CircuitService extends EventEmitter implement } } - async _tryToListenOnRelay (peerId: PeerId) { + async _tryToListenOnRelay(peerId: PeerId) { try { if (peerId.equals(this.components.peerId)) { log.trace('Skipping dialling self', peerId.toString()) diff --git a/src/circuit/relay.ts b/src/circuit/relay.ts index 5c1386313c..2a6e6ea595 100644 --- a/src/circuit/relay.ts +++ b/src/circuit/relay.ts @@ -13,7 +13,7 @@ import type { AddressSorter } from '@libp2p/interface-peer-store' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' -const log = logger('libp2p:relay') +const log = logger('libp2p:circuit:relay') export interface RelayAdvertiseConfig { bootDelay?: number @@ -26,15 +26,6 @@ export interface HopConfig { active?: boolean } -export interface AutoRelayConfig { - enabled?: boolean - - /** - * maximum number of relays to listen - */ - maxListeners: number -} - export interface RelayInit { addressSorter?: AddressSorter maxListeners?: number diff --git a/src/circuit/v1/hop.ts b/src/circuit/v1/hop.ts index 9e034ee321..5be9ae620e 100644 --- a/src/circuit/v1/hop.ts +++ b/src/circuit/v1/hop.ts @@ -7,7 +7,7 @@ import type { Stream } from '@libp2p/interface-connection' import type { Duplex } from 'it-stream-types' import type { Uint8ArrayList } from 'uint8arraylist' -const log = logger('libp2p:circuit:hop') +const log = logger('libp2p:circuit:v1:hop') export interface HopConfig { stream: Stream request: CircuitRelay diff --git a/src/circuit/v1/protocol/index.proto b/src/circuit/v1/protocol/index.proto deleted file mode 100644 index 1eaec2e29b..0000000000 --- a/src/circuit/v1/protocol/index.proto +++ /dev/null @@ -1,42 +0,0 @@ -syntax = "proto3"; - -message CircuitRelay { - - enum Status { - SUCCESS = 100; - HOP_SRC_ADDR_TOO_LONG = 220; - HOP_DST_ADDR_TOO_LONG = 221; - HOP_SRC_MULTIADDR_INVALID = 250; - HOP_DST_MULTIADDR_INVALID = 251; - HOP_NO_CONN_TO_DST = 260; - HOP_CANT_DIAL_DST = 261; - HOP_CANT_OPEN_DST_STREAM = 262; - HOP_CANT_SPEAK_RELAY = 270; - HOP_CANT_RELAY_TO_SELF = 280; - STOP_SRC_ADDR_TOO_LONG = 320; - STOP_DST_ADDR_TOO_LONG = 321; - STOP_SRC_MULTIADDR_INVALID = 350; - STOP_DST_MULTIADDR_INVALID = 351; - STOP_RELAY_REFUSED = 390; - MALFORMED_MESSAGE = 400; - } - - enum Type { // RPC identifier, either HOP, STOP or STATUS - HOP = 1; - STOP = 2; - STATUS = 3; - CAN_HOP = 4; - } - - message Peer { - required bytes id = 1; // peer id - repeated bytes addrs = 2; // peer's known addresses - } - - optional Type type = 1; // Type of the message - - optional Peer srcPeer = 2; // srcPeer and dstPeer are used when Type is HOP or STATUS - optional Peer dstPeer = 3; - - optional Status code = 4; // Status code, used when Type is STATUS -} diff --git a/src/circuit/v1/stop.ts b/src/circuit/v1/stop.ts index b839be78bf..278b554abb 100644 --- a/src/circuit/v1/stop.ts +++ b/src/circuit/v1/stop.ts @@ -8,7 +8,7 @@ import type { Duplex } from 'it-stream-types' import type { AbortOptions } from '@libp2p/interfaces' import type { Uint8ArrayList } from 'uint8arraylist' -const log = logger('libp2p:circuit:stop') +const log = logger('libp2p:circuit:v1:stop') export interface HandleStopOptions { connection: Connection diff --git a/src/circuit/v1/stream-handler.ts b/src/circuit/v1/stream-handler.ts index cc76a0aed3..f8c2d3e6cf 100644 --- a/src/circuit/v1/stream-handler.ts +++ b/src/circuit/v1/stream-handler.ts @@ -6,7 +6,7 @@ import type { Stream } from '@libp2p/interface-connection' import type { Source } from 'it-stream-types' import type { Uint8ArrayList } from 'uint8arraylist' -const log = logger('libp2p:circuitv1:stream-handler') +const log = logger('libp2p:circuit:v1:stream-handler') export interface StreamHandlerOptions { /** diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index eab5f73f05..4bf2a8df9d 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -15,7 +15,7 @@ import { stop } from './stop.js' import { ReservationVoucherRecord } from './reservation-voucher.js' import { peerIdFromBytes } from '@libp2p/peer-id' -const log = logger('libp2p:circuitv2:hop') +const log = logger('libp2p:circuit:v2:hop') export interface HopProtocolOptions { connection: Connection @@ -117,7 +117,7 @@ async function handleConnect (options: HopConnectOptions) { // Validate the HOP connect request has the required input try { validateHopConnectRequest(request, streamHandler) - } catch (/** @type {any} */ err) { + } catch (err: any) { log.error('invalid hop connect request via peer %s', connection.remotePeer, err) writeErrorResponse(streamHandler, Status.MALFORMED_MESSAGE) return @@ -161,7 +161,7 @@ async function handleConnect (options: HopConnectOptions) { } }) - if (destinationStream === undefined || destinationStream === null) { + if (!destinationStream) { log.error('failed to open stream to destination peer %s', destinationConnection?.remotePeer) writeErrorResponse(streamHandler, Status.CONNECTION_FAILED) return diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index ee53bf2844..46cc89b45c 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -7,7 +7,7 @@ import { StreamHandlerV2 } from './stream-handler.js' import { RELAY_V2_STOP_CODEC } from '../multicodec.js' import { validateStopConnectRequest } from './validation.js' -const log = logger('libp2p:circuitv2:stop') +const log = logger('libp2p:circuit:v2:stop') export interface HandleStopOptions { connection: Connection diff --git a/src/circuit/v2/stream-handler.ts b/src/circuit/v2/stream-handler.ts index efd7997192..c97dfac479 100644 --- a/src/circuit/v2/stream-handler.ts +++ b/src/circuit/v2/stream-handler.ts @@ -4,7 +4,7 @@ import { Handshake, handshake } from 'it-handshake' import type { Stream } from '@libp2p/interface-connection' import type { Source } from 'it-stream-types' -const log = logger('libp2p:circuitv2:stream-handler') +const log = logger('libp2p:circuit:v2:stream-handler') export interface StreamHandlerOptions { /** diff --git a/src/circuit/v2/validation.ts b/src/circuit/v2/validation.ts index b7d868aa11..fbf7ffb9b0 100644 --- a/src/circuit/v2/validation.ts +++ b/src/circuit/v2/validation.ts @@ -15,7 +15,7 @@ export function validateStopConnectRequest (request: StopMessage, streamHandler: } else { throw new Error('Missing peer info in stop request') } - } catch (/** @type {any} */ err) { + } catch (err: any) { writeStopMessageResponse(streamHandler, Status.MALFORMED_MESSAGE) throw err } @@ -33,7 +33,7 @@ export function validateHopConnectRequest (request: HopMessage, streamHandler: S } else { throw new Error('Missing peer info in hop connect request') } - } catch (/** @type {any} */ err) { + } catch (err: any) { writeHopMessageResponse(streamHandler, Status.MALFORMED_MESSAGE) throw err } From f02275d992230fc36618f972bbb7a9f3bde5f4af Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 15:44:52 +0530 Subject: [PATCH 06/58] address review comments --- package.json | 3 ++- src/circuit/client.ts | 7 ++++--- src/circuit/v2/stop.ts | 12 +++++++----- test/relay/auto-relay.node.ts | 2 ++ tsconfig.json | 7 ------- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index dba9df05bc..4c6b1284de 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,8 @@ "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", - "test:interop": "aegir test -t node -f dist/test/interop.js" + "test:interop": "aegir test -t node -f dist/test/interop.js", + "test:relay": "aegir test -t node -f \"./dist/test/**/auto-relay.{node,spec}.js\" --cov" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/src/circuit/client.ts b/src/circuit/client.ts index e72ed37aee..3417704c26 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -236,8 +236,10 @@ export class CircuitService extends EventEmitter implement const knownHopsToDial: PeerId[] = [] const peers = (await this.components.peerStore.all()) // filter by a list of peers supporting RELAY_V2_HOP and ones we are not listening on - .filter(({ id, protocols }) => - protocols.includes(RELAY_V2_HOP_CODEC) && !this.relays.has(id.toString()) && peersToIgnore.includes(id.toString())) + .filter(({ id, protocols }) => { + const idString = id.toString() + return protocols.includes(RELAY_V2_HOP_CODEC) && !this.relays.has(idString) && !peersToIgnore.includes(idString) + }) .map(({ id }) => { const connections = this.components.connectionManager.getConnections(id) if (connections.length === 0) { @@ -246,7 +248,6 @@ export class CircuitService extends EventEmitter implement } return [id, connections[0]] }) - .filter(([id, conn]) => { conn }) .sort(() => Math.random() - 0.5) // Check if we have known hop peers to use and attempt to listen on the already connected diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index 46cc89b45c..cebdac0b30 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -6,6 +6,8 @@ import { logger } from '@libp2p/logger' import { StreamHandlerV2 } from './stream-handler.js' import { RELAY_V2_STOP_CODEC } from '../multicodec.js' import { validateStopConnectRequest } from './validation.js' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Duplex } from 'it-stream-types' const log = logger('libp2p:circuit:v2:stop') @@ -24,7 +26,7 @@ export async function handleStop ({ // Validate the STOP request has the required input try { validateStopConnectRequest(request, streamHandler) - } catch (/** @type {any} */ err) { + } catch (err) { return log.error('invalid stop connect request via peer %s', connection.remotePeer, err) } log('stop request is valid') @@ -54,7 +56,7 @@ export interface StopOptions { export async function stop ({ connection, request -}: StopOptions) { +}: StopOptions): Promise | undefined> { const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) log('starting circuit relay v2 stop request to %s', connection.remotePeer) const streamHandler = new StreamHandlerV2({ stream }) @@ -62,13 +64,13 @@ export async function stop ({ let response try { response = StopMessage.decode(await streamHandler.read()) - } catch (/** @type {any} */ err) { + } catch (err) { log.error('error parsing stop message response from %s', connection.remotePeer) } if (response == null) { streamHandler.close() - return undefined + return } if (response.status === Status.OK) { log('stop request to %s was successful', connection.remotePeer) @@ -77,5 +79,5 @@ export async function stop ({ log('stop request failed with code %d', response.status) streamHandler.close() - return undefined + return } diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index 094f26df15..4a884be607 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -202,6 +202,7 @@ describe('auto-relay', () => { // Disconnect from peer used for relay const disconnectPromise = pEvent(relayLibp2p1.connectionManager, 'peer:disconnect', { timeout: 500 }) await relayLibp2p2.stop() + console.log('disconnected') const event = await disconnectPromise expect(event.detail.remotePeer.toString()).to.equal(relayLibp2p2.peerId.toString()) @@ -210,6 +211,7 @@ describe('auto-relay', () => { timeout: 1000 })).to.eventually.be.rejected() + console.log('abc') // Wait for other peer connected to be added as listen addr await usingAsRelay(relayLibp2p1, relayLibp2p3) }) diff --git a/tsconfig.json b/tsconfig.json index 51aab45139..21473ad0ec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,11 +7,4 @@ "src", "test" ], - "exclude": [ - "src/circuit/v1/pb/index.js", - "src/circuit/v2/pb/index.js", - "src/fetch/pb/proto.js", - "src/identify/pb/message.js", - "src/insecure/pb/proto.js" - ] } From 7c6df6d630eed8a92f342f8d47b8b922f62bd9b5 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 16:30:37 +0530 Subject: [PATCH 07/58] fix --- test/relay/auto-relay.node.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index 4a884be607..094f26df15 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -202,7 +202,6 @@ describe('auto-relay', () => { // Disconnect from peer used for relay const disconnectPromise = pEvent(relayLibp2p1.connectionManager, 'peer:disconnect', { timeout: 500 }) await relayLibp2p2.stop() - console.log('disconnected') const event = await disconnectPromise expect(event.detail.remotePeer.toString()).to.equal(relayLibp2p2.peerId.toString()) @@ -211,7 +210,6 @@ describe('auto-relay', () => { timeout: 1000 })).to.eventually.be.rejected() - console.log('abc') // Wait for other peer connected to be added as listen addr await usingAsRelay(relayLibp2p1, relayLibp2p3) }) From b9d5168b7b777d614677f9846f4917e455165778 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 19:50:27 +0530 Subject: [PATCH 08/58] more fixes --- package.json | 6 +-- src/circuit/client.ts | 27 +++++------- src/circuit/transport.ts | 2 +- src/circuit/v2/hop.ts | 53 +++++++++++++--------- src/circuit/v2/reservation-store.ts | 39 +++++++++++++++-- src/circuit/v2/stop.ts | 29 +++++++++--- src/circuit/v2/validation.ts | 68 ----------------------------- test/circuit/v2/hop.spec.ts | 28 ++++++------ 8 files changed, 121 insertions(+), 131 deletions(-) delete mode 100644 src/circuit/v2/validation.ts diff --git a/package.json b/package.json index 4c6b1284de..8ec0c35613 100644 --- a/package.json +++ b/package.json @@ -80,8 +80,8 @@ "build": "aegir build", "docs": "aegir docs", "generate": "run-s generate:proto:*", - "generate:proto:circuitv1": "protons ./src/circuit/v1/pb/index.proto", - "generate:proto:circuitv2": "protons ./src/circuit/v2/pb/index.proto", + "generate:proto:circuit:v1": "protons ./src/circuit/v1/pb/index.proto", + "generate:proto:circuit:v2": "protons ./src/circuit/v2/pb/index.proto", "generate:proto:fetch": "protons ./src/fetch/pb/proto.proto", "generate:proto:identify": "protons ./src/identify/pb/message.proto", "generate:proto:plaintext": "protons ./src/insecure/pb/proto.proto", @@ -93,7 +93,7 @@ "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/auto-relay.{node,spec}.js\" --cov" + "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,relay,auto-relay}.{node,spec}.js\"" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 3417704c26..9c2a3492e8 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -40,7 +40,7 @@ export class CircuitService extends EventEmitter implement private readonly onError: (error: Error, msg?: string) => void private started: boolean - constructor(components: Components, init: CircuitServiceInit) { + constructor (components: Components, init: CircuitServiceInit) { super() this.started = false this.components = components @@ -62,19 +62,18 @@ export class CircuitService extends EventEmitter implement this.components.connectionManager.addEventListener('peer:disconnect', (evt) => { this._onPeerDisconnected(evt) }) - } - isStarted() { + isStarted () { return this.started } - start() { + start () { void this._listenOnAvailableHopRelays().catch(err => { log.error('error listening on relays', err) }) this.started = true } - async stop() { + async stop () { for (const timer of this.reservationMap.values()) { clearTimeout(timer) } @@ -88,7 +87,7 @@ export class CircuitService extends EventEmitter implement * If the protocol is supported, check if the peer supports **HOP** and add it as a listener if * inside the threshold. */ - async _onProtocolChange({ peerId, protocols }: { peerId: PeerId, protocols: string[] }) { + async _onProtocolChange ({ peerId, protocols }: { peerId: PeerId, protocols: string[] }) { const id = peerId.toString() if (peerId.equals(this.components.peerId)) { @@ -97,10 +96,10 @@ export class CircuitService extends EventEmitter implement // Check if it has the protocol const hasProtocol = protocols.includes(RELAY_V2_HOP_CODEC) - log.trace(`Peer %p protocol change %p`, peerId, this.components.peerId) + log.trace('Peer %p protocol change %p', peerId, this.components.peerId) // If no protocol, check if we were keeping the peer before as a listenRelay - if (hasProtocol) { + if (!hasProtocol) { if (this.relays.has(id)) { await this._removeListenRelay(id) } @@ -138,7 +137,7 @@ export class CircuitService extends EventEmitter implement /** * Peer disconnects */ - _onPeerDisconnected(evt: CustomEvent) { + _onPeerDisconnected (evt: CustomEvent) { const connection = evt.detail const peerId = connection.remotePeer const id = peerId.toString() @@ -158,7 +157,7 @@ export class CircuitService extends EventEmitter implement /** * Attempt to listen on the given relay connection */ - async _addListenRelay(connection: Connection, peerId: PeerId): Promise { + async _addListenRelay (connection: Connection, peerId: PeerId): Promise { const id = peerId.toString() log.trace(`Peer ${peerId.toString()} is being added as relay`) try { @@ -212,7 +211,7 @@ export class CircuitService extends EventEmitter implement /** * Remove listen relay */ - async _removeListenRelay(id: string) { + async _removeListenRelay (id: string) { if (this.relays.delete(id)) { /* eslint-disable-next-line no-warning-comments */ // TODO: this should be responsibility of the connMgr @@ -227,7 +226,7 @@ export class CircuitService extends EventEmitter implement * 2. Dial and try to listen on the peers we know that support hop but are not connected. * 3. Search the network. */ - async _listenOnAvailableHopRelays(peersToIgnore: string[] = []) { + async _listenOnAvailableHopRelays (peersToIgnore: string[] = []) { // Check if already listening on enough relays if (this.relays.size >= this.maxReservations) { return @@ -252,7 +251,6 @@ export class CircuitService extends EventEmitter implement // Check if we have known hop peers to use and attempt to listen on the already connected for (const [id, conn] of peers) { - await this._addListenRelay(conn as Connection, id as PeerId) // Check if already listening on enough relays @@ -269,7 +267,6 @@ export class CircuitService extends EventEmitter implement } await this._tryToListenOnRelay(peerId) - } // Try to find relays to hop on the network @@ -303,7 +300,7 @@ export class CircuitService extends EventEmitter implement } } - async _tryToListenOnRelay(peerId: PeerId) { + async _tryToListenOnRelay (peerId: PeerId) { try { if (peerId.equals(this.components.peerId)) { log.trace('Skipping dialling self', peerId.toString()) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 8cbd18e7d6..cf48288183 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -196,7 +196,7 @@ export class Circuit implements Transport, Startable { await CircuitV2Handler.handleHopProtocol({ connection, streamHandler, - circuit: this, + connectionManager: this.components.connectionManager, relayPeer: this.components.peerId, relayAddrs: this.components.addressManager.getListenAddrs(), reservationStore: this.reservationStore, diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 4bf2a8df9d..655a048fbd 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -5,15 +5,14 @@ import { pipe } from 'it-pipe' import type { Connection } from '@libp2p/interface-connection' import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' import { StreamHandlerV2 } from './stream-handler.js' -import type { Circuit } from '../transport.js' import type { Multiaddr } from '@multiformats/multiaddr' import { multiaddr } from '@multiformats/multiaddr' import type { Acl, ReservationStore } from './interfaces.js' import { RELAY_V2_HOP_CODEC } from '../multicodec.js' -import { validateHopConnectRequest } from './validation.js' import { stop } from './stop.js' import { ReservationVoucherRecord } from './reservation-voucher.js' import { peerIdFromBytes } from '@libp2p/peer-id' +import type { ConnectionManager } from '@libp2p/interface-connection-manager' const log = logger('libp2p:circuit:v2:hop') @@ -21,12 +20,12 @@ export interface HopProtocolOptions { connection: Connection request: HopMessage streamHandler: StreamHandlerV2 - circuit: Circuit relayPeer: PeerId relayAddrs: Multiaddr[] limit?: Limit acl?: Acl reservationStore: ReservationStore + connectionManager: ConnectionManager } export async function handleHopProtocol (options: HopProtocolOptions) { @@ -58,7 +57,7 @@ export async function reserve (connection: Connection) { throw e } - if (response.status === Status.OK && response.reservation !== null) { + if (response.status === Status.OK && (response.reservation != null)) { return response.reservation } const errMsg = `reservation failed with status ${response.status ?? 'undefined'}` @@ -106,25 +105,39 @@ async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs // TODO: how to ensure connection manager doesn't close reserved relay conn } -type HopConnectOptions = Pick< -HopProtocolOptions, -'connection' | 'streamHandler' | 'request' | 'reservationStore' | 'circuit' | 'acl' -> +const validateHopConnect = (request: HopMessage): Status => { + if (request.peer == null) { + log.error('no peer info in hop connect request') + return Status.MALFORMED_MESSAGE + } + try { + request.peer.addrs.forEach(multiaddr) + } catch (_err) { + return Status.MALFORMED_MESSAGE + } + return Status.OK +} -async function handleConnect (options: HopConnectOptions) { - const { connection, streamHandler, request, reservationStore, circuit, acl } = options +async function handleConnect (options: HopProtocolOptions) { + const { connection, streamHandler, request, reservationStore, connectionManager, acl } = options log('hop connect request from %s', connection.remotePeer) // Validate the HOP connect request has the required input - try { - validateHopConnectRequest(request, streamHandler) - } catch (err: any) { - log.error('invalid hop connect request via peer %s', connection.remotePeer, err) - writeErrorResponse(streamHandler, Status.MALFORMED_MESSAGE) + const status = validateHopConnect(request) + if (status !== Status.OK) { + log.error('invalid hop connect request via peer %s', connection.remotePeer) + writeErrorResponse(streamHandler, status) return } /* eslint-disable @typescript-eslint/no-non-null-assertion */ - const dstPeer = peerIdFromBytes(request.peer!.id) + let dstPeer: PeerId + try { + dstPeer = peerIdFromBytes(request.peer!.id) + } catch (err) { + log.error('invalid hop connect request via peer %s', connection.remotePeer) + writeErrorResponse(streamHandler, status) + return + } if (acl?.allowConnect !== undefined) { const status = await acl.allowConnect(connection.remotePeer, connection.remoteAddr, dstPeer) @@ -141,13 +154,13 @@ async function handleConnect (options: HopConnectOptions) { return } - const destinationConnection = circuit.getPeerConnection(dstPeer) - if (destinationConnection === undefined || destinationConnection === null) { + const connections = connectionManager.getConnections(dstPeer) + if (connections.length === 0) { log('hop connect denied for %s as there is no destination connection', connection.remotePeer) writeErrorResponse(streamHandler, Status.NO_RESERVATION) return } - + const destinationConnection = connections[0] log('hop connect request from %s to %s is valid', connection.remotePeer, dstPeer) const destinationStream = await stop({ @@ -161,7 +174,7 @@ async function handleConnect (options: HopConnectOptions) { } }) - if (!destinationStream) { + if (destinationStream == null) { log.error('failed to open stream to destination peer %s', destinationConnection?.remotePeer) writeErrorResponse(streamHandler, Status.CONNECTION_FAILED) return diff --git a/src/circuit/v2/reservation-store.ts b/src/circuit/v2/reservation-store.ts index 13bedd6f11..2e2f63e208 100644 --- a/src/circuit/v2/reservation-store.ts +++ b/src/circuit/v2/reservation-store.ts @@ -2,19 +2,52 @@ import { Status } from './pb/index.js' import type { ReservationStore as IReservationStore, ReservationStatus } from './interfaces.js' import type { Multiaddr } from '@multiformats/multiaddr' import type { PeerId } from '@libp2p/interface-peer-id' +import type { Startable } from '@libp2p/interfaces/startable' interface Reservation { addr: Multiaddr expire: Date } -export class ReservationStore implements IReservationStore { +export class ReservationStore implements IReservationStore, Startable { private readonly reservations = new Map() + private _started = false; + private interval: any - constructor (private readonly limit = 15) { + /** + * @param limit - maximum number of reservations to store + * @param reservationClearInterval - interval to check for expired reservations in millisecons + */ + constructor (private readonly limit = 15, private readonly reservationClearInterval = 300 * 1000) { } - async reserve (peer: PeerId, addr: Multiaddr): Promise<{status: ReservationStatus, expire?: number}> { + isStarted () { + return this._started + } + + start () { + if (this._started) { + return + } + this._started = true + this.interval = setInterval( + () => { + const now = (new Date()).getTime() + this.reservations.forEach((r, k) => { + if (r.expire.getTime() < now) { + this.reservations.delete(k) + } + }) + }, + this.reservationClearInterval + ) + } + + stop () { + clearInterval(this.interval) + } + + async reserve (peer: PeerId, addr: Multiaddr): Promise<{ status: ReservationStatus, expire?: number }> { if (this.reservations.size >= this.limit && !this.reservations.has(peer.toString())) { return { status: Status.RESERVATION_REFUSED, expire: undefined } } diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index cebdac0b30..15aaa3b250 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -5,9 +5,9 @@ import type { Connection } from '@libp2p/interface-connection' import { logger } from '@libp2p/logger' import { StreamHandlerV2 } from './stream-handler.js' import { RELAY_V2_STOP_CODEC } from '../multicodec.js' -import { validateStopConnectRequest } from './validation.js' import type { Uint8ArrayList } from 'uint8arraylist' import type { Duplex } from 'it-stream-types' +import { multiaddr } from '@multiformats/multiaddr' const log = logger('libp2p:circuit:v2:stop') @@ -17,6 +17,17 @@ export interface HandleStopOptions { streamHandler: StreamHandlerV2 } +const isValidStop = (request: StopMessage): boolean => { + if (request.peer == null) { + return false + } + try { + request.peer.addrs.forEach(multiaddr) + } catch (_err) { + return false + } + return true +} export async function handleStop ({ connection, request, @@ -24,12 +35,16 @@ export async function handleStop ({ }: HandleStopOptions) { log('new circuit relay v2 stop stream from %s', connection.remotePeer) // Validate the STOP request has the required input - try { - validateStopConnectRequest(request, streamHandler) - } catch (err) { - return log.error('invalid stop connect request via peer %s', connection.remotePeer, err) + if (request.type !== StopMessage.Type.CONNECT) { + log.error('invalid stop connect request via peer %s', connection.remotePeer) + streamHandler.write(StopMessage.encode({ type: StopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE })) + return + } + if (!isValidStop(request)) { + log.error('invalid stop connect request via peer %s', connection.remotePeer) + streamHandler.write(StopMessage.encode({ type: StopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE })) + return } - log('stop request is valid') /* eslint-disable-next-line no-warning-comments */ // TODO: go-libp2p marks connection transient if there is limit field present in request. @@ -69,6 +84,7 @@ export async function stop ({ } if (response == null) { + log.error('could not read response from %s', connection.remotePeer) streamHandler.close() return } @@ -79,5 +95,4 @@ export async function stop ({ log('stop request failed with code %d', response.status) streamHandler.close() - return } diff --git a/src/circuit/v2/validation.ts b/src/circuit/v2/validation.ts deleted file mode 100644 index fbf7ffb9b0..0000000000 --- a/src/circuit/v2/validation.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { multiaddr } from '@multiformats/multiaddr' -import { Status, StopMessage, HopMessage } from './pb/index.js' -import type { StreamHandlerV2 } from './stream-handler.js' - -export function validateStopConnectRequest (request: StopMessage, streamHandler: StreamHandlerV2) { - if (request.type !== StopMessage.Type.CONNECT) { - writeStopMessageResponse(streamHandler, Status.UNEXPECTED_MESSAGE) - throw new Error('Received unexpected stop status msg') - } - try { - if (request.peer?.addrs !== null && request.peer?.addrs !== undefined) { - request.peer.addrs.forEach((addr) => { - return multiaddr(addr) - }) - } else { - throw new Error('Missing peer info in stop request') - } - } catch (err: any) { - writeStopMessageResponse(streamHandler, Status.MALFORMED_MESSAGE) - throw err - } -} - -export function validateHopConnectRequest (request: HopMessage, streamHandler: StreamHandlerV2) { - /* eslint-disable-next-line no-warning-comments */ - // TODO: check if relay connection - - try { - if (request.peer?.addrs !== null && request.peer?.addrs !== undefined) { - request.peer.addrs.forEach((addr) => { - return multiaddr(addr) - }) - } else { - throw new Error('Missing peer info in hop connect request') - } - } catch (err: any) { - writeHopMessageResponse(streamHandler, Status.MALFORMED_MESSAGE) - throw err - } -} - -/** - * Write a response - * - */ -function writeStopMessageResponse (streamHandler: StreamHandlerV2, status: Status) { - streamHandler.write(StopMessage.encode( - { - type: StopMessage.Type.STATUS, - status: status - } - )) -} - -/** - * Write a response - * - * @param {StreamHandler} streamHandler - * @param {import('./pb').Status} status - */ -function writeHopMessageResponse (streamHandler: StreamHandlerV2, status: Status) { - streamHandler.write(HopMessage.encode( - { - type: HopMessage.Type.STATUS, - status: status - } - )) -} diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index fcc7d374cc..f9ba2c584c 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -9,7 +9,7 @@ import { handleHopProtocol } from '../../../src/circuit/v2/hop.js' import { HopMessage, Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' import { ReservationStore } from '../../../src/circuit/v2/reservation-store.js' import { StreamHandlerV2 } from '../../../src/circuit/v2/stream-handler.js' -import { DefaultComponents } from '../../../src/components.js' +import { Components, DefaultComponents } from '../../../src/components.js' import { DefaultConnectionManager } from '../../../src/connection-manager/index.js' import { DefaultRegistrar } from '../../../src/registrar.js' import { DefaultUpgrader } from '../../../src/upgrader.js' @@ -64,7 +64,7 @@ describe('Circuit v2 - hop protocol', function () { connection: conn, streamHandler, relayPeer, - circuit: sinon.stub() as any, + connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore }) @@ -87,7 +87,7 @@ describe('Circuit v2 - hop protocol', function () { connection: conn, streamHandler, relayPeer, - circuit: sinon.stub() as any, + connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore, acl: { allowReserve: async function () { return false }, allowConnect: sinon.stub() as any } @@ -109,7 +109,7 @@ describe('Circuit v2 - hop protocol', function () { connection: conn, streamHandler, relayPeer, - circuit: sinon.stub() as any, + connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore }) @@ -134,7 +134,7 @@ describe('Circuit v2 - hop protocol', function () { connection: conn, streamHandler, relayPeer, - circuit: sinon.stub() as any, + connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore }) @@ -146,7 +146,7 @@ describe('Circuit v2 - hop protocol', function () { describe('connect', function () { let relayPeer: PeerId, dstPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2, reservationStore: ReservationStore, - circuit: Circuit + circuit: Circuit, components: Components beforeEach(async () => { [, relayPeer, dstPeer] = await peerUtils.createPeerIds(3) @@ -154,7 +154,7 @@ describe('Circuit v2 - hop protocol', function () { streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) reservationStore = new ReservationStore() // components - const components = new DefaultComponents() + components = new DefaultComponents() components.connectionManager = new DefaultConnectionManager(components, { @@ -216,8 +216,8 @@ describe('Circuit v2 - hop protocol', function () { type: StopMessage.Type.STATUS, status: Status.OK })) - const stub = sinon.stub(circuit, 'getPeerConnection') - stub.returns(dstConn) + const stub = sinon.stub(components.connectionManager, 'getConnections') + stub.returns([dstConn]) await handleHopProtocol({ connection: conn, streamHandler, @@ -231,7 +231,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, - circuit + connectionManager: components.connectionManager }) const response = HopMessage.decode(await streamHandler.read()) expect(response.type).to.be.equal(HopMessage.Type.STATUS) @@ -296,7 +296,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, - circuit + connectionManager: components.connectionManager }) const response = HopMessage.decode(await streamHandler.read()) expect(response.type).to.be.equal(HopMessage.Type.STATUS) @@ -306,8 +306,8 @@ describe('Circuit v2 - hop protocol', function () { it('should fail to connect - no connection', async function () { const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') hasReservationStub.resolves(true) - const stub = sinon.stub(circuit, 'getPeerConnection') - stub.returns(undefined) + const stub = sinon.stub(components.connectionManager, 'getConnections') + stub.returns([]) await handleHopProtocol({ connection: conn, streamHandler, @@ -321,7 +321,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, - circuit + connectionManager: components.connectionManager }) const response = HopMessage.decode(await streamHandler.read()) expect(response.type).to.be.equal(HopMessage.Type.STATUS) From 12c4775904ea70c25e24553dcd61be75a2a12d34 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 20:05:43 +0530 Subject: [PATCH 09/58] start/stop reservation store --- src/circuit/transport.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index cf48288183..4135fd5fe8 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -80,7 +80,7 @@ export class Circuit implements Transport, Startable { } this._started = true - await this.components.registrar.handle(RELAY_V1_CODEC, (data) => { + void this.components.registrar.handle(RELAY_V1_CODEC, (data) => { void this._onProtocolV1(data).catch(err => { log.error(err) }) @@ -89,7 +89,7 @@ export class Circuit implements Transport, Startable { log.error(err) }) - await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { + void this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { void this._onV2ProtocolHop(data).catch(err => { log.error(err) }) @@ -97,7 +97,7 @@ export class Circuit implements Transport, Startable { .catch(err => { log.error(err) }) - await this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { + void this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { void this._onV2ProtocolStop(data).catch(err => { log.error(err) }) @@ -105,12 +105,14 @@ export class Circuit implements Transport, Startable { .catch(err => { log.error(err) }) + void this.reservationStore.start() } async stop () { - await this.components.registrar.unhandle(RELAY_V1_CODEC) - await this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) - await this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) + void this.components.registrar.unhandle(RELAY_V1_CODEC) + void this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) + void this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) + void this.reservationStore.stop() } hopEnabled () { From 09a48cfab2769abbe183ea5c55e8aaa70b8b610f Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 21:36:58 +0530 Subject: [PATCH 10/58] flakey test --- test/relay/relay.node.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 2ce7da81f1..505a692b4f 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -182,9 +182,7 @@ describe('Dialing (via relay, TCP)', () => { relayLibp2p = await createNode({ config: createRelayOptions({ relay: { - autoRelay: { - enabled: false - }, + enabled: true, hop: { // very short timeout timeout: 5 @@ -197,8 +195,11 @@ describe('Dialing (via relay, TCP)', () => { const dialAddr = relayAddr.encapsulate(`/p2p/${relayLibp2p.peerId.toString()}`) const connection = await srcLibp2p.dial(dialAddr) + // this should succeed as the timeout is only effective after + // multistream select negotiates the protocol const stream = await connection.newStream(RELAY_V2_HOP_CODEC) + // TODO(ckousik): does this need to be awaited? await stream.sink(async function * () { // delay for longer than the timeout await delay(1000) From 0ceaa6e0ae54161298984a5289e13f2fae8a44b0 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 22:22:13 +0530 Subject: [PATCH 11/58] await protocol handling --- package.json | 2 +- src/circuit/transport.ts | 16 ++++++++-------- test/relay/relay.node.ts | 2 ++ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 8ec0c35613..c21c47ea4c 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,relay,auto-relay}.{node,spec}.js\"" + "test:relay": "aegir test -t node -f \"./dist/test/**/relay.{node,spec}.js\"" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 4135fd5fe8..88f8a2ed14 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -80,7 +80,7 @@ export class Circuit implements Transport, Startable { } this._started = true - void this.components.registrar.handle(RELAY_V1_CODEC, (data) => { + await this.components.registrar.handle(RELAY_V1_CODEC, (data) => { void this._onProtocolV1(data).catch(err => { log.error(err) }) @@ -89,7 +89,7 @@ export class Circuit implements Transport, Startable { log.error(err) }) - void this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { + await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { void this._onV2ProtocolHop(data).catch(err => { log.error(err) }) @@ -97,7 +97,7 @@ export class Circuit implements Transport, Startable { .catch(err => { log.error(err) }) - void this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { + await this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { void this._onV2ProtocolStop(data).catch(err => { log.error(err) }) @@ -105,14 +105,14 @@ export class Circuit implements Transport, Startable { .catch(err => { log.error(err) }) - void this.reservationStore.start() + this.reservationStore.start() } async stop () { - void this.components.registrar.unhandle(RELAY_V1_CODEC) - void this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) - void this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) - void this.reservationStore.stop() + this.reservationStore.stop() + await this.components.registrar.unhandle(RELAY_V1_CODEC) + await this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) + await this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) } hopEnabled () { diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 505a692b4f..098761e3f0 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -177,6 +177,8 @@ describe('Dialing (via relay, TCP)', () => { expect(dstToRelayConn).to.have.nested.property('[0].stat.status', 'OPEN') }) + // TODO(ckousik): This test seems to fail on windows and macos on CI with a + // stream reset in mplex. it('should time out when establishing a relay connection', async () => { await relayLibp2p.stop() relayLibp2p = await createNode({ From 4b307ab9e0c4059741cfdb199a999117708d299d Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 22:25:47 +0530 Subject: [PATCH 12/58] fix linting --- test/relay/relay.node.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 098761e3f0..8e5853ecfc 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -177,7 +177,7 @@ describe('Dialing (via relay, TCP)', () => { expect(dstToRelayConn).to.have.nested.property('[0].stat.status', 'OPEN') }) - // TODO(ckousik): This test seems to fail on windows and macos on CI with a + // TODO(ckousik): This test seems to fail on windows and macos on CI with a // stream reset in mplex. it('should time out when establishing a relay connection', async () => { await relayLibp2p.stop() From fcc0f547d56c1197ab6aeb90e99d6a75ac9b1e2e Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 22:54:59 +0530 Subject: [PATCH 13/58] testing changes --- package.json | 3 ++- test/relay/relay.node.ts | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c21c47ea4c..a8cd3587ec 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,8 @@ "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/relay.{node,spec}.js\"" + "test:relay": "aegir test -t node -f \"./dist/test/**/relay.{node,spec}.js\"", + "lint:fix": "aegir lint --fix" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 8e5853ecfc..a6d0424f2b 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -177,6 +177,7 @@ describe('Dialing (via relay, TCP)', () => { expect(dstToRelayConn).to.have.nested.property('[0].stat.status', 'OPEN') }) + /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): This test seems to fail on windows and macos on CI with a // stream reset in mplex. it('should time out when establishing a relay connection', async () => { @@ -197,10 +198,13 @@ describe('Dialing (via relay, TCP)', () => { const dialAddr = relayAddr.encapsulate(`/p2p/${relayLibp2p.peerId.toString()}`) const connection = await srcLibp2p.dial(dialAddr) + /* eslint-disable-next-line no-console */ + console.log('>>>>>> connection established') // this should succeed as the timeout is only effective after // multistream select negotiates the protocol - const stream = await connection.newStream(RELAY_V2_HOP_CODEC) + const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) + /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): does this need to be awaited? await stream.sink(async function * () { // delay for longer than the timeout From b8499de8a146a99550f1011d0340ae1794208811 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 23:07:53 +0530 Subject: [PATCH 14/58] more console logs --- src/upgrader.ts | 12 ++++++++---- test/relay/relay.node.ts | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/upgrader.ts b/src/upgrader.ts index 8589a4e11f..bc78514dce 100644 --- a/src/upgrader.ts +++ b/src/upgrader.ts @@ -149,7 +149,7 @@ export class DefaultUpgrader extends EventEmitter implements Upg try { // fails on node < 15.4 setMaxListeners?.(Infinity, timeoutController.signal) - } catch {} + } catch { } try { const abortableStream = abortableDuplex(maConn, timeoutController.signal) @@ -386,6 +386,8 @@ export class DefaultUpgrader extends EventEmitter implements Upg const streamCount = countStreams(protocol, 'inbound', connection) if (streamCount === incomingLimit) { + /* eslint-disable-next-line no-console */ + console.log(`too many incoming streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${incomingLimit}`) muxedStream.abort(errCode(new Error(`Too many inbound protocol streams for protocol "${protocol}" - limit ${incomingLimit}`), codes.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS)) return @@ -439,7 +441,7 @@ export class DefaultUpgrader extends EventEmitter implements Upg try { // fails on node < 15.4 setMaxListeners?.(Infinity, controller.signal) - } catch {} + } catch { } } const { stream, protocol } = await mss.select(muxedStream, protocols, options) @@ -448,6 +450,8 @@ export class DefaultUpgrader extends EventEmitter implements Upg const streamCount = countStreams(protocol, 'outbound', connection) if (streamCount === outgoingLimit) { + /* eslint-disable-next-line no-console */ + console.log(`too many outgoing streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${outgoingLimit}`) const err = errCode(new Error(`Too many outbound protocol streams for protocol "${protocol}" - limit ${outgoingLimit}`), codes.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS) muxedStream.abort(err) @@ -626,7 +630,7 @@ export class DefaultUpgrader extends EventEmitter implements Upg * Selects one of the given muxers via multistream-select. That * muxer will be used for all future streams on the connection. */ - async _multiplexOutbound (connection: MultiaddrConnection, muxers: Map): Promise<{stream: Duplex, muxerFactory?: StreamMuxerFactory}> { + async _multiplexOutbound (connection: MultiaddrConnection, muxers: Map): Promise<{ stream: Duplex, muxerFactory?: StreamMuxerFactory }> { const protocols = Array.from(muxers.keys()) log('outbound selecting muxer %s', protocols) try { @@ -646,7 +650,7 @@ export class DefaultUpgrader extends EventEmitter implements Upg * Registers support for one of the given muxers via multistream-select. The * selected muxer will be used for all future streams on the connection. */ - async _multiplexInbound (connection: MultiaddrConnection, muxers: Map): Promise<{stream: Duplex, muxerFactory?: StreamMuxerFactory}> { + async _multiplexInbound (connection: MultiaddrConnection, muxers: Map): Promise<{ stream: Duplex, muxerFactory?: StreamMuxerFactory }> { const protocols = Array.from(muxers.keys()) log('inbound handling muxers %s', protocols) try { diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index a6d0424f2b..b7e0548835 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -203,6 +203,8 @@ describe('Dialing (via relay, TCP)', () => { // this should succeed as the timeout is only effective after // multistream select negotiates the protocol const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) + /* eslint-disable-next-line no-console */ + console.log('>>>>>> stream created') /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): does this need to be awaited? From 036569bc0241e8ed348bcc3489e9a6414e1cf8d8 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 23:33:55 +0530 Subject: [PATCH 15/58] more console logs --- src/upgrader.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/upgrader.ts b/src/upgrader.ts index bc78514dce..1c3bef35da 100644 --- a/src/upgrader.ts +++ b/src/upgrader.ts @@ -20,6 +20,7 @@ import { setMaxListeners } from 'events' import type { Metrics } from '@libp2p/interface-metrics' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { PeerStore } from '@libp2p/interface-peer-store' +import { RELAY_V2_HOP_CODEC } from './circuit/multicodec.js' const log = logger('libp2p:upgrader') @@ -386,8 +387,10 @@ export class DefaultUpgrader extends EventEmitter implements Upg const streamCount = countStreams(protocol, 'inbound', connection) if (streamCount === incomingLimit) { - /* eslint-disable-next-line no-console */ - console.log(`too many incoming streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${incomingLimit}`) + if (protocol === RELAY_V2_HOP_CODEC) { + /* eslint-disable-next-line no-console */ + console.log(`too many incoming streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${incomingLimit}`) + } muxedStream.abort(errCode(new Error(`Too many inbound protocol streams for protocol "${protocol}" - limit ${incomingLimit}`), codes.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS)) return @@ -450,8 +453,10 @@ export class DefaultUpgrader extends EventEmitter implements Upg const streamCount = countStreams(protocol, 'outbound', connection) if (streamCount === outgoingLimit) { - /* eslint-disable-next-line no-console */ - console.log(`too many outgoing streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${outgoingLimit}`) + if (protocol === RELAY_V2_HOP_CODEC) { + /* eslint-disable-next-line no-console */ + console.log(`too many outgoing streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${outgoingLimit}`) + } const err = errCode(new Error(`Too many outbound protocol streams for protocol "${protocol}" - limit ${outgoingLimit}`), codes.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS) muxedStream.abort(err) From 89fc0039160f18c2c4af4bee179d57420e03c8b2 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 23:48:23 +0530 Subject: [PATCH 16/58] debug --- test/relay/relay.node.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index b7e0548835..a6d0424f2b 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -203,8 +203,6 @@ describe('Dialing (via relay, TCP)', () => { // this should succeed as the timeout is only effective after // multistream select negotiates the protocol const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) - /* eslint-disable-next-line no-console */ - console.log('>>>>>> stream created') /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): does this need to be awaited? From 9eb58e5145d142c254e2e4c4d175883e29e2c3db Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 24 Jan 2023 23:59:36 +0530 Subject: [PATCH 17/58] remove sink --- src/upgrader.ts | 9 --------- test/relay/relay.node.ts | 12 ++++++------ 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/src/upgrader.ts b/src/upgrader.ts index 1c3bef35da..436e1f2d03 100644 --- a/src/upgrader.ts +++ b/src/upgrader.ts @@ -20,7 +20,6 @@ import { setMaxListeners } from 'events' import type { Metrics } from '@libp2p/interface-metrics' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { PeerStore } from '@libp2p/interface-peer-store' -import { RELAY_V2_HOP_CODEC } from './circuit/multicodec.js' const log = logger('libp2p:upgrader') @@ -387,10 +386,6 @@ export class DefaultUpgrader extends EventEmitter implements Upg const streamCount = countStreams(protocol, 'inbound', connection) if (streamCount === incomingLimit) { - if (protocol === RELAY_V2_HOP_CODEC) { - /* eslint-disable-next-line no-console */ - console.log(`too many incoming streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${incomingLimit}`) - } muxedStream.abort(errCode(new Error(`Too many inbound protocol streams for protocol "${protocol}" - limit ${incomingLimit}`), codes.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS)) return @@ -453,10 +448,6 @@ export class DefaultUpgrader extends EventEmitter implements Upg const streamCount = countStreams(protocol, 'outbound', connection) if (streamCount === outgoingLimit) { - if (protocol === RELAY_V2_HOP_CODEC) { - /* eslint-disable-next-line no-console */ - console.log(`too many outgoing streams: protocol ${protocol}, streamCount: ${streamCount}, limit: ${outgoingLimit}`) - } const err = errCode(new Error(`Too many outbound protocol streams for protocol "${protocol}" - limit ${outgoingLimit}`), codes.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS) muxedStream.abort(err) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index a6d0424f2b..8ecd944026 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -13,7 +13,7 @@ import type { Libp2pNode } from '../../src/libp2p.js' import { createNode } from '../utils/creators/peer.js' import { createNodeOptions, createRelayOptions } from './utils.js' import all from 'it-all' -import delay from 'delay' +// import delay from 'delay' /* eslint-env mocha */ @@ -206,11 +206,11 @@ describe('Dialing (via relay, TCP)', () => { /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): does this need to be awaited? - await stream.sink(async function * () { - // delay for longer than the timeout - await delay(1000) - yield Uint8Array.from([0]) - }()) + // await stream.sink(async function * () { + // // delay for longer than the timeout + // await delay(1000) + // yield Uint8Array.from([0]) + // }()) // because we timed out, the remote should have reset the stream await expect(all(stream.source)).to.eventually.be.rejected From 231eb1fb4b82229ace2ba99391829a58f19fcf07 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 25 Jan 2023 11:05:36 +0530 Subject: [PATCH 18/58] temporarily skip flaky test --- test/relay/relay.node.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 8ecd944026..fe8aef7c46 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -180,7 +180,7 @@ describe('Dialing (via relay, TCP)', () => { /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): This test seems to fail on windows and macos on CI with a // stream reset in mplex. - it('should time out when establishing a relay connection', async () => { + it.skip('should time out when establishing a relay connection', async () => { await relayLibp2p.stop() relayLibp2p = await createNode({ config: createRelayOptions({ @@ -198,8 +198,6 @@ describe('Dialing (via relay, TCP)', () => { const dialAddr = relayAddr.encapsulate(`/p2p/${relayLibp2p.peerId.toString()}`) const connection = await srcLibp2p.dial(dialAddr) - /* eslint-disable-next-line no-console */ - console.log('>>>>>> connection established') // this should succeed as the timeout is only effective after // multistream select negotiates the protocol const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) From 2dd3b4ad2ec732287222f6742bd187c88caa1752 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 25 Jan 2023 11:40:48 +0530 Subject: [PATCH 19/58] remove duplicated interfaces --- package.json | 2 +- src/circuit/index.ts | 115 ++++----------------------------------- src/circuit/transport.ts | 2 +- 3 files changed, 12 insertions(+), 107 deletions(-) diff --git a/package.json b/package.json index a8cd3587ec..dba1f11189 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/relay.{node,spec}.js\"", + "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\"", "lint:fix": "aegir lint --fix" }, "dependencies": { diff --git a/src/circuit/index.ts b/src/circuit/index.ts index 18cf74d79b..e777e4175d 100644 --- a/src/circuit/index.ts +++ b/src/circuit/index.ts @@ -1,43 +1,10 @@ -import { logger } from '@libp2p/logger' -import { codes } from '../errors.js' -import { - setDelayedInterval, - clearDelayedInterval -// @ts-expect-error set-delayed-interval does not export types -} from 'set-delayed-interval' -import { namespaceToCid } from './utils.js' -import { - RELAY_RENDEZVOUS_NS -} from './constants.js' -import type { AddressSorter, PeerStore } from '@libp2p/interface-peer-store' -import type { Startable } from '@libp2p/interfaces/startable' -import type { ContentRouting } from '@libp2p/interface-content-routing' -import type { ConnectionManager } from '@libp2p/interface-connection-manager' -import type { TransportManager } from '@libp2p/interface-transport' -import type { PeerId } from '@libp2p/interface-peer-id' -import type { StreamHandlerOptions } from '@libp2p/interface-registrar' - -export interface RelayConfig extends StreamHandlerOptions { +export interface RelayConfig { enabled: boolean advertise: RelayAdvertiseConfig hop: HopConfig autoRelay: AutoRelayConfig } -export interface HopConfig { - enabled?: boolean - active?: boolean - timeout: number -} - -const log = logger('libp2p:relay') - -export interface RelayAdvertiseConfig { - bootDelay?: number - enabled?: boolean - ttl?: number -} - export interface AutoRelayConfig { enabled?: boolean @@ -47,78 +14,16 @@ export interface AutoRelayConfig { maxListeners: number } -export interface RelayInit extends RelayConfig { - addressSorter?: AddressSorter +export interface HopConfig { + enabled?: boolean + active?: boolean + timeout: number } -export interface RelayComponents { - peerId: PeerId - contentRouting: ContentRouting - peerStore: PeerStore - connectionManager: ConnectionManager - transportManager: TransportManager +export interface RelayAdvertiseConfig { + bootDelay?: number + enabled?: boolean + ttl?: number } -export class Relay implements Startable { - private readonly components: RelayComponents - private readonly init: RelayInit - private timeout?: any - private started: boolean - - /** - * Creates an instance of Relay - */ - constructor (components: RelayComponents, init: RelayInit) { - this.components = components - this.started = false - this.init = init - this._advertiseService = this._advertiseService.bind(this) - } - - isStarted () { - return this.started - } - - /** - * Start Relay service - */ - async start () { - // Advertise service if HOP enabled - if (this.init.hop.enabled !== false && this.init.advertise.enabled !== false) { - this.timeout = setDelayedInterval( - this._advertiseService, this.init.advertise.ttl, this.init.advertise.bootDelay - ) - } - - this.started = true - } - - /** - * Stop Relay service - */ - async stop () { - if (this.timeout != null) { - clearDelayedInterval(this.timeout) - } - - this.started = false - } - - /** - * Advertise hop relay service in the network. - */ - async _advertiseService () { - try { - const cid = await namespaceToCid(RELAY_RENDEZVOUS_NS) - await this.components.contentRouting.provide(cid) - } catch (err: any) { - if (err.code === codes.ERR_NO_ROUTERS_AVAILABLE) { - log.error('a content router, such as a DHT, must be provided in order to advertise the relay service', err) - // Stop the advertise - await this.stop() - } else { - log.error(err) - } - } - } -} +export { Relay } from './relay.js' diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 88f8a2ed14..ec3a200af5 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -101,7 +101,7 @@ export class Circuit implements Transport, Startable { void this._onV2ProtocolStop(data).catch(err => { log.error(err) }) - }, { ...this._init }) + }) .catch(err => { log.error(err) }) From 3f547d724b306c024e587f3f2d61c6be866c921d Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 25 Jan 2023 13:34:02 +0530 Subject: [PATCH 20/58] remove unused fields --- src/circuit/client.ts | 22 +++++++++++++++++++--- src/circuit/constants.ts | 5 +++++ src/circuit/index.ts | 25 ++++++++++++++++++++----- src/circuit/relay.ts | 16 +++------------- src/circuit/transport.ts | 22 +++++++++++++--------- src/config.ts | 5 ++--- src/libp2p.ts | 4 ++-- test/circuit/v2/hop.spec.ts | 5 ++--- test/dialing/resolver.spec.ts | 4 ++-- test/relay/auto-relay.node.ts | 4 ++-- test/relay/relay.node.ts | 18 ++++++------------ test/relay/utils.ts | 4 ++-- 12 files changed, 78 insertions(+), 56 deletions(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 9c2a3492e8..44401b9473 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -3,6 +3,7 @@ import { RELAY_V2_HOP_CODEC } from './multicodec.js' import { getExpiration, namespaceToCid } from './utils.js' import { CIRCUIT_PROTO_CODE, + DEFAULT_MAX_RESERVATIONS, RELAY_RENDEZVOUS_NS } from './constants.js' import type { PeerId } from '@libp2p/interface-peer-id' @@ -16,14 +17,25 @@ import { reserve } from './v2/index.js' import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' +import type { CircuitServiceConfig } from './index.js' const log = logger('libp2p:circuit:client') const noop = () => { } -export interface CircuitServiceInit { +/** + * CircuitServiceInit initializes the circuit service using values + * from the provided config and an @type{AddressSorter}. + */ +export interface CircuitServiceInit extends CircuitServiceConfig { + /** + * Allows prioritizing addresses from the peerstore for dialing. The + * default behavior is to prioritise public addresses. + */ addressSorter?: AddressSorter - maxReservations?: number + /** + * A callback to invoke when an error occurs in the circuit service. + */ onError?: (error: Error, msg?: string) => void } @@ -31,6 +43,10 @@ export interface CircuitServiceEvents { 'relay:reservation': CustomEvent } +/** + * CircuitService automatically makes a circuit v2 reservation on any connected + * peers that support the circuit v2 HOP protocol. + */ export class CircuitService extends EventEmitter implements Startable { private readonly components: Components private readonly addressSorter: AddressSorter @@ -45,7 +61,7 @@ export class CircuitService extends EventEmitter implement this.started = false this.components = components this.addressSorter = init.addressSorter ?? publicAddressesFirst - this.maxReservations = init.maxReservations ?? 1 + this.maxReservations = init.maxReservations ?? DEFAULT_MAX_RESERVATIONS this.relays = new Set() this.reservationMap = new Map() this.onError = init.onError ?? noop diff --git a/src/circuit/constants.ts b/src/circuit/constants.ts index b8db3b3a99..d5f301ec87 100644 --- a/src/circuit/constants.ts +++ b/src/circuit/constants.ts @@ -19,3 +19,8 @@ export const CIRCUIT_PROTO_CODE = 290 * Relay HOP relay service namespace for discovery */ export const RELAY_RENDEZVOUS_NS = '/libp2p/relay' + +/** + * Maximum reservations for auto relay + */ +export const DEFAULT_MAX_RESERVATIONS = 1 diff --git a/src/circuit/index.ts b/src/circuit/index.ts index e777e4175d..c0a41fdb66 100644 --- a/src/circuit/index.ts +++ b/src/circuit/index.ts @@ -2,21 +2,36 @@ export interface RelayConfig { enabled: boolean advertise: RelayAdvertiseConfig hop: HopConfig - autoRelay: AutoRelayConfig + service: CircuitServiceConfig } -export interface AutoRelayConfig { +/** + * CircuitServiceConfig allows the node to automatically listen + * on any discovered relays upto a specified maximum. + */ +export interface CircuitServiceConfig { + /** + * enable or disable autorelay (default: false) + */ enabled?: boolean /** - * maximum number of relays to listen + * maximum number of relays to listen (default: 1) */ - maxListeners: number + maxReservations?: number } +/** + * Configures using the node as a HOP relay + */ export interface HopConfig { + /** + * + */ enabled?: boolean - active?: boolean + /** + * timeout for hop requests to complete + */ timeout: number } diff --git a/src/circuit/relay.ts b/src/circuit/relay.ts index 2a6e6ea595..a2c5cc1bf8 100644 --- a/src/circuit/relay.ts +++ b/src/circuit/relay.ts @@ -12,20 +12,10 @@ import { import type { AddressSorter } from '@libp2p/interface-peer-store' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' +import type { HopConfig, RelayAdvertiseConfig } from './index.js' const log = logger('libp2p:circuit:relay') -export interface RelayAdvertiseConfig { - bootDelay?: number - enabled?: boolean - ttl?: number -} - -export interface HopConfig { - enabled?: boolean - active?: boolean -} - export interface RelayInit { addressSorter?: AddressSorter maxListeners?: number @@ -58,8 +48,8 @@ export class Relay implements Startable { * Start Relay service */ async start () { - // Advertise service if HOP enabled - if (this.init.hop.enabled !== false && this.init.advertise.enabled !== false) { + // Advertise service if HOP enabled and advertising enabled + if (this.init.hop.enabled === true && this.init.advertise.enabled === true) { this.timeout = setDelayedInterval( this._advertiseService, this.init.advertise.ttl, this.init.advertise.bootDelay ) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index ec3a200af5..46c8589bf5 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -89,14 +89,17 @@ export class Circuit implements Transport, Startable { log.error(err) }) - await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { - void this._onV2ProtocolHop(data).catch(err => { - log.error(err) - }) - }) - .catch(err => { - log.error(err) + if (this._init.hop.enabled === true) { + await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { + void this._onV2ProtocolHop(data).catch(err => { + log.error(err) + }) }) + .catch(err => { + log.error(err) + }) + } + await this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { void this._onV2ProtocolStop(data).catch(err => { log.error(err) @@ -105,6 +108,7 @@ export class Circuit implements Transport, Startable { .catch(err => { log.error(err) }) + this.reservationStore.start() } @@ -116,11 +120,11 @@ export class Circuit implements Transport, Startable { } hopEnabled () { - return true + return this._init.hop.enabled ?? false } hopActive () { - return true + return this._init.hop.enabled ?? false } get [symbol] (): true { diff --git a/src/config.ts b/src/config.ts index e856061c99..7bc14f8f1e 100644 --- a/src/config.ts +++ b/src/config.ts @@ -58,12 +58,11 @@ const DefaultConfig: Partial = { }, hop: { enabled: false, - active: false, timeout: 30000 }, - autoRelay: { + service: { enabled: false, - maxListeners: 2 + maxReservations: 2 } }, identify: { diff --git a/src/libp2p.ts b/src/libp2p.ts index 168f823cbd..fa9bebf37d 100644 --- a/src/libp2p.ts +++ b/src/libp2p.ts @@ -181,10 +181,10 @@ export class Libp2pNode extends EventEmitter implements Libp2p { }) this.configureComponent(this.identifyService) - if (init.relay.autoRelay.enabled === true) { + if (init.relay.service.enabled === true) { this.circuitService = new CircuitService(this.components, { addressSorter: init.connectionManager.addressSorter, - ...init.relay.autoRelay + ...init.relay.service }) this.services.push(this.circuitService) } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index f9ba2c584c..df0059d6f7 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -187,12 +187,11 @@ describe('Circuit v2 - hop protocol', function () { }, hop: { enabled: true, - active: false, timeout: 30000 }, - autoRelay: { + service: { enabled: false, - maxListeners: 2 + maxReservations: 2 } }) }) diff --git a/test/dialing/resolver.spec.ts b/test/dialing/resolver.spec.ts index 52cb04944c..ce8d14a43a 100644 --- a/test/dialing/resolver.spec.ts +++ b/test/dialing/resolver.spec.ts @@ -56,7 +56,7 @@ describe('Dialing (resolvable addresses)', () => { }, relay: { enabled: true, - autoRelay: { + service: { enabled: true }, hop: { @@ -79,7 +79,7 @@ describe('Dialing (resolvable addresses)', () => { }, relay: { enabled: true, - autoRelay: { + service: { enabled: true }, hop: { diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index 094f26df15..e6bcda5606 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -364,9 +364,9 @@ describe('auto-relay', () => { ttl: 1000, enabled: true }, - autoRelay: { + service: { enabled: true, - maxListeners: 1 + maxReservations: 1 } }, contentRouters: [ diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index fe8aef7c46..fd86b72eeb 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -5,9 +5,6 @@ import { pEvent } from 'p-event' import * as sinon from 'sinon' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' import { RELAY_V2_HOP_CODEC } from '../../src/circuit/multicodec.js' -import { CircuitRelay } from '../../src/circuit/v1/pb/index.js' -import { HopMessage } from '../../src/circuit/v2/pb/index.js' -import { StreamHandlerV2 } from '../../src/circuit/v2/stream-handler.js' import { codes as Errors } from '../../src/errors.js' import type { Libp2pNode } from '../../src/libp2p.js' import { createNode } from '../utils/creators/peer.js' @@ -28,7 +25,7 @@ describe('Dialing (via relay, TCP)', () => { createNode({ config: createNodeOptions({ relay: { - autoRelay: { + service: { enabled: false } } @@ -37,7 +34,7 @@ describe('Dialing (via relay, TCP)', () => { createNode({ config: createRelayOptions({ relay: { - autoRelay: { + service: { enabled: false } } @@ -46,7 +43,7 @@ describe('Dialing (via relay, TCP)', () => { createNode({ config: createNodeOptions({ relay: { - autoRelay: { + service: { enabled: true } } @@ -162,14 +159,11 @@ describe('Dialing (via relay, TCP)', () => { // send an invalid relay message from the relay to the destination peer const connections = relayLibp2p.getConnections(dstLibp2p.peerId) - const stream = await connections[0].newStream(RELAY_V2_HOP_CODEC) - const streamHandler = new StreamHandlerV2({ stream }) + // this should fail as the destination peer has HOP disabled + await expect(connections[0].newStream(RELAY_V2_HOP_CODEC)) + .to.be.rejected() // empty messages are encoded as { type: RESERVE } for the hop codec, // so we make the message invalid by adding a zeroed byte - streamHandler.write(new Uint8Array([0])) - const res = HopMessage.decode(await streamHandler.read()) - expect(res?.status).to.equal(CircuitRelay.Status.MALFORMED_MESSAGE) - streamHandler.close() // should still be connected const dstToRelayConn = dstLibp2p.components.connectionManager.getConnections(relayLibp2p.peerId) diff --git a/test/relay/utils.ts b/test/relay/utils.ts index 3e78f26c06..2a1b7efa90 100644 --- a/test/relay/utils.ts +++ b/test/relay/utils.ts @@ -15,9 +15,9 @@ export function createNodeOptions (...overrides: Libp2pOptions[]): Libp2pOptions hop: { enabled: false }, - autoRelay: { + service: { enabled: true, - maxListeners: 1 + maxReservations: 1 } } }, ...overrides) From 9a35bab26b0456c260f354c9a3ec9e2b67f442cf Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 25 Jan 2023 14:29:03 +0530 Subject: [PATCH 21/58] fix tests expecting hop to be enabled --- src/circuit/relay.ts | 6 +++--- src/circuit/transport.ts | 10 +++++++--- test/configuration/protocol-prefix.node.ts | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/circuit/relay.ts b/src/circuit/relay.ts index a2c5cc1bf8..33f6ab0246 100644 --- a/src/circuit/relay.ts +++ b/src/circuit/relay.ts @@ -3,7 +3,7 @@ import { codes } from '../errors.js' import { setDelayedInterval, clearDelayedInterval -// @ts-expect-error set-delayed-interval does not export types + // @ts-expect-error set-delayed-interval does not export types } from 'set-delayed-interval' import { namespaceToCid } from './utils.js' import { @@ -62,9 +62,9 @@ export class Relay implements Startable { * Stop Relay service */ async stop () { - if (this.timeout != null) { + try { clearDelayedInterval(this.timeout) - } + } catch (err) { } this.started = false } diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 46c8589bf5..f4480005cf 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -109,13 +109,17 @@ export class Circuit implements Transport, Startable { log.error(err) }) - this.reservationStore.start() + if (this._init.hop.enabled === true) { + this.reservationStore.start() + } } async stop () { - this.reservationStore.stop() + if (this._init.hop.enabled === true) { + this.reservationStore.stop() + await this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) + } await this.components.registrar.unhandle(RELAY_V1_CODEC) - await this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) await this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) } diff --git a/test/configuration/protocol-prefix.node.ts b/test/configuration/protocol-prefix.node.ts index a8e72df081..6418dd093f 100644 --- a/test/configuration/protocol-prefix.node.ts +++ b/test/configuration/protocol-prefix.node.ts @@ -33,7 +33,7 @@ describe('Protocol prefix is configurable', () => { const protocols = await libp2p.peerStore.protoBook.get(libp2p.peerId) expect(protocols).to.include.members([ `/${testProtocol}/fetch/0.0.1`, - '/libp2p/circuit/relay/0.2.0/hop', + '/libp2p/circuit/relay/0.2.0/stop', `/${testProtocol}/id/1.0.0`, `/${testProtocol}/id/push/1.0.0`, `/${testProtocol}/ping/1.0.0` @@ -46,7 +46,7 @@ describe('Protocol prefix is configurable', () => { const protocols = await libp2p.peerStore.protoBook.get(libp2p.peerId) expect(protocols).to.include.members([ - '/libp2p/circuit/relay/0.2.0/hop', + '/libp2p/circuit/relay/0.2.0/stop', '/ipfs/id/1.0.0', '/ipfs/id/push/1.0.0', '/ipfs/ping/1.0.0', From 160118963d68d3c6de7c1c463c8866691ae21024 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 25 Jan 2023 22:22:09 +0530 Subject: [PATCH 22/58] remove circuit v1 support --- src/circuit/transport.ts | 65 ++++------------------------------------ 1 file changed, 5 insertions(+), 60 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index f4480005cf..3173ade9dd 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -21,7 +21,6 @@ import { TimeoutController } from 'timeout-abort-controller' import { setMaxListeners } from 'events' import type { PeerId } from '@libp2p/interface-peer-id' import { StreamHandlerV2 } from './v2/stream-handler.js' -import { StreamHandlerV1 } from './v1/stream-handler.js' import * as CircuitV1Handler from './v1/index.js' import * as CircuitV2Handler from './v2/index.js' import type { Multiaddr } from '@multiformats/multiaddr' @@ -80,18 +79,11 @@ export class Circuit implements Transport, Startable { } this._started = true - await this.components.registrar.handle(RELAY_V1_CODEC, (data) => { - void this._onProtocolV1(data).catch(err => { - log.error(err) - }) - }) - .catch(err => { - log.error(err) - }) + // only handle hop if enabled if (this._init.hop.enabled === true) { await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { - void this._onV2ProtocolHop(data).catch(err => { + void this.onHop(data).catch(err => { log.error(err) }) }) @@ -101,7 +93,7 @@ export class Circuit implements Transport, Startable { } await this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { - void this._onV2ProtocolStop(data).catch(err => { + void this.onStop(data).catch(err => { log.error(err) }) }) @@ -119,7 +111,6 @@ export class Circuit implements Transport, Startable { this.reservationStore.stop() await this.components.registrar.unhandle(RELAY_V2_HOP_CODEC) } - await this.components.registrar.unhandle(RELAY_V1_CODEC) await this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) } @@ -127,10 +118,6 @@ export class Circuit implements Transport, Startable { return this._init.hop.enabled ?? false } - hopActive () { - return this._init.hop.enabled ?? false - } - get [symbol] (): true { return true } @@ -143,49 +130,7 @@ export class Circuit implements Transport, Startable { return this.components.connectionManager.getConnections(dstPeer)[0] ?? undefined } - async _onProtocolV1 (data: IncomingStreamData) { - const { connection, stream } = data - const controller = new TimeoutController(this._init.hop.timeout) - - try { - // fails on node < 15.4 - setMaxListeners?.(Infinity, controller.signal) - } catch { } - - try { - const source = abortableDuplex(stream, controller.signal) - const streamHandler = new StreamHandlerV1({ stream: { ...stream, ...source } }) - const request = await streamHandler.read() - - if (request == null) { - log('request was invalid, could not read from stream') - CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.MALFORMED_MESSAGE) - return - } - - switch (request.type) { - case CircuitV1.CircuitRelay.Type.CAN_HOP: - case CircuitV1.CircuitRelay.Type.HOP: { - log('received circuit v1 hop request from %p', connection.remotePeer) - CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.HOP_CANT_SPEAK_RELAY) - break - } - case CircuitV1.CircuitRelay.Type.STOP: { - log('received circuit v1 stop request from %p', connection.remotePeer) - CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.STOP_RELAY_REFUSED) - break - } - default: { - log('Request of type %s not supported', request.type) - CircuitV1Handler.handleCircuitV1Error(streamHandler, CircuitV1.CircuitRelay.Status.MALFORMED_MESSAGE) - } - } - } finally { - controller.clear() - } - } - - async _onV2ProtocolHop ({ connection, stream }: IncomingStreamData) { + async onHop ({ connection, stream }: IncomingStreamData) { // log('received circuit v2 hop protocol stream from %s', connection.remotePeer) const controller = new TimeoutController(this._init.hop.timeout) @@ -223,7 +168,7 @@ export class Circuit implements Transport, Startable { } } - async _onV2ProtocolStop ({ connection, stream }: IncomingStreamData) { + async onStop ({ connection, stream }: IncomingStreamData) { const streamHandler = new StreamHandlerV2({ stream }) const request = CircuitV2.StopMessage.decode(await streamHandler.read()) log('received circuit v2 stop protocol request from %s', connection.remotePeer) From fedf97e9796d27300fb841dd86fec924dc350a7d Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 27 Jan 2023 09:53:32 +0530 Subject: [PATCH 23/58] cleanup --- src/circuit/client.ts | 10 +++++----- src/circuit/index.ts | 13 ++++++++++--- src/circuit/transport.ts | 8 -------- src/config.ts | 2 +- src/libp2p.ts | 10 +++++----- test/circuit/v2/hop.spec.ts | 2 +- test/dialing/resolver.spec.ts | 4 ++-- test/relay/auto-relay.node.ts | 2 +- test/relay/relay.node.ts | 6 +++--- test/relay/utils.ts | 2 +- 10 files changed, 29 insertions(+), 30 deletions(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 44401b9473..1311f97311 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -17,7 +17,7 @@ import { reserve } from './v2/index.js' import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' -import type { CircuitServiceConfig } from './index.js' +import type { RelayReservationManagerConfig } from './index.js' const log = logger('libp2p:circuit:client') @@ -27,7 +27,7 @@ const noop = () => { } * CircuitServiceInit initializes the circuit service using values * from the provided config and an @type{AddressSorter}. */ -export interface CircuitServiceInit extends CircuitServiceConfig { +export interface CircuitServiceInit extends RelayReservationManagerConfig { /** * Allows prioritizing addresses from the peerstore for dialing. The * default behavior is to prioritise public addresses. @@ -39,15 +39,15 @@ export interface CircuitServiceInit extends CircuitServiceConfig { onError?: (error: Error, msg?: string) => void } -export interface CircuitServiceEvents { +export interface RelayReservationManagerEvents { 'relay:reservation': CustomEvent } /** - * CircuitService automatically makes a circuit v2 reservation on any connected + * ReservationManager automatically makes a circuit v2 reservation on any connected * peers that support the circuit v2 HOP protocol. */ -export class CircuitService extends EventEmitter implements Startable { +export class RelayReservationManager extends EventEmitter implements Startable { private readonly components: Components private readonly addressSorter: AddressSorter private readonly maxReservations: number diff --git a/src/circuit/index.ts b/src/circuit/index.ts index c0a41fdb66..45172821bb 100644 --- a/src/circuit/index.ts +++ b/src/circuit/index.ts @@ -1,15 +1,22 @@ +/** + * RelayConfig configures the circuit v2 relay transport. + */ export interface RelayConfig { + /** + * Enable dialing a client over a relay and receiving relayed + * connections. This in itself does not enable the node to act as a relay. + */ enabled: boolean advertise: RelayAdvertiseConfig hop: HopConfig - service: CircuitServiceConfig + reservationManager: RelayReservationManagerConfig } /** - * CircuitServiceConfig allows the node to automatically listen + * RelayReservationManagerConfig allows the node to automatically listen * on any discovered relays upto a specified maximum. */ -export interface CircuitServiceConfig { +export interface RelayReservationManagerConfig { /** * enable or disable autorelay (default: false) */ diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 3173ade9dd..330322b810 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -114,10 +114,6 @@ export class Circuit implements Transport, Startable { await this.components.registrar.unhandle(RELAY_V2_STOP_CODEC) } - hopEnabled () { - return this._init.hop.enabled ?? false - } - get [symbol] (): true { return true } @@ -126,10 +122,6 @@ export class Circuit implements Transport, Startable { return 'libp2p/circuit-relay-v2' } - getPeerConnection (dstPeer: PeerId): Connection | undefined { - return this.components.connectionManager.getConnections(dstPeer)[0] ?? undefined - } - async onHop ({ connection, stream }: IncomingStreamData) { // log('received circuit v2 hop protocol stream from %s', connection.remotePeer) const controller = new TimeoutController(this._init.hop.timeout) diff --git a/src/config.ts b/src/config.ts index 7bc14f8f1e..925b2f105f 100644 --- a/src/config.ts +++ b/src/config.ts @@ -60,7 +60,7 @@ const DefaultConfig: Partial = { enabled: false, timeout: 30000 }, - service: { + reservationManager: { enabled: false, maxReservations: 2 } diff --git a/src/libp2p.ts b/src/libp2p.ts index fa9bebf37d..f5842394da 100644 --- a/src/libp2p.ts +++ b/src/libp2p.ts @@ -1,4 +1,4 @@ -import { CircuitService } from './circuit/client.js' +import { RelayReservationManager } from './circuit/client.js' import { logger } from '@libp2p/logger' import type { AbortOptions } from '@libp2p/interfaces' import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' @@ -59,7 +59,7 @@ export class Libp2pNode extends EventEmitter implements Libp2p { public dht: DualDHT public pubsub: PubSub public identifyService: IdentifyService - public circuitService?: CircuitService + public circuitService?: RelayReservationManager public fetchService: FetchService public pingService: PingService public components: Components @@ -181,10 +181,10 @@ export class Libp2pNode extends EventEmitter implements Libp2p { }) this.configureComponent(this.identifyService) - if (init.relay.service.enabled === true) { - this.circuitService = new CircuitService(this.components, { + if (init.relay.reservationManager.enabled === true) { + this.circuitService = new RelayReservationManager(this.components, { addressSorter: init.connectionManager.addressSorter, - ...init.relay.service + ...init.relay.reservationManager }) this.services.push(this.circuitService) } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index df0059d6f7..c908ccb0fc 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -189,7 +189,7 @@ describe('Circuit v2 - hop protocol', function () { enabled: true, timeout: 30000 }, - service: { + reservationManager: { enabled: false, maxReservations: 2 } diff --git a/test/dialing/resolver.spec.ts b/test/dialing/resolver.spec.ts index ce8d14a43a..8ff3d47ae6 100644 --- a/test/dialing/resolver.spec.ts +++ b/test/dialing/resolver.spec.ts @@ -56,7 +56,7 @@ describe('Dialing (resolvable addresses)', () => { }, relay: { enabled: true, - service: { + reservationManager: { enabled: true }, hop: { @@ -79,7 +79,7 @@ describe('Dialing (resolvable addresses)', () => { }, relay: { enabled: true, - service: { + reservationManager: { enabled: true }, hop: { diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index e6bcda5606..79695524fd 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -364,7 +364,7 @@ describe('auto-relay', () => { ttl: 1000, enabled: true }, - service: { + reservationManager: { enabled: true, maxReservations: 1 } diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index fd86b72eeb..bbb1870da1 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -25,7 +25,7 @@ describe('Dialing (via relay, TCP)', () => { createNode({ config: createNodeOptions({ relay: { - service: { + reservationManager: { enabled: false } } @@ -34,7 +34,7 @@ describe('Dialing (via relay, TCP)', () => { createNode({ config: createRelayOptions({ relay: { - service: { + reservationManager: { enabled: false } } @@ -43,7 +43,7 @@ describe('Dialing (via relay, TCP)', () => { createNode({ config: createNodeOptions({ relay: { - service: { + reservationManager: { enabled: true } } diff --git a/test/relay/utils.ts b/test/relay/utils.ts index 2a1b7efa90..aa3739d2cf 100644 --- a/test/relay/utils.ts +++ b/test/relay/utils.ts @@ -15,7 +15,7 @@ export function createNodeOptions (...overrides: Libp2pOptions[]): Libp2pOptions hop: { enabled: false }, - service: { + reservationManager: { enabled: true, maxReservations: 1 } From d3226ec41439d3ec573db74ebc53d88218e9760a Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Mon, 30 Jan 2023 22:25:52 +0530 Subject: [PATCH 24/58] set type as optional in proto --- src/circuit/client.ts | 16 +++++++--------- src/circuit/transport.ts | 2 +- src/circuit/v2/hop.ts | 7 +++---- src/circuit/v2/pb/index.proto | 9 ++++++--- src/circuit/v2/pb/index.ts | 25 ++++++++++++------------- src/circuit/v2/stream-handler.ts | 2 +- 6 files changed, 30 insertions(+), 31 deletions(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 1311f97311..90688e5890 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -194,20 +194,18 @@ export class RelayReservationManager extends EventEmitter { - try { - let multiaddr = addr.multiaddr - - if (multiaddr.getPeerId() == null) { - multiaddr = multiaddr.encapsulate(`/p2p/${connection.remotePeer.toString()}`) - } - - multiaddr = multiaddr.encapsulate('/p2p-circuit') + let multiaddr = addr.multiaddr + if (multiaddr.getPeerId() == null) { + multiaddr = multiaddr.encapsulate(`/p2p/${connection.remotePeer.toString()}`) + } + multiaddr = multiaddr.encapsulate('/p2p-circuit') + try { // Announce multiaddrs will update on listen success by TransportManager event being triggered await this.components.transportManager.listen([multiaddr]) return true } catch (err: any) { - log.error('error listening on circuit address', err) + log.error('error listening on circuit address', multiaddr, err) this.onError(err) } diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 330322b810..b4ee488244 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -318,7 +318,7 @@ export class Circuit implements Transport, Startable { log('new outbound connection %s', maConn.remoteAddr) const conn = await this.components.upgrader.upgradeOutbound(maConn) return conn - } catch (/** @type {any} */ err) { + } catch (err) { log.error('Circuit relay dial failed', err) disconnectOnFailure && await connection.close() throw err diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 655a048fbd..eee5e5ac5f 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -44,11 +44,10 @@ export async function reserve (connection: Connection) { log('requesting reservation from %s', connection.remotePeer) const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) const streamHandler = new StreamHandlerV2({ stream }) - streamHandler.write(HopMessage.encode({ - type: HopMessage.Type.RESERVE - })) + const buf = HopMessage.encode({ type: HopMessage.Type.RESERVE }) + streamHandler.write(buf) - let response: HopMessage | undefined + let response: HopMessage try { response = HopMessage.decode(await streamHandler.read()) } catch (e: any) { diff --git a/src/circuit/v2/pb/index.proto b/src/circuit/v2/pb/index.proto index 9cd9eb31f5..c0ecb1d796 100644 --- a/src/circuit/v2/pb/index.proto +++ b/src/circuit/v2/pb/index.proto @@ -7,7 +7,8 @@ message HopMessage { STATUS = 2; } - Type type = 1; + // the presence of this field is enforced at application level + optional Type type = 1; optional Peer peer = 2; optional Reservation reservation = 3; @@ -22,7 +23,8 @@ message StopMessage { STATUS = 1; } - Type type = 1; + // the presence of this field is enforced at application level + optional Type type = 1; optional Peer peer = 2; optional Limit limit = 3; @@ -47,6 +49,7 @@ message Limit { } enum Status { + UNUSED = 0; OK = 100; RESERVATION_REFUSED = 200; RESOURCE_LIMIT_EXCEEDED = 201; @@ -61,4 +64,4 @@ message ReservationVoucher { bytes relay = 1; bytes peer = 2; uint64 expiration = 3; -} \ No newline at end of file +} diff --git a/src/circuit/v2/pb/index.ts b/src/circuit/v2/pb/index.ts index a4264373e3..e14b653842 100644 --- a/src/circuit/v2/pb/index.ts +++ b/src/circuit/v2/pb/index.ts @@ -2,13 +2,14 @@ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ +/* eslint-disable @typescript-eslint/no-empty-interface */ import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime' import type { Uint8ArrayList } from 'uint8arraylist' import type { Codec } from 'protons-runtime' export interface HopMessage { - type: HopMessage.Type + type?: HopMessage.Type peer?: Peer reservation?: Reservation limit?: Limit @@ -29,7 +30,7 @@ export namespace HopMessage { } export namespace Type { - export const codec = () => { + export const codec = (): Codec => { return enumeration(__TypeValues) } } @@ -43,7 +44,7 @@ export namespace HopMessage { w.fork() } - if (opts.writeDefaults === true || (obj.type != null && __TypeValues[obj.type] !== 0)) { + if (obj.type != null) { w.uint32(8) HopMessage.Type.codec().encode(obj.type, w) } @@ -78,9 +79,7 @@ export namespace HopMessage { w.ldelim() } }, (reader, length) => { - const obj: any = { - type: Type.RESERVE - } + const obj: any = {} const end = length == null ? reader.len : reader.pos + length @@ -126,7 +125,7 @@ export namespace HopMessage { } export interface StopMessage { - type: StopMessage.Type + type?: StopMessage.Type peer?: Peer limit?: Limit status?: Status @@ -144,7 +143,7 @@ export namespace StopMessage { } export namespace Type { - export const codec = () => { + export const codec = (): Codec => { return enumeration(__TypeValues) } } @@ -158,7 +157,7 @@ export namespace StopMessage { w.fork() } - if (opts.writeDefaults === true || (obj.type != null && __TypeValues[obj.type] !== 0)) { + if (obj.type != null) { w.uint32(8) StopMessage.Type.codec().encode(obj.type, w) } @@ -186,9 +185,7 @@ export namespace StopMessage { w.ldelim() } }, (reader, length) => { - const obj: any = { - type: Type.CONNECT - } + const obj: any = {} const end = length == null ? reader.len : reader.pos + length @@ -445,6 +442,7 @@ export namespace Limit { } export enum Status { + UNUSED = 'UNUSED', OK = 'OK', RESERVATION_REFUSED = 'RESERVATION_REFUSED', RESOURCE_LIMIT_EXCEEDED = 'RESOURCE_LIMIT_EXCEEDED', @@ -456,6 +454,7 @@ export enum Status { } enum __StatusValues { + UNUSED = 0, OK = 100, RESERVATION_REFUSED = 200, RESOURCE_LIMIT_EXCEEDED = 201, @@ -467,7 +466,7 @@ enum __StatusValues { } export namespace Status { - export const codec = () => { + export const codec = (): Codec => { return enumeration(__StatusValues) } } diff --git a/src/circuit/v2/stream-handler.ts b/src/circuit/v2/stream-handler.ts index c97dfac479..7568a85333 100644 --- a/src/circuit/v2/stream-handler.ts +++ b/src/circuit/v2/stream-handler.ts @@ -50,7 +50,7 @@ export class StreamHandlerV2 { } write (msg: Uint8Array) { - this.shake.write(lp.encode.single(msg).slice()) + this.shake.write(lp.encode.single(msg)) } /** From c9bc1d3627206fa1d9d66399c659d5b25387fbe3 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Feb 2023 18:34:51 +0530 Subject: [PATCH 25/58] address review from Alex --- package.json | 3 +- src/circuit/client.ts | 123 +++++++++++++--------------- src/circuit/relay.ts | 3 +- src/circuit/transport.ts | 1 - src/circuit/v2/hop.ts | 34 ++------ src/circuit/v2/interfaces.ts | 2 +- src/circuit/v2/reservation-store.ts | 11 +-- src/circuit/v2/stop.ts | 1 - test/circuit/v2/hop.spec.ts | 50 +++++------ test/dialing/resolver.spec.ts | 18 ++-- test/relay/auto-relay.node.ts | 11 +-- test/relay/relay.node.ts | 11 ++- 12 files changed, 122 insertions(+), 146 deletions(-) diff --git a/package.json b/package.json index dba1f11189..3697def4b6 100644 --- a/package.json +++ b/package.json @@ -93,8 +93,7 @@ "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\"", - "lint:fix": "aegir lint --fix" + "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\"" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 90688e5890..708e32ebdb 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -18,10 +18,11 @@ import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' import type { RelayReservationManagerConfig } from './index.js' +import { PeerSet, PeerMap, PeerList } from '@libp2p/peer-collections' const log = logger('libp2p:circuit:client') -const noop = () => { } +const noop = () => {} /** * CircuitServiceInit initializes the circuit service using values @@ -51,8 +52,8 @@ export class RelayReservationManager extends EventEmitter - private readonly reservationMap: Map> + private readonly relays: PeerSet + private readonly reservationMap: PeerMap> private readonly onError: (error: Error, msg?: string) => void private started: boolean @@ -62,8 +63,8 @@ export class RelayReservationManager extends EventEmitter clearTimeout(timer)) this.reservationMap.clear() this.relays.clear() } @@ -103,9 +102,7 @@ export class RelayReservationManager extends EventEmitter) { const connection = evt.detail const peerId = connection.remotePeer - const id = peerId.toString() clearTimeout(this.reservationMap.get(peerId)) this.reservationMap.delete(peerId) // Not listening on this relay - if (!this.relays.has(id)) { + if (!this.relays.has(peerId)) { return } - this._removeListenRelay(id).catch(err => { + this._removeListenRelay(peerId).catch(err => { log.error(err) }) } @@ -174,8 +169,7 @@ export class RelayReservationManager extends EventEmitter { - const id = peerId.toString() - log.trace(`Peer ${peerId.toString()} is being added as relay`) + log.trace('peerId %p is being added as relay', peerId) try { // Check if already enough relay reservations if (this.relays.size >= this.maxReservations) { @@ -214,22 +208,23 @@ export class RelayReservationManager extends EventEmitter= this.maxReservations) { return @@ -249,10 +244,9 @@ export class RelayReservationManager extends EventEmitter { - const idString = id.toString() - return protocols.includes(RELAY_V2_HOP_CODEC) && !this.relays.has(idString) && !peersToIgnore.includes(idString) - }) + .filter(({ id, protocols }) => + protocols.includes(RELAY_V2_HOP_CODEC) && !this.relays.has(id) && !peersToIgnore.includes(id) + ) .map(({ id }) => { const connections = this.components.connectionManager.getConnections(id) if (connections.length === 0) { @@ -287,26 +281,19 @@ export class RelayReservationManager extends EventEmitter= this.maxReservations) { - return + if ( + provider.multiaddrs.length > 0 && + !provider.id.equals(this.components.peerId) + ) { + const peerId = provider.id + + await this.components.peerStore.addressBook.add(peerId, provider.multiaddrs) + await this._tryToListenOnRelay(peerId) + + // Check if already listening on enough relays + if (this.relays.size >= this.maxReservations) { + return + } } } } catch (err: any) { @@ -343,20 +330,28 @@ export class RelayReservationManager extends EventEmitter { void refreshReservation(peerId) }, + Math.max(getExpiration(reservation.expire) - 100, 0), + peerId + ) this.reservationMap.set( peerId, - setTimeout( - (peerId) => { void refreshReservation(peerId) }, - Math.max(getExpiration(reservation.expire) - 100, 0), - peerId - ) + timeout ) - this.dispatchEvent(new CustomEvent('relay:reservation')) + this.dispatchEvent(new CustomEvent('relay:reservation')) } } catch (err: any) { log.error(err) - await this._removeListenRelay(peerId.toString()) + await this._removeListenRelay(peerId) } } } diff --git a/src/circuit/relay.ts b/src/circuit/relay.ts index 33f6ab0246..c74f957b6e 100644 --- a/src/circuit/relay.ts +++ b/src/circuit/relay.ts @@ -19,7 +19,7 @@ const log = logger('libp2p:circuit:relay') export interface RelayInit { addressSorter?: AddressSorter maxListeners?: number - onError?: (error: Error, msg?: string) => void + onError?: (error: Error) => void hop: HopConfig advertise: RelayAdvertiseConfig } @@ -79,7 +79,6 @@ export class Relay implements Startable { } catch (err: any) { if (err.code === codes.ERR_NO_ROUTERS_AVAILABLE) { log.error('a content router, such as a DHT, must be provided in order to advertise the relay service', err) - // Stop the advertise await this.stop() } else { log.error(err) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index b4ee488244..1917aeafbf 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -305,7 +305,6 @@ export class Circuit implements Transport, Startable { throw createError(new Error(`failed to connect via relay with status ${status?.status?.toString() ?? 'undefined'}`), codes.ERR_HOP_REQUEST_FAILED) } - /* eslint-disable-next-line no-warning-comments */ // TODO: do something with limit and transient connection let localAddr = relayAddr diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index eee5e5ac5f..d46df37d38 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -67,7 +67,6 @@ export async function reserve (connection: Connection) { async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { log('hop reserve request from %s', connection.remotePeer) - /* eslint-disable-next-line no-warning-comments */ // TODO: prevent reservation over relay address if ((await acl?.allowReserve?.(connection.remotePeer, connection.remoteAddr)) === false) { @@ -100,41 +99,24 @@ async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs await reservationStore.removeReservation(connection.remotePeer) } - /* eslint-disable-next-line no-warning-comments */ // TODO: how to ensure connection manager doesn't close reserved relay conn } -const validateHopConnect = (request: HopMessage): Status => { - if (request.peer == null) { - log.error('no peer info in hop connect request') - return Status.MALFORMED_MESSAGE - } - try { - request.peer.addrs.forEach(multiaddr) - } catch (_err) { - return Status.MALFORMED_MESSAGE - } - return Status.OK -} - async function handleConnect (options: HopProtocolOptions) { const { connection, streamHandler, request, reservationStore, connectionManager, acl } = options log('hop connect request from %s', connection.remotePeer) - // Validate the HOP connect request has the required input - const status = validateHopConnect(request) - if (status !== Status.OK) { - log.error('invalid hop connect request via peer %s', connection.remotePeer) - writeErrorResponse(streamHandler, status) - return - } - /* eslint-disable @typescript-eslint/no-non-null-assertion */ let dstPeer: PeerId try { - dstPeer = peerIdFromBytes(request.peer!.id) + if (request.peer == null) { + log.error('no peer info in hop connect request') + throw new Error('no peer info in request') + } + request.peer.addrs.forEach(multiaddr) + dstPeer = peerIdFromBytes(request.peer.id) } catch (err) { - log.error('invalid hop connect request via peer %s', connection.remotePeer) - writeErrorResponse(streamHandler, status) + log.error('invalid hop connect request via peer %p %s', connection.remotePeer, err) + writeErrorResponse(streamHandler, Status.MALFORMED_MESSAGE) return } diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts index 80b3785ac3..bb871b3b57 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/v2/interfaces.ts @@ -10,7 +10,7 @@ export interface ReservationStore { hasReservation: (dst: PeerId) => Promise } -type AclStatus = Status.OK | Status.RESOURCE_LIMIT_EXCEEDED | Status.PERMISSION_DENIED +export type AclStatus = Status.OK | Status.RESOURCE_LIMIT_EXCEEDED | Status.PERMISSION_DENIED export interface Acl { allowReserve: (peer: PeerId, addr: Multiaddr) => Promise diff --git a/src/circuit/v2/reservation-store.ts b/src/circuit/v2/reservation-store.ts index 2e2f63e208..b4cb108fbd 100644 --- a/src/circuit/v2/reservation-store.ts +++ b/src/circuit/v2/reservation-store.ts @@ -3,6 +3,7 @@ import type { ReservationStore as IReservationStore, ReservationStatus } from '. import type { Multiaddr } from '@multiformats/multiaddr' import type { PeerId } from '@libp2p/interface-peer-id' import type { Startable } from '@libp2p/interfaces/startable' +import { PeerMap } from '@libp2p/peer-collections' interface Reservation { addr: Multiaddr @@ -10,7 +11,7 @@ interface Reservation { } export class ReservationStore implements IReservationStore, Startable { - private readonly reservations = new Map() + private readonly reservations = new PeerMap() private _started = false; private interval: any @@ -48,20 +49,20 @@ export class ReservationStore implements IReservationStore, Startable { } async reserve (peer: PeerId, addr: Multiaddr): Promise<{ status: ReservationStatus, expire?: number }> { - if (this.reservations.size >= this.limit && !this.reservations.has(peer.toString())) { + if (this.reservations.size >= this.limit && !this.reservations.has(peer)) { return { status: Status.RESERVATION_REFUSED, expire: undefined } } const expire = new Date() expire.setHours(expire.getHours() + 12) - this.reservations.set(peer.toString(), { addr, expire }) + this.reservations.set(peer, { addr, expire }) return { status: Status.OK, expire: expire.getTime() } } async removeReservation (peer: PeerId) { - this.reservations.delete(peer.toString()) + this.reservations.delete(peer) } async hasReservation (dst: PeerId) { - return this.reservations.has(dst.toString()) + return this.reservations.has(dst) } } diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index 15aaa3b250..b7212558a2 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -46,7 +46,6 @@ export async function handleStop ({ return } - /* eslint-disable-next-line no-warning-comments */ // TODO: go-libp2p marks connection transient if there is limit field present in request. // Cannot find any reference to transient connections in js-libp2p diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index c908ccb0fc..37bbc64753 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -19,31 +19,17 @@ import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers' import { publicAddressesFirst } from '@libp2p/utils/address-sort' import { PersistentPeerStore } from '@libp2p/peer-store' import { multiaddr } from '@multiformats/multiaddr' +import type { AclStatus } from '../../../src/circuit/v2/interfaces.js' /* eslint-env mocha */ describe('Circuit v2 - hop protocol', function () { - it('error on unknow message type', async function () { - const streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) - await handleHopProtocol({ - connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), - streamHandler, - request: { - // @ts-expect-error - type: 'not_existing' - } - }) - const msg = HopMessage.decode(await streamHandler.read()) - expect(msg.type).to.be.equal(HopMessage.Type.STATUS) - expect(msg.status).to.be.equal(Status.MALFORMED_MESSAGE) - }) - describe('reserve', function () { let relayPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2, reservationStore: ReservationStore beforeEach(async () => { [, relayPeer] = await peerUtils.createPeerIds(2) - conn = await mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) + conn = mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) reservationStore = new ReservationStore() }) @@ -52,6 +38,21 @@ describe('Circuit v2 - hop protocol', function () { streamHandler.close() await conn.close() }) + it('error on unknow message type', async function () { + const streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + await handleHopProtocol({ + connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), + streamHandler, + request: {}, + relayPeer, + relayAddrs: [], + reservationStore, + connectionManager: sinon.stub() as any + }) + const msg = HopMessage.decode(await streamHandler.read()) + expect(msg.type).to.be.equal(HopMessage.Type.STATUS) + expect(msg.status).to.be.equal(Status.MALFORMED_MESSAGE) + }) it('should reserve slot', async function () { const expire: number = 123 @@ -150,7 +151,7 @@ describe('Circuit v2 - hop protocol', function () { beforeEach(async () => { [, relayPeer, dstPeer] = await peerUtils.createPeerIds(3) - conn = await mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) + conn = mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) reservationStore = new ReservationStore() // components @@ -204,7 +205,7 @@ describe('Circuit v2 - hop protocol', function () { it('should succeed to connect', async function () { const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') hasReservationStub.resolves(true) - const dstConn = await mockConnection( + const dstConn = mockConnection( mockMultiaddrConnection(pair(), dstPeer) ) const streamStub = sinon.stub(dstConn, 'newStream') @@ -243,9 +244,8 @@ describe('Circuit v2 - hop protocol', function () { streamHandler, request: { type: HopMessage.Type.CONNECT, - // @ts-expect-error - peer: { - } + // @ts-expect-error {} is missing the following properties from peer: id, addrs + peer: {} }, reservationStore, circuit @@ -257,7 +257,8 @@ describe('Circuit v2 - hop protocol', function () { it('should failed to connect - acl denied', async function () { const acl = { - allowConnect: function () { return Status.PERMISSION_DENIED } + allowConnect: async () => await Promise.resolve(Status.PERMISSION_DENIED as AclStatus), + allowReserve: async () => await Promise.resolve(false) } await handleHopProtocol({ connection: conn, @@ -269,9 +270,10 @@ describe('Circuit v2 - hop protocol', function () { addrs: [] } }, + relayPeer: relayPeer, + relayAddrs: [], reservationStore, - circuit, - // @ts-expect-error + connectionManager: components.connectionManager, acl }) const response = HopMessage.decode(await streamHandler.read()) diff --git a/test/dialing/resolver.spec.ts b/test/dialing/resolver.spec.ts index 8ff3d47ae6..0334a607bf 100644 --- a/test/dialing/resolver.spec.ts +++ b/test/dialing/resolver.spec.ts @@ -118,8 +118,10 @@ describe('Dialing (resolvable addresses)', () => { resolver.onCall(0).returns(Promise.resolve(getDnsRelayedAddrStub(remoteId))) // create reservation on relay - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - await pEvent(remoteLibp2p.circuitService!, 'relay:reservation') + if (remoteLibp2p.circuitService == null) { + throw new Error('remote libp2p has no circuit service') + } + await pEvent(remoteLibp2p.circuitService, 'relay:reservation') // Dial with address resolve const connection = await libp2p.dial(dialAddr) @@ -143,8 +145,10 @@ describe('Dialing (resolvable addresses)', () => { await remoteLibp2p.components.peerStore.protoBook.add(relayId, [RELAY_V2_HOP_CODEC]) // create reservation on relay - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - await pEvent(remoteLibp2p.circuitService!, 'relay:reservation') + if (remoteLibp2p.circuitService == null) { + throw new Error('remote libp2p has no circuit service') + } + await pEvent(remoteLibp2p.circuitService, 'relay:reservation') // Transport spy const transport = getTransport(libp2p, Circuit.prototype[Symbol.toStringTag]) @@ -213,8 +217,10 @@ describe('Dialing (resolvable addresses)', () => { await remoteLibp2p.components.peerStore.protoBook.add(relayId, [RELAY_V2_HOP_CODEC]) // create reservation on relay - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - await pEvent(remoteLibp2p.circuitService!, 'relay:reservation') + if (remoteLibp2p.circuitService == null) { + throw new Error('remote libp2p has no circuit service') + } + await pEvent(remoteLibp2p.circuitService, 'relay:reservation') // Transport spy const transport = getTransport(libp2p, Circuit.prototype[Symbol.toStringTag]) diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index 79695524fd..e623db28cf 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -17,13 +17,8 @@ import type { ContentRouting } from '@libp2p/interface-content-routing' async function usingAsRelay (node: Libp2pNode, relay: Libp2pNode, opts?: PWaitForOptions) { // Wait for peer to be used as a relay await pWaitFor(() => { - for (const addr of node.getMultiaddrs()) { - if (addr.toString().includes(`${relay.peerId.toString()}/p2p-circuit`)) { - return true - } - } - - return false + const search = `${relay.peerId.toString()}/p2p-circuit` + return node.getMultiaddrs().find(addr => addr.toString().includes(search)) !== undefined }, opts) } @@ -97,7 +92,7 @@ describe('auto-relay', () => { afterEach(async () => { // Stop each node - return await Promise.all([libp2p, relayLibp2p1, relayLibp2p2, relayLibp2p3].map(async libp2p => await libp2p.stop())) + await Promise.all([libp2p, relayLibp2p1, relayLibp2p2, relayLibp2p3].map(async libp2p => await libp2p.stop())) }) it('should ask if node supports hop on protocol change (relay protocol) and add to listen multiaddrs', async () => { diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index bbb1870da1..2ec3471c8a 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -10,7 +10,6 @@ import type { Libp2pNode } from '../../src/libp2p.js' import { createNode } from '../utils/creators/peer.js' import { createNodeOptions, createRelayOptions } from './utils.js' import all from 'it-all' -// import delay from 'delay' /* eslint-env mocha */ @@ -70,8 +69,10 @@ describe('Dialing (via relay, TCP)', () => { await dstLibp2p.dial(relayAddr.encapsulate(`/p2p/${relayIdString}`)) // make sure we have reservation before trying to dial. Previously relay initiated connection. - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - await pEvent(dstLibp2p.circuitService!, 'relay:reservation') + if (dstLibp2p.circuitService == null) { + throw new Error('remote libp2p has no circuit service') + } + await pEvent(dstLibp2p.circuitService, 'relay:reservation') const dialAddr = relayAddr .encapsulate(`/p2p/${relayIdString}`) .encapsulate(`/p2p-circuit/p2p/${dstLibp2p.peerId.toString()}`) @@ -161,7 +162,7 @@ describe('Dialing (via relay, TCP)', () => { const connections = relayLibp2p.getConnections(dstLibp2p.peerId) // this should fail as the destination peer has HOP disabled await expect(connections[0].newStream(RELAY_V2_HOP_CODEC)) - .to.be.rejected() + .to.be.rejectedWith(/protocol selection failed/) // empty messages are encoded as { type: RESERVE } for the hop codec, // so we make the message invalid by adding a zeroed byte @@ -171,7 +172,6 @@ describe('Dialing (via relay, TCP)', () => { expect(dstToRelayConn).to.have.nested.property('[0].stat.status', 'OPEN') }) - /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): This test seems to fail on windows and macos on CI with a // stream reset in mplex. it.skip('should time out when establishing a relay connection', async () => { @@ -196,7 +196,6 @@ describe('Dialing (via relay, TCP)', () => { // multistream select negotiates the protocol const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) - /* eslint-disable-next-line no-warning-comments */ // TODO(ckousik): does this need to be awaited? // await stream.sink(async function * () { // // delay for longer than the timeout From 545fe51bcd2a78f5435f8c7474003cc13e0712d1 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Feb 2023 21:25:32 +0530 Subject: [PATCH 26/58] remove streamhandler --- package.json | 1 + src/circuit/transport.ts | 39 +++++---- src/circuit/v2/hop.ts | 139 +++++++++++++++---------------- src/circuit/v2/stop.ts | 53 ++++++------ src/circuit/v2/stream-handler.ts | 82 ------------------ test/circuit/v2/hop.spec.ts | 81 ++++++++++-------- test/circuit/v2/stop.spec.ts | 32 ++++--- test/relay/auto-relay.node.ts | 2 +- 8 files changed, 174 insertions(+), 255 deletions(-) delete mode 100644 src/circuit/v2/stream-handler.ts diff --git a/package.json b/package.json index 3697def4b6..999ea8aae1 100644 --- a/package.json +++ b/package.json @@ -144,6 +144,7 @@ "it-map": "^2.0.0", "it-merge": "^2.0.0", "it-pair": "^2.0.2", + "it-pb-stream": "^2.0.3", "it-pipe": "^2.0.3", "it-sort": "^2.0.0", "it-stream-types": "^1.0.4", diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 1917aeafbf..e9e01105b0 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -20,7 +20,6 @@ import { abortableDuplex } from 'abortable-iterator' import { TimeoutController } from 'timeout-abort-controller' import { setMaxListeners } from 'events' import type { PeerId } from '@libp2p/interface-peer-id' -import { StreamHandlerV2 } from './v2/stream-handler.js' import * as CircuitV1Handler from './v1/index.js' import * as CircuitV2Handler from './v2/index.js' import type { Multiaddr } from '@multiformats/multiaddr' @@ -28,6 +27,9 @@ import type { PeerStore } from '@libp2p/interface-peer-store' import type { Startable } from '@libp2p/interfaces/dist/src/startable' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { AddressManager } from '@libp2p/interface-address-manager' +import { pbStream } from 'it-pb-stream' +import type {Duplex} from 'it-stream-types' +import type {Uint8ArrayList} from 'uint8arraylist' const log = logger('libp2p:circuit') @@ -123,7 +125,7 @@ export class Circuit implements Transport, Startable { } async onHop ({ connection, stream }: IncomingStreamData) { - // log('received circuit v2 hop protocol stream from %s', connection.remotePeer) + log('received circuit v2 hop protocol stream from %s', connection.remotePeer) const controller = new TimeoutController(this._init.hop.timeout) try { @@ -132,9 +134,9 @@ export class Circuit implements Transport, Startable { } catch { } const source = abortableDuplex(stream, controller.signal) - const streamHandler = new StreamHandlerV2({ stream: { ...stream, ...source } }) + const pbstr = pbStream({ ...stream, ...source }) try { - const request = CircuitV2.HopMessage.decode(await streamHandler.read()) + const request = await pbstr.pb(CircuitV2.HopMessage).read() if (request?.type == null) { throw new Error('request was invalid, could not read from stream') @@ -142,7 +144,7 @@ export class Circuit implements Transport, Startable { await CircuitV2Handler.handleHopProtocol({ connection, - streamHandler, + pbstr, connectionManager: this.components.connectionManager, relayPeer: this.components.peerId, relayAddrs: this.components.addressManager.getListenAddrs(), @@ -150,19 +152,19 @@ export class Circuit implements Transport, Startable { request }) } catch (_err) { - streamHandler.write(CircuitV2.HopMessage.encode({ + pbstr.pb(CircuitV2.HopMessage).write({ type: CircuitV2.HopMessage.Type.STATUS, status: CircuitV2.Status.MALFORMED_MESSAGE - })) - streamHandler.close() + }) + stream.close() } finally { controller.clear() } } async onStop ({ connection, stream }: IncomingStreamData) { - const streamHandler = new StreamHandlerV2({ stream }) - const request = CircuitV2.StopMessage.decode(await streamHandler.read()) + const pbstr = pbStream(stream) + const request = await pbstr.readPB(CircuitV2.StopMessage) log('received circuit v2 stop protocol request from %s', connection.remotePeer) if (request?.type === undefined) { return @@ -170,15 +172,15 @@ export class Circuit implements Transport, Startable { const mStream = await CircuitV2Handler.handleStop({ connection, - streamHandler, + pbstr, request }) - if (mStream !== null && mStream !== undefined) { + if (mStream != null) { const remoteAddr = multiaddr(request.peer?.addrs?.[0]) const localAddr = this.components.transportManager.getAddrs()[0] const maConn = streamToMaConnection({ - stream: mStream, + stream: mStream as any, remoteAddr, localAddr }) @@ -291,16 +293,17 @@ export class Circuit implements Transport, Startable { }: ConnectOptions ) { try { - const streamHandler = new StreamHandlerV2({ stream }) - streamHandler.write(CircuitV2.HopMessage.encode({ + const pbstr = pbStream(stream) + const hopstr = pbstr.pb(CircuitV2.HopMessage) + hopstr.write({ type: CircuitV2.HopMessage.Type.CONNECT, peer: { id: destinationPeer.toBytes(), addrs: [multiaddr(destinationAddr).bytes] } - })) + }) - const status = CircuitV2.HopMessage.decode(await streamHandler.read()) + const status = await hopstr.read() if (status.status !== CircuitV2.Status.OK) { throw createError(new Error(`failed to connect via relay with status ${status?.status?.toString() ?? 'undefined'}`), codes.ERR_HOP_REQUEST_FAILED) } @@ -310,7 +313,7 @@ export class Circuit implements Transport, Startable { let localAddr = relayAddr localAddr = localAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`) const maConn = streamToMaConnection({ - stream: streamHandler.rest(), + stream: pbstr.unwrap() as Duplex, remoteAddr: ma, localAddr }) diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index d46df37d38..fcbc030a91 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -1,25 +1,28 @@ -import type { PeerId } from '@libp2p/interface-peer-id' -import { RecordEnvelope } from '@libp2p/peer-record' -import { logger } from '@libp2p/logger' -import { pipe } from 'it-pipe' -import type { Connection } from '@libp2p/interface-connection' -import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' -import { StreamHandlerV2 } from './stream-handler.js' -import type { Multiaddr } from '@multiformats/multiaddr' -import { multiaddr } from '@multiformats/multiaddr' -import type { Acl, ReservationStore } from './interfaces.js' -import { RELAY_V2_HOP_CODEC } from '../multicodec.js' -import { stop } from './stop.js' -import { ReservationVoucherRecord } from './reservation-voucher.js' -import { peerIdFromBytes } from '@libp2p/peer-id' -import type { ConnectionManager } from '@libp2p/interface-connection-manager' +import type {PeerId} from '@libp2p/interface-peer-id' +import {RecordEnvelope} from '@libp2p/peer-record' +import {logger} from '@libp2p/logger' +import {pipe} from 'it-pipe' +import type {Connection} from '@libp2p/interface-connection' +import {HopMessage, Limit, Reservation, Status, StopMessage} from './pb/index.js' +import type {Multiaddr} from '@multiformats/multiaddr' +import {multiaddr} from '@multiformats/multiaddr' +import type {Acl, ReservationStore} from './interfaces.js' +import {RELAY_V2_HOP_CODEC} from '../multicodec.js' +import {stop} from './stop.js' +import {ReservationVoucherRecord} from './reservation-voucher.js' +import {peerIdFromBytes} from '@libp2p/peer-id' +import type {ConnectionManager} from '@libp2p/interface-connection-manager' +import type {ProtobufStream} from 'it-pb-stream' +import {pbStream} from 'it-pb-stream' +import type {Uint8ArrayList} from 'uint8arraylist' +import type {Duplex} from 'it-stream-types' const log = logger('libp2p:circuit:v2:hop') export interface HopProtocolOptions { connection: Connection request: HopMessage - streamHandler: StreamHandlerV2 + pbstr: ProtobufStream relayPeer: PeerId relayAddrs: Multiaddr[] limit?: Limit @@ -28,31 +31,32 @@ export interface HopProtocolOptions { connectionManager: ConnectionManager } -export async function handleHopProtocol (options: HopProtocolOptions) { - switch (options.request.type) { +export async function handleHopProtocol(options: HopProtocolOptions) { + const {pbstr, request} = options; + log("received hop message") + switch (request.type) { case HopMessage.Type.RESERVE: await handleReserve(options); break case HopMessage.Type.CONNECT: await handleConnect(options); break default: { log.error('invalid hop request type %s via peer %s', options.request.type, options.connection.remotePeer) - writeErrorResponse(options.streamHandler, Status.MALFORMED_MESSAGE) - options.streamHandler.close() + pbstr.pb(HopMessage).write({type: HopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE}) } } } -export async function reserve (connection: Connection) { +export async function reserve(connection: Connection) { log('requesting reservation from %s', connection.remotePeer) const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) - const streamHandler = new StreamHandlerV2({ stream }) - const buf = HopMessage.encode({ type: HopMessage.Type.RESERVE }) - streamHandler.write(buf) + const pbstr = pbStream(stream) + const hopstr = pbstr.pb(HopMessage) + hopstr.write({type: HopMessage.Type.RESERVE}) let response: HopMessage try { - response = HopMessage.decode(await streamHandler.read()) + response = await hopstr.read() } catch (e: any) { log.error('error passing reserve message response from %s because', connection.remotePeer, e.message) - streamHandler.close() + stream.close() throw e } @@ -64,35 +68,32 @@ export async function reserve (connection: Connection) { throw new Error(errMsg) } -async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { +async function handleReserve({connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore}: HopProtocolOptions) { + const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) // TODO: prevent reservation over relay address if ((await acl?.allowReserve?.(connection.remotePeer, connection.remoteAddr)) === false) { log.error('acl denied reservation to %s', connection.remotePeer) - writeErrorResponse(streamHandler, Status.PERMISSION_DENIED) - streamHandler.close() + hopstr.write({type: HopMessage.Type.STATUS, status: Status.PERMISSION_DENIED}) return } const result = await reservationStore.reserve(connection.remotePeer, connection.remoteAddr) if (result.status !== Status.OK) { - writeErrorResponse(streamHandler, result.status) - streamHandler.close() + hopstr.write({type: HopMessage.Type.STATUS, status: result.status}) return } try { - writeResponse( - streamHandler, - { - type: HopMessage.Type.STATUS, - status: Status.OK, - reservation: await makeReservation(relayAddrs, relayPeer, connection.remotePeer, BigInt(result.expire ?? 0)), - limit - }) + hopstr.write({ + type: HopMessage.Type.STATUS, + status: Status.OK, + reservation: await makeReservation(relayAddrs, relayPeer, connection.remotePeer, BigInt(result.expire ?? 0)), + limit + }) log('sent confirmation response to %s', connection.remotePeer) } catch (err) { log.error('failed to send confirmation response to %s', connection.remotePeer) @@ -102,8 +103,10 @@ async function handleReserve ({ connection, streamHandler, relayPeer, relayAddrs // TODO: how to ensure connection manager doesn't close reserved relay conn } -async function handleConnect (options: HopProtocolOptions) { - const { connection, streamHandler, request, reservationStore, connectionManager, acl } = options +async function handleConnect(options: HopProtocolOptions) { + const {connection, pbstr, request, reservationStore, connectionManager, acl} = options + const hopstr = pbstr.pb(HopMessage) + log('hop connect request from %s', connection.remotePeer) let dstPeer: PeerId @@ -116,7 +119,7 @@ async function handleConnect (options: HopProtocolOptions) { dstPeer = peerIdFromBytes(request.peer.id) } catch (err) { log.error('invalid hop connect request via peer %p %s', connection.remotePeer, err) - writeErrorResponse(streamHandler, Status.MALFORMED_MESSAGE) + hopstr.write({type: HopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE}) return } @@ -124,21 +127,21 @@ async function handleConnect (options: HopProtocolOptions) { const status = await acl.allowConnect(connection.remotePeer, connection.remoteAddr, dstPeer) if (status !== Status.OK) { log.error('hop connect denied for %s with status %s', connection.remotePeer, status) - writeErrorResponse(streamHandler, status) + hopstr.write({type: HopMessage.Type.STATUS, status: status}) return } } if (!await reservationStore.hasReservation(dstPeer)) { log.error('hop connect denied for %s with status %s', connection.remotePeer, Status.NO_RESERVATION) - writeErrorResponse(streamHandler, Status.NO_RESERVATION) + hopstr.write({type: HopMessage.Type.STATUS, status: Status.NO_RESERVATION}) return } const connections = connectionManager.getConnections(dstPeer) if (connections.length === 0) { log('hop connect denied for %s as there is no destination connection', connection.remotePeer) - writeErrorResponse(streamHandler, Status.NO_RESERVATION) + hopstr.write({type: HopMessage.Type.STATUS, status: Status.NO_RESERVATION}) return } const destinationConnection = connections[0] @@ -157,23 +160,35 @@ async function handleConnect (options: HopProtocolOptions) { if (destinationStream == null) { log.error('failed to open stream to destination peer %s', destinationConnection?.remotePeer) - writeErrorResponse(streamHandler, Status.CONNECTION_FAILED) + hopstr.write({type: HopMessage.Type.STATUS, status: Status.CONNECTION_FAILED}) return } - writeResponse(streamHandler, { type: HopMessage.Type.STATUS, status: Status.OK }) + hopstr.write({type: HopMessage.Type.STATUS, status: Status.OK}) + const sourceStream = pbstr.unwrap() - const sourceStream = streamHandler.rest() log('connection to destination established, short circuiting streams...') // Short circuit the two streams to create the relayed connection return await pipe( - sourceStream, - destinationStream, - sourceStream + sourceStream as Duplex, + // adapt uint8arraylist to uint8array + // async function * (src) { + // for await(const buf of src) { + // yield buf.subarray() + // } + // }, + destinationStream as Duplex, + // adapt uint8arraylist to uint8array + // async function * (src) { + // for await(const buf of src) { + // yield buf.subarray() + // } + // }, + sourceStream as Duplex, ) } -async function makeReservation ( +async function makeReservation( relayAddrs: Multiaddr[], relayPeerId: PeerId, remotePeer: PeerId, @@ -197,23 +212,3 @@ async function makeReservation ( voucher: voucher.marshal() } } - -/** - * Write an error response and closes stream - * - */ -function writeErrorResponse (streamHandler: StreamHandlerV2, status: Status) { - writeResponse(streamHandler, { - type: HopMessage.Type.STATUS, - status - }) - streamHandler.close() -} - -/** - * Write a response - * - */ -function writeResponse (streamHandler: StreamHandlerV2, msg: HopMessage) { - streamHandler.write(HopMessage.encode(msg)) -} diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index b7212558a2..7140e7b87e 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -1,20 +1,20 @@ -import { Status, StopMessage } from './pb/index.js' -import type { Connection } from '@libp2p/interface-connection' +import {Status, StopMessage} from './pb/index.js' +import type {Connection} from '@libp2p/interface-connection' -import { logger } from '@libp2p/logger' -import { StreamHandlerV2 } from './stream-handler.js' -import { RELAY_V2_STOP_CODEC } from '../multicodec.js' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Duplex } from 'it-stream-types' -import { multiaddr } from '@multiformats/multiaddr' +import {logger} from '@libp2p/logger' +import {RELAY_V2_STOP_CODEC} from '../multicodec.js' +import {multiaddr} from '@multiformats/multiaddr' +import {pbStream, ProtobufStream} from 'it-pb-stream' +import type {Uint8ArrayList} from 'uint8arraylist' +import type {Duplex} from 'it-stream-types' const log = logger('libp2p:circuit:v2:stop') export interface HandleStopOptions { connection: Connection request: StopMessage - streamHandler: StreamHandlerV2 + pbstr: ProtobufStream } const isValidStop = (request: StopMessage): boolean => { @@ -28,34 +28,30 @@ const isValidStop = (request: StopMessage): boolean => { } return true } -export async function handleStop ({ +export async function handleStop({ connection, request, - streamHandler + pbstr, }: HandleStopOptions) { + const stopstr = pbstr.pb(StopMessage) log('new circuit relay v2 stop stream from %s', connection.remotePeer) // Validate the STOP request has the required input if (request.type !== StopMessage.Type.CONNECT) { log.error('invalid stop connect request via peer %s', connection.remotePeer) - streamHandler.write(StopMessage.encode({ type: StopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE })) + stopstr.write({type: StopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE}) return } if (!isValidStop(request)) { log.error('invalid stop connect request via peer %s', connection.remotePeer) - streamHandler.write(StopMessage.encode({ type: StopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE })) + stopstr.write({type: StopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE}) return } // TODO: go-libp2p marks connection transient if there is limit field present in request. // Cannot find any reference to transient connections in js-libp2p - streamHandler.write(StopMessage.encode( - { - type: StopMessage.Type.STATUS, - status: Status.OK - } - )) - return streamHandler.rest() + stopstr.write({type: StopMessage.Type.STATUS, status: Status.OK}) + return pbstr.unwrap() } export interface StopOptions { @@ -67,31 +63,32 @@ export interface StopOptions { * Creates a STOP request * */ -export async function stop ({ +export async function stop({ connection, request -}: StopOptions): Promise | undefined> { +}: StopOptions): Promise | undefined> { const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) log('starting circuit relay v2 stop request to %s', connection.remotePeer) - const streamHandler = new StreamHandlerV2({ stream }) - streamHandler.write(StopMessage.encode(request)) + const pbstr = pbStream(stream) + const stopstr = pbstr.pb(StopMessage) + stopstr.write(request) let response try { - response = StopMessage.decode(await streamHandler.read()) + response = await stopstr.read() } catch (err) { log.error('error parsing stop message response from %s', connection.remotePeer) } if (response == null) { log.error('could not read response from %s', connection.remotePeer) - streamHandler.close() + stream.close() return } if (response.status === Status.OK) { log('stop request to %s was successful', connection.remotePeer) - return streamHandler.rest() + return pbstr.unwrap() } log('stop request failed with code %d', response.status) - streamHandler.close() + stream.close() } diff --git a/src/circuit/v2/stream-handler.ts b/src/circuit/v2/stream-handler.ts deleted file mode 100644 index 7568a85333..0000000000 --- a/src/circuit/v2/stream-handler.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { logger } from '@libp2p/logger' -import * as lp from 'it-length-prefixed' -import { Handshake, handshake } from 'it-handshake' -import type { Stream } from '@libp2p/interface-connection' -import type { Source } from 'it-stream-types' - -const log = logger('libp2p:circuit:v2:stream-handler') - -export interface StreamHandlerOptions { - /** - * A duplex iterable - */ - stream: Stream - - /** - * max bytes length of message - */ - maxLength?: number -} - -export class StreamHandlerV2 { - private readonly stream: Stream - private readonly shake: Handshake - private readonly decoder: Source - - constructor (options: StreamHandlerOptions) { - const { stream, maxLength = 4096 } = options - - this.stream = stream - this.shake = handshake(this.stream) - // @ts-expect-error some type incompatibilities - this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength }) - } - - /** - * Read and decode message - * - * @async - */ - async read () { - // @ts-expect-error FIXME is a source, needs to be a generator - const msg = await this.decoder.next() - if (msg.value != null) { - return msg.value.slice() - } - - log('read received no value, closing stream') - // End the stream, we didn't get data - this.close() - } - - write (msg: Uint8Array) { - this.shake.write(lp.encode.single(msg)) - } - - /** - * Return the handshake rest stream and invalidate handler - */ - rest () { - this.shake.rest() - return this.shake.stream - } - - /** - * @param msg - An encoded Uint8Array protobuf message - */ - end (msg: Uint8Array) { - this.write(msg) - this.close() - } - - /** - * Close the stream - * - */ - close () { - log('closing the stream') - void this.rest().sink([]).catch(err => { - log.error(err) - }) - } -} diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 37bbc64753..8d0fcd02e9 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -1,4 +1,4 @@ -import type { Connection } from '@libp2p/interface-connection' +import type { Connection, Stream } from '@libp2p/interface-connection' import { mockConnection, mockDuplex, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' import type { PeerId } from '@libp2p/interface-peer-id' import { expect } from 'aegir/chai' @@ -8,7 +8,6 @@ import { Circuit } from '../../../src/circuit/transport.js' import { handleHopProtocol } from '../../../src/circuit/v2/hop.js' import { HopMessage, Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' import { ReservationStore } from '../../../src/circuit/v2/reservation-store.js' -import { StreamHandlerV2 } from '../../../src/circuit/v2/stream-handler.js' import { Components, DefaultComponents } from '../../../src/components.js' import { DefaultConnectionManager } from '../../../src/connection-manager/index.js' import { DefaultRegistrar } from '../../../src/registrar.js' @@ -20,57 +19,60 @@ import { publicAddressesFirst } from '@libp2p/utils/address-sort' import { PersistentPeerStore } from '@libp2p/peer-store' import { multiaddr } from '@multiformats/multiaddr' import type { AclStatus } from '../../../src/circuit/v2/interfaces.js' +import {pbStream} from 'it-pb-stream' /* eslint-env mocha */ describe('Circuit v2 - hop protocol', function () { describe('reserve', function () { - let relayPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2, reservationStore: ReservationStore + let relayPeer: PeerId, conn: Connection, stream: Stream, reservationStore: ReservationStore beforeEach(async () => { [, relayPeer] = await peerUtils.createPeerIds(2) conn = mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) - streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + stream = mockStream(pair()) reservationStore = new ReservationStore() }) this.afterEach(async function () { - streamHandler.close() await conn.close() }) - it('error on unknow message type', async function () { - const streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + + it('error on unknown message type', async function () { + const stream = mockStream(pair()) + const pbstr = pbStream(stream) await handleHopProtocol({ connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), - streamHandler, + pbstr, request: {}, relayPeer, relayAddrs: [], reservationStore, connectionManager: sinon.stub() as any }) - const msg = HopMessage.decode(await streamHandler.read()) + const msg = await pbstr.pb(HopMessage).read() expect(msg.type).to.be.equal(HopMessage.Type.STATUS) - expect(msg.status).to.be.equal(Status.MALFORMED_MESSAGE) + expect(msg.status).to.be.equal(Status.UNEXPECTED_MESSAGE) }) it('should reserve slot', async function () { const expire: number = 123 const reserveStub = sinon.stub(reservationStore, 'reserve') reserveStub.resolves({ status: Status.OK, expire }) + const pbstr = pbStream(stream) await handleHopProtocol({ request: { type: HopMessage.Type.RESERVE }, connection: conn, - streamHandler, + pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore }) expect(reserveStub.calledOnceWith(conn.remotePeer, conn.remoteAddr)).to.be.true() - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.limit).to.be.undefined() expect(response.status).to.be.equal(Status.OK) @@ -81,12 +83,13 @@ describe('Circuit v2 - hop protocol', function () { it('should fail to reserve slot - acl denied', async function () { const reserveStub = sinon.stub(reservationStore, 'reserve') + const pbstr = pbStream(stream) await handleHopProtocol({ request: { type: HopMessage.Type.RESERVE }, connection: conn, - streamHandler, + pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -94,7 +97,7 @@ describe('Circuit v2 - hop protocol', function () { acl: { allowReserve: async function () { return false }, allowConnect: sinon.stub() as any } }) expect(reserveStub.notCalled).to.be.true() - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.limit).to.be.undefined() expect(response.status).to.be.equal(Status.PERMISSION_DENIED) @@ -103,19 +106,20 @@ describe('Circuit v2 - hop protocol', function () { it('should fail to reserve slot - resource exceeded', async function () { const reserveStub = sinon.stub(reservationStore, 'reserve') reserveStub.resolves({ status: Status.RESERVATION_REFUSED }) + const pbstr = pbStream(stream) await handleHopProtocol({ request: { type: HopMessage.Type.RESERVE }, connection: conn, - streamHandler, + pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore }) expect(reserveStub.calledOnce).to.be.true() - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.limit).to.be.undefined() expect(response.status).to.be.equal(Status.RESERVATION_REFUSED) @@ -126,14 +130,15 @@ describe('Circuit v2 - hop protocol', function () { const removeReservationStub = sinon.stub(reservationStore, 'removeReservation') reserveStub.resolves({ status: Status.OK, expire: 123 }) removeReservationStub.resolves() - const backup = streamHandler.write - streamHandler.write = function () { throw new Error('connection reset') } + const pbstr = pbStream(stream) + const backup = pbstr.write + pbstr.write = function () { throw new Error('connection reset') } await handleHopProtocol({ request: { type: HopMessage.Type.RESERVE }, connection: conn, - streamHandler, + pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -141,18 +146,18 @@ describe('Circuit v2 - hop protocol', function () { }) expect(reserveStub.calledOnce).to.be.true() expect(removeReservationStub.calledOnce).to.be.true() - streamHandler.write = backup + pbstr.write = backup }) }) describe('connect', function () { - let relayPeer: PeerId, dstPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2, reservationStore: ReservationStore, + let relayPeer: PeerId, dstPeer: PeerId, conn: Connection, stream: Stream, reservationStore: ReservationStore, circuit: Circuit, components: Components beforeEach(async () => { [, relayPeer, dstPeer] = await peerUtils.createPeerIds(3) conn = mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) - streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + stream = mockStream(pair()) reservationStore = new ReservationStore() // components components = new DefaultComponents() @@ -198,7 +203,6 @@ describe('Circuit v2 - hop protocol', function () { }) this.afterEach(async function () { - streamHandler.close() await conn.close() }) @@ -211,16 +215,17 @@ describe('Circuit v2 - hop protocol', function () { const streamStub = sinon.stub(dstConn, 'newStream') const dstStream = mockStream(pair()) streamStub.resolves(dstStream) - const dstStreamHandler = new StreamHandlerV2({ stream: dstStream }) - dstStreamHandler.write(StopMessage.encode({ + const dstStreamHandler = pbStream(dstStream) + dstStreamHandler.pb(StopMessage).write({ type: StopMessage.Type.STATUS, status: Status.OK - })) + }) + const pbstr = pbStream(stream) const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) await handleHopProtocol({ connection: conn, - streamHandler, + pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -233,15 +238,16 @@ describe('Circuit v2 - hop protocol', function () { reservationStore, connectionManager: components.connectionManager }) - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.status).to.be.equal(Status.OK) }) it('should fail to connect - invalid request', async function () { + const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - streamHandler, + pbstr: pbstr, request: { type: HopMessage.Type.CONNECT, // @ts-expect-error {} is missing the following properties from peer: id, addrs @@ -250,19 +256,20 @@ describe('Circuit v2 - hop protocol', function () { reservationStore, circuit }) - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.status).to.be.equal(Status.MALFORMED_MESSAGE) }) it('should failed to connect - acl denied', async function () { + const pbstr = pbStream(stream) const acl = { allowConnect: async () => await Promise.resolve(Status.PERMISSION_DENIED as AclStatus), allowReserve: async () => await Promise.resolve(false) } await handleHopProtocol({ connection: conn, - streamHandler, + pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -276,7 +283,7 @@ describe('Circuit v2 - hop protocol', function () { connectionManager: components.connectionManager, acl }) - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.status).to.be.equal(Status.PERMISSION_DENIED) }) @@ -284,9 +291,10 @@ describe('Circuit v2 - hop protocol', function () { it('should fail to connect - no reservation', async function () { const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') hasReservationStub.resolves(false) + const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - streamHandler, + pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -299,7 +307,7 @@ describe('Circuit v2 - hop protocol', function () { reservationStore, connectionManager: components.connectionManager }) - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.status).to.be.equal(Status.NO_RESERVATION) }) @@ -309,9 +317,10 @@ describe('Circuit v2 - hop protocol', function () { hasReservationStub.resolves(true) const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([]) + const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - streamHandler, + pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -324,7 +333,7 @@ describe('Circuit v2 - hop protocol', function () { reservationStore, connectionManager: components.connectionManager }) - const response = HopMessage.decode(await streamHandler.read()) + const response = await pbstr.pb(HopMessage).read() expect(response.type).to.be.equal(HopMessage.Type.STATUS) expect(response.status).to.be.equal(Status.NO_RESERVATION) expect(stub.calledOnce).to.be.true() diff --git a/test/circuit/v2/stop.spec.ts b/test/circuit/v2/stop.spec.ts index 35c62cbfdd..5359233676 100644 --- a/test/circuit/v2/stop.spec.ts +++ b/test/circuit/v2/stop.spec.ts @@ -1,5 +1,4 @@ import { pair } from 'it-pair' -import { StreamHandlerV2 } from './../../../src/circuit/v2/stream-handler.js' import type { Connection } from '@libp2p/interface-connection' import type { PeerId } from '@libp2p/interface-peer-id' import { createPeerIds } from '../../utils/creators/peer.js' @@ -8,44 +7,44 @@ import { Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' import { expect } from 'aegir/chai' import sinon from 'sinon' import { mockConnection, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' +import {pbStream, ProtobufStream} from 'it-pb-stream' /* eslint-env mocha */ describe('Circuit v2 - stop protocol', function () { - let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, streamHandler: StreamHandlerV2 + let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, pbstr: ProtobufStream beforeEach(async () => { [srcPeer, relayPeer] = await createPeerIds(2) - conn = await mockConnection(mockMultiaddrConnection(pair(), relayPeer)) - streamHandler = new StreamHandlerV2({ stream: mockStream(pair()) }) + conn = mockConnection(mockMultiaddrConnection(pair(), relayPeer)) + pbstr = pbStream(mockStream(pair())) }) this.afterEach(async function () { - streamHandler.close() await conn.close() }) it('handle stop - success', async function () { - await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } }, streamHandler }) - const response = StopMessage.decode(await streamHandler.read()) + await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } }, pbstr }) + const response = await pbstr.pb(StopMessage).read() expect(response.status).to.be.equal(Status.OK) }) it('handle stop error - invalid request - wrong type', async function () { - await handleStop({ connection: conn, request: { type: StopMessage.Type.STATUS, peer: { id: srcPeer.toBytes(), addrs: [] } }, streamHandler }) - const response = StopMessage.decode(await streamHandler.read()) + await handleStop({ connection: conn, request: { type: StopMessage.Type.STATUS, peer: { id: srcPeer.toBytes(), addrs: [] } }, pbstr }) + const response = await pbstr.pb(StopMessage).read() expect(response.status).to.be.equal(Status.UNEXPECTED_MESSAGE) }) it('handle stop error - invalid request - missing peer', async function () { - await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT }, streamHandler }) - const response = StopMessage.decode(await streamHandler.read()) + await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT }, pbstr }) + const response = await pbstr.pb(StopMessage).read() expect(response.status).to.be.equal(Status.MALFORMED_MESSAGE) }) it('handle stop error - invalid request - invalid peer addr', async function () { - await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [new Uint8Array(32)] } }, streamHandler }) - const response = StopMessage.decode(await streamHandler.read()) + await handleStop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [new Uint8Array(32)] } }, pbstr }) + const response = await pbstr.pb(StopMessage).read() expect(response.status).to.be.equal(Status.MALFORMED_MESSAGE) }) @@ -53,16 +52,13 @@ describe('Circuit v2 - stop protocol', function () { const streamStub = sinon.stub(conn, 'newStream') streamStub.resolves(mockStream(pair())) await stop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } } }) - streamHandler.write(StopMessage.encode({ - type: StopMessage.Type.STATUS, - status: Status.OK - })) + pbstr.pb(StopMessage).write({ type: StopMessage.Type.STATUS, status: Status.OK }) }) it('send stop - should not fall apart with invalid status response', async function () { const streamStub = sinon.stub(conn, 'newStream') streamStub.resolves(mockStream(pair())) await stop({ connection: conn, request: { type: StopMessage.Type.CONNECT, peer: { id: srcPeer.toBytes(), addrs: [] } } }) - streamHandler.write(new Uint8Array(10)) + pbstr.write(new Uint8Array(10)) }) }) diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index e623db28cf..9c64e2adf7 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -79,7 +79,7 @@ describe('auto-relay', () => { beforeEach(async () => { // Create 4 nodes, and turn HOP on for the relay - [libp2p, relayLibp2p1, relayLibp2p2, relayLibp2p3] = await Promise.all([ + ;[libp2p, relayLibp2p1, relayLibp2p2, relayLibp2p3] = await Promise.all([ createNode({ config: createNodeOptions() }), createNode({ config: createRelayOptions() }), createNode({ config: createRelayOptions() }), From 3afc8b9d0d3bc7b212ff3901febf74a6efb01cb3 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Feb 2023 21:27:02 +0530 Subject: [PATCH 27/58] fix lint --- src/circuit/transport.ts | 4 +- src/circuit/v2/hop.ts | 74 +++++++++++++++++------------------ src/circuit/v2/stop.ts | 28 ++++++------- test/circuit/v2/hop.spec.ts | 2 +- test/circuit/v2/stop.spec.ts | 2 +- test/relay/auto-relay.node.ts | 2 +- 6 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index e9e01105b0..e3662fba31 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -28,8 +28,8 @@ import type { Startable } from '@libp2p/interfaces/dist/src/startable' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { AddressManager } from '@libp2p/interface-address-manager' import { pbStream } from 'it-pb-stream' -import type {Duplex} from 'it-stream-types' -import type {Uint8ArrayList} from 'uint8arraylist' +import type { Duplex } from 'it-stream-types' +import type { Uint8ArrayList } from 'uint8arraylist' const log = logger('libp2p:circuit') diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index fcbc030a91..44e10d9e65 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -1,21 +1,21 @@ -import type {PeerId} from '@libp2p/interface-peer-id' -import {RecordEnvelope} from '@libp2p/peer-record' -import {logger} from '@libp2p/logger' -import {pipe} from 'it-pipe' -import type {Connection} from '@libp2p/interface-connection' -import {HopMessage, Limit, Reservation, Status, StopMessage} from './pb/index.js' -import type {Multiaddr} from '@multiformats/multiaddr' -import {multiaddr} from '@multiformats/multiaddr' -import type {Acl, ReservationStore} from './interfaces.js' -import {RELAY_V2_HOP_CODEC} from '../multicodec.js' -import {stop} from './stop.js' -import {ReservationVoucherRecord} from './reservation-voucher.js' -import {peerIdFromBytes} from '@libp2p/peer-id' -import type {ConnectionManager} from '@libp2p/interface-connection-manager' -import type {ProtobufStream} from 'it-pb-stream' -import {pbStream} from 'it-pb-stream' -import type {Uint8ArrayList} from 'uint8arraylist' -import type {Duplex} from 'it-stream-types' +import type { PeerId } from '@libp2p/interface-peer-id' +import { RecordEnvelope } from '@libp2p/peer-record' +import { logger } from '@libp2p/logger' +import { pipe } from 'it-pipe' +import type { Connection } from '@libp2p/interface-connection' +import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' +import type { Multiaddr } from '@multiformats/multiaddr' +import { multiaddr } from '@multiformats/multiaddr' +import type { Acl, ReservationStore } from './interfaces.js' +import { RELAY_V2_HOP_CODEC } from '../multicodec.js' +import { stop } from './stop.js' +import { ReservationVoucherRecord } from './reservation-voucher.js' +import { peerIdFromBytes } from '@libp2p/peer-id' +import type { ConnectionManager } from '@libp2p/interface-connection-manager' +import type { ProtobufStream } from 'it-pb-stream' +import { pbStream } from 'it-pb-stream' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Duplex } from 'it-stream-types' const log = logger('libp2p:circuit:v2:hop') @@ -31,25 +31,25 @@ export interface HopProtocolOptions { connectionManager: ConnectionManager } -export async function handleHopProtocol(options: HopProtocolOptions) { - const {pbstr, request} = options; - log("received hop message") +export async function handleHopProtocol (options: HopProtocolOptions) { + const { pbstr, request } = options + log('received hop message') switch (request.type) { case HopMessage.Type.RESERVE: await handleReserve(options); break case HopMessage.Type.CONNECT: await handleConnect(options); break default: { log.error('invalid hop request type %s via peer %s', options.request.type, options.connection.remotePeer) - pbstr.pb(HopMessage).write({type: HopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE}) + pbstr.pb(HopMessage).write({ type: HopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE }) } } } -export async function reserve(connection: Connection) { +export async function reserve (connection: Connection) { log('requesting reservation from %s', connection.remotePeer) const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) const pbstr = pbStream(stream) const hopstr = pbstr.pb(HopMessage) - hopstr.write({type: HopMessage.Type.RESERVE}) + hopstr.write({ type: HopMessage.Type.RESERVE }) let response: HopMessage try { @@ -68,7 +68,7 @@ export async function reserve(connection: Connection) { throw new Error(errMsg) } -async function handleReserve({connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore}: HopProtocolOptions) { +async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) @@ -76,14 +76,14 @@ async function handleReserve({connection, pbstr, relayPeer, relayAddrs, limit, a if ((await acl?.allowReserve?.(connection.remotePeer, connection.remoteAddr)) === false) { log.error('acl denied reservation to %s', connection.remotePeer) - hopstr.write({type: HopMessage.Type.STATUS, status: Status.PERMISSION_DENIED}) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.PERMISSION_DENIED }) return } const result = await reservationStore.reserve(connection.remotePeer, connection.remoteAddr) if (result.status !== Status.OK) { - hopstr.write({type: HopMessage.Type.STATUS, status: result.status}) + hopstr.write({ type: HopMessage.Type.STATUS, status: result.status }) return } @@ -103,8 +103,8 @@ async function handleReserve({connection, pbstr, relayPeer, relayAddrs, limit, a // TODO: how to ensure connection manager doesn't close reserved relay conn } -async function handleConnect(options: HopProtocolOptions) { - const {connection, pbstr, request, reservationStore, connectionManager, acl} = options +async function handleConnect (options: HopProtocolOptions) { + const { connection, pbstr, request, reservationStore, connectionManager, acl } = options const hopstr = pbstr.pb(HopMessage) log('hop connect request from %s', connection.remotePeer) @@ -119,7 +119,7 @@ async function handleConnect(options: HopProtocolOptions) { dstPeer = peerIdFromBytes(request.peer.id) } catch (err) { log.error('invalid hop connect request via peer %p %s', connection.remotePeer, err) - hopstr.write({type: HopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE}) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE }) return } @@ -127,21 +127,21 @@ async function handleConnect(options: HopProtocolOptions) { const status = await acl.allowConnect(connection.remotePeer, connection.remoteAddr, dstPeer) if (status !== Status.OK) { log.error('hop connect denied for %s with status %s', connection.remotePeer, status) - hopstr.write({type: HopMessage.Type.STATUS, status: status}) + hopstr.write({ type: HopMessage.Type.STATUS, status: status }) return } } if (!await reservationStore.hasReservation(dstPeer)) { log.error('hop connect denied for %s with status %s', connection.remotePeer, Status.NO_RESERVATION) - hopstr.write({type: HopMessage.Type.STATUS, status: Status.NO_RESERVATION}) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.NO_RESERVATION }) return } const connections = connectionManager.getConnections(dstPeer) if (connections.length === 0) { log('hop connect denied for %s as there is no destination connection', connection.remotePeer) - hopstr.write({type: HopMessage.Type.STATUS, status: Status.NO_RESERVATION}) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.NO_RESERVATION }) return } const destinationConnection = connections[0] @@ -160,11 +160,11 @@ async function handleConnect(options: HopProtocolOptions) { if (destinationStream == null) { log.error('failed to open stream to destination peer %s', destinationConnection?.remotePeer) - hopstr.write({type: HopMessage.Type.STATUS, status: Status.CONNECTION_FAILED}) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.CONNECTION_FAILED }) return } - hopstr.write({type: HopMessage.Type.STATUS, status: Status.OK}) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.OK }) const sourceStream = pbstr.unwrap() log('connection to destination established, short circuiting streams...') @@ -184,11 +184,11 @@ async function handleConnect(options: HopProtocolOptions) { // yield buf.subarray() // } // }, - sourceStream as Duplex, + sourceStream as Duplex ) } -async function makeReservation( +async function makeReservation ( relayAddrs: Multiaddr[], relayPeerId: PeerId, remotePeer: PeerId, diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index 7140e7b87e..0e255030d6 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -1,13 +1,13 @@ -import {Status, StopMessage} from './pb/index.js' -import type {Connection} from '@libp2p/interface-connection' +import { Status, StopMessage } from './pb/index.js' +import type { Connection } from '@libp2p/interface-connection' -import {logger} from '@libp2p/logger' -import {RELAY_V2_STOP_CODEC} from '../multicodec.js' -import {multiaddr} from '@multiformats/multiaddr' -import {pbStream, ProtobufStream} from 'it-pb-stream' -import type {Uint8ArrayList} from 'uint8arraylist' -import type {Duplex} from 'it-stream-types' +import { logger } from '@libp2p/logger' +import { RELAY_V2_STOP_CODEC } from '../multicodec.js' +import { multiaddr } from '@multiformats/multiaddr' +import { pbStream, ProtobufStream } from 'it-pb-stream' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Duplex } from 'it-stream-types' const log = logger('libp2p:circuit:v2:stop') @@ -28,29 +28,29 @@ const isValidStop = (request: StopMessage): boolean => { } return true } -export async function handleStop({ +export async function handleStop ({ connection, request, - pbstr, + pbstr }: HandleStopOptions) { const stopstr = pbstr.pb(StopMessage) log('new circuit relay v2 stop stream from %s', connection.remotePeer) // Validate the STOP request has the required input if (request.type !== StopMessage.Type.CONNECT) { log.error('invalid stop connect request via peer %s', connection.remotePeer) - stopstr.write({type: StopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE}) + stopstr.write({ type: StopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE }) return } if (!isValidStop(request)) { log.error('invalid stop connect request via peer %s', connection.remotePeer) - stopstr.write({type: StopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE}) + stopstr.write({ type: StopMessage.Type.STATUS, status: Status.MALFORMED_MESSAGE }) return } // TODO: go-libp2p marks connection transient if there is limit field present in request. // Cannot find any reference to transient connections in js-libp2p - stopstr.write({type: StopMessage.Type.STATUS, status: Status.OK}) + stopstr.write({ type: StopMessage.Type.STATUS, status: Status.OK }) return pbstr.unwrap() } @@ -63,7 +63,7 @@ export interface StopOptions { * Creates a STOP request * */ -export async function stop({ +export async function stop ({ connection, request }: StopOptions): Promise | undefined> { diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 8d0fcd02e9..dd56acc7ce 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -19,7 +19,7 @@ import { publicAddressesFirst } from '@libp2p/utils/address-sort' import { PersistentPeerStore } from '@libp2p/peer-store' import { multiaddr } from '@multiformats/multiaddr' import type { AclStatus } from '../../../src/circuit/v2/interfaces.js' -import {pbStream} from 'it-pb-stream' +import { pbStream } from 'it-pb-stream' /* eslint-env mocha */ diff --git a/test/circuit/v2/stop.spec.ts b/test/circuit/v2/stop.spec.ts index 5359233676..e246b5ac41 100644 --- a/test/circuit/v2/stop.spec.ts +++ b/test/circuit/v2/stop.spec.ts @@ -7,7 +7,7 @@ import { Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' import { expect } from 'aegir/chai' import sinon from 'sinon' import { mockConnection, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' -import {pbStream, ProtobufStream} from 'it-pb-stream' +import { pbStream, ProtobufStream } from 'it-pb-stream' /* eslint-env mocha */ diff --git a/test/relay/auto-relay.node.ts b/test/relay/auto-relay.node.ts index 9c64e2adf7..e623db28cf 100644 --- a/test/relay/auto-relay.node.ts +++ b/test/relay/auto-relay.node.ts @@ -79,7 +79,7 @@ describe('auto-relay', () => { beforeEach(async () => { // Create 4 nodes, and turn HOP on for the relay - ;[libp2p, relayLibp2p1, relayLibp2p2, relayLibp2p3] = await Promise.all([ + [libp2p, relayLibp2p1, relayLibp2p2, relayLibp2p3] = await Promise.all([ createNode({ config: createNodeOptions() }), createNode({ config: createRelayOptions() }), createNode({ config: createRelayOptions() }), From 7901093404b4c8cbfb7b415e46273ed837e78d8b Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Feb 2023 21:54:12 +0530 Subject: [PATCH 28/58] fix onError callback --- src/circuit/client.ts | 13 ++++++++----- src/circuit/relay.ts | 3 +-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 708e32ebdb..035a35444a 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -37,7 +37,7 @@ export interface CircuitServiceInit extends RelayReservationManagerConfig { /** * A callback to invoke when an error occurs in the circuit service. */ - onError?: (error: Error, msg?: string) => void + onError?: (error: Error) => void } export interface RelayReservationManagerEvents { @@ -54,7 +54,7 @@ export class RelayReservationManager extends EventEmitter> - private readonly onError: (error: Error, msg?: string) => void + private readonly onError: (error: Error) => void private started: boolean constructor (components: Components, init: CircuitServiceInit) { @@ -142,6 +142,7 @@ export class RelayReservationManager extends EventEmitter void hop: HopConfig advertise: RelayAdvertiseConfig } @@ -81,7 +80,7 @@ export class Relay implements Startable { log.error('a content router, such as a DHT, must be provided in order to advertise the relay service', err) await this.stop() } else { - log.error(err) + log.error('could not advertise service: ', err) } } } From 996eed26ed554e96a34defc8ff928dec3a95ac3c Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 3 Feb 2023 10:34:23 +0530 Subject: [PATCH 29/58] deny reservation over relayed connection --- src/circuit/v2/hop.ts | 9 ++++++++- test/circuit/v2/hop.spec.ts | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 44e10d9e65..50f7329ad1 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -16,6 +16,7 @@ import type { ProtobufStream } from 'it-pb-stream' import { pbStream } from 'it-pb-stream' import type { Uint8ArrayList } from 'uint8arraylist' import type { Duplex } from 'it-stream-types' +import { CIRCUIT_PROTO_CODE } from '../constants.js' const log = logger('libp2p:circuit:v2:hop') @@ -68,11 +69,17 @@ export async function reserve (connection: Connection) { throw new Error(errMsg) } +const isRelayAddr = (ma: Multiaddr): boolean => ma.protoCodes().includes(CIRCUIT_PROTO_CODE) + async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) - // TODO: prevent reservation over relay address + if (isRelayAddr(connection.remoteAddr)) { + log.error('relay reservation over circuit connection denied for peer: %p', connection.remotePeer) + hopstr.write({ type: HopMessage.Type.STATUS, status: Status.PERMISSION_DENIED }) + return + } if ((await acl?.allowReserve?.(connection.remotePeer, connection.remoteAddr)) === false) { log.error('acl denied reservation to %s', connection.remotePeer) diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index dd56acc7ce..81109a34eb 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -35,6 +35,7 @@ describe('Circuit v2 - hop protocol', function () { }) this.afterEach(async function () { + sinon.restore() await conn.close() }) @@ -81,6 +82,29 @@ describe('Circuit v2 - hop protocol', function () { expect(response.reservation?.addrs?.length).to.be.greaterThan(0) }) + it('should fail to reserve slot - relayed connection', async function () { + const reserveStub = sinon.stub(reservationStore, 'reserve') + const connStub = sinon.stub(conn, 'remoteAddr') + connStub.value(multiaddr('/ip4/127.0.0.1/tcp/1234/p2p-circuit')) + const pbstr = pbStream(stream) + await handleHopProtocol({ + request: { + type: HopMessage.Type.RESERVE + }, + connection: conn, + pbstr, + relayPeer, + connectionManager: sinon.stub() as any, + relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + reservationStore + }) + expect(reserveStub.notCalled).to.be.true() + const response = await pbstr.pb(HopMessage).read() + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.limit).to.be.undefined() + expect(response.status).to.be.equal(Status.PERMISSION_DENIED) + }) + it('should fail to reserve slot - acl denied', async function () { const reserveStub = sinon.stub(reservationStore, 'reserve') const pbstr = pbStream(stream) From dfcb61091e19ae31a2e1eeefd631353bad928e94 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 3 Feb 2023 10:51:06 +0530 Subject: [PATCH 30/58] disable relay for tests --- test/interop.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/interop.ts b/test/interop.ts index 10fc85822f..7e878516cc 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -95,7 +95,8 @@ async function createJsPeer (options: SpawnOptions): Promise { }, transports: [tcp()], streamMuxers: [], - connectionEncryption: [noise()] + connectionEncryption: [noise()], + relay: { enabled: false }, } if (options.muxer === 'mplex') { From 881d1e97c7e1751ad5ff97fd80706d15a7fdce93 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 3 Feb 2023 10:54:05 +0530 Subject: [PATCH 31/58] fix start --- src/circuit/transport.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index e3662fba31..f4a6c85f4e 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -84,7 +84,7 @@ export class Circuit implements Transport, Startable { // only handle hop if enabled if (this._init.hop.enabled === true) { - await this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { + void this.components.registrar.handle(RELAY_V2_HOP_CODEC, (data) => { void this.onHop(data).catch(err => { log.error(err) }) @@ -94,7 +94,7 @@ export class Circuit implements Transport, Startable { }) } - await this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { + void this.components.registrar.handle(RELAY_V2_STOP_CODEC, (data) => { void this.onStop(data).catch(err => { log.error(err) }) @@ -104,7 +104,7 @@ export class Circuit implements Transport, Startable { }) if (this._init.hop.enabled === true) { - this.reservationStore.start() + void this.reservationStore.start() } } From 530f42818b7e6a9d79dc6b5d9b85a29af116ca13 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 3 Feb 2023 10:57:16 +0530 Subject: [PATCH 32/58] revert interop --- test/interop.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/interop.ts b/test/interop.ts index 7e878516cc..10fc85822f 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -95,8 +95,7 @@ async function createJsPeer (options: SpawnOptions): Promise { }, transports: [tcp()], streamMuxers: [], - connectionEncryption: [noise()], - relay: { enabled: false }, + connectionEncryption: [noise()] } if (options.muxer === 'mplex') { From 5e1d3e03db21acaec8ff2882aff7c75953007c67 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 8 Feb 2023 12:09:07 +0530 Subject: [PATCH 33/58] remove all circuitv1 code --- src/circuit/client.ts | 19 ++- src/circuit/multicodec.ts | 1 - src/circuit/transport.ts | 70 ++-------- src/circuit/v1/hop.ts | 45 ------ src/circuit/v1/index.ts | 11 -- src/circuit/v1/pb/index.proto | 42 ------ src/circuit/v1/pb/index.ts | 229 ------------------------------- src/circuit/v1/stop.ts | 83 ----------- src/circuit/v1/stream-handler.ts | 87 ------------ src/circuit/v1/utils.ts | 44 ------ 10 files changed, 26 insertions(+), 605 deletions(-) delete mode 100644 src/circuit/v1/hop.ts delete mode 100644 src/circuit/v1/index.ts delete mode 100644 src/circuit/v1/pb/index.proto delete mode 100644 src/circuit/v1/pb/index.ts delete mode 100644 src/circuit/v1/stop.ts delete mode 100644 src/circuit/v1/stream-handler.ts delete mode 100644 src/circuit/v1/utils.ts diff --git a/src/circuit/client.ts b/src/circuit/client.ts index 035a35444a..a38915243a 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -72,13 +72,12 @@ export class RelayReservationManager extends EventEmitter { void this._onProtocolChange(evt.detail).catch(err => { - log.error(err) + log.error('handling protocol change failed', err) }) }) - this.components.connectionManager.addEventListener('peer:disconnect', (evt) => { - this._onPeerDisconnected(evt) - }) + this.components.connectionManager.addEventListener('peer:disconnect', this._onPeerDisconnected) + this.components.connectionManager.addEventListener('peer:connect', () => {}) } isStarted () { @@ -147,6 +146,18 @@ export class RelayReservationManager extends EventEmitter) { + void this.components.peerStore.protoBook.get(connection.remotePeer) + .then((protocols) => { + void this._onProtocolChange({ peerId: connection.remotePeer, protocols }) + .catch((err) => log.error('handling reconnect failed', err)) + }) + } + /** * Peer disconnects */ diff --git a/src/circuit/multicodec.ts b/src/circuit/multicodec.ts index 3be1e364c4..f1c290732c 100644 --- a/src/circuit/multicodec.ts +++ b/src/circuit/multicodec.ts @@ -1,4 +1,3 @@ -export const RELAY_V1_CODEC = '/libp2p/circuit/relay/0.1.0' export const RELAY_V2_HOP_CODEC = '/libp2p/circuit/relay/0.2.0/hop' export const RELAY_V2_STOP_CODEC = '/libp2p/circuit/relay/0.2.0/stop' diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index f4a6c85f4e..11e88d50e6 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -1,4 +1,3 @@ -import * as CircuitV1 from './v1/pb/index.js' import * as CircuitV2 from './v2/pb/index.js' import { ReservationStore } from './v2/reservation-store.js' import { logger } from '@libp2p/logger' @@ -7,7 +6,7 @@ import * as mafmt from '@multiformats/mafmt' import { multiaddr } from '@multiformats/multiaddr' import { codes } from '../errors.js' import { streamToMaConnection } from '@libp2p/utils/stream-to-ma-conn' -import { RELAY_V2_HOP_CODEC, RELAY_V1_CODEC, RELAY_V2_STOP_CODEC } from './multicodec.js' +import { RELAY_V2_HOP_CODEC, RELAY_V2_STOP_CODEC } from './multicodec.js' import { createListener } from './listener.js' import { symbol, TransportManager, Upgrader } from '@libp2p/interface-transport' import { peerIdFromString } from '@libp2p/peer-id' @@ -20,7 +19,6 @@ import { abortableDuplex } from 'abortable-iterator' import { TimeoutController } from 'timeout-abort-controller' import { setMaxListeners } from 'events' import type { PeerId } from '@libp2p/interface-peer-id' -import * as CircuitV1Handler from './v1/index.js' import * as CircuitV2Handler from './v2/index.js' import type { Multiaddr } from '@multiformats/multiaddr' import type { PeerStore } from '@libp2p/interface-peer-store' @@ -222,31 +220,16 @@ export class Circuit implements Transport, Startable { } try { - const stream = await relayConnection.newStream([RELAY_V2_HOP_CODEC, RELAY_V1_CODEC]) - - switch (stream.stat.protocol) { - case RELAY_V1_CODEC: return await this.connectV1({ - stream, - connection: relayConnection, - destinationPeer, - destinationAddr, - relayAddr, - ma, - disconnectOnFailure - }) - case RELAY_V2_HOP_CODEC: return await this.connectV2({ - stream, - connection: relayConnection, - destinationPeer, - destinationAddr, - relayAddr, - ma, - disconnectOnFailure - }) - default: - stream.reset() - throw new Error('Unexpected stream protocol') - } + const stream = await relayConnection.newStream([RELAY_V2_HOP_CODEC]) + return await this.connectV2({ + stream, + connection: relayConnection, + destinationPeer, + destinationAddr, + relayAddr, + ma, + disconnectOnFailure + }) } catch (err: any) { log.error('Circuit relay dial failed', err) disconnectOnFailure && await relayConnection.close() @@ -254,37 +237,6 @@ export class Circuit implements Transport, Startable { } } - async connectV1 ({ - stream, destinationPeer, - destinationAddr, relayAddr, ma - }: ConnectOptions - ) { - const virtualConnection = await CircuitV1Handler.hop({ - stream, - request: { - type: CircuitV1.CircuitRelay.Type.HOP, - srcPeer: { - id: this.components.peerId.toBytes(), - addrs: this.components.addressManager.getListenAddrs().map(addr => addr.bytes) - }, - dstPeer: { - id: destinationPeer.toBytes(), - addrs: [multiaddr(destinationAddr).bytes] - } - } - }) - - const localAddr = relayAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`) - const maConn = streamToMaConnection({ - stream: virtualConnection, - remoteAddr: ma, - localAddr - }) - log('new outbound connection %s', maConn.remoteAddr) - - return await this.components.upgrader.upgradeOutbound(maConn) - } - async connectV2 ( { stream, connection, destinationPeer, diff --git a/src/circuit/v1/hop.ts b/src/circuit/v1/hop.ts deleted file mode 100644 index 5be9ae620e..0000000000 --- a/src/circuit/v1/hop.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { logger } from '@libp2p/logger' -import errCode from 'err-code' -import { StreamHandlerV1 } from './stream-handler.js' -import { CircuitRelay } from './pb/index.js' -import { codes as Errors } from '../../errors.js' -import type { Stream } from '@libp2p/interface-connection' -import type { Duplex } from 'it-stream-types' -import type { Uint8ArrayList } from 'uint8arraylist' - -const log = logger('libp2p:circuit:v1:hop') -export interface HopConfig { - stream: Stream - request: CircuitRelay -} - -/** - * Performs a HOP request to a relay peer, to request a connection to another - * peer. A new, virtual, connection will be created between the two via the relay. - */ -export async function hop (options: HopConfig): Promise> { - const { - stream, - request - } = options - - // Send the HOP request - const streamHandler = new StreamHandlerV1({ stream }) - streamHandler.write(request) - - const response = await streamHandler.read() - - if (response == null) { - throw errCode(new Error('HOP request had no response'), Errors.ERR_HOP_REQUEST_FAILED) - } - - if (response.code === CircuitRelay.Status.SUCCESS) { - log('hop request was successful') - return streamHandler.rest() - } - - log('hop request failed with code %d, closing stream', response.code) - streamHandler.close() - - throw errCode(new Error(`HOP request failed with code "${response.code ?? 'unknown'}"`), Errors.ERR_HOP_REQUEST_FAILED) -} diff --git a/src/circuit/v1/index.ts b/src/circuit/v1/index.ts deleted file mode 100644 index c78171a98c..0000000000 --- a/src/circuit/v1/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { CircuitRelay } from './pb/index.js' -import type { StreamHandlerV1 } from './stream-handler.js' -export * from './hop.js' - -export function handleCircuitV1Error (streamHandler: StreamHandlerV1, code: CircuitRelay.Status): void { - streamHandler.write({ - type: CircuitRelay.Type.STATUS, - code - }) - streamHandler.close() -} diff --git a/src/circuit/v1/pb/index.proto b/src/circuit/v1/pb/index.proto deleted file mode 100644 index 1eaec2e29b..0000000000 --- a/src/circuit/v1/pb/index.proto +++ /dev/null @@ -1,42 +0,0 @@ -syntax = "proto3"; - -message CircuitRelay { - - enum Status { - SUCCESS = 100; - HOP_SRC_ADDR_TOO_LONG = 220; - HOP_DST_ADDR_TOO_LONG = 221; - HOP_SRC_MULTIADDR_INVALID = 250; - HOP_DST_MULTIADDR_INVALID = 251; - HOP_NO_CONN_TO_DST = 260; - HOP_CANT_DIAL_DST = 261; - HOP_CANT_OPEN_DST_STREAM = 262; - HOP_CANT_SPEAK_RELAY = 270; - HOP_CANT_RELAY_TO_SELF = 280; - STOP_SRC_ADDR_TOO_LONG = 320; - STOP_DST_ADDR_TOO_LONG = 321; - STOP_SRC_MULTIADDR_INVALID = 350; - STOP_DST_MULTIADDR_INVALID = 351; - STOP_RELAY_REFUSED = 390; - MALFORMED_MESSAGE = 400; - } - - enum Type { // RPC identifier, either HOP, STOP or STATUS - HOP = 1; - STOP = 2; - STATUS = 3; - CAN_HOP = 4; - } - - message Peer { - required bytes id = 1; // peer id - repeated bytes addrs = 2; // peer's known addresses - } - - optional Type type = 1; // Type of the message - - optional Peer srcPeer = 2; // srcPeer and dstPeer are used when Type is HOP or STATUS - optional Peer dstPeer = 3; - - optional Status code = 4; // Status code, used when Type is STATUS -} diff --git a/src/circuit/v1/pb/index.ts b/src/circuit/v1/pb/index.ts deleted file mode 100644 index 533fd39669..0000000000 --- a/src/circuit/v1/pb/index.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* eslint-disable import/export */ -/* eslint-disable complexity */ -/* eslint-disable @typescript-eslint/no-namespace */ -/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ - -import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Codec } from 'protons-runtime' - -export interface CircuitRelay { - type?: CircuitRelay.Type - srcPeer?: CircuitRelay.Peer - dstPeer?: CircuitRelay.Peer - code?: CircuitRelay.Status -} - -export namespace CircuitRelay { - export enum Status { - SUCCESS = 'SUCCESS', - HOP_SRC_ADDR_TOO_LONG = 'HOP_SRC_ADDR_TOO_LONG', - HOP_DST_ADDR_TOO_LONG = 'HOP_DST_ADDR_TOO_LONG', - HOP_SRC_MULTIADDR_INVALID = 'HOP_SRC_MULTIADDR_INVALID', - HOP_DST_MULTIADDR_INVALID = 'HOP_DST_MULTIADDR_INVALID', - HOP_NO_CONN_TO_DST = 'HOP_NO_CONN_TO_DST', - HOP_CANT_DIAL_DST = 'HOP_CANT_DIAL_DST', - HOP_CANT_OPEN_DST_STREAM = 'HOP_CANT_OPEN_DST_STREAM', - HOP_CANT_SPEAK_RELAY = 'HOP_CANT_SPEAK_RELAY', - HOP_CANT_RELAY_TO_SELF = 'HOP_CANT_RELAY_TO_SELF', - STOP_SRC_ADDR_TOO_LONG = 'STOP_SRC_ADDR_TOO_LONG', - STOP_DST_ADDR_TOO_LONG = 'STOP_DST_ADDR_TOO_LONG', - STOP_SRC_MULTIADDR_INVALID = 'STOP_SRC_MULTIADDR_INVALID', - STOP_DST_MULTIADDR_INVALID = 'STOP_DST_MULTIADDR_INVALID', - STOP_RELAY_REFUSED = 'STOP_RELAY_REFUSED', - MALFORMED_MESSAGE = 'MALFORMED_MESSAGE' - } - - enum __StatusValues { - SUCCESS = 100, - HOP_SRC_ADDR_TOO_LONG = 220, - HOP_DST_ADDR_TOO_LONG = 221, - HOP_SRC_MULTIADDR_INVALID = 250, - HOP_DST_MULTIADDR_INVALID = 251, - HOP_NO_CONN_TO_DST = 260, - HOP_CANT_DIAL_DST = 261, - HOP_CANT_OPEN_DST_STREAM = 262, - HOP_CANT_SPEAK_RELAY = 270, - HOP_CANT_RELAY_TO_SELF = 280, - STOP_SRC_ADDR_TOO_LONG = 320, - STOP_DST_ADDR_TOO_LONG = 321, - STOP_SRC_MULTIADDR_INVALID = 350, - STOP_DST_MULTIADDR_INVALID = 351, - STOP_RELAY_REFUSED = 390, - MALFORMED_MESSAGE = 400 - } - - export namespace Status { - export const codec = () => { - return enumeration(__StatusValues) - } - } - - export enum Type { - HOP = 'HOP', - STOP = 'STOP', - STATUS = 'STATUS', - CAN_HOP = 'CAN_HOP' - } - - enum __TypeValues { - HOP = 1, - STOP = 2, - STATUS = 3, - CAN_HOP = 4 - } - - export namespace Type { - export const codec = () => { - return enumeration(__TypeValues) - } - } - - export interface Peer { - id: Uint8Array - addrs: Uint8Array[] - } - - export namespace Peer { - let _codec: Codec - - export const codec = (): Codec => { - if (_codec == null) { - _codec = message((obj, w, opts = {}) => { - if (opts.lengthDelimited !== false) { - w.fork() - } - - if (opts.writeDefaults === true || (obj.id != null && obj.id.byteLength > 0)) { - w.uint32(10) - w.bytes(obj.id) - } - - if (obj.addrs != null) { - for (const value of obj.addrs) { - w.uint32(18) - w.bytes(value) - } - } - - if (opts.lengthDelimited !== false) { - w.ldelim() - } - }, (reader, length) => { - const obj: any = { - id: new Uint8Array(0), - addrs: [] - } - - const end = length == null ? reader.len : reader.pos + length - - while (reader.pos < end) { - const tag = reader.uint32() - - switch (tag >>> 3) { - case 1: - obj.id = reader.bytes() - break - case 2: - obj.addrs.push(reader.bytes()) - break - default: - reader.skipType(tag & 7) - break - } - } - - return obj - }) - } - - return _codec - } - - export const encode = (obj: Peer): Uint8Array => { - return encodeMessage(obj, Peer.codec()) - } - - export const decode = (buf: Uint8Array | Uint8ArrayList): Peer => { - return decodeMessage(buf, Peer.codec()) - } - } - - let _codec: Codec - - export const codec = (): Codec => { - if (_codec == null) { - _codec = message((obj, w, opts = {}) => { - if (opts.lengthDelimited !== false) { - w.fork() - } - - if (obj.type != null) { - w.uint32(8) - CircuitRelay.Type.codec().encode(obj.type, w) - } - - if (obj.srcPeer != null) { - w.uint32(18) - CircuitRelay.Peer.codec().encode(obj.srcPeer, w, { - writeDefaults: false - }) - } - - if (obj.dstPeer != null) { - w.uint32(26) - CircuitRelay.Peer.codec().encode(obj.dstPeer, w, { - writeDefaults: false - }) - } - - if (obj.code != null) { - w.uint32(32) - CircuitRelay.Status.codec().encode(obj.code, w) - } - - if (opts.lengthDelimited !== false) { - w.ldelim() - } - }, (reader, length) => { - const obj: any = {} - - const end = length == null ? reader.len : reader.pos + length - - while (reader.pos < end) { - const tag = reader.uint32() - - switch (tag >>> 3) { - case 1: - obj.type = CircuitRelay.Type.codec().decode(reader) - break - case 2: - obj.srcPeer = CircuitRelay.Peer.codec().decode(reader, reader.uint32()) - break - case 3: - obj.dstPeer = CircuitRelay.Peer.codec().decode(reader, reader.uint32()) - break - case 4: - obj.code = CircuitRelay.Status.codec().decode(reader) - break - default: - reader.skipType(tag & 7) - break - } - } - - return obj - }) - } - - return _codec - } - - export const encode = (obj: CircuitRelay): Uint8Array => { - return encodeMessage(obj, CircuitRelay.codec()) - } - - export const decode = (buf: Uint8Array | Uint8ArrayList): CircuitRelay => { - return decodeMessage(buf, CircuitRelay.codec()) - } -} diff --git a/src/circuit/v1/stop.ts b/src/circuit/v1/stop.ts deleted file mode 100644 index 278b554abb..0000000000 --- a/src/circuit/v1/stop.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { logger } from '@libp2p/logger' -import { CircuitRelay } from './pb/index.js' -import { RELAY_V1_CODEC } from '../multicodec.js' -import { StreamHandlerV1 } from './stream-handler.js' -import { validateAddrs } from './utils.js' -import type { Connection } from '@libp2p/interface-connection' -import type { Duplex } from 'it-stream-types' -import type { AbortOptions } from '@libp2p/interfaces' -import type { Uint8ArrayList } from 'uint8arraylist' - -const log = logger('libp2p:circuit:v1:stop') - -export interface HandleStopOptions { - connection: Connection - request: CircuitRelay - streamHandler: StreamHandlerV1 -} - -/** - * Handles incoming STOP requests - */ -export function handleStop (options: HandleStopOptions): Duplex | undefined { - const { - connection, - request, - streamHandler - } = options - - // Validate the STOP request has the required input - try { - validateAddrs(request, streamHandler) - } catch (err: any) { - log.error('invalid stop request via peer %p %o', connection.remotePeer, err) - return - } - - // The request is valid - log('stop request is valid') - streamHandler.write({ - type: CircuitRelay.Type.STATUS, - code: CircuitRelay.Status.SUCCESS - }) - - return streamHandler.rest() -} - -export interface StopOptions extends AbortOptions { - connection: Connection - request: CircuitRelay -} - -/** - * Creates a STOP request - */ -export async function stop (options: StopOptions) { - const { - connection, - request, - signal - } = options - - const stream = await connection.newStream(RELAY_V1_CODEC, { - signal - }) - log('starting stop request to %p', connection.remotePeer) - const streamHandler = new StreamHandlerV1({ stream }) - - streamHandler.write(request) - const response = await streamHandler.read() - - if (response == null) { - streamHandler.close() - return - } - - if (response.code === CircuitRelay.Status.SUCCESS) { - log('stop request to %p was successful', connection.remotePeer) - return streamHandler.rest() - } - - log('stop request failed with code %d', response.code) - streamHandler.close() -} diff --git a/src/circuit/v1/stream-handler.ts b/src/circuit/v1/stream-handler.ts deleted file mode 100644 index f8c2d3e6cf..0000000000 --- a/src/circuit/v1/stream-handler.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { logger } from '@libp2p/logger' -import * as lp from 'it-length-prefixed' -import { Handshake, handshake } from 'it-handshake' -import { CircuitRelay } from './pb/index.js' -import type { Stream } from '@libp2p/interface-connection' -import type { Source } from 'it-stream-types' -import type { Uint8ArrayList } from 'uint8arraylist' - -const log = logger('libp2p:circuit:v1:stream-handler') - -export interface StreamHandlerOptions { - /** - * A duplex iterable - */ - stream: Stream - - /** - * max bytes length of message - */ - maxLength?: number -} - -export class StreamHandlerV1 { - private readonly stream: Stream - private readonly shake: Handshake - private readonly decoder: Source - - constructor (options: StreamHandlerOptions) { - const { stream, maxLength = 4096 } = options - - this.stream = stream - this.shake = handshake(this.stream) - this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength }) - } - - /** - * Read and decode message - */ - async read () { - // @ts-expect-error FIXME is a source, needs to be a generator - const msg = await this.decoder.next() - - if (msg.value != null) { - const value = CircuitRelay.decode(msg.value) - log('read message type', value.type) - return value - } - - log('read received no value, closing stream') - // End the stream, we didn't get data - this.close() - } - - /** - * Encode and write array of buffers - */ - write (msg: CircuitRelay) { - log('write message type %s', msg.type) - this.shake.write(lp.encode.single(CircuitRelay.encode(msg))) - } - - /** - * Return the handshake rest stream and invalidate handler - */ - rest () { - this.shake.rest() - return this.shake.stream - } - - /** - * @param {CircuitRelay} msg - An unencoded CircuitRelay protobuf message - */ - end (msg: CircuitRelay) { - this.write(msg) - this.close() - } - - /** - * Close the stream - */ - close () { - log('closing the stream') - void this.rest().sink([]).catch(err => { - log.error(err) - }) - } -} diff --git a/src/circuit/v1/utils.ts b/src/circuit/v1/utils.ts deleted file mode 100644 index 6b35b0d427..0000000000 --- a/src/circuit/v1/utils.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { multiaddr } from '@multiformats/multiaddr' -import { CircuitRelay } from './pb/index.js' -import type { StreamHandlerV1 } from './stream-handler.js' - -/** - * Write a response - */ -function writeResponse (streamHandler: StreamHandlerV1, status: CircuitRelay.Status) { - streamHandler.write({ - type: CircuitRelay.Type.STATUS, - code: status - }) -} - -/** - * Validate incomming HOP/STOP message - */ -export function validateAddrs (msg: CircuitRelay, streamHandler: StreamHandlerV1) { - try { - if (msg.dstPeer?.addrs != null) { - msg.dstPeer.addrs.forEach((addr) => { - return multiaddr(addr) - }) - } - } catch (err: any) { - writeResponse(streamHandler, msg.type === CircuitRelay.Type.HOP - ? CircuitRelay.Status.HOP_DST_MULTIADDR_INVALID - : CircuitRelay.Status.STOP_DST_MULTIADDR_INVALID) - throw err - } - - try { - if (msg.srcPeer?.addrs != null) { - msg.srcPeer.addrs.forEach((addr) => { - return multiaddr(addr) - }) - } - } catch (err: any) { - writeResponse(streamHandler, msg.type === CircuitRelay.Type.HOP - ? CircuitRelay.Status.HOP_SRC_MULTIADDR_INVALID - : CircuitRelay.Status.STOP_SRC_MULTIADDR_INVALID) - throw err - } -} From 840e3e490944beb2f5b89bd81cfeb895d6627fdd Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 8 Feb 2023 12:40:45 +0530 Subject: [PATCH 34/58] handle peer reconnect in circuit v2 --- src/circuit/client.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index a38915243a..d8f94a89c8 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -69,6 +69,7 @@ export class RelayReservationManager extends EventEmitter { void this._onProtocolChange(evt.detail).catch(err => { @@ -77,7 +78,7 @@ export class RelayReservationManager extends EventEmitter {}) + this.components.connectionManager.addEventListener('peer:connect', this._onPeerConnect) } isStarted () { @@ -155,6 +156,9 @@ export class RelayReservationManager extends EventEmitter { void this._onProtocolChange({ peerId: connection.remotePeer, protocols }) .catch((err) => log.error('handling reconnect failed', err)) + }, + (err) => { + log.error('could not fetch protocols for new connection: %p', connection.remotePeer, err) }) } From ccc28946b128dad623337752b3ae3330c98a3b01 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 8 Feb 2023 13:29:00 +0530 Subject: [PATCH 35/58] handle peer reconnect --- src/circuit/client.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index d8f94a89c8..ce7ca8d42c 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -158,7 +158,9 @@ export class RelayReservationManager extends EventEmitter log.error('handling reconnect failed', err)) }, (err) => { - log.error('could not fetch protocols for new connection: %p', connection.remotePeer, err) + // this is not necessarily an error as we will only have the protocols stored + // in case of a reconnect + log.trace('could not fetch protocols for peer: %p', connection.remotePeer, err) }) } From 9a3c092414de0783b227e56e588fcdaf9887ae02 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 8 Feb 2023 19:34:46 +0530 Subject: [PATCH 36/58] remove circuitv1 protobuf --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 999ea8aae1..6b9459594f 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,6 @@ "build": "aegir build", "docs": "aegir docs", "generate": "run-s generate:proto:*", - "generate:proto:circuit:v1": "protons ./src/circuit/v1/pb/index.proto", "generate:proto:circuit:v2": "protons ./src/circuit/v2/pb/index.proto", "generate:proto:fetch": "protons ./src/fetch/pb/proto.proto", "generate:proto:identify": "protons ./src/identify/pb/message.proto", From e590eedb2c9f50045226de84b7fba630e6aad244 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Tue, 31 Jan 2023 20:22:23 +0530 Subject: [PATCH 37/58] updated interop tests --- package.json | 4 +- test/interop.ts | 108 ++++++++++++++++++++++++++++++++++++------------ 2 files changed, 84 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 6b9459594f..96afccdb39 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "@libp2p/interface-libp2p": "^1.0.0", "@libp2p/interface-metrics": "^4.0.0", "@libp2p/interface-peer-discovery": "^1.0.1", - "@libp2p/interface-peer-id": "^2.0.0", + "@libp2p/interface-peer-id": "^2.0.1", "@libp2p/interface-peer-info": "^1.0.3", "@libp2p/interface-peer-routing": "^1.0.1", "@libp2p/interface-peer-store": "^1.2.2", @@ -176,7 +176,7 @@ "@libp2p/interface-connection-compliance-tests": "^2.0.3", "@libp2p/interface-connection-encrypter-compliance-tests": "^4.0.0", "@libp2p/interface-mocks": "^9.0.0", - "@libp2p/interop": "^4.0.0", + "@libp2p/interop": "../libp2p/interop", "@libp2p/kad-dht": "^7.0.0", "@libp2p/mdns": "^6.0.0", "@libp2p/mplex": "^7.0.0", diff --git a/test/interop.ts b/test/interop.ts index 10fc85822f..fb982134b9 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -1,27 +1,35 @@ -import { interopTests } from '@libp2p/interop' -import type { SpawnOptions, Daemon, DaemonFactory } from '@libp2p/interop' -import { createServer } from '@libp2p/daemon-server' -import { createClient } from '@libp2p/daemon-client' -import { createLibp2p, Libp2pOptions } from '../src/index.js' -import { noise } from '@chainsafe/libp2p-noise' -import { tcp } from '@libp2p/tcp' -import { multiaddr } from '@multiformats/multiaddr' -import { kadDHT } from '@libp2p/kad-dht' -import { path as p2pd } from 'go-libp2p' -import { execa } from 'execa' +import {interopTests} from '@libp2p/interop' +import type {SpawnOptions, Daemon, DaemonFactory} from '@libp2p/interop' +import {createServer} from '@libp2p/daemon-server' +import {createClient} from '@libp2p/daemon-client' +import {createLibp2p, Libp2pOptions} from '../src/index.js' +import {noise} from '@chainsafe/libp2p-noise' +import {tcp} from '@libp2p/tcp' +import {multiaddr} from '@multiformats/multiaddr' +import {kadDHT} from '@libp2p/kad-dht' +// import { path as p2pd } from 'go-libp2p' +import {execa} from 'execa' import pDefer from 'p-defer' -import { logger } from '@libp2p/logger' -import { mplex } from '@libp2p/mplex' -import { yamux } from '@chainsafe/libp2p-yamux' +import {logger} from '@libp2p/logger' +import {mplex} from '@libp2p/mplex' +import {yamux} from '@chainsafe/libp2p-yamux' import fs from 'fs' -import { unmarshalPrivateKey } from '@libp2p/crypto/keys' -import type { PeerId } from '@libp2p/interface-peer-id' -import { peerIdFromKeys } from '@libp2p/peer-id' -import { floodsub } from '@libp2p/floodsub' +import {unmarshalPrivateKey} from '@libp2p/crypto/keys' +import type {PeerId} from '@libp2p/interface-peer-id' +import {peerIdFromKeys} from '@libp2p/peer-id' +import {floodsub} from '@libp2p/floodsub' +import {RELAY_V2_HOP_CODEC} from '../src/circuit/multicodec.js' +import {handshake} from 'it-handshake' +import {HopMessage, Status} from '../src/circuit/v2/pb/index.js' +import * as lp from 'it-length-prefixed' // IPFS_LOGGING=debug DEBUG=libp2p*,go-libp2p:* npm run test:interop -async function createGoPeer (options: SpawnOptions): Promise { +// testing only: +const p2pd = () => `/home/ckousik/projects/libp2p/go-libp2p-daemon/p2pd/p2pd` + + +async function createGoPeer(options: SpawnOptions): Promise { const controlPort = Math.floor(Math.random() * (50000 - 10000 + 1)) + 10000 const apiAddr = multiaddr(`/ip4/0.0.0.0/tcp/${controlPort}`) @@ -29,9 +37,14 @@ async function createGoPeer (options: SpawnOptions): Promise { const opts = [ `-listen=${apiAddr.toString()}`, - '-hostAddrs=/ip4/0.0.0.0/tcp/0' ] + if (options.noListen === true) { + opts.push('-noListenAddrs') + } else { + opts.push('-hostAddrs=/ip4/0.0.0.0/tcp/0') + } + if (options.noise === true) { opts.push('-noise=true') } @@ -40,6 +53,10 @@ async function createGoPeer (options: SpawnOptions): Promise { opts.push('-dhtServer') } + if (options.relay === true) { + opts.push('-relay') + } + if (options.pubsub === true) { opts.push('-pubsub') } @@ -52,8 +69,18 @@ async function createGoPeer (options: SpawnOptions): Promise { opts.push(`-id=${options.key}`) } + if (options.muxer === 'mplex') { + opts.push('-muxer=mplex') + } else { + opts.push('-muxer=yamux') + } + const deferred = pDefer() - const proc = execa(p2pd(), opts) + const proc = execa(p2pd(), opts, { + env: { + 'GOLOG_LOG_LEVEL': 'debug', + }, + }) proc.stdout?.on('data', (buf: Buffer) => { const str = buf.toString() @@ -79,7 +106,7 @@ async function createGoPeer (options: SpawnOptions): Promise { } } -async function createJsPeer (options: SpawnOptions): Promise { +async function createJsPeer(options: SpawnOptions): Promise { let peerId: PeerId | undefined if (options.key != null) { @@ -91,11 +118,11 @@ async function createJsPeer (options: SpawnOptions): Promise { const opts: Libp2pOptions = { peerId, addresses: { - listen: ['/ip4/0.0.0.0/tcp/0'] + listen: options.noListen === true ? [] : ['/ip4/0.0.0.0/tcp/0'], }, transports: [tcp()], streamMuxers: [], - connectionEncryption: [noise()] + connectionEncryption: [noise()], } if (options.muxer === 'mplex') { @@ -112,6 +139,16 @@ async function createJsPeer (options: SpawnOptions): Promise { } } + opts.relay = { + enabled: true, + hop: { + enabled: options.relay === true, + }, + reservationManager: { + enabled: false, + } + } + if (options.dht === true) { opts.dht = (components: any) => { const dht = kadDHT({ @@ -148,14 +185,33 @@ async function createJsPeer (options: SpawnOptions): Promise { } } -async function main () { +async function main() { const factory: DaemonFactory = { - async spawn (options: SpawnOptions) { + async spawn(options: SpawnOptions) { if (options.type === 'go') { return await createGoPeer(options) } return await createJsPeer(options) + }, + relay: { + async reserve(d: Daemon, id: PeerId) { + const stream = await d.client.openStream(id, RELAY_V2_HOP_CODEC) + const shake = handshake(stream) + const decoder = lp.decode.fromReader(shake.reader) + const request = HopMessage.encode({ type: HopMessage.Type.RESERVE }) + shake.write(lp.encode.single(request).subarray()) + // @ts-expect-error + const raw = await decoder.next() + if (!raw.value) { + throw Error('could not read response') + } + const response = HopMessage.decode(raw.value) + if (response.status !== Status.OK) { + console.log("request: ", request) + throw Error('reservation failed: status: ' + response.status) + } + }, } } From c28b278e8140863cb343834604042e5be8e18c9c Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Feb 2023 09:28:23 +0530 Subject: [PATCH 38/58] remove relay --- test/interop.ts | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/test/interop.ts b/test/interop.ts index fb982134b9..a2412ff05d 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -18,10 +18,6 @@ import {unmarshalPrivateKey} from '@libp2p/crypto/keys' import type {PeerId} from '@libp2p/interface-peer-id' import {peerIdFromKeys} from '@libp2p/peer-id' import {floodsub} from '@libp2p/floodsub' -import {RELAY_V2_HOP_CODEC} from '../src/circuit/multicodec.js' -import {handshake} from 'it-handshake' -import {HopMessage, Status} from '../src/circuit/v2/pb/index.js' -import * as lp from 'it-length-prefixed' // IPFS_LOGGING=debug DEBUG=libp2p*,go-libp2p:* npm run test:interop @@ -194,25 +190,6 @@ async function main() { return await createJsPeer(options) }, - relay: { - async reserve(d: Daemon, id: PeerId) { - const stream = await d.client.openStream(id, RELAY_V2_HOP_CODEC) - const shake = handshake(stream) - const decoder = lp.decode.fromReader(shake.reader) - const request = HopMessage.encode({ type: HopMessage.Type.RESERVE }) - shake.write(lp.encode.single(request).subarray()) - // @ts-expect-error - const raw = await decoder.next() - if (!raw.value) { - throw Error('could not read response') - } - const response = HopMessage.decode(raw.value) - if (response.status !== Status.OK) { - console.log("request: ", request) - throw Error('reservation failed: status: ' + response.status) - } - }, - } } await interopTests(factory) From 0cff5a080e5d6224ceac59ea18c836545682bb79 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 3 Feb 2023 10:23:33 +0530 Subject: [PATCH 39/58] fix --- package.json | 2 +- test/interop.ts | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 96afccdb39..b6b19c3336 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", - "test:interop": "aegir test -t node -f dist/test/interop.js", + "test:interop": "aegir test -t node -f dist/test/interop.js -- --exit", "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\"" }, "dependencies": { diff --git a/test/interop.ts b/test/interop.ts index a2412ff05d..6e31bbf163 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -97,7 +97,7 @@ async function createGoPeer(options: SpawnOptions): Promise { return { client: createClient(apiAddr), stop: async () => { - await proc.kill() + proc.kill('SIGKILL') } } } @@ -169,7 +169,7 @@ async function createJsPeer(options: SpawnOptions): Promise { const node = await createLibp2p(opts) - const server = await createServer(multiaddr('/ip4/0.0.0.0/tcp/0'), node) + const server = createServer(multiaddr('/ip4/0.0.0.0/tcp/0'), node) await server.start() return { @@ -197,5 +197,4 @@ async function main() { main().catch(err => { console.error(err) // eslint-disable-line no-console - process.exit(1) }) From b2092f3e4873e36df65dad1044059d3c7372cf05 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Sat, 18 Feb 2023 00:06:12 +0530 Subject: [PATCH 40/58] point to remote interop tests (should fail) --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index b6b19c3336..1ab9d24096 100644 --- a/package.json +++ b/package.json @@ -176,7 +176,7 @@ "@libp2p/interface-connection-compliance-tests": "^2.0.3", "@libp2p/interface-connection-encrypter-compliance-tests": "^4.0.0", "@libp2p/interface-mocks": "^9.0.0", - "@libp2p/interop": "../libp2p/interop", + "@libp2p/interop": "ckousik/interop#ckousik/relay-tests", "@libp2p/kad-dht": "^7.0.0", "@libp2p/mdns": "^6.0.0", "@libp2p/mplex": "^7.0.0", @@ -189,11 +189,11 @@ "@types/p-fifo": "^1.0.0", "@types/varint": "^6.0.0", "@types/xsalsa20": "^1.1.0", - "aegir": "^37.5.6", + "aegir": "^38.1.0", "cborg": "^1.8.1", "delay": "^5.0.0", "execa": "^6.1.0", - "go-libp2p": "^0.0.6", + "go-libp2p": "libp2p/npm-go-libp2p#marco/update-versions", "it-pushable": "^3.0.0", "it-to-buffer": "^3.0.0", "npm-run-all": "^4.1.5", From 5b00e5f3b4156ea6bc68a6e76c7b310a7126b35a Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 22 Feb 2023 21:36:23 +0000 Subject: [PATCH 41/58] chore: update versions, fix up tests and linting --- package.json | 12 ++-- src/circuit/index.ts | 4 +- src/circuit/v2/hop.ts | 8 +-- src/circuit/v2/reservation-store.ts | 4 +- src/connection-manager/dialer/dial-request.ts | 7 ++ test/dialing/direct.node.ts | 5 +- test/interop.ts | 67 +++++++++---------- test/relay/relay.node.ts | 6 +- 8 files changed, 57 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index 1ab9d24096..b506a72c18 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", - "test:interop": "aegir test -t node -f dist/test/interop.js -- --exit", + "test:interop": "aegir test -t node -f dist/test/interop.js", "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\"" }, "dependencies": { @@ -169,14 +169,14 @@ "@chainsafe/libp2p-noise": "^11.0.0", "@chainsafe/libp2p-yamux": "^3.0.3", "@libp2p/bootstrap": "^6.0.0", - "@libp2p/daemon-client": "^4.0.1", - "@libp2p/daemon-server": "^4.0.1", + "@libp2p/daemon-client": "^4.0.2", + "@libp2p/daemon-server": "^4.0.2", "@libp2p/floodsub": "^6.0.0", "@libp2p/interface-compliance-tests": "^3.0.2", "@libp2p/interface-connection-compliance-tests": "^2.0.3", "@libp2p/interface-connection-encrypter-compliance-tests": "^4.0.0", "@libp2p/interface-mocks": "^9.0.0", - "@libp2p/interop": "ckousik/interop#ckousik/relay-tests", + "@libp2p/interop": "^6.0.0", "@libp2p/kad-dht": "^7.0.0", "@libp2p/mdns": "^6.0.0", "@libp2p/mplex": "^7.0.0", @@ -189,11 +189,11 @@ "@types/p-fifo": "^1.0.0", "@types/varint": "^6.0.0", "@types/xsalsa20": "^1.1.0", - "aegir": "^38.1.0", + "aegir": "^37.5.6", "cborg": "^1.8.1", "delay": "^5.0.0", "execa": "^6.1.0", - "go-libp2p": "libp2p/npm-go-libp2p#marco/update-versions", + "go-libp2p": "^1.0.1", "it-pushable": "^3.0.0", "it-to-buffer": "^3.0.0", "npm-run-all": "^4.1.5", diff --git a/src/circuit/index.ts b/src/circuit/index.ts index 45172821bb..24652ff884 100644 --- a/src/circuit/index.ts +++ b/src/circuit/index.ts @@ -3,8 +3,8 @@ */ export interface RelayConfig { /** - * Enable dialing a client over a relay and receiving relayed - * connections. This in itself does not enable the node to act as a relay. + * Enable dialing a client over a relay and receiving relayed connections. + * This in itself does not enable the node to act as a relay. */ enabled: boolean advertise: RelayAdvertiseConfig diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 50f7329ad1..bac25b0c53 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -32,7 +32,7 @@ export interface HopProtocolOptions { connectionManager: ConnectionManager } -export async function handleHopProtocol (options: HopProtocolOptions) { +export async function handleHopProtocol (options: HopProtocolOptions): Promise { const { pbstr, request } = options log('received hop message') switch (request.type) { @@ -45,7 +45,7 @@ export async function handleHopProtocol (options: HopProtocolOptions) { } } -export async function reserve (connection: Connection) { +export async function reserve (connection: Connection): Promise { log('requesting reservation from %s', connection.remotePeer) const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) const pbstr = pbStream(stream) @@ -71,7 +71,7 @@ export async function reserve (connection: Connection) { const isRelayAddr = (ma: Multiaddr): boolean => ma.protoCodes().includes(CIRCUIT_PROTO_CODE) -async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions) { +async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions): Promise { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) @@ -110,7 +110,7 @@ async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, // TODO: how to ensure connection manager doesn't close reserved relay conn } -async function handleConnect (options: HopProtocolOptions) { +async function handleConnect (options: HopProtocolOptions): Promise { const { connection, pbstr, request, reservationStore, connectionManager, acl } = options const hopstr = pbstr.pb(HopMessage) diff --git a/src/circuit/v2/reservation-store.ts b/src/circuit/v2/reservation-store.ts index b4cb108fbd..48dd4deef5 100644 --- a/src/circuit/v2/reservation-store.ts +++ b/src/circuit/v2/reservation-store.ts @@ -17,7 +17,7 @@ export class ReservationStore implements IReservationStore, Startable { /** * @param limit - maximum number of reservations to store - * @param reservationClearInterval - interval to check for expired reservations in millisecons + * @param reservationClearInterval - interval to check for expired reservations in milliseconds */ constructor (private readonly limit = 15, private readonly reservationClearInterval = 300 * 1000) { } @@ -50,7 +50,7 @@ export class ReservationStore implements IReservationStore, Startable { async reserve (peer: PeerId, addr: Multiaddr): Promise<{ status: ReservationStatus, expire?: number }> { if (this.reservations.size >= this.limit && !this.reservations.has(peer)) { - return { status: Status.RESERVATION_REFUSED, expire: undefined } + return { status: Status.RESERVATION_REFUSED } } const expire = new Date() expire.setHours(expire.getHours() + 12) diff --git a/src/connection-manager/dialer/dial-request.ts b/src/connection-manager/dialer/dial-request.ts index 18e90de34f..77d1a306a9 100644 --- a/src/connection-manager/dialer/dial-request.ts +++ b/src/connection-manager/dialer/dial-request.ts @@ -124,6 +124,13 @@ export class DialRequest { return conn })) + } catch (err: any) { + // if we only dialed one address, unwrap the AggregateError + if (this.addrs.length === 1 && err.name === 'AggregateError') { + throw err.errors[0] + } + + throw err } finally { // success/failure happened, abort everything else dialAbortControllers.forEach(c => { diff --git a/test/dialing/direct.node.ts b/test/dialing/direct.node.ts index 86ff236db8..8be47b0cb5 100644 --- a/test/dialing/direct.node.ts +++ b/test/dialing/direct.node.ts @@ -555,13 +555,10 @@ describe('libp2p.dialer (direct, TCP)', () => { for (const result of dialResults) { expect(result).to.have.property('isRejected', true) - expect(result).to.have.property('reason').that.has.property('name', 'AggregateError') // All errors should be the exact same as `error` // @ts-expect-error reason is any - for (const err of result.reason.errors) { - expect(err).to.equal(error) - } + expect(result.reason).to.equal(error) } // 1 connection, because we know the peer in the multiaddr diff --git a/test/interop.ts b/test/interop.ts index 6e31bbf163..839796857b 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -1,38 +1,32 @@ -import {interopTests} from '@libp2p/interop' -import type {SpawnOptions, Daemon, DaemonFactory} from '@libp2p/interop' -import {createServer} from '@libp2p/daemon-server' -import {createClient} from '@libp2p/daemon-client' -import {createLibp2p, Libp2pOptions} from '../src/index.js' -import {noise} from '@chainsafe/libp2p-noise' -import {tcp} from '@libp2p/tcp' -import {multiaddr} from '@multiformats/multiaddr' -import {kadDHT} from '@libp2p/kad-dht' -// import { path as p2pd } from 'go-libp2p' -import {execa} from 'execa' +import { interopTests } from '@libp2p/interop' +import type { SpawnOptions, Daemon, DaemonFactory } from '@libp2p/interop' +import { createServer } from '@libp2p/daemon-server' +import { createClient } from '@libp2p/daemon-client' +import { createLibp2p, Libp2pOptions } from '../src/index.js' +import { noise } from '@chainsafe/libp2p-noise' +import { tcp } from '@libp2p/tcp' +import { multiaddr } from '@multiformats/multiaddr' +import { kadDHT } from '@libp2p/kad-dht' +import { path as p2pd } from 'go-libp2p' +import { execa } from 'execa' import pDefer from 'p-defer' -import {logger} from '@libp2p/logger' -import {mplex} from '@libp2p/mplex' -import {yamux} from '@chainsafe/libp2p-yamux' +import { logger } from '@libp2p/logger' +import { mplex } from '@libp2p/mplex' +import { yamux } from '@chainsafe/libp2p-yamux' import fs from 'fs' -import {unmarshalPrivateKey} from '@libp2p/crypto/keys' -import type {PeerId} from '@libp2p/interface-peer-id' -import {peerIdFromKeys} from '@libp2p/peer-id' -import {floodsub} from '@libp2p/floodsub' +import { unmarshalPrivateKey } from '@libp2p/crypto/keys' +import type { PeerId } from '@libp2p/interface-peer-id' +import { peerIdFromKeys } from '@libp2p/peer-id' +import { floodsub } from '@libp2p/floodsub' -// IPFS_LOGGING=debug DEBUG=libp2p*,go-libp2p:* npm run test:interop - -// testing only: -const p2pd = () => `/home/ckousik/projects/libp2p/go-libp2p-daemon/p2pd/p2pd` - - -async function createGoPeer(options: SpawnOptions): Promise { +async function createGoPeer (options: SpawnOptions): Promise { const controlPort = Math.floor(Math.random() * (50000 - 10000 + 1)) + 10000 const apiAddr = multiaddr(`/ip4/0.0.0.0/tcp/${controlPort}`) const log = logger(`go-libp2p:${controlPort}`) const opts = [ - `-listen=${apiAddr.toString()}`, + `-listen=${apiAddr.toString()}` ] if (options.noListen === true) { @@ -74,8 +68,8 @@ async function createGoPeer(options: SpawnOptions): Promise { const deferred = pDefer() const proc = execa(p2pd(), opts, { env: { - 'GOLOG_LOG_LEVEL': 'debug', - }, + GOLOG_LOG_LEVEL: 'debug' + } }) proc.stdout?.on('data', (buf: Buffer) => { @@ -102,7 +96,7 @@ async function createGoPeer(options: SpawnOptions): Promise { } } -async function createJsPeer(options: SpawnOptions): Promise { +async function createJsPeer (options: SpawnOptions): Promise { let peerId: PeerId | undefined if (options.key != null) { @@ -114,11 +108,14 @@ async function createJsPeer(options: SpawnOptions): Promise { const opts: Libp2pOptions = { peerId, addresses: { - listen: options.noListen === true ? [] : ['/ip4/0.0.0.0/tcp/0'], + listen: options.noListen === true ? [] : ['/ip4/0.0.0.0/tcp/0'] }, transports: [tcp()], streamMuxers: [], connectionEncryption: [noise()], + nat: { + enabled: false + } } if (options.muxer === 'mplex') { @@ -138,10 +135,10 @@ async function createJsPeer(options: SpawnOptions): Promise { opts.relay = { enabled: true, hop: { - enabled: options.relay === true, + enabled: options.relay === true }, reservationManager: { - enabled: false, + enabled: false } } @@ -181,15 +178,15 @@ async function createJsPeer(options: SpawnOptions): Promise { } } -async function main() { +async function main () { const factory: DaemonFactory = { - async spawn(options: SpawnOptions) { + async spawn (options: SpawnOptions) { if (options.type === 'go') { return await createGoPeer(options) } return await createJsPeer(options) - }, + } } await interopTests(factory) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 2ec3471c8a..2f347cb7db 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -106,7 +106,7 @@ describe('Dialing (via relay, TCP)', () => { await expect(srcLibp2p.dial(dialAddr)) .to.eventually.be.rejected() - .and.to.have.nested.property('.errors[0].code', Errors.ERR_HOP_REQUEST_FAILED) + .and.to.have.property('code', Errors.ERR_HOP_REQUEST_FAILED) }) it('should not stay connected to a relay when not already connected and HOP fails', async () => { @@ -119,7 +119,7 @@ describe('Dialing (via relay, TCP)', () => { await expect(srcLibp2p.dial(dialAddr)) .to.eventually.be.rejected() - .and.to.have.nested.property('.errors[0].code', Errors.ERR_HOP_REQUEST_FAILED) + .and.to.have.property('code', Errors.ERR_HOP_REQUEST_FAILED) // We should not be connected to the relay, because we weren't before the dial const srcToRelayConns = srcLibp2p.components.connectionManager.getConnections(relayLibp2p.peerId) @@ -137,7 +137,7 @@ describe('Dialing (via relay, TCP)', () => { await expect(srcLibp2p.dial(dialAddr)) .to.eventually.be.rejected() - .and.to.have.nested.property('.errors[0].code', Errors.ERR_HOP_REQUEST_FAILED) + .and.to.have.property('code', Errors.ERR_HOP_REQUEST_FAILED) const srcToRelayConn = srcLibp2p.components.connectionManager.getConnections(relayLibp2p.peerId) expect(srcToRelayConn).to.have.lengthOf(1) From 54ac1c39763ca522402eaa0b41b4df0774e17cdf Mon Sep 17 00:00:00 2001 From: achingbrain Date: Thu, 23 Feb 2023 13:48:35 +0000 Subject: [PATCH 42/58] chore: remove casting, update interop suite to be more reliable --- package.json | 11 +++++------ src/circuit/transport.ts | 4 +--- src/circuit/v2/hop.ts | 25 ++++++------------------- src/circuit/v2/stop.ts | 4 ++-- test/circuit/v2/stop.spec.ts | 3 ++- 5 files changed, 16 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 9d3a1dd9c4..436f2fe135 100644 --- a/package.json +++ b/package.json @@ -91,8 +91,7 @@ "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", - "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\"" + "test:interop": "aegir test -t node -f dist/test/interop.js" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", @@ -144,7 +143,7 @@ "it-map": "^2.0.0", "it-merge": "^2.0.0", "it-pair": "^2.0.2", - "it-pb-stream": "^2.0.3", + "it-pb-stream": "^3.0.0", "it-pipe": "^2.0.3", "it-sort": "^2.0.0", "it-stream-types": "^1.0.4", @@ -168,14 +167,14 @@ "@chainsafe/libp2p-noise": "^11.0.0", "@chainsafe/libp2p-yamux": "^3.0.3", "@libp2p/bootstrap": "^6.0.0", - "@libp2p/daemon-client": "^4.0.2", - "@libp2p/daemon-server": "^4.0.2", + "@libp2p/daemon-client": "^4.1.0", + "@libp2p/daemon-server": "^4.1.0", "@libp2p/floodsub": "^6.0.0", "@libp2p/interface-compliance-tests": "^3.0.2", "@libp2p/interface-connection-compliance-tests": "^2.0.3", "@libp2p/interface-connection-encrypter-compliance-tests": "^4.0.0", "@libp2p/interface-mocks": "^9.0.0", - "@libp2p/interop": "^6.0.0", + "@libp2p/interop": "^6.0.2", "@libp2p/kad-dht": "^7.0.0", "@libp2p/mdns": "^6.0.0", "@libp2p/mplex": "^7.0.0", diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 11e88d50e6..e57bf8690e 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -26,8 +26,6 @@ import type { Startable } from '@libp2p/interfaces/dist/src/startable' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { AddressManager } from '@libp2p/interface-address-manager' import { pbStream } from 'it-pb-stream' -import type { Duplex } from 'it-stream-types' -import type { Uint8ArrayList } from 'uint8arraylist' const log = logger('libp2p:circuit') @@ -265,7 +263,7 @@ export class Circuit implements Transport, Startable { let localAddr = relayAddr localAddr = localAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`) const maConn = streamToMaConnection({ - stream: pbstr.unwrap() as Duplex, + stream: pbstr.unwrap(), remoteAddr: ma, localAddr }) diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index bac25b0c53..e3e5aded75 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -14,16 +14,15 @@ import { peerIdFromBytes } from '@libp2p/peer-id' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { ProtobufStream } from 'it-pb-stream' import { pbStream } from 'it-pb-stream' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Duplex } from 'it-stream-types' import { CIRCUIT_PROTO_CODE } from '../constants.js' +import type { Uint8ArrayList } from 'uint8arraylist' const log = logger('libp2p:circuit:v2:hop') export interface HopProtocolOptions { connection: Connection request: HopMessage - pbstr: ProtobufStream + pbstr: ProtobufStream relayPeer: PeerId relayAddrs: Multiaddr[] limit?: Limit @@ -176,22 +175,10 @@ async function handleConnect (options: HopProtocolOptions): Promise { log('connection to destination established, short circuiting streams...') // Short circuit the two streams to create the relayed connection - return await pipe( - sourceStream as Duplex, - // adapt uint8arraylist to uint8array - // async function * (src) { - // for await(const buf of src) { - // yield buf.subarray() - // } - // }, - destinationStream as Duplex, - // adapt uint8arraylist to uint8array - // async function * (src) { - // for await(const buf of src) { - // yield buf.subarray() - // } - // }, - sourceStream as Duplex + await pipe( + sourceStream, + destinationStream, + sourceStream ) } diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index 0e255030d6..f9055a2ab1 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -14,7 +14,7 @@ const log = logger('libp2p:circuit:v2:stop') export interface HandleStopOptions { connection: Connection request: StopMessage - pbstr: ProtobufStream + pbstr: ProtobufStream } const isValidStop = (request: StopMessage): boolean => { @@ -66,7 +66,7 @@ export interface StopOptions { export async function stop ({ connection, request -}: StopOptions): Promise | undefined> { +}: StopOptions): Promise | undefined> { const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) log('starting circuit relay v2 stop request to %s', connection.remotePeer) const pbstr = pbStream(stream) diff --git a/test/circuit/v2/stop.spec.ts b/test/circuit/v2/stop.spec.ts index e246b5ac41..01b7eaeb10 100644 --- a/test/circuit/v2/stop.spec.ts +++ b/test/circuit/v2/stop.spec.ts @@ -8,11 +8,12 @@ import { expect } from 'aegir/chai' import sinon from 'sinon' import { mockConnection, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' import { pbStream, ProtobufStream } from 'it-pb-stream' +import type { Uint8ArrayList } from 'uint8arraylist' /* eslint-env mocha */ describe('Circuit v2 - stop protocol', function () { - let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, pbstr: ProtobufStream + let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, pbstr: ProtobufStream beforeEach(async () => { [srcPeer, relayPeer] = await createPeerIds(2) From 37a5a0e4ec79b8442644c7251c2826ed4eb81f86 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 23 Feb 2023 21:41:07 +0530 Subject: [PATCH 43/58] temporary --- src/circuit/transport.ts | 1 + src/circuit/v2/constants.ts | 7 + src/circuit/v2/hop.ts | 50 ++++- src/circuit/v2/interfaces.ts | 11 +- src/circuit/v2/reservation-store.ts | 60 ++++-- src/circuit/v2/util.ts | 46 +++++ test/circuit/v2/hop.spec.ts | 228 +++++++++++++++++++++- test/circuit/v2/reservation-store.spec.ts | 8 +- 8 files changed, 373 insertions(+), 38 deletions(-) create mode 100644 src/circuit/v2/constants.ts create mode 100644 src/circuit/v2/util.ts diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index e57bf8690e..773b875636 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -145,6 +145,7 @@ export class Circuit implements Transport, Startable { relayPeer: this.components.peerId, relayAddrs: this.components.addressManager.getListenAddrs(), reservationStore: this.reservationStore, + peerStore: this.components.peerStore, request }) } catch (_err) { diff --git a/src/circuit/v2/constants.ts b/src/circuit/v2/constants.ts new file mode 100644 index 0000000000..9133c17b79 --- /dev/null +++ b/src/circuit/v2/constants.ts @@ -0,0 +1,7 @@ +export const RELAYED_TAG = 'relayed' + +// circuit v2 connection limits +// 2 min is the default connection duration +export const DEFAULT_DURATION_LIMIT = 2 * 60 * 1000 +// 128k is the default data limit +export const DEFAULT_DATA_LIMIT = 1 << 17 diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index e3e5aded75..ef18e1bc4c 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -1,7 +1,6 @@ import type { PeerId } from '@libp2p/interface-peer-id' import { RecordEnvelope } from '@libp2p/peer-record' import { logger } from '@libp2p/logger' -import { pipe } from 'it-pipe' import type { Connection } from '@libp2p/interface-connection' import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' import type { Multiaddr } from '@multiformats/multiaddr' @@ -16,9 +15,14 @@ import type { ProtobufStream } from 'it-pb-stream' import { pbStream } from 'it-pb-stream' import { CIRCUIT_PROTO_CODE } from '../constants.js' import type { Uint8ArrayList } from 'uint8arraylist' +import type { PeerStore } from '@libp2p/interface-peer-store' +import { createLimitedShortCircuit } from './util.js' +import type { CodeError } from '@libp2p/interfaces/errors' const log = logger('libp2p:circuit:v2:hop') +const RELAYED = 'relayed' + export interface HopProtocolOptions { connection: Connection request: HopMessage @@ -29,6 +33,7 @@ export interface HopProtocolOptions { acl?: Acl reservationStore: ReservationStore connectionManager: ConnectionManager + peerStore: PeerStore } export async function handleHopProtocol (options: HopProtocolOptions): Promise { @@ -70,7 +75,7 @@ export async function reserve (connection: Connection): Promise { const isRelayAddr = (ma: Multiaddr): boolean => ma.protoCodes().includes(CIRCUIT_PROTO_CODE) -async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore }: HopProtocolOptions): Promise { +async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) @@ -94,19 +99,30 @@ async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, } try { + // tag relayed peer + // result.expire is non-null if `ReservationStore.reserve` returns with status == OK + if (result.expire != null) { + const ttl = new Date().getTime() - result.expire + await peerStore.tagPeer(relayPeer, RELAYED, { value: 1, ttl }) + .catch((err: CodeError) => { + // ignore if peer is already tagged + if (err.code !== 'ERR_DUPLICATE_TAG') { + throw err + } + }) + } hopstr.write({ type: HopMessage.Type.STATUS, status: Status.OK, reservation: await makeReservation(relayAddrs, relayPeer, connection.remotePeer, BigInt(result.expire ?? 0)), - limit + limit: (await reservationStore.get(relayPeer))?.limit }) log('sent confirmation response to %s', connection.remotePeer) } catch (err) { + console.log(err) log.error('failed to send confirmation response to %s', connection.remotePeer) await reservationStore.removeReservation(connection.remotePeer) } - - // TODO: how to ensure connection manager doesn't close reserved relay conn } async function handleConnect (options: HopProtocolOptions): Promise { @@ -174,12 +190,26 @@ async function handleConnect (options: HopProtocolOptions): Promise { const sourceStream = pbstr.unwrap() log('connection to destination established, short circuiting streams...') + const limit = (await reservationStore.get(dstPeer))?.limit // Short circuit the two streams to create the relayed connection - await pipe( - sourceStream, - destinationStream, - sourceStream - ) + return await createLimitedShortCircuit(sourceStream, destinationStream, limit) + // return await pipe( + // sourceStream as Duplex, + // // adapt uint8arraylist to uint8array + // // async function * (src) { + // // for await(const buf of src) { + // // yield buf.subarray() + // // } + // // }, + // destinationStream as Duplex, + // // adapt uint8arraylist to uint8array + // // async function * (src) { + // // for await(const buf of src) { + // // yield buf.subarray() + // // } + // // }, + // sourceStream as Duplex + // ) } async function makeReservation ( diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts index bb871b3b57..2d0111b062 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/v2/interfaces.ts @@ -1,13 +1,20 @@ import type { PeerId } from '@libp2p/interface-peer-id' import type { Multiaddr } from '@multiformats/multiaddr' -import type { Status } from './pb/index.js' +import type { Limit, Status } from './pb/index.js' export type ReservationStatus = Status.OK | Status.PERMISSION_DENIED | Status.RESERVATION_REFUSED +export interface Reservation { + addr: Multiaddr + expire: Date + limit?: Limit +} + export interface ReservationStore { - reserve: (peer: PeerId, addr: Multiaddr) => Promise<{status: ReservationStatus, expire?: number}> + reserve: (peer: PeerId, addr: Multiaddr, limit?: Limit) => Promise<{status: ReservationStatus, expire?: number}> removeReservation: (peer: PeerId) => Promise hasReservation: (dst: PeerId) => Promise + get: (peer: PeerId) => Promise } export type AclStatus = Status.OK | Status.RESOURCE_LIMIT_EXCEEDED | Status.PERMISSION_DENIED diff --git a/src/circuit/v2/reservation-store.ts b/src/circuit/v2/reservation-store.ts index 48dd4deef5..87c14fbb89 100644 --- a/src/circuit/v2/reservation-store.ts +++ b/src/circuit/v2/reservation-store.ts @@ -1,25 +1,46 @@ -import { Status } from './pb/index.js' -import type { ReservationStore as IReservationStore, ReservationStatus } from './interfaces.js' +import { Limit, Status } from './pb/index.js' +import type { ReservationStore as IReservationStore, ReservationStatus, Reservation } from './interfaces.js' import type { Multiaddr } from '@multiformats/multiaddr' import type { PeerId } from '@libp2p/interface-peer-id' import type { Startable } from '@libp2p/interfaces/startable' import { PeerMap } from '@libp2p/peer-collections' +import type { RecursivePartial } from '@libp2p/interfaces' +import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js' -interface Reservation { - addr: Multiaddr - expire: Date +export interface ReservationStoreInit { + /* + * maximum number of reservations allowed, default: 15 + */ + maxReservations: number + /* + * interval after which stale reservations are cleared, default: 300s + */ + reservationClearInterval: number + /* + * apply default relay limits to a new reservation, default: true + */ + applyDefaultLimit: boolean + /** + * reservation ttl, default: 2 hours + */ + reservationTtl: number } +export type ReservationStoreOptions = RecursivePartial + export class ReservationStore implements IReservationStore, Startable { private readonly reservations = new PeerMap() private _started = false; private interval: any + private readonly init: ReservationStoreInit - /** - * @param limit - maximum number of reservations to store - * @param reservationClearInterval - interval to check for expired reservations in milliseconds - */ - constructor (private readonly limit = 15, private readonly reservationClearInterval = 300 * 1000) { + constructor (options?: ReservationStoreOptions) { + this.init = { + maxReservations: options?.maxReservations ?? 15, + reservationClearInterval: options?.reservationClearInterval ?? 300 * 1000, + applyDefaultLimit: options?.applyDefaultLimit === false, + reservationTtl: options?.reservationTtl ?? 2 * 60 * 60 * 1000 + } } isStarted () { @@ -40,7 +61,7 @@ export class ReservationStore implements IReservationStore, Startable { } }) }, - this.reservationClearInterval + this.init.reservationClearInterval ) } @@ -48,13 +69,16 @@ export class ReservationStore implements IReservationStore, Startable { clearInterval(this.interval) } - async reserve (peer: PeerId, addr: Multiaddr): Promise<{ status: ReservationStatus, expire?: number }> { - if (this.reservations.size >= this.limit && !this.reservations.has(peer)) { + async reserve (peer: PeerId, addr: Multiaddr, limit?: Limit): Promise<{ status: ReservationStatus, expire?: number }> { + if (this.reservations.size >= this.init.maxReservations && !this.reservations.has(peer)) { return { status: Status.RESERVATION_REFUSED } } - const expire = new Date() - expire.setHours(expire.getHours() + 12) - this.reservations.set(peer, { addr, expire }) + const expire = new Date(Date.now() + this.init.reservationTtl) + let checkedLimit: Limit | undefined + if (this.init.applyDefaultLimit) { + checkedLimit = limit ?? { data: BigInt(DEFAULT_DATA_LIMIT), duration: DEFAULT_DURATION_LIMIT } + } + this.reservations.set(peer, { addr, expire, limit: checkedLimit }) return { status: Status.OK, expire: expire.getTime() } } @@ -65,4 +89,8 @@ export class ReservationStore implements IReservationStore, Startable { async hasReservation (dst: PeerId) { return this.reservations.has(dst) } + + async get (peer: PeerId): Promise { + return this.reservations.get(peer) + } } diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts new file mode 100644 index 0000000000..e11143b8c5 --- /dev/null +++ b/src/circuit/v2/util.ts @@ -0,0 +1,46 @@ +import { abortableDuplex } from 'abortable-iterator' +import { pipe } from 'it-pipe' +import type { Duplex, Source } from 'it-stream-types' +import { TimeoutController } from 'timeout-abort-controller' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Limit } from './pb' + +type DuplexStream = Duplex +export async function createLimitedShortCircuit (source: DuplexStream, destination: DuplexStream, limit?: Limit) { + // trivial case + if (limit == null) { + return await pipe(source, destination, source) + } + const [src, clearSource] = durationLimitDuplex({ ...source, source: dataLimitSource(source.source, Number(limit.data ?? 0)), sink: source.sink }, limit.duration ?? 0) + const [dst, clearDest] = durationLimitDuplex({ ...destination, source: dataLimitSource(destination.source, Number(limit.data ?? 0)), sink: destination.sink }, limit.duration ?? 0) + return await pipe(src, dst, src).then(() => { clearSource(); clearDest() }) +} + +const dataLimitSource = (source: Source, limit: number): Source => { + if (limit === 0) { + return source + } + + return pipe(source, async function * (src): Source { + let total = 0 + for await (const buf of src) { + if (total + buf.length < limit) { + total += buf.length + yield buf + } else { + const remaining = limit - total + return yield buf.sublist(0, remaining) + } + } + }) +} + +const durationLimitDuplex = (duplex: DuplexStream, limit: number): [DuplexStream, () => void] => { + if (limit === 0) { + return [duplex, () => { }] + } + const controller = new TimeoutController(limit) + const d = abortableDuplex(duplex, controller.signal) + const clear = () => controller.clear() + return [d, clear] +} diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 81109a34eb..fcff912d94 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -20,18 +20,31 @@ import { PersistentPeerStore } from '@libp2p/peer-store' import { multiaddr } from '@multiformats/multiaddr' import type { AclStatus } from '../../../src/circuit/v2/interfaces.js' import { pbStream } from 'it-pb-stream' +import { pipe } from 'it-pipe' +import { fromString as uint8arrayFromString } from 'uint8arrays/from-string' +import { duplexPair } from 'it-pair/duplex' +import all from 'it-all' +import type { PeerStore } from '@libp2p/interface-peer-store' +import { MemoryDatastore } from 'datastore-core' +import { Uint8ArrayList } from 'uint8arraylist' +import type { Duplex } from 'it-stream-types' /* eslint-env mocha */ describe('Circuit v2 - hop protocol', function () { describe('reserve', function () { - let relayPeer: PeerId, conn: Connection, stream: Stream, reservationStore: ReservationStore + let relayPeer: PeerId, + conn: Connection, + stream: Stream, + reservationStore: ReservationStore, + peerStore: PeerStore beforeEach(async () => { [, relayPeer] = await peerUtils.createPeerIds(2) conn = mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) stream = mockStream(pair()) reservationStore = new ReservationStore() + peerStore = new PersistentPeerStore(new DefaultComponents({ datastore: new MemoryDatastore() })) }) this.afterEach(async function () { @@ -49,7 +62,8 @@ describe('Circuit v2 - hop protocol', function () { relayPeer, relayAddrs: [], reservationStore, - connectionManager: sinon.stub() as any + connectionManager: sinon.stub() as any, + peerStore }) const msg = await pbstr.pb(HopMessage).read() expect(msg.type).to.be.equal(HopMessage.Type.STATUS) @@ -70,6 +84,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + peerStore, reservationStore }) expect(reserveStub.calledOnceWith(conn.remotePeer, conn.remoteAddr)).to.be.true() @@ -95,6 +110,7 @@ describe('Circuit v2 - hop protocol', function () { pbstr, relayPeer, connectionManager: sinon.stub() as any, + peerStore, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], reservationStore }) @@ -117,6 +133,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + peerStore, reservationStore, acl: { allowReserve: async function () { return false }, allowConnect: sinon.stub() as any } }) @@ -140,6 +157,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + peerStore, reservationStore }) expect(reserveStub.calledOnce).to.be.true() @@ -166,6 +184,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + peerStore, reservationStore }) expect(reserveStub.calledOnce).to.be.true() @@ -175,8 +194,13 @@ describe('Circuit v2 - hop protocol', function () { }) describe('connect', function () { - let relayPeer: PeerId, dstPeer: PeerId, conn: Connection, stream: Stream, reservationStore: ReservationStore, - circuit: Circuit, components: Components + let relayPeer: PeerId, + dstPeer: PeerId, + conn: Connection, + stream: Stream, + reservationStore: ReservationStore, + circuit: Circuit, + components: Components beforeEach(async () => { [, relayPeer, dstPeer] = await peerUtils.createPeerIds(3) @@ -184,9 +208,8 @@ describe('Circuit v2 - hop protocol', function () { stream = mockStream(pair()) reservationStore = new ReservationStore() // components - components = new DefaultComponents() + components = new DefaultComponents({ datastore: new MemoryDatastore() }) components.connectionManager = new DefaultConnectionManager(components, - { maxConnections: 300, minConnections: 50, @@ -232,7 +255,9 @@ describe('Circuit v2 - hop protocol', function () { it('should succeed to connect', async function () { const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + const getReservationStub = sinon.stub(reservationStore, 'get') hasReservationStub.resolves(true) + getReservationStub.resolves({ expire: new Date(Date.now() + 2 * 60 * 1000), addr: multiaddr('/ip4/0.0.0.0') }) const dstConn = mockConnection( mockMultiaddrConnection(pair(), dstPeer) ) @@ -260,6 +285,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, + peerStore: components.peerStore, connectionManager: components.connectionManager }) const response = await pbstr.pb(HopMessage).read() @@ -304,6 +330,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, + peerStore: components.peerStore, connectionManager: components.connectionManager, acl }) @@ -329,6 +356,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, + peerStore: sinon.stub() as any, connectionManager: components.connectionManager }) const response = await pbstr.pb(HopMessage).read() @@ -355,6 +383,7 @@ describe('Circuit v2 - hop protocol', function () { relayPeer: relayPeer, relayAddrs: [], reservationStore, + peerStore: sinon.stub() as any, connectionManager: components.connectionManager }) const response = await pbstr.pb(HopMessage).read() @@ -363,4 +392,191 @@ describe('Circuit v2 - hop protocol', function () { expect(stub.calledOnce).to.be.true() }) }) + + describe('connection limits', () => { + let relayPeer: PeerId, + dstPeer: PeerId, + conn: Connection, + reservationStore: ReservationStore, + components: Components + + beforeEach(async () => { + [, relayPeer, dstPeer] = await peerUtils.createPeerIds(3) + conn = mockConnection(mockMultiaddrConnection(mockDuplex(), relayPeer)) + reservationStore = new ReservationStore() + // components + components = new DefaultComponents({ datastore: new MemoryDatastore() }) + components.connectionManager = new DefaultConnectionManager(components, + + { + maxConnections: 300, + minConnections: 50, + autoDial: true, + autoDialInterval: 10000, + maxParallelDials: Constants.MAX_PARALLEL_DIALS, + maxDialsPerPeer: Constants.MAX_PER_PEER_DIALS, + dialTimeout: Constants.DIAL_TIMEOUT, + inboundUpgradeTimeout: Constants.INBOUND_UPGRADE_TIMEOUT, + resolvers: { + dnsaddr: dnsaddrResolver + }, + addressSorter: publicAddressesFirst + } + ) + components.peerStore = new PersistentPeerStore(components) + components.registrar = new DefaultRegistrar(components) + components.upgrader = new DefaultUpgrader(components, { + connectionEncryption: [], + muxers: [], + inboundUpgradeTimeout: 10000 + }) + }) + + it('should connect - data limit', async () => { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + const getReservationStub = sinon.stub(reservationStore, 'get') + hasReservationStub.resolves(true) + getReservationStub.resolves({ + expire: new Date(Date.now() + 2 * 60 * 1000), + addr: multiaddr('/ip4/0.0.0.0'), + // set limit + limit: { + data: BigInt(5), + duration: 0 + } + }) + const dstConn = mockConnection( + mockMultiaddrConnection(pair(), dstPeer) + ) + const [dstServer, dstClient] = duplexPair() + const [srcServer, srcClient] = duplexPair() + + // resolve the destination stream for the server + const streamStub = sinon.stub(dstConn, 'newStream') + streamStub.resolves(mockStream(dstServer)) + + const stub = sinon.stub(components.connectionManager, 'getConnections') + stub.returns([dstConn]) + const handleHop = expect(handleHopProtocol({ + connection: conn, + pbstr: pbStream(srcServer), + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + peerStore: components.peerStore, + connectionManager: components.connectionManager + })).to.eventually.fulfilled() + + const dstClientPbStream = pbStream(dstClient) + const stopConnectRequest = await dstClientPbStream.pb(StopMessage).read() + expect(stopConnectRequest.type).to.eq(StopMessage.Type.CONNECT) + // write response + dstClientPbStream.pb(StopMessage).write({ + type: StopMessage.Type.STATUS, + status: Status.OK + }) + + await handleHop + const srcClientPbStream = pbStream(srcClient) + const response = await srcClientPbStream.pb(HopMessage).read() + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.OK) + + const sourceStream = srcClientPbStream.unwrap() + const destStream = dstClientPbStream.unwrap() + + // source to dest, write 10 bytes + await pipe([uint8arrayFromString('helloextra')], sourceStream) + const data = await all(destStream.source) + expect(data).to.not.be.undefined() + expect(data?.length).to.be.eq(1) + expect(data[0].length).to.eq(5) + + // dest to source, write 10 bytes + await pipe([uint8arrayFromString('helloextra')], destStream) + const data1 = await all(sourceStream.source) + expect(data1).to.not.be.undefined() + expect(data1?.length).to.be.eq(1) + expect(data1[0].length).to.eq(5) + }) + + it('should connect - duration limit', async () => { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + const getReservationStub = sinon.stub(reservationStore, 'get') + hasReservationStub.resolves(true) + getReservationStub.resolves({ + expire: new Date(Date.now() + 2 * 60 * 1000), + addr: multiaddr('/ip4/0.0.0.0'), + // set limit + limit: { + // 500 ms duration limit + duration: 500 + } + }) + const dstConn = mockConnection( + mockMultiaddrConnection(pair(), dstPeer) + ) + const [dstServer, dstClient] = duplexPair() + const [srcServer, srcClient] = duplexPair() + + // resolve the destination stream for the server + const streamStub = sinon.stub(dstConn, 'newStream') + streamStub.resolves(mockStream(dstServer)) + + const stub = sinon.stub(components.connectionManager, 'getConnections') + stub.returns([dstConn]) + const handleHop = expect(handleHopProtocol({ + connection: conn, + pbstr: pbStream(srcServer), + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + peerStore: components.peerStore, + connectionManager: components.connectionManager + })).to.eventually.fulfilled() + + const dstClientPbStream = pbStream(dstClient) + const stopConnectRequest = await dstClientPbStream.pb(StopMessage).read() + expect(stopConnectRequest.type).to.eq(StopMessage.Type.CONNECT) + // write response + dstClientPbStream.pb(StopMessage).write({ + type: StopMessage.Type.STATUS, + status: Status.OK + }) + + await handleHop + const srcClientPbStream = pbStream(srcClient) + const response = await srcClientPbStream.pb(HopMessage).read() + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.OK) + + const sourceStream = srcClientPbStream.unwrap() as Duplex + const destStream = dstClientPbStream.unwrap() + + const periodicSender = (period: number, count: number) => async function * () { + const data = new Uint8ArrayList(new Uint8Array([1, 2, 3])) + while (count > 0) { + yield data + await new Promise((resolve) => setTimeout(resolve, period)) + count-- + } + } + // source to dest, write 10 bytes + await pipe(periodicSender(200, 3), sourceStream) + }) + }) }) diff --git a/test/circuit/v2/reservation-store.spec.ts b/test/circuit/v2/reservation-store.spec.ts index d0b2031306..05d713876c 100644 --- a/test/circuit/v2/reservation-store.spec.ts +++ b/test/circuit/v2/reservation-store.spec.ts @@ -8,7 +8,7 @@ import { createPeerId } from '../../utils/creators/peer.js' describe('Circuit v2 - reservation store', function () { it('should add reservation', async function () { - const store = new ReservationStore(2) + const store = new ReservationStore({ maxReservations: 2 }) const peer = await createPeerId() const result = await store.reserve(peer, multiaddr()) expect(result.status).to.equal(Status.OK) @@ -16,7 +16,7 @@ describe('Circuit v2 - reservation store', function () { expect(await store.hasReservation(peer)).to.be.true() }) it('should add reservation if peer already has reservation', async function () { - const store = new ReservationStore(1) + const store = new ReservationStore({ maxReservations: 1 }) const peer = await createPeerId() await store.reserve(peer, multiaddr()) const result = await store.reserve(peer, multiaddr()) @@ -26,14 +26,14 @@ describe('Circuit v2 - reservation store', function () { }) it('should fail to add reservation on exceeding limit', async function () { - const store = new ReservationStore(0) + const store = new ReservationStore({ maxReservations: 0 }) const peer = await createPeerId() const result = await store.reserve(peer, multiaddr()) expect(result.status).to.equal(Status.RESERVATION_REFUSED) }) it('should remove reservation', async function () { - const store = new ReservationStore(10) + const store = new ReservationStore({ maxReservations: 10 }) const peer = await createPeerId() const result = await store.reserve(peer, multiaddr()) expect(result.status).to.equal(Status.OK) From a3e527afb2fea96394994b1e01ac80b93abed1ef Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 23 Feb 2023 23:21:32 +0530 Subject: [PATCH 44/58] transfer limits --- package.json | 3 +- src/circuit/v2/hop.ts | 1 - src/circuit/v2/util.ts | 75 ++++++++++++++++++++++++-------- src/errors.ts | 3 +- test/circuit/v2/hop.spec.ts | 86 +++++++++++++++++++++++++++++++++++-- 5 files changed, 144 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 436f2fe135..e26d0320d5 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,8 @@ "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", - "test:interop": "aegir test -t node -f dist/test/interop.js" + "test:interop": "aegir test -t node -f dist/test/interop.js", + "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\" --cov" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index ef18e1bc4c..a35219491f 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -119,7 +119,6 @@ async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, }) log('sent confirmation response to %s', connection.remotePeer) } catch (err) { - console.log(err) log.error('failed to send confirmation response to %s', connection.remotePeer) await reservationStore.removeReservation(connection.remotePeer) } diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index e11143b8c5..30048da07e 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -1,9 +1,12 @@ -import { abortableDuplex } from 'abortable-iterator' +import { abortableDuplex, AbortError } from 'abortable-iterator' import { pipe } from 'it-pipe' -import type { Duplex, Source } from 'it-stream-types' +import type { Duplex, Sink, Source } from 'it-stream-types' import { TimeoutController } from 'timeout-abort-controller' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Limit } from './pb' +import { Uint8ArrayList } from 'uint8arraylist' +import type { Limit } from './pb/index.js' +import { logger } from '@libp2p/logger' + +const log = logger('libp2p:circuit:v2:util') type DuplexStream = Duplex export async function createLimitedShortCircuit (source: DuplexStream, destination: DuplexStream, limit?: Limit) { @@ -11,9 +14,13 @@ export async function createLimitedShortCircuit (source: DuplexStream, destinati if (limit == null) { return await pipe(source, destination, source) } - const [src, clearSource] = durationLimitDuplex({ ...source, source: dataLimitSource(source.source, Number(limit.data ?? 0)), sink: source.sink }, limit.duration ?? 0) - const [dst, clearDest] = durationLimitDuplex({ ...destination, source: dataLimitSource(destination.source, Number(limit.data ?? 0)), sink: destination.sink }, limit.duration ?? 0) - return await pipe(src, dst, src).then(() => { clearSource(); clearDest() }) + const src = durationLimitDuplex(dataLimitDuplex(source, Number(limit.data ?? 0)), limit.duration ?? 0) + const dst = durationLimitDuplex(dataLimitDuplex(destination, Number(limit.data ?? 0)), limit.duration ?? 0) + void pipe( + src, + dst, + src + ).catch((err) => log.error('error while relaying streams: ', err)) } const dataLimitSource = (source: Source, limit: number): Source => { @@ -24,23 +31,57 @@ const dataLimitSource = (source: Source, limit: number): Source< return pipe(source, async function * (src): Source { let total = 0 for await (const buf of src) { - if (total + buf.length < limit) { - total += buf.length - yield buf - } else { - const remaining = limit - total - return yield buf.sublist(0, remaining) + const remaining = limit - total + if (remaining <= 0) { + return } + total += Math.min(buf.length, remaining) + yield buf.sublist(0, Math.min(buf.length, remaining)) } }) } -const durationLimitDuplex = (duplex: DuplexStream, limit: number): [DuplexStream, () => void] => { +const dataLimitSink = (sink: Sink, limit: number): Sink => { + return async (source: Source) => await sink( + dataLimitSource( + // adapter for uint8array sources + pipe(source, async function * (src) { + for await (const buf of src) { + if (buf instanceof Uint8Array) { + yield Uint8ArrayList.fromUint8Arrays([buf]) + } else { + yield buf + } + } + }), + limit + ) + ) +} + +const dataLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream => { + return { ...duplex, source: dataLimitSource(duplex.source, limit), sink: dataLimitSink(duplex.sink, limit) } +} + +const durationLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream => { if (limit === 0) { - return [duplex, () => { }] + return duplex } const controller = new TimeoutController(limit) const d = abortableDuplex(duplex, controller.signal) - const clear = () => controller.clear() - return [d, clear] + const source = pipe(d.source, async function * (source) { + try { + for await (const buf of source) { + yield buf + } + } catch (err: any) { + if (!(err instanceof AbortError)) { + throw err + } + } finally { + controller.clear() + } + }) + + return { ...duplex, source } } diff --git a/src/errors.ts b/src/errors.ts index 99ecc45600..7fc428b6d4 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -74,5 +74,6 @@ export enum codes { ERR_NO_HANDLER_FOR_PROTOCOL = 'ERR_NO_HANDLER_FOR_PROTOCOL', ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS = 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS', ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS = 'ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS', - ERR_CONNECTION_DENIED = 'ERR_CONNECTION_DENIED' + ERR_CONNECTION_DENIED = 'ERR_CONNECTION_DENIED', + ERR_TRANSFER_LIMIT_EXCEEDED = 'ERR_TRANSFER_LIMIT_EXCEEDED', } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index fcff912d94..265ff7a8ee 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -507,7 +507,7 @@ describe('Circuit v2 - hop protocol', function () { expect(data1[0].length).to.eq(5) }) - it('should connect - duration limit', async () => { + it('should connect - duration limit - dest to src', async () => { const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') const getReservationStub = sinon.stub(reservationStore, 'get') hasReservationStub.resolves(true) @@ -568,15 +568,93 @@ describe('Circuit v2 - hop protocol', function () { const destStream = dstClientPbStream.unwrap() const periodicSender = (period: number, count: number) => async function * () { - const data = new Uint8ArrayList(new Uint8Array([1, 2, 3])) + const data = new Uint8ArrayList(new Uint8Array([0, 0, 0, 0])) while (count > 0) { + await new Promise((resolve) => setTimeout(resolve, period)) yield data + count-- + } + } + // dest to source, write 4 messages + void pipe(periodicSender(200, 4), destStream) + + const received = await all(sourceStream.source) + expect(received).to.have.length(2) + }) + + it('should connect - duration limit - src to dest', async () => { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + const getReservationStub = sinon.stub(reservationStore, 'get') + hasReservationStub.resolves(true) + getReservationStub.resolves({ + expire: new Date(Date.now() + 2 * 60 * 1000), + addr: multiaddr('/ip4/0.0.0.0'), + // set limit + limit: { + // 500 ms duration limit + duration: 500 + } + }) + const dstConn = mockConnection( + mockMultiaddrConnection(pair(), dstPeer) + ) + const [dstServer, dstClient] = duplexPair() + const [srcServer, srcClient] = duplexPair() + + // resolve the destination stream for the server + const streamStub = sinon.stub(dstConn, 'newStream') + streamStub.resolves(mockStream(dstServer)) + + const stub = sinon.stub(components.connectionManager, 'getConnections') + stub.returns([dstConn]) + const handleHop = expect(handleHopProtocol({ + connection: conn, + pbstr: pbStream(srcServer), + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + peerStore: components.peerStore, + connectionManager: components.connectionManager + })).to.eventually.fulfilled() + + const dstClientPbStream = pbStream(dstClient) + const stopConnectRequest = await dstClientPbStream.pb(StopMessage).read() + expect(stopConnectRequest.type).to.eq(StopMessage.Type.CONNECT) + // write response + dstClientPbStream.pb(StopMessage).write({ + type: StopMessage.Type.STATUS, + status: Status.OK + }) + + await handleHop + const srcClientPbStream = pbStream(srcClient) + const response = await srcClientPbStream.pb(HopMessage).read() + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.OK) + + const sourceStream = srcClientPbStream.unwrap() as Duplex + const destStream = dstClientPbStream.unwrap() + + const periodicSender = (period: number, count: number) => async function * () { + const data = new Uint8ArrayList(new Uint8Array([0, 0, 0, 0])) + while (count > 0) { await new Promise((resolve) => setTimeout(resolve, period)) + yield data count-- } } - // source to dest, write 10 bytes - await pipe(periodicSender(200, 3), sourceStream) + // dest to source, write 4 messages + void pipe(periodicSender(200, 4), sourceStream) + + const received = await all(destStream.source) + expect(received).to.have.length(2) }) }) }) From 69a7e6828354f48e7f81b82073eb72f20b468711 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Fri, 24 Feb 2023 15:00:48 +0530 Subject: [PATCH 45/58] remove commented code --- package.json | 3 +-- src/circuit/v2/hop.ts | 17 ----------------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/package.json b/package.json index e26d0320d5..436f2fe135 100644 --- a/package.json +++ b/package.json @@ -91,8 +91,7 @@ "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox", "test:examples": "cd examples && npm run test:all", - "test:interop": "aegir test -t node -f dist/test/interop.js", - "test:relay": "aegir test -t node -f \"./dist/test/**/{hop,stop,reservation-store,relay,auto-relay}.{node,spec}.js\" --cov" + "test:interop": "aegir test -t node -f dist/test/interop.js" }, "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index a35219491f..f051d35d21 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -192,23 +192,6 @@ async function handleConnect (options: HopProtocolOptions): Promise { const limit = (await reservationStore.get(dstPeer))?.limit // Short circuit the two streams to create the relayed connection return await createLimitedShortCircuit(sourceStream, destinationStream, limit) - // return await pipe( - // sourceStream as Duplex, - // // adapt uint8arraylist to uint8array - // // async function * (src) { - // // for await(const buf of src) { - // // yield buf.subarray() - // // } - // // }, - // destinationStream as Duplex, - // // adapt uint8arraylist to uint8array - // // async function * (src) { - // // for await(const buf of src) { - // // yield buf.subarray() - // // } - // // }, - // sourceStream as Duplex - // ) } async function makeReservation ( From de764b70ce136a35d76e6faf7691931ab508dc77 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Fri, 24 Feb 2023 11:26:39 +0000 Subject: [PATCH 46/58] chore: fix interop --- package.json | 5 +++-- test/interop.ts | 22 +++++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 436f2fe135..5fc8434c5a 100644 --- a/package.json +++ b/package.json @@ -164,17 +164,18 @@ "xsalsa20": "^1.1.0" }, "devDependencies": { + "@chainsafe/libp2p-gossipsub": "^6.2.0", "@chainsafe/libp2p-noise": "^11.0.0", "@chainsafe/libp2p-yamux": "^3.0.3", "@libp2p/bootstrap": "^6.0.0", - "@libp2p/daemon-client": "^4.1.0", + "@libp2p/daemon-client": "^5.0.0", "@libp2p/daemon-server": "^4.1.0", "@libp2p/floodsub": "^6.0.0", "@libp2p/interface-compliance-tests": "^3.0.2", "@libp2p/interface-connection-compliance-tests": "^2.0.3", "@libp2p/interface-connection-encrypter-compliance-tests": "^4.0.0", "@libp2p/interface-mocks": "^9.0.0", - "@libp2p/interop": "^6.0.2", + "@libp2p/interop": "^7.0.0", "@libp2p/kad-dht": "^7.0.0", "@libp2p/mdns": "^6.0.0", "@libp2p/mplex": "^7.0.0", diff --git a/test/interop.ts b/test/interop.ts index 839796857b..f326bbef0e 100644 --- a/test/interop.ts +++ b/test/interop.ts @@ -18,10 +18,21 @@ import { unmarshalPrivateKey } from '@libp2p/crypto/keys' import type { PeerId } from '@libp2p/interface-peer-id' import { peerIdFromKeys } from '@libp2p/peer-id' import { floodsub } from '@libp2p/floodsub' +import { gossipsub } from '@chainsafe/libp2p-gossipsub' + +/** + * @packageDocumentation + * + * To enable debug logging, run the tests with the following env vars: + * + * ```console + * DEBUG=libp2p*,go-libp2p:* npm run test:interop + * ``` + */ async function createGoPeer (options: SpawnOptions): Promise { const controlPort = Math.floor(Math.random() * (50000 - 10000 + 1)) + 10000 - const apiAddr = multiaddr(`/ip4/0.0.0.0/tcp/${controlPort}`) + const apiAddr = multiaddr(`/ip4/127.0.0.1/tcp/${controlPort}`) const log = logger(`go-libp2p:${controlPort}`) @@ -32,7 +43,7 @@ async function createGoPeer (options: SpawnOptions): Promise { if (options.noListen === true) { opts.push('-noListenAddrs') } else { - opts.push('-hostAddrs=/ip4/0.0.0.0/tcp/0') + opts.push('-hostAddrs=/ip4/127.0.0.1/tcp/0') } if (options.noise === true) { @@ -91,7 +102,7 @@ async function createGoPeer (options: SpawnOptions): Promise { return { client: createClient(apiAddr), stop: async () => { - proc.kill('SIGKILL') + await proc.kill() } } } @@ -108,7 +119,7 @@ async function createJsPeer (options: SpawnOptions): Promise { const opts: Libp2pOptions = { peerId, addresses: { - listen: options.noListen === true ? [] : ['/ip4/0.0.0.0/tcp/0'] + listen: options.noListen === true ? [] : ['/ip4/127.0.0.1/tcp/0'] }, transports: [tcp()], streamMuxers: [], @@ -128,7 +139,7 @@ async function createJsPeer (options: SpawnOptions): Promise { if (options.pubsubRouter === 'floodsub') { opts.pubsub = floodsub() } else { - opts.pubsub = floodsub() + opts.pubsub = gossipsub() } } @@ -194,4 +205,5 @@ async function main () { main().catch(err => { console.error(err) // eslint-disable-line no-console + process.exit(1) }) From 7e2b848b55498c6a38d3bf2b228b74195600db47 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 14:37:58 +0530 Subject: [PATCH 47/58] remove pipe from utils --- src/circuit/v2/util.ts | 72 +++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index 30048da07e..c7b3d90e1f 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -1,5 +1,4 @@ import { abortableDuplex, AbortError } from 'abortable-iterator' -import { pipe } from 'it-pipe' import type { Duplex, Sink, Source } from 'it-stream-types' import { TimeoutController } from 'timeout-abort-controller' import { Uint8ArrayList } from 'uint8arraylist' @@ -9,57 +8,66 @@ import { logger } from '@libp2p/logger' const log = logger('libp2p:circuit:v2:util') type DuplexStream = Duplex +const doRelay = (src: DuplexStream, dst: DuplexStream) => { + void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) + void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) +} + export async function createLimitedShortCircuit (source: DuplexStream, destination: DuplexStream, limit?: Limit) { // trivial case if (limit == null) { - return await pipe(source, destination, source) + void doRelay(source, destination) + return } - const src = durationLimitDuplex(dataLimitDuplex(source, Number(limit.data ?? 0)), limit.duration ?? 0) - const dst = durationLimitDuplex(dataLimitDuplex(destination, Number(limit.data ?? 0)), limit.duration ?? 0) - void pipe( - src, - dst, - src - ).catch((err) => log.error('error while relaying streams: ', err)) + const dataLimit = limit.data ?? BigInt(0) + const durationLimit = limit.duration ?? 0 + const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) + const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) + void doRelay(src, dst) } -const dataLimitSource = (source: Source, limit: number): Source => { - if (limit === 0) { +const dataLimitSource = (source: Source, limit: bigint): Source => { + if (limit === BigInt(0)) { return source } - return pipe(source, async function * (src): Source { - let total = 0 - for await (const buf of src) { + return (async function * (): Source { + let total = BigInt(0) + for await (const buf of source) { const remaining = limit - total if (remaining <= 0) { return } - total += Math.min(buf.length, remaining) - yield buf.sublist(0, Math.min(buf.length, remaining)) + const len = BigInt(buf.length) + const readBytes = len <= remaining ? len : remaining + total += readBytes + // downcast to number is safe since len is guaranteed to + // be within the range of `number`. + yield buf.sublist(0, Number(readBytes)) } - }) + })() } -const dataLimitSink = (sink: Sink, limit: number): Sink => { +const adaptSource = (source: Source): Source => (async function * () { + for await (const buf of source) { + if (buf instanceof Uint8Array) { + yield Uint8ArrayList.fromUint8Arrays([buf]) + } else { + yield buf + } + } +})() + +const dataLimitSink = (sink: Sink, limit: bigint): Sink => { return async (source: Source) => await sink( dataLimitSource( - // adapter for uint8array sources - pipe(source, async function * (src) { - for await (const buf of src) { - if (buf instanceof Uint8Array) { - yield Uint8ArrayList.fromUint8Arrays([buf]) - } else { - yield buf - } - } - }), + adaptSource(source), limit ) ) } -const dataLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream => { +const dataLimitDuplex = (duplex: DuplexStream, limit: bigint): DuplexStream => { return { ...duplex, source: dataLimitSource(duplex.source, limit), sink: dataLimitSink(duplex.sink, limit) } } @@ -69,9 +77,9 @@ const durationLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream } const controller = new TimeoutController(limit) const d = abortableDuplex(duplex, controller.signal) - const source = pipe(d.source, async function * (source) { + const source = (async function * () { try { - for await (const buf of source) { + for await (const buf of d.source) { yield buf } } catch (err: any) { @@ -81,7 +89,7 @@ const durationLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream } finally { controller.clear() } - }) + })() return { ...duplex, source } } From ed86c6505404457293c208795f3973a9afc8aa88 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 14:47:42 +0530 Subject: [PATCH 48/58] spawn microtasks to handle circuit connections --- src/circuit/v2/util.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index c7b3d90e1f..2a6e4e94c9 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -9,21 +9,26 @@ const log = logger('libp2p:circuit:v2:util') type DuplexStream = Duplex const doRelay = (src: DuplexStream, dst: DuplexStream) => { - void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) - void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) + queueMicrotask(() => { + void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) + }) + + queueMicrotask(() => { + void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) + }) } export async function createLimitedShortCircuit (source: DuplexStream, destination: DuplexStream, limit?: Limit) { // trivial case if (limit == null) { - void doRelay(source, destination) + doRelay(source, destination) return } const dataLimit = limit.data ?? BigInt(0) const durationLimit = limit.duration ?? 0 const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) - void doRelay(src, dst) + doRelay(src, dst) } const dataLimitSource = (source: Source, limit: bigint): Source => { From ee771857d795b565ac66c677c5d41f4f8c2f9bb5 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 16:21:25 +0530 Subject: [PATCH 49/58] reset stream on exceeding relay limits --- src/circuit/transport.ts | 3 +- src/circuit/v2/hop.ts | 20 ++--- src/circuit/v2/interfaces.ts | 8 ++ src/circuit/v2/stop.ts | 9 ++- src/circuit/v2/util.ts | 49 +++++++----- test/circuit/v2/hop.spec.ts | 148 ++++++++++++++++++++++++++++------- 6 files changed, 175 insertions(+), 62 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 773b875636..47a3afea1e 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -131,6 +131,7 @@ export class Circuit implements Transport, Startable { const source = abortableDuplex(stream, controller.signal) const pbstr = pbStream({ ...stream, ...source }) + const resetable = { value: pbstr, reset: () => stream.reset() } try { const request = await pbstr.pb(CircuitV2.HopMessage).read() @@ -140,7 +141,7 @@ export class Circuit implements Transport, Startable { await CircuitV2Handler.handleHopProtocol({ connection, - pbstr, + stream: resetable, connectionManager: this.components.connectionManager, relayPeer: this.components.peerId, relayAddrs: this.components.addressManager.getListenAddrs(), diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index f051d35d21..0cf99abfc9 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -5,7 +5,7 @@ import type { Connection } from '@libp2p/interface-connection' import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' import type { Multiaddr } from '@multiformats/multiaddr' import { multiaddr } from '@multiformats/multiaddr' -import type { Acl, ReservationStore } from './interfaces.js' +import type { Acl, ReservationStore, Resetable } from './interfaces.js' import { RELAY_V2_HOP_CODEC } from '../multicodec.js' import { stop } from './stop.js' import { ReservationVoucherRecord } from './reservation-voucher.js' @@ -16,7 +16,7 @@ import { pbStream } from 'it-pb-stream' import { CIRCUIT_PROTO_CODE } from '../constants.js' import type { Uint8ArrayList } from 'uint8arraylist' import type { PeerStore } from '@libp2p/interface-peer-store' -import { createLimitedShortCircuit } from './util.js' +import { createLimitedRelay } from './util.js' import type { CodeError } from '@libp2p/interfaces/errors' const log = logger('libp2p:circuit:v2:hop') @@ -26,7 +26,7 @@ const RELAYED = 'relayed' export interface HopProtocolOptions { connection: Connection request: HopMessage - pbstr: ProtobufStream + stream: Resetable> relayPeer: PeerId relayAddrs: Multiaddr[] limit?: Limit @@ -37,14 +37,14 @@ export interface HopProtocolOptions { } export async function handleHopProtocol (options: HopProtocolOptions): Promise { - const { pbstr, request } = options + const { stream, request } = options log('received hop message') switch (request.type) { case HopMessage.Type.RESERVE: await handleReserve(options); break case HopMessage.Type.CONNECT: await handleConnect(options); break default: { log.error('invalid hop request type %s via peer %s', options.request.type, options.connection.remotePeer) - pbstr.pb(HopMessage).write({ type: HopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE }) + stream.value.pb(HopMessage).write({ type: HopMessage.Type.STATUS, status: Status.UNEXPECTED_MESSAGE }) } } } @@ -75,7 +75,7 @@ export async function reserve (connection: Connection): Promise { const isRelayAddr = (ma: Multiaddr): boolean => ma.protoCodes().includes(CIRCUIT_PROTO_CODE) -async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { +async function handleReserve ({ connection, stream: { value: pbstr }, relayPeer, relayAddrs, limit, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) @@ -125,8 +125,8 @@ async function handleReserve ({ connection, pbstr, relayPeer, relayAddrs, limit, } async function handleConnect (options: HopProtocolOptions): Promise { - const { connection, pbstr, request, reservationStore, connectionManager, acl } = options - const hopstr = pbstr.pb(HopMessage) + const { connection, stream, request, reservationStore, connectionManager, acl } = options + const hopstr = stream.value.pb(HopMessage) log('hop connect request from %s', connection.remotePeer) @@ -186,12 +186,12 @@ async function handleConnect (options: HopProtocolOptions): Promise { } hopstr.write({ type: HopMessage.Type.STATUS, status: Status.OK }) - const sourceStream = pbstr.unwrap() + const sourceStream = { ...stream, value: stream.value.unwrap() } log('connection to destination established, short circuiting streams...') const limit = (await reservationStore.get(dstPeer))?.limit // Short circuit the two streams to create the relayed connection - return await createLimitedShortCircuit(sourceStream, destinationStream, limit) + return createLimitedRelay(sourceStream, destinationStream, limit) } async function makeReservation ( diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts index 2d0111b062..d7b5b85e5b 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/v2/interfaces.ts @@ -1,5 +1,7 @@ import type { PeerId } from '@libp2p/interface-peer-id' import type { Multiaddr } from '@multiformats/multiaddr' +import type { Duplex } from 'it-stream-types' +import type { Uint8ArrayList } from 'uint8arraylist' import type { Limit, Status } from './pb/index.js' export type ReservationStatus = Status.OK | Status.PERMISSION_DENIED | Status.RESERVATION_REFUSED @@ -26,3 +28,9 @@ export interface Acl { */ allowConnect: (src: PeerId, addr: Multiaddr, dst: PeerId) => Promise } + +export type DuplexStream = Duplex +export interface Resetable { + value: T + reset: () => void +} diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index f9055a2ab1..07dd43fedf 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -7,7 +7,7 @@ import { RELAY_V2_STOP_CODEC } from '../multicodec.js' import { multiaddr } from '@multiformats/multiaddr' import { pbStream, ProtobufStream } from 'it-pb-stream' import type { Uint8ArrayList } from 'uint8arraylist' -import type { Duplex } from 'it-stream-types' +import type { DuplexStream, Resetable } from './interfaces.js' const log = logger('libp2p:circuit:v2:stop') @@ -66,7 +66,7 @@ export interface StopOptions { export async function stop ({ connection, request -}: StopOptions): Promise | undefined> { +}: StopOptions): Promise | undefined> { const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) log('starting circuit relay v2 stop request to %s', connection.remotePeer) const pbstr = pbStream(stream) @@ -86,7 +86,10 @@ export async function stop ({ } if (response.status === Status.OK) { log('stop request to %s was successful', connection.remotePeer) - return pbstr.unwrap() + return { + value: pbstr.unwrap(), + reset: () => stream.reset() + } } log('stop request failed with code %d', response.status) diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index 2a6e4e94c9..e7ce8a1e68 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -1,13 +1,13 @@ import { abortableDuplex, AbortError } from 'abortable-iterator' -import type { Duplex, Sink, Source } from 'it-stream-types' +import type { Sink, Source } from 'it-stream-types' import { TimeoutController } from 'timeout-abort-controller' import { Uint8ArrayList } from 'uint8arraylist' import type { Limit } from './pb/index.js' import { logger } from '@libp2p/logger' +import type { DuplexStream, Resetable } from './interfaces.js' const log = logger('libp2p:circuit:v2:util') -type DuplexStream = Duplex const doRelay = (src: DuplexStream, dst: DuplexStream) => { queueMicrotask(() => { void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) @@ -18,20 +18,20 @@ const doRelay = (src: DuplexStream, dst: DuplexStream) => { }) } -export async function createLimitedShortCircuit (source: DuplexStream, destination: DuplexStream, limit?: Limit) { +export function createLimitedRelay (source: Resetable, destination: Resetable, limit?: Limit) { // trivial case if (limit == null) { - doRelay(source, destination) + doRelay(source.value, destination.value) return } const dataLimit = limit.data ?? BigInt(0) const durationLimit = limit.duration ?? 0 const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) - doRelay(src, dst) + doRelay(src.value, dst.value) } -const dataLimitSource = (source: Source, limit: bigint): Source => { +const dataLimitSource = (source: Source, reset: () => void, limit: bigint): Source => { if (limit === BigInt(0)) { return source } @@ -39,16 +39,14 @@ const dataLimitSource = (source: Source, limit: bigint): Source< return (async function * (): Source { let total = BigInt(0) for await (const buf of source) { - const remaining = limit - total - if (remaining <= 0) { + const len = BigInt(buf.length) + if (total + len > limit) { + log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) + reset() return } - const len = BigInt(buf.length) - const readBytes = len <= remaining ? len : remaining - total += readBytes - // downcast to number is safe since len is guaranteed to - // be within the range of `number`. - yield buf.sublist(0, Number(readBytes)) + total += len + yield buf } })() } @@ -63,25 +61,33 @@ const adaptSource = (source: Source): Source, limit: bigint): Sink => { +const dataLimitSink = (sink: Sink, reset: () => void, limit: bigint): Sink => { return async (source: Source) => await sink( dataLimitSource( adaptSource(source), + reset, limit ) ) } -const dataLimitDuplex = (duplex: DuplexStream, limit: bigint): DuplexStream => { - return { ...duplex, source: dataLimitSource(duplex.source, limit), sink: dataLimitSink(duplex.sink, limit) } +const dataLimitDuplex = (duplex: Resetable, limit: bigint): Resetable => { + return { + ...duplex, + value: { + ...duplex.value, + source: dataLimitSource(duplex.value.source, duplex.reset, limit), + sink: dataLimitSink(duplex.value.sink, duplex.reset, limit) + } + } } -const durationLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream => { +const durationLimitDuplex = (duplex: Resetable, limit: number): Resetable => { if (limit === 0) { return duplex } const controller = new TimeoutController(limit) - const d = abortableDuplex(duplex, controller.signal) + const d = abortableDuplex(duplex.value, controller.signal) const source = (async function * () { try { for await (const buf of d.source) { @@ -91,10 +97,13 @@ const durationLimitDuplex = (duplex: DuplexStream, limit: number): DuplexStream if (!(err instanceof AbortError)) { throw err } + // reset if we encounter an abort error + log.error('exceeded duration: %d ms, resetting stream', limit) + duplex.reset() } finally { controller.clear() } })() - return { ...duplex, source } + return { ...duplex, value: { ...duplex.value, source } } } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 265ff7a8ee..093736ae56 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -28,6 +28,7 @@ import type { PeerStore } from '@libp2p/interface-peer-store' import { MemoryDatastore } from 'datastore-core' import { Uint8ArrayList } from 'uint8arraylist' import type { Duplex } from 'it-stream-types' +import { pushable } from 'it-pushable' /* eslint-env mocha */ @@ -57,7 +58,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, request: {}, relayPeer, relayAddrs: [], @@ -80,7 +81,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -107,7 +108,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, peerStore, @@ -129,7 +130,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -153,7 +154,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -180,7 +181,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -274,7 +275,7 @@ describe('Circuit v2 - hop protocol', function () { stub.returns([dstConn]) await handleHopProtocol({ connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -297,7 +298,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - pbstr: pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, // @ts-expect-error {} is missing the following properties from peer: id, addrs @@ -319,7 +320,7 @@ describe('Circuit v2 - hop protocol', function () { } await handleHopProtocol({ connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -345,7 +346,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -372,7 +373,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - pbstr, + stream: { value: pbstr, reset: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -432,7 +433,7 @@ describe('Circuit v2 - hop protocol', function () { }) }) - it('should connect - data limit', async () => { + it('should connect - data limit - src to dest', async () => { const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') const getReservationStub = sinon.stub(reservationStore, 'get') hasReservationStub.resolves(true) @@ -457,9 +458,15 @@ describe('Circuit v2 - hop protocol', function () { const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) + const srcServerReset = sinon.stub() const handleHop = expect(handleHopProtocol({ connection: conn, - pbstr: pbStream(srcServer), + stream: { + value: pbStream(srcServer), + reset: () => { + srcServerReset() + } + }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -492,19 +499,93 @@ describe('Circuit v2 - hop protocol', function () { const sourceStream = srcClientPbStream.unwrap() const destStream = dstClientPbStream.unwrap() - // source to dest, write 10 bytes - await pipe([uint8arrayFromString('helloextra')], sourceStream) + // source to dest, write 4 bytes + const sender = pushable() + void pipe(sender, sourceStream) + sender.push(uint8arrayFromString('01234')) + // source to dest, exceed stream limit + sender.push(uint8arrayFromString('extra')) const data = await all(destStream.source) - expect(data).to.not.be.undefined() - expect(data?.length).to.be.eq(1) - expect(data[0].length).to.eq(5) - - // dest to source, write 10 bytes - await pipe([uint8arrayFromString('helloextra')], destStream) - const data1 = await all(sourceStream.source) - expect(data1).to.not.be.undefined() - expect(data1?.length).to.be.eq(1) - expect(data1[0].length).to.eq(5) + expect(data).to.have.length(1) + expect(data[0]).to.have.length(5) + expect(srcServerReset.callCount).to.equal(1) + }) + + it('should connect - data limit - dest to src', async () => { + const hasReservationStub = sinon.stub(reservationStore, 'hasReservation') + const getReservationStub = sinon.stub(reservationStore, 'get') + hasReservationStub.resolves(true) + getReservationStub.resolves({ + expire: new Date(Date.now() + 2 * 60 * 1000), + addr: multiaddr('/ip4/0.0.0.0'), + // set limit + limit: { + data: BigInt(5), + duration: 0 + } + }) + const dstConn = mockConnection( + mockMultiaddrConnection(pair(), dstPeer) + ) + const [dstServer, dstClient] = duplexPair() + const [srcServer, srcClient] = duplexPair() + + // resolve the destination stream for the server + const streamStub = sinon.stub(dstConn, 'newStream') + const dstServerStream = mockStream(dstServer) + const dstServerStreamResetStub = sinon.stub(dstServerStream, 'reset') + streamStub.resolves(dstServerStream) + + const stub = sinon.stub(components.connectionManager, 'getConnections') + stub.returns([dstConn]) + const handleHop = expect(handleHopProtocol({ + connection: conn, + stream: { + value: pbStream(srcServer), + reset: () => {} + }, + request: { + type: HopMessage.Type.CONNECT, + peer: { + id: dstPeer.toBytes(), + addrs: [] + } + }, + relayPeer: relayPeer, + relayAddrs: [], + reservationStore, + peerStore: components.peerStore, + connectionManager: components.connectionManager + })).to.eventually.fulfilled() + + const dstClientPbStream = pbStream(dstClient) + const stopConnectRequest = await dstClientPbStream.pb(StopMessage).read() + expect(stopConnectRequest.type).to.eq(StopMessage.Type.CONNECT) + // write response + dstClientPbStream.pb(StopMessage).write({ + type: StopMessage.Type.STATUS, + status: Status.OK + }) + + await handleHop + const srcClientPbStream = pbStream(srcClient) + const response = await srcClientPbStream.pb(HopMessage).read() + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.status).to.be.equal(Status.OK) + + const sourceStream = srcClientPbStream.unwrap() + const destStream = dstClientPbStream.unwrap() + + // dest to source, write 4 bytes + const sender = pushable() + void pipe(sender, destStream) + sender.push(uint8arrayFromString('01234')) + // dest to source, exceed stream limit + sender.push(uint8arrayFromString('extra')) + const data = await all(sourceStream.source) + expect(data).to.have.length(1) + expect(data[0]).to.have.length(5) + expect(dstServerStreamResetStub.callCount).to.equal(1) }) it('should connect - duration limit - dest to src', async () => { @@ -528,13 +609,18 @@ describe('Circuit v2 - hop protocol', function () { // resolve the destination stream for the server const streamStub = sinon.stub(dstConn, 'newStream') - streamStub.resolves(mockStream(dstServer)) + const dstServerStream = mockStream(dstServer) + const dstResetStub = sinon.stub(dstServerStream, 'reset') + streamStub.resolves(dstServerStream) const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) const handleHop = expect(handleHopProtocol({ connection: conn, - pbstr: pbStream(srcServer), + stream: { + value: pbStream(srcServer), + reset: () => {} + }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -580,6 +666,7 @@ describe('Circuit v2 - hop protocol', function () { const received = await all(sourceStream.source) expect(received).to.have.length(2) + expect(dstResetStub.callCount).to.equal(1) }) it('should connect - duration limit - src to dest', async () => { @@ -607,9 +694,13 @@ describe('Circuit v2 - hop protocol', function () { const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) + const srcResetStub = sinon.stub() const handleHop = expect(handleHopProtocol({ connection: conn, - pbstr: pbStream(srcServer), + stream: { + value: pbStream(srcServer), + reset: () => { srcResetStub() } + }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -655,6 +746,7 @@ describe('Circuit v2 - hop protocol', function () { const received = await all(destStream.source) expect(received).to.have.length(2) + expect(srcResetStub.callCount).to.equal(1) }) }) }) From edad075705b2202f86a7f63bf4f6bc2fd88a2fae Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 18:43:26 +0530 Subject: [PATCH 50/58] replace reset with abort --- src/circuit/transport.ts | 51 +++++++++++++++++---------------- src/circuit/v2/hop.ts | 4 +-- src/circuit/v2/interfaces.ts | 4 +-- src/circuit/v2/stop.ts | 6 ++-- src/circuit/v2/util.ts | 48 +++++++++++++++---------------- test/circuit/v2/hop.spec.ts | 55 +++++++++++++++++++----------------- test/relay/relay.node.ts | 15 +++++----- 7 files changed, 94 insertions(+), 89 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 47a3afea1e..08982dc388 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -15,9 +15,6 @@ import type { IncomingStreamData, Registrar } from '@libp2p/interface-registrar' import type { Listener, Transport, CreateListenerOptions, ConnectionHandler } from '@libp2p/interface-transport' import type { Connection, Stream } from '@libp2p/interface-connection' import type { RelayConfig } from './index.js' -import { abortableDuplex } from 'abortable-iterator' -import { TimeoutController } from 'timeout-abort-controller' -import { setMaxListeners } from 'events' import type { PeerId } from '@libp2p/interface-peer-id' import * as CircuitV2Handler from './v2/index.js' import type { Multiaddr } from '@multiformats/multiaddr' @@ -26,6 +23,7 @@ import type { Startable } from '@libp2p/interfaces/dist/src/startable' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { AddressManager } from '@libp2p/interface-address-manager' import { pbStream } from 'it-pb-stream' +import pDefer from 'p-defer' const log = logger('libp2p:circuit') @@ -122,41 +120,44 @@ export class Circuit implements Transport, Startable { async onHop ({ connection, stream }: IncomingStreamData) { log('received circuit v2 hop protocol stream from %s', connection.remotePeer) - const controller = new TimeoutController(this._init.hop.timeout) + const hopTimeoutPromise = pDefer() + const timeout = setTimeout(() => { + hopTimeoutPromise.reject('timed out') + }, this._init.hop.timeout) + const pbstr = pbStream(stream) + const abortable = { value: pbstr, abort: () => stream.abort(new Error('aborted')) } try { - // fails on node < 15.4 - setMaxListeners?.(Infinity, controller.signal) - } catch { } - - const source = abortableDuplex(stream, controller.signal) - const pbstr = pbStream({ ...stream, ...source }) - const resetable = { value: pbstr, reset: () => stream.reset() } - try { - const request = await pbstr.pb(CircuitV2.HopMessage).read() + const request: CircuitV2.HopMessage = await Promise.race([ + pbstr.pb(CircuitV2.HopMessage).read(), + hopTimeoutPromise.promise as any + ]) if (request?.type == null) { throw new Error('request was invalid, could not read from stream') } - await CircuitV2Handler.handleHopProtocol({ - connection, - stream: resetable, - connectionManager: this.components.connectionManager, - relayPeer: this.components.peerId, - relayAddrs: this.components.addressManager.getListenAddrs(), - reservationStore: this.reservationStore, - peerStore: this.components.peerStore, - request - }) + await Promise.race([ + CircuitV2Handler.handleHopProtocol({ + connection, + stream: abortable, + connectionManager: this.components.connectionManager, + relayPeer: this.components.peerId, + relayAddrs: this.components.addressManager.getListenAddrs(), + reservationStore: this.reservationStore, + peerStore: this.components.peerStore, + request + }), + hopTimeoutPromise.promise + ]) } catch (_err) { pbstr.pb(CircuitV2.HopMessage).write({ type: CircuitV2.HopMessage.Type.STATUS, status: CircuitV2.Status.MALFORMED_MESSAGE }) - stream.close() + stream.abort(_err as Error) } finally { - controller.clear() + clearTimeout(timeout) } } diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 0cf99abfc9..ae32938169 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -5,7 +5,7 @@ import type { Connection } from '@libp2p/interface-connection' import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' import type { Multiaddr } from '@multiformats/multiaddr' import { multiaddr } from '@multiformats/multiaddr' -import type { Acl, ReservationStore, Resetable } from './interfaces.js' +import type { Acl, ReservationStore, Abortable } from './interfaces.js' import { RELAY_V2_HOP_CODEC } from '../multicodec.js' import { stop } from './stop.js' import { ReservationVoucherRecord } from './reservation-voucher.js' @@ -26,7 +26,7 @@ const RELAYED = 'relayed' export interface HopProtocolOptions { connection: Connection request: HopMessage - stream: Resetable> + stream: Abortable> relayPeer: PeerId relayAddrs: Multiaddr[] limit?: Limit diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts index d7b5b85e5b..93ba0d42c9 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/v2/interfaces.ts @@ -30,7 +30,7 @@ export interface Acl { } export type DuplexStream = Duplex -export interface Resetable { +export interface Abortable { value: T - reset: () => void + abort: () => void } diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index 07dd43fedf..d82885feb6 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -7,7 +7,7 @@ import { RELAY_V2_STOP_CODEC } from '../multicodec.js' import { multiaddr } from '@multiformats/multiaddr' import { pbStream, ProtobufStream } from 'it-pb-stream' import type { Uint8ArrayList } from 'uint8arraylist' -import type { DuplexStream, Resetable } from './interfaces.js' +import type { DuplexStream, Abortable } from './interfaces.js' const log = logger('libp2p:circuit:v2:stop') @@ -66,7 +66,7 @@ export interface StopOptions { export async function stop ({ connection, request -}: StopOptions): Promise | undefined> { +}: StopOptions): Promise | undefined> { const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) log('starting circuit relay v2 stop request to %s', connection.remotePeer) const pbstr = pbStream(stream) @@ -88,7 +88,7 @@ export async function stop ({ log('stop request to %s was successful', connection.remotePeer) return { value: pbstr.unwrap(), - reset: () => stream.reset() + abort: () => stream.abort(new Error('aborted')) } } diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index e7ce8a1e68..6a2cfc9086 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -1,10 +1,8 @@ -import { abortableDuplex, AbortError } from 'abortable-iterator' import type { Sink, Source } from 'it-stream-types' -import { TimeoutController } from 'timeout-abort-controller' import { Uint8ArrayList } from 'uint8arraylist' import type { Limit } from './pb/index.js' import { logger } from '@libp2p/logger' -import type { DuplexStream, Resetable } from './interfaces.js' +import type { DuplexStream, Abortable } from './interfaces.js' const log = logger('libp2p:circuit:v2:util') @@ -18,7 +16,7 @@ const doRelay = (src: DuplexStream, dst: DuplexStream) => { }) } -export function createLimitedRelay (source: Resetable, destination: Resetable, limit?: Limit) { +export function createLimitedRelay (source: Abortable, destination: Abortable, limit?: Limit) { // trivial case if (limit == null) { doRelay(source.value, destination.value) @@ -31,7 +29,7 @@ export function createLimitedRelay (source: Resetable, destination doRelay(src.value, dst.value) } -const dataLimitSource = (source: Source, reset: () => void, limit: bigint): Source => { +const dataLimitSource = (source: Source, abort: () => void, limit: bigint): Source => { if (limit === BigInt(0)) { return source } @@ -42,7 +40,7 @@ const dataLimitSource = (source: Source, reset: () => void, limi const len = BigInt(buf.length) if (total + len > limit) { log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) - reset() + abort() return } total += len @@ -61,47 +59,49 @@ const adaptSource = (source: Source): Source, reset: () => void, limit: bigint): Sink => { +const dataLimitSink = (sink: Sink, abort: () => void, limit: bigint): Sink => { return async (source: Source) => await sink( dataLimitSource( adaptSource(source), - reset, + abort, limit ) ) } -const dataLimitDuplex = (duplex: Resetable, limit: bigint): Resetable => { +const dataLimitDuplex = (duplex: Abortable, limit: bigint): Abortable => { return { ...duplex, value: { ...duplex.value, - source: dataLimitSource(duplex.value.source, duplex.reset, limit), - sink: dataLimitSink(duplex.value.sink, duplex.reset, limit) + source: dataLimitSource(duplex.value.source, duplex.abort, limit), + sink: dataLimitSink(duplex.value.sink, duplex.abort, limit) } } } -const durationLimitDuplex = (duplex: Resetable, limit: number): Resetable => { +const durationLimitDuplex = (duplex: Abortable, limit: number): Abortable => { if (limit === 0) { return duplex } - const controller = new TimeoutController(limit) - const d = abortableDuplex(duplex.value, controller.signal) - const source = (async function * () { + let timedOut = false + const timeout = setTimeout( + () => { + timedOut = true + duplex.abort() + }, + limit + ) + const source = (async function * (): Source { try { - for await (const buf of d.source) { + for await (const buf of duplex.value.source) { + if (timedOut) { + return + } yield buf } - } catch (err: any) { - if (!(err instanceof AbortError)) { - throw err - } - // reset if we encounter an abort error - log.error('exceeded duration: %d ms, resetting stream', limit) - duplex.reset() } finally { - controller.clear() + clearTimeout(timeout) } })() diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 093736ae56..566e904b46 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -58,7 +58,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, request: {}, relayPeer, relayAddrs: [], @@ -81,7 +81,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -108,7 +108,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, peerStore, @@ -130,7 +130,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -154,7 +154,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -181,7 +181,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -275,7 +275,7 @@ describe('Circuit v2 - hop protocol', function () { stub.returns([dstConn]) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -298,7 +298,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, // @ts-expect-error {} is missing the following properties from peer: id, addrs @@ -320,7 +320,7 @@ describe('Circuit v2 - hop protocol', function () { } await handleHopProtocol({ connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -346,7 +346,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -373,7 +373,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, reset: () => stream.reset() }, + stream: { value: pbstr, abort: () => stream.reset() }, request: { type: HopMessage.Type.CONNECT, peer: { @@ -458,13 +458,14 @@ describe('Circuit v2 - hop protocol', function () { const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) - const srcServerReset = sinon.stub() + const srcServerStream = mockStream(srcServer) + const srcServerAbort = sinon.spy(srcServerStream, 'abort') const handleHop = expect(handleHopProtocol({ connection: conn, stream: { - value: pbStream(srcServer), - reset: () => { - srcServerReset() + value: pbStream(srcServerStream), + abort: () => { + srcServerStream.abort(new Error('test')) } }, request: { @@ -508,7 +509,7 @@ describe('Circuit v2 - hop protocol', function () { const data = await all(destStream.source) expect(data).to.have.length(1) expect(data[0]).to.have.length(5) - expect(srcServerReset.callCount).to.equal(1) + expect(srcServerAbort.callCount).to.equal(1) }) it('should connect - data limit - dest to src', async () => { @@ -533,7 +534,7 @@ describe('Circuit v2 - hop protocol', function () { // resolve the destination stream for the server const streamStub = sinon.stub(dstConn, 'newStream') const dstServerStream = mockStream(dstServer) - const dstServerStreamResetStub = sinon.stub(dstServerStream, 'reset') + const dstServerStreamAbortStub = sinon.spy(dstServerStream, 'abort') streamStub.resolves(dstServerStream) const stub = sinon.stub(components.connectionManager, 'getConnections') @@ -542,7 +543,7 @@ describe('Circuit v2 - hop protocol', function () { connection: conn, stream: { value: pbStream(srcServer), - reset: () => {} + abort: () => {} }, request: { type: HopMessage.Type.CONNECT, @@ -585,7 +586,7 @@ describe('Circuit v2 - hop protocol', function () { const data = await all(sourceStream.source) expect(data).to.have.length(1) expect(data[0]).to.have.length(5) - expect(dstServerStreamResetStub.callCount).to.equal(1) + expect(dstServerStreamAbortStub.callCount).to.equal(1) }) it('should connect - duration limit - dest to src', async () => { @@ -610,16 +611,17 @@ describe('Circuit v2 - hop protocol', function () { // resolve the destination stream for the server const streamStub = sinon.stub(dstConn, 'newStream') const dstServerStream = mockStream(dstServer) - const dstResetStub = sinon.stub(dstServerStream, 'reset') streamStub.resolves(dstServerStream) + const dstAbortStub = sinon.stub(dstServerStream, 'abort') + const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) const handleHop = expect(handleHopProtocol({ connection: conn, stream: { value: pbStream(srcServer), - reset: () => {} + abort: () => {} }, request: { type: HopMessage.Type.CONNECT, @@ -666,7 +668,7 @@ describe('Circuit v2 - hop protocol', function () { const received = await all(sourceStream.source) expect(received).to.have.length(2) - expect(dstResetStub.callCount).to.equal(1) + expect(dstAbortStub.callCount).to.equal(1) }) it('should connect - duration limit - src to dest', async () => { @@ -694,12 +696,13 @@ describe('Circuit v2 - hop protocol', function () { const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) - const srcResetStub = sinon.stub() + const srcServerStream = mockStream(srcServer) + const srcAbortStub = sinon.stub(srcServerStream, 'abort') const handleHop = expect(handleHopProtocol({ connection: conn, stream: { - value: pbStream(srcServer), - reset: () => { srcResetStub() } + value: pbStream(srcServerStream), + abort: () => { srcServerStream.abort(new Error('test')) } }, request: { type: HopMessage.Type.CONNECT, @@ -746,7 +749,7 @@ describe('Circuit v2 - hop protocol', function () { const received = await all(destStream.source) expect(received).to.have.length(2) - expect(srcResetStub.callCount).to.equal(1) + expect(srcAbortStub.callCount).to.equal(1) }) }) }) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index 2f347cb7db..e4f3a4152e 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -10,6 +10,7 @@ import type { Libp2pNode } from '../../src/libp2p.js' import { createNode } from '../utils/creators/peer.js' import { createNodeOptions, createRelayOptions } from './utils.js' import all from 'it-all' +import delay from 'delay' /* eslint-env mocha */ @@ -174,7 +175,7 @@ describe('Dialing (via relay, TCP)', () => { // TODO(ckousik): This test seems to fail on windows and macos on CI with a // stream reset in mplex. - it.skip('should time out when establishing a relay connection', async () => { + it('should time out when establishing a relay connection', async () => { await relayLibp2p.stop() relayLibp2p = await createNode({ config: createRelayOptions({ @@ -182,7 +183,7 @@ describe('Dialing (via relay, TCP)', () => { enabled: true, hop: { // very short timeout - timeout: 5 + timeout: 500 } } }) @@ -197,11 +198,11 @@ describe('Dialing (via relay, TCP)', () => { const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) // TODO(ckousik): does this need to be awaited? - // await stream.sink(async function * () { - // // delay for longer than the timeout - // await delay(1000) - // yield Uint8Array.from([0]) - // }()) + void stream.sink(async function * () { + // delay for longer than the timeout + await delay(1000) + yield Uint8Array.from([0]) + }()) // because we timed out, the remote should have reset the stream await expect(all(stream.source)).to.eventually.be.rejected From a5dc1ab9346758ea8c7751407626afcc8a1136b9 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 18:48:50 +0530 Subject: [PATCH 51/58] abort takes error param --- src/circuit/transport.ts | 2 +- src/circuit/v2/interfaces.ts | 2 +- src/circuit/v2/util.ts | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 08982dc388..41129b448d 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -126,7 +126,7 @@ export class Circuit implements Transport, Startable { hopTimeoutPromise.reject('timed out') }, this._init.hop.timeout) const pbstr = pbStream(stream) - const abortable = { value: pbstr, abort: () => stream.abort(new Error('aborted')) } + const abortable = { value: pbstr, abort: (err: Error) => stream.abort(err) } try { const request: CircuitV2.HopMessage = await Promise.race([ pbstr.pb(CircuitV2.HopMessage).read(), diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts index 93ba0d42c9..d5b7f3ea91 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/v2/interfaces.ts @@ -32,5 +32,5 @@ export interface Acl { export type DuplexStream = Duplex export interface Abortable { value: T - abort: () => void + abort: (err: Error) => void } diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index 6a2cfc9086..1daee8cd71 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -29,7 +29,7 @@ export function createLimitedRelay (source: Abortable, destination doRelay(src.value, dst.value) } -const dataLimitSource = (source: Source, abort: () => void, limit: bigint): Source => { +const dataLimitSource = (source: Source, abort: (err: Error) => void, limit: bigint): Source => { if (limit === BigInt(0)) { return source } @@ -40,7 +40,7 @@ const dataLimitSource = (source: Source, abort: () => void, limi const len = BigInt(buf.length) if (total + len > limit) { log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) - abort() + abort(new Error('exceeded connection data limit')) return } total += len @@ -59,7 +59,7 @@ const adaptSource = (source: Source): Source, abort: () => void, limit: bigint): Sink => { +const dataLimitSink = (sink: Sink, abort: (err: Error) => void, limit: bigint): Sink => { return async (source: Source) => await sink( dataLimitSource( adaptSource(source), @@ -88,7 +88,7 @@ const durationLimitDuplex = (duplex: Abortable, limit: number): Ab const timeout = setTimeout( () => { timedOut = true - duplex.abort() + duplex.abort(new Error('exceeded connection duration limit')) }, limit ) From 8885cadba3d205f98b20d2f21fcbd89f67fc71cb Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 18:51:23 +0530 Subject: [PATCH 52/58] fix dep-check --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d1f7cf3a6..fca0d9a319 100644 --- a/package.json +++ b/package.json @@ -149,6 +149,7 @@ "it-stream-types": "^1.0.4", "merge-options": "^3.0.4", "multiformats": "^11.0.0", + "p-defer": "^4.0.0", "p-fifo": "^1.0.0", "p-retry": "^5.0.0", "private-ip": "^3.0.0", @@ -194,7 +195,6 @@ "it-pushable": "^3.0.0", "it-to-buffer": "^3.0.0", "npm-run-all": "^4.1.5", - "p-defer": "^4.0.0", "p-event": "^5.0.1", "p-times": "^4.0.0", "p-wait-for": "^5.0.0", From 15696d821528b0618f585fdda26487fd301e5e56 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Wed, 1 Mar 2023 18:52:02 +0530 Subject: [PATCH 53/58] Fix abortable --- src/circuit/v2/stop.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index d82885feb6..ede920135f 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -88,7 +88,7 @@ export async function stop ({ log('stop request to %s was successful', connection.remotePeer) return { value: pbstr.unwrap(), - abort: () => stream.abort(new Error('aborted')) + abort: (err: Error) => stream.abort(err) } } From e9cbdd9b0186baeeeed39373e4885ded62037ce9 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Thu, 2 Mar 2023 07:03:46 +0000 Subject: [PATCH 54/58] chore: remove unecessary types as we can now unwrap the original Stream from it-pb-stream --- src/circuit/client.ts | 6 +- src/circuit/transport.ts | 4 +- src/circuit/v2/hop.ts | 15 +++-- src/circuit/v2/interfaces.ts | 8 --- src/circuit/v2/stop.ts | 13 ++-- src/circuit/v2/util.ts | 113 ++++++++++++++++++++--------------- test/circuit/v2/hop.spec.ts | 44 +++++--------- test/circuit/v2/stop.spec.ts | 5 +- test/relay/relay.node.ts | 4 +- 9 files changed, 101 insertions(+), 111 deletions(-) diff --git a/src/circuit/client.ts b/src/circuit/client.ts index ce7ca8d42c..a119fcfecb 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -359,7 +359,11 @@ export class RelayReservationManager extends EventEmitter { void refreshReservation(peerId) }, + (peerId: PeerId) => { + void refreshReservation(peerId).catch(err => { + log.error('error refreshing reservation for %p', peerId, err) + }) + }, Math.max(getExpiration(reservation.expire) - 100, 0), peerId ) diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 41129b448d..970c67bbf5 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -126,7 +126,7 @@ export class Circuit implements Transport, Startable { hopTimeoutPromise.reject('timed out') }, this._init.hop.timeout) const pbstr = pbStream(stream) - const abortable = { value: pbstr, abort: (err: Error) => stream.abort(err) } + try { const request: CircuitV2.HopMessage = await Promise.race([ pbstr.pb(CircuitV2.HopMessage).read(), @@ -140,7 +140,7 @@ export class Circuit implements Transport, Startable { await Promise.race([ CircuitV2Handler.handleHopProtocol({ connection, - stream: abortable, + stream: pbstr, connectionManager: this.components.connectionManager, relayPeer: this.components.peerId, relayAddrs: this.components.addressManager.getListenAddrs(), diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index ae32938169..527961f053 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -1,11 +1,11 @@ import type { PeerId } from '@libp2p/interface-peer-id' import { RecordEnvelope } from '@libp2p/peer-record' import { logger } from '@libp2p/logger' -import type { Connection } from '@libp2p/interface-connection' +import type { Connection, Stream } from '@libp2p/interface-connection' import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index.js' import type { Multiaddr } from '@multiformats/multiaddr' import { multiaddr } from '@multiformats/multiaddr' -import type { Acl, ReservationStore, Abortable } from './interfaces.js' +import type { Acl, ReservationStore } from './interfaces.js' import { RELAY_V2_HOP_CODEC } from '../multicodec.js' import { stop } from './stop.js' import { ReservationVoucherRecord } from './reservation-voucher.js' @@ -14,7 +14,6 @@ import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { ProtobufStream } from 'it-pb-stream' import { pbStream } from 'it-pb-stream' import { CIRCUIT_PROTO_CODE } from '../constants.js' -import type { Uint8ArrayList } from 'uint8arraylist' import type { PeerStore } from '@libp2p/interface-peer-store' import { createLimitedRelay } from './util.js' import type { CodeError } from '@libp2p/interfaces/errors' @@ -26,7 +25,7 @@ const RELAYED = 'relayed' export interface HopProtocolOptions { connection: Connection request: HopMessage - stream: Abortable> + stream: ProtobufStream relayPeer: PeerId relayAddrs: Multiaddr[] limit?: Limit @@ -44,7 +43,7 @@ export async function handleHopProtocol (options: HopProtocolOptions): Promise { const isRelayAddr = (ma: Multiaddr): boolean => ma.protoCodes().includes(CIRCUIT_PROTO_CODE) -async function handleReserve ({ connection, stream: { value: pbstr }, relayPeer, relayAddrs, limit, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { +async function handleReserve ({ connection, stream: pbstr, relayPeer, relayAddrs, limit, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) @@ -126,7 +125,7 @@ async function handleReserve ({ connection, stream: { value: pbstr }, relayPeer, async function handleConnect (options: HopProtocolOptions): Promise { const { connection, stream, request, reservationStore, connectionManager, acl } = options - const hopstr = stream.value.pb(HopMessage) + const hopstr = stream.pb(HopMessage) log('hop connect request from %s', connection.remotePeer) @@ -186,7 +185,7 @@ async function handleConnect (options: HopProtocolOptions): Promise { } hopstr.write({ type: HopMessage.Type.STATUS, status: Status.OK }) - const sourceStream = { ...stream, value: stream.value.unwrap() } + const sourceStream = stream.unwrap() log('connection to destination established, short circuiting streams...') const limit = (await reservationStore.get(dstPeer))?.limit diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/v2/interfaces.ts index d5b7f3ea91..2d0111b062 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/v2/interfaces.ts @@ -1,7 +1,5 @@ import type { PeerId } from '@libp2p/interface-peer-id' import type { Multiaddr } from '@multiformats/multiaddr' -import type { Duplex } from 'it-stream-types' -import type { Uint8ArrayList } from 'uint8arraylist' import type { Limit, Status } from './pb/index.js' export type ReservationStatus = Status.OK | Status.PERMISSION_DENIED | Status.RESERVATION_REFUSED @@ -28,9 +26,3 @@ export interface Acl { */ allowConnect: (src: PeerId, addr: Multiaddr, dst: PeerId) => Promise } - -export type DuplexStream = Duplex -export interface Abortable { - value: T - abort: (err: Error) => void -} diff --git a/src/circuit/v2/stop.ts b/src/circuit/v2/stop.ts index ede920135f..7861813dc8 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/v2/stop.ts @@ -1,20 +1,18 @@ import { Status, StopMessage } from './pb/index.js' -import type { Connection } from '@libp2p/interface-connection' +import type { Connection, Stream } from '@libp2p/interface-connection' import { logger } from '@libp2p/logger' import { RELAY_V2_STOP_CODEC } from '../multicodec.js' import { multiaddr } from '@multiformats/multiaddr' import { pbStream, ProtobufStream } from 'it-pb-stream' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { DuplexStream, Abortable } from './interfaces.js' const log = logger('libp2p:circuit:v2:stop') export interface HandleStopOptions { connection: Connection request: StopMessage - pbstr: ProtobufStream + pbstr: ProtobufStream } const isValidStop = (request: StopMessage): boolean => { @@ -66,7 +64,7 @@ export interface StopOptions { export async function stop ({ connection, request -}: StopOptions): Promise | undefined> { +}: StopOptions): Promise { const stream = await connection.newStream([RELAY_V2_STOP_CODEC]) log('starting circuit relay v2 stop request to %s', connection.remotePeer) const pbstr = pbStream(stream) @@ -86,10 +84,7 @@ export async function stop ({ } if (response.status === Status.OK) { log('stop request to %s was successful', connection.remotePeer) - return { - value: pbstr.unwrap(), - abort: (err: Error) => stream.abort(err) - } + return pbstr.unwrap() } log('stop request failed with code %d', response.status) diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index 1daee8cd71..8266516ebc 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -1,12 +1,12 @@ -import type { Sink, Source } from 'it-stream-types' -import { Uint8ArrayList } from 'uint8arraylist' +import type { Source } from 'it-stream-types' +import type { Uint8ArrayList } from 'uint8arraylist' import type { Limit } from './pb/index.js' import { logger } from '@libp2p/logger' -import type { DuplexStream, Abortable } from './interfaces.js' +import type { Stream } from '@libp2p/interface-connection' const log = logger('libp2p:circuit:v2:util') -const doRelay = (src: DuplexStream, dst: DuplexStream) => { +const doRelay = (src: Stream, dst: Stream) => { queueMicrotask(() => { void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) }) @@ -16,85 +16,102 @@ const doRelay = (src: DuplexStream, dst: DuplexStream) => { }) } -export function createLimitedRelay (source: Abortable, destination: Abortable, limit?: Limit) { +export function createLimitedRelay (source: Stream, destination: Stream, limit?: Limit) { // trivial case if (limit == null) { - doRelay(source.value, destination.value) + doRelay(source, destination) return } - const dataLimit = limit.data ?? BigInt(0) + + const dataLimit = limit.data ?? 0n const durationLimit = limit.duration ?? 0 const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) - doRelay(src.value, dst.value) + + doRelay(src, dst) } -const dataLimitSource = (source: Source, abort: (err: Error) => void, limit: bigint): Source => { - if (limit === BigInt(0)) { - return source +const dataLimitSource = (stream: Stream, limit: bigint): Stream => { + if (limit === 0n) { + return stream } - return (async function * (): Source { - let total = BigInt(0) + const source = stream.source + + stream.source = (async function * (): Source { + let total = 0n + for await (const buf of source) { - const len = BigInt(buf.length) + const len = BigInt(buf.byteLength) if (total + len > limit) { log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) - abort(new Error('exceeded connection data limit')) + stream.abort(new Error('exceeded connection data limit')) return } - total += len + yield buf + + total += len } })() + + return stream } -const adaptSource = (source: Source): Source => (async function * () { - for await (const buf of source) { - if (buf instanceof Uint8Array) { - yield Uint8ArrayList.fromUint8Arrays([buf]) - } else { - yield buf - } +const dataLimitSink = (stream: Stream, limit: bigint): Stream => { + if (limit === 0n) { + return stream } -})() - -const dataLimitSink = (sink: Sink, abort: (err: Error) => void, limit: bigint): Sink => { - return async (source: Source) => await sink( - dataLimitSource( - adaptSource(source), - abort, - limit - ) - ) -} -const dataLimitDuplex = (duplex: Abortable, limit: bigint): Abortable => { - return { - ...duplex, - value: { - ...duplex.value, - source: dataLimitSource(duplex.value.source, duplex.abort, limit), - sink: dataLimitSink(duplex.value.sink, duplex.abort, limit) - } + const sink = stream.sink + + stream.sink = async (source: Source) => { + await sink((async function * (): Source { + let total = 0n + + for await (const buf of source) { + const len = BigInt(buf.byteLength) + if (total + len > limit) { + log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) + stream.abort(new Error('exceeded connection data limit')) + return + } + + total += len + yield buf + } + })()) } + + return stream +} + +const dataLimitDuplex = (stream: Stream, limit: bigint): Stream => { + dataLimitSource(stream, limit) + dataLimitSink(stream, limit) + + return stream } -const durationLimitDuplex = (duplex: Abortable, limit: number): Abortable => { +const durationLimitDuplex = (stream: Stream, limit: number): Stream => { if (limit === 0) { - return duplex + return stream } + let timedOut = false const timeout = setTimeout( () => { timedOut = true - duplex.abort(new Error('exceeded connection duration limit')) + stream.abort(new Error('exceeded connection duration limit')) }, limit ) - const source = (async function * (): Source { + + const source = stream.source + + stream.source = (async function * (): Source { try { - for await (const buf of duplex.value.source) { + for await (const buf of source) { if (timedOut) { return } @@ -105,5 +122,5 @@ const durationLimitDuplex = (duplex: Abortable, limit: number): Ab } })() - return { ...duplex, value: { ...duplex.value, source } } + return stream } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 566e904b46..de75d165d3 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -58,7 +58,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: mockConnection(mockMultiaddrConnection(mockDuplex(), await peerUtils.createPeerId())), - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, request: {}, relayPeer, relayAddrs: [], @@ -81,7 +81,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -108,7 +108,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, relayPeer, connectionManager: sinon.stub() as any, peerStore, @@ -130,7 +130,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -154,7 +154,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -181,7 +181,7 @@ describe('Circuit v2 - hop protocol', function () { type: HopMessage.Type.RESERVE }, connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, relayPeer, connectionManager: sinon.stub() as any, relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], @@ -275,7 +275,7 @@ describe('Circuit v2 - hop protocol', function () { stub.returns([dstConn]) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -298,7 +298,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, request: { type: HopMessage.Type.CONNECT, // @ts-expect-error {} is missing the following properties from peer: id, addrs @@ -320,7 +320,7 @@ describe('Circuit v2 - hop protocol', function () { } await handleHopProtocol({ connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -346,7 +346,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -373,7 +373,7 @@ describe('Circuit v2 - hop protocol', function () { const pbstr = pbStream(stream) await handleHopProtocol({ connection: conn, - stream: { value: pbstr, abort: () => stream.reset() }, + stream: pbstr, request: { type: HopMessage.Type.CONNECT, peer: { @@ -462,12 +462,7 @@ describe('Circuit v2 - hop protocol', function () { const srcServerAbort = sinon.spy(srcServerStream, 'abort') const handleHop = expect(handleHopProtocol({ connection: conn, - stream: { - value: pbStream(srcServerStream), - abort: () => { - srcServerStream.abort(new Error('test')) - } - }, + stream: pbStream(srcServerStream), request: { type: HopMessage.Type.CONNECT, peer: { @@ -541,10 +536,7 @@ describe('Circuit v2 - hop protocol', function () { stub.returns([dstConn]) const handleHop = expect(handleHopProtocol({ connection: conn, - stream: { - value: pbStream(srcServer), - abort: () => {} - }, + stream: pbStream(mockStream(srcServer)), request: { type: HopMessage.Type.CONNECT, peer: { @@ -619,10 +611,7 @@ describe('Circuit v2 - hop protocol', function () { stub.returns([dstConn]) const handleHop = expect(handleHopProtocol({ connection: conn, - stream: { - value: pbStream(srcServer), - abort: () => {} - }, + stream: pbStream(mockStream(srcServer)), request: { type: HopMessage.Type.CONNECT, peer: { @@ -700,10 +689,7 @@ describe('Circuit v2 - hop protocol', function () { const srcAbortStub = sinon.stub(srcServerStream, 'abort') const handleHop = expect(handleHopProtocol({ connection: conn, - stream: { - value: pbStream(srcServerStream), - abort: () => { srcServerStream.abort(new Error('test')) } - }, + stream: pbStream(srcServerStream), request: { type: HopMessage.Type.CONNECT, peer: { diff --git a/test/circuit/v2/stop.spec.ts b/test/circuit/v2/stop.spec.ts index 01b7eaeb10..ec4f8d1c46 100644 --- a/test/circuit/v2/stop.spec.ts +++ b/test/circuit/v2/stop.spec.ts @@ -1,5 +1,5 @@ import { pair } from 'it-pair' -import type { Connection } from '@libp2p/interface-connection' +import type { Connection, Stream } from '@libp2p/interface-connection' import type { PeerId } from '@libp2p/interface-peer-id' import { createPeerIds } from '../../utils/creators/peer.js' import { handleStop, stop } from '../../../src/circuit/v2/stop.js' @@ -8,12 +8,11 @@ import { expect } from 'aegir/chai' import sinon from 'sinon' import { mockConnection, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks' import { pbStream, ProtobufStream } from 'it-pb-stream' -import type { Uint8ArrayList } from 'uint8arraylist' /* eslint-env mocha */ describe('Circuit v2 - stop protocol', function () { - let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, pbstr: ProtobufStream + let srcPeer: PeerId, relayPeer: PeerId, conn: Connection, pbstr: ProtobufStream beforeEach(async () => { [srcPeer, relayPeer] = await createPeerIds(2) diff --git a/test/relay/relay.node.ts b/test/relay/relay.node.ts index e4f3a4152e..ba16029d4c 100644 --- a/test/relay/relay.node.ts +++ b/test/relay/relay.node.ts @@ -173,10 +173,9 @@ describe('Dialing (via relay, TCP)', () => { expect(dstToRelayConn).to.have.nested.property('[0].stat.status', 'OPEN') }) - // TODO(ckousik): This test seems to fail on windows and macos on CI with a - // stream reset in mplex. it('should time out when establishing a relay connection', async () => { await relayLibp2p.stop() + relayLibp2p = await createNode({ config: createRelayOptions({ relay: { @@ -197,7 +196,6 @@ describe('Dialing (via relay, TCP)', () => { // multistream select negotiates the protocol const stream = await connection.newStream([RELAY_V2_HOP_CODEC]) - // TODO(ckousik): does this need to be awaited? void stream.sink(async function * () { // delay for longer than the timeout await delay(1000) From 72b695a13a6650638d7e33b026e28f3caaa151f2 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 2 Mar 2023 14:09:38 +0530 Subject: [PATCH 55/58] fix tests --- src/circuit/v2/hop.ts | 2 +- src/circuit/v2/util.ts | 126 ------------------------------------ test/circuit/v2/hop.spec.ts | 44 +++++++++---- 3 files changed, 31 insertions(+), 141 deletions(-) diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 527961f053..516fff348b 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -104,7 +104,7 @@ async function handleReserve ({ connection, stream: pbstr, relayPeer, relayAddrs const ttl = new Date().getTime() - result.expire await peerStore.tagPeer(relayPeer, RELAYED, { value: 1, ttl }) .catch((err: CodeError) => { - // ignore if peer is already tagged + log.error('error occurred when tagging peer: ', err) if (err.code !== 'ERR_DUPLICATE_TAG') { throw err } diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index 8266516ebc..e69de29bb2 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -1,126 +0,0 @@ -import type { Source } from 'it-stream-types' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Limit } from './pb/index.js' -import { logger } from '@libp2p/logger' -import type { Stream } from '@libp2p/interface-connection' - -const log = logger('libp2p:circuit:v2:util') - -const doRelay = (src: Stream, dst: Stream) => { - queueMicrotask(() => { - void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) - }) - - queueMicrotask(() => { - void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) - }) -} - -export function createLimitedRelay (source: Stream, destination: Stream, limit?: Limit) { - // trivial case - if (limit == null) { - doRelay(source, destination) - return - } - - const dataLimit = limit.data ?? 0n - const durationLimit = limit.duration ?? 0 - const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) - const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) - - doRelay(src, dst) -} - -const dataLimitSource = (stream: Stream, limit: bigint): Stream => { - if (limit === 0n) { - return stream - } - - const source = stream.source - - stream.source = (async function * (): Source { - let total = 0n - - for await (const buf of source) { - const len = BigInt(buf.byteLength) - if (total + len > limit) { - log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) - stream.abort(new Error('exceeded connection data limit')) - return - } - - yield buf - - total += len - } - })() - - return stream -} - -const dataLimitSink = (stream: Stream, limit: bigint): Stream => { - if (limit === 0n) { - return stream - } - - const sink = stream.sink - - stream.sink = async (source: Source) => { - await sink((async function * (): Source { - let total = 0n - - for await (const buf of source) { - const len = BigInt(buf.byteLength) - if (total + len > limit) { - log.error('attempted to send more data than limit: %s, resetting stream', limit.toString()) - stream.abort(new Error('exceeded connection data limit')) - return - } - - total += len - yield buf - } - })()) - } - - return stream -} - -const dataLimitDuplex = (stream: Stream, limit: bigint): Stream => { - dataLimitSource(stream, limit) - dataLimitSink(stream, limit) - - return stream -} - -const durationLimitDuplex = (stream: Stream, limit: number): Stream => { - if (limit === 0) { - return stream - } - - let timedOut = false - const timeout = setTimeout( - () => { - timedOut = true - stream.abort(new Error('exceeded connection duration limit')) - }, - limit - ) - - const source = stream.source - - stream.source = (async function * (): Source { - try { - for await (const buf of source) { - if (timedOut) { - return - } - yield buf - } - } finally { - clearTimeout(timeout) - } - })() - - return stream -} diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index de75d165d3..4f4c7624db 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -453,8 +453,10 @@ describe('Circuit v2 - hop protocol', function () { const [srcServer, srcClient] = duplexPair() // resolve the destination stream for the server + const dstStream = mockStream(dstServer) + const dstStreamAbortStub = sinon.stub(dstStream, 'abort') const streamStub = sinon.stub(dstConn, 'newStream') - streamStub.resolves(mockStream(dstServer)) + streamStub.resolves(dstStream) const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) @@ -495,15 +497,16 @@ describe('Circuit v2 - hop protocol', function () { const sourceStream = srcClientPbStream.unwrap() const destStream = dstClientPbStream.unwrap() - // source to dest, write 4 bytes const sender = pushable() void pipe(sender, sourceStream) - sender.push(uint8arrayFromString('01234')) + // source to dest, write 4 bytes + sender.push(uint8arrayFromString('0123')) // source to dest, exceed stream limit sender.push(uint8arrayFromString('extra')) const data = await all(destStream.source) - expect(data).to.have.length(1) - expect(data[0]).to.have.length(5) + const sum = data.reduce((prev: number, cur: Uint8ArrayList) => prev + cur.length, 0) + expect(sum).eql(5) + expect(dstStreamAbortStub.callCount).to.equal(1) expect(srcServerAbort.callCount).to.equal(1) }) @@ -534,9 +537,13 @@ describe('Circuit v2 - hop protocol', function () { const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) + + // source stream on the server + const srcServerStream = mockStream(srcServer) + const srcServerStreamAbortStub = sinon.stub(srcServerStream, 'abort') const handleHop = expect(handleHopProtocol({ connection: conn, - stream: pbStream(mockStream(srcServer)), + stream: pbStream(srcServerStream), request: { type: HopMessage.Type.CONNECT, peer: { @@ -569,16 +576,17 @@ describe('Circuit v2 - hop protocol', function () { const sourceStream = srcClientPbStream.unwrap() const destStream = dstClientPbStream.unwrap() - // dest to source, write 4 bytes const sender = pushable() void pipe(sender, destStream) - sender.push(uint8arrayFromString('01234')) + // dest to source, write 4 bytes + sender.push(uint8arrayFromString('0123')) // dest to source, exceed stream limit sender.push(uint8arrayFromString('extra')) const data = await all(sourceStream.source) - expect(data).to.have.length(1) - expect(data[0]).to.have.length(5) + const sum = data.reduce((prev: number, cur: Uint8ArrayList) => prev + cur.length, 0) + expect(sum).equal(5) expect(dstServerStreamAbortStub.callCount).to.equal(1) + expect(srcServerStreamAbortStub.callCount).to.equal(1) }) it('should connect - duration limit - dest to src', async () => { @@ -609,9 +617,12 @@ describe('Circuit v2 - hop protocol', function () { const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) + + const srcServerStream = mockStream(srcServer) + const srcServerAbortStub = sinon.stub(srcServerStream, 'abort') const handleHop = expect(handleHopProtocol({ connection: conn, - stream: pbStream(mockStream(srcServer)), + stream: pbStream(srcServerStream), request: { type: HopMessage.Type.CONNECT, peer: { @@ -656,8 +667,9 @@ describe('Circuit v2 - hop protocol', function () { void pipe(periodicSender(200, 4), destStream) const received = await all(sourceStream.source) - expect(received).to.have.length(2) + expect(received.reduce((p, c) => p + c.length, 0)).to.equal(8) expect(dstAbortStub.callCount).to.equal(1) + expect(srcServerAbortStub.callCount).to.equal(1) }) it('should connect - duration limit - src to dest', async () => { @@ -681,7 +693,9 @@ describe('Circuit v2 - hop protocol', function () { // resolve the destination stream for the server const streamStub = sinon.stub(dstConn, 'newStream') - streamStub.resolves(mockStream(dstServer)) + const dstServerStream = mockStream(dstServer) + const dstServerAbortStub = sinon.stub(dstServerStream, 'abort') + streamStub.resolves(dstServerStream) const stub = sinon.stub(components.connectionManager, 'getConnections') stub.returns([dstConn]) @@ -734,8 +748,10 @@ describe('Circuit v2 - hop protocol', function () { void pipe(periodicSender(200, 4), sourceStream) const received = await all(destStream.source) - expect(received).to.have.length(2) + const sum = received.reduce((prev: number, cur: Uint8ArrayList) => prev + cur.length, 0) + expect(sum).equals(8) expect(srcAbortStub.callCount).to.equal(1) + expect(dstServerAbortStub.callCount).to.equal(1) }) }) }) From 5d7afa308a5f75c112619e4c1b7bbae4aea37d49 Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 2 Mar 2023 14:27:43 +0530 Subject: [PATCH 56/58] add test for tagging peer --- src/circuit/v2/hop.ts | 6 +- src/circuit/v2/util.ts | 140 ++++++++++++++++++++++++++++++++++++ test/circuit/v2/hop.spec.ts | 31 ++++++++ 3 files changed, 175 insertions(+), 2 deletions(-) diff --git a/src/circuit/v2/hop.ts b/src/circuit/v2/hop.ts index 516fff348b..1209acce3e 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/v2/hop.ts @@ -103,11 +103,13 @@ async function handleReserve ({ connection, stream: pbstr, relayPeer, relayAddrs if (result.expire != null) { const ttl = new Date().getTime() - result.expire await peerStore.tagPeer(relayPeer, RELAYED, { value: 1, ttl }) - .catch((err: CodeError) => { - log.error('error occurred when tagging peer: ', err) + .catch(async (err: CodeError) => { if (err.code !== 'ERR_DUPLICATE_TAG') { throw err } + // update ttl + // TODO: make this atomic + return await peerStore.unTagPeer(relayPeer, RELAYED).then(async () => await peerStore.tagPeer(relayPeer, RELAYED, { value: 1, ttl })) }) } hopstr.write({ diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index e69de29bb2..f97bedbf42 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -0,0 +1,140 @@ +import type { Source } from 'it-stream-types' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Limit } from './pb/index.js' +import { logger } from '@libp2p/logger' +import type { Stream } from '@libp2p/interface-connection' + +const log = logger('libp2p:circuit:v2:util') + +const doRelay = (src: Stream, dst: Stream) => { + queueMicrotask(() => { + void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) + }) + + queueMicrotask(() => { + void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) + }) +} + +export function createLimitedRelay (source: Stream, destination: Stream, limit?: Limit) { + // trivial case + if (limit == null) { + doRelay(source, destination) + return + } + + const dataLimit = limit.data ?? 0n + const durationLimit = limit.duration ?? 0 + const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) + const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) + + doRelay(src, dst) +} + +const dataLimitSource = (stream: Stream, limit: bigint): Stream => { + if (limit === 0n) { + return stream + } + + const source = stream.source + + stream.source = (async function * (): Source { + let total = 0n + + for await (const buf of source) { + const len = BigInt(buf.byteLength) + if (total + len > limit) { + // this is a safe downcast since len is guarantee to be in the range for a number + const remaining = Number(limit - total) + try { + if (remaining !== 0) { + yield buf + } + } finally { + stream.abort(new Error('data limit exceeded')) + } + return + } + + yield buf + + total += len + } + })() + + return stream +} + +const dataLimitSink = (stream: Stream, limit: bigint): Stream => { + if (limit === 0n) { + return stream + } + + const sink = stream.sink + + stream.sink = async (source: Source) => { + await sink((async function * (): Source { + let total = 0n + + for await (const buf of source) { + const len = BigInt(buf.byteLength) + if (total + len > limit) { + // this is a safe downcast since len is guarantee to be in the range for a number + const remaining = Number(limit - total) + try { + if (remaining !== 0) { + yield buf.slice(0, remaining) + } + } finally { + stream.abort(new Error('data limit exceeded')) + } + return + } + + total += len + yield buf + } + })()) + } + + return stream +} + +const dataLimitDuplex = (stream: Stream, limit: bigint): Stream => { + dataLimitSource(stream, limit) + dataLimitSink(stream, limit) + + return stream +} + +const durationLimitDuplex = (stream: Stream, limit: number): Stream => { + if (limit === 0) { + return stream + } + + let timedOut = false + const timeout = setTimeout( + () => { + timedOut = true + stream.abort(new Error('exceeded connection duration limit')) + }, + limit + ) + + const source = stream.source + + stream.source = (async function * (): Source { + try { + for await (const buf of source) { + if (timedOut) { + return + } + yield buf + } + } finally { + clearTimeout(timeout) + } + })() + + return stream +} diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/v2/hop.spec.ts index 4f4c7624db..b1219865b1 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/v2/hop.spec.ts @@ -192,6 +192,37 @@ describe('Circuit v2 - hop protocol', function () { expect(removeReservationStub.calledOnce).to.be.true() pbstr.write = backup }) + + it('should tag peer', async () => { + const expire: number = 123 + const reserveStub = sinon.stub(reservationStore, 'reserve') + reserveStub.resolves({ status: Status.OK, expire }) + const pbstr = pbStream(stream) + await handleHopProtocol({ + request: { + type: HopMessage.Type.RESERVE + }, + connection: conn, + stream: pbstr, + relayPeer, + connectionManager: sinon.stub() as any, + relayAddrs: [multiaddr('/ip4/127.0.0.1/udp/1234')], + peerStore, + reservationStore + }) + expect(reserveStub.calledOnceWith(conn.remotePeer, conn.remoteAddr)).to.be.true() + const response = await pbstr.pb(HopMessage).read() + expect(response.type).to.be.equal(HopMessage.Type.STATUS) + expect(response.limit).to.be.undefined() + expect(response.status).to.be.equal(Status.OK) + expect(response.reservation?.expire).to.be.equal(BigInt(expire)) + expect(response.reservation?.voucher).to.not.be.undefined() + expect(response.reservation?.addrs?.length).to.be.greaterThan(0) + + const tags = await peerStore.getTags(relayPeer) + expect(tags).length(1) + expect(tags[0].value).equal(1) + }) }) describe('connect', function () { From 38eeb31e8d673fae73f70d6826b1057292c0bf4a Mon Sep 17 00:00:00 2001 From: Chinmay Kousik Date: Thu, 2 Mar 2023 16:26:19 +0530 Subject: [PATCH 57/58] apply suggestion --- src/circuit/v2/util.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts index f97bedbf42..c2b85d90e6 100644 --- a/src/circuit/v2/util.ts +++ b/src/circuit/v2/util.ts @@ -83,7 +83,7 @@ const dataLimitSink = (stream: Stream, limit: bigint): Stream => { const remaining = Number(limit - total) try { if (remaining !== 0) { - yield buf.slice(0, remaining) + yield buf.subarray(0, remaining) } } finally { stream.abort(new Error('data limit exceeded')) From 70e1b49fd7616cbf62e1b3aabe82895f5b3e9985 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Thu, 2 Mar 2023 15:44:13 +0000 Subject: [PATCH 58/58] fix: allow configuring limits, actually apply limits, update docs, remove references to v2 in the code --- doc/CONFIGURATION.md | 27 ++-- package.json | 4 +- src/circuit/IMPLEMENTATION_NOTES.md | 128 ---------------- src/circuit/README.md | 111 -------------- src/circuit/client.ts | 2 +- src/circuit/constants.ts | 11 ++ src/circuit/{v2 => }/hop.ts | 27 +--- src/circuit/index.ts | 24 ++- src/circuit/{v2 => }/interfaces.ts | 8 +- src/circuit/{v2 => }/pb/index.proto | 0 src/circuit/{v2 => }/pb/index.ts | 0 src/circuit/{v2 => }/reservation-store.ts | 24 ++- src/circuit/{v2 => }/reservation-voucher.ts | 0 src/circuit/{v2 => }/stop.ts | 2 +- src/circuit/transport.ts | 16 +- src/circuit/utils.ts | 140 ++++++++++++++++++ src/circuit/v2/constants.ts | 10 -- src/circuit/v2/index.ts | 2 - src/circuit/v2/util.ts | 140 ------------------ src/fetch/pb/proto.ts | 3 +- src/identify/pb/message.ts | 1 + src/insecure/pb/proto.ts | 3 +- test/circuit/{v2 => }/hop.spec.ts | 22 +-- .../{v2 => }/reservation-store.spec.ts | 48 +++++- test/circuit/{v2 => }/stop.spec.ts | 6 +- 25 files changed, 299 insertions(+), 460 deletions(-) delete mode 100644 src/circuit/IMPLEMENTATION_NOTES.md delete mode 100644 src/circuit/README.md rename src/circuit/{v2 => }/hop.ts (89%) rename src/circuit/{v2 => }/interfaces.ts (71%) rename src/circuit/{v2 => }/pb/index.proto (100%) rename src/circuit/{v2 => }/pb/index.ts (100%) rename src/circuit/{v2 => }/reservation-store.ts (76%) rename src/circuit/{v2 => }/reservation-voucher.ts (100%) rename src/circuit/{v2 => }/stop.ts (97%) delete mode 100644 src/circuit/v2/constants.ts delete mode 100644 src/circuit/v2/index.ts delete mode 100644 src/circuit/v2/util.ts rename test/circuit/{v2 => }/hop.spec.ts (97%) rename test/circuit/{v2 => }/reservation-store.spec.ts (51%) rename test/circuit/{v2 => }/stop.spec.ts (93%) diff --git a/doc/CONFIGURATION.md b/doc/CONFIGURATION.md index 78c09f84a7..9d34d6244e 100644 --- a/doc/CONFIGURATION.md +++ b/doc/CONFIGURATION.md @@ -19,7 +19,7 @@ - [Customizing DHT](#customizing-dht) - [Setup with Content and Peer Routing](#setup-with-content-and-peer-routing) - [Setup with Relay](#setup-with-relay) - - [Setup with Auto Relay](#setup-with-auto-relay) + - [Setup with Automatic Reservations](#setup-with-automatic-reservations) - [Setup with Keychain](#setup-with-keychain) - [Configuring Dialing](#configuring-dialing) - [Configuring Connection Manager](#configuring-connection-manager) @@ -433,22 +433,31 @@ const node = await createLibp2p({ transports: [tcp()], streamMuxers: [mplex()], connectionEncryption: [noise()], - relay: { // Circuit Relay options (this config is part of libp2p core configurations) + relay: { // Circuit Relay options enabled: true, // Allows you to dial and accept relayed connections. Does not make you a relay. hop: { - enabled: true, // Allows you to be a relay for other peers - active: true // You will attempt to dial destination peers if you are not connected to them + enabled: true, // Allows you to be a relay for other peers. + timeout: 30 * 1000, // Incoming hop requests must complete within this timeout + applyConnectionLimits: true // Apply data/duration limits to relayed connections (default: true) + limit: { + duration: 120 * 1000 // the maximum amount of ms a relayed connection can be open for + data: BigInt(1 << 17) // the maximum amount of data that can be transferred over a relayed connection + } }, advertise: { + enabled: true, // Allows you to disable advertising the Hop service bootDelay: 15 * 60 * 1000, // Delay before HOP relay service is advertised on the network - enabled: true, // Allows you to disable the advertise of the Hop service - ttl: 30 * 60 * 1000 // Delay Between HOP relay service advertisements on the network + ttl: 30 * 60 * 1000 // Delay Between HOP relay service advertisements on the network + }, + reservationManager: { // the reservation manager creates reservations on discovered relays + enabled: true, // enable the reservation manager, default: false + maxReservations: 1 // the maximum number of relays to create reservations on } } }) ``` -#### Setup with Auto Relay +#### Setup with Automatic Reservations ```js import { createLibp2p } from 'libp2p' @@ -462,9 +471,9 @@ const node = await createLibp2p({ connectionEncryption: [noise()] relay: { // Circuit Relay options (this config is part of libp2p core configurations) enabled: true, // Allows you to dial and accept relayed connections. Does not make you a relay. - autoRelay: { + reservationManager: { enabled: true, // Allows you to bind to relays with HOP enabled for improving node dialability - maxListeners: 2 // Configure maximum number of HOP relays to use + maxListeners: 2 // Configure maximum number of HOP relays to use } } }) diff --git a/package.json b/package.json index fca0d9a319..304988af69 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "build": "aegir build", "docs": "aegir docs", "generate": "run-s generate:proto:*", - "generate:proto:circuit:v2": "protons ./src/circuit/v2/pb/index.proto", + "generate:proto:circuit": "protons ./src/circuit/pb/index.proto", "generate:proto:fetch": "protons ./src/fetch/pb/proto.proto", "generate:proto:identify": "protons ./src/identify/pb/message.proto", "generate:proto:plaintext": "protons ./src/insecure/pb/proto.proto", @@ -122,7 +122,7 @@ "@libp2p/peer-id": "^2.0.0", "@libp2p/peer-id-factory": "^2.0.0", "@libp2p/peer-record": "^5.0.0", - "@libp2p/peer-store": "^6.0.0", + "@libp2p/peer-store": "^6.0.4", "@libp2p/tracked-map": "^3.0.0", "@libp2p/utils": "^3.0.2", "@multiformats/mafmt": "^11.0.2", diff --git a/src/circuit/IMPLEMENTATION_NOTES.md b/src/circuit/IMPLEMENTATION_NOTES.md deleted file mode 100644 index abd4d61d17..0000000000 --- a/src/circuit/IMPLEMENTATION_NOTES.md +++ /dev/null @@ -1,128 +0,0 @@ -EDIT: This document is outdated and here only for historical purposes - -NOTE: This document is structured in an `if-then/else[if]-then` manner, each line is a precondition for following lines with a higher number of indentation - -Example: - -- if there are apples - - eat them -- if not, check for pears - - then eat them -- if not, check for cherries - - then eat them - -Or, - -- if there are apples - - eat them -- if not - - check for pears - - then eat them -- if not - - check for cherries - - then eat them - -In order to minimize nesting, the first example is preferred - -# Relay flow - -## Relay transport (dialer/listener) - -- ### Dial over a relay - - See if there is a relay that's already connected to the destination peer, if not - - Ask all the peer's known relays to dial the destination peer until an active relay (one that can dial on behalf of other peers), or a relay that may have recently acquired a connection to the destination peer is successful. - - If successful - - Write the `/ipfs/relay/circuit/1.0.0` header to the relay, followed by the destination address - - e.g. `/ipfs/relay/circuit/1.0.0\n/p2p-circuit/ipfs/QmDest`. - - If no relays could connect, fail the same way a regular transport would - - Once the connection has been established, the swarm should treat it as a regular connection, - - i.e. muxing, encrypt, etc should all be performed on the relayed connection - -- ### Listen for relayed connections - - Peer mounts the `/ipfs/relay/circuit/1.0.0` proto and listens for relayed connections - - A connection arrives - - read the address of the source peer from the incoming connection stream - - if valid, create a PeerInfo object for that peer and add the incoming address to its multiaddresses list - - pass the connection to `protocolMuxer(swarm.protocols, conn)` to have it go through the regular muxing/encryption flow - -- ### Relay discovery and static relay addresses in swarm config - - - #### Relay address in swarm config - - A peer has relay addresses in its swarm config section - - On node startup, connect to the relays in swarm config - - if successful add address to swarms PeerInfo's multiaddresses - - `identify` should take care of announcing that the peer is reachable over the listed relays - - - #### Passive relay discovery - - A peer that can dial over `/ipfs/relay/circuit/1.0.0` listens for the `peer-mux-established` swarm event, every time a new muxed connection arrives, it checks if the incoming peer is a relay. (How would this work? Some way of discovering if its a relay is required.) - - *Useful in cases when the peer/node doesn't know of any relays on startup and also, to learn of as many additional relays in the network as possible* - - *Useful during startup, when connecting to bootstrap nodes. It allows us to implicitly learn if its a relay without having to explicitly add `/p2p-circuit` addresses to the bootstrap list* - - *Also useful if the relay communicates its capabilities upon connecting to it, as to avoid additional unnecessary requests/queries. I.e. if it supports weather its able to forward connections and weather it supports the `ls` or other commands.* - - *Should it be possible to disable passive relay discovery?* - - This could be useful when the peer wants to be reachable **only** over the listed relays - - If the incoming peer is a relay, send an `ls` and record its peers - -## Relay Nodes - -- ### Passive relay node - - *A passive relay does not explicitly dial into any requested peer, only those that it's swarm already has connections to.* - - When the relay gets a request, read the the destination peer's multiaddr from the connection stream and if its a valid address and peer id - - check its swarm's peerbook(?) see if its a known peer, if it is - - use the swarms existing connection and - - send the multistream header and the source peer address to the dest peer - - e.g. `/ipfs/relay/circuit/1.0.0\n/p2p-circuit/ipfs/QmSource` - - circuit the source and dest connections - - if couldn't dial, or the connection/stream to the dest peer closed prematurelly - - close the src stream - - -- ### Active relay node - - *An active relay node can dial other peers even if its swarm doesnt know about those peers* - - When the relay gets a request, read the the destination peer's multiaddr from the connection stream and if its a valid address and peer id - - use the swarm to dial to the dest node - - send the multistream header and the source peer address to the dest peer - - e.g. `/ipfs/relay/circuit/1.0.0\n/p2p-circuit/ipfs/QmSource` - - circuit the source and dest connections - - if couldn't dial, or the connection/stream to the dest peer closed prematurely - - close the src stream - -- ### `ls` command - - *A relay node can allow the peers known to it's swarm to be listed* - - *this should be possible to enable/disable from the config* - - when a relay gets the `ls` request - - if enabled, get its swarm's peerbook's known peers and return their ids and multiaddrs - - e.g `[{id: /ipfs/QmPeerId, addrs: ['ma1', 'ma2', 'ma3']}, ...]` - - if disabled, respond with `na` - - -## Relay Implementation notes - -- ### Relay transport - - Currently I've implemented the dialer and listener parts of the relay as a transport, meaning that it *tries* to implement the `interface-transport` interface as closely as possible. This seems to work pretty well and it's makes the dialer/listener parts really easy to plug in into the swarm. I think this is the cleanest solution. - -- ### `circuit-relay` - - This is implemented as a separate piece (not a transport), and it can be enabled/disabled with a config. The transport listener however, will do the initial parsing of the incoming header and figure out weather it's a connection that's needs to be handled by the circuit-relay, or its a connection that is being relayed from a circuit-relay. - -## Relay swarm integration - -- The relay transport is mounted explicitly by calling the `swarm.connection.relay(config.relay)` from libp2p - - Swarm will register the dialer and listener using the swarm `transport.add` and `transport.listen` methods - - - ### Listener - - the listener registers itself as a multistream handler on the `/ipfs/relay/circuit/1.0.0` proto - - if `circuit-relay` is enabled, the listener will delegate connections to it if appropriate - - when the listener receives a connection, it will read the multiaddr and determine if its a connection that needs to be relayed, or its a connection that is being relayed - - - ### Dialer - - When the swarm attempts to dial to a peer, it will filter the protocols that the peer can be reached on - - *The relay will be used in two cases* - - If the peer has an explicit relay address that it can be reached on - - no other transport is available - - The relay will attempt to dial the peer over that relay - - If no explicit relay address is provided - - no other transport is available - - A generic circuit address will be added to the peers multiaddr list - - i.e. `/p2p-circuit/ipfs/QmDest` - - If another transport is available, then use that instead of the relay - - diff --git a/src/circuit/README.md b/src/circuit/README.md deleted file mode 100644 index 712640e3c3..0000000000 --- a/src/circuit/README.md +++ /dev/null @@ -1,111 +0,0 @@ -# js-libp2p-circuit - -> Node.js implementation of the Circuit module that libp2p uses, which implements the [interface-connection](https://github.com/libp2p/js-libp2p-interfaces/tree/master/src/connection) interface for dial/listen. - -**Note**: git history prior to merging into js-libp2p can be found in the original repository, https://github.com/libp2p/js-libp2p-circuit. - -`libp2p-circuit` implements the circuit-relay mechanism that allows nodes that don't speak the same protocol to communicate using a third _relay_ node. You can read more about this in its [spec](https://github.com/libp2p/specs/tree/master/relay). - -## Table of Contents - -- [js-libp2p-circuit](#js-libp2p-circuit) - - [Table of Contents](#table-of-contents) - - [Why?](#why) - - [libp2p-circuit and IPFS](#libp2p-circuit-and-ipfs) - - [Usage](#usage) - - [API](#api) - - [Implementation rational](#implementation-rational) - -### Why? - -`circuit-relaying` uses additional nodes in order to transfer traffic between two otherwise unreachable nodes. This allows nodes that don't speak the same protocols or are running in limited environments, e.g. browsers and IoT devices, to communicate, which would otherwise be impossible given the fact that for example browsers don't have any socket support and as such cannot be directly dialed. - -The use of circuit-relaying is not limited to routing traffic between browser nodes, other uses include: - - routing traffic between private nets and circumventing NAT layers - - route mangling for better privacy (matreshka/shallot dialing). - -It's also possible to use it for clients that implement exotic transports such as devices that only have bluetooth radios to be reachable over bluetooth enabled relays and become full p2p nodes. - -### libp2p-circuit and IPFS - -Prior to `libp2p-circuit` there was a rift in the IPFS network, were IPFS nodes could only access content from nodes that speak the same protocol, for example TCP only nodes could only dial to other TCP only nodes, same for any other protocol combination. In practice, this limitation was most visible in JS-IPFS browser nodes, since they can only dial out but not be dialed in over WebRTC or WebSockets, hence any content that the browser node held was not reachable by the rest of the network even through it was announced on the DHT. Non browser IPFS nodes would usually speak more than one protocol such as TCP, WebSockets and/or WebRTC, this made the problem less severe outside of the browser. `libp2p-circuit` solves this problem completely, as long as there are `relay nodes` capable of routing traffic between those nodes their content should be available to the rest of the IPFS network. - -## Usage - -Libp2p circuit configuration can be seen at [Setup with Relay](../../doc/CONFIGURATION.md#setup-with-relay). - -Once you have a circuit relay node running, you can configure other nodes to use it as a relay as follows: - -```js -import { multiaddr } from '@multiformats/multiaddr' -import Libp2p from 'libp2p' -import { tcp } from '@libp2p/tcp' -import { mplex } from '@libp2p/mplex' -import { noise } from '@chainsafe/libp2p-noise' - -const relayAddr = ... - -const node = await createLibp2p({ - addresses: { - listen: [multiaddr(`${relayAddr}/p2p-circuit`)] - }, - transports: [ - tcp() - ], - streamMuxers: [ - mplex() - ], - connectionEncryption: [ - noise() - ] - }, - config: { - relay: { // Circuit Relay options (this config is part of libp2p core configurations) - enabled: true // Allows you to dial and accept relayed connections. Does not make you a relay. - } - } -}) -``` - -## API - -[![](https://raw.githubusercontent.com/libp2p/interface-transport/master/img/badge.png)](https://github.com/libp2p/interface-transport) - -`libp2p-circuit` accepts Circuit addresses for both IPFS and non IPFS encapsulated addresses, i.e: - -`/p2p-circuit/ip4/127.0.0.1/tcp/4001/p2p/QmHash` - -Both for dialing and listening. - -### Implementation rational - -This module is not a transport, however it implements `interface-transport` interface in order to allow circuit to be plugged with `libp2p`. The rational behind it is that, `libp2p-circuit` has a dial and listen flow, which fits nicely with other transports, moreover, it requires the _raw_ connection to be encrypted and muxed just as a regular transport's connection does. All in all, `interface-transport` ended up being the correct level of abstraction for circuit, as well as allowed us to reuse existing integration points in `libp2p` and `libp2p` without adding any ad-hoc logic. All parts of `interface-transport` are used, including `.getAddr` which returns a list of `/p2p-circuit` addresses that circuit is currently listening. - -``` -libp2p libp2p-circuit (transport) -+-------------------------------------------------+ +--------------------------+ -| +---------------------------------+ | | | -| | | | | +------------------+ | -| | | | circuit-relay listens for the HOP | | | | -| | libp2p <------------------------------------------------| circuit-relay | | -| | | | message to handle incomming relay | | | | -| | | | requests from other nodes | +------------------+ | -| +---------------------------------+ | | | -| ^ ^ ^ ^ ^ ^ | | +------------------+ | -| | | | | | | | | | +-------------+ | | -| | | | | | | | dialer uses libp2p to dial | | | | | | -| | | | +----------------------------------------------------------------------> dialer | | | -| | | transports | | to a circuit-relay node using the | | | | | | -| | | | | | | HOP message | | +-------------+ | | -| | | | | | | | | | | -| v v | v v | | | | | -|+------------------|----------------------------+| | | +-------------+ | | -|| | | | | || | | | | | | -||libp2p-tcp |libp2p-ws | .... |libp2p-circuit || listener handles STOP messages from| | | listener | | | -|| | +--------------------------------------------------------------------------> | | | -|| | | |plugs in just || circuit-relay nodes | | +-------------+ | | -|| | | |as any other || | | | | -|| | | |transport || | +------------------+ | -|+-----------------------------------------------+| | | -+-------------------------------------------------+ +--------------------------+ -``` diff --git a/src/circuit/client.ts b/src/circuit/client.ts index a119fcfecb..9ffaa0028e 100644 --- a/src/circuit/client.ts +++ b/src/circuit/client.ts @@ -13,7 +13,7 @@ import sort from 'it-sort' import all from 'it-all' import { pipe } from 'it-pipe' import { publicAddressesFirst } from '@libp2p/utils/address-sort' -import { reserve } from './v2/index.js' +import { reserve } from './hop.js' import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events' import type { Startable } from '@libp2p/interfaces/startable' import type { Components } from '../components.js' diff --git a/src/circuit/constants.ts b/src/circuit/constants.ts index d5f301ec87..49a927be6c 100644 --- a/src/circuit/constants.ts +++ b/src/circuit/constants.ts @@ -24,3 +24,14 @@ export const RELAY_RENDEZVOUS_NS = '/libp2p/relay' * Maximum reservations for auto relay */ export const DEFAULT_MAX_RESERVATIONS = 1 + +export const RELAY_DESTINATION_TAG = 'relay-destination' + +// circuit v2 connection limits +// https://github.com/libp2p/go-libp2p/blob/master/p2p/protocol/circuitv2/relay/resources.go#L61-L66 + +// 2 min is the default connection duration +export const DEFAULT_DURATION_LIMIT = 2 * 60 * 1000 + +// 128k is the default data limit +export const DEFAULT_DATA_LIMIT = BigInt(1 << 17) diff --git a/src/circuit/v2/hop.ts b/src/circuit/hop.ts similarity index 89% rename from src/circuit/v2/hop.ts rename to src/circuit/hop.ts index 1209acce3e..a93c3128ba 100644 --- a/src/circuit/v2/hop.ts +++ b/src/circuit/hop.ts @@ -6,22 +6,19 @@ import { HopMessage, Limit, Reservation, Status, StopMessage } from './pb/index. import type { Multiaddr } from '@multiformats/multiaddr' import { multiaddr } from '@multiformats/multiaddr' import type { Acl, ReservationStore } from './interfaces.js' -import { RELAY_V2_HOP_CODEC } from '../multicodec.js' +import { RELAY_V2_HOP_CODEC } from './multicodec.js' import { stop } from './stop.js' import { ReservationVoucherRecord } from './reservation-voucher.js' import { peerIdFromBytes } from '@libp2p/peer-id' import type { ConnectionManager } from '@libp2p/interface-connection-manager' import type { ProtobufStream } from 'it-pb-stream' import { pbStream } from 'it-pb-stream' -import { CIRCUIT_PROTO_CODE } from '../constants.js' +import { CIRCUIT_PROTO_CODE, RELAY_DESTINATION_TAG } from './constants.js' import type { PeerStore } from '@libp2p/interface-peer-store' -import { createLimitedRelay } from './util.js' -import type { CodeError } from '@libp2p/interfaces/errors' +import { createLimitedRelay } from './utils.js' const log = logger('libp2p:circuit:v2:hop') -const RELAYED = 'relayed' - export interface HopProtocolOptions { connection: Connection request: HopMessage @@ -58,10 +55,10 @@ export async function reserve (connection: Connection): Promise { let response: HopMessage try { response = await hopstr.read() - } catch (e: any) { - log.error('error passing reserve message response from %s because', connection.remotePeer, e.message) + } catch (err: any) { + log.error('error passing reserve message response from %s because', connection.remotePeer, err.message) stream.close() - throw e + throw err } if (response.status === Status.OK && (response.reservation != null)) { @@ -74,7 +71,7 @@ export async function reserve (connection: Connection): Promise { const isRelayAddr = (ma: Multiaddr): boolean => ma.protoCodes().includes(CIRCUIT_PROTO_CODE) -async function handleReserve ({ connection, stream: pbstr, relayPeer, relayAddrs, limit, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { +async function handleReserve ({ connection, stream: pbstr, relayPeer, relayAddrs, acl, reservationStore, peerStore }: HopProtocolOptions): Promise { const hopstr = pbstr.pb(HopMessage) log('hop reserve request from %s', connection.remotePeer) @@ -102,15 +99,7 @@ async function handleReserve ({ connection, stream: pbstr, relayPeer, relayAddrs // result.expire is non-null if `ReservationStore.reserve` returns with status == OK if (result.expire != null) { const ttl = new Date().getTime() - result.expire - await peerStore.tagPeer(relayPeer, RELAYED, { value: 1, ttl }) - .catch(async (err: CodeError) => { - if (err.code !== 'ERR_DUPLICATE_TAG') { - throw err - } - // update ttl - // TODO: make this atomic - return await peerStore.unTagPeer(relayPeer, RELAYED).then(async () => await peerStore.tagPeer(relayPeer, RELAYED, { value: 1, ttl })) - }) + await peerStore.tagPeer(relayPeer, RELAY_DESTINATION_TAG, { value: 1, ttl }) } hopstr.write({ type: HopMessage.Type.STATUS, diff --git a/src/circuit/index.ts b/src/circuit/index.ts index 24652ff884..e09bdee41a 100644 --- a/src/circuit/index.ts +++ b/src/circuit/index.ts @@ -33,13 +33,35 @@ export interface RelayReservationManagerConfig { */ export interface HopConfig { /** - * + * If true this node will function as a limited relay (default: false) */ enabled?: boolean + /** * timeout for hop requests to complete */ timeout: number + + /** + * If false, no connection limits will be applied to relayed connections (default: true) + */ + applyConnectionLimits?: boolean + + /** + * Limits to apply to incoming relay connections - relayed connections will be closed if + * these limits are exceeded. + */ + limit?: { + /** + * How long to relay a connection for in milliseconds (default: 2m) + */ + duration?: number + + /** + * How many bytes to allow to be transferred over a relayed connection (default: 128k) + */ + data?: bigint + } } export interface RelayAdvertiseConfig { diff --git a/src/circuit/v2/interfaces.ts b/src/circuit/interfaces.ts similarity index 71% rename from src/circuit/v2/interfaces.ts rename to src/circuit/interfaces.ts index 2d0111b062..3c0d428c68 100644 --- a/src/circuit/v2/interfaces.ts +++ b/src/circuit/interfaces.ts @@ -11,10 +11,10 @@ export interface Reservation { } export interface ReservationStore { - reserve: (peer: PeerId, addr: Multiaddr, limit?: Limit) => Promise<{status: ReservationStatus, expire?: number}> - removeReservation: (peer: PeerId) => Promise - hasReservation: (dst: PeerId) => Promise - get: (peer: PeerId) => Promise + reserve: (peer: PeerId, addr: Multiaddr, limit?: Limit) => {status: ReservationStatus, expire?: number} + removeReservation: (peer: PeerId) => void + hasReservation: (dst: PeerId) => boolean + get: (peer: PeerId) => Reservation | undefined } export type AclStatus = Status.OK | Status.RESOURCE_LIMIT_EXCEEDED | Status.PERMISSION_DENIED diff --git a/src/circuit/v2/pb/index.proto b/src/circuit/pb/index.proto similarity index 100% rename from src/circuit/v2/pb/index.proto rename to src/circuit/pb/index.proto diff --git a/src/circuit/v2/pb/index.ts b/src/circuit/pb/index.ts similarity index 100% rename from src/circuit/v2/pb/index.ts rename to src/circuit/pb/index.ts diff --git a/src/circuit/v2/reservation-store.ts b/src/circuit/reservation-store.ts similarity index 76% rename from src/circuit/v2/reservation-store.ts rename to src/circuit/reservation-store.ts index 87c14fbb89..b48cbff8b9 100644 --- a/src/circuit/v2/reservation-store.ts +++ b/src/circuit/reservation-store.ts @@ -24,6 +24,14 @@ export interface ReservationStoreInit { * reservation ttl, default: 2 hours */ reservationTtl: number + /** + * The maximum time a relayed connection can be open for + */ + defaultDurationLimit?: number + /** + * The maximum amount of data allowed to be transferred over a relayed connection + */ + defaultDataLimit?: bigint } export type ReservationStoreOptions = RecursivePartial @@ -38,8 +46,10 @@ export class ReservationStore implements IReservationStore, Startable { this.init = { maxReservations: options?.maxReservations ?? 15, reservationClearInterval: options?.reservationClearInterval ?? 300 * 1000, - applyDefaultLimit: options?.applyDefaultLimit === false, - reservationTtl: options?.reservationTtl ?? 2 * 60 * 60 * 1000 + applyDefaultLimit: options?.applyDefaultLimit !== false, + reservationTtl: options?.reservationTtl ?? 2 * 60 * 60 * 1000, + defaultDurationLimit: options?.defaultDurationLimit ?? DEFAULT_DURATION_LIMIT, + defaultDataLimit: options?.defaultDataLimit ?? DEFAULT_DATA_LIMIT } } @@ -69,28 +79,28 @@ export class ReservationStore implements IReservationStore, Startable { clearInterval(this.interval) } - async reserve (peer: PeerId, addr: Multiaddr, limit?: Limit): Promise<{ status: ReservationStatus, expire?: number }> { + reserve (peer: PeerId, addr: Multiaddr, limit?: Limit): { status: ReservationStatus, expire?: number } { if (this.reservations.size >= this.init.maxReservations && !this.reservations.has(peer)) { return { status: Status.RESERVATION_REFUSED } } const expire = new Date(Date.now() + this.init.reservationTtl) let checkedLimit: Limit | undefined if (this.init.applyDefaultLimit) { - checkedLimit = limit ?? { data: BigInt(DEFAULT_DATA_LIMIT), duration: DEFAULT_DURATION_LIMIT } + checkedLimit = limit ?? { data: this.init.defaultDataLimit, duration: this.init.defaultDurationLimit } } this.reservations.set(peer, { addr, expire, limit: checkedLimit }) return { status: Status.OK, expire: expire.getTime() } } - async removeReservation (peer: PeerId) { + removeReservation (peer: PeerId): void { this.reservations.delete(peer) } - async hasReservation (dst: PeerId) { + hasReservation (dst: PeerId): boolean { return this.reservations.has(dst) } - async get (peer: PeerId): Promise { + get (peer: PeerId): Reservation | undefined { return this.reservations.get(peer) } } diff --git a/src/circuit/v2/reservation-voucher.ts b/src/circuit/reservation-voucher.ts similarity index 100% rename from src/circuit/v2/reservation-voucher.ts rename to src/circuit/reservation-voucher.ts diff --git a/src/circuit/v2/stop.ts b/src/circuit/stop.ts similarity index 97% rename from src/circuit/v2/stop.ts rename to src/circuit/stop.ts index 7861813dc8..e650fe6683 100644 --- a/src/circuit/v2/stop.ts +++ b/src/circuit/stop.ts @@ -3,7 +3,7 @@ import { Status, StopMessage } from './pb/index.js' import type { Connection, Stream } from '@libp2p/interface-connection' import { logger } from '@libp2p/logger' -import { RELAY_V2_STOP_CODEC } from '../multicodec.js' +import { RELAY_V2_STOP_CODEC } from './multicodec.js' import { multiaddr } from '@multiformats/multiaddr' import { pbStream, ProtobufStream } from 'it-pb-stream' diff --git a/src/circuit/transport.ts b/src/circuit/transport.ts index 970c67bbf5..f1957dd855 100644 --- a/src/circuit/transport.ts +++ b/src/circuit/transport.ts @@ -1,5 +1,5 @@ -import * as CircuitV2 from './v2/pb/index.js' -import { ReservationStore } from './v2/reservation-store.js' +import * as CircuitV2 from './pb/index.js' +import { ReservationStore } from './reservation-store.js' import { logger } from '@libp2p/logger' import createError from 'err-code' import * as mafmt from '@multiformats/mafmt' @@ -16,7 +16,8 @@ import type { Listener, Transport, CreateListenerOptions, ConnectionHandler } fr import type { Connection, Stream } from '@libp2p/interface-connection' import type { RelayConfig } from './index.js' import type { PeerId } from '@libp2p/interface-peer-id' -import * as CircuitV2Handler from './v2/index.js' +import { handleHopProtocol } from './hop.js' +import { handleStop } from './stop.js' import type { Multiaddr } from '@multiformats/multiaddr' import type { PeerStore } from '@libp2p/interface-peer-store' import type { Startable } from '@libp2p/interfaces/dist/src/startable' @@ -61,7 +62,10 @@ export class Circuit implements Transport, Startable { constructor (components: CircuitComponents, options: RelayConfig) { this.components = components this._init = options - this.reservationStore = new ReservationStore() + this.reservationStore = new ReservationStore({ + defaultDataLimit: options.hop?.limit?.data, + defaultDurationLimit: options.hop?.limit?.duration + }) this._started = false } @@ -138,7 +142,7 @@ export class Circuit implements Transport, Startable { } await Promise.race([ - CircuitV2Handler.handleHopProtocol({ + handleHopProtocol({ connection, stream: pbstr, connectionManager: this.components.connectionManager, @@ -169,7 +173,7 @@ export class Circuit implements Transport, Startable { return } - const mStream = await CircuitV2Handler.handleStop({ + const mStream = await handleStop({ connection, pbstr, request diff --git a/src/circuit/utils.ts b/src/circuit/utils.ts index b41e0ed89a..bad7597ba4 100644 --- a/src/circuit/utils.ts +++ b/src/circuit/utils.ts @@ -1,5 +1,145 @@ import { CID } from 'multiformats/cid' import { sha256 } from 'multiformats/hashes/sha2' +import type { Source } from 'it-stream-types' +import type { Uint8ArrayList } from 'uint8arraylist' +import type { Limit } from './pb/index.js' +import { logger } from '@libp2p/logger' +import type { Stream } from '@libp2p/interface-connection' + +const log = logger('libp2p:circuit:v2:util') + +const doRelay = (src: Stream, dst: Stream) => { + queueMicrotask(() => { + void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) + }) + + queueMicrotask(() => { + void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) + }) +} + +export function createLimitedRelay (source: Stream, destination: Stream, limit?: Limit) { + // trivial case + if (limit == null) { + doRelay(source, destination) + return + } + + const dataLimit = limit.data ?? 0n + const durationLimit = limit.duration ?? 0 + const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) + const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) + + doRelay(src, dst) +} + +const dataLimitSource = (stream: Stream, limit: bigint): Stream => { + if (limit === 0n) { + return stream + } + + const source = stream.source + + stream.source = (async function * (): Source { + let total = 0n + + for await (const buf of source) { + const len = BigInt(buf.byteLength) + if (total + len > limit) { + // this is a safe downcast since len is guarantee to be in the range for a number + const remaining = Number(limit - total) + try { + if (remaining !== 0) { + yield buf + } + } finally { + stream.abort(new Error('data limit exceeded')) + } + return + } + + yield buf + + total += len + } + })() + + return stream +} + +const dataLimitSink = (stream: Stream, limit: bigint): Stream => { + if (limit === 0n) { + return stream + } + + const sink = stream.sink + + stream.sink = async (source: Source) => { + await sink((async function * (): Source { + let total = 0n + + for await (const buf of source) { + const len = BigInt(buf.byteLength) + if (total + len > limit) { + // this is a safe downcast since len is guarantee to be in the range for a number + const remaining = Number(limit - total) + try { + if (remaining !== 0) { + yield buf.subarray(0, remaining) + } + } finally { + stream.abort(new Error('data limit exceeded')) + } + return + } + + total += len + yield buf + } + })()) + } + + return stream +} + +const dataLimitDuplex = (stream: Stream, limit: bigint): Stream => { + dataLimitSource(stream, limit) + dataLimitSink(stream, limit) + + return stream +} + +const durationLimitDuplex = (stream: Stream, limit: number): Stream => { + if (limit === 0) { + return stream + } + + let timedOut = false + const timeout = setTimeout( + () => { + timedOut = true + stream.abort(new Error('exceeded connection duration limit')) + }, + limit + ) + + const source = stream.source + + stream.source = (async function * (): Source { + try { + for await (const buf of source) { + if (timedOut) { + return + } + yield buf + } + } finally { + clearTimeout(timeout) + } + })() + + return stream +} /** * Convert a namespace string into a cid diff --git a/src/circuit/v2/constants.ts b/src/circuit/v2/constants.ts deleted file mode 100644 index 2398622413..0000000000 --- a/src/circuit/v2/constants.ts +++ /dev/null @@ -1,10 +0,0 @@ -export const RELAYED_TAG = 'relayed' - -// circuit v2 connection limits -// https://github.com/libp2p/go-libp2p/blob/master/p2p/protocol/circuitv2/relay/resources.go#L61-L66 - -// 2 min is the default connection duration -export const DEFAULT_DURATION_LIMIT = 2 * 60 * 1000 - -// 128k is the default data limit -export const DEFAULT_DATA_LIMIT = 1 << 17 diff --git a/src/circuit/v2/index.ts b/src/circuit/v2/index.ts deleted file mode 100644 index 27a393b226..0000000000 --- a/src/circuit/v2/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './hop.js' -export * from './stop.js' diff --git a/src/circuit/v2/util.ts b/src/circuit/v2/util.ts deleted file mode 100644 index c2b85d90e6..0000000000 --- a/src/circuit/v2/util.ts +++ /dev/null @@ -1,140 +0,0 @@ -import type { Source } from 'it-stream-types' -import type { Uint8ArrayList } from 'uint8arraylist' -import type { Limit } from './pb/index.js' -import { logger } from '@libp2p/logger' -import type { Stream } from '@libp2p/interface-connection' - -const log = logger('libp2p:circuit:v2:util') - -const doRelay = (src: Stream, dst: Stream) => { - queueMicrotask(() => { - void dst.sink(src.source).catch(err => log.error('error while relating streams:', err)) - }) - - queueMicrotask(() => { - void src.sink(dst.source).catch(err => log.error('error while relaying streams:', err)) - }) -} - -export function createLimitedRelay (source: Stream, destination: Stream, limit?: Limit) { - // trivial case - if (limit == null) { - doRelay(source, destination) - return - } - - const dataLimit = limit.data ?? 0n - const durationLimit = limit.duration ?? 0 - const src = durationLimitDuplex(dataLimitDuplex(source, dataLimit), durationLimit) - const dst = durationLimitDuplex(dataLimitDuplex(destination, dataLimit), durationLimit) - - doRelay(src, dst) -} - -const dataLimitSource = (stream: Stream, limit: bigint): Stream => { - if (limit === 0n) { - return stream - } - - const source = stream.source - - stream.source = (async function * (): Source { - let total = 0n - - for await (const buf of source) { - const len = BigInt(buf.byteLength) - if (total + len > limit) { - // this is a safe downcast since len is guarantee to be in the range for a number - const remaining = Number(limit - total) - try { - if (remaining !== 0) { - yield buf - } - } finally { - stream.abort(new Error('data limit exceeded')) - } - return - } - - yield buf - - total += len - } - })() - - return stream -} - -const dataLimitSink = (stream: Stream, limit: bigint): Stream => { - if (limit === 0n) { - return stream - } - - const sink = stream.sink - - stream.sink = async (source: Source) => { - await sink((async function * (): Source { - let total = 0n - - for await (const buf of source) { - const len = BigInt(buf.byteLength) - if (total + len > limit) { - // this is a safe downcast since len is guarantee to be in the range for a number - const remaining = Number(limit - total) - try { - if (remaining !== 0) { - yield buf.subarray(0, remaining) - } - } finally { - stream.abort(new Error('data limit exceeded')) - } - return - } - - total += len - yield buf - } - })()) - } - - return stream -} - -const dataLimitDuplex = (stream: Stream, limit: bigint): Stream => { - dataLimitSource(stream, limit) - dataLimitSink(stream, limit) - - return stream -} - -const durationLimitDuplex = (stream: Stream, limit: number): Stream => { - if (limit === 0) { - return stream - } - - let timedOut = false - const timeout = setTimeout( - () => { - timedOut = true - stream.abort(new Error('exceeded connection duration limit')) - }, - limit - ) - - const source = stream.source - - stream.source = (async function * (): Source { - try { - for await (const buf of source) { - if (timedOut) { - return - } - yield buf - } - } finally { - clearTimeout(timeout) - } - })() - - return stream -} diff --git a/src/fetch/pb/proto.ts b/src/fetch/pb/proto.ts index 1f41f6e506..c607724c95 100644 --- a/src/fetch/pb/proto.ts +++ b/src/fetch/pb/proto.ts @@ -2,6 +2,7 @@ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ +/* eslint-disable @typescript-eslint/no-empty-interface */ import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime' import type { Uint8ArrayList } from 'uint8arraylist' @@ -84,7 +85,7 @@ export namespace FetchResponse { } export namespace StatusCode { - export const codec = () => { + export const codec = (): Codec => { return enumeration(__StatusCodeValues) } } diff --git a/src/identify/pb/message.ts b/src/identify/pb/message.ts index 2498ac37bf..a78e23255d 100644 --- a/src/identify/pb/message.ts +++ b/src/identify/pb/message.ts @@ -2,6 +2,7 @@ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ +/* eslint-disable @typescript-eslint/no-empty-interface */ import { encodeMessage, decodeMessage, message } from 'protons-runtime' import type { Uint8ArrayList } from 'uint8arraylist' diff --git a/src/insecure/pb/proto.ts b/src/insecure/pb/proto.ts index e800904eb4..6098e23eed 100644 --- a/src/insecure/pb/proto.ts +++ b/src/insecure/pb/proto.ts @@ -2,6 +2,7 @@ /* eslint-disable complexity */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */ +/* eslint-disable @typescript-eslint/no-empty-interface */ import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime' import type { Uint8ArrayList } from 'uint8arraylist' @@ -89,7 +90,7 @@ enum __KeyTypeValues { } export namespace KeyType { - export const codec = () => { + export const codec = (): Codec => { return enumeration(__KeyTypeValues) } } diff --git a/test/circuit/v2/hop.spec.ts b/test/circuit/hop.spec.ts similarity index 97% rename from test/circuit/v2/hop.spec.ts rename to test/circuit/hop.spec.ts index b1219865b1..fd757b948e 100644 --- a/test/circuit/v2/hop.spec.ts +++ b/test/circuit/hop.spec.ts @@ -4,21 +4,21 @@ import type { PeerId } from '@libp2p/interface-peer-id' import { expect } from 'aegir/chai' import { pair } from 'it-pair' import * as sinon from 'sinon' -import { Circuit } from '../../../src/circuit/transport.js' -import { handleHopProtocol } from '../../../src/circuit/v2/hop.js' -import { HopMessage, Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' -import { ReservationStore } from '../../../src/circuit/v2/reservation-store.js' -import { Components, DefaultComponents } from '../../../src/components.js' -import { DefaultConnectionManager } from '../../../src/connection-manager/index.js' -import { DefaultRegistrar } from '../../../src/registrar.js' -import { DefaultUpgrader } from '../../../src/upgrader.js' -import * as peerUtils from '../../utils/creators/peer.js' -import * as Constants from '../../../src/constants.js' +import { Circuit } from '../../src/circuit/transport.js' +import { handleHopProtocol } from '../../src/circuit/hop.js' +import { HopMessage, Status, StopMessage } from '../../src/circuit/pb/index.js' +import { ReservationStore } from '../../src/circuit/reservation-store.js' +import { Components, DefaultComponents } from '../../src/components.js' +import { DefaultConnectionManager } from '../../src/connection-manager/index.js' +import { DefaultRegistrar } from '../../src/registrar.js' +import { DefaultUpgrader } from '../../src/upgrader.js' +import * as peerUtils from '../utils/creators/peer.js' +import * as Constants from '../../src/constants.js' import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers' import { publicAddressesFirst } from '@libp2p/utils/address-sort' import { PersistentPeerStore } from '@libp2p/peer-store' import { multiaddr } from '@multiformats/multiaddr' -import type { AclStatus } from '../../../src/circuit/v2/interfaces.js' +import type { AclStatus } from '../../src/circuit/interfaces.js' import { pbStream } from 'it-pb-stream' import { pipe } from 'it-pipe' import { fromString as uint8arrayFromString } from 'uint8arrays/from-string' diff --git a/test/circuit/v2/reservation-store.spec.ts b/test/circuit/reservation-store.spec.ts similarity index 51% rename from test/circuit/v2/reservation-store.spec.ts rename to test/circuit/reservation-store.spec.ts index 05d713876c..9682f65c14 100644 --- a/test/circuit/v2/reservation-store.spec.ts +++ b/test/circuit/reservation-store.spec.ts @@ -1,8 +1,9 @@ import { multiaddr } from '@multiformats/multiaddr' import { expect } from 'aegir/chai' -import { Status } from '../../../src/circuit/v2/pb/index.js' -import { ReservationStore } from '../../../src/circuit/v2/reservation-store.js' -import { createPeerId } from '../../utils/creators/peer.js' +import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from '../../src/circuit/constants.js' +import { Status } from '../../src/circuit/pb/index.js' +import { ReservationStore } from '../../src/circuit/reservation-store.js' +import { createPeerId } from '../utils/creators/peer.js' /* eslint-env mocha */ @@ -42,4 +43,45 @@ describe('Circuit v2 - reservation store', function () { expect(await store.hasReservation(peer)).to.be.false() await store.removeReservation(peer) }) + + it('should apply configured default connection limits', async function () { + const defaultDataLimit = 10n + const defaultDurationLimit = 10 + + const store = new ReservationStore({ + defaultDataLimit, + defaultDurationLimit + }) + const peer = await createPeerId() + await store.reserve(peer, multiaddr()) + + const reservation = store.get(peer) + + expect(reservation).to.have.nested.property('limit.data', defaultDataLimit) + expect(reservation).to.have.nested.property('limit.duration', defaultDurationLimit) + }) + + it('should apply default connection limits', async function () { + const store = new ReservationStore() + const peer = await createPeerId() + await store.reserve(peer, multiaddr()) + + const reservation = store.get(peer) + + expect(reservation).to.have.nested.property('limit.data', DEFAULT_DATA_LIMIT) + expect(reservation).to.have.nested.property('limit.duration', DEFAULT_DURATION_LIMIT) + }) + + it('should not apply default connection limits when they have been disabled', async function () { + const store = new ReservationStore({ + applyDefaultLimit: false + }) + const peer = await createPeerId() + await store.reserve(peer, multiaddr()) + + const reservation = store.get(peer) + + expect(reservation).to.not.have.nested.property('limit.data') + expect(reservation).to.not.have.nested.property('limit.duration') + }) }) diff --git a/test/circuit/v2/stop.spec.ts b/test/circuit/stop.spec.ts similarity index 93% rename from test/circuit/v2/stop.spec.ts rename to test/circuit/stop.spec.ts index ec4f8d1c46..2c67eb1e89 100644 --- a/test/circuit/v2/stop.spec.ts +++ b/test/circuit/stop.spec.ts @@ -1,9 +1,9 @@ import { pair } from 'it-pair' import type { Connection, Stream } from '@libp2p/interface-connection' import type { PeerId } from '@libp2p/interface-peer-id' -import { createPeerIds } from '../../utils/creators/peer.js' -import { handleStop, stop } from '../../../src/circuit/v2/stop.js' -import { Status, StopMessage } from '../../../src/circuit/v2/pb/index.js' +import { createPeerIds } from '../utils/creators/peer.js' +import { handleStop, stop } from '../../src/circuit/stop.js' +import { Status, StopMessage } from '../../src/circuit/pb/index.js' import { expect } from 'aegir/chai' import sinon from 'sinon' import { mockConnection, mockMultiaddrConnection, mockStream } from '@libp2p/interface-mocks'