[{"documents":[{"i":1,"t":"Getting Started","u":"/","b":["Guides"]},{"i":11,"t":"Bootstrap Nodes and Discover Peers","u":"/guides/js-waku/configure-discovery","b":["Guides","JavaScript Waku SDK"]},{"i":23,"t":"Send and Receive Messages Using Light Push and Filter","u":"/guides/js-waku/light-send-receive","b":["Guides","JavaScript Waku SDK"]},{"i":37,"t":"Manage Your Filter Subscriptions","u":"/guides/js-waku/manage-filter","b":["Guides","JavaScript Waku SDK"]},{"i":43,"t":"Run @waku/sdk in a NodeJS Application","u":"/guides/js-waku/run-waku-nodejs","b":["Guides","JavaScript Waku SDK"]},{"i":58,"t":"Debug Your Waku DApp and WebSocket","u":"/guides/js-waku/debug-waku-dapp","b":["Guides","JavaScript Waku SDK"]},{"i":74,"t":"JavaScript Waku SDK","u":"/guides/js-waku/","b":["Guides","JavaScript Waku SDK"]},{"i":84,"t":"Scaffold DApps Using @waku/create-app","u":"/guides/js-waku/use-waku-create-app","b":["Guides","JavaScript Waku SDK"]},{"i":90,"t":"Encrypt, Decrypt, and Sign Your Messages","u":"/guides/js-waku/message-encryption","b":["Guides","JavaScript Waku SDK"]},{"i":102,"t":"Retrieve Messages Using Store Protocol","u":"/guides/js-waku/store-retrieve-messages","b":["Guides","JavaScript Waku SDK"]},{"i":123,"t":"Node Configuration Options","u":"/guides/nwaku/config-options","b":["Guides","Run a Nwaku Node"]},{"i":155,"t":"Build Nwaku from Source","u":"/guides/nwaku/build-source","b":["Guides","Run a Nwaku Node"]},{"i":167,"t":"Node Configuration Methods","u":"/guides/nwaku/config-methods","b":["Guides","Run a Nwaku Node"]},{"i":177,"t":"Build React DApps Using @waku/react","u":"/guides/js-waku/use-waku-react","b":["Guides","JavaScript Waku SDK"]},{"i":191,"t":"Configure Peer Discovery","u":"/guides/nwaku/configure-discovery","b":["Guides","Run a Nwaku Node"]},{"i":201,"t":"Run Nwaku in a Docker Container","u":"/guides/nwaku/run-docker","b":["Guides","Run a Nwaku Node"]},{"i":209,"t":"Node Configuration Examples","u":"/guides/nwaku/configure-nwaku","b":["Guides","Run a Nwaku Node"]},{"i":229,"t":"Run a Nwaku Node","u":"/guides/nwaku/run-node","b":["Guides","Run a Nwaku Node"]},{"i":245,"t":"Discv5","u":"/learn/concepts/discv5","b":["Learn","Concepts","Peer Discovery"]},{"i":249,"t":"DNS Discovery","u":"/learn/concepts/dns-discovery","b":["Learn","Concepts","Peer Discovery"]},{"i":253,"t":"Network Domains","u":"/learn/concepts/network-domains","b":["Learn","Concepts"]},{"i":263,"t":"Content Topics","u":"/learn/concepts/content-topics","b":["Learn","Concepts"]},{"i":275,"t":"Peer Discovery","u":"/learn/concepts/peer-discovery","b":["Learn","Concepts","Peer Discovery"]},{"i":277,"t":"Run Nwaku with Docker Compose","u":"/guides/nwaku/run-docker-compose","b":["Guides","Run a Nwaku Node"]},{"i":293,"t":"Peer Exchange","u":"/learn/concepts/peer-exchange","b":["Learn","Concepts","Peer Discovery"]},{"i":297,"t":"Static Peers","u":"/learn/concepts/static-peers","b":["Learn","Concepts","Peer Discovery"]},{"i":301,"t":"Protocols","u":"/learn/concepts/protocols","b":["Learn","Concepts"]},{"i":315,"t":"Transports","u":"/learn/concepts/transports","b":["Learn","Concepts"]},{"i":317,"t":"Security Features","u":"/learn/security-features","b":["Learn"]},{"i":329,"t":"Waku Docs Glossary","u":"/learn/glossary","b":["Learn"]},{"i":401,"t":"The Waku Network","u":"/learn/waku-network","b":["Learn"]},{"i":409,"t":"Privacy Policy","u":"/privacy-policy","b":[]},{"i":429,"t":"Research","u":"/learn/research","b":["Learn"]},{"i":435,"t":"Research","u":"/research/","b":["Research"]},{"i":437,"t":"Comparing Waku and libp2p","u":"/learn/waku-vs-libp2p","b":["Learn"]},{"i":445,"t":"Capped Bandwidth in Waku","u":"/research/research-and-studies/capped-bandwidth","b":["Research","Research and Studies"]},{"i":455,"t":"PostgreSQL","u":"/research/benchmarks/postgres-adoption","b":["Research","Benchmarks"]},{"i":472,"t":"Message Propagation Times With Waku-RLN","u":"/research/research-and-studies/message-propagation","b":["Research","Research and Studies"]},{"i":482,"t":"RLN Key Benchmarks","u":"/research/research-and-studies/rln-key-benchmarks","b":["Research","Research and Studies"]},{"i":497,"t":"Incentivisation","u":"/research/research-and-studies/incentivisation","b":["Research","Research and Studies"]},{"i":539,"t":"Maximum Bandwidth for Global Adoption","u":"/research/research-and-studies/maximum-bandwidth","b":["Research","Research and Studies"]},{"i":547,"t":"Terms of Use","u":"/terms","b":[]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,3.825,1,3.825]],["t/11",[2,2.884,3,1.767,4,2.884,5,1.767]],["t/23",[6,2.106,7,2.106,8,1.417,9,1.291,10,2.106,11,2.106,12,1.786]],["t/37",[12,2.788,13,3.288,14,3.288]],["t/43",[15,1.94,16,2.884,17,2.884,18,2.884]],["t/58",[19,2.884,20,1.501,21,2.156,22,2.884]],["t/74",[20,1.711,23,3.288,24,3.288]],["t/84",[9,1.574,21,1.919,25,2.568,26,2.568,27,2.568]],["t/90",[8,1.94,28,2.884,29,2.884,30,2.884]],["t/102",[8,1.727,9,1.574,31,2.568,32,2.568,33,2.177]],["t/123",[3,2.015,34,2.212,35,3.288]],["t/155",[36,2.788,37,2.212,38,3.288]],["t/167",[3,2.015,34,2.212,39,3.288]],["t/177",[9,1.574,21,1.919,36,2.177,40,2.568,41,2.568]],["t/191",[5,2.015,34,2.212,42,2.458]],["t/201",[15,1.94,37,1.94,43,2.445,44,2.884]],["t/209",[3,2.015,34,2.212,45,3.288]],["t/229",[3,2.015,15,2.212,37,2.212]],["t/245",[46,4.571]],["t/249",[42,2.859,47,3.825]],["t/253",[48,3.243,49,3.825]],["t/263",[50,3.825,51,3.825]],["t/275",[5,2.344,42,2.859]],["t/277",[15,1.94,37,1.94,43,2.445,52,2.884]],["t/293",[5,2.344,53,3.825]],["t/297",[5,2.344,54,3.825]],["t/301",[33,3.875]],["t/315",[55,4.571]],["t/317",[56,3.825,57,3.825]],["t/329",[20,1.711,58,3.288,59,3.288]],["t/401",[20,1.991,48,3.243]],["t/409",[60,3.825,61,3.825]],["t/429",[62,3.875]],["t/435",[62,3.875]],["t/437",[20,1.711,63,3.288,64,3.288]],["t/445",[20,1.711,65,3.288,66,2.788]],["t/455",[67,4.571]],["t/472",[8,1.727,20,1.336,68,2.568,69,2.568,70,2.177]],["t/482",[70,2.788,71,3.288,72,3.288]],["t/497",[73,4.571]],["t/539",[66,2.445,74,2.884,75,2.884,76,2.884]],["t/547",[9,2.344,77,3.825]]],"invertedIndex":[["adopt",{"_index":76,"t":{"539":{"position":[[29,8]]}}}],["app",{"_index":27,"t":{"84":{"position":[[34,3]]}}}],["applic",{"_index":18,"t":{"43":{"position":[[26,11]]}}}],["bandwidth",{"_index":66,"t":{"445":{"position":[[7,9]]},"539":{"position":[[8,9]]}}}],["benchmark",{"_index":72,"t":{"482":{"position":[[8,10]]}}}],["bootstrap",{"_index":2,"t":{"11":{"position":[[0,9]]}}}],["build",{"_index":36,"t":{"155":{"position":[[0,5]]},"177":{"position":[[0,5]]}}}],["cap",{"_index":65,"t":{"445":{"position":[[0,6]]}}}],["compar",{"_index":63,"t":{"437":{"position":[[0,9]]}}}],["compos",{"_index":52,"t":{"277":{"position":[[22,7]]}}}],["configur",{"_index":34,"t":{"123":{"position":[[5,13]]},"167":{"position":[[5,13]]},"191":{"position":[[0,9]]},"209":{"position":[[5,13]]}}}],["contain",{"_index":44,"t":{"201":{"position":[[22,9]]}}}],["content",{"_index":50,"t":{"263":{"position":[[0,7]]}}}],["dapp",{"_index":21,"t":{"58":{"position":[[16,4]]},"84":{"position":[[9,5]]},"177":{"position":[[12,5]]}}}],["debug",{"_index":19,"t":{"58":{"position":[[0,5]]}}}],["decrypt",{"_index":29,"t":{"90":{"position":[[9,8]]}}}],["discov",{"_index":4,"t":{"11":{"position":[[20,8]]}}}],["discoveri",{"_index":42,"t":{"191":{"position":[[15,9]]},"249":{"position":[[4,9]]},"275":{"position":[[5,9]]}}}],["discv5",{"_index":46,"t":{"245":{"position":[[0,6]]}}}],["dn",{"_index":47,"t":{"249":{"position":[[0,3]]}}}],["doc",{"_index":58,"t":{"329":{"position":[[5,4]]}}}],["docker",{"_index":43,"t":{"201":{"position":[[15,6]]},"277":{"position":[[15,6]]}}}],["domain",{"_index":49,"t":{"253":{"position":[[8,7]]}}}],["encrypt",{"_index":28,"t":{"90":{"position":[[0,8]]}}}],["exampl",{"_index":45,"t":{"209":{"position":[[19,8]]}}}],["exchang",{"_index":53,"t":{"293":{"position":[[5,8]]}}}],["featur",{"_index":57,"t":{"317":{"position":[[9,8]]}}}],["filter",{"_index":12,"t":{"23":{"position":[[47,6]]},"37":{"position":[[12,6]]}}}],["get",{"_index":0,"t":{"1":{"position":[[0,7]]}}}],["global",{"_index":75,"t":{"539":{"position":[[22,6]]}}}],["glossari",{"_index":59,"t":{"329":{"position":[[10,8]]}}}],["incentivis",{"_index":73,"t":{"497":{"position":[[0,15]]}}}],["javascript",{"_index":23,"t":{"74":{"position":[[0,10]]}}}],["key",{"_index":71,"t":{"482":{"position":[[4,3]]}}}],["libp2p",{"_index":64,"t":{"437":{"position":[[19,6]]}}}],["light",{"_index":10,"t":{"23":{"position":[[32,5]]}}}],["manag",{"_index":13,"t":{"37":{"position":[[0,6]]}}}],["maximum",{"_index":74,"t":{"539":{"position":[[0,7]]}}}],["messag",{"_index":8,"t":{"23":{"position":[[17,8]]},"90":{"position":[[32,8]]},"102":{"position":[[9,8]]},"472":{"position":[[0,7]]}}}],["method",{"_index":39,"t":{"167":{"position":[[19,7]]}}}],["network",{"_index":48,"t":{"253":{"position":[[0,7]]},"401":{"position":[[9,7]]}}}],["node",{"_index":3,"t":{"11":{"position":[[10,5]]},"123":{"position":[[0,4]]},"167":{"position":[[0,4]]},"209":{"position":[[0,4]]},"229":{"position":[[12,4]]}}}],["nodej",{"_index":17,"t":{"43":{"position":[[19,6]]}}}],["nwaku",{"_index":37,"t":{"155":{"position":[[6,5]]},"201":{"position":[[4,5]]},"229":{"position":[[6,5]]},"277":{"position":[[4,5]]}}}],["option",{"_index":35,"t":{"123":{"position":[[19,7]]}}}],["peer",{"_index":5,"t":{"11":{"position":[[29,5]]},"191":{"position":[[10,4]]},"275":{"position":[[0,4]]},"293":{"position":[[0,4]]},"297":{"position":[[7,5]]}}}],["polici",{"_index":61,"t":{"409":{"position":[[8,6]]}}}],["postgresql",{"_index":67,"t":{"455":{"position":[[0,10]]}}}],["privaci",{"_index":60,"t":{"409":{"position":[[0,7]]}}}],["propag",{"_index":68,"t":{"472":{"position":[[8,11]]}}}],["protocol",{"_index":33,"t":{"102":{"position":[[30,8]]},"301":{"position":[[0,9]]}}}],["push",{"_index":11,"t":{"23":{"position":[[38,4]]}}}],["react",{"_index":40,"t":{"177":{"position":[[6,5]]}}}],["receiv",{"_index":7,"t":{"23":{"position":[[9,7]]}}}],["research",{"_index":62,"t":{"429":{"position":[[0,8]]},"435":{"position":[[0,8]]}}}],["retriev",{"_index":31,"t":{"102":{"position":[[0,8]]}}}],["rln",{"_index":70,"t":{"472":{"position":[[36,3]]},"482":{"position":[[0,3]]}}}],["run",{"_index":15,"t":{"43":{"position":[[0,3]]},"201":{"position":[[0,3]]},"229":{"position":[[0,3]]},"277":{"position":[[0,3]]}}}],["scaffold",{"_index":25,"t":{"84":{"position":[[0,8]]}}}],["sdk",{"_index":24,"t":{"74":{"position":[[16,3]]}}}],["secur",{"_index":56,"t":{"317":{"position":[[0,8]]}}}],["send",{"_index":6,"t":{"23":{"position":[[0,4]]}}}],["sign",{"_index":30,"t":{"90":{"position":[[22,4]]}}}],["sourc",{"_index":38,"t":{"155":{"position":[[17,6]]}}}],["start",{"_index":1,"t":{"1":{"position":[[8,7]]}}}],["static",{"_index":54,"t":{"297":{"position":[[0,6]]}}}],["store",{"_index":32,"t":{"102":{"position":[[24,5]]}}}],["subscript",{"_index":14,"t":{"37":{"position":[[19,13]]}}}],["term",{"_index":77,"t":{"547":{"position":[[0,5]]}}}],["time",{"_index":69,"t":{"472":{"position":[[20,5]]}}}],["topic",{"_index":51,"t":{"263":{"position":[[8,6]]}}}],["transport",{"_index":55,"t":{"315":{"position":[[0,10]]}}}],["us",{"_index":9,"t":{"23":{"position":[[26,5]]},"84":{"position":[[15,5]]},"102":{"position":[[18,5]]},"177":{"position":[[18,5]]},"547":{"position":[[9,3]]}}}],["waku",{"_index":20,"t":{"58":{"position":[[11,4]]},"74":{"position":[[11,4]]},"329":{"position":[[0,4]]},"401":{"position":[[4,4]]},"437":{"position":[[10,4]]},"445":{"position":[[20,4]]},"472":{"position":[[31,4]]}}}],["waku/cr",{"_index":26,"t":{"84":{"position":[[21,12]]}}}],["waku/react",{"_index":41,"t":{"177":{"position":[[24,11]]}}}],["waku/sdk",{"_index":16,"t":{"43":{"position":[[4,9]]}}}],["websocket",{"_index":22,"t":{"58":{"position":[[25,9]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"Run a Waku node","u":"/","h":"#run-a-waku-node","p":1},{"i":5,"t":"Integrate using SDKs","u":"/","h":"#integrate-using-sdks","p":1},{"i":7,"t":"Run on mobile devices","u":"/","h":"#run-on-mobile-devices","p":1},{"i":9,"t":"More integrations","u":"/","h":"#more-integrations","p":1},{"i":13,"t":"Default bootstrap method","u":"/guides/js-waku/configure-discovery","h":"#default-bootstrap-method","p":11},{"i":15,"t":"Configure static peers","u":"/guides/js-waku/configure-discovery","h":"#configure-static-peers","p":11},{"i":17,"t":"Configure DNS discovery","u":"/guides/js-waku/configure-discovery","h":"#configure-dns-discovery","p":11},{"i":19,"t":"Configure DNS discovery and static peers","u":"/guides/js-waku/configure-discovery","h":"#configure-dns-discovery-and-static-peers","p":11},{"i":21,"t":"Retrieving connected peers","u":"/guides/js-waku/configure-discovery","h":"#retrieving-connected-peers","p":11},{"i":25,"t":"Create a light node","u":"/guides/js-waku/light-send-receive","h":"#create-a-light-node","p":23},{"i":27,"t":"Connect to remote peers","u":"/guides/js-waku/light-send-receive","h":"#connect-to-remote-peers","p":23},{"i":29,"t":"Choose a content topic","u":"/guides/js-waku/light-send-receive","h":"#choose-a-content-topic","p":23},{"i":31,"t":"Create a message structure","u":"/guides/js-waku/light-send-receive","h":"#create-a-message-structure","p":23},{"i":33,"t":"Send messages using light push","u":"/guides/js-waku/light-send-receive","h":"#send-messages-using-light-push","p":23},{"i":35,"t":"Receive messages using filter","u":"/guides/js-waku/light-send-receive","h":"#receive-messages-using-filter","p":23},{"i":39,"t":"Overview","u":"/guides/js-waku/manage-filter","h":"#overview","p":37},{"i":41,"t":"Pinging filter subscriptions","u":"/guides/js-waku/manage-filter","h":"#pinging-filter-subscriptions","p":37},{"i":45,"t":"Limitations","u":"/guides/js-waku/run-waku-nodejs","h":"#limitations","p":43},{"i":46,"t":"API compatibility","u":"/guides/js-waku/run-waku-nodejs","h":"#api-compatibility","p":43},{"i":48,"t":"Protocol implementation","u":"/guides/js-waku/run-waku-nodejs","h":"#protocol-implementation","p":43},{"i":50,"t":"Codebase complexity","u":"/guides/js-waku/run-waku-nodejs","h":"#codebase-complexity","p":43},{"i":52,"t":"Browser-specific protocols","u":"/guides/js-waku/run-waku-nodejs","h":"#browser-specific-protocols","p":43},{"i":54,"t":"Recommendations","u":"/guides/js-waku/run-waku-nodejs","h":"#recommendations","p":43},{"i":56,"t":"Future developments","u":"/guides/js-waku/run-waku-nodejs","h":"#future-developments","p":43},{"i":60,"t":"Enabling debug logs","u":"/guides/js-waku/debug-waku-dapp","h":"#enabling-debug-logs","p":58},{"i":62,"t":"NodeJS environments","u":"/guides/js-waku/debug-waku-dapp","h":"#nodejs-environments","p":58},{"i":64,"t":"Browser environments","u":"/guides/js-waku/debug-waku-dapp","h":"#browser-environments","p":58},{"i":66,"t":"Checking WebSocket setup","u":"/guides/js-waku/debug-waku-dapp","h":"#checking-websocket-setup","p":58},{"i":68,"t":"Try Websocat for connection","u":"/guides/js-waku/debug-waku-dapp","h":"#try-websocat-for-connection","p":58},{"i":70,"t":"Check certificate validity","u":"/guides/js-waku/debug-waku-dapp","h":"#check-certificate-validity","p":58},{"i":72,"t":"Check WebSocket port accessibility","u":"/guides/js-waku/debug-waku-dapp","h":"#check-websocket-port-accessibility","p":58},{"i":76,"t":"Installation","u":"/guides/js-waku/","h":"#installation","p":74},{"i":78,"t":"Message structure","u":"/guides/js-waku/","h":"#message-structure","p":74},{"i":80,"t":"Getting started","u":"/guides/js-waku/","h":"#getting-started","p":74},{"i":82,"t":"Get help and report issues","u":"/guides/js-waku/","h":"#get-help-and-report-issues","p":74},{"i":86,"t":"Usage","u":"/guides/js-waku/use-waku-create-app","h":"#usage","p":84},{"i":88,"t":"Contributing new templates","u":"/guides/js-waku/use-waku-create-app","h":"#contributing-new-templates","p":84},{"i":92,"t":"Installation","u":"/guides/js-waku/message-encryption","h":"#installation","p":90},{"i":94,"t":"Symmetric encryption","u":"/guides/js-waku/message-encryption","h":"#symmetric-encryption","p":90},{"i":96,"t":"ECIES encryption","u":"/guides/js-waku/message-encryption","h":"#ecies-encryption","p":90},{"i":98,"t":"Signing encrypted messages","u":"/guides/js-waku/message-encryption","h":"#signing-encrypted-messages","p":90},{"i":100,"t":"Storing encryption keys","u":"/guides/js-waku/message-encryption","h":"#storing-encryption-keys","p":90},{"i":104,"t":"Create a light node","u":"/guides/js-waku/store-retrieve-messages","h":"#create-a-light-node","p":102},{"i":106,"t":"Connect to store peers","u":"/guides/js-waku/store-retrieve-messages","h":"#connect-to-store-peers","p":102},{"i":108,"t":"Choose a content topic","u":"/guides/js-waku/store-retrieve-messages","h":"#choose-a-content-topic","p":102},{"i":110,"t":"Retrieve messages","u":"/guides/js-waku/store-retrieve-messages","h":"#retrieve-messages","p":102},{"i":112,"t":"queryWithOrderedCallback","u":"/guides/js-waku/store-retrieve-messages","h":"#querywithorderedcallback","p":102},{"i":114,"t":"queryGenerator","u":"/guides/js-waku/store-retrieve-messages","h":"#querygenerator","p":102},{"i":116,"t":"Store query options","u":"/guides/js-waku/store-retrieve-messages","h":"#store-query-options","p":102},{"i":117,"t":"pageDirection","u":"/guides/js-waku/store-retrieve-messages","h":"#pagedirection","p":102},{"i":119,"t":"cursor","u":"/guides/js-waku/store-retrieve-messages","h":"#cursor","p":102},{"i":121,"t":"timeFilter","u":"/guides/js-waku/store-retrieve-messages","h":"#timefilter","p":102},{"i":125,"t":"Application-level config","u":"/guides/nwaku/config-options","h":"#application-level-config","p":123},{"i":127,"t":"Log config","u":"/guides/nwaku/config-options","h":"#log-config","p":123},{"i":129,"t":"General node config","u":"/guides/nwaku/config-options","h":"#general-node-config","p":123},{"i":131,"t":"DNS addrs config","u":"/guides/nwaku/config-options","h":"#dns-addrs-config","p":123},{"i":133,"t":"Relay config","u":"/guides/nwaku/config-options","h":"#relay-config","p":123},{"i":135,"t":"Store and message store config","u":"/guides/nwaku/config-options","h":"#store-and-message-store-config","p":123},{"i":137,"t":"Filter config","u":"/guides/nwaku/config-options","h":"#filter-config","p":123},{"i":139,"t":"Light push config","u":"/guides/nwaku/config-options","h":"#light-push-config","p":123},{"i":141,"t":"JSON-RPC config","u":"/guides/nwaku/config-options","h":"#json-rpc-config","p":123},{"i":143,"t":"REST HTTP config","u":"/guides/nwaku/config-options","h":"#rest-http-config","p":123},{"i":145,"t":"Metrics config","u":"/guides/nwaku/config-options","h":"#metrics-config","p":123},{"i":147,"t":"DNS discovery config","u":"/guides/nwaku/config-options","h":"#dns-discovery-config","p":123},{"i":149,"t":"Discv5 config","u":"/guides/nwaku/config-options","h":"#discv5-config","p":123},{"i":151,"t":"Waku peer exchange config","u":"/guides/nwaku/config-options","h":"#waku-peer-exchange-config","p":123},{"i":153,"t":"WebSocket config","u":"/guides/nwaku/config-options","h":"#websocket-config","p":123},{"i":157,"t":"Prerequisites","u":"/guides/nwaku/build-source","h":"#prerequisites","p":155},{"i":159,"t":"Clone the repository","u":"/guides/nwaku/build-source","h":"#clone-the-repository","p":155},{"i":161,"t":"Build the binary","u":"/guides/nwaku/build-source","h":"#build-the-binary","p":155},{"i":163,"t":"Run the binary","u":"/guides/nwaku/build-source","h":"#run-the-binary","p":155},{"i":165,"t":"Run test suite","u":"/guides/nwaku/build-source","h":"#run-test-suite","p":155},{"i":169,"t":"Command line options","u":"/guides/nwaku/config-methods","h":"#command-line-options","p":167},{"i":171,"t":"Environment variables","u":"/guides/nwaku/config-methods","h":"#environment-variables","p":167},{"i":173,"t":"Configuration files","u":"/guides/nwaku/config-methods","h":"#configuration-files","p":167},{"i":175,"t":"Default configuration values","u":"/guides/nwaku/config-methods","h":"#default-configuration-values","p":167},{"i":179,"t":"Install the dependencies","u":"/guides/js-waku/use-waku-react","h":"#install-the-dependencies","p":177},{"i":181,"t":"Initialise the Waku provider","u":"/guides/js-waku/use-waku-react","h":"#initialise-the-waku-provider","p":177},{"i":183,"t":"Build the application interface","u":"/guides/js-waku/use-waku-react","h":"#build-the-application-interface","p":177},{"i":185,"t":"Send messages using light push","u":"/guides/js-waku/use-waku-react","h":"#send-messages-using-light-push","p":177},{"i":187,"t":"Receive messages using filter","u":"/guides/js-waku/use-waku-react","h":"#receive-messages-using-filter","p":177},{"i":189,"t":"Retrieve messages using store","u":"/guides/js-waku/use-waku-react","h":"#retrieve-messages-using-store","p":177},{"i":193,"t":"Configure static peers","u":"/guides/nwaku/configure-discovery","h":"#configure-static-peers","p":191},{"i":195,"t":"Configure DNS discovery","u":"/guides/nwaku/configure-discovery","h":"#configure-dns-discovery","p":191},{"i":197,"t":"Configure Discv5","u":"/guides/nwaku/configure-discovery","h":"#configure-discv5","p":191},{"i":199,"t":"Configure peer exchange","u":"/guides/nwaku/configure-discovery","h":"#configure-peer-exchange","p":191},{"i":203,"t":"Prerequisites","u":"/guides/nwaku/run-docker","h":"#prerequisites","p":201},{"i":205,"t":"Get Docker image","u":"/guides/nwaku/run-docker","h":"#get-docker-image","p":201},{"i":207,"t":"Run Docker container","u":"/guides/nwaku/run-docker","h":"#run-docker-container","p":201},{"i":211,"t":"Connect to other peers","u":"/guides/nwaku/configure-nwaku","h":"#connect-to-other-peers","p":209},{"i":213,"t":"Configure a domain name","u":"/guides/nwaku/configure-nwaku","h":"#configure-a-domain-name","p":209},{"i":215,"t":"Configure store protocol and message store","u":"/guides/nwaku/configure-nwaku","h":"#configure-store-protocol-and-message-store","p":209},{"i":217,"t":"Generate and configure a node key","u":"/guides/nwaku/configure-nwaku","h":"#generate-and-configure-a-node-key","p":209},{"i":219,"t":"Configure WebSocket transport","u":"/guides/nwaku/configure-nwaku","h":"#configure-websocket-transport","p":209},{"i":221,"t":"Configure REST API server","u":"/guides/nwaku/configure-nwaku","h":"#configure-rest-api-server","p":209},{"i":223,"t":"Configure filter protocol","u":"/guides/nwaku/configure-nwaku","h":"#configure-filter-protocol","p":209},{"i":225,"t":"Configure light push protocol","u":"/guides/nwaku/configure-nwaku","h":"#configure-light-push-protocol","p":209},{"i":227,"t":"Run nwaku behind a reverse proxy","u":"/guides/nwaku/configure-nwaku","h":"#run-nwaku-behind-a-reverse-proxy","p":209},{"i":231,"t":"Get the node binary","u":"/guides/nwaku/run-node","h":"#get-the-node-binary","p":229},{"i":233,"t":"Run the node","u":"/guides/nwaku/run-node","h":"#run-the-node","p":229},{"i":235,"t":"Bootstrap the node","u":"/guides/nwaku/run-node","h":"#bootstrap-the-node","p":229},{"i":237,"t":"Interact with the node","u":"/guides/nwaku/run-node","h":"#interact-with-the-node","p":229},{"i":239,"t":"Find the node addresses","u":"/guides/nwaku/run-node","h":"#find-the-node-addresses","p":229},{"i":241,"t":"Listening addresses","u":"/guides/nwaku/run-node","h":"#listening-addresses","p":229},{"i":243,"t":"Discoverable ENR addresses","u":"/guides/nwaku/run-node","h":"#discoverable-enr-addresses","p":229},{"i":247,"t":"Overview","u":"/learn/concepts/discv5","h":"#overview","p":245},{"i":251,"t":"Overview","u":"/learn/concepts/dns-discovery","h":"#overview","p":249},{"i":255,"t":"Discovery domain","u":"/learn/concepts/network-domains","h":"#discovery-domain","p":253},{"i":257,"t":"Gossip domain","u":"/learn/concepts/network-domains","h":"#gossip-domain","p":253},{"i":259,"t":"Request/response domain","u":"/learn/concepts/network-domains","h":"#requestresponse-domain","p":253},{"i":261,"t":"Overview of protocol interaction","u":"/learn/concepts/network-domains","h":"#overview-of-protocol-interaction","p":253},{"i":265,"t":"Naming format","u":"/learn/concepts/content-topics","h":"#naming-format","p":263},{"i":267,"t":"Naming considerations","u":"/learn/concepts/content-topics","h":"#naming-considerations","p":263},{"i":269,"t":"Protocols disclose content topics to peers","u":"/learn/concepts/content-topics","h":"#protocols-disclose-content-topics-to-peers","p":263},{"i":271,"t":"Increasing k-anonymity preserves user anonymity","u":"/learn/concepts/content-topics","h":"#increasing-k-anonymity-preserves-user-anonymity","p":263},{"i":273,"t":"Creating buckets help in distributing traffic","u":"/learn/concepts/content-topics","h":"#creating-buckets-help-in-distributing-traffic","p":263},{"i":279,"t":"Prerequisites","u":"/guides/nwaku/run-docker-compose","h":"#prerequisites","p":277},{"i":281,"t":"Clone the repository","u":"/guides/nwaku/run-docker-compose","h":"#clone-the-repository","p":277},{"i":283,"t":"Configure the setup","u":"/guides/nwaku/run-docker-compose","h":"#configure-the-setup","p":277},{"i":285,"t":"Register for RLN membership","u":"/guides/nwaku/run-docker-compose","h":"#register-for-rln-membership","p":277},{"i":287,"t":"Run the node","u":"/guides/nwaku/run-docker-compose","h":"#run-the-node","p":277},{"i":289,"t":"Interact with the node","u":"/guides/nwaku/run-docker-compose","h":"#interact-with-the-node","p":277},{"i":291,"t":"Use the REST API","u":"/guides/nwaku/run-docker-compose","h":"#use-the-rest-api","p":277},{"i":295,"t":"Overview","u":"/learn/concepts/peer-exchange","h":"#overview","p":293},{"i":299,"t":"Overview","u":"/learn/concepts/static-peers","h":"#overview","p":297},{"i":303,"t":"Relay","u":"/learn/concepts/protocols","h":"#relay","p":301},{"i":305,"t":"RLN relay","u":"/learn/concepts/protocols","h":"#rln-relay","p":301},{"i":307,"t":"Filter","u":"/learn/concepts/protocols","h":"#filter","p":301},{"i":309,"t":"Store","u":"/learn/concepts/protocols","h":"#store","p":301},{"i":311,"t":"Light push","u":"/learn/concepts/protocols","h":"#light-push","p":301},{"i":313,"t":"Waku message","u":"/learn/concepts/protocols","h":"#waku-message","p":301},{"i":319,"t":"Pseudonymity","u":"/learn/security-features","h":"#pseudonymity","p":317},{"i":321,"t":"Anonymity/unlinkability","u":"/learn/security-features","h":"#anonymityunlinkability","p":317},{"i":323,"t":"Spam protection","u":"/learn/security-features","h":"#spam-protection","p":317},{"i":325,"t":"Data confidentiality, integrity, and authenticity","u":"/learn/security-features","h":"#data-confidentiality-integrity-and-authenticity","p":317},{"i":327,"t":"Security considerations","u":"/learn/security-features","h":"#security-considerations","p":317},{"i":331,"t":"Bootstrapping","u":"/learn/glossary","h":"#bootstrapping","p":329},{"i":333,"t":"Content topic","u":"/learn/glossary","h":"#content-topic","p":329},{"i":335,"t":"Dappnode","u":"/learn/glossary","h":"#dappnode","p":329},{"i":337,"t":"Discv5","u":"/learn/glossary","h":"#discv5","p":329},{"i":339,"t":"DNS discovery","u":"/learn/glossary","h":"#dns-discovery","p":329},{"i":341,"t":"ENR","u":"/learn/glossary","h":"#enr","p":329},{"i":343,"t":"Filter","u":"/learn/glossary","h":"#filter","p":329},{"i":345,"t":"GossipSub","u":"/learn/glossary","h":"#gossipsub","p":329},{"i":347,"t":"Libp2p","u":"/learn/glossary","h":"#libp2p","p":329},{"i":349,"t":"Light node","u":"/learn/glossary","h":"#light-node","p":329},{"i":351,"t":"Light push","u":"/learn/glossary","h":"#light-push","p":329},{"i":353,"t":"Mostly offline","u":"/learn/glossary","h":"#mostly-offline","p":329},{"i":355,"t":"Node","u":"/learn/glossary","h":"#node","p":329},{"i":357,"t":"Node key","u":"/learn/glossary","h":"#node-key","p":329},{"i":359,"t":"Out-of-band","u":"/learn/glossary","h":"#out-of-band","p":329},{"i":361,"t":"Payload","u":"/learn/glossary","h":"#payload","p":329},{"i":363,"t":"Peer","u":"/learn/glossary","h":"#peer","p":329},{"i":365,"t":"Peer discovery","u":"/learn/glossary","h":"#peer-discovery","p":329},{"i":367,"t":"Peer exchange","u":"/learn/glossary","h":"#peer-exchange","p":329},{"i":369,"t":"Peer ID","u":"/learn/glossary","h":"#peer-id","p":329},{"i":371,"t":"Protocol","u":"/learn/glossary","h":"#protocol","p":329},{"i":373,"t":"Pub/Sub","u":"/learn/glossary","h":"#pubsub","p":329},{"i":375,"t":"Pub/Sub topic","u":"/learn/glossary","h":"#pubsub-topic","p":329},{"i":377,"t":"Rate limit nullifiers","u":"/learn/glossary","h":"#rate-limit-nullifiers","p":329},{"i":379,"t":"Relay","u":"/learn/glossary","h":"#relay","p":329},{"i":381,"t":"Resource-limited","u":"/learn/glossary","h":"#resource-limited","p":329},{"i":383,"t":"RLN relay","u":"/learn/glossary","h":"#rln-relay","p":329},{"i":385,"t":"SDK","u":"/learn/glossary","h":"#sdk","p":329},{"i":387,"t":"Store","u":"/learn/glossary","h":"#store","p":329},{"i":389,"t":"Transport","u":"/learn/glossary","h":"#transport","p":329},{"i":391,"t":"Waku","u":"/learn/glossary","h":"#waku","p":329},{"i":393,"t":"Waku message","u":"/learn/glossary","h":"#waku-message","p":329},{"i":395,"t":"Waku message payload encryption","u":"/learn/glossary","h":"#waku-message-payload-encryption","p":329},{"i":397,"t":"Waku network","u":"/learn/glossary","h":"#waku-network","p":329},{"i":399,"t":"Waku noise","u":"/learn/glossary","h":"#waku-noise","p":329},{"i":403,"t":"Why join the Waku network?","u":"/learn/waku-network","h":"#why-join-the-waku-network","p":401},{"i":405,"t":"Prerequisites","u":"/learn/waku-network","h":"#prerequisites","p":401},{"i":407,"t":"Running a Waku network node","u":"/learn/waku-network","h":"#running-a-waku-network-node","p":401},{"i":411,"t":"1) Who we are","u":"/privacy-policy","h":"#1-who-we-are","p":409},{"i":413,"t":"2) We limit the collection and processing of personal data from your use of the Website","u":"/privacy-policy","h":"#2-we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website","p":409},{"i":415,"t":"3) Third party processing of personal data","u":"/privacy-policy","h":"#3-third-party-processing-of-personal-data","p":409},{"i":417,"t":"4) Security measures we take in respect of the Website","u":"/privacy-policy","h":"#4-security-measures-we-take-in-respect-of-the-website","p":409},{"i":419,"t":"5) Exporting data outside the European Union and Switzerland","u":"/privacy-policy","h":"#5-exporting-data-outside-the-european-union-and-switzerland","p":409},{"i":421,"t":"6) Your choices and rights","u":"/privacy-policy","h":"#6-your-choices-and-rights","p":409},{"i":423,"t":"7) Third party links","u":"/privacy-policy","h":"#7-third-party-links","p":409},{"i":425,"t":"8) This Privacy Policy might change","u":"/privacy-policy","h":"#8-this-privacy-policy-might-change","p":409},{"i":427,"t":"9) Contact information","u":"/privacy-policy","h":"#9-contact-information","p":409},{"i":431,"t":"Economic spam resistance","u":"/learn/research","h":"#economic-spam-resistance","p":429},{"i":433,"t":"Prevention of denial of service (DoS) and node incentivisation","u":"/learn/research","h":"#prevention-of-denial-of-service-dos-and-node-incentivisation","p":429},{"i":439,"t":"Waku as a service network","u":"/learn/waku-vs-libp2p","h":"#waku-as-a-service-network","p":437},{"i":441,"t":"Waku as a turnkey solution","u":"/learn/waku-vs-libp2p","h":"#waku-as-a-turnkey-solution","p":437},{"i":443,"t":"Economic spam protection","u":"/learn/waku-vs-libp2p","h":"#economic-spam-protection","p":437},{"i":447,"t":"Problem","u":"/research/research-and-studies/capped-bandwidth","h":"#problem","p":445},{"i":449,"t":"Current approach","u":"/research/research-and-studies/capped-bandwidth","h":"#current-approach","p":445},{"i":451,"t":"Solution","u":"/research/research-and-studies/capped-bandwidth","h":"#solution","p":445},{"i":453,"t":"TLDR","u":"/research/research-and-studies/capped-bandwidth","h":"#tldr","p":445},{"i":456,"t":"Introduction","u":"/research/benchmarks/postgres-adoption","h":"#introduction","p":455},{"i":458,"t":"How to connect the nwaku to Postgres","u":"/research/benchmarks/postgres-adoption","h":"#how-to-connect-the-nwaku-to-postgres","p":455},{"i":460,"t":"Examples of nwaku using Postgres","u":"/research/benchmarks/postgres-adoption","h":"#examples-of-nwaku-using-postgres","p":455},{"i":462,"t":"Stress tests","u":"/research/benchmarks/postgres-adoption","h":"#stress-tests","p":455},{"i":464,"t":"Insert test results","u":"/research/benchmarks/postgres-adoption","h":"#insert-test-results","p":455},{"i":466,"t":"Query test results (jmeter)","u":"/research/benchmarks/postgres-adoption","h":"#query-test-results-jmeter","p":455},{"i":468,"t":"Query test results (only Store protocol)","u":"/research/benchmarks/postgres-adoption","h":"#query-test-results-only-store-protocol","p":455},{"i":470,"t":"Multiple nodes & one single database","u":"/research/benchmarks/postgres-adoption","h":"#multiple-nodes--one-single-database","p":455},{"i":474,"t":"Introduction","u":"/research/research-and-studies/message-propagation","h":"#introduction","p":472},{"i":476,"t":"Theory","u":"/research/research-and-studies/message-propagation","h":"#theory","p":472},{"i":478,"t":"Simulations","u":"/research/research-and-studies/message-propagation","h":"#simulations","p":472},{"i":480,"t":"Results","u":"/research/research-and-studies/message-propagation","h":"#results","p":472},{"i":483,"t":"Introduction","u":"/research/research-and-studies/rln-key-benchmarks","h":"#introduction","p":482},{"i":485,"t":"TLDR:","u":"/research/research-and-studies/rln-key-benchmarks","h":"#tldr","p":482},{"i":487,"t":"Proof generation times","u":"/research/research-and-studies/rln-key-benchmarks","h":"#proof-generation-times","p":482},{"i":489,"t":"Proof verification times","u":"/research/research-and-studies/rln-key-benchmarks","h":"#proof-verification-times","p":482},{"i":491,"t":"Spam protection","u":"/research/research-and-studies/rln-key-benchmarks","h":"#spam-protection","p":482},{"i":493,"t":"RLN tree sync","u":"/research/research-and-studies/rln-key-benchmarks","h":"#rln-tree-sync","p":482},{"i":495,"t":"Performance relay vs. rln-relay","u":"/research/research-and-studies/rln-key-benchmarks","h":"#performance-relay-vs-rln-relay","p":482},{"i":499,"t":"Incentivisation in decentralised networks","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":501,"t":"Incentivisation tools","u":"/research/research-and-studies/incentivisation","h":"#incentivisation-tools","p":497},{"i":503,"t":"Prior work","u":"/research/research-and-studies/incentivisation","h":"#prior-work","p":497},{"i":505,"t":"Early P2P file-sharing","u":"/research/research-and-studies/incentivisation","h":"#early-p2p-file-sharing","p":497},{"i":507,"t":"Blockchains","u":"/research/research-and-studies/incentivisation","h":"#blockchains","p":497},{"i":509,"t":"Decentralised storage","u":"/research/research-and-studies/incentivisation","h":"#decentralised-storage","p":497},{"i":511,"t":"Waku background","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":513,"t":"Waku i13n challenges","u":"/research/research-and-studies/incentivisation","h":"#waku-i13n-challenges","p":497},{"i":515,"t":"Waku Store","u":"/research/research-and-studies/incentivisation","h":"#waku-store","p":497},{"i":517,"t":"Waku Store incentivisation","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":519,"t":"Pricing","u":"/research/research-and-studies/incentivisation","h":"#pricing","p":497},{"i":521,"t":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work","p":497},{"i":523,"t":"Payment","u":"/research/research-and-studies/incentivisation","h":"#payment","p":497},{"i":525,"t":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work-1","p":497},{"i":527,"t":"Reputation","u":"/research/research-and-studies/incentivisation","h":"#reputation","p":497},{"i":529,"t":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work-2","p":497},{"i":531,"t":"Results cross-checking","u":"/research/research-and-studies/incentivisation","h":"#results-cross-checking","p":497},{"i":533,"t":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work-3","p":497},{"i":535,"t":"Evaluation","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":537,"t":"Longer-term future work","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":541,"t":"Introduction","u":"/research/research-and-studies/maximum-bandwidth","h":"#introduction","p":539},{"i":543,"t":"Bandwidth availability and usage","u":"/research/research-and-studies/maximum-bandwidth","h":"#bandwidth-availability-and-usage","p":539},{"i":545,"t":"Selecting a maximum bandwidth","u":"/research/research-and-studies/maximum-bandwidth","h":"#selecting-a-maximum-bandwidth","p":539},{"i":549,"t":"1) Who we are","u":"/terms","h":"#1-who-we-are","p":547},{"i":551,"t":"2) Disclaimers","u":"/terms","h":"#2-disclaimers","p":547},{"i":553,"t":"3) Forward looking statements","u":"/terms","h":"#3-forward-looking-statements","p":547},{"i":555,"t":"4) Intellectual property rights","u":"/terms","h":"#4-intellectual-property-rights","p":547},{"i":557,"t":"5) Third-party website links","u":"/terms","h":"#5-third-party-website-links","p":547},{"i":559,"t":"6) Limitation of liability","u":"/terms","h":"#6-limitation-of-liability","p":547},{"i":561,"t":"7) Indemnity","u":"/terms","h":"#7-indemnity","p":547},{"i":563,"t":"8) Modifications","u":"/terms","h":"#8-modifications","p":547},{"i":565,"t":"9) Governing law","u":"/terms","h":"#9-governing-law","p":547},{"i":567,"t":"10) Disputes","u":"/terms","h":"#10-disputes","p":547},{"i":569,"t":"11) About these Website Terms of Use","u":"/terms","h":"#11-about-these-website-terms-of-use","p":547}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,2.989,1,2.428,2,2.377]],["t/5",[3,3.906,4,2.897,5,4.215]],["t/7",[0,2.989,6,4.684,7,4.684]],["t/9",[3,4.608,8,5.527]],["t/13",[9,4.215,10,3.906,11,4.684]],["t/15",[12,2.428,13,3.906,14,2.6]],["t/17",[12,2.428,15,3.337,16,3.206]],["t/19",[12,1.861,13,2.993,14,1.993,15,2.558,16,2.457]],["t/21",[14,2.6,17,3.906,18,3.337]],["t/25",[2,2.377,19,3.675,20,2.989]],["t/27",[14,2.6,18,3.337,21,4.684]],["t/29",[22,4.215,23,3.675,24,3.491]],["t/31",[19,3.675,25,2.6,26,4.215]],["t/33",[4,2.22,20,2.291,25,1.993,27,3.23,28,2.558]],["t/35",[4,2.514,25,2.257,29,3.658,30,2.782]],["t/39",[31,4.801]],["t/41",[30,3.206,32,4.684,33,4.684]],["t/45",[34,5.022]],["t/46",[35,4.608,36,5.527]],["t/48",[37,3.526,38,5.527]],["t/50",[39,5.527,40,5.527]],["t/52",[37,2.989,41,4.215,42,4.684]],["t/54",[43,6.738]],["t/56",[44,3.938,45,5.527]],["t/60",[46,4.684,47,4.684,48,4.215]],["t/62",[49,5.527,50,4.608]],["t/64",[41,4.973,50,4.608]],["t/66",[51,3.675,52,3.675,53,4.215]],["t/68",[18,3.337,54,4.684,55,4.684]],["t/70",[51,3.675,56,4.684,57,4.684]],["t/72",[51,3.189,52,3.189,58,4.065,59,4.065]],["t/76",[60,5.619]],["t/78",[25,3.068,26,4.973]],["t/80",[61,5.527,62,5.527]],["t/82",[63,4.215,64,4.684,65,4.684]],["t/86",[66,6.063]],["t/88",[67,4.684,68,4.684,69,4.684]],["t/92",[60,5.619]],["t/94",[70,5.527,71,4.119]],["t/96",[71,4.119,72,5.527]],["t/98",[25,2.6,71,3.491,73,4.684]],["t/100",[71,3.491,74,2.813,75,3.906]],["t/104",[2,2.377,19,3.675,20,2.989]],["t/106",[14,2.6,18,3.337,74,2.813]],["t/108",[22,4.215,23,3.675,24,3.491]],["t/110",[17,4.608,25,3.068]],["t/112",[76,6.738]],["t/114",[77,6.738]],["t/116",[74,2.813,78,3.906,79,4.215]],["t/117",[80,6.738]],["t/119",[81,6.738]],["t/121",[82,6.738]],["t/125",[83,4.215,84,4.684,85,2.539]],["t/127",[48,4.973,85,2.996]],["t/129",[2,2.377,85,2.539,86,3.906]],["t/131",[15,3.337,85,2.539,87,4.684]],["t/133",[85,2.996,88,3.938]],["t/135",[25,2.257,74,3.584,85,2.203]],["t/137",[30,3.782,85,2.996]],["t/139",[20,2.989,28,3.337,85,2.539]],["t/141",[85,2.539,89,4.684,90,4.684]],["t/143",[85,2.539,91,3.906,92,4.684]],["t/145",[85,2.996,93,5.527]],["t/147",[15,3.337,16,3.206,85,2.539]],["t/149",[85,2.996,94,4.608]],["t/151",[1,2.107,14,2.257,85,2.203,95,3.389]],["t/153",[52,4.336,85,2.996]],["t/157",[96,5.287]],["t/159",[97,4.973,98,4.973]],["t/161",[99,4.973,100,4.608]],["t/163",[0,3.526,100,4.608]],["t/165",[0,2.989,101,3.491,102,4.684]],["t/169",[79,4.215,103,4.684,104,4.684]],["t/171",[50,4.608,105,5.527]],["t/173",[12,2.864,106,4.973]],["t/175",[9,4.215,12,2.428,107,4.684]],["t/179",[60,4.608,108,5.527]],["t/181",[1,2.428,109,4.684,110,4.684]],["t/183",[83,4.215,99,4.215,111,4.684]],["t/185",[4,2.22,20,2.291,25,1.993,27,3.23,28,2.558]],["t/187",[4,2.514,25,2.257,29,3.658,30,2.782]],["t/189",[4,2.514,17,3.389,25,2.257,74,2.441]],["t/193",[12,2.428,13,3.906,14,2.6]],["t/195",[12,2.428,15,3.337,16,3.206]],["t/197",[12,2.864,94,4.608]],["t/199",[12,2.428,14,2.6,95,3.906]],["t/203",[96,5.287]],["t/205",[112,4.973,113,5.527]],["t/207",[0,2.989,112,4.215,114,4.684]],["t/211",[14,3.068,18,3.938]],["t/213",[12,2.428,115,3.675,116,3.906]],["t/215",[12,1.861,25,1.993,37,2.291,74,3.267]],["t/217",[2,2.062,12,2.107,75,3.389,86,3.389]],["t/219",[12,2.428,52,3.675,117,4.215]],["t/221",[12,2.107,35,3.389,91,3.389,118,4.065]],["t/223",[12,2.428,30,3.206,37,2.989]],["t/225",[12,2.107,20,2.594,28,2.896,37,2.594]],["t/227",[0,2.291,119,2.993,120,3.59,121,3.59,122,3.59]],["t/231",[2,2.804,100,4.608]],["t/233",[0,3.526,2,2.804]],["t/235",[2,2.804,10,4.608]],["t/237",[2,2.804,123,4.608]],["t/239",[2,2.377,124,4.684,125,3.906]],["t/241",[125,4.608,126,5.527]],["t/243",[125,3.906,127,4.684,128,4.215]],["t/247",[31,4.801]],["t/251",[31,4.801]],["t/255",[16,3.782,115,4.336]],["t/257",[115,4.336,129,5.527]],["t/259",[115,4.336,130,5.527]],["t/261",[31,3.337,37,2.989,123,3.906]],["t/265",[116,4.608,131,5.527]],["t/267",[116,4.608,132,4.973]],["t/269",[14,1.993,23,2.817,24,2.675,37,2.291,133,3.59]],["t/271",[134,3.214,135,3.214,136,4.997,137,3.214,138,3.214]],["t/273",[19,2.817,63,3.23,139,3.59,140,3.59,141,3.59]],["t/279",[96,5.287]],["t/281",[97,4.973,98,4.973]],["t/283",[12,2.864,53,4.973]],["t/285",[142,4.684,143,3.491,144,4.684]],["t/287",[0,3.526,2,2.804]],["t/289",[2,2.804,123,4.608]],["t/291",[4,2.897,35,3.906,91,3.906]],["t/295",[31,4.801]],["t/299",[31,4.801]],["t/303",[88,4.801]],["t/305",[88,3.938,143,4.119]],["t/307",[30,4.612]],["t/309",[74,4.047]],["t/311",[20,3.526,28,3.938]],["t/313",[1,2.864,25,3.068]],["t/319",[145,6.738]],["t/321",[146,6.738]],["t/323",[147,4.336,148,4.608]],["t/325",[3,3.389,149,3.189,150,4.065,151,4.065]],["t/327",[132,4.973,152,4.973]],["t/331",[10,5.619]],["t/333",[23,4.336,24,4.119]],["t/335",[153,6.738]],["t/337",[94,5.619]],["t/339",[15,3.938,16,3.782]],["t/341",[128,6.063]],["t/343",[30,4.612]],["t/345",[154,6.738]],["t/347",[155,6.738]],["t/349",[2,2.804,20,3.526]],["t/351",[20,3.526,28,3.938]],["t/353",[156,5.527,157,5.527]],["t/355",[2,3.419]],["t/357",[2,2.804,75,4.608]],["t/359",[158,5.527,159,5.527]],["t/361",[160,6.063]],["t/363",[14,3.741]],["t/365",[14,3.068,16,3.782]],["t/367",[14,3.068,95,4.608]],["t/369",[14,3.068,161,5.527]],["t/371",[37,4.299]],["t/373",[162,6.063]],["t/375",[24,4.119,162,4.973]],["t/377",[34,3.491,163,4.684,164,4.684]],["t/379",[88,4.801]],["t/381",[34,4.119,165,5.527]],["t/383",[88,3.938,143,4.119]],["t/385",[5,6.063]],["t/387",[74,4.047]],["t/389",[117,6.063]],["t/391",[1,3.492]],["t/393",[1,2.864,25,3.068]],["t/395",[1,2.107,25,2.257,71,3.029,160,3.658]],["t/397",[1,2.864,166,4.119]],["t/399",[1,2.864,167,5.527]],["t/403",[1,2.428,166,3.491,168,4.684]],["t/405",[96,5.287]],["t/407",[0,2.594,1,2.107,2,2.062,166,3.029]],["t/411",[169,6.063]],["t/413",[4,1.644,34,1.981,149,2.086,170,2.392,171,2.658,172,2.392,173,2.392,174,2.086]],["t/415",[149,2.522,172,2.892,173,2.892,175,2.892,176,2.68,177,2.68]],["t/417",[152,2.892,174,2.522,178,2.892,179,3.214,180,3.214,181,3.214]],["t/419",[149,2.283,182,2.619,183,2.91,184,2.91,185,2.91,186,2.91,187,2.91]],["t/421",[188,4.215,189,4.684,190,4.215]],["t/423",[176,3.389,177,3.389,191,3.658,192,3.658]],["t/425",[193,3.658,194,4.065,195,4.065,196,4.065]],["t/427",[197,4.215,198,4.684,199,4.684]],["t/431",[147,3.675,200,4.215,201,4.684]],["t/433",[2,1.631,202,3.214,203,3.214,204,2.892,205,3.214,206,2.522]],["t/439",[1,2.428,166,3.491,204,4.215]],["t/441",[1,2.428,207,4.684,208,4.215]],["t/443",[147,3.675,148,3.906,200,4.215]],["t/447",[209,6.738]],["t/449",[210,5.527,211,5.527]],["t/451",[208,6.063]],["t/453",[212,6.063]],["t/456",[213,5.287]],["t/458",[18,3.337,119,3.906,214,4.215]],["t/460",[4,2.514,119,3.389,214,3.658,215,4.065]],["t/462",[101,4.119,216,5.527]],["t/464",[101,3.491,217,4.684,218,3.491]],["t/466",[78,3.389,101,3.029,218,3.029,219,4.065]],["t/468",[37,2.291,74,2.156,78,2.993,101,2.675,218,2.675]],["t/470",[2,1.631,220,3.214,221,3.214,222,3.214,223,3.214,224,3.214]],["t/474",[213,5.287]],["t/476",[225,6.738]],["t/478",[226,6.738]],["t/480",[218,5.022]],["t/483",[213,5.287]],["t/485",[212,6.063]],["t/487",[86,3.906,227,4.215,228,4.215]],["t/489",[227,4.215,228,4.215,229,4.684]],["t/491",[147,4.336,148,4.608]],["t/493",[143,3.491,230,4.684,231,4.684]],["t/495",[88,3.875,143,2.675,232,3.59,233,3.59]],["t/499",[166,3.491,206,3.675,234,4.215]],["t/501",[206,4.336,235,5.527]],["t/503",[236,5.527,237,3.938]],["t/505",[106,3.658,238,4.065,239,4.065,240,4.065]],["t/507",[241,6.738]],["t/509",[234,4.973,242,5.527]],["t/511",[1,2.864,243,5.527]],["t/513",[1,2.428,244,4.684,245,4.684]],["t/515",[1,2.864,74,3.319]],["t/517",[1,2.428,74,2.813,206,3.675]],["t/519",[246,6.738]],["t/521",[44,3.938,237,3.938]],["t/523",[247,6.738]],["t/525",[44,3.938,237,3.938]],["t/527",[248,6.738]],["t/529",[44,3.938,237,3.938]],["t/531",[51,3.675,218,3.491,249,4.684]],["t/533",[44,3.938,237,3.938]],["t/535",[250,6.738]],["t/537",[44,2.896,237,2.896,251,4.065,252,3.658]],["t/541",[213,5.287]],["t/543",[66,4.215,253,4.215,254,4.684]],["t/545",[253,4.215,255,4.684,256,4.684]],["t/549",[169,6.063]],["t/551",[170,4.973,257,5.527]],["t/553",[175,3.658,258,4.065,259,4.065,260,4.065]],["t/555",[178,3.658,190,3.658,261,4.065,262,4.065]],["t/557",[174,2.817,176,2.993,177,2.993,182,3.23,192,3.23]],["t/559",[34,3.491,188,4.215,263,4.684]],["t/561",[191,4.973,264,5.527]],["t/563",[193,4.973,265,5.527]],["t/565",[197,4.215,266,4.684,267,4.684]],["t/567",[268,5.527,269,5.527]],["t/569",[4,2.514,174,3.189,252,3.658,270,4.065]]],"invertedIndex":[["",{"_index":221,"t":{"470":{"position":[[15,1]]}}}],["1",{"_index":169,"t":{"411":{"position":[[0,2]]},"549":{"position":[[0,2]]}}}],["10",{"_index":268,"t":{"567":{"position":[[0,3]]}}}],["11",{"_index":270,"t":{"569":{"position":[[0,3]]}}}],["2",{"_index":170,"t":{"413":{"position":[[0,2]]},"551":{"position":[[0,2]]}}}],["3",{"_index":175,"t":{"415":{"position":[[0,2]]},"553":{"position":[[0,2]]}}}],["4",{"_index":178,"t":{"417":{"position":[[0,2]]},"555":{"position":[[0,2]]}}}],["5",{"_index":182,"t":{"419":{"position":[[0,2]]},"557":{"position":[[0,2]]}}}],["6",{"_index":188,"t":{"421":{"position":[[0,2]]},"559":{"position":[[0,2]]}}}],["7",{"_index":191,"t":{"423":{"position":[[0,2]]},"561":{"position":[[0,2]]}}}],["8",{"_index":193,"t":{"425":{"position":[[0,2]]},"563":{"position":[[0,2]]}}}],["9",{"_index":197,"t":{"427":{"position":[[0,2]]},"565":{"position":[[0,2]]}}}],["access",{"_index":59,"t":{"72":{"position":[[21,13]]}}}],["addr",{"_index":87,"t":{"131":{"position":[[4,5]]}}}],["address",{"_index":125,"t":{"239":{"position":[[14,9]]},"241":{"position":[[10,9]]},"243":{"position":[[17,9]]}}}],["anonym",{"_index":136,"t":{"271":{"position":[[13,9],[38,9]]}}}],["anonymity/unlink",{"_index":146,"t":{"321":{"position":[[0,23]]}}}],["api",{"_index":35,"t":{"46":{"position":[[0,3]]},"221":{"position":[[15,3]]},"291":{"position":[[13,3]]}}}],["applic",{"_index":83,"t":{"125":{"position":[[0,11]]},"183":{"position":[[10,11]]}}}],["approach",{"_index":211,"t":{"449":{"position":[[8,8]]}}}],["authent",{"_index":151,"t":{"325":{"position":[[37,12]]}}}],["avail",{"_index":254,"t":{"543":{"position":[[10,12]]}}}],["background",{"_index":243,"t":{"511":{"position":[[5,10]]}}}],["band",{"_index":159,"t":{"359":{"position":[[7,4]]}}}],["bandwidth",{"_index":253,"t":{"543":{"position":[[0,9]]},"545":{"position":[[20,9]]}}}],["behind",{"_index":120,"t":{"227":{"position":[[10,6]]}}}],["binari",{"_index":100,"t":{"161":{"position":[[10,6]]},"163":{"position":[[8,6]]},"231":{"position":[[13,6]]}}}],["blockchain",{"_index":241,"t":{"507":{"position":[[0,11]]}}}],["bootstrap",{"_index":10,"t":{"13":{"position":[[8,9]]},"235":{"position":[[0,9]]},"331":{"position":[[0,13]]}}}],["browser",{"_index":41,"t":{"52":{"position":[[0,7]]},"64":{"position":[[0,7]]}}}],["bucket",{"_index":139,"t":{"273":{"position":[[9,7]]}}}],["build",{"_index":99,"t":{"161":{"position":[[0,5]]},"183":{"position":[[0,5]]}}}],["certif",{"_index":56,"t":{"70":{"position":[[6,11]]}}}],["challeng",{"_index":245,"t":{"513":{"position":[[10,10]]}}}],["chang",{"_index":196,"t":{"425":{"position":[[29,6]]}}}],["check",{"_index":51,"t":{"66":{"position":[[0,8]]},"70":{"position":[[0,5]]},"72":{"position":[[0,5]]},"531":{"position":[[14,8]]}}}],["choic",{"_index":189,"t":{"421":{"position":[[8,7]]}}}],["choos",{"_index":22,"t":{"29":{"position":[[0,6]]},"108":{"position":[[0,6]]}}}],["clone",{"_index":97,"t":{"159":{"position":[[0,5]]},"281":{"position":[[0,5]]}}}],["codebas",{"_index":39,"t":{"50":{"position":[[0,8]]}}}],["collect",{"_index":171,"t":{"413":{"position":[[16,10]]}}}],["command",{"_index":103,"t":{"169":{"position":[[0,7]]}}}],["compat",{"_index":36,"t":{"46":{"position":[[4,13]]}}}],["complex",{"_index":40,"t":{"50":{"position":[[9,10]]}}}],["confidenti",{"_index":150,"t":{"325":{"position":[[5,16]]}}}],["config",{"_index":85,"t":{"125":{"position":[[18,6]]},"127":{"position":[[4,6]]},"129":{"position":[[13,6]]},"131":{"position":[[10,6]]},"133":{"position":[[6,6]]},"135":{"position":[[24,6]]},"137":{"position":[[7,6]]},"139":{"position":[[11,6]]},"141":{"position":[[9,6]]},"143":{"position":[[10,6]]},"145":{"position":[[8,6]]},"147":{"position":[[14,6]]},"149":{"position":[[7,6]]},"151":{"position":[[19,6]]},"153":{"position":[[10,6]]}}}],["configur",{"_index":12,"t":{"15":{"position":[[0,9]]},"17":{"position":[[0,9]]},"19":{"position":[[0,9]]},"173":{"position":[[0,13]]},"175":{"position":[[8,13]]},"193":{"position":[[0,9]]},"195":{"position":[[0,9]]},"197":{"position":[[0,9]]},"199":{"position":[[0,9]]},"213":{"position":[[0,9]]},"215":{"position":[[0,9]]},"217":{"position":[[13,9]]},"219":{"position":[[0,9]]},"221":{"position":[[0,9]]},"223":{"position":[[0,9]]},"225":{"position":[[0,9]]},"283":{"position":[[0,9]]}}}],["connect",{"_index":18,"t":{"21":{"position":[[11,9]]},"27":{"position":[[0,7]]},"68":{"position":[[17,10]]},"106":{"position":[[0,7]]},"211":{"position":[[0,7]]},"458":{"position":[[7,7]]}}}],["consider",{"_index":132,"t":{"267":{"position":[[7,14]]},"327":{"position":[[9,14]]}}}],["contact",{"_index":198,"t":{"427":{"position":[[3,7]]}}}],["contain",{"_index":114,"t":{"207":{"position":[[11,9]]}}}],["content",{"_index":23,"t":{"29":{"position":[[9,7]]},"108":{"position":[[9,7]]},"269":{"position":[[19,7]]},"333":{"position":[[0,7]]}}}],["contribut",{"_index":67,"t":{"88":{"position":[[0,12]]}}}],["creat",{"_index":19,"t":{"25":{"position":[[0,6]]},"31":{"position":[[0,6]]},"104":{"position":[[0,6]]},"273":{"position":[[0,8]]}}}],["cross",{"_index":249,"t":{"531":{"position":[[8,5]]}}}],["current",{"_index":210,"t":{"449":{"position":[[0,7]]}}}],["cursor",{"_index":81,"t":{"119":{"position":[[0,6]]}}}],["dappnod",{"_index":153,"t":{"335":{"position":[[0,8]]}}}],["data",{"_index":149,"t":{"325":{"position":[[0,4]]},"413":{"position":[[54,4]]},"415":{"position":[[38,4]]},"419":{"position":[[13,4]]}}}],["databas",{"_index":224,"t":{"470":{"position":[[28,8]]}}}],["debug",{"_index":47,"t":{"60":{"position":[[9,5]]}}}],["decentralis",{"_index":234,"t":{"499":{"position":[[19,13]]},"509":{"position":[[0,13]]}}}],["default",{"_index":9,"t":{"13":{"position":[[0,7]]},"175":{"position":[[0,7]]}}}],["denial",{"_index":203,"t":{"433":{"position":[[14,6]]}}}],["depend",{"_index":108,"t":{"179":{"position":[[12,12]]}}}],["develop",{"_index":45,"t":{"56":{"position":[[7,12]]}}}],["devic",{"_index":7,"t":{"7":{"position":[[14,7]]}}}],["disclaim",{"_index":257,"t":{"551":{"position":[[3,11]]}}}],["disclos",{"_index":133,"t":{"269":{"position":[[10,8]]}}}],["discover",{"_index":127,"t":{"243":{"position":[[0,12]]}}}],["discoveri",{"_index":16,"t":{"17":{"position":[[14,9]]},"19":{"position":[[14,9]]},"147":{"position":[[4,9]]},"195":{"position":[[14,9]]},"255":{"position":[[0,9]]},"339":{"position":[[4,9]]},"365":{"position":[[5,9]]}}}],["discv5",{"_index":94,"t":{"149":{"position":[[0,6]]},"197":{"position":[[10,6]]},"337":{"position":[[0,6]]}}}],["disput",{"_index":269,"t":{"567":{"position":[[4,8]]}}}],["distribut",{"_index":140,"t":{"273":{"position":[[25,12]]}}}],["dn",{"_index":15,"t":{"17":{"position":[[10,3]]},"19":{"position":[[10,3]]},"131":{"position":[[0,3]]},"147":{"position":[[0,3]]},"195":{"position":[[10,3]]},"339":{"position":[[0,3]]}}}],["do",{"_index":205,"t":{"433":{"position":[[32,5]]}}}],["docker",{"_index":112,"t":{"205":{"position":[[4,6]]},"207":{"position":[[4,6]]}}}],["domain",{"_index":115,"t":{"213":{"position":[[12,6]]},"255":{"position":[[10,6]]},"257":{"position":[[7,6]]},"259":{"position":[[17,6]]}}}],["earli",{"_index":238,"t":{"505":{"position":[[0,5]]}}}],["eci",{"_index":72,"t":{"96":{"position":[[0,5]]}}}],["econom",{"_index":200,"t":{"431":{"position":[[0,8]]},"443":{"position":[[0,8]]}}}],["enabl",{"_index":46,"t":{"60":{"position":[[0,8]]}}}],["encrypt",{"_index":71,"t":{"94":{"position":[[10,10]]},"96":{"position":[[6,10]]},"98":{"position":[[8,9]]},"100":{"position":[[8,10]]},"395":{"position":[[21,10]]}}}],["enr",{"_index":128,"t":{"243":{"position":[[13,3]]},"341":{"position":[[0,3]]}}}],["environ",{"_index":50,"t":{"62":{"position":[[7,12]]},"64":{"position":[[8,12]]},"171":{"position":[[0,11]]}}}],["european",{"_index":185,"t":{"419":{"position":[[30,8]]}}}],["evalu",{"_index":250,"t":{"535":{"position":[[0,10]]}}}],["exampl",{"_index":215,"t":{"460":{"position":[[0,8]]}}}],["exchang",{"_index":95,"t":{"151":{"position":[[10,8]]},"199":{"position":[[15,8]]},"367":{"position":[[5,8]]}}}],["export",{"_index":183,"t":{"419":{"position":[[3,9]]}}}],["file",{"_index":106,"t":{"173":{"position":[[14,5]]},"505":{"position":[[10,4]]}}}],["filter",{"_index":30,"t":{"35":{"position":[[23,6]]},"41":{"position":[[8,6]]},"137":{"position":[[0,6]]},"187":{"position":[[23,6]]},"223":{"position":[[10,6]]},"307":{"position":[[0,6]]},"343":{"position":[[0,6]]}}}],["find",{"_index":124,"t":{"239":{"position":[[0,4]]}}}],["format",{"_index":131,"t":{"265":{"position":[[7,6]]}}}],["forward",{"_index":258,"t":{"553":{"position":[[3,7]]}}}],["futur",{"_index":44,"t":{"56":{"position":[[0,6]]},"521":{"position":[[0,6]]},"525":{"position":[[0,6]]},"529":{"position":[[0,6]]},"533":{"position":[[0,6]]},"537":{"position":[[12,6]]}}}],["gener",{"_index":86,"t":{"129":{"position":[[0,7]]},"217":{"position":[[0,8]]},"487":{"position":[[6,10]]}}}],["get",{"_index":61,"t":{"80":{"position":[[0,7]]}}}],["gossip",{"_index":129,"t":{"257":{"position":[[0,6]]}}}],["gossipsub",{"_index":154,"t":{"345":{"position":[[0,9]]}}}],["govern",{"_index":266,"t":{"565":{"position":[[3,9]]}}}],["help",{"_index":63,"t":{"82":{"position":[[4,4]]},"273":{"position":[[17,4]]}}}],["http",{"_index":92,"t":{"143":{"position":[[5,4]]}}}],["i13n",{"_index":244,"t":{"513":{"position":[[5,4]]}}}],["id",{"_index":161,"t":{"369":{"position":[[5,2]]}}}],["imag",{"_index":113,"t":{"205":{"position":[[11,5]]}}}],["implement",{"_index":38,"t":{"48":{"position":[[9,14]]}}}],["incentivis",{"_index":206,"t":{"433":{"position":[[47,15]]},"499":{"position":[[0,15]]},"501":{"position":[[0,15]]},"517":{"position":[[11,15]]}}}],["increas",{"_index":134,"t":{"271":{"position":[[0,10]]}}}],["indemn",{"_index":264,"t":{"561":{"position":[[3,9]]}}}],["inform",{"_index":199,"t":{"427":{"position":[[11,11]]}}}],["initialis",{"_index":109,"t":{"181":{"position":[[0,10]]}}}],["insert",{"_index":217,"t":{"464":{"position":[[0,6]]}}}],["instal",{"_index":60,"t":{"76":{"position":[[0,12]]},"92":{"position":[[0,12]]},"179":{"position":[[0,7]]}}}],["integr",{"_index":3,"t":{"5":{"position":[[0,9]]},"9":{"position":[[5,12]]},"325":{"position":[[22,10]]}}}],["intellectu",{"_index":261,"t":{"555":{"position":[[3,12]]}}}],["interact",{"_index":123,"t":{"237":{"position":[[0,8]]},"261":{"position":[[21,11]]},"289":{"position":[[0,8]]}}}],["interfac",{"_index":111,"t":{"183":{"position":[[22,9]]}}}],["introduct",{"_index":213,"t":{"456":{"position":[[0,12]]},"474":{"position":[[0,12]]},"483":{"position":[[0,12]]},"541":{"position":[[0,12]]}}}],["issu",{"_index":65,"t":{"82":{"position":[[20,6]]}}}],["jmeter",{"_index":219,"t":{"466":{"position":[[19,8]]}}}],["join",{"_index":168,"t":{"403":{"position":[[4,4]]}}}],["json",{"_index":89,"t":{"141":{"position":[[0,4]]}}}],["k",{"_index":135,"t":{"271":{"position":[[11,1]]}}}],["key",{"_index":75,"t":{"100":{"position":[[19,4]]},"217":{"position":[[30,3]]},"357":{"position":[[5,3]]}}}],["law",{"_index":267,"t":{"565":{"position":[[13,3]]}}}],["level",{"_index":84,"t":{"125":{"position":[[12,5]]}}}],["liabil",{"_index":263,"t":{"559":{"position":[[17,9]]}}}],["libp2p",{"_index":155,"t":{"347":{"position":[[0,6]]}}}],["light",{"_index":20,"t":{"25":{"position":[[9,5]]},"33":{"position":[[20,5]]},"104":{"position":[[9,5]]},"139":{"position":[[0,5]]},"185":{"position":[[20,5]]},"225":{"position":[[10,5]]},"311":{"position":[[0,5]]},"349":{"position":[[0,5]]},"351":{"position":[[0,5]]}}}],["limit",{"_index":34,"t":{"45":{"position":[[0,11]]},"377":{"position":[[5,5]]},"381":{"position":[[9,7]]},"413":{"position":[[6,5]]},"559":{"position":[[3,10]]}}}],["line",{"_index":104,"t":{"169":{"position":[[8,4]]}}}],["link",{"_index":192,"t":{"423":{"position":[[15,5]]},"557":{"position":[[23,5]]}}}],["listen",{"_index":126,"t":{"241":{"position":[[0,9]]}}}],["log",{"_index":48,"t":{"60":{"position":[[15,4]]},"127":{"position":[[0,3]]}}}],["longer",{"_index":251,"t":{"537":{"position":[[0,6]]}}}],["look",{"_index":259,"t":{"553":{"position":[[11,7]]}}}],["maximum",{"_index":256,"t":{"545":{"position":[[12,7]]}}}],["measur",{"_index":179,"t":{"417":{"position":[[12,8]]}}}],["membership",{"_index":144,"t":{"285":{"position":[[17,10]]}}}],["messag",{"_index":25,"t":{"31":{"position":[[9,7]]},"33":{"position":[[5,8]]},"35":{"position":[[8,8]]},"78":{"position":[[0,7]]},"98":{"position":[[18,8]]},"110":{"position":[[9,8]]},"135":{"position":[[10,7]]},"185":{"position":[[5,8]]},"187":{"position":[[8,8]]},"189":{"position":[[9,8]]},"215":{"position":[[29,7]]},"313":{"position":[[5,7]]},"393":{"position":[[5,7]]},"395":{"position":[[5,7]]}}}],["method",{"_index":11,"t":{"13":{"position":[[18,6]]}}}],["metric",{"_index":93,"t":{"145":{"position":[[0,7]]}}}],["mobil",{"_index":6,"t":{"7":{"position":[[7,6]]}}}],["modif",{"_index":265,"t":{"563":{"position":[[3,13]]}}}],["more",{"_index":8,"t":{"9":{"position":[[0,4]]}}}],["mostli",{"_index":156,"t":{"353":{"position":[[0,6]]}}}],["multipl",{"_index":220,"t":{"470":{"position":[[0,8]]}}}],["name",{"_index":116,"t":{"213":{"position":[[19,4]]},"265":{"position":[[0,6]]},"267":{"position":[[0,6]]}}}],["network",{"_index":166,"t":{"397":{"position":[[5,7]]},"403":{"position":[[18,8]]},"407":{"position":[[15,7]]},"439":{"position":[[18,7]]},"499":{"position":[[33,8]]}}}],["new",{"_index":68,"t":{"88":{"position":[[13,3]]}}}],["node",{"_index":2,"t":{"3":{"position":[[11,4]]},"25":{"position":[[15,4]]},"104":{"position":[[15,4]]},"129":{"position":[[8,4]]},"217":{"position":[[25,4]]},"231":{"position":[[8,4]]},"233":{"position":[[8,4]]},"235":{"position":[[14,4]]},"237":{"position":[[18,4]]},"239":{"position":[[9,4]]},"287":{"position":[[8,4]]},"289":{"position":[[18,4]]},"349":{"position":[[6,4]]},"355":{"position":[[0,4]]},"357":{"position":[[0,4]]},"407":{"position":[[23,4]]},"433":{"position":[[42,4]]},"470":{"position":[[9,5]]}}}],["nodej",{"_index":49,"t":{"62":{"position":[[0,6]]}}}],["nois",{"_index":167,"t":{"399":{"position":[[5,5]]}}}],["nullifi",{"_index":164,"t":{"377":{"position":[[11,10]]}}}],["nwaku",{"_index":119,"t":{"227":{"position":[[4,5]]},"458":{"position":[[19,5]]},"460":{"position":[[12,5]]}}}],["offlin",{"_index":157,"t":{"353":{"position":[[7,7]]}}}],["on",{"_index":222,"t":{"470":{"position":[[17,3]]}}}],["option",{"_index":79,"t":{"116":{"position":[[12,7]]},"169":{"position":[[13,7]]}}}],["out",{"_index":158,"t":{"359":{"position":[[0,3]]}}}],["outsid",{"_index":184,"t":{"419":{"position":[[18,7]]}}}],["overview",{"_index":31,"t":{"39":{"position":[[0,8]]},"247":{"position":[[0,8]]},"251":{"position":[[0,8]]},"261":{"position":[[0,8]]},"295":{"position":[[0,8]]},"299":{"position":[[0,8]]}}}],["p2p",{"_index":239,"t":{"505":{"position":[[6,3]]}}}],["pagedirect",{"_index":80,"t":{"117":{"position":[[0,13]]}}}],["parti",{"_index":177,"t":{"415":{"position":[[9,5]]},"423":{"position":[[9,5]]},"557":{"position":[[9,5]]}}}],["payload",{"_index":160,"t":{"361":{"position":[[0,7]]},"395":{"position":[[13,7]]}}}],["payment",{"_index":247,"t":{"523":{"position":[[0,7]]}}}],["peer",{"_index":14,"t":{"15":{"position":[[17,5]]},"19":{"position":[[35,5]]},"21":{"position":[[21,5]]},"27":{"position":[[18,5]]},"106":{"position":[[17,5]]},"151":{"position":[[5,4]]},"193":{"position":[[17,5]]},"199":{"position":[[10,4]]},"211":{"position":[[17,5]]},"269":{"position":[[37,5]]},"363":{"position":[[0,4]]},"365":{"position":[[0,4]]},"367":{"position":[[0,4]]},"369":{"position":[[0,4]]}}}],["perform",{"_index":232,"t":{"495":{"position":[[0,11]]}}}],["person",{"_index":173,"t":{"413":{"position":[[45,8]]},"415":{"position":[[29,8]]}}}],["ping",{"_index":32,"t":{"41":{"position":[[0,7]]}}}],["polici",{"_index":195,"t":{"425":{"position":[[16,6]]}}}],["port",{"_index":58,"t":{"72":{"position":[[16,4]]}}}],["postgr",{"_index":214,"t":{"458":{"position":[[28,8]]},"460":{"position":[[24,8]]}}}],["prerequisit",{"_index":96,"t":{"157":{"position":[[0,13]]},"203":{"position":[[0,13]]},"279":{"position":[[0,13]]},"405":{"position":[[0,13]]}}}],["preserv",{"_index":137,"t":{"271":{"position":[[23,9]]}}}],["prevent",{"_index":202,"t":{"433":{"position":[[0,10]]}}}],["price",{"_index":246,"t":{"519":{"position":[[0,7]]}}}],["prior",{"_index":236,"t":{"503":{"position":[[0,5]]}}}],["privaci",{"_index":194,"t":{"425":{"position":[[8,7]]}}}],["problem",{"_index":209,"t":{"447":{"position":[[0,7]]}}}],["process",{"_index":172,"t":{"413":{"position":[[31,10]]},"415":{"position":[[15,10]]}}}],["proof",{"_index":227,"t":{"487":{"position":[[0,5]]},"489":{"position":[[0,5]]}}}],["properti",{"_index":262,"t":{"555":{"position":[[16,8]]}}}],["protect",{"_index":148,"t":{"323":{"position":[[5,10]]},"443":{"position":[[14,10]]},"491":{"position":[[5,10]]}}}],["protocol",{"_index":37,"t":{"48":{"position":[[0,8]]},"52":{"position":[[17,9]]},"215":{"position":[[16,8]]},"223":{"position":[[17,8]]},"225":{"position":[[21,8]]},"261":{"position":[[12,8]]},"269":{"position":[[0,9]]},"371":{"position":[[0,8]]},"468":{"position":[[31,9]]}}}],["provid",{"_index":110,"t":{"181":{"position":[[20,8]]}}}],["proxi",{"_index":122,"t":{"227":{"position":[[27,5]]}}}],["pseudonym",{"_index":145,"t":{"319":{"position":[[0,12]]}}}],["pub/sub",{"_index":162,"t":{"373":{"position":[[0,7]]},"375":{"position":[[0,7]]}}}],["push",{"_index":28,"t":{"33":{"position":[[26,4]]},"139":{"position":[[6,4]]},"185":{"position":[[26,4]]},"225":{"position":[[16,4]]},"311":{"position":[[6,4]]},"351":{"position":[[6,4]]}}}],["queri",{"_index":78,"t":{"116":{"position":[[6,5]]},"466":{"position":[[0,5]]},"468":{"position":[[0,5]]}}}],["querygener",{"_index":77,"t":{"114":{"position":[[0,14]]}}}],["querywithorderedcallback",{"_index":76,"t":{"112":{"position":[[0,24]]}}}],["rate",{"_index":163,"t":{"377":{"position":[[0,4]]}}}],["receiv",{"_index":29,"t":{"35":{"position":[[0,7]]},"187":{"position":[[0,7]]}}}],["recommend",{"_index":43,"t":{"54":{"position":[[0,15]]}}}],["regist",{"_index":142,"t":{"285":{"position":[[0,8]]}}}],["relay",{"_index":88,"t":{"133":{"position":[[0,5]]},"303":{"position":[[0,5]]},"305":{"position":[[4,5]]},"379":{"position":[[0,5]]},"383":{"position":[[4,5]]},"495":{"position":[[12,5],[26,5]]}}}],["remot",{"_index":21,"t":{"27":{"position":[[11,6]]}}}],["report",{"_index":64,"t":{"82":{"position":[[13,6]]}}}],["repositori",{"_index":98,"t":{"159":{"position":[[10,10]]},"281":{"position":[[10,10]]}}}],["reput",{"_index":248,"t":{"527":{"position":[[0,10]]}}}],["request/respons",{"_index":130,"t":{"259":{"position":[[0,16]]}}}],["resist",{"_index":201,"t":{"431":{"position":[[14,10]]}}}],["resourc",{"_index":165,"t":{"381":{"position":[[0,8]]}}}],["respect",{"_index":181,"t":{"417":{"position":[[32,7]]}}}],["rest",{"_index":91,"t":{"143":{"position":[[0,4]]},"221":{"position":[[10,4]]},"291":{"position":[[8,4]]}}}],["result",{"_index":218,"t":{"464":{"position":[[12,7]]},"466":{"position":[[11,7]]},"468":{"position":[[11,7]]},"480":{"position":[[0,7]]},"531":{"position":[[0,7]]}}}],["retriev",{"_index":17,"t":{"21":{"position":[[0,10]]},"110":{"position":[[0,8]]},"189":{"position":[[0,8]]}}}],["revers",{"_index":121,"t":{"227":{"position":[[19,7]]}}}],["right",{"_index":190,"t":{"421":{"position":[[20,6]]},"555":{"position":[[25,6]]}}}],["rln",{"_index":143,"t":{"285":{"position":[[13,3]]},"305":{"position":[[0,3]]},"383":{"position":[[0,3]]},"493":{"position":[[0,3]]},"495":{"position":[[22,3]]}}}],["rpc",{"_index":90,"t":{"141":{"position":[[5,3]]}}}],["run",{"_index":0,"t":{"3":{"position":[[0,3]]},"7":{"position":[[0,3]]},"163":{"position":[[0,3]]},"165":{"position":[[0,3]]},"207":{"position":[[0,3]]},"227":{"position":[[0,3]]},"233":{"position":[[0,3]]},"287":{"position":[[0,3]]},"407":{"position":[[0,7]]}}}],["sdk",{"_index":5,"t":{"5":{"position":[[16,4]]},"385":{"position":[[0,3]]}}}],["secur",{"_index":152,"t":{"327":{"position":[[0,8]]},"417":{"position":[[3,8]]}}}],["select",{"_index":255,"t":{"545":{"position":[[0,9]]}}}],["send",{"_index":27,"t":{"33":{"position":[[0,4]]},"185":{"position":[[0,4]]}}}],["server",{"_index":118,"t":{"221":{"position":[[19,6]]}}}],["servic",{"_index":204,"t":{"433":{"position":[[24,7]]},"439":{"position":[[10,7]]}}}],["setup",{"_index":53,"t":{"66":{"position":[[19,5]]},"283":{"position":[[14,5]]}}}],["share",{"_index":240,"t":{"505":{"position":[[15,7]]}}}],["sign",{"_index":73,"t":{"98":{"position":[[0,7]]}}}],["simul",{"_index":226,"t":{"478":{"position":[[0,11]]}}}],["singl",{"_index":223,"t":{"470":{"position":[[21,6]]}}}],["solut",{"_index":208,"t":{"441":{"position":[[18,8]]},"451":{"position":[[0,8]]}}}],["spam",{"_index":147,"t":{"323":{"position":[[0,4]]},"431":{"position":[[9,4]]},"443":{"position":[[9,4]]},"491":{"position":[[0,4]]}}}],["specif",{"_index":42,"t":{"52":{"position":[[8,8]]}}}],["start",{"_index":62,"t":{"80":{"position":[[8,7]]}}}],["statement",{"_index":260,"t":{"553":{"position":[[19,10]]}}}],["static",{"_index":13,"t":{"15":{"position":[[10,6]]},"19":{"position":[[28,6]]},"193":{"position":[[10,6]]}}}],["storag",{"_index":242,"t":{"509":{"position":[[14,7]]}}}],["store",{"_index":74,"t":{"100":{"position":[[0,7]]},"106":{"position":[[11,5]]},"116":{"position":[[0,5]]},"135":{"position":[[0,5],[18,5]]},"189":{"position":[[24,5]]},"215":{"position":[[10,5],[37,5]]},"309":{"position":[[0,5]]},"387":{"position":[[0,5]]},"468":{"position":[[25,5]]},"515":{"position":[[5,5]]},"517":{"position":[[5,5]]}}}],["stress",{"_index":216,"t":{"462":{"position":[[0,6]]}}}],["structur",{"_index":26,"t":{"31":{"position":[[17,9]]},"78":{"position":[[8,9]]}}}],["subscript",{"_index":33,"t":{"41":{"position":[[15,13]]}}}],["suit",{"_index":102,"t":{"165":{"position":[[9,5]]}}}],["switzerland",{"_index":187,"t":{"419":{"position":[[49,11]]}}}],["symmetr",{"_index":70,"t":{"94":{"position":[[0,9]]}}}],["sync",{"_index":231,"t":{"493":{"position":[[9,4]]}}}],["take",{"_index":180,"t":{"417":{"position":[[24,4]]}}}],["templat",{"_index":69,"t":{"88":{"position":[[17,9]]}}}],["term",{"_index":252,"t":{"537":{"position":[[7,4]]},"569":{"position":[[24,5]]}}}],["test",{"_index":101,"t":{"165":{"position":[[4,4]]},"462":{"position":[[7,5]]},"464":{"position":[[7,4]]},"466":{"position":[[6,4]]},"468":{"position":[[6,4]]}}}],["theori",{"_index":225,"t":{"476":{"position":[[0,6]]}}}],["third",{"_index":176,"t":{"415":{"position":[[3,5]]},"423":{"position":[[3,5]]},"557":{"position":[[3,5]]}}}],["time",{"_index":228,"t":{"487":{"position":[[17,5]]},"489":{"position":[[19,5]]}}}],["timefilt",{"_index":82,"t":{"121":{"position":[[0,10]]}}}],["tldr",{"_index":212,"t":{"453":{"position":[[0,4]]},"485":{"position":[[0,5]]}}}],["tool",{"_index":235,"t":{"501":{"position":[[16,5]]}}}],["topic",{"_index":24,"t":{"29":{"position":[[17,5]]},"108":{"position":[[17,5]]},"269":{"position":[[27,6]]},"333":{"position":[[8,5]]},"375":{"position":[[8,5]]}}}],["traffic",{"_index":141,"t":{"273":{"position":[[38,7]]}}}],["transport",{"_index":117,"t":{"219":{"position":[[20,9]]},"389":{"position":[[0,9]]}}}],["tree",{"_index":230,"t":{"493":{"position":[[4,4]]}}}],["tri",{"_index":54,"t":{"68":{"position":[[0,3]]}}}],["turnkey",{"_index":207,"t":{"441":{"position":[[10,7]]}}}],["union",{"_index":186,"t":{"419":{"position":[[39,5]]}}}],["us",{"_index":4,"t":{"5":{"position":[[10,5]]},"33":{"position":[[14,5]]},"35":{"position":[[17,5]]},"185":{"position":[[14,5]]},"187":{"position":[[17,5]]},"189":{"position":[[18,5]]},"291":{"position":[[0,3]]},"413":{"position":[[69,3]]},"460":{"position":[[18,5]]},"569":{"position":[[33,3]]}}}],["usag",{"_index":66,"t":{"86":{"position":[[0,5]]},"543":{"position":[[27,5]]}}}],["user",{"_index":138,"t":{"271":{"position":[[33,4]]}}}],["valid",{"_index":57,"t":{"70":{"position":[[18,8]]}}}],["valu",{"_index":107,"t":{"175":{"position":[[22,6]]}}}],["variabl",{"_index":105,"t":{"171":{"position":[[12,9]]}}}],["verif",{"_index":229,"t":{"489":{"position":[[6,12]]}}}],["vs",{"_index":233,"t":{"495":{"position":[[18,3]]}}}],["waku",{"_index":1,"t":{"3":{"position":[[6,4]]},"151":{"position":[[0,4]]},"181":{"position":[[15,4]]},"313":{"position":[[0,4]]},"391":{"position":[[0,4]]},"393":{"position":[[0,4]]},"395":{"position":[[0,4]]},"397":{"position":[[0,4]]},"399":{"position":[[0,4]]},"403":{"position":[[13,4]]},"407":{"position":[[10,4]]},"439":{"position":[[0,4]]},"441":{"position":[[0,4]]},"511":{"position":[[0,4]]},"513":{"position":[[0,4]]},"515":{"position":[[0,4]]},"517":{"position":[[0,4]]}}}],["websit",{"_index":174,"t":{"413":{"position":[[80,7]]},"417":{"position":[[47,7]]},"557":{"position":[[15,7]]},"569":{"position":[[16,7]]}}}],["websocat",{"_index":55,"t":{"68":{"position":[[4,8]]}}}],["websocket",{"_index":52,"t":{"66":{"position":[[9,9]]},"72":{"position":[[6,9]]},"153":{"position":[[0,9]]},"219":{"position":[[10,9]]}}}],["work",{"_index":237,"t":{"503":{"position":[[6,4]]},"521":{"position":[[7,4]]},"525":{"position":[[7,4]]},"529":{"position":[[7,4]]},"533":{"position":[[7,4]]},"537":{"position":[[19,4]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"caution Waku has risks and limitations as it is still developing and preparing for extensive adoption. However, it is already demonstrating its capabilities by powering various applications. Join our community to stay updated on our progress. Ready to integrate Waku into your application for private, secure, censorship-free communication? Explore the available SDKs and contribute by running a node.","s":"Getting Started","u":"/","h":"","p":1},{"i":4,"t":"The Waku Network is a decentralised, permissionless system where anyone can run nodes, use the network, and contribute to its support. Description Documentation nwaku Nim-based Waku implementation to run a standalone node and access the network (recommended) Run a Nwaku Node nwaku-compose Pre-configured Docker Compose setup for running a RLN-enabled nwaku node with Grafana metrics dashboard Run Nwaku with Docker Compose go-waku Golang-based Waku implementation to run a standalone node and access the network COMING SOON","s":"Run a Waku node","u":"/","h":"#run-a-waku-node","p":1},{"i":6,"t":"Waku is implemented in multiple SDKs, allowing it to integrate with different languages and address various use cases efficiently. Description Documentation @waku/sdk JavaScript/TypeScript SDK designed for browser environments JavaScript Waku SDK @waku/react React components and UI adapters designed for seamless integration with @waku/sdk Build React DApps Using @waku/react nwaku Nim SDK designed for integration with native Nim applications COMING SOON go-waku Golang SDK designed for integration with Golang applications, includes C bindings for usage in C/C++, C#/Unity, Swift, and Kotlin COMING SOON waku-rust-bindings Rust wrapper using go-waku bindings designed for integration in Rust applications COMING SOON","s":"Integrate using SDKs","u":"/","h":"#integrate-using-sdks","p":1},{"i":8,"t":"Waku provides integrations tailored for mobile applications, enabling Waku to run efficiently on mobile devices. Description Documentation Swift (iOS) go-waku bindings for Swift applications to seamlessly integrate Waku COMING SOON Kotlin (Android) go-waku bindings for Kotlin applications to seamlessly integrate Waku COMING SOON","s":"Run on mobile devices","u":"/","h":"#run-on-mobile-devices","p":1},{"i":10,"t":"Description Documentation REST API REST API interface provided by nwaku and go-waku to interact with the Waku Network Waku Node REST API Reference @waku/create-app Starter kit to bootstrap your next @waku/sdk project from various example templates Scaffold DApps Using @waku/create-app","s":"More integrations","u":"/","h":"#more-integrations","p":1},{"i":12,"t":"This guide provides detailed steps to bootstrap your your node using Static Peers and discover peers in the Waku Network using DNS Discovery. info If you do not set up a bootstrap node or discovery mechanism, your node will not connect to any remote peer. tip Until node incentivisation is in place, you should operate extra nodes alongside the ones provided by the Waku Network. When running a node, we recommend using the DNS Discovery and Static Peers configuration to connect to both the Waku Network and your node.","s":"Bootstrap Nodes and Discover Peers","u":"/guides/js-waku/configure-discovery","h":"","p":11},{"i":14,"t":"The @waku/sdk package provides a built-in bootstrapping method that uses DNS Discovery to locate peers from the waku v2.prod ENR tree. import { createLightNode } from \"@waku/sdk\"; // Bootstrap node using the default bootstrap method const node = await createLightNode({ defaultBootstrap: true });","s":"Default bootstrap method","u":"/guides/js-waku/configure-discovery","h":"#default-bootstrap-method","p":11},{"i":16,"t":"To bootstrap a node using static peers, first install the @libp2p/bootstrap package: NPM Yarn npm install @libp2p/bootstrap yarn add @libp2p/bootstrap Then, use the bootstrap() function to provide a list of multiaddr to bootstrap the node: import { createLightNode } from \"@waku/sdk\"; import { bootstrap } from \"@libp2p/bootstrap\"; // Bootstrap node using static peers const node = await createLightNode({ libp2p: { peerDiscovery: [ bootstrap({ list: [\"[PEER MULTIADDR]\"] }), ], }, }); For example, consider a node that connects to two static peers on the same local host (IP: 0.0.0.0) using TCP ports 60002 and 60003 with WebSocket enabled: // Define the list of static peers to bootstrap const peers = [ \"/ip4/0.0.0.0/tcp/60002/ws/p2p/16Uiu2HAkzjwwgEAXfeGNMKFPSpc6vGBRqCdTLG5q3Gmk2v4pQw7H\", \"/ip4/0.0.0.0/tcp/60003/ws/p2p/16Uiu2HAmFBA7LGtwY5WVVikdmXVo3cKLqkmvVtuDu63fe8safeQJ\", ]; // Bootstrap node using the static peers const node = await createLightNode({ libp2p: { peerDiscovery: [ bootstrap({ list: peers }), ], }, }); tip For local development using a nwaku node, use a ws address instead of wss. Remember that this setup is functional only when your web server is running locally.","s":"Configure static peers","u":"/guides/js-waku/configure-discovery","h":"#configure-static-peers","p":11},{"i":18,"t":"To bootstrap a node using DNS Discovery, first install the @waku/dns-discovery package: NPM Yarn npm install @waku/dns-discovery yarn add @waku/dns-discovery Then, use the wakuDnsDiscovery() function to provide a list of URLs for DNS node list in the format enrtree://@: import { createLightNode } from \"@waku/sdk\"; import { wakuDnsDiscovery } from \"@waku/dns-discovery\"; // Define DNS node list const enrTree = \"enrtree://[PUBLIC KEY]@[DOMAIN NAME]\"; // Define node requirements const NODE_REQUIREMENTS = { store: 3, lightPush: 3, filter: 3, }; // Bootstrap node using DNS Discovery const node = await createLightNode({ libp2p: { peerDiscovery: [ wakuDnsDiscovery( [enrTree], NODE_REQUIREMENTS, ), ], }, }); For example, consider a node that uses the waku v2.prod and waku v2.test ENR trees for DNS Discovery: import { enrTree } from \"@waku/dns-discovery\"; // Bootstrap node using DNS Discovery const node = await createLightNode({ libp2p: { peerDiscovery: [ wakuDnsDiscovery( [enrTree[\"PROD\"], enrTree[\"TEST\"]], NODE_REQUIREMENTS, ), ], }, });","s":"Configure DNS discovery","u":"/guides/js-waku/configure-discovery","h":"#configure-dns-discovery","p":11},{"i":20,"t":"You can also bootstrap your node using DNS Discovery and Static Peers simultaneously: import { createLightNode } from \"@waku/sdk\"; import { bootstrap } from \"@libp2p/bootstrap\"; import { enrTree, wakuDnsDiscovery } from \"@waku/dns-discovery\"; // Define the list of static peers to bootstrap const peers = [ \"/ip4/0.0.0.0/tcp/60002/ws/p2p/16Uiu2HAkzjwwgEAXfeGNMKFPSpc6vGBRqCdTLG5q3Gmk2v4pQw7H\", \"/ip4/0.0.0.0/tcp/60003/ws/p2p/16Uiu2HAmFBA7LGtwY5WVVikdmXVo3cKLqkmvVtuDu63fe8safeQJ\", ]; // Define node requirements const NODE_REQUIREMENTS = { store: 3, lightPush: 3, filter: 3, }; // Bootstrap node using DNS Discovery const node = await createLightNode({ libp2p: { peerDiscovery: [ bootstrap({ list: peers }), wakuDnsDiscovery( [enrTree[\"PROD\"]], NODE_REQUIREMENTS, ), ], }, });","s":"Configure DNS discovery and static peers","u":"/guides/js-waku/configure-discovery","h":"#configure-dns-discovery-and-static-peers","p":11},{"i":22,"t":"You can retrieve the array of peers connected to a node using the libp2p.getPeers() function within the @waku/sdk package: import { createLightNode, waitForRemotePeer } from \"@waku/sdk\"; const node = await createLightNode({ defaultBootstrap: true }); await waitForRemotePeer(node); // Retrieve array of peers connected to the node console.log(node.libp2p.getPeers());","s":"Retrieving connected peers","u":"/guides/js-waku/configure-discovery","h":"#retrieving-connected-peers","p":11},{"i":24,"t":"This guide provides detailed steps to start using the @waku/sdk package by setting up a Light Node to send messages using the Light Push protocol, and receive messages using the Filter protocol. Have a look at the installation guide for steps on adding @waku/sdk to your project.","s":"Send and Receive Messages Using Light Push and Filter","u":"/guides/js-waku/light-send-receive","h":"","p":23},{"i":26,"t":"Use the createLightNode() function to create a Light Node and interact with the Waku Network: import { createLightNode } from \"@waku/sdk\"; // Create and start a Light Node const node = await createLightNode({ defaultBootstrap: true }); await node.start(); // Use the stop() function to stop a running node // await node.stop(); info When the defaultBootstrap option is set to true, your node will be bootstrapped using the default bootstrap method. Have a look at the Bootstrap Nodes and Discover Peers guide to learn more methods to bootstrap nodes.","s":"Create a light node","u":"/guides/js-waku/light-send-receive","h":"#create-a-light-node","p":23},{"i":28,"t":"Use the waitForRemotePeer() function to wait for the node to connect with peers on the Waku Network: import { waitForRemotePeer } from \"@waku/sdk\"; // Wait for a successful peer connection await waitForRemotePeer(node); The protocols option allows you to specify the protocols that the remote peers should have enabled: import { waitForRemotePeer, Protocols } from \"@waku/sdk\"; // Wait for peer connections with specific protocols await waitForRemotePeer(node, [ Protocols.LightPush, Protocols.Filter, ]);","s":"Connect to remote peers","u":"/guides/js-waku/light-send-receive","h":"#connect-to-remote-peers","p":23},{"i":30,"t":"Choose a content topic for your application and create a message encoder and decoder: import { createEncoder, createDecoder } from \"@waku/sdk\"; // Choose a content topic const contentTopic = \"/light-guide/1/message/proto\"; // Create a message encoder and decoder const encoder = createEncoder({ contentTopic }); const decoder = createDecoder(contentTopic); The ephemeral option allows you to specify whether messages should not be stored by Store peers: const encoder = createEncoder({ contentTopic: contentTopic, // message content topic ephemeral: true, // allows messages not be stored on the network }); info In this example, users send and receive messages on a shared content topic. However, real applications may have users broadcasting messages while others listen or only have 1:1 exchanges. Waku supports all these use cases.","s":"Choose a content topic","u":"/guides/js-waku/light-send-receive","h":"#choose-a-content-topic","p":23},{"i":32,"t":"Create your application's message structure using Protobuf's valid message fields: import protobuf from \"protobufjs\"; // Create a message structure using Protobuf const ChatMessage = new protobuf.Type(\"ChatMessage\") .add(new protobuf.Field(\"timestamp\", 1, \"uint64\")) .add(new protobuf.Field(\"sender\", 2, \"string\")) .add(new protobuf.Field(\"message\", 3, \"string\")); info Have a look at the Protobuf installation guide for adding the protobufjs package to your project.","s":"Create a message structure","u":"/guides/js-waku/light-send-receive","h":"#create-a-message-structure","p":23},{"i":34,"t":"To send messages over the Waku Network using the Light Push protocol, create a new message object and use the lightPush.send() function: // Create a new message object const protoMessage = ChatMessage.create({ timestamp: Date.now(), sender: \"Alice\", message: \"Hello, World!\", }); // Serialise the message using Protobuf const serialisedMessage = ChatMessage.encode(protoMessage).finish(); // Send the message using Light Push await node.lightPush.send(encoder, { payload: serialisedMessage, });","s":"Send messages using light push","u":"/guides/js-waku/light-send-receive","h":"#send-messages-using-light-push","p":23},{"i":36,"t":"To receive messages using the Filter protocol, create a callback function for message processing, then use the filter.subscribe() function to subscribe to a content topic: // Create the callback function const callback = (wakuMessage) => { // Check if there is a payload on the message if (!wakuMessage.payload) return; // Render the messageObj as desired in your application const messageObj = ChatMessage.decode(wakuMessage.payload); console.log(messageObj); }; // Create a Filter subscription const subscription = await node.filter.createSubscription(); // Subscribe to content topics and process new messages await subscription.subscribe([decoder], callback); You can use the subscription.unsubscribe() function to stop receiving messages from a content topic: await subscription.unsubscribe([contentTopic]); Congratulations! You have successfully sent and received messages over the Waku Network using the Light Push and Filter protocols. Have a look at the light-js and light-chat examples for working demos.","s":"Receive messages using filter","u":"/guides/js-waku/light-send-receive","h":"#receive-messages-using-filter","p":23},{"i":38,"t":"This guide provides detailed steps to manage Filter subscriptions and handle node disconnections in your application. Have a look at the Send and Receive Messages Using Light Push and Filter guide for using the Light Push and Filter protocols.","s":"Manage Your Filter Subscriptions","u":"/guides/js-waku/manage-filter","h":"","p":37},{"i":40,"t":"Occasionally, your Filter subscriptions might disconnect from the Waku Network, resulting in messages not being received by your application. To manage your subscriptions, periodically ping peers to check for an active connection. The error message \"peer has no subscriptions\" indicates a failed ping due to disconnection. You can stop the pings if the disconnection/unsubscription is deliberate.","s":"Overview","u":"/guides/js-waku/manage-filter","h":"#overview","p":37},{"i":42,"t":"The @waku/sdk package provides a Filter.ping() function to ping subscriptions and check for an active connection. To begin, create a Filter subscription: // Create a Filter subscription const subscription = await node.filter.createSubscription(); // Subscribe to content topics and process new messages await subscription.subscribe([decoder], callback); Next, create a function to ping and reinitiate the subscription: const pingAndReinitiateSubscription = async () => { try { // Ping the subscription await subscription.ping(); } catch (error) { if ( // Check if the error message includes \"peer has no subscriptions\" error instanceof Error && error.message.includes(\"peer has no subscriptions\") ) { // Reinitiate the subscription if the ping fails await subscription.subscribe([decoder], callback); } else { throw error; } } }; // Periodically ping the subscription await pingAndReinitiateSubscription(); info Pings will fail when there are temporary network degradations or reachability issues. This does not mean that the underlying connection has been closed. Congratulations! You have successfully managed your Filter subscriptions to handle node disconnections in your application.","s":"Pinging filter subscriptions","u":"/guides/js-waku/manage-filter","h":"#pinging-filter-subscriptions","p":37},{"i":44,"t":"While the @waku/sdk package is primarily designed for browser environments, you can use it in a NodeJS application. However, there are certain limitations and considerations to keep in mind. This guide provides a comprehensive overview of using @waku/sdk in NodeJS.","s":"Run @waku/sdk in a NodeJS Application","u":"/guides/js-waku/run-waku-nodejs","h":"","p":43},{"i":47,"t":"@waku/sdk prioritises browser compatibility, avoiding NodeJS APIs for simpler bundling. This design choice enhances browser API compatibility but sacrifices NodeJS optimisation. While many browser APIs work in NodeJS, they might need better optimisation.","s":"API compatibility","u":"/guides/js-waku/run-waku-nodejs","h":"#api-compatibility","p":43},{"i":49,"t":"@waku/sdk focuses on the client side of the Request/Response protocol. We'll have to replicate all the functionalities added to nwaku to implement extra features.","s":"Protocol implementation","u":"/guides/js-waku/run-waku-nodejs","h":"#protocol-implementation","p":43},{"i":51,"t":"@waku/sdk aims to provide optimal default for the browser, striking a balance between browser and NodeJS compatibility while ensuring simplicity will add complexity.","s":"Codebase complexity","u":"/guides/js-waku/run-waku-nodejs","h":"#codebase-complexity","p":43},{"i":53,"t":"Certain features in @waku/sdk are tailored for browsers and might not translate seamlessly to NodeJS. For example, only WebSocket is supported in the browser, whereas a NodeJS application can benefit from using transport methods like TCP. @waku/sdk default peer management caters to the browser's ephemeral nature, which is different for NodeJS. This is why DNS Discovery and Peer Exchange are the default discovery mechanisms for the browser but not for NodeJS and desktop applications.","s":"Browser-specific protocols","u":"/guides/js-waku/run-waku-nodejs","h":"#browser-specific-protocols","p":43},{"i":55,"t":"Before using @waku/sdk in a NodeJS environment, take into account these limitations. For a more optimised solution, we recommend running nwaku in a Docker container and consuming its REST API.","s":"Recommendations","u":"/guides/js-waku/run-waku-nodejs","h":"#recommendations","p":43},{"i":57,"t":"There are plans to release a NodeJS package based on nwaku to streamline the process of using Waku Network features in NodeJS applications. You can track the progress and updates here: https://github.com/waku-org/nwaku/issues/1332.","s":"Future developments","u":"/guides/js-waku/run-waku-nodejs","h":"#future-developments","p":43},{"i":59,"t":"This guide provides detailed steps to enable and use debug logs to troubleshoot your Waku DApp, whether in a NodeJS or browser environment and check your WebSocket connections in nwaku.","s":"Debug Your Waku DApp and WebSocket","u":"/guides/js-waku/debug-waku-dapp","h":"","p":58},{"i":61,"t":"When resolving issues in your Waku DApp, debug logs can be helpful. The @waku/sdk and libp2p packages use the debug tool to handle and show logs that help you debug effectively.","s":"Enabling debug logs","u":"/guides/js-waku/debug-waku-dapp","h":"#enabling-debug-logs","p":58},{"i":63,"t":"To enable debug logs for @waku/sdk on NodeJS, you must set the DEBUG environment variable. To only enable debug logs for @waku/sdk: export DEBUG=waku* To enable debug logs for both @waku/sdk and libp2p: export DEBUG=waku*,libp2p* To enable debug logs for all components: export DEBUG=*","s":"NodeJS environments","u":"/guides/js-waku/debug-waku-dapp","h":"#nodejs-environments","p":58},{"i":65,"t":"To view debug logs in your browser's console, modify the local storage and add the debug key. Here are guides for various modern browsers: Google Chrome Firefox JavaScript KEY VALUE DESCRIPTION debug waku* Enables @waku/sdk debug logs debug waku*,libp2p* Enables @waku/sdk and libp2p debug logs debug * Enables all debug logs","s":"Browser environments","u":"/guides/js-waku/debug-waku-dapp","h":"#browser-environments","p":58},{"i":67,"t":"Nwaku provides native support for WebSocket (ws) and WebSocket Secure (wss) protocols. These are the only transports supported for connecting to the Waku Network via browsers. It's important to note that browsers impose certain limitations on WebSocket usage: Secure Context Requirement: Insecure subroutines are prohibited in secure contexts. On an https:// webpage, only wss connections are permitted, while ws connections are not allowed. This restriction does not apply if the webpage is served locally, like on localhost or 127.0.0.1. Certificate Validation: Certificate validation rules are consistent for https and wss connections. Certificates must not be expired, issued by a recognized Certificate Authority (CA), and match the domain name, among other criteria. User Feedback on Errors: Web browsers do not display errors related to subroutines to the user. If a WebSocket connection encounters an issue, users won't be alerted directly; you'll need to check the browser's console for error details. If you encounter difficulties when connecting to a remote node using wss, follow these steps:","s":"Checking WebSocket setup","u":"/guides/js-waku/debug-waku-dapp","h":"#checking-websocket-setup","p":58},{"i":69,"t":"Attempt to connect using websocat, a tool for WebSocket interactions. Test the WebSocket port using the command: websocat -v wss://[WEBSOCKET HOST]:[WEBSOCKET PORT] For example, consider a nwaku node with the multiaddr as /dns4/nwakunode.com/tcp/1234/wss/p2p/16...: $ websocat -v wss://nwakunode.com:1234 # ... [INFO websocat::ws_client_peer] Connected to ws The connection works if the [INFO websocat::ws_client_peer] Connected to ws log entry appears. If not, check that the certificate is valid","s":"Try Websocat for connection","u":"/guides/js-waku/debug-waku-dapp","h":"#try-websocat-for-connection","p":58},{"i":71,"t":"Verify the certificate's validity by passing the -k or --insecure flag to handle invalid certificates in websocat: websocat -v -k wss://nwakunode.com:1234 If this works, the certificate's invalidity is the problem, and you should investigate the cause of the error if not, check if the WebSocket port is accessible.","s":"Check certificate validity","u":"/guides/js-waku/debug-waku-dapp","h":"#check-certificate-validity","p":58},{"i":73,"t":"Use telnet or another networking tool to verify if the WebSocket port is open and accessible. For example, if the multiaddr is /dns4/nwakunode.com/tcp/1234/wss/p2p/16..., use the command: $ telnet nwakunode.com 1234 Trying 123.123.123.123... Connected to nwakunode.com. # ... If the connection succeeds, there might be an issue with nwaku. Consider seeking support on the Waku Discord or raise an issue. If the connection fails, ensure that the WebSocket port is open.","s":"Check WebSocket port accessibility","u":"/guides/js-waku/debug-waku-dapp","h":"#check-websocket-port-accessibility","p":58},{"i":75,"t":"caution Currently, the JavaScript Waku SDK (@waku/sdk) is NOT compatible with React Native. We plan to add support for React Native in the future. The JavaScript Waku SDK (@waku/sdk) provides a TypeScript implementation of the Waku protocol designed for web browser environments. Developers can seamlessly integrate Waku functionalities into web applications, enabling efficient communication and collaboration among users using the @waku/sdk package.","s":"JavaScript Waku SDK","u":"/guides/js-waku/","h":"","p":74},{"i":77,"t":"Install the @waku/sdk package using your preferred package manager: NPM Yarn npm install @waku/sdk yarn add @waku/sdk You can also use the @waku/sdk package via a CDN without installing it on your system: import * as waku from \"https://unpkg.com/@waku/sdk@latest/bundle/index.js\";","s":"Installation","u":"/guides/js-waku/","h":"#installation","p":74},{"i":79,"t":"We recommend creating a message structure for your application using Protocol Buffers for the following reasons: Consistency: Ensures uniform message format for easy parsing and processing. Interoperability: Facilitates effective communication between different parts of your application. Compatibility: Allows smooth communication between older and newer app versions. Payload Size: Minimizes payload overhead, especially for byte arrays, unlike JSON which adds significant overhead. To get started, install the protobufjs package using your preferred package manager: NPM Yarn npm install protobufjs yarn add protobufjs You can also use the protobufjs package via a CDN without installing it on your system: // Import the CDN import \"https://cdn.jsdelivr.net/npm/protobufjs@latest/dist/protobuf.min.js\"; ","s":"Message structure","u":"/guides/js-waku/","h":"#message-structure","p":74},{"i":81,"t":"Have a look at the quick start guide and comprehensive tutorials to learn how to build applications using @waku/sdk: Guide Description Send and Receive Messages Using Light Push and Filter Learn how to send and receive messages on light nodes using the Light Push and Filter protocols Retrieve Messages Using Store Protocol Learn how to retrieve and filter historical messages on light nodes using the Store protocol Encrypt, Decrypt, and Sign Your Messages Learn how to use the @waku/message-encryption package to encrypt, decrypt, and sign your messages Build React DApps Using @waku/react Learn how to use the @waku/react package seamlessly integrate @waku/sdk into a React application Scaffold DApps Using @waku/create-app Learn how to use the @waku/create-app package to bootstrap your next @waku/sdk project from various example templates Bootstrap Nodes and Discover Peers Learn how to bootstrap your node using Static Peers and discover peers using DNS Discovery Run @waku/sdk in a NodeJS Application Learn our suggested approach for using the @waku/sdk package within a NodeJS application Debug Your Waku DApp and WebSocket Learn how to troubleshoot your Waku DApp using debug logs and check WebSocket connections in nwaku Manage Your Filter Subscriptions Learn how to manage filter subscriptions and handle node disconnections in your application tip Until node incentivisation is in place, you should operate extra nodes alongside the ones provided by the Waku Network. When running a node, we recommend using the DNS Discovery and Static Peers configuration to connect to both the Waku Network and your node.","s":"Getting started","u":"/guides/js-waku/","h":"#getting-started","p":74},{"i":83,"t":"To engage in general discussions, seek assistance, or stay updated with the latest news, visit the #support and #js-waku-contribute channels on the Waku Discord. If you discover bugs or want to suggest new features, do not hesitate to open an issue in the js-waku repository. Your feedback and contributions are highly valued and will help improve the @waku/sdk package.","s":"Get help and report issues","u":"/guides/js-waku/","h":"#get-help-and-report-issues","p":74},{"i":85,"t":"This guide provides detailed steps to bootstrap your next @waku/sdk project from various example templates using the @waku/create-app package.","s":"Scaffold DApps Using @waku/create-app","u":"/guides/js-waku/use-waku-create-app","h":"","p":84},{"i":87,"t":"Initialise a new @waku/sdk template using any of the following methods: NPM Yarn npx @waku/create-app [PROJECT DIRECTORY] yarn create @waku/app [PROJECT DIRECTORY] Next, select a template to initialise your app from: tip If you have previously installed @waku/create-app globally, we recommend uninstalling the package to ensure that npx always uses the latest version.","s":"Usage","u":"/guides/js-waku/use-waku-create-app","h":"#usage","p":84},{"i":89,"t":"We welcome and appreciate the contributions of templates for the @waku/create-app package. To contribute a template, please follow these steps: Create the template, ensuring it is user-friendly and thoroughly tested. Place the template in the examples folder in the js-waku-examples repository's root. Commit your changes with a detailed message and push them to your forked repository. Finally, submit a pull request to the js-waku-examples repository. Our team will carefully review and merge your submission upon approval. Waku also provides bounties to encourage community members to contribute to the network and earn rewards. To participate in the bounty program, head to https://github.com/waku-org/bounties.","s":"Contributing new templates","u":"/guides/js-waku/use-waku-create-app","h":"#contributing-new-templates","p":84},{"i":91,"t":"This guide provides detailed steps to use the @waku/message-encryption package to encrypt, decrypt, and sign your messages using Waku message payload encryption methods. info Waku uses libp2p noise encryption for node-to-node connections. However, no default encryption method is applied to the data sent over the network. This design choice enhances Waku's encryption flexibility, encouraging developers to freely use custom protocols or Waku message payload encryption methods.","s":"Encrypt, Decrypt, and Sign Your Messages","u":"/guides/js-waku/message-encryption","h":"","p":90},{"i":93,"t":"Install the required packages for integrating @waku/message-encryption using your preferred package manager: NPM Yarn npm install @waku/message-encryption @waku/utils yarn add @waku/message-encryption @waku/utils","s":"Installation","u":"/guides/js-waku/message-encryption","h":"#installation","p":90},{"i":95,"t":"Symmetric encryption uses a single, shared key for message encryption and decryption. Use the generateSymmetricKey() function to generate a random symmetric key: import { generateSymmetricKey } from \"@waku/message-encryption\"; // Generate a random symmetric key const symmetricKey = generateSymmetricKey(); To send encrypted messages, create a Symmetric message encoder and send the message as usual: Sender client import { createEncoder } from \"@waku/message-encryption/symmetric\"; // Create a symmetric message encoder const encoder = createEncoder({ contentTopic: contentTopic, // message content topic symKey: symmetricKey, // symmetric key for encrypting messages }); // Send the message using Light Push await node.lightPush.send(encoder, { payload }); To decrypt the messages you receive, create a symmetric message decoder and process the messages as usual: Receiver client import { createDecoder } from \"@waku/message-encryption/symmetric\"; // Create a symmetric message decoder const decoder = createDecoder(contentTopic, symmetricKey); // Receive messages from a Filter subscription await subscription.subscribe([decoder], callback); // Retrieve messages from Store peers await node.store.queryWithOrderedCallback([decoder], callback); tip The symmetric key exchange between users can happen through an out-of-band method. For example, where the key is embedded within the URL shared by a user to access a specific resource.","s":"Symmetric encryption","u":"/guides/js-waku/message-encryption","h":"#symmetric-encryption","p":90},{"i":97,"t":"ECIES encryption uses a public key for encryption and a private key for decryption. Use the generatePrivateKey() function to generate a random ECDSA private key: import { generatePrivateKey, getPublicKey } from \"@waku/message-encryption\"; // Generate a random ECDSA private key, keep secure const privateKey = generatePrivateKey(); // Generate a public key from the private key, provide to the sender const publicKey = getPublicKey(privateKey); To send encrypted messages, create an ECIES message encoder with the public key and send the message as usual: Sender client import { createEncoder } from \"@waku/message-encryption/ecies\"; // Create an ECIES message encoder const encoder = createEncoder({ contentTopic: contentTopic, // message content topic publicKey: publicKey, // ECIES public key for encrypting messages }); // Send the message using Light Push await node.lightPush.send(encoder, { payload }); To decrypt the messages you receive, create an ECIES message decoder with the private key and process the messages as usual: Receiver client import { createDecoder } from \"@waku/message-encryption/ecies\"; // Create an ECIES message decoder const decoder = createDecoder(contentTopic, privateKey); // Receive messages from a Filter subscription await subscription.subscribe([decoder], callback); // Retrieve messages from Store peers await node.store.queryWithOrderedCallback([decoder], callback); tip Users can share their public key through broadcasting or out-of-band methods, such as embedding it in a URL or sending an unencrypted message on another content topic for others to retrieve.","s":"ECIES encryption","u":"/guides/js-waku/message-encryption","h":"#ecies-encryption","p":90},{"i":99,"t":"Message signing helps in proving the authenticity of received messages. By attaching a signature to a message, you can verify its origin and integrity with absolute certainty. info Signing messages is only possible when encrypted, but if your application does not require encryption, you can generate a symmetric key through hardcoded or deterministic methods using information available to all users. The sigPrivKey option allows the Symmetric and ECIES message encoders to sign the message before encryption using an ECDSA private key: Alice (sender) client import { generatePrivateKey, getPublicKey } from \"@waku/message-encryption\"; import { createEncoder as createSymmetricEncoder } from \"@waku/message-encryption/symmetric\"; import { createEncoder as createECIESEncoder } from \"@waku/message-encryption/ecies\"; // Generate a random ECDSA private key for signing messages // ECIES encryption and message signing both use ECDSA keys // For this example, we'll call the sender of the message Alice const alicePrivateKey = generatePrivateKey(); const alicePublicKey = getPublicKey(alicePrivateKey); // Create a symmetric encoder that signs messages const symmetricEncoder = createSymmetricEncoder({ contentTopic: contentTopic, // message content topic symKey: symmetricKey, // symmetric key for encrypting messages sigPrivKey: alicePrivateKey, // private key for signing messages before encryption }); // Create an ECIES encoder that signs messages const ECIESEncoder = createECIESEncoder({ contentTopic: contentTopic, // message content topic publicKey: publicKey, // ECIES public key for encrypting messages sigPrivKey: alicePrivateKey, // private key for signing messages before encryption }); // Send and receive your messages as usual with Light Push and Filter await subscription.subscribe([symmetricEncoder], callback); await node.lightPush.send(symmetricEncoder, { payload }); await subscription.subscribe([ECIESEncoder], callback); await node.lightPush.send(ECIESEncoder, { payload }); You can extract the signature and its public key (signaturePublicKey) from the DecodedMessage and compare it with the expected public key to verify the message origin: Bob (receiver) client import { generatePrivateKey } from \"@waku/message-encryption\"; import { createEncoder } from \"@waku/message-encryption/symmetric\"; import { equals } from \"uint8arrays/equals\"; // Generate a random private key for signing messages // For this example, we'll call the receiver of the message Bob const bobPrivateKey = generatePrivateKey(); // Create an encoder that signs messages const encoder = createEncoder({ contentTopic: contentTopic, symKey: symmetricKey, sigPrivKey: bobPrivateKey, }); // Modify the callback function to verify message signature const callback = (wakuMessage) => { // Extract the message signature and public key of the signature // You can compare the signaturePublicKey with Alice public key const signature = wakuMessage.signature; const signaturePublicKey = wakuMessage.signaturePublicKey; // Verify the message was actually signed and sent by Alice // Alice's public key can be gotten from broadcasting or out-of-band methods if (equals(signaturePublicKey, alicePublicKey)) { console.log(\"This message was signed by Alice\"); } else { console.log(\"This message was NOT signed by Alice\"); } }; await subscription.subscribe([encoder], callback);","s":"Signing encrypted messages","u":"/guides/js-waku/message-encryption","h":"#signing-encrypted-messages","p":90},{"i":101,"t":"We used randomly generated keys for encryption and message signing in the provided examples, but real-world applications require consistent keys among client restarts. Have a look at the Key Pair Handling example, which demonstrates the secure storage and retrieval of key information from local storage using Subtle Crypto. If you need a simple way to store your keys in hexadecimal format across your application, you can use the @waku/utils package: import { bytesToHex, hexToBytes } from \"@waku/utils/bytes\"; // Generate random symmetric and private keys const symmetricKey = generateSymmetricKey(); const privateKey = generatePrivateKey(); // Store the keys in hexadecimal format const symmetricKeyHex = bytesToHex(symmetricKey); const privateKeyHex = bytesToHex(privateKey); // Restore the keys from hexadecimal format const restoredSymmetricKey = hexToBytes(symmetricKeyHex); const restoredPrivateKey = hexToBytes(privateKeyHex); Congratulations! You have successfully encrypted, decrypted, and signed your messages using Symmetric and ECIES encryption methods. Have a look at the eth-pm example for a working demo.","s":"Storing encryption keys","u":"/guides/js-waku/message-encryption","h":"#storing-encryption-keys","p":90},{"i":103,"t":"This guide provides detailed steps to create a Light Node for retrieving and filtering historical messages using the Store protocol.","s":"Retrieve Messages Using Store Protocol","u":"/guides/js-waku/store-retrieve-messages","h":"","p":102},{"i":105,"t":"Use the createLightNode() function to create a Light Node and interact with the Waku Network: import { createLightNode } from \"@waku/sdk\"; // Create and start a Light Node const node = await createLightNode({ defaultBootstrap: true }); await node.start();","s":"Create a light node","u":"/guides/js-waku/store-retrieve-messages","h":"#create-a-light-node","p":102},{"i":107,"t":"Use the waitForRemotePeer() function to wait for the node to connect with Store peers: import { waitForRemotePeer, Protocols } from \"@waku/sdk\"; // Wait for a successful peer connection await waitForRemotePeer(node, [Protocols.Store]);","s":"Connect to store peers","u":"/guides/js-waku/store-retrieve-messages","h":"#connect-to-store-peers","p":102},{"i":109,"t":"Choose a content topic for filtering the messages to retrieve and create a message decoder: import { createDecoder } from \"@waku/sdk\"; // Choose a content topic const contentTopic = \"/store-guide/1/message/proto\"; // Create a message decoder const decoder = createDecoder(contentTopic);","s":"Choose a content topic","u":"/guides/js-waku/store-retrieve-messages","h":"#choose-a-content-topic","p":102},{"i":111,"t":"@waku/sdk provides the queryWithOrderedCallback() and queryGenerator() functions for querying Store nodes and retrieving historical or missed messages. The responses from Store nodes are paginated and require you to process each page sequentially.","s":"Retrieve messages","u":"/guides/js-waku/store-retrieve-messages","h":"#retrieve-messages","p":102},{"i":113,"t":"The store.queryWithOrderedCallback() function provides a straightforward method for querying Store nodes and processing messages in chronological order through a callback function. It accepts these parameters: decoders: List of decoders that specify the content topic to query for and their message decryption methods. callback: The callback function for processing the retrieved messages. options (optional): Query options to filter the retrieved messages. // Create the callback function const callback = (wakuMessage) => { // Render the message/payload in your application console.log(wakuMessage); }; // Query the Store peer await node.store.queryWithOrderedCallback( [decoder], callback, ); info The queryWithOrderedCallback() function always returns the most recent messages in a page first.","s":"queryWithOrderedCallback","u":"/guides/js-waku/store-retrieve-messages","h":"#querywithorderedcallback","p":102},{"i":115,"t":"The store.queryGenerator() function provides more control and flexibility over processing messages retrieved from Store nodes through Async Generators. It accepts these parameters: decoders: List of decoders that specify the content topic to query for and their message decryption methods. options (optional): Query options to filter the retrieved messages. // Create the store query const storeQuery = node.store.queryGenerator([decoder]); // Process the messages for await (const messagesPromises of storeQuery) { // Fulfil the messages promises const messages = await Promise.all(messagesPromises .map(async (p) => { const msg = await p; // Render the message/payload in your application console.log(msg); }) ); } info The queryGenerator() function always returns the oldest messages in a page first.","s":"queryGenerator","u":"/guides/js-waku/store-retrieve-messages","h":"#querygenerator","p":102},{"i":118,"t":"The pageDirection option specifies the direction in which pages are retrieved: BACKWARD (default): Most recent page first. FORWARD: Oldest page first. import { PageDirection } from \"@waku/sdk\"; // Retrieve recent messages first const queryOptions = { pageDirection: PageDirection.BACKWARD, }; // Retrieve oldest messages first const queryOptions = { pageDirection: PageDirection.FORWARD, }; // Query the Store peer with options await node.store.queryWithOrderedCallback([decoder], callback, options); const storeQuery = node.store.queryGenerator([decoder, options]);","s":"pageDirection","u":"/guides/js-waku/store-retrieve-messages","h":"#pagedirection","p":102},{"i":120,"t":"The cursor option specifies the starting index for retrieving messages. For example, consider a query that retrieves the first page messages and then continues with the next page: import { waku } from \"@waku/sdk\"; // Create the callback function const messages = []; const callback = (wakuMessage) => { messages.push(wakuMessage); // Return \"true\" to stop retrieving pages // Here, it retrieves only the first page return true; }; // Retrieve the first page of messages // This retrieves all the messages if \"return true\" is not present await node.store.queryWithOrderedCallback( [decoder], callback, ); // Create the cursor const lastMessage = messages[messages.length - 1]; const cursor = await waku.createCursor(lastMessage); // Retrieve the next page of messages // The message at the cursor index is excluded from the result await node.store.queryWithOrderedCallback( [decoder], callback, { cursor: cursor, }, ); console.log(messages); info If you omit the cursor option, the query will start from the beginning or end of the history, depending on the page direction.","s":"cursor","u":"/guides/js-waku/store-retrieve-messages","h":"#cursor","p":102},{"i":122,"t":"The timeFilter option specifies a time frame to retrieve messages from. For example, consider a query that retrieves messages from the previous week: // Get the time frame const endTime = new Date(); const startTime = new Date(); startTime.setDate(endTime.getDate() - 7); // Retrieve a week of messages const queryOptions = { timeFilter: { startTime, endTime, }, }; // Query the Store peer with options await node.store.queryWithOrderedCallback([decoder], callback, options); const storeQuery = node.store.queryGenerator([decoder, options]); info The timeFilter option significantly reduces message retrieval performance. To optimise it, consider resuming message retrieval using a cursor that starts from the last seen message. Congratulations! You have successfully retrieved and filtered historical messages on a Light Node using the Store protocol. Have a look at the store-js and store-reactjs-chat examples for working demos.","s":"timeFilter","u":"/guides/js-waku/store-retrieve-messages","h":"#timefilter","p":102},{"i":124,"t":"Here are the available node configuration options, along with their default values and descriptions:","s":"Node Configuration Options","u":"/guides/nwaku/config-options","h":"","p":123},{"i":126,"t":"Name Default Value Description config-file Loads configuration from a TOML file (cmd-line parameters take precedence) protected-topic newSeq[ProtectedTopic](0) Topics and its public key to be used for message validation, topic:pubkey. Argument may be repeated","s":"Application-level config","u":"/guides/nwaku/config-options","h":"#application-level-config","p":123},{"i":128,"t":"Name Default Value Description log-level logging.LogLevel.INFO Sets the log level for process. Supported levels: TRACE, DEBUG, INFO, NOTICE, WARN, ERROR or FATAL log-format logging.LogFormat.TEXT Specifies what kind of logs should be written to stdout. Supported formats: TEXT, JSON","s":"Log config","u":"/guides/nwaku/config-options","h":"#log-config","p":123},{"i":130,"t":"Name Default Value Description cluster-id 0 Cluster id that the node is running in. Node in a different cluster id is disconnected agent-string nwaku Node agent string which is used as identifier in network nodekey P2P node private key as 64-char hex string listen-address defaultListenAddress() Listening address for LibP2P (and Discovery v5, if enabled) traffic tcp-port 60000 TCP listening port ports-shift 0 Add a shift to all port numbers nat any Specify method to use for determining public address. Must be one of: any, none, upnp, pmp, extip: ext-multiaddr External multiaddresses to advertise to the network. Argument may be repeated ext-multiaddr-only false Only announce external multiaddresses max-connections 50 Maximum allowed number of libp2p connections max-relay-peers Maximum allowed number of relay peers peer-store-capacity Maximum stored peers in the peerstore peer-persistence false Enable peer persistence","s":"General node config","u":"/guides/nwaku/config-options","h":"#general-node-config","p":123},{"i":132,"t":"Name Default Value Description dns-addrs true Enable resolution of dnsaddr, dns4 or dns6 multiaddrs dns-addrs-name-server [\"1.1.1.1\", \"1.0.0.1\"] DNS name server IPs to query for DNS multiaddrs resolution. Argument may be repeated dns4-domain-name The domain name resolving to the node's public IPv4 address","s":"DNS addrs config","u":"/guides/nwaku/config-options","h":"#dns-addrs-config","p":123},{"i":134,"t":"Name Default Value Description relay true Enable relay protocol: true|false relay-peer-exchange false Enable gossipsub peer exchange in relay protocol: true|false rln-relay false Enable spam protection through rln-relay: true|false rln-relay-cred-path The path for persisting rln-relay credential rln-relay-membership-index The index of the onchain commitment to use rln-relay-dynamic false Enable waku-rln-relay with on-chain dynamic group management: true|false rln-relay-id-key Rln relay identity secret key as a Hex string rln-relay-id-commitment-key Rln relay identity commitment key as a Hex string rln-relay-eth-client-address ws://localhost:8540/ WebSocket address of an Ethereum testnet client e.g., ws://localhost:8540/ rln-relay-eth-contract-address Address of membership contract on an Ethereum testnet rln-relay-eth-private-key Private key for broadcasting transactions execute false Runs the registration function on-chain. By default, a dry-run will occur rln-relay-cred-password Password for encrypting RLN credentials rln-relay-tree-path Path to the RLN merkle tree sled db (https://github.com/spacejam/sled) rln-relay-bandwidth-threshold 0 # to maintain backwards compatibility Message rate in bytes/sec after which verification of proofs should happen staticnode Peer multiaddr to directly connect with. Argument may be repeated keep-alive false Enable keep-alive for idle connections: true|false topic [\"/waku/2/default-waku/proto\"] Default topic to subscribe to. Argument may be repeated. Deprecated! Please use pubsub-topic and/or content-topic instead pubsub-topic Default pubsub topic to subscribe to. Argument may be repeated content-topic Default content topic to subscribe to. Argument may be repeated","s":"Relay config","u":"/guides/nwaku/config-options","h":"#relay-config","p":123},{"i":136,"t":"Name Default Value Description store false Enable/disable waku store protocol storenode Peer multiaddress to query for storage store-message-retention-policy time:172800 Message store retention policy. Time retention policy: time:. Capacity retention policy: capacity:. Size retention policy: size:. Set to none to disable store-message-db-url sqlite://store.sqlite3 The database connection URL for persistent storage store-message-db-vacuum false Enable database vacuuming at start. Only supported by SQLite database engine store-message-db-migration true Enable database migration at start","s":"Store and message store config","u":"/guides/nwaku/config-options","h":"#store-and-message-store-config","p":123},{"i":138,"t":"Name Default Value Description filter false Enable filter protocol: true|false filternode Peer multiaddr to request content filtering of messages filter-timeout 14400 # 4 hours Timeout for filter node in seconds filter-subscription-timeout 300 # 5 minutes Timeout for filter subscription without ping or refresh it, in seconds. Only for v2 filter protocol filter-max-peers-to-serve 1000 Maximum number of peers to serve at a time. Only for v2 filter protocol filter-max-criteria 1000 Maximum number of pubsub and content topic combinations per peer at a time. Only for v2 filter protocol","s":"Filter config","u":"/guides/nwaku/config-options","h":"#filter-config","p":123},{"i":140,"t":"Name Default Value Description lightpush false Enable lightpush protocol: true|false lightpushnode Peer multiaddr to request lightpush of published messages","s":"Light push config","u":"/guides/nwaku/config-options","h":"#light-push-config","p":123},{"i":142,"t":"Name Default Value Description rpc true Enable Waku JSON-RPC server: true|false rpc-address 127.0.0.1 Listening address of the JSON-RPC server rpc-port 8545 Listening port of the JSON-RPC server rpc-admin false Enable access to JSON-RPC Admin API: true|false rpc-private false Enable access to JSON-RPC Private API: true|false","s":"JSON-RPC config","u":"/guides/nwaku/config-options","h":"#json-rpc-config","p":123},{"i":144,"t":"Name Default Value Description rest false Enable Waku REST HTTP server: true|false rest-address 127.0.0.1 Listening address of the REST HTTP server rest-port 8645 Listening port of the REST HTTP server rest-relay-cache-capacity 30 Capacity of the Relay REST API message cache rest-admin false Enable access to REST HTTP Admin API: true|false rest-private false Enable access to REST HTTP Private API: true|false","s":"REST HTTP config","u":"/guides/nwaku/config-options","h":"#rest-http-config","p":123},{"i":146,"t":"Name Default Value Description metrics-server false Enable the metrics server: true|false metrics-server-address 127.0.0.1 Listening address of the metrics server metrics-server-port 8008 Listening HTTP port of the metrics server metrics-logging true Enable metrics logging: true|false","s":"Metrics config","u":"/guides/nwaku/config-options","h":"#metrics-config","p":123},{"i":148,"t":"Name Default Value Description dns-discovery false Enable discovering nodes via DNS dns-discovery-url URL for DNS node list in format 'enrtree://@' dns-discovery-name-server [\"1.1.1.1\", \"1.0.0.1\"] DNS name server IPs to query. Argument may be repeated","s":"DNS discovery config","u":"/guides/nwaku/config-options","h":"#dns-discovery-config","p":123},{"i":150,"t":"Name Default Value Description discv5-discovery false Enable discovering nodes via Node Discovery v5 discv5-udp-port 9000 Listening UDP port for Node Discovery v5 discv5-bootstrap-node Text-encoded ENR for bootstrap node. Used when connecting to the network. Argument may be repeated discv5-enr-auto-update false Discovery can automatically update its ENR with the IP address discv5-table-ip-limit 10 Maximum amount of nodes with the same IP in discv5 routing tables discv5-bucket-ip-limit 2 Maximum amount of nodes with the same IP in discv5 routing table buckets discv5-bits-per-hop 1 Kademlia's b variable, increase for less hops per lookup","s":"Discv5 config","u":"/guides/nwaku/config-options","h":"#discv5-config","p":123},{"i":152,"t":"Name Default Value Description peer-exchange false Enable waku peer exchange protocol (responder side): true|false peer-exchange-node Peer multiaddr to send peer exchange requests to. (enables peer exchange protocol requester side)","s":"Waku peer exchange config","u":"/guides/nwaku/config-options","h":"#waku-peer-exchange-config","p":123},{"i":154,"t":"Name Default Value Description websocket-support false Enable websocket: true|false websocket-port 8000 WebSocket listening port websocket-secure-support false Enable secure websocket: true|false websocket-secure-key-path Secure websocket key path: '/path/to/key.txt' websocket-secure-cert-path Secure websocket Certificate path: '/path/to/cert.txt' tip To configure your node using the provided configuration options, have a look at the Node Configuration Methods guide.","s":"WebSocket config","u":"/guides/nwaku/config-options","h":"#websocket-config","p":123},{"i":156,"t":"This guide provides detailed steps to build a nwaku node from the source code to access the latest development version or a specific commit or release of nwaku. For your convenience, you may want to download a pre-compiled binary instead. info A minimum of 2GB of RAM is required to build nwaku. Nwaku is available for Linux and macOS, with experimental Windows support.","s":"Build Nwaku from Source","u":"/guides/nwaku/build-source","h":"","p":155},{"i":158,"t":"To build nwaku, you need the standard developer tools, including a C compiler, GNU Make, Bash, Git, Rustup, and PostgreSQL client library. Debian and Ubuntu Fedora Arch Linux MacOS (Homebrew) sudo apt-get install build-essential git libpq5 jq curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source \"$HOME/.cargo/env\" sudo dnf install @development-tools git libpq-devel curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Using your favoured AUR helper sudo [AUR HELPER] -S base-devel git postgresql-libs curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh brew install cmake git postgresql@15 rustup-init # Create a symbolic link to libpq.5.dylib in /usr/local/lib/ sudo mkdir -p /usr/local/lib/ sudo ln -s /opt/homebrew/opt/postgresql@15/lib/libpq.5.dylib /usr/local/lib/libpq.dylib","s":"Prerequisites","u":"/guides/nwaku/build-source","h":"#prerequisites","p":155},{"i":160,"t":"Get the source code from the GitHub repository. The default branch is master, the release candidate for major updates. git clone https://github.com/waku-org/nwaku cd nwaku tip You can use git tag -l to check specific version tags.","s":"Clone the repository","u":"/guides/nwaku/build-source","h":"#clone-the-repository","p":155},{"i":162,"t":"Build the nwaku binary: make wakunode2 The first make invocation updates to all Git submodules. After each git pull, run make update to keep the submodules updated in the future. make update","s":"Build the binary","u":"/guides/nwaku/build-source","h":"#build-the-binary","p":155},{"i":164,"t":"Nwaku will create the wakunode2 binary in the ./build/ directory. # Run with default configuration ./build/wakunode2 # See available command line options ./build/wakunode2 --help To learn more about running nwaku, have a look at these guides: Run a Nwaku Node Run Nwaku in a Docker Container Run Nwaku with Docker Compose Node Configuration Methods","s":"Run the binary","u":"/guides/nwaku/build-source","h":"#run-the-binary","p":155},{"i":166,"t":"Run the tests for Waku: make test Congratulations! You have successfully built the nwaku binary from the source code. Have a look at the Node Configuration Examples guide to learn how to configure nwaku for different use cases.","s":"Run test suite","u":"/guides/nwaku/build-source","h":"#run-test-suite","p":155},{"i":168,"t":"Waku nodes can be configured using a combination of the following methods: Command line options and flags Environment variables TOML configuration files (currently the only supported format) Default values info Take note of the precedence order: Each configuration method overrides the one below it (e.g., command line options override environment variables and configuration files).","s":"Node Configuration Methods","u":"/guides/nwaku/config-methods","h":"","p":167},{"i":170,"t":"Node configuration is primarily done using command line options, which override other methods. Specify configuration options by providing them in this format after the binary name: ./build/wakunode2 --tcp-port=65000 When running your node with Docker, provide the command line options after the image name in this format: docker run statusteam/nim-waku --tcp-port=65000","s":"Command line options","u":"/guides/nwaku/config-methods","h":"#command-line-options","p":167},{"i":172,"t":"Nodes can be configured using environment variables by prefixing the variable name with WAKUNODE2_ and using the configuration option in SCREAMING_SNAKE_CASE format. To set the tcp-port configuration, the wakunode2 binary should be called in this format: WAKUNODE2_TCP_PORT=65000 ./build/wakunode2 When running your node with Docker, start the node using the -e command option: docker run -e \"WAKUNODE2_TCP_PORT=65000\" statusteam/nim-waku info This is the second configuration method in order of precedence. Command Line Options override environment variables.","s":"Environment variables","u":"/guides/nwaku/config-methods","h":"#environment-variables","p":167},{"i":174,"t":"Nodes can be configured using a configuration file following the TOML format: TOML Config File log-level = \"DEBUG\" tcp-port = 65000 topic = [\"/waku/2/default-waku/proto\"] metrics-logging = false The config-file configuration option lets you specify the configuration file path: ./build/wakunode2 --config-file=[TOML CONFIGURATION FILE] You can also specify the configuration file via environment variables: # Using environment variables WAKUNODE2_CONFIG_FILE=[TOML CONFIGURATION FILE] ./build/wakunode2 # Using environment variables with Docker docker run -e \"WAKUNODE2_CONFIG_FILE=[TOML CONFIGURATION FILE]\" statusteam/nim-waku info This is the third configuration method in order of precedence. Command Line Options and Environment Variables override configuration files.","s":"Configuration files","u":"/guides/nwaku/config-methods","h":"#configuration-files","p":167},{"i":176,"t":"The default configuration is used when no other options are specified. By default, a nwaku node does the following: Generate a new Node Key and PeerID. Listen for incoming libp2p connections on the default TCP port (60000). Subscribe to the default Pub/Sub topic (/waku/2/default-waku/proto). Start the JSON-RPC server on the default port (8545). Enable the Relay protocol for relaying messages. Enable the Store protocol as a client, allowing it to query peers for historical messages but not store any message itself. To see the default values of all configuration options, run wakunode2 --help: ./build/wakunode2 --help tip To explore the available node configuration options, have a look at the Node Configuration Options guide.","s":"Default configuration values","u":"/guides/nwaku/config-methods","h":"#default-configuration-values","p":167},{"i":178,"t":"caution Currently, the JavaScript Waku SDK (@waku/sdk) is NOT compatible with React Native. We plan to add support for React Native in the future. The @waku/react package provides components and UI adapters to integrate @waku/sdk into React applications effortlessly. This guide provides detailed steps for using @waku/react in your project.","s":"Build React DApps Using @waku/react","u":"/guides/js-waku/use-waku-react","h":"","p":177},{"i":180,"t":"First, set up a project using any production-grade React framework or an existing React application. For this guide, we will create a boilerplate using ViteJS: NPM Yarn npm create vite@latest [PROJECT DIRECTORY] -- --template react yarn create vite [PROJECT DIRECTORY] --template react Next, install the required packages for integrating @waku/sdk using your preferred package manager: NPM Yarn npm install @waku/react @waku/sdk protobufjs yarn add @waku/react @waku/sdk protobufjs","s":"Install the dependencies","u":"/guides/js-waku/use-waku-react","h":"#install-the-dependencies","p":177},{"i":182,"t":"In the main.jsx file, which serves as the entry point for a React app, we will set up the LightNodeProvider context provider to wrap the entire application within the Waku provider. Import the following on top of your file: src/main.jsx import { LightNodeProvider } from \"@waku/react\"; // Set the Light Node options const NODE_OPTIONS = { defaultBootstrap: true }; ReactDOM.createRoot(document.getElementById('root')).render( // Use the Light Node context provider , ) Next, create and start a Light Node using the useWaku() function within the App.jsx file: src/App.jsx import { useWaku } from \"@waku/react\"; function App() { // Create and start a Light Node const { node, error, isLoading } = useWaku(); // \"node\" is the created Light Node // \"error\" captures any error that occurs during node creation // \"isLoading\" indicates whether the node is still being created }","s":"Initialise the Waku provider","u":"/guides/js-waku/use-waku-react","h":"#initialise-the-waku-provider","p":177},{"i":184,"t":"Let's build a user interface for sending messages and viewing past messages, modify the App.jsx file with the following code block: src/App.jsx import { useState, useEffect } from 'react'; import { useWaku } from \"@waku/react\"; import { createEncoder, createDecoder } from \"@waku/sdk\"; import protobuf from 'protobufjs'; import './App.css' function App() { const [inputMessage, setInputMessage] = useState(\"\"); const [messages, setMessages] = useState([]); // Update the inputMessage state as the user input changes const handleInputChange = (e) => { setInputMessage(e.target.value); }; // Create and start a Light Node const { node, error, isLoading } = useWaku(); // Create a message encoder and decoder const contentTopic = \"/waku-react-guide/1/chat/proto\"; const encoder = createEncoder({ contentTopic }); const decoder = createDecoder(contentTopic); // Create a message structure using Protobuf const ChatMessage = new protobuf.Type(\"ChatMessage\") .add(new protobuf.Field(\"timestamp\", 1, \"uint64\")) .add(new protobuf.Field(\"message\", 2, \"string\")); // Send the message using Light Push const sendMessage = async () => {} return ( <>

Waku React Demo

{messages.map((message, index) => (
{new Date(message.timestamp).toUTCString()}
{message.message}
))}
) } export default App info In the code above, we also created a message encoder and decoder using the createEncoder() and createDecoder() functions, along with the application message structure with Protobuf. Next, modify the App.css file with the following code block: src/App.css #root { margin: 0 auto; } .chat-interface { display: flex; flex-direction: column; height: 100vh; border: 1px solid #ccc; } .chat-body { flex-grow: 1; overflow-y: auto; padding: 10px; } .message-text { background-color: #f1f1f1; color: #000; padding: 10px; margin-bottom: 10px; } .chat-footer { display: flex; padding: 10px; background-color: #f1f1f1; align-items: center; } #message-input { flex-grow: 1; border-radius: 4px; padding: 10px; margin-right: 10px; } .send-button { background-color: #007bff; border-radius: 4px; }","s":"Build the application interface","u":"/guides/js-waku/use-waku-react","h":"#build-the-application-interface","p":177},{"i":186,"t":"To send messages in our application, we need to modify the sendMessage() function to serialize user input into our Protobuf structure and push it to the network using the useLightPush() function: src/App.jsx import { useLightPush } from \"@waku/react\"; function App() { // Bind push method to a node and encoder const { push } = useLightPush({ node, encoder }); // Send the message using Light Push const sendMessage = async () => { if (!push || inputMessage.length === 0) return; // Create a new message object const timestamp = Date.now(); const protoMessage = ChatMessage.create({ timestamp: timestamp, message: inputMessage }); // Serialise the message and push to the network const payload = ChatMessage.encode(protoMessage).finish(); const { recipients, errors } = await push({ payload, timestamp }); // Check for errors if (errors.length === 0) { setInputMessage(\"\"); console.log(\"MESSAGE PUSHED\"); } else { console.log(errors); } }; }","s":"Send messages using light push","u":"/guides/js-waku/use-waku-react","h":"#send-messages-using-light-push","p":177},{"i":188,"t":"To display messages in our application, we need to use the useFilterMessages() function to create a Filter subscription, receive incoming messages, and render them in our interface: src/App.jsx import { useFilterMessages } from \"@waku/react\"; function App() { // Receive messages from Filter subscription const { messages: filterMessages } = useFilterMessages({ node, decoder }); // Render the list of messages useEffect(() => { setMessages(filterMessages.map((wakuMessage) => { if (!wakuMessage.payload) return; return ChatMessage.decode(wakuMessage.payload); })); }, [filterMessages]); }","s":"Receive messages using filter","u":"/guides/js-waku/use-waku-react","h":"#receive-messages-using-filter","p":177},{"i":190,"t":"To display messages from the past, we need to retrieve them from the Store protocol using the useStoreMessages() function when our application initialises and then render them alongside newly received messages: src/App.jsx import { useFilterMessages, useStoreMessages } from \"@waku/react\"; function App() { // Query Store peers for past messages const { messages: storeMessages } = useStoreMessages({ node, decoder }); // Receive messages from Filter subscription const { messages: filterMessages } = useFilterMessages({ node, decoder }); // Render both past and new messages useEffect(() => { const allMessages = storeMessages.concat(filterMessages); setMessages(allMessages.map((wakuMessage) => { if (!wakuMessage.payload) return; return ChatMessage.decode(wakuMessage.payload); })); }, [filterMessages, storeMessages]); } info To explore the available Store query options, have a look at the Retrieve Messages Using Store Protocol guide. tip You have successfully integrated @waku/sdk into a React application using the @waku/react package. Have a look at the web-chat example for a working demo.","s":"Retrieve messages using store","u":"/guides/js-waku/use-waku-react","h":"#retrieve-messages-using-store","p":177},{"i":192,"t":"This guide provides detailed steps to configure a nwaku node to discover and connect with peers in the Waku Network. info You can configure a nwaku node to use multiple peer discovery mechanisms simultaneously.","s":"Configure Peer Discovery","u":"/guides/nwaku/configure-discovery","h":"","p":191},{"i":194,"t":"You can provide static peers to a nwaku node during startup using the staticnode configuration option. To connect to multiple peers on startup, repeat the staticnode option: ./build/wakunode2 \\ --staticnode=[PEER MULTIADDR 1] \\ --staticnode=[PEER MULTIADDR 2] For example, consider a nwaku node that connects to two static peers on the same local host (IP: 0.0.0.0) using TCP ports 60002 and 60003: ./build/wakunode2 \\ --staticnode=/ip4/0.0.0.0/tcp/60002/p2p/16Uiu2HAkzjwwgEAXfeGNMKFPSpc6vGBRqCdTLG5q3Gmk2v4pQw7H \\ --staticnode=/ip4/0.0.0.0/tcp/60003/p2p/16Uiu2HAmFBA7LGtwY5WVVikdmXVo3cKLqkmvVtuDu63fe8safeQJ","s":"Configure static peers","u":"/guides/nwaku/configure-discovery","h":"#configure-static-peers","p":191},{"i":196,"t":"To enable DNS Discovery in a nwaku node, use the following configuration options: dns-discovery: Enables DNS Discovery on the node (disabled by default). dns-discovery-url: URL for DNS node list in the format enrtree://@ where is the fully qualified domain name and is the base32 encoding of the compressed 32-byte public key that signed the list at that location. dns-discovery-name-server (optional): DNS name server IPs to query. You can repeat this option to provide multiple DNS name servers. ./build/wakunode2 \\ --dns-discovery=true \\ --dns-discovery-url=enrtree://[PUBLIC KEY]@[DOMAIN NAME] \\ --dns-discovery-name-server=[DNS NAME SERVER IP] info If you omit the dns-discovery-name-server option, nwaku will attempt to use the CloudFlare servers 1.1.1.1 and 1.0.0.1. For example, consider a nwaku node that enables DNS Discovery, connects to a DNS node list, and queries the IPs 8.8.8.8 and 8.8.4.4: ./build/wakunode2 \\ --dns-discovery=true \\ --dns-discovery-url=enrtree://ANEDLO25QVUGJOUTQFRYKWX6P4Z4GKVESBMHML7DZ6YK4LGS5FC5O@prod.wakuv2.nodes.status.im \\ --dns-discovery-name-server=8.8.8.8 \\ --dns-discovery-name-server=8.8.4.4","s":"Configure DNS discovery","u":"/guides/nwaku/configure-discovery","h":"#configure-dns-discovery","p":191},{"i":198,"t":"To enable Discv5 in a nwaku node, use the following configuration options: discv5-discovery: Enables Discv5 on the node (disabled by default). discv5-bootstrap-node: ENR for Discv5 routing table bootstrap node. You can repeat this option to provide multiple bootstrap entries. ./build/wakunode2 \\ --discv5-discovery=true \\ --discv5-bootstrap-node=[DISCV5 ENR BOOTSTRAP ENTRY 1] \\ --discv5-bootstrap-node=[DISCV5 ENR BOOTSTRAP ENTRY 2] For example, consider a nwaku node that enables Discv5 and bootstraps its routing table using a static ENR: ./build/wakunode2 \\ --discv5-discovery=true \\ --discv5-bootstrap-node=enr:-IO4QDxToTg86pPCK2KvMeVCXC2ADVZWrxXSvNZeaoa0JhShbM5qed69RQz1s1mWEEqJ3aoklo_7EU9iIBcPMVeKlCQBgmlkgnY0iXNlY3AyNTZrMaEDdBHK1Gx6y_zv5DVw5Qb3DtSOMmVHTZO1WSORrF2loL2DdWRwgiMohXdha3UyAw info When Discv5 is enabled and used with DNS Discovery, the nwaku node will attempt to bootstrap the Discv5 routing table by extracting ENRs from peers discovered through DNS.","s":"Configure Discv5","u":"/guides/nwaku/configure-discovery","h":"#configure-discv5","p":191},{"i":200,"t":"To enable Peer Exchange in a nwaku node, use the following configuration options: peer-exchange: Enables Peer Exchange on the node as a responder (disabled by default). peer-exchange-node (optional): Multiaddr for bootstrap node with the peer exchange protocol enabled. ./build/wakunode2 \\ --peer-exchange=true \\ --peer-exchange-node=[PEER MULTIADDR WITH EXCHANGE ENABLED] For example, consider two nwaku nodes configured as a server (peer exchange responder node) and client (node using peer exchange) on the same local host (IP: 0.0.0.0): Server: Nwaku Node with Peer Exchange Enabled ./build/wakunode2 --peer-exchange=true Client: Nwaku Node Bootstrapping with Peer Exchange ./build/wakunode2 \\ --tcp-port=30305 \\ --ports-shift=1 \\ --peer-exchange-node=/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmLCe6zVqCS6KMqqRbbhyoJjfYZGr1Q3thTSbyKzibQkFR info nwaku provides a relay-peer-exchange option via libp2p for peer exchange, allowing network growth through neighbouring nodes. However, this feature can compromise security and network robustness, so we recommend only using it in high-trust environments.","s":"Configure peer exchange","u":"/guides/nwaku/configure-discovery","h":"#configure-peer-exchange","p":191},{"i":202,"t":"This guide provides detailed steps to build and run a nwaku node in a Docker container. If you prefer a pre-configured setup with a monitoring dashboard, see the Run Nwaku with Docker Compose guide.","s":"Run Nwaku in a Docker Container","u":"/guides/nwaku/run-docker","h":"","p":201},{"i":204,"t":"Ensure Docker is installed on your system using the appropriate instructions provided in the Docker documentation.","s":"Prerequisites","u":"/guides/nwaku/run-docker","h":"#prerequisites","p":201},{"i":206,"t":"The Nwaku Docker images are available on the Docker Hub public registry under the statusteam/nim-waku repository. Please visit statusteam/nim-waku/tags for images of specific releases. You can also build the Docker image locally: # Clone the repository git clone --recurse-submodules https://github.com/waku-org/nwaku cd nwaku # Build docker image make docker-image","s":"Get Docker image","u":"/guides/nwaku/run-docker","h":"#get-docker-image","p":201},{"i":208,"t":"Run nwaku in a new Docker container: docker run [OPTIONS] [IMAGE] [ARG...] OPTIONS are your selected Docker options IMAGE is the image and tag you pulled from the registry or built locally ARG... is the list of arguments for your node configuration options Run nwaku using the most typical configuration: docker run -i -t -p 60000:60000 -p 9000:9000/udp statusteam/nim-waku:v0.20.0 \\ --dns-discovery=true \\ --dns-discovery-url=enrtree://ANEDLO25QVUGJOUTQFRYKWX6P4Z4GKVESBMHML7DZ6YK4LGS5FC5O@prod.wakuv2.nodes.status.im \\ --discv5-discovery=true \\ --rpc-address=0.0.0.0 \\ --nat=extip:[YOUR PUBLIC IP] # or, if you are behind a nat: --nat=any To find your public IP, use: dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'\"' '{ print $2}' tip We recommend using explicit port mappings (-p) when exposing ports accessible from outside the host (listening and discovery ports, API servers). Congratulations! You have successfully built and started a nwaku node in a Docker container. Have a look at the Node Configuration Examples guide to learn how to configure nwaku for different use cases.","s":"Run Docker container","u":"/guides/nwaku/run-docker","h":"#run-docker-container","p":201},{"i":210,"t":"This guide provides detailed steps to configure a nwaku node for different use cases.","s":"Node Configuration Examples","u":"/guides/nwaku/configure-nwaku","h":"","p":209},{"i":212,"t":"To join the Waku Network, nodes must bootstrap for an entry point before discovering more peers. Nwaku provides multiple peer discovery mechanisms: Configure Static Peers Configure DNS Discovery Configure Discv5 Configure Peer Exchange","s":"Connect to other peers","u":"/guides/nwaku/configure-nwaku","h":"#connect-to-other-peers","p":209},{"i":214,"t":"You can set up an IPv4 DNS domain name that resolves to the public IPv4 address of a node using the dns4-domain-name option. This allows the node's publicly announced multiaddrs to use the /dns4 scheme. ./build/wakunode2 --dns4-domain-name=[DOMAIN NAME] For example, consider the domain name nwakunode.com, which resolves to a nwaku node: ./build/wakunode2 --dns4-domain-name=nwakunode.com Browser nodes can only connect to nodes with a domain name and secure WebSocket (wss) configured. These nodes will generate a discoverable ENR with /wss as the multiaddr and /dns4 as the domain name. This configuration is essential for verifying domain certificates when establishing a secure connection. info This example describes configuring a domain name that resolves to your node's IP address and is unrelated to DNS Discovery. tip You can use the domain name provided by your cloud provider to configure the domain name for your node.","s":"Configure a domain name","u":"/guides/nwaku/configure-nwaku","h":"#configure-a-domain-name","p":209},{"i":216,"t":"To enable message caching and serve them to network peers, enable the Store protocol using the following configuration options: store: Enables storing messages to serve them to peers (disabled by default). store-message-retention-policy: Retention policy of the store node (how long messages will be persisted). Three different retention policies are supported: Time retention policy: time: (e.g., time:14400) Capacity retention policy: capacity: (e.g, capacity:25000) Size retention policy: size: (e.g, size:512MB or size:10GB) Set this option to none to disable the retention policy. If you omit this option, it will default to time:172800 (48 hours). store-message-db-url: Database connection URL for persisting messages in the SQLAlchemy database URL format. Setting this option to an empty string will instruct the node to use the fallback in-memory message store. If you omit this option, it will default to sqlite://store.sqlite3. ./build/wakunode2 \\ --store=true \\ --store-message-retention-policy=[MESSAGE RETENTION POLICY] \\ --store-message-db-url=[DATABASE CONNECTION URL] For example, consider a nwaku node that is configured to be a Store protocol and retain messages received in the last 21600 seconds (6 hours): ./build/wakunode2 \\ --store=true \\ --store-message-retention-policy=time:21600 \\ --store-message-db-url=sqlite://store.sqlite3 You can configure nwaku as a Store client using the storenode option. This allows the node to query peers for historical messages but not store any message itself. ./build/wakunode2 --storenode=[STORE PEER MULTIADDR] For example, consider a nwaku node that does not persist messages but can query peers for historical messages: ./build/wakunode2 --storenode=/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/30303/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD","s":"Configure store protocol and message store","u":"/guides/nwaku/configure-nwaku","h":"#configure-store-protocol-and-message-store","p":209},{"i":218,"t":"Nodes generate new random key pairs at each boot, leading to different multiaddrs. To maintain consistency, you can use a pre-generated private key with the nodekey option: ./build/wakunode2 --nodekey=[NODE PRIVATE KEY] This option takes a Secp256k1 private key (64-char hex string). On Linux, you can use the OpenSSL rand command for a pseudo-random 32-byte hex string: openssl rand -hex 32 # 286cae9f2990bfc49dafdd3a9e737f56ddba3656e5e427108cef456fb67680e8 On Linux, you can create a reusable key file using OpenSSL. To get the 32-byte private key in hex format, use the ecparam command and some standard utilities: # Generate key file openssl ecparam -genkey -name secp256k1 -out my_private_key.pem # Extract 32-byte private key openssl ec -in my_private_key.pem -outform DER | tail -c +8 | head -c 32| xxd -p -c 32 # read EC key # writing EC key # 286cae9f2990bfc49dafdd3a9e737f56ddba3656e5e427108cef456fb67680e8 You can use the output 286cae9f2990bfc49dafdd3a9e737f56ddba3656e5e427108cef456fb67680e8 as a Node Key for nwaku: ./build/wakunode2 --nodekey=286cae9f2990bfc49dafdd3a9e737f56ddba3656e5e427108cef456fb67680e8","s":"Generate and configure a node key","u":"/guides/nwaku/configure-nwaku","h":"#generate-and-configure-a-node-key","p":209},{"i":220,"t":"WebSocket is the only transport method browser nodes support using @waku/sdk. To enable WebSocket in nwaku to serve browser peers, use the following configuration options: websocket-support: Enables WebSocket (ws) on the node (disabled by default). websocket-port (optional): WebSocket listening port. If you omit this option, it will default to 8000. websocket-secure-support: Enables Secure WebSocket (wss) on the node (disabled by default). websocket-secure-key-path: Secure WebSocket key path. websocket-secure-cert-path: Secure WebSocket Certificate path. ./build/wakunode2 \\ --websocket-support=true \\ --websocket-port=[WEBSOCKET LISTENING PORT] \\ --websocket-secure-support=true \\ --websocket-secure-key-path=[SECURE WEBSOCKET KEY PATH] \\ --websocket-secure-cert-path=[SECURE WEBSOCKET CERTIFICATE PATH] For example, consider a nwaku node that enabled WebSocket (unencrypted) for local testing on port 8001: ./build/wakunode2 \\ --websocket-support=true \\ --websocket-port=8001 Consider a nwaku node that enabled Secure WebSocket (encrypted) using its key and certificate (privkey.pem and fullchain.pem) on port 8002: ./build/wakunode2 \\ --websocket-secure-support=true \\ --websocket-secure-key-path=privkey.pem \\ --websocket-secure-cert-path=fullchain.pem \\ --websocket-port=8002 tip You can use Let's Encrypt or Certbot to generate a valid certificate for your nwaku node: sudo certbot certonly -d ","s":"Configure WebSocket transport","u":"/guides/nwaku/configure-nwaku","h":"#configure-websocket-transport","p":209},{"i":222,"t":"Nwaku provides a REST API to interact with the node and Waku Network. To enable the REST API, use the following configuration options: rest: Enables the REST API server on the node (disabled by default). rest-address (optional): Listening address of the REST API server. If you omit this option, it will default to 127.0.0.1. rest-port (optional): Listening port of the REST API server. If you omit this option, it will default to 8645. rest-relay-cache-capacity (optional): Capacity of the Relay REST API message cache. If you omit this option, it will default to 30. rest-admin (optional): Enables access to REST admin API (disabled by default). rest-private (optional): Enables access to REST private API (disabled by default). ./build/wakunode2 \\ --rest=true \\ --rest-address=[REST SERVER LISTENING ADDRESS] \\ --rest-port=[REST SERVER LISTENING PORT] \\ --rest-relay-cache-capacity=[MESSAGE CACHE CAPACITY] \\ --rest-admin=[true|false] \\ --rest-private=[true|false] For example, consider a nwaku node that enabled the REST API server on port 9000: ./build/wakunode2 \\ --rest=true \\ --rest-port=9000 \\ --rest-address=127.0.0.1 Consider a nwaku node that enabled the REST admin and private API with a message cache capacity of 100: ./build/wakunode2 \\ --rest=true \\ --rest-admin=true \\ --rest-private=true \\ --rest-relay-cache-capacity=100","s":"Configure REST API server","u":"/guides/nwaku/configure-nwaku","h":"#configure-rest-api-server","p":209},{"i":224,"t":"To enable nwaku to serve light clients, enable the Filter protocol using filter option: ./build/wakunode2 --filter=true You can configure nwaku as a Filter client using the filternode and filter-timeout options. This allows the node to request content filtering of messages from peers. ./build/wakunode2 \\ --filternode=[FILTER PEER MULTIADDR] \\ --filter-timeout=[FILTER PEER TIMEOUT] For example, consider a nwaku node that requests content filtering of messages from peers with a timeout of 21600 seconds (6 hours): ./build/wakunode2 \\ --filternode=/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/30303/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD \\ --filter-timeout=21600 info If you omit the filter-timeout option, it will default to 14400 seconds (4 hours).","s":"Configure filter protocol","u":"/guides/nwaku/configure-nwaku","h":"#configure-filter-protocol","p":209},{"i":226,"t":"To enable nwaku to serve light clients, enable the Light Push protocol using the lightpush option: ./build/wakunode2 --lightpush=true You can configure nwaku as a Light Push client using the lightpushnode option. This allows the node to request lightpush of published messages from peers. ./build/wakunode2 --lightpushnode=[LIGHT PUSH PEER MULTIADDR] For example, consider a nwaku node that requests lightpush of published messages from peers: ./build/wakunode2 --lightpushnode=/dns4/node-01.ac-cn-hongkong-c.wakuv2.prod.statusim.net/tcp/30303/p2p/16Uiu2HAm4v86W3bmT1BiH6oSPzcsSr24iDQpSN5Qa992BCjjwgrD","s":"Configure light push protocol","u":"/guides/nwaku/configure-nwaku","h":"#configure-light-push-protocol","p":209},{"i":228,"t":"When using a reverse proxy server for SSL/TLS encryption, you only want to announce the proxy server's IP or domain. Nwaku provides the ext-multiaddr-only and ext-multiaddr options for specifying published multiaddr: ./build/wakunode2 \\ --ext-multiaddr-only=true \\ --ext-multiaddr=[MULTIADDR TO PUBLISH] info The ext-multiaddr-only option takes precedence over the nat and dns4-domain-name options, using the values provided by the ext-multiaddr option instead.","s":"Run nwaku behind a reverse proxy","u":"/guides/nwaku/configure-nwaku","h":"#run-nwaku-behind-a-reverse-proxy","p":209},{"i":230,"t":"Nwaku is a lightweight and robust Nim client for running a Waku node, equipped with tools to monitor and maintain a running node. Nwaku is highly configurable, enabling operators to select the protocols they want to support based on their needs, motivations, and available resources. This guide provides detailed steps to download, build, configure, and connect a nwaku node to the Waku Network. It also includes interacting with the node and finding its addresses. info We recommend running a nwaku node with at least 2GB of RAM, especially if you have WSS enabled. If running just a Relay node, 0.5GB of RAM is sufficient.","s":"Run a Nwaku Node","u":"/guides/nwaku/run-node","h":"","p":229},{"i":232,"t":"To run a node, you must have the nwaku binary. Nwaku provides multiple options for running a node: Run nwaku in Docker (recommended)​ Description Documentation Docker Compose Run a nwaku node with Docker Compose Run Nwaku with Docker Compose Docker Container Run a nwaku node in a Docker Container Run Nwaku in a Docker Container tip We recommend using Docker Compose to run a node because it's the simplest and fastest way to configure and run one. Download the binary​ Description Documentation Precompiled Binary Download a precompiled binary of the nwaku node Download Nwaku Binary Nightly Release Try the latest nwaku updates without compiling the binaries Download Nightly Release Build the binary​ Description Documentation Build from Source Build the node from the nwaku source code Build Nwaku from Source tip You can run the nwaku binaries and Docker images on cloud service providers like Google Cloud, Microsoft Azure, Amazon Web Services, and DigitalOcean.","s":"Get the node binary","u":"/guides/nwaku/run-node","h":"#get-the-node-binary","p":229},{"i":234,"t":"Once you have gotten the nwaku binary, run it using the default configuration: # Run with default configuration ./build/wakunode2 # See available command line options ./build/wakunode2 --help tip To learn how to customise the configuration of a nwaku node, have a look at the Node Configuration Methods and Node Configuration Examples guides.","s":"Run the node","u":"/guides/nwaku/run-node","h":"#run-the-node","p":229},{"i":236,"t":"To join the Waku Network, nodes must bootstrap for an entry point before discovering more peers. Nwaku provides multiple peer discovery mechanisms: Description Documentation Static Peers Configure the bootstrap nodes that nwaku should establish connections upon startup Configure Static Peers DNS Discovery Enable nwaku to bootstrap nodes using the DNS Discovery mechanism Configure DNS Discovery Discv5 Enable nwaku to discover peers using the Discv5 mechanism Configure Discv5 Peer Exchange Enable Peer Exchange protocol for light nodes to request peers from your nwaku node Configure Peer Exchange info You can configure a nwaku node to use multiple peer discovery mechanisms simultaneously.","s":"Bootstrap the node","u":"/guides/nwaku/run-node","h":"#bootstrap-the-node","p":229},{"i":238,"t":"You can interact with a running nwaku node through the REST API, such as querying the node information using the Get node info endpoint: Request Response curl --location 'http://127.0.0.1:8645/debug/v1/info' \\ --header 'Accept: application/json' { \"listenAddresses\": [ \"/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmUbPquFQqje3jiqoB5YoiUbBya59NB4qqEzeiTNGHeA6w\" ], \"enrUri\": \"enr:-Iu4QCQZXZDb_JsYmLoYor0F5E_95HbIywgO_wgx2rIdDbmCJZkTzmlCr0wmMzV47lgik_tVwww5mIng90Ris83TisMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQPszztG-Ev52ZB7tk0jF8s6Md4KvyY_rhzNZokaaB_ABIN0Y3CC6mCFd2FrdTIB\" } info The listenAddresses field stores the node's listening addresses, while the enrUri field stores the discoverable ENR URI for peer discovery. tip We suggest configuring WebSocket transport for your node to enable support and serving of browser peers using @waku/sdk.","s":"Interact with the node","u":"/guides/nwaku/run-node","h":"#interact-with-the-node","p":229},{"i":240,"t":"You can find the addresses of a running node through its logs or by calling the Get node info endpoint of the REST API. info When starting the node, nwaku will display all the public listening and discovery addresses at the INFO log level.","s":"Find the node addresses","u":"/guides/nwaku/run-node","h":"#find-the-node-addresses","p":229},{"i":242,"t":"Look for the log entry that begins with Listening on, for example: Nwaku Log Output INF 2023-06-15 16:09:54.448+01:00 Listening on topics=\"waku node\" tid=1623445 file=waku_node.nim:922 full=[/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn][/ip4/0.0.0.0/tcp/8000/ws/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn] # Listening TCP transport address /ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn # Listening WebSocket address /ip4/0.0.0.0/tcp/8000/ws/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn","s":"Listening addresses","u":"/guides/nwaku/run-node","h":"#listening-addresses","p":229},{"i":244,"t":"A nwaku node can encode its addressing information in an Ethereum Node Record (ENR) following the WAKU2-ENR specification, primarily for peer discovery. ENR for DNS discovery​ Look for the log entry that begins with DNS: discoverable ENR, for example: Nwaku Log Output INF 2023-06-15 16:09:54.448+01:00 DNS: discoverable ENR topics=\"waku node\" tid=1623445 file=waku_node.nim:923 enr=enr:-Iu4QBKYj8Ovxwz4fIalxZ_1a8dOCU2WC-1LQrcBCCb4Np93f9-UuSZXn3vagJL1S3k3hwRYfOp3JSbW7_VqwtqMIeMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQOrmyV59dAzY4ZKrvrj32VOoZbLby8dCKFnXnqhIdQ0NYN0Y3CC6mCFd2FrdTIB # ENR the node addresses are encoded in enr:-Iu4QBKYj8Ovxwz4fIalxZ_1a8dOCU2WC-1LQrcBCCb4Np93f9-UuSZXn3vagJL1S3k3hwRYfOp3JSbW7_VqwtqMIeMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQOrmyV59dAzY4ZKrvrj32VOoZbLby8dCKFnXnqhIdQ0NYN0Y3CC6mCFd2FrdTIB ENR for Discv5​ Look for the log entry that begins with Discv5: discoverable ENR, for example: Nwaku Log Output INF 2023-06-15 16:09:54.448+01:00 Discv5: discoverable ENR topics=\"waku node\" tid=1623445 file=waku_node.nim:924 enr=enr:-IO4QDxToTg86pPCK2KvMeVCXC2ADVZWrxXSvNZeaoa0JhShbM5qed69RQz1s1mWEEqJ3aoklo_7EU9iIBcPMVeKlCQBgmlkgnY0iXNlY3AyNTZrMaEDdBHK1Gx6y_zv5DVw5Qb3DtSOMmVHTZO1WSORrF2loL2DdWRwgiMohXdha3UyAw # ENR the node addresses are encoded in enr:-IO4QDxToTg86pPCK2KvMeVCXC2ADVZWrxXSvNZeaoa0JhShbM5qed69RQz1s1mWEEqJ3aoklo_7EU9iIBcPMVeKlCQBgmlkgnY0iXNlY3AyNTZrMaEDdBHK1Gx6y_zv5DVw5Qb3DtSOMmVHTZO1WSORrF2loL2DdWRwgiMohXdha3UyAw Congratulations! You have successfully started, configured, and connected a nwaku node to the Waku Network. Have a look at the Node Configuration Examples guide to learn how to configure nwaku for different use cases.","s":"Discoverable ENR addresses","u":"/guides/nwaku/run-node","h":"#discoverable-enr-addresses","p":229},{"i":246,"t":"Discv5 is a decentralised and efficient peer discovery mechanism for the Waku Network. It uses a Distributed Hash Table (DHT) for storing ENR records, providing resistance to censorship. Discv5 offers a global view of participating nodes, enabling random sampling for load distribution. It uses bootstrap nodes as an entry point to the network, providing randomised sets of nodes for mesh expansion. Have a look at the Discv5 specification to learn more. Pros​ Decentralised with random sampling from a global view. Continuously researched and improved. Cons​ Requires lots of connections and involves frequent churn. Relies on User Datagram Protocol (UDP), which is not supported in web browsers.","s":"Discv5","u":"/learn/concepts/discv5","h":"","p":245},{"i":248,"t":"DNS Discovery protocol is executed. Alice retrieves Bob's ENR (Ethereum Node Record) from DNS Server. Alice executes the Discv5 protocol with Bob using UDP connection details from ENR. Bob returns Carol's, David's and Erin's ENRs to Alice. Alice decodes ENRs and extracts the details of Carol, David, and Erin's TCP and UDP connections. Alice executes the Discv5 protocol with Carol using UDP connection details from ENR. Carol returns Frank's, Gwen's and Harry's ENRs to Alice. Alice decodes ENRs and extracts Frank's, Gwen's and Harry's TCP and UDP connection details. Alice selects to dial David, Frank and Gwen. Alice dials David, Frank and Gwen over libp2p using TCP connection details from ENRs.","s":"Overview","u":"/learn/concepts/discv5","h":"#overview","p":245},{"i":250,"t":"Built upon the foundation of EIP-1459: Node Discovery via DNS, DNS Discovery allows the retrieval of an ENR tree from the TXT field of a domain name. This innovative approach enables the storage of essential node connection details, including IP, port, and multiaddr, using the standardised ENR format. This bootstrapping method allows anyone to register and publish a domain name for the network, promoting increased decentralisation. Pros​ Low latency, low resource requirements. Easy bootstrap list updates by modifying the domain name, eliminating the need for code changes. Ability to reference a larger list of nodes by including other domain names in the code or ENR tree. Cons​ Vulnerable to censorship: Domain names can be blocked or restricted. Limited scalability: The listed nodes are at risk of being overwhelmed by receiving all queries. Also, operators must provide their ENR to the domain owner for listing.","s":"DNS Discovery","u":"/learn/concepts/dns-discovery","h":"","p":249},{"i":252,"t":"DNS lookup query to retrieve TXT data stored on example.com domain. enrtree-root is returned, and the value of e is the enr-root, the root hash of the node subtree. DNS lookup query to retrieve TXT data stored on .example.com domain. enrtree-branch is returned; this tree contains hashes of node subtrees. DNS lookup query to retrieve TXT data stored on DU...VQ.example.com domain, the first leaf of enrtree-branch. enr record is returned. Returned value is decoded, and peer connection details such as IP address and port are learned.","s":"Overview","u":"/learn/concepts/dns-discovery","h":"#overview","p":249},{"i":254,"t":"Waku is a unified and cohesive entity that offers a rich ecosystem with three distinct network interaction domains. These domains serve specialised purposes and contribute to the robust functionality of Waku, forming its foundation.","s":"Network Domains","u":"/learn/concepts/network-domains","h":"","p":253},{"i":256,"t":"Peer discovery in Waku facilitates locating other nodes within the network. As a modular protocol, Waku incorporates various discovery mechanisms, such as Discv5 and Peer Exchange. These mechanisms allow developers to choose the most suitable option(s) for their specific use cases and user environments, including mobile phones, desktop browsers, servers, and more.","s":"Discovery domain","u":"/learn/concepts/network-domains","h":"#discovery-domain","p":253},{"i":258,"t":"GossipSub derives its name from the practice within Pub/Sub networks where peers gossip about the messages they have encountered, thus establishing a message delivery network. Waku employs gossiping through Relay to distribute messages across the network. Additionally, Waku introduces RLN Relay, an experimental mechanism that combines privacy preservation and economic spam protection.","s":"Gossip domain","u":"/learn/concepts/network-domains","h":"#gossip-domain","p":253},{"i":260,"t":"Waku provides a set of protocols to optimise its performance in resource-limited environments like low bandwidth or mostly offline scenarios for multiple purposes. Store enables the retrieval of historical messages. Filter efficiently retrieves a subset of messages to conserve bandwidth. Light Push facilitates message publication for nodes with limited bandwidth and short connection windows.","s":"Request/response domain","u":"/learn/concepts/network-domains","h":"#requestresponse-domain","p":253},{"i":262,"t":"Here is a diagram illustrating the interaction between different protocols within the Waku Network. The Pub/Sub topic pubtopic1 serves as a means of routing messages (the network employs a default Pub/Sub topic) and indicates that it is subscribed to messages on that topic for a relay. Node D serves as a Store and is responsible for persisting messages. Node A creates a WakuMessage msg1 with Content Topic contentTopic1. Node F requests to get messages filtered by Pub/Sub topic pubtopic1 and Content Topic contentTopic1. Node D subscribes F to this filter and will forward messages that match that filter in the future. Node A publishes msg1 on pubtopic1. The message is sent from Node A to Node B and then forwarded to Node D. Node D, upon receiving msg1, stores the message for future retrieval by other nodes and forwards it to Node C. Node D also pushes msg1 to Node F, informing it about the arrival of a new message. At a later time, Node E comes online and requests messages matching pubtopic1 and contentTopic1 from Node D. Node D responds with msg1 and potentially other messages that match the query.","s":"Overview of protocol interaction","u":"/learn/concepts/network-domains","h":"#overview-of-protocol-interaction","p":253},{"i":264,"t":"Content Topics are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages (Relay or Filter) and retrieving historical messages (Store) that meet specific filtering criteria. Have a look at the WAKU2-TOPICS specification to learn more.","s":"Content Topics","u":"/learn/concepts/content-topics","h":"","p":263},{"i":266,"t":"Here is the recommended format for content topics: /{application-name}/{version}/{content-topic-name}/{encoding} application-name: This is the unique name of your decentralised application (DApp) to prevent conflicts with other DApps. version: Typically starting at 1, this field helps track breaking changes in your messages. content-topic-name: The specific name of the content topic used for filtering. encoding: The message encoding or serialisation format, with Protocol Buffers (proto) being the recommended choice. For example, if your DApp is called SuperCrypto and it allows users to receive notifications and send private messages, you can consider using the following content topics: /supercrypto/1/notification/proto /supercrypto/1/private-message/proto tip While you can choose any encoding format for your Content Topic, we highly recommend using Protocol Buffers (proto) because of its efficiency. Choosing a lightweight format ensures optimal performance of your DApp.","s":"Naming format","u":"/learn/concepts/content-topics","h":"#naming-format","p":263},{"i":268,"t":"When choosing a content topic, it is essential to consider the privacy implications. Here are several factors to keep in mind:","s":"Naming considerations","u":"/learn/concepts/content-topics","h":"#naming-considerations","p":263},{"i":270,"t":"The Filter, Store, and Light Push protocols share content topics with peers, allowing them to link IP and content topic interests. The Relay protocol, using GossipSub, provides recipient anonymity, which can be compromised if the content topic exposes user information. For example, instead of using Personally Identifiable Information (PII) in the content topic (e.g., a public key), you can create buckets (e.g., based on the first 4 bytes of the public key hash). info Waku is developing privacy-preserving features like Anonymous Filter Subscription for the Filter protocol and Anonymous Query for the Store protocol to hide content topics from potential adversaries.","s":"Protocols disclose content topics to peers","u":"/learn/concepts/content-topics","h":"#protocols-disclose-content-topics-to-peers","p":263},{"i":272,"t":"You can increase k-anonymity within the network by using a unified content topic across the entire application or targeting specific features like notifications or private messages, allowing multiple users to share it. We recommend switching functionality using the Protocol Buffer (proto) message format. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. For example: message NotificationPayload { ... } message FeatureAbcPayload { ... } // By default, all fields in protobuf are optional so only field may be encoded at a time message Payload { NotificationPayload notification = 1; FeatureAbcPayload feature_abc = 2; }","s":"Increasing k-anonymity preserves user anonymity","u":"/learn/concepts/content-topics","h":"#increasing-k-anonymity-preserves-user-anonymity","p":263},{"i":274,"t":"When an application uses a single content topic, all users using request/response protocols (Filter, Store) receive all its messages. For heavy traffic, developers can create buckets by hashing a unique identifier (e.g., recipient's ID, public key, or app domain topic) and adding its first byte to the content topic, like /my-app/0/a/proto. This approach divides traffic into multiple topics, reducing the messages users have to download. Developers can add more first bytes to the content topic over time to improve efficiency and privacy based on messages and user needs. info The k value of k-anonymity equals the number of IDs for which the first character of the hash is \"a\". For example, using a single content topic in an application with 10,000 users results in k = 10,000. However, using the hash ID's first character, k reduces to 10,000 / 16 = 625.","s":"Creating buckets help in distributing traffic","u":"/learn/concepts/content-topics","h":"#creating-buckets-help-in-distributing-traffic","p":263},{"i":276,"t":"When initialising a Waku node, it must connect with other peers to enable message sending, receiving, and retrieval. To achieve this, a discovery mechanism is employed to locate other peers in the network. This process is known as bootstrapping. Once a connection is established, the node must actively seek out additional peers to have: Sufficient peers in the Relay mesh: The goal is to have at least 6 peers in the mesh. This ensures a robust network where messages can be efficiently relayed. Reserve peers for backup: It is essential to have a surplus of peers available as reserves. These reserves are backups when the current peers become overloaded or experience unexpected disconnections. Peers with specific capabilities: The node seeks out peers with specific capabilities, such as Store, Light Push, or Filter. This allows for targeted interactions and enhanced functionality based on the desired capabilities. Waku supports multiple peer discovery mechanisms, such as: Configuring Static Peers Peer Discovery via DNS Discv5 Ambient Peer Discovery Peer Exchange","s":"Peer Discovery","u":"/learn/concepts/peer-discovery","h":"","p":275},{"i":278,"t":"nwaku-compose is a ready-to-use Docker Compose setup that runs the following: nwaku node running Relay and Store protocols with RLN enabled. Simple frontend to interact with the node and Waku network to send and receive messages. Grafana metrics dashboard for advanced users and node operators to monitor the node. This guide provides detailed steps to configure, run, monitor, and interact with a nwaku node with nwaku-compose.","s":"Run Nwaku with Docker Compose","u":"/guides/nwaku/run-docker-compose","h":"","p":277},{"i":280,"t":"Git or GitHub Desktop Docker and Docker Compose Ethereum Sepolia WebSocket Endpoint Wallet with Sepolia Ethereum (less than 0.1 Sepolia ETH) A password to protect your RLN membership","s":"Prerequisites","u":"/guides/nwaku/run-docker-compose","h":"#prerequisites","p":277},{"i":282,"t":"git clone https://github.com/waku-org/nwaku-compose cd nwaku-compose","s":"Clone the repository","u":"/guides/nwaku/run-docker-compose","h":"#clone-the-repository","p":277},{"i":284,"t":"Docker Compose reads the ./.env file from the filesystem. You can use .env.example as a template to provide the above values. The recommended process for working with .env files is to duplicate .env.example, rename it as .env, and then make the necessary value edits. cp .env.example .env ${EDITOR} .env caution Ensure that you do NOT include any secrets in the .env.example file, as it could accidentally be shared in the Git repository.","s":"Configure the setup","u":"/guides/nwaku/run-docker-compose","h":"#configure-the-setup","p":277},{"i":286,"t":"The RLN membership is your access key to The Waku Network. Its registration is done on-chain, allowing your nwaku node to send messages decentralised and privately, respecting some rate limits. Other peers won't relay messages that exceed the rate limit. This command registers your membership and saves it in the keystore/keystore.json file: ./register_rln.sh info If you only want to relay traffic without sending messages to the network, you don't need to register for RLN membership.","s":"Register for RLN membership","u":"/guides/nwaku/run-docker-compose","h":"#register-for-rln-membership","p":277},{"i":288,"t":"Start all processes: nwaku node, database for storing messages, and Grafana for metrics. Your RLN membership is loaded into nwaku under the hood: docker-compose up -d","s":"Run the node","u":"/guides/nwaku/run-docker-compose","h":"#run-the-node","p":277},{"i":290,"t":"Visit http://localhost:3000/d/yns_4vFVk/nwaku-monitoring to view your node metrics in real time. tip To access Grafana from outside your machine, remove 127.0.0.1 and open the port. Consider setting up a password for Grafana to ensure security.","s":"Interact with the node","u":"/guides/nwaku/run-docker-compose","h":"#interact-with-the-node","p":277},{"i":292,"t":"Your nwaku node provides a REST API on port 8645 for interacting with it: # Get nwaku version curl --location 'http://127.0.0.1:8645/debug/v1/version' # Get nwaku info curl --location 'http://127.0.0.1:8645/debug/v1/info' Send a message to a contentTopic, which all subscribers will receive. Please note that the payload is encoded in base64. curl --location 'http://127.0.0.1:8645/relay/v1/auto/messages' \\ --header 'Content-Type: application/json' \\ --data '{ \"payload\": \"'$(echo -n \"Hello Waku Network - from Anonymous User\" | base64)'\", \"contentTopic\": \"/my-app/2/chatroom-1/proto\", \"timestamp\":'$(date +%s)' }' Retrieve messages sent to a contentTopic. Please note that this query can be made to any Store node within the network: curl --location 'http://127.0.0.1:8645/store/v1/messages?contentTopics=%2Fmy-app%2F2%2Fchatroom-1%2Fproto&pageSize=50&ascending=true' \\ --header 'Accept: application/json' Congratulations! You have successfully started a nwaku node with RLN enabled using Docker Compose. Have a look at the Node Configuration Examples and Advanced Configuration guides to learn how to configure nwaku for different use cases.","s":"Use the REST API","u":"/guides/nwaku/run-docker-compose","h":"#use-the-rest-api","p":277},{"i":294,"t":"The primary objective of this protocol is to facilitate peer connectivity for resource-limited devices without relying on Discv5. The peer exchange protocol enables light nodes to request peers from other nodes within the network. Have a look at the Peer Exchange specification to learn more. info Peer Exchange enables requesting random peers from other network nodes without revealing information about their connectivity or neighbourhood. Pros​ Low resource requirements. Decentralised with random sampling of nodes from a global view using Discv5. Cons​ Decreased anonymity. Imposes additional load on responder nodes.","s":"Peer Exchange","u":"/learn/concepts/peer-exchange","h":"","p":293},{"i":296,"t":"DNS Discovery protocol is executed. Alice retrieves Bob's websocket multiaddr from DNS Server. Alice dials Bob using libp2p protocols. Alice executes a Peer Exchange query to Bob. Bob returns Carol's and David's ENR to Alice. Alice decodes ENRs and extracts Carol's and David's websocket multiaddrs. Alice dials Carol and David. Alice can now drop the connection with Bob (bootstrap node); Alice has 2 connections to the Waku Network.","s":"Overview","u":"/learn/concepts/peer-exchange","h":"#overview","p":293},{"i":298,"t":"Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can either use static peers operated by Status or run a node. Pros​ Low latency. Low resource requirements. Cons​ Vulnerable to censorship: Node IPs can be blocked or restricted. Limited scalability: The number of nodes is fixed and cannot easily be expanded. Maintenance challenges: Updating the node list requires modifying the code, which can be cumbersome and involves releasing and deploying.","s":"Static Peers","u":"/learn/concepts/static-peers","h":"","p":297},{"i":300,"t":"Alice establishes connections with Bob and Carol using their node details, which are predefined (hard-coded) into Alice's node.","s":"Overview","u":"/learn/concepts/static-peers","h":"#overview","p":297},{"i":302,"t":"Waku takes a modular approach, providing a range of protocols that enable applications to control the trade-offs involved in the Anonymity Trilemma. This flexibility empowers applications to make informed choices regarding the desired balance between anonymity, scalability, and latency. Here are the main protocols provided by Waku:","s":"Protocols","u":"/learn/concepts/protocols","h":"","p":301},{"i":304,"t":"Relay protocol employs a Pub/Sub architecture to facilitate the sending and receiving of messages among peers. It extends the libp2p GossipSub protocol to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. It also scales the Waku Network to accommodate many nodes efficiently.","s":"Relay","u":"/learn/concepts/protocols","h":"#relay","p":301},{"i":306,"t":"RLN Relay protocol extends the Relay protocol by using Rate Limit Nullifiers (RLN) to provide efficient and economic spam-prevention. It enforces a rate limit on messages over time for all peers in the network, economically preventing spam, and imposes financial penalties and network removal for spammers. You can find more details in the RLN Relay blog post.","s":"RLN relay","u":"/learn/concepts/protocols","h":"#rln-relay","p":301},{"i":308,"t":"Filter protocol allows light nodes to selectively subscribe to specific messages relayed by other peers using content topics. It is designed to be a lightweight alternative for accessing the Relay network, particularly tailored for devices with limited bandwidth. info Filter protocol helps optimise bandwidth usage, but it has fewer privacy guarantees as it must disclose the content topic to its peers to retrieve messages.","s":"Filter","u":"/learn/concepts/protocols","h":"#filter","p":301},{"i":310,"t":"Store protocol is responsible for storing messages relayed in the network, making it possible to query and retrieve them later. This functionality benefits offline peers by enabling them to retrieve missed messages upon reconnection. info Using Relay and Filter protocols is recommended when a node is online, as Store does not guarantee data availability. The Store protocol is suitable for retrieving messages when connecting to the network, like when a DApp starts.","s":"Store","u":"/learn/concepts/protocols","h":"#store","p":301},{"i":312,"t":"Light Push is a Request/Response protocol for nodes with limited bandwidth and short connection windows. It allows a client to receive an acknowledgement when sending messages, indicating that at least one peer has received them. Subsequently, the remote peer forwards these messages to the Relay network. info While the Light Push protocol acknowledges the receipt by the remote peer, it does not guarantee network-wide propagation.","s":"Light push","u":"/learn/concepts/protocols","h":"#light-push","p":301},{"i":314,"t":"Waku Message specifies the structure and format of messages in the Waku Network. It includes the following attributes: content_topic attribute for content-based filtering. payload attribute containing the message data payload to be sent. meta attribute for conveying additional details to various protocols for application-specific processing. timestamp attribute signifying the time at which the message was generated by its sender. ephemeral attribute specifying whether the network should not persist the message.","s":"Waku message","u":"/learn/concepts/protocols","h":"#waku-message","p":301},{"i":316,"t":"Transports help move data packets across a network by establishing connections between peers. They define the rules and protocols to ensure efficient network transmission, routing, and data delivery. Waku is a transport-agnostic framework that allows developers to choose and support multiple protocols according to their requirements. For Waku nodes, the following transports are recommended: TCP: By default, Waku nodes use TCP for communication. Service nodes should employ TCP for listening to and connecting with other nodes. Secure WebSocket: In browser environments, secure WebSocket is used. Service nodes are encouraged to set up SSL certificates to enable incoming connections from browsers and serve them securely. Other protocols like WebRTC, WebTransport, and QUIC have been researched and studied for potential integration. info Waku ensures compatibility and improved communication capabilities by following these recommended transports.","s":"Transports","u":"/learn/concepts/transports","h":"","p":315},{"i":318,"t":"Waku's protocol layers offer different services and security considerations, shaping the overall security of Waku. We document the security models in the RFCs of the protocols, aiming to provide transparent and open-source references. This empowers Waku users to understand each protocol's security guarantees and limitations. Some of the Waku's security features include the following:","s":"Security Features","u":"/learn/security-features","h":"","p":317},{"i":320,"t":"Waku ensures pseudonymity across its protocol layers, using libp2p PeerID as identifiers instead of disclosing true identities. However, it is important to note that pseudonymity does not provide complete anonymity. Actions performed under the same pseudonym (PeerID) can be linked, leading to the potential re-identification of the actual actor.","s":"Pseudonymity","u":"/learn/security-features","h":"#pseudonymity","p":317},{"i":322,"t":"Anonymity means an adversary cannot connect an actor to their actions or data. To achieve anonymity, avoiding linking activities with actors or their Personally Identifiable Information (PII) is crucial. In Waku, the following anonymity features are provided: Publisher-message unlinkability: Ensures that the publisher of messages in the Relay protocol cannot be linked to their published messages. Subscriber-topic unlinkability: Ensures that the subscriber of topics in the Relay protocol cannot be linked to the topics they have subscribed to.","s":"Anonymity/unlinkability","u":"/learn/security-features","h":"#anonymityunlinkability","p":317},{"i":324,"t":"The spam protection feature in Relay ensures that no adversary can flood the system with many messages, intentionally or not, regardless of the content's validity or usefulness. This protection is achieved through the scoring mechanism of GossipSub v1.1. Peers assign scores to their connections based on their behaviour and remove peers with low scores. Ongoing research is being conducted, including developing Rate Limit Nullifiers (RLN), which can be explored further at: https://github.com/vacp2p/research/issues/148.","s":"Spam protection","u":"/learn/security-features","h":"#spam-protection","p":317},{"i":326,"t":"Confidentiality in Waku is ensured through data encryption, while integrity and authenticity are achieved through digital signatures. These security measures are available in Waku Message (version 1) and Noise protocols, which offer payload encryption and encrypted signatures. Noise protocols also facilitate secure channel negotiation within the Waku Network.","s":"Data confidentiality, integrity, and authenticity","u":"/learn/security-features","h":"#data-confidentiality-integrity-and-authenticity","p":317},{"i":328,"t":"In protocols like Store and Filter, where direct connections are required for the designated service, anonymity or unlinkability is not guaranteed. This is because nodes use their PeerID to identify each other during direct connections, making the service obtained in these protocols linkable to the beneficiary's PeerID, considered Personally Identifiable Information (PII). In Store, the queried node can link the querying node's PeerID to the topics being queried. Similarly, in Filter, a node can link the PeerID of a light node to its content filter.","s":"Security considerations","u":"/learn/security-features","h":"#security-considerations","p":317},{"i":330,"t":"Definitions and usage of the terminology used in the Waku ecosystem.","s":"Waku Docs Glossary","u":"/learn/glossary","h":"","p":329},{"i":332,"t":"Bootstrapping is the initial entry point of a node to the Waku Network. Once connected, other peer discovery methods can be employed to locate other peers in the network.","s":"Bootstrapping","u":"/learn/glossary","h":"#bootstrapping","p":329},{"i":334,"t":"A content topic is a string attached to messages to enable protocol-level features like selective message processing and retrieval based on specific criteria.","s":"Content topic","u":"/learn/glossary","h":"#content-topic","p":329},{"i":336,"t":"Dappnode is an open-source platform that simplifies the hosting and management of decentralised applications and blockchain nodes, including Waku.","s":"Dappnode","u":"/learn/glossary","h":"#dappnode","p":329},{"i":338,"t":"Discv5 is a peer discovery mechanism using a Distributed Hash Table (DHT) to store ENR records, providing censorship resistance, load distribution, and enhanced network resilience.","s":"Discv5","u":"/learn/glossary","h":"#discv5","p":329},{"i":340,"t":"DNS discovery is a peer discovery mechanism that allows the retrieval of an ENR tree from the TXT field of a domain name, enabling the storage of node connection details and promoting decentralisation.","s":"DNS discovery","u":"/learn/glossary","h":"#dns-discovery","p":329},{"i":342,"t":"Ethereum Node Record (ENR) is a specification used to represent and identify nodes, facilitating discovery and communication within the network. Besides connection details, ENR also includes node configuration information like enabled protocol and shards.","s":"ENR","u":"/learn/glossary","h":"#enr","p":329},{"i":344,"t":"Filter is a protocol that enables light nodes to selectively subscribe to specific messages transmitted by peers using content topics. It is designed to be a lightweight alternative for accessing the Relay network.","s":"Filter","u":"/learn/glossary","h":"#filter","p":329},{"i":346,"t":"GossipSub is a protocol for efficient and scalable information dissemination in decentralised networks commonly used in blockchain systems.","s":"GossipSub","u":"/learn/glossary","h":"#gossipsub","p":329},{"i":348,"t":"Libp2p is a modular network stack and protocol suite that allows developers to build decentralised, peer-to-peer applications across various network protocols.","s":"Libp2p","u":"/learn/glossary","h":"#libp2p","p":329},{"i":350,"t":"A light node is a resource-limited device or client that leverages service nodes to access the Relay network.","s":"Light node","u":"/learn/glossary","h":"#light-node","p":329},{"i":352,"t":"Light push is a protocol enabling light nodes to send messages to the Relay network and receive acknowledgements confirming that a peer has received them.","s":"Light push","u":"/learn/glossary","h":"#light-push","p":329},{"i":354,"t":"Mostly offline devices are clients who spend most of their time offline or disconnected from the internet and only occasionally to the internet and Waku Network. Examples include browsers and mobile phones.","s":"Mostly offline","u":"/learn/glossary","h":"#mostly-offline","p":329},{"i":356,"t":"A node is a device or client that implements Waku protocols and leverages the Waku Network to enable secure and private peer-to-peer web3 communication.","s":"Node","u":"/learn/glossary","h":"#node","p":329},{"i":358,"t":"A node key is a Secp256k1 (64-char hex string) private key for generating the PeerID, listening addresses, and discovery addresses of a Waku node.","s":"Node key","u":"/learn/glossary","h":"#node-key","p":329},{"i":360,"t":"Out-of-band refers to exchanging information through a separate, secure channel distinct from the main communication method to enhance security.","s":"Out-of-band","u":"/learn/glossary","h":"#out-of-band","p":329},{"i":362,"t":"The payload field in a Waku Message contains the application data, serving as the business logic message transmitted between clients over Waku. Applications can encrypt the payload or employ encryption methods specified in Waku Message Payload Encryption.","s":"Payload","u":"/learn/glossary","h":"#payload","p":329},{"i":364,"t":"A peer refers to other nodes and participants of the Waku Network with whom communication and interaction are possible.","s":"Peer","u":"/learn/glossary","h":"#peer","p":329},{"i":366,"t":"Peer discovery is when a node locates and gets information about other peers in the Waku Network.","s":"Peer discovery","u":"/learn/glossary","h":"#peer-discovery","p":329},{"i":368,"t":"Peer exchange is a peer discovery mechanism that enables light nodes to request and receive peers from other nodes in the network, allowing them to bootstrap and expand their connections without depending on Discv5.","s":"Peer exchange","u":"/learn/glossary","h":"#peer-exchange","p":329},{"i":370,"t":"PeerID is the unique identifier of a node in the Waku Network generated from the cryptographic hash of the node's public key.","s":"Peer ID","u":"/learn/glossary","h":"#peer-id","p":329},{"i":372,"t":"A protocol is a set of rules that enables nodes within the Waku Network to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more.","s":"Protocol","u":"/learn/glossary","h":"#protocol","p":329},{"i":374,"t":"Publish/Subscribe (Pub/Sub) is an asynchronous messaging pattern where publishers send messages to topics, and subscribers receive messages from topics of interest, allowing efficient one-to-many communication.","s":"Pub/Sub","u":"/learn/glossary","h":"#pubsub","p":329},{"i":376,"t":"A Pub/Sub topic is a string that serves as an identifier for the topic of interest among GossipSub peers. Peers interested in the same topic are likely to maintain a connection and forward messages received on that topic.","s":"Pub/Sub topic","u":"/learn/glossary","h":"#pubsub-topic","p":329},{"i":378,"t":"Rate Limit Nullifiers (RLN) are a construct based on zero-knowledge proofs that enables rate limiting functionality while preserving the users's anonymity.","s":"Rate limit nullifiers","u":"/learn/glossary","h":"#rate-limit-nullifiers","p":329},{"i":380,"t":"Relay is a protocol that extends the GossipSub protocol to enable secure and censorship resistant message sending and receiving among peers while preserving privacy. It also scales the Waku Network to accommodate many nodes efficiently.","s":"Relay","u":"/learn/glossary","h":"#relay","p":329},{"i":382,"t":"Resource-limited refers to environments or devices restricting available resources, including bandwidth, CPU, memory, disk, and battery power.","s":"Resource-limited","u":"/learn/glossary","h":"#resource-limited","p":329},{"i":384,"t":"RLN Relay is an extension of the Relay protocol that uses Rate Limit Nullifiers (RLN) to prevent spam economically by enforcing a rate limit on messages over time, imposing penalties, and facilitating network removal for spammers.","s":"RLN relay","u":"/learn/glossary","h":"#rln-relay","p":329},{"i":386,"t":"SDKs are tools, libraries, and resources to integrate Waku's private, secure, and censorship-free communication features into various applications.","s":"SDK","u":"/learn/glossary","h":"#sdk","p":329},{"i":388,"t":"Store is a protocol that enables the storage of relayed messages in the network, allowing offline peers to retrieve missed messages upon reconnecting to the network.","s":"Store","u":"/learn/glossary","h":"#store","p":329},{"i":390,"t":"A transport is a network mechanism that establishes connections between peers and enables efficient transmission, routing, and delivery of data packets.","s":"Transport","u":"/learn/glossary","h":"#transport","p":329},{"i":392,"t":"Waku is a family of private, secure, decentralised, and peer-to-peer web3 communication protocols designed to operate in resource-limited environments and suitable for node or desktop application use. Additionally, these protocols collectively form the Waku Network.","s":"Waku","u":"/learn/glossary","h":"#waku","p":329},{"i":394,"t":"Waku Message defines the structure of messages in the Waku Network, including the content topic, payload, and metadata for application-specific processing.","s":"Waku message","u":"/learn/glossary","h":"#waku-message","p":329},{"i":396,"t":"Waku Message Payload Encryption provides guidelines for implementing secure and private communication in the Waku Network. It covers encryption, decryption, and signing methods for message payloads, focusing on confidentiality, authenticity, integrity, and unlinkability.","s":"Waku message payload encryption","u":"/learn/glossary","h":"#waku-message-payload-encryption","p":329},{"i":398,"t":"The Waku Network is an open-access, scalable peer-to-peer messaging network emphasizing privacy protection and accessibility to resource limited devices.","s":"Waku network","u":"/learn/glossary","h":"#waku-network","p":329},{"i":400,"t":"Waku Noise is a specified way to use the Noise Protocol Framework to build protocols that enable secure key-exchange mechanisms for encrypted communication with confidentiality, authenticity, integrity, strong forward secrecy, and identity-hiding properties.","s":"Waku noise","u":"/learn/glossary","h":"#waku-noise","p":329},{"i":402,"t":"The Waku Network is a shared p2p messaging network that is open-access, useful for generalized messaging, privacy-preserving, scalable and accessible even to resource-restricted devices. Some of the most prominent features include: DoS/spam protection with privacy-preserving Rate-Limiting Nullifiers. Scalability by sharding traffic into 8 pubsub topics. Automatic shard selection based on content topic. Services for resource-restricted nodes, including historical message storage and retrieval, filtering, etc. If you want to learn more about the Waku Network, the WAKU2-NETWORK RFC provides an in-depth look under the hood. info The public Waku Network replaces the previous experimental shared routing layer based on a default pubsub topic (/waku/2/default-waku/proto). If your project currently uses this or any other shared pubsub topics, we encourage you to migrate to the public Waku Network with built-in DoS protection, scalability, and reasonable bandwidth usage.","s":"The Waku Network","u":"/learn/waku-network","h":"","p":401},{"i":404,"t":"Applications or projects can build decentralized communication components on this network, gaining from the fault-tolerance of shared infrastructure, the out-of-the-box censorship resistance of a p2p network and the privacy-preservation of Waku protocols. Supporters of public goods and decentralized infrastructure can run their nodes to support the network. We are also working on incentivisation vectors to encourage more node operators to provide services to the network.","s":"Why join the Waku network?","u":"/learn/waku-network","h":"#why-join-the-waku-network","p":401},{"i":406,"t":"Ethereum Sepolia WebSocket endpoint, which can be yours or from a third party. Have a look at the Access a Sepolia Node Using Infura guide for a free Infura option. This node is used to interact with the on-chain RLN membership contract. Wallet with Sepolia Ethereum (less than 0.1 Sepolia ETH). Have a look at the Create a Sepolia Ethereum Wallet and Obtain Sepolia Ethereum from Faucet guides to get a Sepolia wallet and fund it with some Sepolia Ethereum. This wallet is required to register RLN membership, which is essential for publishing on the network.","s":"Prerequisites","u":"/learn/waku-network","h":"#prerequisites","p":401},{"i":408,"t":"Have a look at the Run Nwaku with Docker Compose guide for instructions on running a nwaku node in the Waku Network. Use the Sepolia node and wallet you obtained above.","s":"Running a Waku network node","u":"/learn/waku-network","h":"#running-a-waku-network-node","p":401},{"i":410,"t":"On this page This Privacy Policy is intended to inform users of our approach to privacy in respect of this website (\"Website\"). In this regard, if you are visiting our Website, this Privacy Policy applies to you.","s":"Privacy Policy","u":"/privacy-policy","h":"","p":409},{"i":412,"t":"For the purposes of this Privacy Policy and the collection and processing of personal data as a controller, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at Logos Collective Association c/o PST Consulting GmbH Baarerstrasse 10 6300 Zug Switzerland Whenever we refer to “Logos”, “we” or other similar references, we are referring to the Logos Collective Association.","s":"1) Who we are","u":"/privacy-policy","h":"#1-who-we-are","p":409},{"i":414,"t":"We aim to limit the collection and collection and processing of personal data from users of the Website. We only collect and process certain personal data for specific purposes and where we have the legal basis to do so under applicable privacy legislation. We will not collect or process any personal data that we don’t need and where we do store any personal data, we will only store it for the least amount of time needed for the indicated purpose. In this regard, we collect and process the following personal data from your use of the Website: IP address: As part of such use of the Website we briefly process your IP address but we have no way of identifying you. We however have a legitimate interest in processing such IP addresses to ensure the technical functionality and enhance the security measures of the Website. This IP address is not stored by us over time. Collection of email addresses: We collect your email address and first name (or if preferred, your pseudonym), on our website for the purpose of sending you information in relation to the project (s) on this website concerning technical and non-technical content and updates, as well as potentially invitations to project related events. Your email address is securely stored on our self-hosted servers, and we have implemented measures to protect such personal data by securing it with appropriate technical and organisational measures. We will not share such personal data to third parties without your consent, except as required by law. We will only collect and process your email address, first name and if applicable, your pseudonym on the basis of you providing your consent for us to do so. If you wish to stop receiving our email communications, you can do so by clicking the \"unsubscribe\" link in the emails you receive from us. Fathom Analytics: We note that we make use of Fathom Analytics, which you can read more about here: https://usefathom.com/. In short, Fathom Analytics is an alternative to Google Analytics, that doesn’t compromise visitor privacy for data. Fathom Analytics collects trends and insights, not personal details about specific website visitors. Fathom Analytics offers simple traffic insights such as top pages, top referrers, bounce rate, and average time people spend on a site.","s":"2) We limit the collection and processing of personal data from your use of the Website","u":"/privacy-policy","h":"#2-we-limit-the-collection-and-processing-of-personal-data-from-your-use-of-the-website","p":409},{"i":416,"t":"In addition to our limited and collection of personal data, third parties may collect or process personal data as a result of the Website making use of certain features or to provide certain content. To the extent you interact with such third party content or features, their respective privacy policies will apply. We would however like to draw your attention to the following: YouTube: The Website may embed videos from YouTube, a service provided by Google LLC, using YouTube’s privacy-enhanced mode. When you interact with such videos, YouTube may place cookies on your personal device. The cookies do not directly identify individual users and YouTube will not store information to personalise your experience unless you are logged in to a Google account. We do not have any control over these cookies set by YouTube and it is recommended that you review YouTube’s embedding videos information page.","s":"3) Third party processing of personal data","u":"/privacy-policy","h":"#3-third-party-processing-of-personal-data","p":409},{"i":418,"t":"As a general approach, we take data security seriously and we have implemented a variety of security measures on the Website to maintain the safety of your personal data when you submit such information to us.","s":"4) Security measures we take in respect of the Website","u":"/privacy-policy","h":"#4-security-measures-we-take-in-respect-of-the-website","p":409},{"i":420,"t":"We are obliged to protect the privacy of personal data that you may have submitted in the unlikely event that we export your personal data to places outside the European Union or Switzerland. This means that personal data will only be processed in countries or by parties that provide an adequate level of protection as deemed by Switzerland or the European Commission. Otherwise, we will use other forms of protections, such as specific forms of contractual clauses to ensure such personal data is provided the same protection as required in Switzerland or Europe. In any event, the transmission of personal data outside the European Union and Switzerland will always occur in conformity with applicable privacy legislation.","s":"5) Exporting data outside the European Union and Switzerland","u":"/privacy-policy","h":"#5-exporting-data-outside-the-european-union-and-switzerland","p":409},{"i":422,"t":"As explained in this Privacy Policy, we limit our collection and processing of your personal data wherever possible. Nonetheless, you still have certain choices and rights in respect of the personal data which we do collect and process. As laid out in relevant privacy legislation, you have the right to: Ask us to correct or update your personal data (where reasonably possible); Ask us to remove your personal data from our systems; Ask us for a copy of your personal data, which may also be transferred to another data controller at your request; Withdraw your consent to process your personal data (only if consent was asked for a processing activity), which only affects processing activities that are based on your consent and doesn’t affect the validity of such processing activities before you have withdrawn your consent; Object to the processing of your personal data; and File a complaint with the Federal Data Protection and Information Commissioner (FDPIC), if you believe that your personal data has been processed unlawfully.","s":"6) Your choices and rights","u":"/privacy-policy","h":"#6-your-choices-and-rights","p":409},{"i":424,"t":"On this Website, you may come across links to third party websites. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these third party websites.","s":"7) Third party links","u":"/privacy-policy","h":"#7-third-party-links","p":409},{"i":426,"t":"We may modify or replace any part of this Privacy Policy at any time and without notice. Please check the Website periodically for any changes. The new Privacy Policy will be effective immediately upon its posting on our Website.","s":"8) This Privacy Policy might change","u":"/privacy-policy","h":"#8-this-privacy-policy-might-change","p":409},{"i":428,"t":"To the extent that you have any questions about the Privacy Policy, please contact us through the relevant channels. This document is licensed under CC-BY-SA.","s":"9) Contact information","u":"/privacy-policy","h":"#9-contact-information","p":409},{"i":430,"t":"The following features are currently experimental and under research and initial implementation:","s":"Research","u":"/learn/research","h":"","p":429},{"i":432,"t":"We aim to enable an incentivised spam protection technique to enhance Relay by using Rate Limit Nullifiers (RLN). In this advanced method, peers are limited to a certain messaging rate per epoch, and an immediate financial penalty is enforced for spammers who break this rate. You can find more details in the RLN Relay blog post. We have prepared a PoC implementation of this method in JS: https://examples.waku.org/rln-js/","s":"Economic spam resistance","u":"/learn/research","h":"#economic-spam-resistance","p":429},{"i":434,"t":"Denial of service signifies the case where an adversarial peer exhausts another node's service capacity (e.g., by making a large number of requests) and makes it unavailable to the rest of the system. RnD on DoS attack mitigation can tracked from here: https://github.com/vacp2p/research/issues/148. In a nutshell, peers have to pay for the service they obtain from each other. In addition to incentivising the service provider, accounting also makes DoS attacks costly for malicious peers. The accounting model can be used in Store and Filter to protect against DoS attacks. Additionally, along with RLN, this gives node operators who provide a useful service to the network an incentive to perform that service. Read more here: https://vac.dev/building-privacy-protecting-infrastructure You can also read more about the ongoing challenges the Waku team is working on here: https://github.com/waku-org/research","s":"Prevention of denial of service (DoS) and node incentivisation","u":"/learn/research","h":"#prevention-of-denial-of-service-dos-and-node-incentivisation","p":429},{"i":436,"t":"Research and Studies: Protocol simulations and theoretical analysis to support the design of Waku protocols. The protocol definitions are on the Vac RFC website. Benchmarks: Results of implementations and engineering-related benchmarks for Waku clients.","s":"Research","u":"/research/","h":"","p":435},{"i":438,"t":"Since Waku is built on top of libp2p, they share a lot of concepts and terminologies between them. However, there are key differences between them that are worth noting.","s":"Comparing Waku and libp2p","u":"/learn/waku-vs-libp2p","h":"","p":437},{"i":440,"t":"Waku intends to incentivise mechanisms to run nodes, but it is not part of libp2p's scope. Additionally, users or developers do not have to deploy their infrastructure as a prerequisite to use Waku. It is a service network. However, you are encouraged to run a node to support and decentralise the network.","s":"Waku as a service network","u":"/learn/waku-vs-libp2p","h":"#waku-as-a-service-network","p":437},{"i":442,"t":"Waku includes various protocols covering the following domains: privacy preservation, censorship resistance, and platform agnosticism, allowing it to run on any platform or environment. Waku provides out-of-the-box protocols to enable mostly offline/resource-limited devices, Store/Light Push/Filter caters to those use cases.","s":"Waku as a turnkey solution","u":"/learn/waku-vs-libp2p","h":"#waku-as-a-turnkey-solution","p":437},{"i":444,"t":"libp2p does not have strong spam protection guarantees, RLN Relay is a protocol being developed by the Waku team towards this goal.","s":"Economic spam protection","u":"/learn/waku-vs-libp2p","h":"#economic-spam-protection","p":437},{"i":446,"t":"This issue explains i) why The Waku Network requires a capped bandwidth per shard and ii) how to solve it by rate limiting with RLN by daily requests (instead of every x seconds), which would require RLN v2, or some modifications in the current circuits to work. It also explains why the current rate limiting RLN approach (limit 1 message every x seconds) is not practical to solve this problem.","s":"Capped Bandwidth in Waku","u":"/research/research-and-studies/capped-bandwidth","h":"","p":445},{"i":448,"t":"First of all, lets begin with the terminology. We have talked in the past about \"predictable\" bandwidth, but a better name would be \"capped\" bandwidth. This is because it is totally fine that the waku traffic is not predictable, as long as its capped. And it has to be capped because otherwise no one will be able to run a node. Since we aim that everyone is able to run a full waku node (at least subscribed to a single shard) its of paramount importance that the bandwidth requirements (up/down) are i) reasonable to run with a residential internet connection in every country and ii) limited to an upper value, aka capped. If the required bandwidth to stay up to date with a topic is higher than what the node has available, then it will start losing messages and won't be able to stay up to date with the topic messages. And not to mention the problems this will cause to other services and applications being used by the user. The main problem is that one can't just chose the bandwidth it allocates to relay. One could set the maximum bandwidth willing to allocate to store but this is not how relay works. The required bandwidth is not set by the node, but by the network. If a pubsub topic a has a traffic of 50 Mbps (which is the sum of all messages being sent multiplied by its size, times the D_out degree), then if a node wants to stay up to date in that topic, and relay traffic in it, then it will require 50 Mbps. There is no thing such as \"partially contribute\" to the topic (with eg 25Mbps) because then you will be losing messages, becoming an unreliable peer. The network sets the pace. So waku needs an upper boundary on the in/out bandwidth (mbps) it consumes. Just like apps have requirements on cpu and memory, we should set a requirement on bandwidth, and then guarantee that if you have that bandwidth, you will be able to run a node without any problem. And this is the tricky part.","s":"Problem","u":"/research/research-and-studies/capped-bandwidth","h":"#problem","p":445},{"i":450,"t":"With the recent productisation effort of RLN, we have part of the problem solved, but not entirely. RLN offers an improvement, since now have a pseudo-identity (RLN membership) that can be used to rate limit users, enforcing a limit on how often it can send a message (eg 1 message every 10 seconds). We assume of course, that getting said RLN membership requires to pay something, or put something at stake, so that it can't be sibyl attacked. Rate limiting with RLN so that each entity just sends 1 message every x seconds indeed solves the spam problem but it doesn't per se cap the traffic. In order to cap the traffic, we would first need to cap the amount of memberships we allow. Lets see an example: We limit to 10.000 RLN memberships Each ones is rate limited to send 1 message/10 seconds Message size of 50 kBytes Having this, the worst case bandwidth that we can theoretically have, would be if all of the memberships publish messages at the same time, with the maximum size, continuously. That is 10.000 messages/sec * 50 kBytes = 500 MBytes/second. This would be a burst every 10 seconds, but enough to leave out the majority of the nodes. Of course this assumption is not realistic as most likely not everyone will continuously send messages at the same time and the size will vary. But in theory this could happen. A naive (and not practical) way of fixing this, would be to design the network for this worst case. So if we want to cap the maximum bandwidth to 5 MBytes/s then we would have different options on the maximum i) amount of RLN memberships and ii) maximum message size: 1.000 RLN memberships, 5 kBytes message size: 1000 * 5 = 5 MBytes/s 10.000 RLN memberships, 500 Bytes message size: 10000 * 0.5 = 5 MBytes/s In both cases we cap the traffic, however, if we design The Waku Network like this, it will be massively underutilized. As an alternative, the approach we should follow is to rely on statistics, and assume that i) not everyone will be using the network at the same time and ii) message size will vary. So while its impossible to guarantee any capped bandwidth, we should be able to guarantee that with 95 or 99% confidence the bandwidth will stay around a given value, with a maximum variance. The current RLN approach of rate limiting 1 message every x seconds is not very practical. The current RLN limitations are enforced on 1 message every x time (called epoch). So we currently can allow 1 msg per second or 1 msg per 10 seconds by just modifying the epoch size. But this has some drawbacks. Unfortunately, neither of the options are viable for waku: A small epoch size (eg 1 seconds) would allow a membership to publish 24*3600/1=86400 messages a day, which would be too much. In exchange, this allows a user to publish messages right after the other, since it just have to wait 1 second between messages. Problem is that having an rln membership being able to publish this amount of messages, is a bit of a liability for waku, and hinders scalability. A high epoch size (eg 240 seconds) would allow a membership to publish 24*3600/240=360 messages a day, which is a more reasonable limit, but this won't allow a user to publish two messages one right after the other, meaning that if you publish a message, you have to way 240 seconds to publish the next one. Not practical, a no go. But what if we widen the window size, and allow multiple messages within that window?","s":"Current approach","u":"/research/research-and-studies/capped-bandwidth","h":"#current-approach","p":445},{"i":452,"t":"In order to fix this, we need bigger windows sizes, to smooth out particular bursts. Its fine that a user publishes 20 messages in one second, as long as in a wider window it doesn't publish more than, lets say 500. This wider window could be a day. So we could say that a membership can publish 250 msg/day. With this we solve i) and ii) from the previous section. Some quick napkin math on how this can scale: 10.000 RLN memberships Each RLN membership allow to publish 250 msg/day Message size of 5 kBytes Assuming a completely random distribution: 10.000 * 250 = 2 500 000 messages will be published a day (at max) A day has 86 400 seconds. So with a random distribution we can say that 30 msg/sec (at max) 30 msg/sec * 5 kBytes/msg = 150 kBytes/sec (at max) Assuming D_out=8: 150 kBytes/sec * 8 = 1.2 MBytes/sec (9.6 Mbits/sec) So while its still not possible to guarantee 100% the maximum bandwidth, if we rate limit per day we can have better guarantees. Looking at these numbers, considering a single shard, it would be feasible to serve 10.000 users considering a usage of 250 msg/day. TODO: Analysis on 95%/99% interval confidence on bandwidth given a random distribution.","s":"Solution","u":"/research/research-and-studies/capped-bandwidth","h":"#solution","p":445},{"i":454,"t":"Waku should guarantee a capped bandwidth so that everyone can run a node. The guarantee is a \"statistical guarantee\", since there is no way of enforcing a strict limit. Current RLN approach is to rate limit 1 message every x seconds. A better approach would be x messages every day, which helps achieving such bandwidth limit. To follow up: Variable RLN memberships. Eg. allow to chose tier 1 (100msg/day) tier 2 (200msg/day) etc.","s":"TLDR","u":"/research/research-and-studies/capped-bandwidth","h":"#tldr","p":445},{"i":457,"t":"The Nim Waku Node, nwaku, has the capability of archiving messages until a certain limit (e.g. 30 days) so that other nodes can synchronize their message history throughout the Store protocol. The nwaku originally used SQLite to archive messages but this has an impact on the node. Nwaku is single-threaded and therefore, any SQLite operation impacts the performance of other protocols, like Relay. Therefore, the Postgres adoption is needed to enhance that. https://github.com/waku-org/nwaku/issues/1888","s":"Introduction","u":"/research/benchmarks/postgres-adoption","h":"#introduction","p":455},{"i":459,"t":"Simply pass the next parameter to nwaku --store-message-db-url=\"postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/postgres Notice that this only makes sense if the nwaku has the Store protocol mounted --store=true (start the nwaku node with --help parameter for more Store options)","s":"How to connect the nwaku to Postgres","u":"/research/benchmarks/postgres-adoption","h":"#how-to-connect-the-nwaku-to-postgres","p":455},{"i":461,"t":"https://github.com/waku-org/nwaku-compose https://github.com/waku-org/test-waku-query","s":"Examples of nwaku using Postgres","u":"/research/benchmarks/postgres-adoption","h":"#examples-of-nwaku-using-postgres","p":455},{"i":463,"t":"The following repository was created as a tool to stress and compare performance between nwaku+Postgres and nwaku+SQLite: https://github.com/waku-org/test-waku-query","s":"Stress tests","u":"/research/benchmarks/postgres-adoption","h":"#stress-tests","p":455},{"i":465,"t":"Maximum insert throughput​ Scenario 1 node subscribed to pubsubtopic ‘x’ and the Store protocol mounted. ‘n’ nodes connected to the “store” node, and publishing messages simultaneously to pubsubtopic ‘x’. All nodes running locally in a Dell Latitude 7640. Each published message is fixed, 1.4 KB: publish_one_client.sh The next script is used to simulate multiple nodes publishing messages: publish_multiple_clients.sh Sought goal Find out the maximum number of concurrent inserts that both SQLite and Postgres could support, and check whether Postgres behaves better than SQLite or not. Conclusion Messages are lost after a certain threshold, and this message loss is due to limitations in the Relay protocol (GossipSub - libp2p.) For example, if we set 30 nodes publishing 300 messages simultaneously, then 8997 rows were stored and not the expected 9000, in both SQLite and Postgres databases. The reason why few messages were lost is because the message rate was higher than the relay protocol can support, and therefore a few messages were not stored. In this example, the test took 38.8’’, and therefore, the node was receiving 232 msgs/sec, which is much more than the normal rate a node will work with, which is ~10 msgs/sec (rate extracted from Grafana’s stats for the status.prod fleet.) As a conclusion, the bottleneck is within the Relay protocol itself and not the underlying databases. Or, in other words, both SQLite and Postgres can support the maximum insert rate a Waku node will operate within normal conditions.","s":"Insert test results","u":"/research/benchmarks/postgres-adoption","h":"#insert-test-results","p":455},{"i":467,"t":"In this case, we are comparing Store performance by means of Rest service. Scenario nodea: one _nwaku node with Store and connected to Postgres. nodeb: one _nwaku node with Store and using SQLite. Both Postgres and SQLite contain +1 million rows. nodec: one _nwaku node with REST enabled and acting as a Store client for node_a. noded: one _nwaku node with REST enabled and acting as a Store client for node_b. With jmeter, 10 users make REST Store requests concurrently to each of the “rest” nodes (node_c and node_d.) All nwaku nodes running statusteam/nim-waku:v0.19.0 This is the jmeter project used. Results With this, the node_b brings a higher throughput than the node_a and that indicates that the node that uses SQLite performs better. The following shows the measures taken by jmeter with regard to the REST requests.","s":"Query test results (jmeter)","u":"/research/benchmarks/postgres-adoption","h":"#query-test-results-jmeter","p":455},{"i":469,"t":"In this test suite, only the Store protocol is being analyzed, i.e. without REST. For that, a go-waku node is used, which acts as Store client. On the other hand, we have another go-waku app that publishes random Relay messages periodically. Therefore, this can be considered a more realistic approach. The following diagram shows the topology used: For that, the next apps were used: Waku-publisher. This app can publish Relay messages with different numbers of clients Waku-store-query-generator. This app is based on the Waku-publisher but in this case, it can spawn concurrent go-waku Store clients. That topology is defined in this docker-compose file. Notice that the two nwaku nodes run the very same version, which is compiled locally. Comparing archive SQLite & Postgres performance in nwaku-b6dd6899​ The next results were obtained by running the docker-compose-manual-binaries.yml from test-waku-query-c078075 in the sandbox machine (metal-01.he-eu-hel1.wakudev.misc.statusim.net.) Scenario 1 Store rate: 1 user generating 1 store-req/sec. Relay rate: 1 user generating 10msg/sec, 10KB each. In this case, we can see that the SQLite performance is better regarding the store requests. The following graph shows how the SQLite node has blocking periods whereas the Postgres always gives a steady rate. Scenario 2 Store rate: 10 users generating 1 store-req/sec. Relay rate: 1 user generating 10msg/sec, 10KB each. In this case, is more evident that the SQLite performs better. Scenario 3 Store rate: 25 users generating 1 store-req/sec. Relay rate: 1 user generating 10msg/sec, 10KB each. In this case, the performance is similar regarding the timings. The store rate is bigger in SQLite and Postgres keeps the same level as in scenario 2. Comparing archive SQLite & Postgres performance in nwaku-b452ed8​ This nwaku commit is after a few Postgres optimizations were applied. The next results were obtained by running the docker-compose-manual-binaries.yml from test-waku-query-c078075 in the sandbox machine (metal-01.he-eu-hel1.wakudev.misc.statusim.net.) Scenario 1 Store rate 1 user generating 1 store-req/sec. Notice that the current Store query used generates pagination which provokes more subsequent queries than the 1 req/sec that would be expected without pagination. Relay rate: 1 user generating 10msg/sec, 10KB each. It cannot be appreciated but the average *Store* time was 11ms. Scenario 2 Store rate: 10 users generating 1 store-req/sec. Notice that the current Store query used generates pagination which provokes more subsequent queries than the 10 req/sec that would be expected without pagination. Relay rate: 1 user generating 10msg/sec, 10KB each. Scenario 3 Store rate: 25 users generating 1 store-req/sec. Notice that the current Store query used generates pagination which provokes more subsequent queries than the 25 req/sec that would be expected without pagination. Relay rate: 1 user generating 10msg/sec, 10KB each. Conclusions​ After comparing both systems, SQLite performs much better than Postgres However, a benefit of using Postgres is that it performs asynchronous operations, and therefore doesn’t consume CPU time that would be better invested in Relay for example. Remember that nwaku is single-threaded and chronos performs orchestration among a bunch of async tasks, and therefore it is not a good practice to block the whole nwaku process in a query, as happens with SQLite After applying a few Postgres enhancements, it can be noticed that the use of concurrent Store queries doesn’t go below the 250ms barrier. The reason for that is that most of the time is being consumed in this point. The libpqisBusy() function indicates that the connection is still busy even the queries finished. Notice that we usually have a rate below 1100 req/minute in status.prod fleet (checked November 7, 2023.)","s":"Query test results (only Store protocol)","u":"/research/benchmarks/postgres-adoption","h":"#query-test-results-only-store-protocol","p":455},{"i":471,"t":"This study aims to look for possible issues when having only one single database while several Waku nodes insert or retrieve data from it. The following diagram shows the scenery used for such analysis. There are three nim-waku nodes that are connected to the same database and all of them are trying to write messages to the same PostgreSQL instance. With that, it is very common to see errors like: ERR 2023-11-27 13:18:07.575+00:00 failed to insert message topics=\"waku archive\" tid=2921 file=archive.nim:111 err=\"error in runStmt: error in dbConnQueryPrepared calling waitQueryToFinish: error in query: ERROR: duplicate key value violates unique constraint \\\"messageindex\\\"\\nDETAIL: Key (storedat, id, pubsubtopic)=(1701091087417938405, 479c95bbf74222417abf76c7f9c480a6790e454374dc4f59bbb15ca183ce1abd, /waku/2/default-waku/proto) already exists.\\n The db-postgres-hammer is aimed to stress the database from the select point of view. It performs N concurrent select queries with a certain rate. Results​ The following results were obtained by using the sandbox machine (metal-01.he-eu-hel1.wakudev.misc) and running nim-waku nodes from https://github.com/waku-org/nwaku/tree/b452ed865466a33b7f5b87fa937a8471b28e466e and using the test-waku-query project from https://github.com/waku-org/test-waku-query/tree/fef29cea182cc744c7940abc6c96d38a68739356 The following shows the results Two nwaku-postgres-additional inserting messages plus 50 db-postgres-hammer making 10 selects per second. Five nwaku-postgres-additional inserting messages plus 50 db-postgres-hammer making 10 selects per second. In this case, the insert time gets more spread because the insert operations are shared amongst five more nodes. The Store query time remains the same on average. Five nwaku-postgres-additional inserting messages plus 100 db-postgres-hammer making 10 selects per second. This case is similar to 2. but stressing more the database.","s":"Multiple nodes & one single database","u":"/research/benchmarks/postgres-adoption","h":"#multiple-nodes--one-single-database","p":455},{"i":473,"t":"TLDR: We present the results of 1000 nwaku nodes running rln using different message sizes, in a real network with bandwidth limitations and network delays. The goal is to study the message propagation delay distribution, and how it's affected by i) rln and ii) message size in a real environment. We observe that for messages of 10kB the average end-to-end propagation delay is 508 ms. We can also observe that the message propagation delays are severely affected when increasing the message size, which indicates that it is not a good idea to use waku for messages of eg. 500kB. See simulation parameters.","s":"Message Propagation Times With Waku-RLN","u":"/research/research-and-studies/message-propagation","h":"","p":472},{"i":475,"t":"Waku uses relay as a routing protocol, which is an adaptation of gossipsub. It routes messages following a publisher/subscriber architecture, where nodes can publish messages or subscribe to topics. If message m is published to topic t, all i nodes n_1...n_i subscribed to t will get m. The relay protocol ensures that every node gets the messages of the topics it is subscribed to. However, since relay works in a decentralized manner, all nodes contribute to the gossiping of a message, until it has successfully reached all the interested nodes (subscribed to it). This means that a message can travel multiple hops until it reaches all nodes. The amount of hops determines the message propagation time, which is measured as the time difference of when the node published the message and when another node received. This issue aims to go from theory to practice, by i) understanding message propagation times in theory and ii) presenting nwaku simulation results in an end-to-end setup with rln, with real message propagation times.","s":"Introduction","u":"/research/research-and-studies/message-propagation","h":"#introduction","p":472},{"i":477,"t":"Let's start with message propagation times in theory. On a high level, it depends on: The gossipsub configuration, being D one of the most important parameters. This sets the hops that a message will travel to reach all nodes. Higher D, less hops, less delay. Note that a higher D implies more bandwidth consumption. The node. Different nodes will see different propagation times, because a message can travel different paths. A node connected directly to the publisher (1 hop) will see lower propagation times than other nodes further away. Individual propagation times. Since a message can travel multiple hops to reach its destination, each hop adds a contribution to the overall message propagation time. This individual propagation time depends on the characteristics on the nodes involved in the connections. In a D-regular graph, like the one formed by waku nodes around a topic, the maximum amount of hops that a message can travel to reach all nodes can be calculated as ceil(log(total_nodes)/log(D)). For example, with log(1000)/log(6) = 3.85 = 4. So in a network with 1000 nodes and D=6, no matter which node publishes the message, in 4 hops it will reach all the nodes. Notice the \"worst case\" since some nodes might be directly connected to the publisher, so they will get the message in just 1 hop. But how long does it take to jump each hop? It depends on: The latency between nodes. Can be measured as the time to respond to a ping. The size of the messages. The bigger the message, the more time it takes to transmit. Nodes bandwidth. Sender upload bandwidth and receiver download bandwidth. More important when using big message sizes. Message validation time. When each node receives a message, it applies some validation to decide if the message is further gossiped or not. In the case of waku, this is RLN (paper, rfc) Assuming a message m that travels 4 hops from node n1 (publisher) to n5 (subscriber) we can calculate the message propagation time mpt=ipt_1+ipt_2+ipt_3+ipt_4 where ipt is the individual propagation time between each node in the chain. However, specific message propagation times are useless, we need average times under specific conditions. And for this, we need simulations.","s":"Theory","u":"/research/research-and-studies/message-propagation","h":"#theory","p":472},{"i":479,"t":"Using shadow simulator, we have developed a tool that allows to simulate message propagation delays of nwaku (using a slightly modified branch, mainly to instrument it with tools to measure the times + starting from an already connected mesh. Thanks @Menduist for the help. Note that running this simulation requires a significant amount of resources, done with 256 GB of RAM. The configuration of the simulation is (see config): latency=100ms. Average latency in our current waku network. Thanks @vpavlin for the measurements. See this for live data. down_bandwidth=83Mbps, up_bandwidth=38Mbps. As shown in Table 2 that's the worldwide median speed. D=6, which is the current nwaku configuration. nodes=1000. Amount of nodes used in the simulation nwaku was used with a minor modification A total of 10 messages were published, that led to 9990 received messages. Since shadow doesn't take into account CPU times (by now), we simulate it with sleepAsync as per https://github.com/waku-org/research/issues/23 findings. 0.012 seconds for proof verification and 0.15 seconds for proof generation.","s":"Simulations","u":"/research/research-and-studies/message-propagation","h":"#simulations","p":472},{"i":481,"t":"The following figure shows the message propagation time with real simulations, showing the distribution in a network with the above configuration with three different message sizes: 10kB, 100kB, 500kB. Note that the whiskers indicate the best/worst values and the box contains P25 to P75 values. Average mu and P95 are also shown. Raw data here. Important note. The first messages sent in the simulations are omitted, since they show an abnormal propagation delay that doesn't reflect reality. This is due to how flow control works in TCP, where right after connection, the sender node has no idea of the \"bandwidth\" of the receiver node, so it will start sending packages at a lower rate. This translates into high transmission times, and it's more pronounced when dealing with big message sizes. In other words, in a 100Mpbs link, 100Mbits won't be sent in 1 second, or at least not a the beginning, when the node is slowly increasing the rate until based on ACK/NACK ratio. For more information about this, this is explained in here. Conclusions: Using small messages 10kB the average propagation delay is 508 ms, quite reasonable for applications using waku. The variance is acceptable, with 95% of the messages arriving in <627 ms. When using a size of 10kB we can see that the best case propagation delay is 263 ms. This corresponds to the nodes that are just 1 hop from the publisher. The proof generation time 0.15 seconds affects the most, where the rest is the inter-node latency and the transmission of the message itself. We can see that the message propagation delay increases with big messages, 100kB and 500kB. So its probably not a good idea to use waku for such big messages. Note that these simulations had 1000 nodes, so if we scale it to 10000 or beyond, propagation times would be worse. Best case propagation time (lower part of the whisker) is quite similar in all cases. This is because it corresponds to the node that is just 1 hop away from the publisher. Future work: Current waku D values (average of 6 ranging from 4 to 12) have a huge impact on the bandwidth that a node consumes. Are we willing to lower D in order to reduce bandwidth but increase message propagation times? Since shadow doesn't take CPU time into account, it's currently simulated for rln, which should be the biggest bottleneck. Once shadow has this feature times would be more accurate.","s":"Results","u":"/research/research-and-studies/message-propagation","h":"#results","p":472},{"i":484,"t":"Since RLN has been chosen as the spamming protection mechanism for waku, we must understand the practical implications of using it. This issue explains the main differences between relay and rln-relay and gives some benchmarks after running simulations using waku-simulator, in a network with the following characteristics: 100 nwaku nodes, each one with a valid rln membership and publishing a message every 10 seconds to a common topic. rln contract deployed in Ethereum Sepolia 10.000 memberships registered in the contract pure relay (store and light protocols disabled) The main deltas rln vs rln-relay are: New proof field in WakuMessage containing 384 extra bytes. This field must be generated and attached to each message. New validator, that uses proof to Accept or Reject the message. The proof has to be verified. New dependency on a blockchain, Ethereum, or any EVM chain, to keep track of the members allowed to publish. But what are the practical implications of these?","s":"Introduction","u":"/research/research-and-studies/rln-key-benchmarks","h":"#introduction","p":482},{"i":486,"t":"Proof generation is constant-ish. 0.15 second for each proof Proof verification is constant-ish, 0.012 seconds. In a network with 10k nodes and D=6 this would add an overhead delay of 0.06 seconds. Gossipsub scoring drops connections from spammer peers, which acts as the punishment (instead of slashing). Validated in the simulation. Rln doesn't have any impact on memory consumption.","s":"TLDR:","u":"/research/research-and-studies/rln-key-benchmarks","h":"#tldr","p":482},{"i":488,"t":"Seems that proof generation times stay constant no matter the size of the message. In the following simulation it was increased from: 1kB, 10kB, 50kB, 150kB. On average it takes 0.15 seconds to calculate the message proof. This means that when a node wants to send a message, it will need to spend this time generating the proof. It seems very reasonable and it actually acts as a mini proof of work, where a consumer computer won't be able to publish a really high number of messages per second.","s":"Proof generation times","u":"/research/research-and-studies/rln-key-benchmarks","h":"#proof-generation-times","p":482},{"i":490,"t":"On the other hand, rln also adds an overhead in the gossipsub validation process. On average it takes 0.012 seconds to verify the proof. It seems that when we increase the message size, validation time seems to increase a bit, which can be for any other reason besides rln itself (eg deserializing the message might take longer). This number seems reasonable and shouldn't affect that much the average delay of a message. Assuming a d-regular graph, with 10k nodes and D=6, we can have up to log(total_nodes)/log(D)=5 hops. So in the worst case, rln will add a network latency of 0.012*5 = 0.06 seconds","s":"Proof verification times","u":"/research/research-and-studies/rln-key-benchmarks","h":"#proof-verification-times","p":482},{"i":492,"t":"For the initial release of RLN, slashing won't be implemented and it still remains unclear if it will be implemented in the future. Luckily, even if slashing is not implemented rln can be used to detect spam and punish the sender off-chain (instead of slashing an onchain collateral). This is done with gossipsub scoring. In the following simulation, we can see 100 nwaku interconnected nodes, where one of them suddenly starts spamming the network with multiple valid rln messages 3000 messages/minute. Since its rate limited to 1msg/10 seconds, we can see that in almost no time, every node in the network disconnects from the spammer peer (see red node), leaving it with 0 peers, which disincentivise such attacks and without requiring a financial slashing.","s":"Spam protection","u":"/research/research-and-studies/rln-key-benchmarks","h":"#spam-protection","p":482},{"i":494,"t":"Using RLN implies that waku should now piggyback on a blockchain (the case study uses Ethereum Sepolia) and has to stay up to date with the latest events emitted by the rln smart contract. These events are used to locally construct a tree that contains all members allowed to create valid proofs to send messages. Some numbers: A tree with 10k members takes 2Mbytes of space. Negligible. A tree with 10k members takes `<4 minutes to synchronize. Assumable since it's done just once. With a block range of 5000 blocks for each request, we would need 520 requests to synchronize 1 year of historical data from the tree. Assumable since most of the free endpoints out there allow 100k/day.","s":"RLN tree sync","u":"/research/research-and-studies/rln-key-benchmarks","h":"#rln-tree-sync","p":482},{"i":496,"t":"Same simulation with 100 nodes was executed with rln and without rln: Memory consumption is almost identical with rln without rln Couldn't capture cpu metrics Minor differences in messages per seconds is due to injection technique, nothing related to rln itself.","s":"Performance relay vs. rln-relay","u":"/research/research-and-studies/rln-key-benchmarks","h":"#performance-relay-vs-rln-relay","p":482},{"i":498,"t":"Waku is a family of decentralised communication protocols. The Waku Network (TWN) consists of independent nodes running Waku protocols. TWN needs incentivisation (shortened to i13n) to ensure proper node behaviour. The goal of this document is to outline and contextualize our approach to TWN i13n. After providing an overview of Waku and relevant prior work, we focus on Waku Store - a client-server protocol for querying historical messages. We introduce a minimal viable addition to Store to enable i13n, and list research directions for future work.","s":"Incentivisation","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":500,"t":"On this page","s":"Incentivisation in decentralised networks","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":502,"t":"We can think of incentivisation tools as a two-by-two matrix: rewards vs punishment; monetary vs reputation. In other words, there are four quadrants: monetary reward: the node gets rewarded; monetary punishment: the nodes deposits funds that are taken away (slashed) if it misbehaves; reputation reward: the node's reputation increases if it behaves well; reputation punishment: the node's reputation decreases if it behaves badly. Reputation only works if high reputation brings tangible benefits. For example, if nodes chose neighbors based on reputation, low-reputation nodes miss out on potential revenue. Reputation scores may be local (a node assigns scores to its neighbors) or global (each node gets a uniform score). Global reputation in its simplest form involves a trusted third party, although decentralised approaches are also possible.","s":"Incentivisation tools","u":"/research/research-and-studies/incentivisation","h":"#incentivisation-tools","p":497},{"i":504,"t":"We may split incentivized decentralised networks into early file-sharing, blockchains, and decentralised storage.","s":"Prior work","u":"/research/research-and-studies/incentivisation","h":"#prior-work","p":497},{"i":506,"t":"Early P2P file-sharing networks employ reputation-based approaches and sticky defaults. For instance, the BitTorrent protocol rewards uploading peers with faster downloads. The download bandwidth available to a peer depends on how much it has uploaded. Moreover, peers share pieces of a file before having received it in whole. This non-monetary i13n policy has been proved to work in practice.","s":"Early P2P file-sharing","u":"/research/research-and-studies/incentivisation","h":"#early-p2p-file-sharing","p":497},{"i":508,"t":"Bitcoin has introduced proof-of-work (PoW) for native monetary rewards in a P2P network. PoW miners are automatically assigned newly mined coins for generating blocks. Miners must expend physical resources to generate a block. If the block is invalid, these expenses are not compensated (implicit monetary punishment). Proof-of-stake (PoS), used in Ethereum and many other cryptocurrencies, introduces explicit monetary punishments. PoS validators lock up (stake) native tokens and get rewarded for validating blocks or slashed for misbehaviour.","s":"Blockchains","u":"/research/research-and-studies/incentivisation","h":"#blockchains","p":497},{"i":510,"t":"Post-Bitcoin decentralised storage networks include Codex, Storj, Sia, Filecoin, IPFS. Their i13n methods combine techniques from early P2P file-sharing with blockchain-inspired reward mechanisms.","s":"Decentralised storage","u":"/research/research-and-studies/incentivisation","h":"#decentralised-storage","p":497},{"i":512,"t":"On this page Waku is a family of protocols for a modular privacy-preserving censorship-resistant decentralised communication network. The backbone of Waku is the Relay protocol (and its spam-protected version RLN-Relay). Additionally, there are light protocols: Store, Filter, and Lightpush. Light protocols are also referred to as client-server protocols and request-response protocols. A server is a node running Relay and a server-side of at least one light protocol. A client is a node running a client-side of any of the light protocols. A server may sometimes be referred to as a full node, and a client as a light node. There is no strict definition of a full node vs a light node in Waku (see discussion). In light protocols, a client sends a request to a server, and a server performs some actions and returns a response: Store: the server responds with messages relayed that match a set of criteria; Filter: the server will relay (only) messages that pass a filter to the client; Lightpush: the server publishes the client's message to the Relay network.","s":"Waku background","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":514,"t":"Waku has no consensus and no native token, which brings it closer to reputation-incentivised file-sharing networks. As of late 2023, Waku only operates under reputation-based rewards and punishments. While RLN-Relay adds monetary punishments for spammers, slashing is yet to be activated. Monetary rewards and punishments should ideally be atomically linked with the node's behaviour. A benefit of blockchains in this respect is that the desired behaviour of miners or validators can be verified automatically. Enforcing atomicity in a communication network is more challenging: it is non-trivial to prove that a given piece of data has been relayed. Our goal is to combine monetary and reputation-based incentives for Waku. Monetary incentives have demonstrated their robustness in blockchains. We think they are necessary to scale the network beyond the initial phase when it's maintained altruistically.","s":"Waku i13n challenges","u":"/research/research-and-studies/incentivisation","h":"#waku-i13n-challenges","p":497},{"i":516,"t":"Waku Store is a light protocol for querying historic messages that works as follows: the client sends a HistoryQuery to the server; the server sends a HistoryResponse to the client. The response may be split into multiple parts, as specified by pagination parameters in PagingInfo. We define a relevant message as a message that matches client-defined criteria (e.g., relayed within a given time frame). Upon receiving a request, a server should quickly send back a response containing all and only relevant messages.","s":"Waku Store","u":"/research/research-and-studies/incentivisation","h":"#waku-store","p":497},{"i":518,"t":"On this page An incentivised Store protocol has the following extra steps: pricing: cost calculation price advertisement price negotiation payment: payment itself proof of payment reputation results cross-checking In this document, we focus on the simplest proof-of-concept (PoC) i13n for Store. Compared to the fully-fledged protocol, the PoC version is simplified in the following ways: cost calculation is based on a common-knowledge price; there is no price advertisement and no price negotiation; each query is paid for in a separate transaction, txid acts a proof of payment; the reputation system is simplified (see below); the results are not cross-checked. In the PoC protocol: the client calculates the price based on the known rate per hour of history; the client pays the appropriate amount to the server's address; the client sends a HistoryQuery to the server alongside the proof of payment (txid); the server checks that the txid corresponds to a confirmed transaction with at least the required amount; the server sends a HistoryResponse to the client. In further subsections, we list the potential direction for future work towards a fully-fledged i13n mechanism.","s":"Waku Store incentivisation","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":520,"t":"For PoC, we assume a constant price per hour of history. This price and the blockchain address of the server are assumed to be common knowledge. This simplifies the client-server interaction, avoiding the price negotiation step. In the future versions of the protocol, the price will be negotiated and will depend on multiple parameters, such as the total size of the relevant messages in the response.","s":"Pricing","u":"/research/research-and-studies/incentivisation","h":"#pricing","p":497},{"i":522,"t":"DoS protection - see https://github.com/waku-org/research/issues/66 Cost calculation - see https://github.com/waku-org/research/issues/35 Price advertisement - see https://github.com/waku-org/research/issues/51 Price negotiation - see https://github.com/waku-org/research/issues/52","s":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work","p":497},{"i":524,"t":"For the PoC, each request is paid for with a separate transaction. The transaction hash (txid) acts as a proof of payment. The server verifies the payment by ensuring that: the transaction has been confirmed; the transaction is paying the proper amount to the server's account; the txid does not correspond to any prior response. The client gives proof of payment before it receives the response. Other options could be: the client pays after the fact; the client pays partly upfront and partly after the fact; a centralised third party (either trusted or semi-trusted, like a smart contract) ensures atomicity; cryptographically ensured atomicity (similar to atomic swaps, Lightning, or Hopr). Our design considerations are: the PoC protocol should be simple; servers are more \"permanent\" entities and are more likely to have long-lived identities; it is more important to protect the clients's privacy than the server's privacy. In light of these criteria, we suggest that the client pays first. This is simpler than splitting the payment, or involving an extra atomicity-enforcing mechanism. Moreover, pre-payment is arguably more privacy-preserving than post-payment, which encourages servers to deanonymise clients to prevent fraud.","s":"Payment","u":"/research/research-and-studies/incentivisation","h":"#payment","p":497},{"i":526,"t":"Add more payment methods - see https://github.com/waku-org/research/issues/58 Design a subscription model with service credentials - see https://github.com/waku-org/research/issues/59 Add privacy to service credentials - see https://github.com/waku-org/research/issues/60 Consider the impact of network disruptions - see https://github.com/waku-org/research/issues/65","s":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work-1","p":497},{"i":528,"t":"We use reputation to discourage the server from taking the payment and not responding. The client keeps track of the server's reputation: all servers start with zero reputation points; if the server honours the request, it gets +n points; if the server does not respond before a timeout, it gets -m points. if the server's reputation drops below k points, the client will never query it again. n, m, and k are subject to configuration. Optionally, a client may treat a given server as trusted, assigning it a constant positive reputation. Potential issues: An attacker can establish new server identities and continue running away with clients' money. Countermeasures: a client only queries trusted servers (which however leads to centralisation); when querying a new server, a client first sends a small (i.e. cheap) request as a test; more generally, the client selects a server on a case-by-case basis, weighing the payment amount against the server's reputation. The ban mechanism can theoretically be abused. For instance, a competitor may attack the victim server and cause the clients who were awaiting the response to ban that server. Countermeasure: prevent DoS-attacks.","s":"Reputation","u":"/research/research-and-studies/incentivisation","h":"#reputation","p":497},{"i":530,"t":"Design a more comprehensive reputation system: local reputation - see https://github.com/waku-org/research/issues/48 global reputation - see https://github.com/waku-org/research/issues/49","s":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work-2","p":497},{"i":532,"t":"As there is no consensus over past messages, a client may want to query multiple servers and merge their responses. Cross-checking helps ensure that servers are a) not censoring real messages; b) not injecting fake messages into history. Cross-checking is absent in PoC but may be considered later.","s":"Results cross-checking","u":"/research/research-and-studies/incentivisation","h":"#results-cross-checking","p":497},{"i":534,"t":"Cross-checking the results against censorship - see https://github.com/waku-org/research/issues/57 Use RLN to limit fake message insertion - see https://github.com/waku-org/research/issues/38","s":"Future work","u":"/research/research-and-studies/incentivisation","h":"#future-work-3","p":497},{"i":536,"t":"On this page We should think about what the success metrics for an incentivised protocol are, and how to measure them both in simulated settings, as well as in a live network.","s":"Evaluation","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":538,"t":"On this page Analyze privacy issues - see https://github.com/waku-org/research/issues/61 Analyze decentralised storage protocols and their relevance e.g. as back-end storage for Store servers - see https://github.com/waku-org/research/issues/34 Analyze the role of message senders, in particular, whether they should pay for sending non-ephemeral messages - see https://github.com/waku-org/research/issues/32 Generalise incentivisation protocol to other Waku light protocols (Lightpush and Filter) - see https://github.com/waku-org/research/issues/67.","s":"Longer-term future work","u":"/research/research-and-studies/incentivisation","h":"","p":497},{"i":540,"t":"TLDR: This issue aims to set the maximum bandwidth in x Mbps that each waku shard should consume so that the maximum amount of people can run a full waku node. It is up to https://github.com/waku-org/research/issues/22 to specify how this maximum will be enforced. Conclusion: Limit to 10 Mbps each waku shard.","s":"Maximum Bandwidth for Global Adoption","u":"/research/research-and-studies/maximum-bandwidth","h":"","p":539},{"i":542,"t":"Waku is designed in a way that everyone should be able to run a full node on an average laptop with a residential Internet connection, at least in one shard. This will enable true decentralization and give power to the users, since they won't need to rely on third parties to send/receive messages. Professional node operators running in data centers, can of course contribute to multiple shards, but we should keep the bandwidth/hardware requirements of single shard rather low. This vision opposes the federated approach, where a few nodes requiring vast amounts of resources (cpu, memory, bandwidth) run in data centres, taking the power from the user. While federated approaches are an improvement from traditional client-server architectures, waku envisions a fully peer-to-peer architecture where anyone should be able to run a node. In order to ensure that anyone can run a node in desktop, there are two main limiting factors: Bandwidth consumption in Mbps CPU/memory resources (mainly limited by RLN proof verification) This issue focuses on i) bandwidth consumption and https://github.com/waku-org/research/issues/30 on ii) CPU/memory resources. Note that on https://github.com/waku-org/research/issues/23 an analysis on the impact on RLN was already made, but wasn't focused on scalability. Said issues do. In https://github.com/waku-org/research/issues/22 we discussed why and how to limit the maximum bandwidth per shard, but we haven't come up with a specific number in Mbps. This issue i) presents data from the available bandwidth at different locations and ii) suggests a maximum bandwidth in Mbps that waku should enforce.","s":"Introduction","u":"/research/research-and-studies/maximum-bandwidth","h":"#introduction","p":539},{"i":544,"t":"The following tables show: Table [1] The Q25, Q75 and average bandwidth (upload/download) in Mbps available on different continents. Raw data is available here and credits to @leobago for the summarized version. Note: The below numbers were rounded to the nearest integer. Table [2] The median global bandwidth (upload/download) in Mbps, taken from speedtest (accessed 12 Oct 2023). Table [3] Download bandwidth requirements in Mbps for Netflix video streaming, source. Table [1] Download (Mbps) Upload (Mbps) Q25 Average Q75 Q25 Average Q75 North-America 58 107 137 38 68 85 South-America 21 54 72 13 33 44 Europe 49 93 119 30 56 72 Asia 23 53 71 15 37 50 Oceania 44 84 108 27 50 63 Africa 12 26 33 7 17 22 Table [2] Median Download (Mbps) Median Upload (Mbps) Global 83 38 Table [3] Video resolution Recommended Bandwidth HD 3 Mbps Full HD 5 Mbps 4K/UHD 15 Mbps","s":"Bandwidth availability and usage","u":"/research/research-and-studies/maximum-bandwidth","h":"#bandwidth-availability-and-usage","p":539},{"i":546,"t":"With the above data, we should be informed to take a decision on the maximum bandwidth that we should enforce per shard. With this number, we will apply the techniques explained in https://github.com/waku-org/research/issues/22 to ensure (with some statistical confidence) that the bandwidth won't exceed that number. The trade-off is clear: We enforce a low bandwidth: more people can run full waku nodes, overall network throughput is less, network decentralization is easier, gives power to the user as its fully sovereign. We don't enforce a low bandwidth: not possible to run full waku nodes in laptops acting as a centralization force, nodes are run by few professional operators in data centers, waku users just use light clients, network throughput can scale way easier, federated approach. So it's about where to draw this line. Points to take into account: Relay contributes to bandwidth the most: Relay is the protocol that mostly contributes to bandwidth usage, and it can't choose to allocate fewer bandwidth resources like other protocols (eg store can choose to provide less resources and it will work). In other words, the network sets the relay bandwidth requirements, and if the node can't meet them, it just wont work. Upload and download bandwidth are the same: Due to how gossipsub works, and hence relay, the bandwidth consumption is symmetric, meaning that upload and download bandwidth is the same. This is because of D and the reciprocity of the connections, meaning that one node upload is another download. Nodes not meeting requirements can use light clients. Note that nodes not meeting the bandwidth requirements can still use waku, but they will have to use light protocols, which are a great alternative, especially on mobile, but with some drawbacks (trust assumptions, less reliability, etc) Waku can't take all the bandwidth: Waku is meant to be used in conjunction with other services, so it shouldn't consume all the existing bandwidth. If Waku consumes x Mbps and someone bandwidth is x Mpbs, the UX won't be good. Compare with existing well-known services: As shown in Table [3], Netflix 4K video streaming takes 15Mbps, so that is an order of magnitude to take into account. Coming up with a number: Lowest average download speed across continents is Africa (26 Mbps) Lowest average upload speed across continents is Africa (17 Mbps) Since in waku the bandwidth consumption is symmetric, we are limited by the lowest (17 Mpbs) However waku should not consume all bandwidth, leaving some room for other applications. We could set 10 Mbps, which is between Full HD video and 4K. With 10Mbps the % of average bandwidth waku will consume is: North-America 9 % South-America 18 % Europe 11 % Asia 18 % Oceania 12 % Africa 38 % Conclusion: Limit to 10 Mbps each waku shard. How? Not trivial, see https://github.com/waku-org/research/issues/22#issuecomment-1727795042 Note: This number is not set in stone and is subject to modifications, but it will most likely stay in the same order of magnitude if changed.","s":"Selecting a maximum bandwidth","u":"/research/research-and-studies/maximum-bandwidth","h":"#selecting-a-maximum-bandwidth","p":539},{"i":548,"t":"On this page These website terms of use ('Website Terms of Use') are entered into by you and us, and they govern your access and use of this Website, including any content and functionality contained in the Website. It is your responsibility to read the Website Terms of Use carefully before your use of the Website and your use of the Website means you have agreed to be bound and comply with these Website Terms of Use. If you do not agree with these Website Terms of Use, you must not access or use the Website.","s":"Terms of Use","u":"/terms","h":"","p":547},{"i":550,"t":"For the purposes of these Website Terms of Use, the relevant entity is the Logos Collective Association, which has its registered office in Zug and its legal domicile address at: Logos Collective Association c/o PST Consulting GmbH Baarerstrasse 10 6300 Zug Switzerland Whenever we refer to “Logos”, “we”, “us” or any other similar references, we are referring to the Logos Collective Association.","s":"1) Who we are","u":"/terms","h":"#1-who-we-are","p":547},{"i":552,"t":"The Website is provided by us on an ‘as is’ basis and you use the Website at your own sole discretion and risk. We disclaim all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property or other violation of rights. We do not warrant or make any representations concerning the completeness, accuracy, legality, utility, reliability, suitability or availability of the use of the Website, the content on this Website or otherwise relating to the Website, such content or on any sites linked to this site.These disclaimers will apply to the maximum extent permitted by applicable law. We make no claims that the Website or any of its content is accessible, legally compliant or appropriate in your jurisdiction. Your access or use of the Website is at your own sole discretion and you are solely responsible for complying with any applicable local laws. The content herein or as accessible through this website is intended to be made available for informational purposes only and should not be considered as creating any expectations or forming the basis of any contract, commitment or binding obligation with us. No information herein shall be considered to contain or be relied upon as a promise, representation, warranty or guarantee, whether express or implied and whether as to the past, present or the future in relation to the projects and matters described herein. The information contained herein does not constitute financial, legal, tax, or other advice and should not be treated as such. Nothing in this Website should be construed by you as an offer to buy or sell, or soliciting any offer to buy or sell any tokens or any security.","s":"2) Disclaimers","u":"/terms","h":"#2-disclaimers","p":547},{"i":554,"t":"The Website may also contain forward-looking statements that are based on current expectations, estimates, forecasts, assumptions and projections about the technology, industry and markets in general. The forward looking statements, which may include statements about the roadmap, project descriptions, technical details, functionalities, features, the development and use of tokens by projects, and any other statements related to such matters or as accessible through this website are subject to a high degree of risk and uncertainty. The forward looking statements are subject to change based on, among other things, market conditions, technical developments, and regulatory environment. The actual development and results, including the order and the timeline, might vary from what’s presented. The information contained herein is a summary and does not purport to be accurate, reliable or complete and we bear no responsibility for the accuracy, reliability or completeness of information contained herein. Because of the high degree of risk and uncertainty described above, you should not place undue reliance on any matters described in this website or as accessible through this website. While we aim to update our website regularly, all information, including the timeline and the specifics of each stage, is subject to change and may be amended or supplemented at any time, without notice and at our sole discretion.","s":"3) Forward looking statements","u":"/terms","h":"#3-forward-looking-statements","p":547},{"i":556,"t":"The Website and its contents are made available under free and open source licences. This means that anyone can use, share, and modify such content, as long as they follow the terms of the applicable licence.","s":"4) Intellectual property rights","u":"/terms","h":"#4-intellectual-property-rights","p":547},{"i":558,"t":"To the extent the Website provides any links to a third party website, then their terms and conditions, including privacy policies, govern your use of those third party websites. By linking such third party websites, Status does not represent or imply that it endorses or supports such third party websites or content therein, or that it believes such third party websites and content therein to be accurate, useful or non-harmful. We have no control over such third party websites and will not be liable for your use of or activities on any third party websites accessed through the Website. If you access such third party websites through the Website, it is at your own risk and you are solely responsible for your activities on such third party websites.","s":"5) Third-party website links","u":"/terms","h":"#5-third-party-website-links","p":547},{"i":560,"t":"We will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these Website Terms of Use, the Website, the content on the Website, or your use of the Website, even if we have been advised of the possibility of such damages. In any event, our aggregate liability for such claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the maximum extent permitted by applicable law.","s":"6) Limitation of liability","u":"/terms","h":"#6-limitation-of-liability","p":547},{"i":562,"t":"You shall indemnify us and hold us harmless from and against any and all claims, damages and expenses, including attorneys’ fees, arising from or related to your use of the Website, the content on the Website, including without limitation your violation of these Website Terms of Use.","s":"7) Indemnity","u":"/terms","h":"#7-indemnity","p":547},{"i":564,"t":"We may modify or replace any part of this Website Terms of Use at any time and without notice. You are responsible for checking the Website periodically for any changes. The new Website Terms of Use will be effective immediately upon its posting on the Website.","s":"8) Modifications","u":"/terms","h":"#8-modifications","p":547},{"i":566,"t":"Swiss law governs these Website Terms of Use and any disputes between you and us, whether in court or arbitration, without regard to conflict of laws provisions.","s":"9) Governing law","u":"/terms","h":"#9-governing-law","p":547},{"i":568,"t":"In these terms, “dispute” has the broadest meaning enforceable by law and includes any claim you make against or controversy you may have in relation to these Website Terms of Use, the Website, the content on the Website, or your use of the Website. We prefer arbitration over litigation as we believe it meets our principle of resolving disputes in the most effective and cost effective manner. You are bound by the following arbitration clause, which waives your right to litigation and to be heard by a judge. Please note that court review of an arbitration award is limited. You also waive all your rights to a jury trial (if any) in any and all jurisdictions. If a (potential) dispute arises, you must first use your reasonable efforts to resolve it amicably with us. If these efforts do not result in a resolution of such dispute, you shall then send us a written notice of dispute setting out (i) the nature of the dispute, and the claim you are making; and (ii) the remedy you are seeking. If we and you are unable to further resolve this dispute within sixty (60) calendar days of us receiving this notice of dispute, then any such dispute will be referred to and finally resolved by you and us through an arbitration administered by the Swiss Chambers’ Arbitration Institution in accordance with the Swiss Rules of International Arbitration for the time being in force, which rules are deemed to be incorporated herein by reference. The arbitral decision may be enforced in any court. The arbitration will be held in Zug, Switzerland, and may be conducted via video conference virtual/online methods if possible. The tribunal will consist of one arbitrator, and all proceedings as well as communications between the parties will be kept confidential. The language of the arbitration will be in English. Payment of all relevant fees in respect of the arbitration, including filing, administration and arbitrator fees will be in accordance with the Swiss Rules of International Arbitration. Regardless of any applicable statute of limitations, you must bring any claims within one year after the claim arose or the time when you should have reasonably known about the claim. You also waive the right to participate in a class action lawsuit or a classwide arbitration against us.","s":"10) Disputes","u":"/terms","h":"#10-disputes","p":547},{"i":570,"t":"These Website Terms of Use cover the entire agreement between you and us regarding the Website and supersede all prior and contemporaneous understandings, agreements, representations and warranties, both written and oral, with respect to the Website. The captions and headings identifying sections and subsections of these Website Terms of Use are for reference only and do not define, modify, expand, limit, or affect the interpretation of any provisions of these Website Terms of Use. If any part of these Website Terms of Use is held invalid or unenforceable, that part will be severable from these Website Terms of Use, and the remaining portions will remain in full force and effect. If we fail to enforce any of these Website Terms of Use, that does not mean that we have waived our right to enforce them. If you have any specific questions about these Website Terms of Use, please contact us through the relevant channels.","s":"11) About these Website Terms of Use","u":"/terms","h":"#11-about-these-website-terms-of-use","p":547}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,4.997,1,1.335,2,4.755,3,2.208,4,4.381,5,3.293,6,5.705,7,5.705,8,5.705,9,4.997,10,5.3,11,4.997,12,4.997,13,3.765,14,2.785,15,5.3,16,4.02,17,4.381,18,3.672,19,5.705,20,5.705,21,3.506,22,3.293,23,3.004,24,3.765,25,4.755,26,4.997,27,3.169,28,4.755,29,3.975,30,2.208,31,0.848]],["t/4",[1,1.451,29,3.298,30,3.357,31,1.249,32,1.775,33,2.731,34,5.244,35,3.207,36,4.145,37,0.609,38,2.41,39,2.41,40,3.207,41,2.686,42,3.944,43,3.614,44,4.295,45,7.21,46,3.486,47,2.787,48,4.787,49,3.944,50,1.9,51,3.756,52,3.944,53,2.108,54,1.514,55,4.145,56,3.509,57,4.396,58,3.634,59,4.733,60,3.634,61,4.396]],["t/6",[1,1.448,13,2.732,14,2.614,21,4.91,28,6.66,37,0.89,39,2.109,40,2.805,41,1.324,42,4.937,44,2.732,58,4.549,59,5.925,60,5.312,61,6.427,62,2.218,63,1.819,64,2.144,65,4.14,66,2.144,67,2.343,68,2.544,69,2.469,70,4.587,71,4.91,72,2.489,73,2.389,74,3.626,75,4.253,76,4.393,77,3.626,78,4.14,79,3.846,80,4.587,81,2.602,82,3.179,83,3.304,84,2.109,85,3.626,86,6.059,87,3.179,88,4.587,89,4.587,90,4.14,91,4.14,92,7.665,93,4.587]],["t/8",[1,1.647,14,3.05,21,4.96,30,2.155,39,2.836,40,3.773,54,1.781,58,5.572,60,5.572,61,6.74,68,3.421,86,6.355,90,7.256,91,7.256,94,1.656,95,5.172,96,6.355,97,3.773,98,6.169,99,6.355,100,6.169]],["t/10",[1,1.479,13,3.765,31,0.848,32,1.264,37,0.734,39,2.906,40,3.866,41,1.825,58,4.381,69,2.378,82,4.381,94,1.697,101,5.533,102,5.69,103,5.3,104,3.43,105,3.866,106,6.143,107,4.633,108,6.321,109,6.321,110,3.111,111,3.672,112,3.506,113,2.262,114,4.381,115,5.705]],["t/12",[1,1.377,30,1.909,31,1.336,32,1.684,37,0.978,47,2.906,50,1.981,94,1.992,110,3.652,116,2.293,117,2.434,118,2.848,119,4.666,120,2.214,121,3.438,122,3.652,123,3.481,124,2.031,125,2.473,126,2.967,127,2.691,128,2.211,129,4.322,130,2.848,131,4.113,132,3.257,133,3.938,134,2.967,135,3.938,136,4.322,137,2.741,138,3.344]],["t/14",[1,1.034,31,1.096,37,0.948,69,3.073,94,1.697,110,4.453,120,1.55,122,3.111,123,2.613,139,2.906,140,4.553,141,3.475,142,4.096,143,5.705,144,3.506,145,4.381,146,2.651,147,2.77,148,5.66,149,2.348,150,2.815,151,3.057,152,4.755,153,3.586]],["t/16",[5,1.849,30,1.24,31,1.208,37,1.014,41,1.025,52,2.67,54,1.025,66,1.659,69,1.335,94,0.953,110,4.543,113,1.27,119,5.003,120,2.208,128,1.058,130,1.849,139,1.632,146,2.277,147,2.951,148,4.569,150,2.935,151,2.625,154,1.849,155,3.32,156,6.664,157,3.763,158,3.763,159,1.887,160,2.153,161,4.289,162,2.773,163,2.828,164,4.552,165,1.632,166,2.375,167,2.114,168,3.656,169,2.557,170,1.969,171,2.976,172,2.062,173,1.716,174,3.204,175,3.204,176,1.849,177,2.375,178,3.204,179,3.204,180,2.806,181,2.3,182,2.67,183,3.204,184,2.557,185,1.606]],["t/18",[1,0.885,31,1.237,37,0.922,69,1.329,94,0.949,110,3.235,113,1.264,122,4.122,123,3.81,139,1.624,143,3.189,144,1.96,145,2.449,146,2.757,147,2.986,148,4.556,150,3.28,151,2.616,154,1.84,155,3.308,157,3.749,158,3.749,159,1.878,160,1.401,161,3.819,163,2.818,164,4.536,165,1.624,177,3.62,186,7.166,187,6.648,188,2.449,189,1.918,190,2.962,191,5.511,192,3.533,193,3.189,194,1.526,195,1.573,196,5.933,197,1.112,198,4.735,199,2.545,200,1.364,201,3.533,202,3.189,203,3.533]],["t/20",[31,1.129,37,0.769,69,1.747,110,4.378,119,4.164,120,2.063,122,3.259,123,3.19,146,3.236,147,3.032,148,4.588,150,3.436,151,2.245,156,4.19,161,3.846,163,2.418,164,3.892,177,4.43,178,4.19,179,4.19,186,4.19,187,5.976,191,3.892,195,2.067,196,5.976,197,1.462,198,5.559,199,3.344,200,1.793,202,4.19,204,3.67]],["t/22",[31,1.219,37,0.74,69,3.089,120,2.014,128,2.447,139,2.93,146,2.673,147,2.777,148,5.69,150,2.838,151,3.97,152,4.794,153,3.616,160,2.528,205,3.443,206,7.411,207,6.374,208,3.387,209,5.344,210,5.344,211,6.374]],["t/24",[31,0.885,37,1.071,69,3.156,94,1.77,112,3.656,116,3.518,117,2.935,118,4.37,125,2.982,126,3.577,139,3.03,155,4.031,200,2.545,212,2.982,213,3.283,214,2.687,215,1.6,216,3.434,217,1.902,218,2.579,219,2.935,220,5.211]],["t/26",[1,0.852,30,1.819,31,1.319,32,1.042,37,0.953,69,1.959,104,2.826,110,4.355,116,2.184,120,1.277,121,3.275,124,1.935,125,2.356,141,3.054,146,2.184,147,2.75,148,5.691,149,1.935,150,2.319,151,3.97,152,5.398,153,4.071,160,2.846,212,2.356,213,2.808,219,2.319,221,2.885,222,4.701,223,5.398,224,5.208,225,1.935,226,3.026,227,2.153]],["t/28",[1,0.941,31,0.772,32,1.151,37,0.668,54,1.661,63,2.282,69,2.889,120,2.261,128,2.576,129,4.548,146,3.22,147,2.867,151,3.713,160,2.282,209,7.245,210,6.437,217,2.09,225,2.137,228,7.245,229,4.824,230,2.997,231,2.645,232,5.754,233,5.754]],["t/30",[1,0.724,14,2.183,32,0.886,37,0.514,38,2.036,63,2.538,67,2.262,69,1.666,113,1.585,120,1.086,124,1.645,146,1.857,147,2.847,150,3.666,153,2.512,197,2.366,213,1.733,214,1.805,215,1.789,218,1.733,221,2.573,225,1.645,230,2.307,234,4.436,235,3.179,236,3.31,237,4.904,238,4.366,239,5.653,240,3.331,241,5.706,242,3.997,243,3.331,244,5.059,245,2.964,246,2.764,247,2.403,248,3.069,249,3.501,250,3.997,251,2.403,252,4.429,253,2.403]],["t/32",[37,0.905,112,3.264,116,2.468,124,2.186,139,2.706,146,2.468,147,2.181,150,2.621,155,3.599,198,4.24,215,1.666,219,2.621,220,4.653,221,3.134,254,5.886,255,5.615,256,5.886,257,3.194,258,3.939,259,6.574,260,6.161,261,5.312,262,3.066,263,5.312,264,7.888,265,5.312,266,3.007,267,5.312,268,5.886,269,3.339,270,4.902,271,5.312]],["t/34",[1,0.894,32,1.094,37,1.048,147,2.834,150,3.303,151,2.644,160,2.168,213,2.903,214,3.024,215,1.856,216,3.864,217,1.24,221,2.982,259,4.113,262,3.864,272,3.032,273,5.864,274,5.467,275,4.935,276,4.935,277,4.584,278,4.935,279,3.543,280,4.113,281,4.935,282,4.935,283,4.584,284,7.419,285,4.935,286,4.584,287,3.032]],["t/36",[1,0.7,14,1.46,32,0.856,37,0.941,113,1.532,147,2.796,150,3.282,151,3.564,160,3.213,200,2.846,213,2.884,215,1.715,216,2.23,217,1.416,218,2.884,219,1.906,221,2.963,223,3.22,235,2.846,236,2.963,262,2.23,272,2.374,287,2.374,288,5.25,289,2.918,290,4.281,291,3.543,292,3.084,293,2.275,294,3.589,295,2.55,296,3.22,297,6.244,298,3.384,299,3.589,300,4.281,301,3.719,302,3.864,303,3.384,304,4.281,305,4.281,306,2.865,307,2.692,308,2.865,309,3.22,310,3.384,311,2.034,312,3.384]],["t/38",[14,2.349,31,0.924,37,1.001,94,1.849,116,3.617,117,3.067,118,3.587,200,3.636,213,3.375,214,2.807,215,1.313,216,4.493,217,1.561,218,2.695,219,3.067,301,4.102,313,4.212,314,4.961,315,4.609]],["t/40",[1,1.06,14,2.21,32,1.296,120,2.035,128,1.932,200,2.502,215,1.582,218,2.536,223,4.875,293,3.444,301,5.453,313,3.963,315,5.554,316,5.85,317,3.677,318,3.86,319,4.875,320,7.237,321,4.337,322,4.2,323,4.2,324,4.875,325,4.875,326,6.481,327,6.481]],["t/42",[14,1.301,31,0.512,32,0.763,69,1.435,84,1.753,94,1.024,111,2.216,120,0.935,124,1.417,128,1.709,139,1.753,147,2.966,150,2.552,151,3.97,160,2.273,200,2.659,215,1.093,221,2.769,235,1.473,236,1.533,262,1.986,288,3.714,289,1.782,291,2.164,293,3.047,301,5.803,302,3.442,303,4.531,306,2.552,307,2.398,313,2.332,314,2.747,315,2.552,319,2.869,320,6.818,321,2.552,322,5.32,324,4.312,328,3.814,329,2.747,330,5.732,331,5.732,332,2.869,333,3.015,334,3.814,335,3.814,336,3.814,337,3.814,338,3.814,339,3.814,340,3.814,341,3.814,342,2.216,343,2.216,344,3.442,345,3.814]],["t/44",[3,2.495,14,2.436,37,1.024,69,3.319,71,3.962,72,3.876,73,3.721,94,1.918,116,2.996,139,3.283,346,5.989,347,5.717,348,4.492,349,5.989,350,4.629,351,6.447,352,5.989,353,6.447]],["t/47",[69,2.568,71,3.786,72,5.09,102,5.898,311,3.244,347,6.077,354,6.826,355,5.944,356,5.723,357,6.161,358,6.826,359,5.135,360,4.293,361,6.826,362,6.452,363,4.917,364,3.36,365,4.731]],["t/49",[41,2.206,44,4.55,69,2.874,135,5.503,160,3.03,217,1.732,220,6.039,366,6.039,367,3.204,368,6.405,369,6.405,370,6.895,371,7.64,372,3.979]],["t/51",[69,2.818,72,4.929,94,2.011,149,2.782,159,3.981,347,4.854,355,5.192,373,4.854,374,6.28,375,7.491,376,6.761,377,3.981,378,3.56,379,7.491,380,7.491]],["t/53",[14,2.699,37,0.699,38,2.769,64,2.815,69,2.978,72,4.797,95,5.051,99,4.762,113,2.156,120,1.941,122,2.965,123,3.272,127,2.965,141,2.563,149,2.94,172,3.5,176,3.138,244,4.762,253,3.269,313,3.684,347,6.083,348,3.789,372,3.138,381,5.437,382,5.437,383,4.531,384,4.175,385,5.437,386,5.051,387,5.437,388,4.531]],["t/55",[3,2.542,30,2.542,37,0.845,41,2.101,47,3.868,51,3.791,69,2.738,73,3.791,101,4.451,102,4.577,227,3.009,347,4.716,362,5.475,389,4.716,390,3.95,391,5.044,392,7.278,393,3.95,394,5.044]],["t/57",[1,1.179,14,2.459,18,4.189,19,6.508,32,1.442,37,0.837,41,2.082,43,3.614,139,3.314,289,3.369,347,5.75,372,3.755,395,6.045,396,4.997,397,7.21,398,5.423,399,4.295,400,3.683,401,7.21]],["t/59",[1,1.19,37,0.845,41,2.101,54,2.101,72,3.95,73,3.791,82,5.044,94,1.954,116,3.052,117,3.241,118,3.791,128,2.17,176,3.791,245,4.871,293,3.868,347,4.716,402,5.044,403,4.228,404,6.569]],["t/61",[1,1.19,37,0.845,69,2.738,82,5.044,139,3.346,163,3.791,314,5.243,342,4.228,402,6.69,403,5.185,405,5.753,406,5.185,407,4.716,408,5.243,409,5.243]],["t/63",[54,2.813,69,3.486,73,3.463,77,5.256,125,3.008,138,4.066,163,3.463,347,4.308,402,7.123,403,5.662,410,4.79,411,7.769,412,6.649,413,6.649]],["t/65",[1,0.985,13,3.588,39,2.769,54,2.552,69,2.978,72,3.269,74,4.762,116,2.526,147,1.685,159,3.202,163,3.138,168,3.341,386,5.051,399,3.588,402,7.174,403,5.454,414,4.339,415,5.437,416,3.588,417,3.789,418,3.896,419,6.024,420,4.762,421,6.024,422,6.024,423,2.641,424,6.024]],["t/67",[1,0.663,3,1.416,23,3.395,31,0.544,32,0.811,37,0.471,38,2.758,41,1.171,63,1.608,72,3.877,83,2.921,87,2.81,94,1.089,117,1.806,118,2.112,128,2.63,129,3.205,146,1.701,168,2.249,176,4.112,180,4.743,182,5.938,184,2.921,194,1.751,195,1.806,217,0.919,246,3.085,257,3.257,293,2.155,322,4.629,342,3.486,348,2.55,364,1.996,384,2.81,386,3.4,415,3.66,425,2.55,426,2.81,427,2.356,428,3.205,429,5.416,430,3.66,431,6.001,432,4.055,433,4.743,434,6.001,435,3.4,436,3.05,437,2.628,438,2.301,439,4.055,440,2.921,441,5.471,442,3.205,443,2.921,444,4.055,445,4.055,446,4.055,447,4.055,448,3.205,449,2.48,450,2.81,451,3.66,452,3.05,453,2.628,454,5.416,455,2.628,456,4.055,457,3.05,458,4.055,459,4.055,460,1.469]],["t/69",[31,0.784,37,0.9,41,1.686,104,3.17,113,2.09,124,2.881,128,2.765,147,2.436,162,2.984,165,2.685,173,3.75,176,4.04,180,6.13,257,3.17,293,3.104,311,2.776,403,3.393,407,3.785,441,4.048,461,4.897,462,7.858,463,3.909,464,3.673,465,7,466,5.841,467,5.841,468,5.272,469,5.272,470,7.755,471,3.785,472,5.841]],["t/71",[46,3.301,173,3.301,176,3.556,257,3.704,293,3.628,311,3.244,314,4.917,322,4.423,430,6.161,441,4.731,462,7.741,465,6.161,469,6.161,473,4.568,474,8.577,475,5.723,476,6.78,477,6.161,478,7.191,479,5.396,480,6.826,481,5.723]],["t/73",[1,0.977,32,1.196,37,0.914,38,2.748,41,1.726,46,2.89,113,2.139,128,2.625,147,2.464,162,3.053,165,2.748,173,3.808,176,4.102,324,4.496,333,4.725,342,4.575,378,2.841,407,3.873,464,3.759,468,5.395,473,4,482,7.874,483,4.143,484,5.269,485,7.107,486,5.977,487,5.977,488,5.977,489,4.725,490,5.395,491,5.977]],["t/75",[0,4.688,1,1.526,5,3.089,14,2.023,16,2.919,21,3.29,28,5.893,37,0.689,38,2.726,44,3.533,54,1.712,68,3.29,69,3.3,71,3.29,72,3.219,73,3.089,74,6.193,76,5.243,83,5.643,94,1.592,99,4.688,139,2.726,159,3.152,160,2.352,184,5.643,217,1.345,246,2.562,355,4.111,395,4.973,492,3.446,493,3.73,494,5.931,495,5.931]],["t/77",[1,1.106,35,4.138,37,0.99,69,3.69,139,4.294,146,2.837,147,1.893,155,5.712,157,5.911,158,5.911,159,3.596,313,4.138,425,4.255,496,4.689,497,6.107,498,3.524,499,6.766]],["t/79",[14,2.21,16,3.19,35,2.756,37,0.881,47,2.395,63,1.787,64,2.106,84,2.071,107,2.557,139,3.489,146,2.718,147,2.123,155,4.641,157,4.492,158,4.492,159,3.444,189,2.446,206,4.067,212,2.038,215,1.236,217,1.022,221,1.812,255,3.246,260,6.95,287,3.594,289,2.106,313,2.756,355,3.123,377,3.444,378,2.142,409,3.246,425,2.834,443,3.246,460,1.632,496,3.123,497,5.85,498,2.347,500,3.778,501,2.756,502,4.067,503,4.067,504,4.506,505,4.506,506,2.92,507,2.834,508,4.067,509,4.506,510,4.506,511,2.684,512,2.684,513,4.067,514,5.434,515,3.778,516,3.123,517,4.067,518,3.562,519,4.067,520,4.506,521,5.85,522,4.506]],["t/81",[1,1.099,13,1.778,14,2.501,21,1.655,30,1.656,31,1.174,32,0.949,37,1.125,39,1.372,41,0.862,47,1.586,50,1.081,69,2.759,75,3.073,76,3.174,81,2.691,82,4.659,94,0.801,99,2.36,106,3.567,107,2.691,110,2.905,111,1.734,112,1.655,113,1.068,114,2.069,115,2.694,116,1.989,119,2.983,120,1.648,121,2.983,122,2.334,123,1.961,128,1.414,130,1.555,131,2.245,132,1.778,133,2.15,134,1.62,135,2.15,136,2.36,137,1.496,138,1.825,139,3.09,176,2.47,197,1.493,200,2.832,205,1.989,208,1.586,212,1.35,213,2.63,214,1.933,215,1.489,216,2.47,217,1.338,218,1.856,219,1.329,226,5.209,293,1.586,301,2.825,313,2.9,314,2.15,315,1.997,347,3.073,352,2.503,402,3.287,403,1.734,404,2.694,523,2.694,524,2.985,525,1.778,526,3.273,527,3.174,528,3.416,529,2.15,530,2.245,531,1.655]],["t/83",[1,1.468,17,4.31,18,3.613,29,5.082,38,2.859,69,2.34,121,3.911,139,2.859,262,4.209,309,6.079,342,3.613,372,3.239,406,3.613,423,2.727,451,5.613,484,4.162,489,4.916,490,5.613,530,4.678,532,6.219,533,2.906,534,5.214,535,6.219,536,4.678,537,4.916,538,4.48,539,6.219,540,4.162,541,6.219,542,4.48,543,5.214,544,4.48]],["t/85",[13,4.506,37,0.878,69,2.846,94,2.031,106,5.69,107,4.292,110,3.723,111,4.395,112,4.195,113,2.707,114,5.243,116,3.172,117,3.368,118,3.94,139,3.477]],["t/87",[37,0.928,47,3.253,69,2.302,106,6.016,107,5.054,111,3.555,112,4.435,114,5.543,130,3.188,139,2.813,141,2.604,155,3.743,157,4.242,158,5.543,221,2.46,262,3.188,378,2.909,460,2.217,511,3.645,536,4.604,545,6.705,546,7.997,547,6.705,548,6.12,549,3.743,550,6.12,551,4.409,552,6.12,553,4.604]],["t/89",[1,1.319,16,2.48,29,5.073,32,1.008,94,1.352,106,3.789,107,2.858,113,2.887,114,6.045,117,2.243,118,2.624,133,3.629,139,2.316,215,0.961,216,2.624,221,2.025,246,2.176,309,5.275,378,2.394,400,2.573,460,1.825,463,3.371,542,5.052,554,5.038,555,4.547,556,3.371,557,5.038,558,5.038,559,5.038,560,5.038,561,4.224,562,3.789,563,3.371,564,5.038,565,4.547,566,4.224,567,4.224,568,2.48,569,4.224,570,4.547,571,4.224,572,4.547,573,5.038,574,3.168,575,5.038,576,7.013,577,3.491,578,4.224,579,5.038,580,3.629,581,3.982,582,5.038,583,4.224,584,5.038]],["t/91",[1,1.387,5,2.889,31,1.005,32,1.109,37,1.055,71,3.076,94,1.489,116,2.326,117,2.47,118,2.889,124,2.06,128,1.653,139,2.549,141,3.609,149,2.06,163,2.889,215,1.617,217,1.257,272,3.076,287,4.155,308,3.712,359,4.172,360,3.488,437,3.594,526,5.543,527,3.712,528,3.995,529,3.995,577,3.844,585,4.65,586,2.592,587,4.65,588,4.384,589,5.546,590,5.546]],["t/93",[21,3.925,37,0.822,139,4.032,155,5.365,157,6.08,158,6.08,159,3.761,195,3.151,313,4.328,496,4.905,526,5.288,529,6.868,591,7.918]],["t/95",[37,0.728,46,1.585,113,1.173,120,0.804,130,1.707,141,1.395,146,2.629,147,2.866,150,2.792,151,3.032,160,1.3,188,2.271,197,1.032,200,1.265,205,1.374,208,1.742,213,1.282,214,2.556,215,1.864,216,1.707,218,2.453,221,2.845,231,1.507,235,1.265,236,1.318,237,3.734,238,3.642,239,3.84,240,2.465,241,3.538,243,2.465,246,2.205,247,2.77,253,1.779,279,2.124,286,2.748,287,1.818,288,3.308,289,1.532,301,1.952,303,2.591,367,2.141,377,1.742,418,3.999,526,4.254,527,3.416,529,4.516,533,2.385,592,7.124,593,2.124,594,5.659,595,3.308,596,5.257,597,4.035,598,4.607,599,2.958,600,2.591,601,2.591,602,1.643,603,1.818,604,2.591,605,2.748,606,1.779]],["t/97",[22,3.827,23,1.424,37,0.687,94,0.804,120,0.735,130,1.561,141,1.275,146,2.481,147,2.857,150,3,151,2.861,160,1.188,188,2.077,197,0.943,200,1.157,205,1.995,213,1.172,214,2.746,215,1.828,216,1.561,218,2.315,221,2.708,235,1.837,236,1.913,237,3.524,238,3.437,239,3.578,240,2.254,241,3.297,243,2.254,246,1.294,247,1.626,249,2.369,250,2.705,279,3.083,286,2.512,287,1.662,288,3.083,289,1.4,301,1.785,303,2.369,350,1.942,367,1.995,418,4.419,483,2.077,526,4.075,527,3.184,529,4.262,533,2.765,595,3.083,597,3.761,600,2.369,602,1.502,603,1.662,604,2.369,605,2.512,607,6.557,608,3.988,609,4.96,610,4.294,611,2.705,612,4.294,613,5.34,614,2.997,615,4.294,616,1.424,617,2.705]],["t/99",[14,0.628,21,1.021,22,2.927,27,0.923,37,0.486,63,0.73,113,1.136,124,0.684,138,1.126,141,1.351,146,2.577,147,2.945,150,3.241,151,2.717,160,0.73,195,0.82,200,0.711,213,0.721,214,0.751,215,1.841,216,0.959,218,1.949,221,1.683,225,0.684,235,1.226,236,1.277,237,3.347,239,3.747,241,4.259,246,0.795,249,1.456,279,2.058,280,4.622,287,1.761,288,3.641,292,1.327,308,1.232,367,1.332,370,2.867,389,2.713,406,1.07,416,1.097,418,4.126,473,3.333,526,4.191,528,6.039,529,4.048,533,1.957,592,3.937,595,2.058,596,2.663,597,1.456,598,2.867,599,2.867,602,0.923,603,1.021,604,1.456,607,4.176,608,3.335,609,4.176,610,3.78,611,1.662,613,2.867,615,1.662,618,1.544,619,1.456,620,1.544,621,5.546,622,2.867,623,1.841,624,1.841,625,1.158,626,1.841,627,1.841,628,0.875,629,4.981,630,3.176,631,3.176,632,2.288,633,4.187,634,3.176,635,1.841,636,1.841,637,1.841,638,1.841,639,1.841,640,1.841,641,1.841,642,2.288,643,4.187,644,1.841,645,2.288,646,1.385,647,2.511,648,1.662,649,1.841,650,3.176,651,1.841,652,1.841,653,1.456,654,1.662,655,1.662,656,1.841,657,3.176,658,1.841]],["t/101",[10,3.33,14,2.015,22,2.069,23,1.887,37,0.907,94,1.066,113,2.525,139,1.825,141,1.69,146,1.665,147,2.751,150,3.899,168,2.203,189,3.829,195,1.768,197,1.86,205,1.665,215,1.127,219,2.631,248,2.752,282,3.584,306,2.658,307,2.497,311,1.887,312,3.139,314,2.861,364,1.955,367,1.665,417,3.716,418,4.586,443,2.861,526,3.913,527,2.658,528,4.256,533,2.761,591,3.584,592,4.671,594,3.584,595,2.573,596,3.33,607,3.33,609,3.33,612,3.584,628,1.887,659,3.971,660,3.971,661,3.584,662,3.971,663,3.971,664,3.139,665,2.497,666,7.056,667,3.971,668,3.971,669,3.971,670,3.971,671,3.971,672,3.971,673,3.971,674,3.971,675,3.971,676,3.971,677,3.971,678,3.971,679,3.139,680,3.971]],["t/103",[31,1.025,37,0.887,94,2.051,116,3.204,117,3.402,118,3.979,197,2.405,200,2.95,205,3.204,213,2.989,215,1.457,217,1.732,221,3.071,525,4.55]],["t/105",[1,1.087,31,1.244,32,1.33,37,0.772,69,2.501,104,3.608,146,2.788,147,2.814,148,6.422,150,2.961,151,4.079,152,5.001,153,3.772,160,2.637,212,3.008,213,3.301,221,3.391,222,6.001]],["t/107",[31,0.95,37,0.822,69,2.663,120,2.151,128,2.615,146,2.968,147,2.667,151,3.422,160,2.807,197,2.228,209,7.355,210,5.934,217,1.605,228,7.355,229,5.934,681,7.077]],["t/109",[69,2.459,146,2.741,147,2.862,150,3.715,197,2.058,200,2.524,205,2.741,215,1.753,221,3.355,234,5.783,235,3.222,236,3.355,238,5.34,240,4.916,241,4.53,242,5.899,243,4.916]],["t/111",[31,1.184,69,2.687,94,1.918,160,2.833,195,3.181,197,2.778,205,2.996,215,1.362,289,3.338,525,4.255,682,6.447,683,6.447,684,2.996,685,5.646,686,3.876,687,5.989,688,3.454,689,4.052,690,7.143]],["t/113",[14,1.633,31,0.642,94,1.285,120,1.174,124,1.778,141,2.879,147,2.744,150,2.131,151,2.315,154,2.493,160,3.569,161,2.781,197,2.13,200,1.848,205,2.838,215,1.716,221,1.924,225,2.915,230,2.493,235,1.848,236,1.924,238,4.559,288,6.053,289,3.162,292,3.448,295,2.851,296,3.601,527,3.203,553,3.601,602,2.4,682,4.321,684,3.577,689,2.716,691,4.787,692,4.787,693,4.787,694,3.01,695,3.448,696,3.203,697,4.321,698,4.787,699,4.321,700,4.013]],["t/115",[14,1.528,31,0.601,94,1.203,124,1.664,141,1.906,147,2.879,150,3.686,151,3.658,154,2.334,160,2.559,161,2.603,197,2.032,200,1.73,205,2.707,215,1.796,221,1.801,225,2.81,227,1.852,230,2.334,235,1.73,236,1.801,238,3.749,272,2.485,289,3.016,295,2.669,296,3.37,332,3.37,527,2.998,533,2.094,553,3.37,588,3.541,602,2.246,683,4.044,684,3.172,689,2.542,695,3.227,696,2.998,697,4.044,701,4.48,702,3.105,703,5.411,704,3.756,705,4.48,706,4.48,707,4.044,708,4.48,709,4.48,710,5.102,711,4.044,712,4.48,713,4.044]],["t/118",[69,2,120,1.304,146,2.229,147,2.941,149,1.975,150,3.695,151,2.571,154,4.649,197,1.674,205,3.48,215,1.388,225,3.315,230,2.769,288,3.445,600,4.202,684,2.229,689,4.708,700,6.102,703,4.457,704,4.457,713,6.569,714,8.925,715,3.83,716,4.798,717,3.83,718,6.569,719,5.316,720,5.316]],["t/120",[1,0.63,69,1.449,111,3.355,113,1.378,124,1.431,146,1.615,147,2.959,150,3.427,151,3.35,153,3.931,154,3.609,160,1.528,165,1.771,205,3.765,212,2.612,215,1.712,221,2.322,223,2.897,225,2.145,230,2.006,238,3.355,266,1.968,288,4.988,292,2.775,295,4.127,317,2.185,329,2.775,399,2.294,684,2.422,689,5.093,699,5.213,715,2.775,721,8.103,722,4.842,723,3.045,724,3.852,725,2.775,726,3.852,727,3.852,728,3.852,729,3.852,730,3.852,731,2.67,732,3.045,733,2.897,734,2.775]],["t/122",[31,0.565,37,0.716,113,2.207,120,1.033,124,1.564,147,2.787,150,3.58,151,2.036,165,2.836,197,2.531,200,1.626,205,3.75,212,1.905,213,1.647,215,1.762,217,0.955,219,1.875,225,3.179,230,2.193,262,3.213,288,2.728,306,2.818,307,2.648,309,3.167,310,3.328,311,2.001,312,3.328,362,3.167,525,2.508,600,3.328,684,2.587,703,3.53,704,3.53,718,3.8,721,3.8,735,7.301,736,2.664,737,5.568,738,3.53,739,6.169,740,6.169,741,5.172,742,6.169,743,4.21,744,3.53,745,4.21,746,3.53,747,2.508,748,4.21,749,3.8,750,4.21,751,4.21]],["t/124",[27,4.03,31,1.079,39,3.695,50,2.912,149,2.986,225,2.986,399,4.788,423,3.525,752,6.74]],["t/126",[37,0.786,39,3.11,50,2.451,149,2.513,194,2.922,215,1.29,236,3.429,257,3.672,390,3.672,418,3.33,423,2.967,608,3.672,696,4.528,753,5.673,754,4.731,755,5.089,756,5.673,757,6.766,758,4.528,759,5.089,760,3.524,761,6.766,762,6.766,763,4.689,764,4.384]],["t/128",[38,3.815,39,2.979,124,2.407,125,2.932,149,2.407,189,4.504,194,2.799,230,3.376,289,3.029,322,4.2,402,4.492,403,5.608,423,2.842,518,5.123,765,6.127,766,6.481,767,6.481,768,4.337,769,6.481,770,6.481,771,6.481,772,5.85,773,5.434,774,6.481,775,5.434]],["t/130",[22,2.016,30,1.352,31,1.036,32,1.16,37,0.673,39,1.78,41,1.118,54,1.674,63,2.299,64,1.809,66,3.248,120,2.127,123,1.6,128,1.728,137,1.941,141,1.647,149,1.438,159,2.057,162,2.961,163,3.02,172,3.368,173,3.731,194,1.672,197,1.825,230,2.016,251,3.771,270,4.37,315,2.591,418,1.906,423,1.697,608,2.101,763,2.683,764,2.509,776,6.95,777,5.493,778,4.361,779,5.797,780,2.306,781,3.494,782,2.789,783,3.246,784,3.246,785,3.06,786,3.871,787,3.494,788,2.683,789,3.494,790,5.797,791,3.943,792,3.246,793,3.494,794,3.246,795,3.871,796,3.871,797,3.871,798,5.232,799,5.797,800,5.232,801,3.246,802,3.368,803,3.246,804,4.86,805,2.912,806,4.037,807,2.153,808,2.789,809,3.871,810,4.176]],["t/132",[39,2.813,54,1.767,66,2.86,122,4.649,149,2.273,153,3.472,162,4.085,170,3.394,185,3.617,194,4.233,405,4.838,423,2.683,449,4.891,608,3.321,684,2.567,763,4.242,764,3.966,811,7.997,812,6.705,813,6.12,814,6.705,815,6.12,816,5.131,817,5.131,818,4.095,819,5.524]],["t/134",[1,0.425,22,2.211,30,1.483,37,0.493,39,1.196,53,3.928,54,1.974,66,2.9,120,1.319,128,1.265,145,2.942,147,0.728,149,2.54,153,1.476,160,1.032,162,1.329,176,1.355,181,1.686,194,1.123,215,0.496,217,0.963,235,2.077,236,3.245,249,2.056,253,2.304,270,2.67,291,3.051,313,1.591,350,2.751,355,1.803,367,1.78,418,3.611,423,1.141,457,1.957,526,1.443,556,1.741,562,4.046,601,2.056,602,1.304,679,4.251,716,2.348,722,3.559,760,1.355,763,4.301,764,4.022,777,3.356,778,1.957,785,3.356,802,3.973,807,3.683,810,1.874,820,4.576,821,1.443,822,1.591,823,4.245,824,4.669,825,3.832,826,2.751,827,2.348,828,4.245,829,3.058,830,2.601,831,2.942,832,2.348,833,4.245,834,2.751,835,4.245,836,1.686,837,2.942,838,2.181,839,2.056,840,2.348,841,2.601,842,2.181,843,3.559,844,2.601,845,2.601,846,1.957,847,2.601,848,1.329,849,2.348,850,1.874,851,1.329,852,2.601,853,2.056,854,1.511,855,2.348,856,4.245,857,2.601,858,1.957,859,1.957,860,2.601,861,4.251,862,2.601]],["t/136",[1,0.798,38,2.242,39,2.242,54,1.979,120,1.196,125,2.206,128,1.454,149,1.812,153,2.767,188,4.752,194,2.107,197,3.039,212,3.101,215,1.728,217,1.106,417,4.312,423,2.139,512,2.905,684,2.046,736,2.107,794,4.09,800,4.403,802,3.983,808,3.514,810,3.514,846,5.964,863,4.878,864,4.403,865,8.179,866,5.542,867,4.403,868,4.878,869,4.878,870,4.878,871,3.264,872,4.403,873,6.47,874,6.857,875,3.669,876,4.403,877,6.189]],["t/138",[31,0.647,39,2.214,54,1.391,120,2.097,147,1.901,149,1.789,162,2.461,194,2.08,200,3.99,215,0.918,217,1.939,235,2.624,236,1.936,301,4.048,320,3.808,423,2.112,438,3.856,450,3.338,498,2.509,568,2.371,736,2.935,791,3.856,802,2.798,804,5.698,806,3.948,820,3.223,861,3.808,878,4.348,879,7.171,880,4.348,881,3.47,882,3.623,883,3.612,884,4.348,885,3.808,886,4.348,887,4.817,888,7.107,889,5.112,890,3.623,891,2.733]],["t/140",[39,3.41,54,2.142,120,1.819,149,2.756,162,3.79,194,3.204,199,7.013,215,1.415,217,1.682,423,3.253,568,3.652,802,4.31,820,4.964,892,6.696,893,3.79]],["t/142",[1,0.934,22,3.979,39,2.625,46,3.694,54,2.485,66,3.57,102,4.805,149,2.121,153,3.24,173,3.694,185,3.894,194,2.466,251,4.146,423,2.504,440,4.114,518,7.574,802,4.438,820,5.761,894,8.777,895,5.155,896,6.405]],["t/144",[1,0.863,22,3.773,39,2.427,46,3.503,54,2.387,66,3.385,101,6.421,102,5.201,149,1.961,173,3.503,185,3.741,194,2.28,215,1.007,251,3.931,423,2.315,433,7.372,440,3.803,802,4.804,807,2.691,808,5.218,820,5.534,896,6.073,897,4.427,898,6.073,899,3.803]],["t/146",[39,2.906,54,2.358,56,6.998,66,3.816,149,2.348,153,3.586,173,3.949,185,4.587,194,2.73,251,4.432,403,4.745,423,2.772,433,4.997,440,4.553,802,3.672,820,5.465,900,6.321]],["t/148",[31,1.102,39,2.93,54,1.84,121,4.008,122,5.003,123,3.755,149,2.367,161,3.703,170,3.535,185,3.714,188,5.69,189,3.459,190,5.344,194,3.923,423,2.795,425,4.008,684,2.673,763,4.417,764,4.13,802,3.703,816,5.344,817,5.344]],["t/150",[3,2.226,18,3.703,31,1.257,32,0.881,37,0.511,39,2.024,54,1.271,66,2.058,110,3.137,121,2.769,123,3.394,128,1.313,144,4.155,149,1.636,167,3.796,170,4.832,173,3.082,194,1.902,237,2.623,251,2.39,266,2.249,269,2.498,410,3.172,423,1.931,425,2.769,763,3.052,764,2.853,775,3.692,787,5.753,802,3.703,806,3.703,891,3.616,901,5.68,902,5.344,903,3.692,904,3.974,905,3.481,906,5.192,907,2.623,908,3.898,909,4.417,910,5.344,911,3.692,912,4.794,913,4.403,914,3.692,915,2.947,916,3.312,917,3.974]],["t/152",[1,1.078,31,0.885,39,3.03,54,2.422,120,2.515,149,2.449,162,3.367,194,2.847,214,2.687,217,1.902,253,5.444,368,7.034,423,2.89,568,4.13,802,3.83,820,4.411,918,4.569]],["t/154",[23,4.627,31,0.996,37,0.635,38,3.41,39,2.513,50,3.05,54,2.142,94,1.468,116,2.293,130,2.848,141,2.327,149,2.031,173,3.587,176,5.408,194,2.361,219,2.434,225,2.031,251,2.967,418,3.652,423,2.397,441,3.789,802,4.31,820,4.965,824,6.793,919,4.935,920,5.467,921,4.935,922,5.467]],["t/156",[5,3.213,27,3.093,31,0.828,38,2.836,41,2.735,46,2.983,49,4.64,81,4.561,94,1.656,116,2.587,117,2.747,118,3.213,124,2.291,181,3.997,195,2.747,231,2.836,396,4.276,511,3.675,536,4.64,540,4.128,562,4.64,923,3.997,924,4.128,925,6.169,926,4.128,927,4.877,928,4.128,929,6.169,930,5.568,931,5.172,932,5.172,933,5.568,934,4.877,935,4.64]],["t/158",[5,3.138,37,0.473,41,1.177,43,2.044,81,3.418,84,1.874,85,3.222,147,2.363,155,4.382,221,1.639,364,2.006,367,1.71,407,3.904,433,5.664,710,3.222,923,2.641,927,3.222,932,3.418,933,3.679,936,3.679,937,4.076,938,2.212,939,4.076,940,5.853,941,6.024,942,5.437,943,3.679,944,4.076,945,4.076,946,4.076,947,4.076,948,4.076,949,7.622,950,4.076,951,2.937,952,4.076,953,4.076,954,6.007,955,6.007,956,7.165,957,7.165,958,7.165,959,7.165,960,4.076,961,4.076,962,4.076,963,6.024,964,4.076,965,6.024,966,6.024,967,5.051,968,4.076,969,4.076,970,4.076,971,4.076,972,4.076,973,4.076,974,2.493,975,4.076,976,6.024,977,4.076,978,4.076,979,4.076,980,4.076]],["t/160",[18,3.966,37,0.793,41,1.971,130,3.556,149,2.536,231,3.138,293,3.628,396,4.731,400,3.487,511,4.066,542,4.917,923,4.423,924,4.568,940,5.944,981,6.161,982,5.723,983,6.826,984,6.826,985,6.161,986,5.723,987,5.396,988,5.723,989,7.741,990,6.826]],["t/162",[18,5.771,30,2.449,41,2.025,81,3.979,154,3.653,350,4.544,493,4.41,567,5.88,688,3.391,928,4.693,938,5.391,940,6.045,991,5.543,992,7.013,993,7.873]],["t/164",[27,3.068,30,3.423,31,1.073,41,2.83,48,3.555,50,2.897,51,4.166,81,3.472,116,2.567,141,2.604,147,2.237,149,2.273,219,2.725,221,2.46,225,2.273,226,3.555,227,2.53,393,3.321,406,3.555,464,3.849,547,5.131,758,4.095,928,4.095,991,4.838,994,4.166,995,3.068]],["t/166",[1,1.147,30,2.449,31,0.941,37,0.814,41,2.518,50,3.16,64,3.277,67,3.582,113,2.509,116,2.941,140,5.052,219,3.123,226,4.074,306,4.693,307,4.41,463,5.837,923,4.544,924,4.693,928,4.693,938,3.806]],["t/168",[1,0.985,31,0.809,37,0.699,38,2.769,50,3.401,73,4.123,124,2.238,137,3.02,141,3.368,149,2.238,189,3.269,225,2.94,390,3.269,410,5.702,423,2.641,427,3.5,460,2.182,464,4.978,477,5.437,492,3.5,688,2.913,694,3.789,754,4.39,756,5.051,758,5.297,759,4.531,836,3.903,890,4.531,996,6.257,997,4.531]],["t/170",[1,1.025,30,2.837,31,1.09,37,0.728,50,2.943,51,4.232,94,2.181,141,2.668,172,4.72,189,4.409,194,3.509,225,3.348,230,3.266,346,5.257,464,5.109,758,5.436,928,4.196,994,3.266,996,4.956,998,4.716,999,8.124,1000,4.956,1001,4.516]],["t/172",[1,0.913,30,2.629,31,1.143,37,0.988,50,3.3,51,3.921,73,3.921,124,2.075,125,2.527,141,2.377,172,3.246,173,2.701,189,4.085,194,2.413,212,2.527,225,3.162,410,6.133,464,4.734,632,4.024,694,3.513,758,3.738,759,4.202,883,2.969,928,3.738,991,4.416,994,2.91,996,4.416,1001,4.024,1002,5.587,1003,5.587,1004,5.587,1005,7.528,1006,5.662]],["t/174",[1,0.746,30,1.592,31,0.612,37,0.887,50,3.624,51,3.404,56,3.051,73,4.346,124,1.694,141,1.94,147,2.572,172,2.649,173,2.205,189,2.475,225,2.428,230,3.404,236,1.833,402,3.16,403,3.797,410,6.011,425,2.868,460,1.652,464,2.868,694,2.868,753,6.405,754,5.468,756,5.48,758,3.051,759,3.43,765,3.051,802,2.649,824,3.43,858,3.43,859,3.43,994,3.404,996,3.604,1001,3.285,1006,3.43,1007,4.56,1008,3.604,1009,4.56,1010,6.536,1011,2.955]],["t/176",[26,3.808,27,2.415,30,1.682,31,1.148,37,0.559,41,1.391,50,3.098,54,1.962,63,1.91,116,2.02,120,1.181,128,1.436,130,2.509,149,3.477,163,2.509,172,2.798,173,3.286,185,2.179,197,2.14,212,2.179,215,1.501,217,1.541,219,2.145,225,3.177,230,2.509,236,1.936,251,2.614,262,2.509,291,2.733,367,2.02,406,3.948,418,2.371,423,2.112,460,1.745,518,3.808,525,2.869,533,2.251,684,2.02,789,4.348,807,2.524,858,3.623,859,3.623,894,4.038,895,4.348,991,3.808,994,2.509,995,2.415,1012,3.623,1013,3.808,1014,3.47,1015,3.338]],["t/178",[0,5.08,1,1.051,14,2.192,21,3.564,28,4.834,37,0.746,38,2.954,69,3.106,74,5.08,75,5.349,76,6.103,77,5.08,78,5.801,79,5.388,83,5.946,94,2.216,112,3.564,116,2.695,117,2.862,118,3.348,139,2.954,159,3.416,355,4.454,395,5.388,492,3.734,493,4.042,1016,6.427]],["t/180",[14,1.851,21,3.011,37,0.974,69,3.156,75,4.784,76,6.025,111,3.154,112,4.653,114,5.117,116,2.277,125,2.456,126,2.946,139,3.394,154,2.828,155,4.515,157,6.24,158,6.24,159,2.885,195,2.417,221,3.373,260,5.836,313,3.32,496,3.763,547,6.19,1017,5.429,1018,5.429,1019,4.552,1020,4.9,1021,5.429,1022,5.429,1023,5.429,1024,5.429]],["t/182",[1,0.639,4,2.71,14,1.334,31,1.273,37,0.678,75,3.785,76,2.617,94,1.877,107,3.967,111,2.272,125,2.642,126,2.122,146,2.932,147,2.941,150,2.601,152,2.942,153,2.219,160,2.316,208,3.104,212,2.642,213,3.247,221,3.118,225,1.453,245,2.617,318,2.329,322,4.53,323,2.534,429,5.272,438,2.219,460,1.417,471,2.534,754,3.878,842,3.279,1025,3.911,1026,2.534,1027,7.755,1028,3.911,1029,3.091,1030,3.279,1031,3.911,1032,3.911,1033,3.911,1034,5.841,1035,3.911,1036,6.31,1037,3.53,1038,2.942,1039,5.272,1040,3.53,1041,3.279,1042,3.911]],["t/184",[1,0.33,14,0.689,18,1.174,31,0.462,37,0.521,69,0.76,75,1.309,76,3.004,81,1.146,103,3.764,107,1.951,111,1.174,124,0.75,146,2.491,147,2.964,149,0.75,150,3.372,160,1.364,212,0.914,213,1.345,214,1.83,215,1.58,216,1.052,221,2.13,237,2.674,238,2.608,239,3.377,240,2.587,241,2.383,243,1.52,246,1.485,255,2.477,259,3.377,260,1.597,261,1.824,262,1.052,263,1.824,264,3.104,265,1.824,266,2.293,267,1.824,269,1.146,270,1.271,271,1.824,295,1.203,310,3.548,322,1.309,332,1.52,411,1.694,414,1.455,416,2.048,452,2.587,460,1.246,561,1.694,563,1.352,715,1.455,722,1.694,752,1.694,754,1.907,775,1.694,778,1.52,904,3.104,924,3.004,1006,1.52,1036,3.104,1037,1.824,1038,1.52,1039,1.824,1043,1.694,1044,1.52,1045,2.477,1046,4.489,1047,1.694,1048,3.439,1049,3.104,1050,1.824,1051,2.02,1052,2.02,1053,4.782,1054,2.02,1055,2.02,1056,2.02,1057,1.824,1058,7.573,1059,5.298,1060,2.02,1061,2.02,1062,3.439,1063,2.02,1064,2.02,1065,2.02,1066,2.02,1067,2.02,1068,2.02,1069,3.439,1070,2.02,1071,2.02,1072,2.02,1073,2.02,1074,2.02,1075,4.489,1076,2.02,1077,2.02,1078,1.455,1079,2.02,1080,4.489,1081,5.94,1082,2.02,1083,2.02,1084,2.02,1085,4.489,1086,2.02,1087,2.02,1088,2.02,1089,3.439,1090,2.02,1091,2.02,1092,5.298,1093,6.463,1094,4.489,1095,5.298,1096,3.439,1097,1.824,1098,2.02,1099,2.02,1100,2.02,1101,1.694,1102,3.439,1103,3.439,1104,1.4,1105,2.02]],["t/186",[14,1.307,31,0.772,32,1.151,37,0.668,75,2.484,86,3.03,107,2.174,141,1.631,146,1.607,147,3.042,150,3.848,151,1.853,160,2.739,213,1.5,214,2.345,215,1.569,216,4.802,221,1.541,237,3.427,246,1.655,255,2.761,259,2.883,262,1.996,273,3.03,275,3.459,276,3.459,277,6.437,278,3.459,283,3.213,285,3.459,287,3.191,293,2.037,295,2.283,322,3.728,332,2.883,364,1.887,416,2.283,778,4.328,1038,2.883,1049,3.459,1050,3.459,1053,3.459,1057,5.193,1106,3.833,1107,6.908,1108,3.833,1109,3.459,1110,3.833,1111,3.833,1112,3.833]],["t/188",[14,1.826,31,0.718,37,0.622,75,3.469,103,4.488,107,3.037,146,2.245,147,3.01,150,2.384,160,2.9,161,3.11,200,2.824,215,1.787,218,2.861,221,2.152,238,3.11,294,4.488,295,4.356,296,5.501,299,4.488,301,4.356,364,2.635,452,4.027,1013,4.232,1038,4.027,1047,4.488,1113,7.518,1114,6.6,1115,5.353]],["t/190",[14,1.985,21,2.158,26,3.076,27,1.95,31,0.781,37,0.809,69,1.464,75,3.771,76,2.604,107,2.207,113,1.392,116,1.632,120,0.954,124,1.445,130,2.027,136,3.076,138,2.379,139,1.789,146,1.632,147,2.963,150,3.104,160,2.308,184,2.803,197,2.435,200,1.502,205,2.44,215,1.766,217,1.319,218,2.277,219,2.591,225,1.445,238,3.381,262,2.027,294,3.262,295,3.466,296,4.377,299,3.262,301,2.318,307,2.447,310,3.076,311,1.849,312,3.076,364,1.915,452,2.927,545,3.262,684,2.44,1038,2.927,1044,5.243,1047,3.262,1113,5.252,1114,5.252,1116,6.97,1117,3.512,1118,5.819,1119,3.891,1120,3.891,1121,3.891]],["t/192",[1,1.157,31,1.177,32,1.416,37,0.822,41,2.533,50,3.178,62,3.422,94,1.9,116,2.968,117,3.151,118,3.686,120,2.151,121,4.451,123,2.926,124,2.629,127,3.484,128,2.11,204,5.594]],["t/194",[31,1.015,37,0.878,41,2.184,50,2.039,62,2.721,94,1.511,113,2.014,119,4.757,120,2.096,128,2.255,147,2.556,162,3.864,165,2.587,166,3.766,167,3.352,168,3.121,169,4.054,170,3.121,171,4.718,172,3.269,173,2.721,174,5.079,175,5.079,225,2.81,266,2.875,269,3.193,764,3.646,855,6.828,994,3.94,1041,4.718,1122,6.828,1123,7.565,1124,5.627,1125,5.627]],["t/196",[31,1.081,37,0.644,41,1.936,50,1.323,54,1.936,62,1.765,94,0.98,113,1.306,122,5.07,123,4.042,124,1.356,128,1.088,142,2.366,147,2.466,149,1.356,161,3.897,165,1.678,170,3.72,185,3.837,188,3.844,189,1.981,190,3.061,193,3.295,194,4.097,225,2.782,237,2.175,418,2.73,449,2.233,460,1.323,461,3.061,516,2.53,528,2.63,608,1.981,684,2.326,731,2.53,764,2.366,816,3.061,817,3.061,871,2.443,994,2.889,1126,3.651,1127,2.886,1128,3.651,1129,3.651,1130,3.651,1131,3.295,1132,4.65,1133,3.651,1134,3.651,1135,3.651,1136,3.651,1137,3.651,1138,3.295,1139,3.651,1140,3.651]],["t/198",[31,1.214,37,0.864,41,2.149,50,1.577,54,2.358,62,2.105,94,1.169,110,4.874,113,1.558,119,2.738,120,1.068,121,2.738,122,3.111,123,2.613,124,1.617,144,4.811,147,2.427,149,1.617,165,2.001,225,2.348,266,2.224,269,2.47,460,1.577,461,3.65,471,4.823,602,2.182,642,3.136,764,2.821,871,2.913,901,5.947,906,5.158,909,5.158,994,3.293,1132,5.3,1141,6.321,1142,4.353,1143,3.929]],["t/200",[23,1.821,31,1.289,32,1.151,37,0.802,41,2.376,47,2.037,50,2.084,54,2.376,63,1.52,73,1.996,94,1.029,110,2.832,113,1.371,120,2.495,124,1.424,147,2.302,149,1.424,162,2.939,163,1.996,165,1.762,166,2.565,167,2.283,168,2.126,169,2.761,170,2.126,171,3.213,172,2.227,173,1.853,185,2.603,217,0.869,225,2.566,253,5.474,367,2.413,372,1.996,425,2.41,460,1.388,602,1.921,807,1.424,871,2.565,918,3.988,994,3.598,1144,5.754,1145,3.833,1146,3.833,1147,3.833,1148,3.833,1149,3.833,1150,3.833,1151,3.213,1152,2.883,1153,2.565,1154,2.883]],["t/202",[30,3.064,31,0.95,41,2.533,48,4.112,49,5.324,50,2.564,51,4.569,52,5.324,57,5.934,81,4.015,94,1.9,116,3.679,117,3.151,118,3.686,393,3.841,496,4.905,995,3.548,1155,5.594]],["t/204",[35,4.865,37,0.924,40,4.865,51,4.905,94,2.136,155,4.865,378,3.781,1156,6.289,1157,6.67]],["t/206",[1,0.985,27,3.02,41,2.285,51,5.079,81,4.49,147,2.214,168,3.341,231,2.769,396,4.175,400,3.077,537,4.762,542,5.702,556,4.031,608,3.269,938,3.269,940,4.175,986,6.636,987,4.762,988,5.051,993,5.437,1000,7.708,1001,5.702,1158,6.024,1159,5.437,1160,3.684,1161,6.024,1162,6.024]],["t/208",[30,2.675,31,0.924,37,0.889,41,2.211,46,1.844,47,2.027,50,2.774,51,4.277,64,1.782,67,1.948,102,2.398,113,1.365,116,1.599,122,2.822,123,2.37,130,1.986,140,4.129,147,2.635,161,2.216,168,2.115,169,2.747,170,3.179,173,3.33,185,1.725,212,1.725,219,1.698,225,2.845,226,2.216,251,2.07,262,1.986,269,2.164,306,2.552,307,2.398,393,3.111,549,2.332,567,3.197,608,3.111,710,5.444,763,2.643,792,3.197,894,3.197,901,2.216,989,3.442,1000,5.444,1001,2.747,1132,4.806,1138,3.442,1159,3.442,1163,5.732,1164,3.442,1165,3.442,1166,3.814,1167,3.814,1168,3.814,1169,3.814,1170,3.814,1171,3.814,1172,3.814,1173,2.643,1174,3.814,1175,3.015,1176,3.015,1177,3.814,1178,3.814,1179,3.814,1180,3.814,1181,3.442,1182,3.814,1183,3.442,1184,3.814,1185,3.442,1186,3.197]],["t/210",[31,1.068,37,0.924,41,2.297,50,2.882,64,3.718,67,4.064,94,2.136,116,3.336,117,3.542,118,4.144]],["t/212",[1,1.097,15,5.623,31,0.9,32,1.342,41,1.936,50,3.541,62,3.243,94,1.801,110,3.301,119,4.218,120,2.397,121,4.218,122,3.301,123,3.507,127,3.301,227,2.773,253,3.64,389,4.346,471,4.346,901,3.897,1026,4.346]],["t/214",[23,2.98,31,1.21,37,0.859,41,1.243,50,2.943,63,1.707,66,2.93,72,2.336,94,1.683,113,2.243,122,3.086,123,1.78,124,1.599,125,1.947,126,2.336,128,1.869,130,2.242,144,2.387,162,3.203,165,1.979,170,2.387,176,2.242,182,4.716,194,4.198,225,1.599,405,5.846,441,2.983,449,6.12,473,2.881,485,3.885,533,2.012,608,2.336,803,3.609,814,7.239,818,4.196,819,5.659,951,3.101,994,3.266,1187,4.305,1188,4.305,1189,4.305,1190,4.305,1191,3.609,1192,2.881,1193,3.609,1194,4.305,1195,3.885]],["t/216",[31,0.968,32,0.577,37,0.67,38,1.326,41,1.665,50,2.09,54,1.665,63,1.144,64,1.348,113,1.651,120,1.768,125,2.087,128,1.376,147,2.152,149,2.143,162,1.473,165,2.121,188,4.569,189,1.565,197,2.991,215,1.852,217,1.046,218,1.129,225,2.857,270,1.814,367,1.21,438,2.618,460,1.045,512,1.718,525,2.749,684,1.935,731,3.198,736,1.246,749,2.603,794,2.418,808,2.078,810,4.155,836,3.738,846,4.339,864,2.603,865,8.009,866,5.131,867,2.603,871,3.088,872,2.603,873,3.471,882,3.471,883,2.453,898,2.418,994,3.434,1015,1.999,1157,2.418,1196,2.078,1197,2.28,1198,2.884,1199,2.884,1200,2.884,1201,2.884,1202,2.884,1203,2.884,1204,2.884,1205,2.884,1206,2.884,1207,2.884,1208,2.884,1209,2.884,1210,2.884,1211,2.078,1212,4.165,1213,2.884,1214,2.884,1215,2.603,1216,2.603,1217,2.28,1218,2.884,1219,2.884,1220,2.884,1221,2.884,1222,2.418,1223,2.418,1224,2.418,1225,2.418]],["t/218",[22,4.232,31,0.755,37,0.943,41,1.074,49,2.799,64,1.739,85,5.364,147,2.556,162,1.901,189,2.02,194,1.607,221,1.496,225,2.09,262,1.938,270,3.539,390,2.02,418,4.768,443,2.681,464,3.539,516,4.703,533,3.171,583,3.12,595,3.646,603,2.064,642,2.681,661,3.359,688,1.799,710,2.942,754,3.121,781,3.359,783,3.12,784,3.12,785,5.98,850,2.681,932,4.718,936,3.359,994,2.931,1131,7.713,1226,3.721,1227,3.12,1228,3.721,1229,5.079,1230,8.124,1231,5.627,1232,3.359,1233,6.786,1234,3.721,1235,5.627,1236,3.359,1237,3.721,1238,5.627,1239,6.786,1240,3.721,1241,3.721,1242,3.721,1243,3.12,1244,3.721,1245,2.799,1246,3.359,1247,3.12,1248,3.721]],["t/220",[23,4.557,31,1.075,37,0.807,38,2.821,41,2.006,50,1.148,54,2.18,69,1.192,72,2.699,113,1.134,120,0.777,130,1.651,141,1.349,147,2.603,149,2.279,165,2.286,168,1.758,173,3.651,176,5.474,180,2.505,182,2.384,225,2.279,251,2.699,257,1.72,384,2.197,418,3.943,438,1.798,441,4.816,460,1.148,463,2.121,526,2.758,533,1.481,617,2.861,731,2.197,824,6.026,871,3.328,919,2.861,921,5.539,949,2.861,994,3.196,1043,2.657,1249,6.95,1250,3.169,1251,4.973,1252,3.169,1253,3.169,1254,3.169,1255,3.169,1256,3.169,1257,3.169,1258,3.169,1259,3.169,1260,4.973,1261,3.169,1262,2.197,1263,3.169]],["t/222",[1,0.52,22,3.205,31,0.935,32,0.637,37,0.369,41,1.776,46,2.412,50,1.153,54,2.317,66,2.875,94,0.854,101,6.408,102,5.746,104,1.727,113,1.139,147,2.685,149,2.981,165,2.293,173,3.368,185,3.63,215,0.951,225,3.317,251,3.78,440,2.293,460,1.153,731,4.264,807,2.587,808,5.017,871,4.117,896,5.158,897,2.668,898,6.728,899,2.293,903,2.668,994,3.205,1264,6.153,1265,3.183,1266,3.183,1267,3.183,1268,3.183,1269,3.183,1270,3.183,1271,3.183,1272,2.206,1273,3.183,1274,3.183,1275,3.183]],["t/224",[31,0.912,37,0.789,41,2.273,50,1.745,54,1.962,63,1.91,113,1.724,120,2.097,124,1.789,147,2.393,149,1.789,162,2.461,165,2.214,200,3.856,213,1.885,215,1.296,217,1.092,225,2.925,235,2.624,367,2.85,438,2.733,568,3.345,731,3.338,878,4.348,879,7.171,880,4.348,881,3.47,882,5.112,883,3.612,994,4.102,1216,4.348,1217,3.808,1222,4.038,1223,4.038,1224,4.038,1225,4.038,1276,4.817,1277,4.817,1278,4.817,1279,4.817,1280,4.817]],["t/226",[31,1.02,37,0.883,41,2.476,50,2.054,54,2.195,63,2.248,113,2.028,120,2.103,162,2.896,165,2.606,199,6.178,213,3.356,215,1.449,216,4.467,217,1.285,225,2.824,367,3.188,438,3.216,568,3.742,892,5.117,893,3.883,994,4.467,1222,4.753,1223,4.753,1224,4.753,1225,4.753,1281,5.669,1282,5.669,1283,5.669]],["t/228",[37,0.878,41,1.625,94,2.031,124,2.09,147,2.116,162,5.015,170,3.121,181,3.646,185,2.545,194,2.43,225,3.394,230,2.931,272,3.121,390,3.054,423,2.467,449,4.626,526,3.121,540,3.766,759,4.233,792,4.718,798,8.861,803,4.718,814,4.718,893,3.864,994,2.931,1284,5.627,1285,7.565,1286,5.627,1287,4.448,1288,5.627,1289,5.627]],["t/230",[1,1.173,27,2.611,30,3.09,31,1.288,32,1.042,38,2.394,41,2.555,42,3.918,43,2.611,47,2.768,50,2.6,54,2.072,66,2.434,81,2.955,84,2.394,94,1.398,104,2.826,116,2.184,117,2.319,118,2.713,124,1.935,128,1.552,134,2.826,182,3.918,217,1.181,364,2.564,367,2.184,407,3.375,515,4.367,540,3.485,543,4.367,549,3.185,606,2.826,807,1.935,850,3.752,926,3.485,930,4.701,931,6.017,1152,3.918,1155,4.117,1173,3.61,1290,4.117,1291,5.208,1292,5.208,1293,5.208,1294,4.701]],["t/232",[18,2.284,30,3.376,31,1.213,37,0.456,39,3.224,40,4.289,41,2.899,47,3.116,48,4.517,50,1.424,51,4.945,62,1.901,81,4.411,94,1.574,130,3.054,137,1.97,184,2.831,225,1.46,333,3.107,393,3.806,396,4.064,420,3.107,426,2.724,498,2.047,536,2.957,665,2.472,923,4.544,924,2.63,926,5.203,927,3.107,928,6.216,1000,3.107,1195,5.292,1295,3.296,1296,3.931,1297,5.863,1298,5.863,1299,3.252,1300,3.931,1301,3.931,1302,3.931,1303,3.931]],["t/234",[27,3.169,30,2.852,31,1.214,37,0.734,41,2.358,50,3.587,113,2.262,116,2.651,130,3.293,141,2.69,147,2.285,149,3.034,219,2.815,225,2.348,226,3.672,406,3.672,464,3.975,655,5.705,758,4.23,928,4.23,994,4.254,995,3.169,1304,4.755,1305,6.321]],["t/236",[1,0.754,15,3.869,31,1.239,32,0.923,37,0.893,39,2.121,40,2.822,41,2.664,50,3.343,54,2.22,62,3.188,94,1.239,110,3.785,119,4.146,120,2.46,121,4.146,122,3.785,123,3.669,124,1.714,127,4.13,128,1.376,204,3.648,213,1.806,217,1.046,227,1.908,253,4.174,389,2.99,471,2.99,568,2.271,574,2.902,901,4.468,1026,2.99,1122,4.165,1192,3.088]],["t/238",[30,1.807,31,1.184,37,0.829,38,2.378,41,1.494,50,1.874,54,1.494,66,2.417,69,1.946,72,2.807,101,3.164,102,3.253,104,2.807,120,1.752,123,2.139,124,2.653,130,2.695,142,3.352,144,3.962,147,2.59,176,2.695,197,2.249,251,2.807,258,4.78,384,3.585,438,2.935,530,3.891,568,2.546,602,2.593,616,2.459,628,2.459,684,2.17,686,2.807,695,3.727,818,3.462,954,4.337,1191,4.337,1306,3.891,1307,4.669,1308,4.669,1309,4.669,1310,7.143,1311,5.173,1312,7.143,1313,5.173,1314,5.173,1315,5.173]],["t/240",[30,2.427,31,1.269,41,2.006,66,4.053,101,4.25,102,4.37,123,2.873,124,3.512,212,3.143,251,3.771,403,5.039,452,5.227,602,3.484,608,3.771,632,5.006,765,4.65,1173,4.816,1306,5.227]],["t/242",[31,0.877,41,1.887,66,3.899,113,2.339,147,2.334,172,3.797,176,3.404,219,2.91,251,5.255,329,4.708,384,4.53,403,4.848,471,4.235,1247,5.48,1316,5.899,1317,4.708,1318,5.899,1319,5.48,1320,5.899,1321,5.48,1322,5.899,1323,6.536,1324,6.536,1325,6.536,1326,6.536]],["t/244",[1,0.643,31,1.247,32,0.786,37,0.456,41,2.401,50,2.54,64,1.837,66,3.277,67,2.008,113,2.509,116,1.648,120,0.964,122,3.452,123,2.424,128,1.172,144,5.51,147,1.64,212,1.778,219,3.123,226,2.284,231,1.807,237,4.177,306,2.63,307,2.472,329,4.224,346,3.296,403,4.517,460,1.424,471,3.799,628,1.868,834,2.547,901,4.074,1143,5.292,1191,6.519,1247,4.916,1316,5.292,1317,4.224,1318,5.292,1319,4.916,1320,5.292,1321,4.916,1322,5.292,1327,2.831,1328,3.296,1329,3.931,1330,5.863,1331,5.863,1332,5.863,1333,5.863,1334,3.931]],["t/246",[1,0.798,24,2.905,31,1.064,32,1.371,33,3.571,37,0.796,38,2.242,54,1.408,68,2.705,72,2.647,94,1.841,110,2.401,120,1.196,123,2.017,125,2.206,127,2.401,128,1.454,144,2.705,184,3.514,195,2.172,197,1.536,217,1.106,219,2.172,226,2.834,227,2.017,231,2.242,246,2.107,414,4.939,471,3.161,544,3.514,551,4.939,581,3.856,595,4.443,723,3.856,755,3.669,901,4.606,902,4.09,906,3.381,1026,3.161,1327,3.514,1335,4.939,1336,3.381,1337,4.403,1338,3.514,1339,3.381,1340,6.189,1341,4.878,1342,4.09,1343,4.878,1344,3.856,1345,3.514,1346,3.856,1347,4.403,1348,3.514,1349,4.878,1350,4.878,1351,3.669,1352,4.878]],["t/248",[31,0.594,37,0.873,117,3.888,122,3.15,123,1.831,128,2.603,144,5.329,163,2.307,172,4.366,185,2.003,205,1.857,217,1.704,238,3.718,272,2.456,280,7.364,295,3.812,549,2.708,642,4.61,647,5.059,834,2.87,839,5.941,901,3.718,902,6.902,1327,3.19,1353,3.997,1354,3.997,1355,3.997,1356,6.4,1357,6.301,1358,6.783,1359,6.4,1360,6.4,1361,6.4,1362,5.777,1363,6.4,1364,6.4]],["t/250",[2,3.15,3,1.462,18,2.433,24,2.494,31,1.076,32,0.838,33,2.181,36,3.31,37,0.486,54,1.209,63,2.437,84,2.824,94,1.124,105,2.561,110,3.024,117,1.865,122,3.024,123,2.54,128,1.248,134,2.273,140,3.016,141,1.782,144,4.447,145,4.258,161,4.658,162,2.139,170,2.322,173,2.025,189,2.273,194,3.688,195,1.865,205,1.756,218,1.638,258,2.802,318,2.494,364,2.061,416,2.494,417,2.633,425,2.633,436,3.15,449,5.458,503,3.78,531,2.322,563,2.802,574,2.633,606,2.273,684,1.756,893,2.139,915,2.802,924,4.112,951,3.016,1045,3.016,1175,3.31,1344,3.31,1346,3.31,1365,3.78,1366,4.187,1367,4.187,1368,4.187,1369,4.187,1370,3.016,1371,3.78,1372,4.112,1373,2.902,1374,4.187,1375,4.187,1376,4.187,1377,3.78,1378,2.802,1379,4.187,1380,4.187]],["t/252",[31,0.946,66,2.37,117,2.258,120,1.244,122,3.985,128,1.512,144,4.49,145,3.514,154,2.641,170,2.812,173,2.452,191,6.787,197,2.549,205,3.395,226,2.946,238,2.946,295,5.21,393,2.752,423,3.089,449,4.951,561,6.787,586,3.783,616,2.41,684,3.395,917,7.307,982,5.907,1006,3.814,1175,6.399,1327,3.653,1336,4.883,1381,5.071,1382,7.045,1383,5.071,1384,5.071,1385,5.071]],["t/254",[1,1.434,29,4.451,32,1.416,104,3.841,160,2.807,438,4.015,449,5.365,1152,5.324,1197,5.594,1339,4.905,1365,6.388,1386,6.388,1387,7.077,1388,5.324,1389,7.077,1390,6.388,1391,6.388,1392,7.077,1393,5.098,1394,5.098]],["t/256",[1,1.321,5,3.239,13,3.704,31,0.835,32,1.244,37,0.722,63,2.466,67,3.177,72,3.375,73,3.239,84,2.859,96,4.916,120,1.982,123,3.341,127,3.978,142,4.03,185,2.813,208,3.305,217,1.41,227,2.571,231,2.859,234,4.31,246,2.686,253,3.375,388,4.678,506,4.03,616,2.956,901,3.613,1395,4.916,1396,5.613,1397,4.916,1398,6.219,1399,5.613]],["t/258",[1,1.321,32,1.796,53,2.5,120,1.525,127,3.061,194,2.686,208,3.305,215,1.712,454,5.613,602,3.118,760,3.239,807,3.002,821,3.449,822,3.803,890,4.678,934,4.916,1014,4.48,1192,4.162,1335,4.48,1400,6.219,1401,4.31,1402,6.775,1403,6.219,1404,5.214,1405,4.162,1406,4.678,1407,5.214,1408,2.769,1409,3.911,1410,5.214]],["t/260",[1,1.001,3,2.793,31,0.821,54,1.767,62,2.959,68,3.394,73,3.188,94,1.643,125,2.768,128,1.824,197,1.927,200,2.363,205,3.354,213,2.395,215,1.699,216,3.188,217,1.388,362,4.604,506,3.966,525,3.645,606,3.321,608,3.321,747,3.645,848,4.551,935,4.604,1176,4.838,1372,4.095,1393,4.409,1411,4.838,1412,4.838,1413,4.838,1414,6.12,1415,6.12]],["t/262",[1,0.614,31,1.371,32,1.134,60,2.604,64,1.756,85,2.97,104,2.039,149,1.396,197,1.785,200,2.636,205,1.576,208,1.997,215,1.822,216,1.957,217,0.852,218,1.47,221,1.511,235,2.189,236,3.448,262,1.957,291,3.216,292,2.707,308,2.515,323,2.435,343,2.183,377,1.997,399,2.238,438,3.216,448,5.396,493,3.565,568,2.79,574,2.363,628,1.786,684,1.576,686,2.039,717,4.917,736,1.623,807,1.396,810,2.707,893,1.92,909,2.604,914,3.151,918,2.604,1006,2.827,1014,4.917,1181,6.161,1262,6.17,1405,2.515,1416,3.151,1417,3.758,1418,7.602,1419,8.158,1420,6.826,1421,3.392,1422,3.151,1423,3.392,1424,2.435]],["t/264",[5,3.376,125,2.932,197,2.04,200,3.205,205,2.718,215,1.746,217,1.469,219,2.886,226,3.765,227,2.679,231,3.815,235,2.502,236,3.336,270,4.076,289,3.029,372,3.376,450,4.492,506,4.2,525,3.86,549,3.963,765,4.337,807,2.407,1013,5.123,1328,5.434,1425,5.85,1426,6.481,1427,5.434]],["t/266",[14,2.555,22,2.294,33,2.294,37,0.87,47,3.981,63,1.746,68,2.442,82,5.691,113,1.576,130,2.294,165,2.024,189,4.456,194,3.546,200,1.7,212,1.992,214,1.795,215,1.428,217,1.445,218,1.723,231,2.024,234,4.417,235,3.364,236,3.652,237,4.462,246,1.902,258,2.947,266,2.249,283,3.692,318,2.623,359,3.312,374,3.692,378,2.093,398,3.312,399,2.623,406,2.558,460,1.595,500,5.344,511,2.623,543,3.692,563,2.947,632,3.172,747,2.623,955,5.344,1164,3.974,1290,3.481,1428,4.403,1429,4.403,1430,3.481,1431,3.312,1432,3.974,1433,3.974,1434,4.403,1435,3.974,1436,4.403,1437,4.403,1438,4.403]],["t/268",[165,3.583,234,5.402,235,3.01,236,3.134,350,5.051,351,7.035,399,4.643,951,5.615,1408,3.471,1439,7.035,1440,6.161,1441,7.035]],["t/270",[1,0.803,5,2.557,37,0.8,43,2.461,63,1.947,94,1.318,113,1.757,120,1.204,124,1.823,154,2.557,170,2.723,181,3.181,197,2.168,200,3.072,213,1.921,216,2.557,217,1.956,221,1.974,235,3.507,236,3.652,246,2.12,247,2.664,301,2.924,372,2.557,418,3.39,516,3.402,608,3.738,628,3.273,684,2.059,780,2.924,807,1.823,821,2.723,836,4.463,881,3.536,910,4.116,974,3.002,1109,4.431,1151,4.116,1185,4.431,1336,3.402,1408,2.186,1409,3.087,1424,3.181,1442,3.693,1443,5.003,1444,3.181,1445,4.116,1446,4.431,1447,3.881]],["t/272",[14,2.308,22,2.493,32,0.957,37,0.911,47,2.544,62,2.315,63,1.898,113,1.713,147,2.861,149,1.778,160,2.683,189,2.598,208,2.544,215,1.716,217,1.085,225,1.778,231,2.2,235,2.613,236,2.72,237,2.851,246,2.922,247,2.598,258,4.528,259,3.601,266,2.445,269,2.716,287,2.655,372,2.493,476,3.784,500,4.013,593,3.102,736,2.067,915,3.203,955,4.013,1029,3.784,1153,3.203,1215,4.321,1386,4.321,1408,2.131,1409,3.01,1435,6.107,1443,3.01,1448,4.321,1449,4.787,1450,3.601,1451,4.787,1452,6.766,1453,6.766,1454,4.787]],["t/274",[5,3.226,14,2.112,37,0.936,43,2.122,62,2.047,68,2.348,107,2.402,113,1.515,124,1.573,147,2.049,154,4.198,159,2.25,197,1.333,200,1.635,215,1.397,217,0.96,218,1.656,220,3.347,221,1.702,227,1.75,235,3.112,236,3.602,246,3.481,272,2.348,317,2.402,364,2.084,369,3.549,418,2.084,423,1.856,449,2.589,476,6.371,516,4.293,531,2.348,544,3.05,593,4.014,608,2.298,648,3.821,736,1.828,746,5.193,777,4.896,780,2.522,788,4.293,791,2.402,836,2.743,910,3.549,926,2.833,1336,5.076,1408,1.885,1430,3.347,1443,2.662,1455,4.234,1456,4.234,1457,4.234,1458,4.234,1459,6.194,1460,7.325,1461,4.234,1462,4.234,1463,4.234]],["t/276",[1,0.985,11,5.664,27,2.044,31,0.962,32,1.205,38,1.874,43,2.044,50,1.477,54,1.177,62,1.971,63,1.617,68,2.261,104,2.212,110,2.006,119,2.564,120,2.521,122,2.006,123,3.272,127,2.965,128,1.796,142,2.641,160,1.617,197,1.283,200,1.574,205,1.71,213,1.595,214,1.662,215,1.149,216,2.123,218,1.595,231,2.769,253,2.212,289,1.905,298,3.222,315,2.728,321,2.728,360,2.564,378,1.937,425,2.564,489,4.762,492,2.368,545,3.418,603,3.341,616,2.863,807,2.238,901,2.368,951,2.937,1152,3.066,1192,2.728,1217,3.222,1294,3.679,1304,3.066,1342,5.051,1405,2.728,1448,3.679,1464,3.066,1465,3.222,1466,2.825,1467,2.937,1468,7.165,1469,6.024,1470,4.076,1471,3.679,1472,4.076,1473,3.679,1474,4.076,1475,4.076]],["t/278",[1,0.941,20,5.193,30,3.018,31,1.289,32,1.151,37,0.668,41,2.662,48,5.02,50,2.084,51,2.997,52,4.328,53,2.313,54,1.661,55,4.548,56,3.85,57,4.824,94,1.545,104,4.167,116,2.413,117,2.562,118,2.997,134,3.122,197,1.811,214,2.345,215,1.097,217,1.305,218,2.251,246,2.485,460,2.084,664,4.548,807,2.137,1155,6.069,1476,5.754,1477,4.824]],["t/280",[48,4.15,51,4.596,53,2.872,176,3.721,388,5.373,679,5.646,760,3.721,826,4.629,834,5.717,843,5.989,916,5.373,940,4.951,981,6.447,1306,5.373,1478,7.201,1479,5.989,1480,6.447]],["t/282",[41,2.345,48,5.539,400,4.15,940,5.63,986,6.811,987,6.422,988,6.811]],["t/284",[0,4.8,37,0.705,47,3.227,48,3.527,51,3.163,84,2.791,94,1.63,114,4.208,247,3.295,289,2.837,311,2.886,378,2.886,423,3.488,542,4.374,754,4.922,832,5.48,938,3.295,940,4.208,1078,4.374,1245,4.567,1481,9.776,1482,6.072,1483,9.417,1484,5.48,1485,6.072,1486,5.48,1487,6.072,1488,6.072,1489,6.072,1490,6.072]],["t/286",[1,0.948,3,2.695,22,3.02,31,0.778,32,1.543,33,3.02,41,1.674,46,2.803,53,3.102,63,2.299,120,1.422,124,2.153,214,3.145,215,1.654,364,2.853,418,2.853,455,3.756,464,3.646,498,3.02,540,3.879,754,3.215,788,4.018,807,2.866,826,5.62,829,4.176,840,5.232,851,3.942,998,4.361,1370,5.559,1491,4.018,1492,5.232,1493,5.797,1494,5.797,1495,5.797,1496,5.232]],["t/288",[31,0.977,41,2.577,48,4.228,51,3.791,53,2.926,55,5.753,56,4.871,126,3.95,197,2.291,212,3.292,215,1.388,289,3.401,755,5.475,826,4.716,873,5.475,1160,4.451,1262,5.044,1497,6.569]],["t/290",[23,3.303,31,0.933,46,3.36,55,6.856,56,4.65,125,3.143,126,3.771,130,3.62,165,3.194,173,3.36,248,4.816,378,3.303,414,5.006,440,5.006,484,4.65,537,5.493,736,3.001,843,5.826,1155,5.493,1186,5.826,1498,6.949,1499,5.826,1500,5.227]],["t/292",[1,0.67,31,1.065,32,1.21,37,0.702,41,2.443,48,2.381,50,2.604,51,2.135,53,1.648,54,1.183,64,1.915,67,2.094,94,1.1,101,2.506,102,2.577,104,2.224,113,1.466,116,1.719,124,1.522,142,5.142,147,2.63,173,1.982,197,1.29,205,1.719,208,2.178,212,1.854,214,1.671,215,1.153,218,1.604,219,1.825,226,2.381,235,1.582,237,2.441,241,4.981,246,1.77,281,3.699,287,3.354,291,2.325,306,2.742,307,2.577,308,2.742,427,3.514,511,2.441,556,4.047,586,1.915,684,1.719,695,2.952,897,3.436,954,6.653,967,3.436,1307,3.699,1308,5.459,1309,5.459,1443,2.577,1477,3.436,1501,4.098,1502,6.048,1503,4.098,1504,4.098,1505,4.098,1506,3.24,1507,4.098,1508,4.098,1509,4.098,1510,3.24,1511,4.098,1512,4.098,1513,4.098]],["t/294",[3,1.795,31,1.24,32,1.422,33,2.677,37,0.597,54,2.053,97,3.143,120,2.343,124,1.909,128,2.119,195,2.288,208,2.731,213,2.011,217,1.612,219,2.288,226,2.985,227,2.124,231,2.362,253,4.424,273,4.062,414,3.702,428,4.062,498,3.703,506,3.33,551,3.702,568,3.5,595,4.607,606,3.859,628,2.442,755,3.865,901,4.131,918,3.561,1340,4.638,1344,4.062,1346,4.062,1351,3.865,1372,3.439,1443,3.232,1466,3.561,1514,5.139,1515,5.139,1516,5.139,1517,4.638]],["t/296",[1,0.9,31,0.739,32,1.101,37,0.639,110,2.71,120,1.35,122,3.669,123,2.276,128,2.222,144,4.134,162,3.808,163,2.868,176,3.883,185,2.491,205,2.309,217,1.69,238,3.199,253,2.988,269,3.124,280,7.633,295,3.28,642,3.967,647,7.159,684,2.309,839,5.893,1353,4.97,1354,6.728,1355,6.728,1357,4.617,1358,4.97,1362,6.728,1518,4.353,1519,4.617]],["t/298",[1,0.927,3,1.98,5,2.953,14,1.933,18,3.293,24,3.377,30,1.98,31,1.283,37,0.658,66,2.649,110,2.79,119,3.565,120,1.39,134,3.076,161,3.293,170,3.144,195,3.385,396,3.929,416,3.377,436,4.264,457,4.264,588,4.481,606,3.076,791,3.216,924,3.794,1045,4.084,1344,4.481,1346,4.481,1348,4.084,1372,5.087,1373,3.929,1377,5.117,1378,3.794,1520,5.117,1521,5.669,1522,5.117,1523,4.481,1524,5.669,1525,4.753,1526,5.669,1527,4.753,1528,5.669,1529,4.753]],["t/300",[31,1.241,37,0.896,117,3.436,128,2.3,280,5.804,647,6.1,654,6.965,924,5.164,1192,5.164,1357,6.469,1530,7.716,1531,7.716]],["t/302",[1,1.35,14,2.815,54,1.855,94,2.216,217,1.872,298,5.08,359,4.834,376,5.801,377,3.416,390,3.488,399,3.828,531,3.564,588,5.08,628,3.054,702,4.454,938,3.488,1348,4.63,1373,4.454,1378,4.301,1395,5.08,1443,5.191,1532,5.388,1533,5.801,1534,6.427,1535,6.427,1536,5.801,1537,4.454,1538,4.834]],["t/304",[1,1.025,16,3.086,23,2.98,24,3.734,31,0.841,32,1.254,54,1.81,68,3.477,120,2.21,163,3.266,214,2.556,215,1.549,217,2.043,218,2.453,221,2.521,363,4.516,366,4.956,506,4.063,526,3.477,538,4.516,760,3.266,807,2.329,821,3.477,1014,4.516,1405,4.196,1408,2.792,1539,5.257,1540,5.257,1541,4.516,1542,4.516,1543,5.659]],["t/306",[3,2.779,32,1.591,37,0.705,53,3.567,68,3.367,94,1.63,117,2.704,120,1.489,215,1.158,217,1.804,227,2.51,272,3.367,428,4.8,736,2.622,807,3.296,822,4.865,851,4.064,1173,4.208,1410,6.67,1431,5.984,1500,4.567,1540,5.091,1544,4.374,1545,3.617,1546,4.8,1547,5.091,1548,4.374,1549,5.48,1550,4.374]],["t/308",[3,2.104,31,0.809,32,1.205,37,0.699,46,2.913,63,2.389,71,3.341,87,4.175,95,5.051,97,3.684,120,1.941,124,2.238,200,3.056,205,2.526,213,2.357,215,1.509,217,1.795,231,2.769,235,3.056,236,3.182,291,3.418,362,4.531,406,3.5,549,3.684,807,2.94,848,4.043,1290,4.762,1408,2.682,1551,4.531,1552,6.024,1553,5.437,1554,3.684,1555,5.437]],["t/310",[27,2.973,31,0.796,32,1.567,37,0.689,47,3.152,54,1.712,82,4.111,120,1.455,124,2.203,128,1.768,160,2.352,197,2.938,200,2.29,205,3.679,212,2.683,215,1.673,217,1.989,383,4.462,574,3.73,586,2.772,625,3.73,684,2.487,685,4.688,686,3.219,807,2.91,938,3.219,1397,4.688,1412,4.688,1422,4.973,1423,5.353,1554,3.627,1556,5.353]],["t/312",[3,2.137,31,0.821,32,1.6,63,2.427,120,2.185,124,2.273,128,1.824,129,6.322,137,3.068,213,3.129,214,2.495,215,1.525,216,4.166,217,1.813,218,3.129,323,3.966,367,2.567,369,5.131,717,4.409,807,2.273,848,3.126,935,4.604,1176,4.838,1554,3.743,1557,7.218,1558,5.524,1559,6.12,1560,6.12,1561,4.409]],["t/314",[1,1.255,13,3.427,14,1.962,32,1.536,43,2.884,84,2.645,117,2.562,189,3.122,200,2.222,215,1.831,217,1.305,230,3.999,231,2.645,235,2.222,244,4.548,245,3.85,255,4.145,277,4.824,279,3.728,287,4.258,289,2.689,308,3.85,393,3.122,460,2.084,533,2.689,586,2.689,736,2.485,810,4.145,1466,3.988,1562,9.881,1563,5.754,1564,5.754,1565,5.754,1566,5.193]],["t/316",[1,1.339,5,2.28,11,3.461,16,3.124,21,2.428,23,3.549,31,1.167,32,1.27,37,0.737,38,2.013,47,3.373,54,1.264,62,2.117,63,1.736,68,2.428,72,3.445,73,2.28,120,1.074,124,1.626,125,1.98,126,2.376,128,2.226,149,1.626,172,4.338,176,3.306,177,2.93,195,1.949,217,1.693,234,3.034,251,2.376,355,3.034,377,2.327,378,3.017,384,5.675,406,2.544,438,2.484,441,3.034,442,3.461,460,2.299,544,3.154,577,3.034,586,2.966,909,3.034,1013,3.461,1019,3.671,1192,2.93,1299,3.52,1345,3.154,1404,3.671,1405,2.93,1424,2.837,1567,4.378,1568,3.952,1569,3.461,1570,4.378,1571,3.952,1572,4.378,1573,4.378,1574,4.378,1575,4.378,1576,3.293]],["t/318",[1,1.321,3,2.172,23,4.682,40,3.803,64,2.906,84,2.859,94,1.67,105,3.803,217,1.832,246,2.686,349,5.214,372,3.239,373,4.03,460,2.253,484,4.162,587,6.775,688,3.007,923,4.03,1299,3.449,1339,4.31,1536,5.613,1554,3.803,1577,5.214,1578,6.219,1579,5.214,1580,5.214,1581,4.916,1582,6.219,1583,4.916,1584,6.219]],["t/320",[1,1.06,37,0.752,94,1.74,146,2.718,153,3.677,163,3.376,167,3.86,181,4.2,217,1.469,378,3.08,427,3.765,653,5.123,747,3.86,780,3.86,831,4.492,974,3.963,1012,6.243,1160,3.963,1227,5.434,1424,4.2,1443,4.076,1555,5.85,1577,5.434,1585,8.264,1586,5.123,1587,5.123,1588,6.481,1589,6.481,1590,5.85]],["t/322",[1,0.955,94,1.568,128,1.741,215,1.66,217,1.758,236,3.5,291,4.939,321,3.909,343,3.393,356,4.897,372,3.042,378,3.686,460,2.116,586,2.73,628,2.776,780,3.479,807,2.881,893,4.448,974,5.324,1443,5.475,1444,3.785,1445,4.897,1447,4.617,1464,4.394,1587,4.617,1590,7,1591,5.841,1592,6.502]],["t/324",[3,2.04,5,3.042,26,4.617,35,3.572,37,0.678,43,2.928,53,2.348,84,2.685,120,1.902,127,2.875,128,1.741,215,1.114,257,3.17,318,3.479,363,4.208,372,3.042,378,2.776,602,2.928,760,4.04,807,2.17,821,3.24,822,3.572,851,2.984,1345,4.208,1372,3.909,1447,4.617,1464,4.394,1500,4.394,1544,4.208,1593,5.841,1594,5.841,1595,5.272,1596,5.841,1597,6.882,1598,5.841,1599,4.617,1600,4.897,1601,5.272,1602,5.272,1603,4.617,1604,5.272]],["t/326",[1,1.479,21,3.506,23,3.881,27,3.169,32,1.264,208,3.36,215,1.205,217,1.852,266,3.229,287,3.506,378,3.004,506,4.096,511,3.765,526,5.018,538,4.553,585,6.847,586,2.954,602,4.094,619,4.997,621,7.371,1339,4.381,1464,4.755,1605,4.997,1606,6.321,1607,4.23,1608,4.997]],["t/328",[31,1.226,37,0.653,71,3.121,128,2.255,165,2.587,195,2.506,197,2.382,200,3.299,213,2.202,217,1.715,235,2.173,236,2.262,318,3.352,628,2.674,684,3.584,688,2.721,715,5.449,780,4.506,818,3.766,938,3.054,974,4.626,1012,6.873,1041,4.718,1299,4.195,1443,3.539,1444,3.646,1445,4.718,1554,3.441,1592,4.718,1609,4.054,1610,5.627,1611,5.627,1612,5.627]],["t/330",[1,1.357,37,0.964,87,5.752,1390,7.491,1613,6.958,1614,6.958]],["t/332",[1,1.225,31,1.005,32,1.817,110,3.687,120,2.228,123,3.097,128,2.233,141,3.188,142,4.854,471,4.854,1026,4.854,1304,5.635,1405,5.013,1615,5.921]],["t/334",[43,3.755,54,2.163,205,3.141,215,1.732,217,1.698,231,3.443,235,2.892,236,3.012,270,4.711,289,3.5,372,3.902,450,5.192,549,4.581,620,6.28,765,5.013]],["t/336",[1,1.262,14,2.632,31,1.036,33,4.019,84,3.547,169,5.558,313,4.719,484,5.164,923,5,1616,7.716,1617,6.965,1618,6.469,1619,5.164]],["t/338",[24,4.295,32,1.442,37,0.837,94,1.936,120,1.768,123,2.981,127,3.549,144,3.999,197,2.27,360,4.534,755,5.423,901,4.189,906,4.997,1327,5.194,1335,6.392,1336,4.997,1337,6.508,1338,5.194,1620,7.21]],["t/340",[31,0.968,33,3.755,54,2.082,63,2.859,117,3.21,120,1.768,122,3.549,123,3.669,127,3.549,128,2.149,144,3.999,145,4.997,194,3.114,205,3.024,258,4.825,417,4.534,449,4.409,1175,5.699,1371,6.508]],["t/342",[16,3.39,31,1.264,32,1.378,37,0.8,50,2.495,54,1.988,84,3.166,117,3.067,123,2.847,128,2.053,144,4.784,208,3.66,217,1.561,231,3.166,506,4.463,628,3.273,780,4.102,834,4.463,1327,4.961,1621,6.216,1622,6.216,1623,4.609]],["t/344",[31,0.968,32,1.442,37,0.837,46,3.486,54,2.082,71,3.999,120,1.768,200,2.784,213,2.821,215,1.375,217,1.635,231,3.314,235,2.784,236,2.899,291,4.09,549,4.409,807,2.678,1290,5.699,1551,5.423,1624,6.045]],["t/346",[32,1.559,33,4.06,35,4.767,37,0.905,68,4.323,217,1.767,628,3.704,821,4.323,1378,5.216,1619,5.216,1625,7.795,1626,7.795]],["t/348",[5,3.902,13,4.462,14,2.555,32,1.817,33,3.902,63,2.971,81,4.25,120,2.228,163,3.902,217,2.059,1395,5.921,1627,7.491,1628,6.761]],["t/350",[3,2.722,31,1.249,32,1.559,46,3.769,97,4.767,213,3.05,367,3.269,606,4.23,807,2.895,1299,4.323,1629,7.035]],["t/352",[31,1.015,32,1.513,54,2.184,120,1.855,213,3.575,214,3.084,215,1.442,216,3.94,217,1.715,218,3.575,807,2.81,1557,6.828,1630,6.342]],["t/354",[1,1.201,32,1.47,72,3.988,84,3.378,96,5.808,97,4.493,113,2.629,315,4.917,316,6.632,367,3.081,736,3.173,1399,6.632,1411,5.808,1412,7.096,1631,6.16,1632,7.527]],["t/356",[1,1.485,16,3.687,22,3.902,23,3.56,31,1.005,32,1.498,44,4.462,54,2.163,97,4.581,120,2.228,217,1.698,367,3.141,1629,6.761,1633,6.761]],["t/358",[1,1.213,22,3.864,31,1.212,66,4.22,123,3.067,251,4.026,270,4.666,418,4.445,533,3.467,783,6.22,784,6.22,785,5.864,1012,5.58,1229,6.696]],["t/360",[16,3.723,23,4.342,105,4.626,141,3.219,253,4.105,360,4.757,538,5.449,602,3.792,603,4.195,604,5.98,628,3.595,1391,6.828,1538,5.69,1634,5.98]],["t/362",[1,1.527,14,2.909,141,2.879,215,1.781,230,3.524,258,4.528,272,3.753,287,5.181,367,2.837,377,3.596,393,3.672,438,3.839,526,5.181,586,3.162,1405,4.528,1624,5.673,1635,6.107,1636,6.766]],["t/364",[1,1.314,16,3.957,31,1.079,32,1.608,104,4.363,105,4.916,120,1.971,581,6.355,625,5.056]],["t/366",[1,1.314,31,1.079,32,1.608,120,2.324,123,3.323,142,5.209,628,3.82,1637,5.791]],["t/368",[31,1.191,32,1.442,54,2.082,63,2.859,110,3.549,120,2.357,123,2.981,127,3.549,128,2.149,213,2.821,218,2.821,253,3.913,498,3.755,568,3.549,734,5.194,901,4.189,1525,6.045]],["t/370",[1,1.274,31,1.046,32,1.559,418,3.837,533,3.642,608,4.23,780,4.643,818,5.216,1012,5.863,1336,5.402,1430,6.161,1638,7.035]],["t/372",[1,1.19,13,4.335,31,0.977,32,1.456,54,2.101,125,3.292,160,2.886,197,2.291,200,2.81,205,3.052,208,3.868,214,2.967,215,1.388,217,1.65,227,3.009,442,5.753,616,3.459,747,4.335,807,2.703]],["t/374",[16,3.582,63,2.886,68,4.037,137,3.649,214,2.967,215,1.841,218,2.848,236,3.588,291,4.129,363,5.243,893,3.718,1014,5.243,1442,5.475,1639,7.278,1640,6.569,1641,7.278]],["t/376",[120,2.189,128,2.17,167,4.335,215,1.388,218,2.848,236,4.046,270,4.577,438,4.129,717,5.243,780,4.335,821,4.037,850,5.243,1014,5.243,1442,6.714]],["t/378",[3,3.172,43,3.755,53,3.012,54,2.163,160,2.971,851,4.64,854,4.352,1409,4.711,1443,4.711,1544,5.396,1642,6.761,1643,6.761,1644,6.28,1645,7.491]],["t/380",[1,1.157,23,3.363,24,4.216,31,0.95,32,1.416,54,2.043,68,3.925,120,1.736,214,2.885,215,1.349,217,1.989,218,2.769,363,5.098,807,2.629,821,3.925,1338,5.098,1408,3.151,1409,4.451,1540,5.934,1542,5.098,1543,6.388]],["t/382",[3,2.642,12,5.98,27,3.792,73,3.94,84,3.477,97,4.626,105,4.626,436,5.69,606,4.959,848,3.864,1211,5.449,1646,5.243,1647,7.565,1648,7.565]],["t/384",[3,3.012,7,6.216,32,1.378,37,0.8,53,3.467,215,1.313,217,1.561,272,3.82,428,5.444,506,4.463,736,2.974,807,3.204,822,4.212,851,4.406,1410,5.774,1431,5.181,1500,5.181,1544,4.961,1545,4.102,1547,5.774,1548,4.961]],["t/386",[13,4.55,14,2.605,16,3.76,21,4.237,22,3.979,23,3.631,24,4.55,25,5.747,28,5.747,372,3.979,407,4.95,587,6.405,606,4.146,943,6.895]],["t/388",[32,1.817,54,2.163,63,2.971,120,1.837,197,2.358,205,3.141,215,1.732,217,1.698,417,4.711,574,4.711,685,5.921,807,2.782,1412,5.921,1556,6.761]],["t/390",[32,1.528,54,2.206,68,4.237,120,1.873,127,3.76,128,2.277,377,4.06,384,5.295,586,3.57,909,5.295,1192,5.112,1404,6.405,1568,6.895,1569,6.039]],["t/392",[1,1.402,3,2.384,14,2.328,16,3.36,22,3.556,23,3.244,31,0.916,32,1.365,33,3.556,37,0.793,71,3.786,73,3.556,120,2.103,134,3.704,217,1.945,388,5.135,606,3.704,1394,4.917,1397,5.396,1406,5.135,1633,6.161,1649,5.723,1650,4.917]],["t/394",[1,1.494,14,2.58,32,1.513,84,3.477,177,5.062,215,1.742,231,3.477,235,2.921,236,3.041,255,5.449,287,4.195,289,3.535,1425,6.828]],["t/396",[1,1.418,16,3.421,21,3.854,22,3.62,23,3.303,32,1.39,44,4.139,94,1.866,141,2.957,215,1.654,287,4.811,366,5.493,526,4.811,527,4.65,528,5.006,619,5.493,1592,5.826,1605,5.493,1651,6.949,1652,5.826]],["t/398",[1,1.225,3,2.616,32,1.817,46,4.392,97,4.581,120,2.228,215,1.428,484,5.013,606,4.065,760,3.902,1378,5.013,1408,3.335,1653,7.491]],["t/400",[1,1.116,16,3.36,21,3.786,23,3.244,37,0.793,54,1.971,81,3.873,127,3.36,217,1.945,230,3.556,253,3.704,418,3.36,526,3.786,585,7.191,619,5.396,665,4.293,717,4.917,831,4.731,1019,5.723,1446,6.161,1605,5.396,1654,6.161,1655,6.826,1656,6.161]],["t/402",[1,1.304,3,1.447,31,0.556,32,1.778,37,0.708,43,3.056,46,2.948,84,2.802,87,2.871,94,1.112,97,2.533,112,2.297,124,1.539,140,2.984,149,1.539,200,1.599,205,1.737,215,1.379,219,1.844,226,2.407,227,1.713,235,1.599,236,3.207,247,3.925,372,2.158,417,2.605,436,4.585,484,2.772,492,2.407,501,2.533,525,2.467,533,1.936,540,2.772,549,2.533,577,2.871,606,3.308,608,3.308,738,3.473,760,3.175,782,2.984,788,2.871,848,2.116,851,2.116,858,3.116,859,3.116,861,5.717,877,3.739,905,3.274,909,2.871,934,3.274,1160,2.533,1243,3.473,1299,2.297,1328,3.473,1378,4.84,1408,2.714,1409,3.834,1450,3.116,1497,3.739,1544,2.984,1577,3.473,1581,3.274,1623,4.079,1657,3.274,1658,4.142,1659,4.142,1660,3.473,1661,4.142,1662,3.473]],["t/404",[1,0.985,14,2.054,16,2.965,24,3.588,30,2.104,31,1.062,32,1.878,38,3.638,77,4.762,81,3.418,94,1.617,112,3.341,132,3.588,134,3.269,217,1.366,227,2.49,247,3.269,311,2.863,577,4.175,603,3.341,608,3.269,782,4.339,1299,3.341,1338,4.339,1408,2.682,1409,3.789,1663,6.257,1664,6.024,1665,6.024,1666,6.024,1667,6.636,1668,5.051,1669,4.531,1670,6.024]],["t/406",[25,4.113,31,0.996,32,1.094,37,0.861,46,2.644,53,2.982,104,2.967,116,3.111,176,2.848,195,2.434,219,3.303,221,2.198,225,2.031,679,4.322,826,4.807,829,3.938,834,6.117,837,3.789,893,2.793,916,4.113,951,3.938,1011,3.543,1306,4.113,1370,3.938,1478,7.62,1479,7.571,1480,4.935,1609,3.938,1671,5.467,1672,3.438,1673,7.419,1674,5.467,1675,4.935]],["t/408",[1,1.201,30,3.135,31,1.205,32,1.47,37,0.853,41,2.592,48,4.269,51,3.827,116,3.081,219,3.272,1078,5.293,1157,6.16,1478,5.527,1479,6.16,1609,5.293]],["t/410",[246,3.204,437,4.807,531,4.114,537,5.864,628,3.526,689,4.209,866,5.522,1408,4.335,1491,5.142,1537,5.142,1676,6.22,1677,4.973]],["t/412",[66,2.837,105,5.427,289,2.837,586,2.837,702,4.208,866,3.713,907,3.617,1370,4.374,1388,4.567,1393,4.374,1408,2.704,1444,3.934,1650,6.784,1678,3.818,1679,8.5,1680,8.009,1681,5.48,1682,6.67,1683,4.567,1684,5.48,1685,5.48,1686,5.48,1687,5.48,1688,5.48,1689,5.48,1690,5.48,1691,4.8,1692,5.48,1693,4.374]],["t/414",[3,0.921,14,1.464,16,1.298,18,1.532,23,2.58,37,0.63,44,1.571,66,3.791,94,0.708,112,2.381,117,1.174,154,2.236,160,1.046,169,1.9,170,3.47,185,1.193,194,1.854,195,1.174,197,1.97,214,1.075,218,1.68,223,1.984,227,1.09,231,1.973,235,1.018,246,1.139,247,1.431,272,1.462,289,3.637,323,1.709,348,1.658,360,1.658,364,2.113,373,1.709,378,1.253,399,1.571,420,2.084,427,1.532,453,2.782,460,0.955,496,1.828,498,1.374,507,1.658,586,3.791,616,3.273,628,1.253,664,2.084,665,1.658,689,1.496,736,2.345,760,1.374,780,1.571,788,1.828,851,1.347,908,1.613,938,1.431,967,2.211,974,1.613,1011,1.709,1030,3.599,1151,2.211,1156,2.084,1160,1.613,1176,2.084,1245,1.984,1339,1.828,1393,3.911,1408,1.911,1424,1.709,1442,1.984,1444,5.257,1537,1.828,1551,1.984,1585,3.874,1607,3.633,1631,2.211,1650,6.044,1672,1.658,1677,3.976,1683,1.984,1694,3.599,1695,2.211,1696,2.637,1697,2.637,1698,2.637,1699,5.647,1700,7.383,1701,2.38,1702,1.9,1703,1.984,1704,2.637,1705,2.084,1706,2.637,1707,2.637,1708,3.874,1709,2.637,1710,1.984,1711,2.637,1712,2.637,1713,2.637,1714,6.887,1715,7.383,1716,2.637,1717,2.211,1718,4.293,1719,2.637,1720,4.293,1721,2.637,1722,2.637,1723,1.571,1724,2.211,1725,2.211]],["t/416",[3,1.592,37,0.759,47,2.423,94,1.755,97,2.789,104,3.547,125,2.063,133,3.285,197,1.436,235,2.524,246,1.969,272,2.529,289,2.131,317,2.587,348,4.11,360,2.868,372,3.404,391,3.16,403,2.649,420,5.167,437,2.955,457,3.43,460,1.652,571,3.823,586,3.054,605,3.823,616,3.106,628,3.106,689,2.587,702,3.16,780,2.716,866,2.789,938,2.475,1011,4.235,1299,2.529,1408,2.91,1444,4.95,1466,3.16,1473,4.116,1491,3.16,1520,4.116,1650,4.708,1672,4.11,1677,3.339,1726,3.43,1727,4.116,1728,4.56,1729,8.833,1730,6.039,1731,4.56,1732,6.536,1733,4.56,1734,7.64,1735,4.116,1736,4.56,1737,4.56]],["t/418",[23,4.266,44,4.377,390,3.988,531,4.075,533,3.434,566,6.16,586,4.195,616,3.492,628,3.492,850,5.293,1444,4.761,1607,4.917,1677,3.753,1738,7.348,1739,7.348,1740,7.348]],["t/420",[14,1.752,37,0.597,94,1.909,133,3.702,167,3.061,195,2.288,231,2.362,289,2.401,343,2.985,378,2.442,411,4.308,517,4.638,553,3.865,566,4.308,586,4.316,616,3.379,760,4.582,765,3.439,842,4.308,1186,5.961,1394,5.122,1408,3.166,1444,5.985,1569,4.062,1672,3.232,1691,6.954,1695,4.308,1705,5.62,1741,4.638,1742,8.153,1743,7.11,1744,4.638,1745,5.139,1746,4.638,1747,5.139,1748,4.308,1749,5.139,1750,4.638,1751,4.308,1752,5.139]],["t/422",[3,1.547,4,3.069,18,2.573,35,2.708,43,2.22,257,2.403,273,3.501,289,4.49,321,5.029,348,2.785,359,3.331,389,2.87,483,3.069,501,2.708,568,2.18,586,4.645,603,2.456,616,2.105,625,4.025,628,2.105,702,3.069,754,2.456,760,2.307,866,2.708,1104,4.436,1408,2.85,1444,6.226,1491,3.069,1500,3.331,1650,4.61,1678,2.785,1695,3.713,1708,7.431,1717,3.713,1753,3.331,1754,4.429,1755,4.429,1756,4.429,1757,8.233,1758,4.429,1759,4.429,1760,4.429,1761,4.429,1762,4.814,1763,4.429,1764,4.429,1765,3.713,1766,4.429,1767,4.429,1768,3.713,1769,4.429]],["t/424",[60,4.951,235,2.758,321,4.78,686,3.876,866,4.368,974,4.368,1011,6.203,1408,3.181,1634,5.646,1672,6.021,1677,4.89,1725,5.989,1770,6.447,1771,5.646,1772,5.989]],["t/426",[262,3.721,293,3.796,319,5.373,409,5.145,416,4.255,498,3.721,507,4.492,556,4.78,563,4.78,574,4.492,736,3.085,768,4.78,866,5.396,1408,3.929,1550,5.145,1662,5.989,1677,4.507,1773,5.989]],["t/428",[40,4.672,538,5.503,556,5.112,602,3.83,866,4.672,1160,4.672,1408,3.402,1678,4.805,1726,5.747,1774,6.895,1775,6.895,1776,7.64,1777,7.64,1778,7.64]],["t/430",[44,4.839,372,4.231,460,2.943,492,4.72,934,6.422,1160,4.968,1345,5.852,1615,6.422]],["t/432",[3,2.736,6,5.353,37,0.689,44,3.533,53,3.15,54,1.712,117,2.641,120,1.455,132,3.533,141,3.334,215,1.131,227,2.452,309,5.893,348,3.73,360,3.73,373,3.843,760,3.089,807,2.91,822,3.627,851,4.481,891,3.365,1173,4.111,1433,5.353,1477,4.973,1544,4.273,1545,3.533,1546,4.688,1547,4.973,1548,4.273,1549,5.353,1550,4.273,1773,4.973,1779,4.688,1780,5.353,1781,4.462,1782,5.931]],["t/434",[1,0.741,31,0.608,32,0.907,35,2.772,37,0.756,53,1.822,67,2.316,94,1.747,101,2.772,120,1.867,132,2.7,134,2.46,197,1.427,200,1.75,227,2.691,311,2.154,391,4.511,398,3.41,399,4.536,400,2.316,483,3.142,568,2.231,569,3.8,688,2.192,747,2.7,752,3.8,760,3.39,791,2.572,808,3.265,818,3.033,836,2.937,938,4.132,1245,4.896,1299,5.088,1406,3.41,1408,2.018,1447,3.583,1450,5.728,1466,3.142,1527,3.8,1541,3.265,1566,4.091,1580,3.8,1601,4.091,1604,4.091,1609,3.265,1667,3.8,1783,4.533,1784,4.533,1785,4.533,1786,4.533,1787,4.533,1788,6.019,1789,4.533,1790,4.533,1791,3.41,1792,4.533,1793,4.533,1794,3.265,1795,4.091,1796,4.533,1797,4.533]],["t/436",[1,1.426,38,3.224,44,4.177,71,3.889,217,2.153,317,3.979,367,2.941,453,4.544,876,6.33,1345,5.052,1576,5.275,1581,5.543,1613,5.88,1677,3.582,1798,4.074,1799,5.88,1800,5.543,1801,7.013,1802,7.873]],["t/438",[1,1.249,64,3.57,140,5.503,163,3.979,247,4.146,377,4.885,418,3.76,427,4.438,1030,6.405,1347,6.895,1614,6.405,1803,6.895,1804,7.64]],["t/440",[1,1.41,5,3.587,30,3.012,31,1.158,32,1.725,33,3.587,37,0.8,38,3.166,127,3.39,132,4.102,246,2.974,507,4.331,577,4.773,1299,3.82,1406,5.181,1529,5.774,1667,5.774,1676,5.774,1805,6.887,1806,6.887,1807,6.887]],["t/442",[1,1.35,3,2.245,13,3.828,24,3.828,30,2.245,37,0.746,54,1.855,63,2.549,67,3.283,73,3.348,84,2.954,94,1.725,97,3.93,217,1.872,385,5.801,449,3.93,460,2.328,603,3.564,1338,4.63,1408,2.862,1409,4.042,1411,5.08,1617,7.451,1652,5.388,1668,5.388,1808,6.427,1809,6.427,1810,6.427,1811,6.427,1812,5.801]],["t/444",[1,1.249,5,3.979,53,3.071,163,3.979,217,1.732,318,4.55,569,6.405,760,3.979,807,2.838,822,4.672,1467,5.503,1554,4.672,1654,6.895,1813,6.895]],["t/446",[1,0.993,3,3.099,32,1.214,53,3.567,181,3.934,195,3.543,215,1.158,266,3.102,311,2.886,342,3.527,479,4.8,492,4.622,531,3.367,568,2.989,848,3.102,851,4.064,883,4.228,888,5.48,891,3.445,1401,4.208,1623,4.063,1753,5.984,1814,4.8,1815,4.063,1816,6.67,1817,6.072,1818,5.731,1819,5.091,1820,6.072]],["t/448",[1,0.993,3,1.089,14,1.063,17,4.208,27,1.563,29,1.961,30,2.405,31,1.068,32,0.982,37,0.362,107,1.769,120,0.765,125,3.115,126,3.295,128,0.929,137,3.044,146,1.308,154,1.624,194,1.347,195,3.543,197,0.982,212,1.41,215,1.313,236,3.012,246,1.347,291,1.769,308,2.087,311,1.482,318,2.924,329,2.246,364,1.535,365,2.161,373,2.02,394,2.161,423,1.367,455,2.02,479,4.8,481,2.614,498,1.624,501,1.907,507,1.961,512,1.857,593,2.02,616,1.482,736,1.347,741,5.091,788,4.208,805,3.693,806,1.811,807,2.255,848,4.64,861,2.465,1008,2.465,1044,2.345,1196,2.246,1211,2.246,1299,1.729,1471,2.814,1538,2.345,1554,1.907,1614,2.614,1623,2.087,1632,2.614,1646,2.161,1744,2.814,1748,2.614,1814,5.444,1815,2.087,1821,3.118,1822,4.909,1823,2.614,1824,2.814,1825,2.465,1826,2.161,1827,3.118,1828,3.118,1829,2.814,1830,4.909,1831,3.118,1832,2.465,1833,4.909,1834,3.118,1835,2.614,1836,2.614,1837,4.431,1838,2.814,1839,4.567,1840,3.118,1841,3.118,1842,3.118,1843,2.814,1844,2.814,1845,3.118,1846,2.246,1847,3.118,1848,3.118,1849,3.118,1850,3.118,1851,3.118,1852,3.118]],["t/450",[1,0.674,3,2.405,17,1.249,31,0.242,32,0.824,37,0.362,53,3.198,58,1.249,62,0.872,63,2.583,64,0.842,67,2.105,71,1.729,111,1.047,113,0.645,137,2.065,138,1.102,147,1.699,154,0.939,166,1.206,167,2.454,195,0.803,208,0.958,214,2.001,215,1.732,225,1.158,227,0.745,228,1.511,246,1.779,253,0.978,266,3.683,318,1.074,343,1.047,364,0.887,377,0.958,416,1.074,423,0.79,455,1.168,460,0.653,479,3.257,492,2.394,501,1.102,507,1.134,512,4.609,516,1.249,531,1.729,540,1.206,544,1.299,601,1.425,603,1,632,1.299,665,1.961,688,1.508,694,1.134,700,1.511,711,2.814,723,2.465,736,2.12,788,2.856,805,2.345,806,3.222,822,1.102,826,5.014,831,1.249,848,2.508,851,2.508,883,4.112,885,4.384,889,1.356,891,2.338,893,3.518,907,2.454,908,2.52,911,1.511,935,2.345,985,1.627,995,0.904,1008,1.425,1029,1.425,1104,2.161,1153,1.206,1232,1.627,1339,1.249,1351,1.356,1378,1.206,1388,1.356,1401,2.856,1518,1.425,1523,1.425,1545,1.857,1551,1.356,1554,1.907,1637,1.299,1772,1.511,1780,4.431,1788,1.425,1791,1.356,1799,1.511,1814,4.8,1815,2.087,1816,2.614,1818,2.968,1825,2.465,1835,1.511,1846,2.968,1853,1.803,1854,1.627,1855,2.246,1856,2.814,1857,3.118,1858,1.803,1859,1.627,1860,1.803,1861,1.803,1862,1.356,1863,1.803,1864,3.454,1865,1.803,1866,3.719,1867,2.614,1868,2.614,1869,1.803,1870,2.814,1871,1.803,1872,1.627,1873,1.803,1874,1.511,1875,1.511,1876,1.627,1877,2.814,1878,1.425,1879,1.803,1880,4.12,1881,1.803,1882,1.627,1883,1.803,1884,1.803,1885,1.803,1886,1.511,1887,1.803,1888,1.627,1889,1.803,1890,1.511,1891,1.627,1892,1.356,1893,1.627,1894,1.425,1895,1.627,1896,1.803,1897,1.627,1898,1.511,1899,1.803,1900,2.345,1901,1.356,1902,1.803,1903,3.118,1904,1.803,1905,1.803]],["t/452",[3,1.228,4,2.438,53,2.167,63,1.395,87,2.438,137,1.763,147,2.339,165,2.478,215,1.25,219,1.566,227,1.454,246,2.328,269,1.995,364,1.731,365,2.438,438,1.995,508,3.175,512,3.211,523,3.175,593,2.279,595,4.247,603,1.951,625,2.212,688,1.701,694,2.212,738,2.949,791,1.995,804,5.496,806,2.043,826,4.247,848,2.754,851,1.797,883,2.865,885,4.261,891,1.995,893,4.047,899,3.883,935,4.931,1008,2.78,1097,3.175,1196,2.534,1243,2.949,1272,2.438,1335,4.722,1523,2.78,1542,2.534,1554,3.297,1586,2.78,1623,2.354,1800,2.78,1815,2.354,1816,2.949,1824,3.175,1855,3.883,1862,2.646,1864,5.496,1866,3.175,1870,4.866,1872,3.175,1890,2.949,1892,2.646,1900,5.527,1906,2.949,1907,2.949,1908,3.517,1909,5.391,1910,7.348,1911,6.555,1912,3.175,1913,3.517,1914,3.517,1915,3.517,1916,3.517,1917,5.391,1918,3.517,1919,5.391,1920,5.391,1921,3.517,1922,3.517,1923,3.517,1924,3.517,1925,3.517,1926,3.517,1927,3.517,1928,3.517,1929,3.517]],["t/454",[1,0.934,3,3.007,30,1.995,31,0.767,53,3.071,63,2.265,126,3.099,215,1.457,266,3.903,269,3.24,365,3.958,406,3.318,410,4.114,460,2.069,492,3.318,531,4.237,616,2.714,665,3.592,826,3.701,848,3.903,851,2.917,883,3.035,1464,4.296,1545,3.402,1554,5.265,1660,4.788,1814,4.514,1818,5.503,1825,4.514,1836,4.788,1846,4.114,1886,4.788,1900,4.296,1930,4.788,1931,7.64,1932,5.711,1933,5.711]],["t/457",[1,0.955,3,2.04,8,5.272,11,4.617,31,1.169,37,0.678,41,2.514,42,4.394,131,4.394,134,3.17,197,1.839,215,1.66,217,1.758,348,3.673,360,3.673,364,2.875,400,2.984,593,3.785,622,5.272,733,4.394,747,3.479,807,2.17,836,3.785,875,5.834,899,4.208,1771,6.13,1900,4.394,1934,6.502,1935,5.272,1936,5.841,1937,5.834,1938,5.272,1939,4.394,1940,5.841]],["t/459",[31,0.924,41,2.719,111,4.001,197,2.965,212,3.115,215,1.313,217,1.561,225,2.558,227,2.847,406,4.001,475,5.774,696,5.772,768,4.609,846,5.181,938,3.738,1212,6.216,1941,6.887,1942,6.887,1943,6.887,1944,6.216]],["t/461",[1,1.342,48,4.77,400,4.901,684,3.443,987,6.49,1945,6.884]],["t/463",[1,1.249,221,3.071,377,4.06,400,3.903,407,4.95,460,2.767,542,5.503,645,5.503,684,3.204,747,4.55,1945,6.405,1946,6.895,1947,7.64,1948,7.64]],["t/465",[1,0.529,3,1.13,30,1.13,31,1.205,37,0.376,38,2.859,62,1.565,111,1.88,113,1.809,125,1.464,128,0.965,134,1.756,138,3.803,163,1.686,168,1.795,197,2.213,204,3.995,208,2.686,215,1.712,217,1.594,218,1.266,227,1.338,245,2.166,266,1.653,291,1.836,293,1.72,311,1.538,325,2.434,344,2.921,348,2.035,365,2.243,463,2.166,501,1.979,521,2.921,603,1.795,642,2.331,646,2.434,688,1.565,791,1.836,806,3.613,807,2.31,821,1.795,849,2.921,851,3.591,873,3.802,875,5.287,884,2.921,893,3.591,899,2.331,903,2.713,907,1.928,1015,2.243,1173,2.243,1413,2.558,1467,2.331,1506,2.558,1523,2.558,1771,3.995,1798,1.88,1818,3.641,1832,2.558,1901,2.434,1939,5.287,1944,2.921,1949,5.214,1950,2.713,1951,5.054,1952,3.236,1953,3.236,1954,3.236,1955,3.236,1956,3.236,1957,3.236,1958,3.236,1959,3.236,1960,2.558,1961,2.921,1962,3.802,1963,4.562,1964,3.236,1965,3.236,1966,2.921,1967,3.995,1968,3.236,1969,3.236,1970,3.236,1971,5.054,1972,5.054,1973,3.236,1974,3.236,1975,2.921,1976,2.921,1977,2.921,1978,2.558,1979,2.558]],["t/467",[30,1.52,31,1.284,37,0.864,41,1.257,54,1.825,67,2.224,101,5.533,112,2.414,128,1.298,137,4.094,138,2.662,197,2.848,246,1.88,266,2.224,317,2.47,323,2.821,343,2.529,365,3.017,367,2.651,393,2.363,408,3.136,460,1.577,568,3.111,645,3.136,688,2.105,747,3.765,875,5.598,907,2.593,938,2.363,1001,3.136,1299,2.414,1413,3.441,1537,3.017,1607,2.913,1832,3.441,1939,4.755,1950,3.65,1960,3.441,1966,3.929,1980,4.353,1981,8.167,1982,4.353,1983,4.353,1984,4.353,1985,4.381,1986,6.321,1987,6.321,1988,7.443,1989,4.353,1990,4.353,1991,4.353,1992,3.441,1993,3.65]],["t/469",[1,1.03,4,1.046,30,1.253,31,0.482,35,0.923,37,0.732,41,1.58,43,0.756,48,2.085,51,1.869,58,3.004,64,0.705,67,2.214,101,0.923,107,2.459,111,2.085,113,0.54,128,0.45,134,0.819,138,0.923,147,0.747,160,0.598,165,0.694,166,1.01,167,1.59,168,0.837,177,1.01,183,1.362,197,2.818,198,1.923,215,0.509,217,0.342,227,2.048,246,3.207,266,4.237,269,2.036,289,0.705,293,0.802,317,1.514,318,1.59,319,2.008,323,0.978,332,1.135,350,0.978,360,0.949,365,3.004,367,1.505,374,1.265,382,1.362,383,1.135,394,1.85,408,1.923,437,1.729,460,0.967,463,2.401,483,1.046,492,2.085,498,2.258,501,0.923,511,0.899,531,0.837,533,3.809,553,1.135,555,1.362,562,1.135,568,0.743,593,0.978,595,0.978,597,1.193,601,1.193,645,2.585,646,2.699,684,3.114,687,4.589,688,2.647,736,1.872,744,1.265,747,3.754,754,0.837,765,1.01,768,3.663,791,0.856,807,2.465,851,4.084,875,4.74,893,2.214,907,2.137,927,1.193,995,0.756,997,2.008,1026,0.978,1045,1.923,1317,1.087,1401,1.046,1413,4.678,1416,1.265,1499,2.238,1537,1.85,1558,3.239,1609,1.923,1628,1.362,1635,1.362,1640,1.362,1646,1.046,1657,1.193,1669,1.135,1693,1.087,1717,2.238,1723,0.899,1771,2.837,1794,1.087,1876,1.362,1894,1.193,1901,1.135,1906,1.265,1934,2.238,1938,1.362,1939,4.74,1960,2.11,1962,1.135,1967,2.11,1975,1.362,1976,1.362,1985,1.046,1994,1.362,1995,1.362,1996,1.362,1997,2.669,1998,1.509,1999,1.509,2000,2.669,2001,2.669,2002,2.669,2003,2.409,2004,2.409,2005,2.409,2006,2.409,2007,2.669,2008,6.636,2009,5.474,2010,4.327,2011,1.265,2012,1.509,2013,1.509,2014,3.588,2015,1.509,2016,3.588,2017,1.509,2018,1.509,2019,1.509,2020,1.509,2021,1.509,2022,1.509,2023,1.362,2024,1.509,2025,1.509,2026,1.509,2027,1.509,2028,1.509,2029,1.509,2030,1.509]],["t/471",[1,1.149,9,2.166,30,0.957,31,0.859,37,0.647,41,1.609,42,3.331,67,2.262,112,1.52,128,0.817,134,1.487,137,1.374,166,1.834,167,3.32,197,0.863,205,1.149,215,1.34,219,1.22,227,2.304,247,1.487,269,1.555,317,3.162,322,4.147,324,2.061,333,2.166,342,1.592,348,1.723,373,2.87,400,2.262,408,3.19,414,1.974,418,2.18,423,1.202,460,2.019,463,1.834,549,4.297,586,1.281,593,1.776,616,1.302,625,1.723,632,1.974,684,2.684,736,1.913,747,1.632,777,2.166,805,3.331,846,4.814,851,1.4,858,2.061,859,2.061,873,4.814,883,2.962,891,3.162,907,3.32,938,3.024,942,2.473,995,1.374,1026,1.776,1197,2.166,1246,2.473,1272,1.899,1317,1.974,1321,2.297,1416,2.297,1430,2.166,1440,2.166,1466,3.863,1484,2.473,1499,2.297,1506,2.166,1576,2.061,1609,1.974,1637,1.974,1693,1.974,1723,1.632,1800,2.166,1867,2.297,1894,2.166,1934,2.297,1939,5.949,1945,2.297,1946,3.997,1949,6.631,1960,2.166,2003,2.473,2004,2.473,2005,2.473,2006,2.473,2031,2.74,2032,2.297,2033,2.166,2034,2.74,2035,2.473,2036,2.473,2037,2.74,2038,2.74,2039,2.74,2040,2.74,2041,2.74,2042,2.74,2043,2.74,2044,2.297,2045,2.74,2046,2.74,2047,2.74,2048,2.74,2049,2.74,2050,2.74,2051,6.4,2052,2.74,2053,2.74,2054,2.74,2055,5.573,2056,5.573,2057,2.74,2058,2.74,2059,2.297]],["t/473",[1,0.846,3,1.807,30,1.807,31,0.694,32,1.429,37,0.829,41,1.494,53,2.872,64,2.417,73,2.695,215,1.871,248,4.951,317,2.935,323,3.352,426,3.585,512,4.873,696,3.462,725,3.727,732,5.646,848,2.643,889,3.891,915,3.462,995,2.593,1335,3.727,1440,4.089,1467,3.727,1561,5.894,1576,3.891,1669,3.891,1723,3.081,1762,5.373,1798,3.005,1815,3.462,1846,3.727,2010,4.089,2060,4.669,2061,6.356,2062,7.143,2063,4.669,2064,4.669,2065,4.669,2066,4.669]],["t/475",[1,0.692,29,2.662,31,1.274,37,0.492,41,1.222,52,3.185,53,1.702,58,2.934,62,2.047,64,1.978,79,3.549,131,4.659,215,1.876,217,1.404,218,1.656,236,2.945,248,2.934,291,4.573,307,2.662,311,2.012,317,2.402,342,2.46,343,2.46,373,2.743,378,2.012,460,1.534,483,2.934,725,3.05,732,4.896,736,3.481,793,3.821,807,2.721,821,2.348,893,3.742,908,2.589,909,4.293,912,4.659,1165,5.591,1401,2.934,1402,3.549,1442,3.185,1539,3.549,1561,5.276,1583,3.347,1607,2.833,1637,3.05,1663,3.347,1798,2.46,1815,2.833,1878,4.896,2067,4.234,2068,5.193,2069,4.234,2070,3.821,2071,5.591,2072,3.821]],["t/477",[1,0.674,29,1.577,31,1.278,32,0.502,37,0.291,50,0.909,53,1.008,62,1.213,64,2.45,67,2.105,113,0.897,125,1.134,128,1.563,137,2.065,146,1.728,147,1.153,159,1.333,212,1.134,215,1.815,218,1.612,227,2.168,231,1.894,236,1.008,257,2.236,266,2.105,279,1.625,291,1.423,318,1.494,320,1.983,364,2.028,377,2.19,390,2.236,427,1.457,437,1.625,457,3.099,512,2.454,688,2.936,696,1.678,734,3.777,736,3.902,765,1.678,768,1.678,806,1.457,821,1.391,824,1.887,829,1.807,848,3.102,881,3.777,889,1.887,893,3.102,908,1.534,912,6.381,916,3.099,918,1.738,926,1.678,995,2.065,1043,2.103,1153,1.678,1160,1.534,1196,1.807,1262,4.208,1348,1.807,1373,1.738,1394,1.807,1402,2.103,1561,5.936,1579,2.103,1581,1.983,1603,3.257,1607,1.678,1624,2.103,1723,1.494,1735,4.733,1798,1.457,1832,3.257,1855,1.807,1868,2.103,1878,1.983,1891,2.264,1906,2.103,1979,1.983,2011,2.103,2061,1.807,2068,2.103,2071,5.48,2072,6.054,2073,1.983,2074,1.887,2075,2.264,2076,1.983,2077,2.508,2078,2.264,2079,2.264,2080,3.257,2081,2.508,2082,2.508,2083,2.508,2084,1.983,2085,1.983,2086,2.508,2087,1.983,2088,2.264,2089,2.508,2090,2.508,2091,2.508,2092,2.508,2093,2.508,2094,2.508,2095,2.508]],["t/479",[1,0.653,5,2.079,9,3.155,30,1.394,31,0.536,32,0.798,37,0.91,41,2.043,50,2.149,63,1.583,128,1.19,147,1.117,195,1.777,212,1.806,215,1.349,218,1.562,269,2.265,390,2.166,391,2.767,400,2.039,406,2.319,407,3.843,416,2.378,427,2.319,492,3.446,519,3.603,533,1.865,586,1.865,606,2.166,736,2.562,753,3.347,853,3.155,854,3.446,883,3.152,891,2.265,893,2.039,906,2.767,907,2.378,908,3.627,931,3.347,982,3.347,995,2.973,998,3.003,1173,2.767,1342,3.347,1373,2.767,1518,3.155,1561,2.876,1607,3.969,1646,2.767,1723,2.378,1798,5.097,1819,3.347,1823,3.347,1862,3.003,2061,2.876,2084,3.155,2096,5.353,2097,3.992,2098,3.603,2099,3.992,2100,5.931,2101,3.992,2102,3.992,2103,3.992,2104,3.992,2105,3.992,2106,3.347,2107,3.992,2108,3.992,2109,3.347,2110,3.992,2111,3.992,2112,3.603,2113,3.603,2114,3.992,2115,3.603,2116,3.992,2117,3.992,2118,3.992,2119,3.603,2120,3.347,2121,3.155]],["t/481",[1,0.824,14,0.808,31,1.044,32,0.474,37,0.681,43,1.188,50,0.858,53,0.952,64,1.107,67,2.573,101,1.449,128,0.706,131,1.782,139,1.089,146,0.993,154,1.234,172,1.376,212,1.072,214,0.966,215,1.627,218,0.927,227,2.083,248,1.642,266,2.573,279,1.535,308,2.63,311,1.868,323,1.535,325,1.782,329,1.706,372,1.234,381,2.138,390,1.286,391,1.642,393,1.286,394,1.642,399,2.341,408,3.629,423,2.209,426,2.724,427,2.927,455,1.535,460,0.858,492,2.284,493,1.49,501,1.449,507,1.49,512,3.001,533,1.107,586,1.107,616,1.126,628,1.126,694,1.49,695,1.706,702,1.642,731,1.642,736,3.358,746,1.986,848,2.573,851,2.008,854,1.376,881,1.706,883,2.089,889,1.782,893,2.008,912,2.957,915,3.371,974,1.449,995,1.97,1015,1.642,1078,1.706,1104,1.642,1153,1.585,1197,1.873,1217,1.873,1262,2.724,1304,1.782,1335,1.706,1373,1.642,1421,2.138,1532,1.986,1542,1.706,1561,5.601,1569,3.107,1646,1.642,1668,1.986,1669,1.782,1693,1.706,1723,3.001,1753,1.782,1762,1.782,1798,3.406,1838,2.138,1862,2.957,1882,2.138,1888,2.138,1893,2.138,1898,1.986,1937,1.782,1962,1.782,1977,2.138,1978,1.873,2010,3.982,2061,4.224,2063,2.138,2064,4.547,2065,3.548,2066,3.548,2075,4.547,2076,1.873,2088,4.547,2096,3.548,2109,1.986,2121,1.873,2122,2.369,2123,3.931,2124,3.931,2125,2.369,2126,2.369,2127,2.369,2128,2.369,2129,2.369,2130,2.138,2131,2.369,2132,2.369,2133,2.369,2134,2.369,2135,2.369,2136,2.369,2137,2.369,2138,2.369,2139,2.369,2140,2.369,2141,2.369,2142,3.931,2143,2.369,2144,3.931,2145,2.369,2146,3.296,2147,2.369,2148,2.369,2149,2.138,2150,2.369,2151,1.986,2152,2.369,2153,2.369,2154,1.986]],["t/484",[1,1.001,30,1.455,31,0.559,32,0.833,37,0.842,41,1.202,53,3.581,63,1.652,64,1.946,127,2.05,135,3,137,2.088,197,1.311,213,1.63,215,1.383,217,0.944,236,1.674,257,3.321,258,4.095,262,3.779,292,3,342,2.42,350,2.699,377,2.213,393,2.26,398,3.133,460,1.509,473,2.787,516,2.886,533,1.946,578,3.492,620,3.492,688,2.959,695,3,734,3,760,2.169,807,2.971,822,2.547,826,3.966,829,3,834,3.966,837,4.242,854,4.215,871,2.787,883,2.213,893,3.126,907,2.481,1272,2.886,1370,3,1401,4.242,1439,5.524,1478,3.133,1529,3.492,1538,4.604,1583,3.292,1619,2.787,1753,3.133,1794,3,1798,3.556,1802,3.759,1864,3.492,2033,3.292,2078,3.759,2155,4.165,2156,4.165,2157,4.165,2158,3.492,2159,4.165,2160,4.165,2161,4.165]],["t/486",[31,0.815,32,1.214,53,2.441,120,1.489,128,1.81,159,3.227,181,3.934,257,3.295,514,5.091,533,2.837,688,2.936,821,3.367,853,4.8,854,5.155,883,4.716,1211,4.374,1519,5.091,1548,4.374,1597,4.8,1798,3.527,1862,4.567,1937,4.567,1985,4.208,2061,4.374,2074,4.567,2084,4.8,2120,5.091,2121,4.8,2162,6.289,2163,7.956,2164,5.091,2165,5.48,2166,4.567,2167,4.567]],["t/488",[17,3.9,31,0.755,214,2.294,215,1.742,311,2.674,343,3.269,364,2.77,390,3.054,394,3.9,455,3.646,460,2.039,501,3.441,512,3.352,533,3.535,653,4.448,736,3.267,791,3.193,854,5.308,883,4.02,891,3.193,893,2.875,915,3.766,1153,3.766,1631,4.718,1723,3.352,1798,3.269,1894,4.448,1985,3.9,2010,4.448,2080,4.448,2085,4.448,2121,4.448,2162,4.448,2168,6.828,2169,5.627,2170,5.627,2171,5.627,2172,5.627,2173,5.627,2174,5.627]],["t/490",[31,0.704,32,1.049,53,3.313,67,2.679,126,2.846,147,1.467,159,3.832,215,1.571,257,3.913,289,2.45,390,3.913,473,3.509,501,4.409,512,3.123,514,4.396,736,2.265,791,2.975,821,2.908,854,3.046,883,3.832,911,4.396,912,3.944,915,4.825,1015,3.634,1262,3.634,1373,3.634,1622,4.733,1723,4.295,1762,3.944,1846,3.777,1855,3.777,1868,4.396,1901,3.944,1996,4.733,2011,4.396,2061,3.777,2079,4.733,2084,4.145,2120,4.396,2164,4.396,2165,4.733,2168,7.437,2175,5.244,2176,5.244,2177,4.733,2178,5.244,2179,5.244]],["t/492",[3,1.704,4,3.381,31,1.064,32,1.371,37,0.566,41,1.408,44,4.723,53,3.187,62,2.359,120,1.681,137,2.445,181,3.161,195,2.172,212,2.206,215,0.93,257,2.647,279,3.161,315,3.264,396,3.381,455,3.161,460,1.767,493,3.068,498,2.541,616,2.318,736,2.107,778,3.669,821,2.705,822,4.193,827,4.403,829,3.514,851,2.492,883,2.592,995,3.975,998,3.669,1272,3.381,1546,3.856,1548,3.514,1597,3.856,1615,3.856,1657,3.856,1788,3.856,1798,2.834,1874,4.09,2059,4.09,2166,3.669,2167,6.47,2180,4.878,2181,4.878,2182,4.878,2183,4.878,2184,4.878,2185,4.878,2186,4.878,2187,4.878,2188,4.878,2189,4.878,2190,4.878]],["t/494",[1,0.783,17,3.318,25,3.601,37,0.911,53,2.72,63,2.683,67,2.445,126,2.598,145,5.911,168,2.655,214,1.951,215,0.913,221,1.924,257,2.598,266,2.445,364,2.356,390,3.672,393,2.598,426,3.318,525,2.851,536,3.601,568,3.33,578,6.58,586,2.237,603,2.655,688,2.315,741,4.013,791,2.716,834,3.102,837,3.318,854,2.781,881,3.448,886,4.321,998,3.601,1045,4.874,1304,3.601,1306,3.601,1478,3.601,1518,3.784,1532,4.013,1576,3.601,1619,3.203,1642,4.321,1705,5.348,1855,4.874,1935,6.107,2073,3.784,2164,5.673,2191,4.787,2192,4.787,2193,4.321,2194,4.787,2195,4.787,2196,4.321,2197,4.787,2198,4.787,2199,4.321,2200,4.787]],["t/496",[31,0.885,53,4.033,56,4.411,64,3.08,167,3.926,215,1.257,325,4.959,453,4.272,498,4.37,831,4.569,839,5.211,883,3.503,891,3.74,1015,4.569,1040,5.95,1211,4.749,1272,4.569,1646,4.569,1779,5.211,1798,3.83,2074,4.959,2115,5.95,2201,6.592,2202,5.95,2203,5.95]],["t/498",[1,1.532,16,2.635,30,1.87,31,0.982,32,1.071,33,2.788,40,3.274,54,1.545,94,1.437,132,3.189,161,3.11,185,2.421,197,2.302,215,1.021,217,1.888,311,3.475,353,4.832,364,2.635,367,2.245,378,2.544,443,3.856,493,3.367,513,4.832,525,3.189,531,2.969,684,2.245,715,3.856,1345,3.856,1407,4.488,1466,3.71,1467,3.856,1600,4.488,1649,4.488,1678,3.367,1770,4.832,1897,4.832,2204,8.329,2205,5.353,2206,6.584,2207,4.832,2208,5.353,2209,5.353,2210,4.488,2211,4.832]],["t/500",[689,4.977]],["t/502",[31,1.219,33,2.294,43,2.207,113,1.576,132,2.623,166,4.265,168,2.442,311,2.093,383,3.312,407,2.853,502,3.974,531,2.442,551,4.591,580,5.915,603,2.442,625,2.769,685,3.481,688,2.129,818,4.265,915,2.947,1011,2.853,1153,2.947,1154,3.312,1295,3.692,1348,3.172,1372,2.947,1394,3.172,1424,2.853,1517,3.974,1597,5.921,1599,3.481,1637,4.591,1672,2.769,1675,3.974,1703,3.312,1836,3.692,1961,5.753,1978,3.481,1992,3.481,1993,3.692,2076,3.481,2158,5.344,2166,5.635,2167,3.312,2212,3.692,2213,4.403,2214,5.921,2215,7.243,2216,4.403,2217,4.403,2218,4.403,2219,4.403,2220,4.403,2221,4.403,2222,6.374,2223,4.403,2224,4.403]],["t/504",[32,1.591,33,4.905,247,4.318,417,5.003,754,4.412,1619,5.324,2225,6.67,2226,7.956,2227,6.67]],["t/506",[27,2.996,32,1.196,43,2.996,120,2.16,149,2.22,217,1.355,218,2.339,247,4.273,311,2.841,389,3.873,531,3.315,580,4.306,618,5.011,734,4.306,754,4.367,782,4.306,848,3.053,866,3.655,926,5.269,1401,4.143,1405,4,1702,4.306,1867,5.011,1901,4.496,2023,5.395,2032,5.011,2087,6.225,2206,4.725,2214,4.725,2215,4.306,2227,5.011,2228,5.977,2229,5.977,2230,5.977,2231,5.395,2232,5.395]],["t/508",[32,1.086,37,0.63,83,5.318,126,2.946,257,4.007,311,2.58,363,3.911,478,4.552,533,3.45,580,5.318,606,2.946,782,3.911,834,3.518,854,4.289,905,4.291,1045,6.486,1117,4.9,1183,4.9,1407,6.19,1599,4.291,1859,6.664,2166,5.554,2167,4.084,2214,6.632,2233,4.9,2234,7.383,2235,6.664,2236,5.429,2237,5.429,2238,5.429,2239,5.429,2240,4.9,2241,5.429,2242,5.429,2243,7.383,2244,5.429,2245,5.429,2246,4.291,2247,5.429]],["t/510",[32,1.403,33,3.653,84,3.224,127,3.452,141,2.984,247,3.806,417,4.41,580,5.052,754,3.889,782,5.052,890,5.275,1550,5.052,1619,4.693,1779,5.543,2206,5.543,2227,5.88,2233,6.33,2248,7.013,2249,7.013,2250,7.013,2251,7.013,2252,7.013,2253,7.013]],["t/512",[1,1.168,16,1.996,24,2.415,30,2.096,31,1.184,32,1.2,33,2.112,53,1.63,105,3.67,125,1.834,137,2.033,185,4.33,197,1.889,199,4.323,200,2.758,213,3.572,214,1.653,215,1.362,217,2.171,295,2.415,367,3.7,368,5.031,448,3.205,450,2.81,475,3.4,511,2.415,534,3.4,568,2.954,686,3.257,689,2.301,747,2.415,760,2.112,807,3.277,822,2.48,893,2.071,918,2.81,995,2.033,1338,2.921,1395,3.205,1406,3.05,1408,1.806,1409,2.55,1587,3.205,1613,3.4,1649,3.4,1826,4.159,1930,3.4,2158,3.4,2254,4.055,2255,4.055,2256,4.055]],["t/514",[1,1.257,10,3.869,16,2.271,32,1.538,43,3.305,53,1.855,83,3.324,132,2.749,134,2.504,159,2.452,227,1.908,247,2.504,257,2.504,298,3.648,321,3.088,383,3.471,426,3.198,473,3.088,580,4.749,586,2.156,618,3.869,754,2.559,807,2.449,818,3.088,850,3.324,890,3.471,905,3.648,974,2.822,1152,3.471,1160,2.822,1317,3.324,1467,3.324,1486,4.165,1491,3.198,1527,3.869,1542,3.324,1545,2.749,1548,3.324,1600,5.527,1615,3.648,1619,4.411,1702,3.324,1795,5.95,1892,3.471,1992,3.648,2149,4.165,2166,5.785,2167,3.471,2212,3.869,2214,6.632,2215,5.54,2232,4.165,2235,4.165,2246,3.648,2257,4.165,2258,4.615,2259,4.615,2260,4.615,2261,5.95,2262,4.165,2263,4.615,2264,4.615]],["t/516",[1,0.92,62,2.721,177,5.062,185,3.865,197,1.772,208,2.991,213,2.202,214,3.483,215,1.742,217,1.276,218,2.202,230,2.931,311,2.674,367,3.584,393,3.054,448,4.448,450,3.9,460,2.039,507,3.539,525,3.352,568,2.77,574,3.539,684,2.36,686,4.105,687,4.718,696,3.766,736,2.43,737,5.079,807,2.09,836,3.646,1678,4.757,1892,4.233,2225,4.718,2265,5.079,2266,5.079,2267,5.627,2268,5.627,2269,5.079]],["t/518",[35,2.321,40,2.321,43,2.863,66,1.773,118,1.977,127,1.868,132,2.26,135,2.734,136,3,161,2.205,185,3.106,195,1.69,197,1.798,214,2.328,217,1.557,293,3.649,311,1.804,317,3.24,367,3.204,460,2.069,493,2.387,511,2.26,645,2.734,665,2.387,684,1.591,688,1.835,689,2.153,715,2.734,733,2.855,801,4.788,838,4.788,851,1.939,854,4.438,882,2.855,891,2.153,908,3.493,995,1.902,997,2.855,1015,2.63,1127,4.514,1156,3,1287,3,1295,3.182,1424,2.459,1465,3,1603,3,1608,4.514,1618,4.788,1630,3.182,1634,3,1644,3.182,1781,5.165,1791,2.855,1803,3.425,1813,3.425,1985,2.63,2033,3,2080,5.428,2146,3.182,2206,4.514,2211,3.425,2215,4.114,2265,3.425,2266,3.425,2270,7.489,2271,4.514,2272,6.163,2273,4.788,2274,5.711,2275,3.425,2276,6.198,2277,3.425]],["t/520",[62,3.032,66,2.93,104,3.402,118,3.266,185,3.675,215,1.195,217,1.421,356,5.257,367,2.629,493,3.943,511,3.734,512,3.734,616,2.98,686,3.402,696,4.196,733,4.716,734,4.516,882,4.716,891,3.557,1608,6.422,1618,5.257,1619,4.196,1644,5.257,1678,3.943,1781,4.716,1823,5.257,1855,5.852,2033,4.956,2162,4.956,2270,7.993]],["t/522",[400,5.124,760,3.755,801,6.045,995,5.029,1450,5.423,1608,5.699,2080,5.699,2270,7.44,2271,5.699,2278,7.21,2279,7.21,2280,7.21,2281,7.21]],["t/524",[49,2.912,71,2.147,127,1.906,135,2.789,146,1.624,154,2.016,185,3.144,213,1.515,217,0.878,218,1.515,225,1.438,227,3.19,349,3.246,357,3.494,367,3.466,378,3.303,389,2.509,391,2.683,450,2.683,473,2.591,530,2.912,568,1.906,577,2.683,664,3.06,686,3.146,688,1.872,760,2.016,831,2.683,837,2.683,838,6.47,854,3.368,908,2.367,1011,2.509,1154,4.361,1196,2.789,1287,4.583,1336,2.683,1348,2.789,1388,2.912,1408,3.094,1409,2.435,1431,2.912,1545,2.306,1550,2.789,1630,3.246,1634,3.06,1638,3.494,1672,2.435,1693,2.789,1781,4.361,1791,5.804,1794,2.789,1985,2.683,2106,3.246,2146,3.246,2193,3.494,2207,3.494,2210,3.246,2225,3.246,2231,3.494,2261,6.965,2272,6.524,2275,3.494,2276,5.232,2282,5.797,2283,5.797,2284,3.871,2285,3.494,2286,3.871,2287,3.871,2288,3.871,2289,3.871,2290,3.871,2291,3.871,2292,3.871,2293,3.871,2294,3.871]],["t/526",[32,1.33,71,3.688,141,2.829,159,4.483,165,3.056,227,2.749,301,3.96,400,4.978,825,7.614,995,4.885,1299,4.679,1408,2.961,1580,5.575,1937,5.001,2272,5.001,2295,6.649,2296,6.649,2297,6.649,2298,6.649,2299,6.649]],["t/528",[30,1.312,37,0.436,50,1.361,67,2.896,127,1.85,151,1.817,154,1.957,185,4.392,212,1.7,214,1.532,225,1.396,227,1.554,262,2.953,342,2.183,350,2.435,367,3.843,389,2.435,390,2.039,398,2.827,463,2.515,476,4.481,481,3.151,533,1.756,549,2.298,568,2.79,684,2.863,686,2.039,723,2.97,831,2.604,879,3.151,908,2.298,918,3.929,997,2.827,1026,4.926,1154,4.264,1192,2.515,1227,3.151,1287,5.396,1424,2.435,1431,2.827,1450,2.827,1506,4.481,1519,3.151,1541,2.707,1599,2.97,1637,4.084,1643,3.392,1694,3.151,1788,5.396,1799,3.151,1892,2.827,1898,3.151,1995,3.392,2032,3.151,2068,4.753,2076,2.97,2162,2.97,2215,6.178,2272,4.264,2285,3.392,2300,3.758,2301,3.758,2302,3.758,2303,3.758,2304,3.151,2305,3.392,2306,3.758,2307,3.758,2308,5.669,2309,3.758,2310,3.758,2311,5.669,2312,3.758,2313,3.758,2314,3.758]],["t/530",[35,4.626,71,4.195,168,4.195,227,3.127,352,6.342,400,4.668,551,5.449,995,4.58,2215,7.072,2315,7.565,2316,7.565]],["t/532",[62,3.188,165,3.03,185,3.795,215,1.76,248,4.569,272,3.656,293,4.459,367,2.765,378,3.133,406,3.83,540,4.411,572,5.95,684,2.765,686,3.577,733,4.959,914,5.527,1044,4.959,1422,5.527,1781,4.959,2202,5.95,2257,5.95,2273,7.034,2317,6.592,2318,5.95,2319,6.592]],["t/534",[3,2.591,24,4.419,37,0.861,53,2.982,215,1.415,293,3.943,317,4.209,400,4.613,995,4.527,1541,5.344,1949,6.22,2273,6.22,2318,6.696,2320,7.419,2321,7.419]],["t/536",[32,1.543,56,5.164,125,3.49,132,4.596,138,4.719,217,1.749,229,6.469,689,4.378,1607,5.164,1703,5.804,1798,4.483,2106,6.469,2212,6.469]],["t/538",[1,0.948,33,3.02,132,3.453,185,2.622,197,1.825,199,4.176,200,2.238,213,2.268,214,2.363,215,1.471,217,1.967,244,4.582,245,3.879,279,3.756,342,3.368,400,4.724,417,4.853,689,3.289,732,4.582,836,3.756,995,4.636,1408,2.581,1678,3.646,1702,4.176,1791,4.361,1907,4.86,1994,7.829,2269,5.232,2322,5.797,2323,5.797,2324,5.797,2325,5.797,2326,5.797,2327,5.797]],["t/540",[1,1.497,3,2.263,30,2.263,31,0.87,125,2.932,126,3.517,230,3.376,342,3.765,373,4.2,394,4.492,400,3.311,688,4.013,806,5.319,848,3.311,907,3.86,908,3.963,1545,3.86,1623,5.554,1724,5.434,1818,4.669,1826,4.492,1839,6.243,1962,4.875,2060,5.85,2328,5.434]],["t/542",[1,1.028,3,2.196,9,2.602,12,4.049,27,1.65,29,2.07,30,2.684,31,1.032,36,4.049,53,2.059,54,0.95,60,2.281,62,1.592,64,1.538,71,1.825,120,1.256,126,1.786,128,0.981,134,1.786,137,1.65,142,2.133,153,1.867,166,2.203,185,1.489,195,2.281,215,0.628,231,1.513,246,2.212,342,3.652,350,2.133,364,1.62,366,4.049,367,1.38,378,1.564,388,2.476,390,1.786,400,3.212,427,1.912,455,2.133,530,2.476,531,2.841,534,2.76,544,2.371,586,2.938,593,2.133,606,3.412,665,2.07,694,2.07,725,2.371,791,1.867,806,2.975,848,4.157,853,2.602,854,1.912,891,1.867,908,2.013,1011,2.133,1101,2.76,1127,2.602,1211,2.371,1351,2.476,1372,2.203,1378,2.203,1441,2.971,1510,2.602,1538,2.476,1539,4.294,1545,1.961,1623,4.747,1632,2.76,1646,2.281,1663,2.602,1672,2.07,1723,1.961,1765,4.294,1794,2.371,1800,2.602,1815,3.427,1825,2.602,1826,2.281,1829,2.971,1839,4.729,1856,2.971,1937,2.476,1967,2.602,2074,3.853,2098,2.971,2119,2.971,2328,2.76,2329,2.971,2330,3.291,2331,2.971,2332,3.291,2333,3.291,2334,3.291,2335,3.291,2336,3.291,2337,3.291,2338,3.291,2339,5.122,2340,3.291,2341,3.291,2342,3.291]],["t/544",[27,2.684,46,1.685,47,1.852,64,1.629,195,1.552,198,4.695,266,2.735,269,3.037,399,2.076,408,2.511,427,2.025,460,1.263,511,2.076,551,3.856,586,1.629,744,2.922,791,1.977,805,4.027,812,2.922,848,3.736,885,2.755,899,2.511,906,6.011,923,2.258,926,4.362,997,2.622,1317,2.511,1319,4.488,1723,3.882,1730,4.232,1751,2.922,1826,2.416,1839,7.049,1993,2.922,2036,3.146,2087,4.232,2112,5.883,2130,3.146,2151,4.488,2343,6.518,2344,6.518,2345,5.353,2346,3.146,2347,3.485,2348,3.485,2349,3.485,2350,3.485,2351,3.485,2352,3.485,2353,3.485,2354,3.485,2355,3.146,2356,3.146,2357,3.146,2358,4.832,2359,3.485,2360,3.485,2361,3.485,2362,4.832,2363,3.485,2364,3.485,2365,3.146,2366,3.485,2367,3.485,2368,5.353,2369,3.485,2370,5.353,2371,5.353,2372,3.485,2373,3.485,2374,3.485,2375,3.485,2376,3.146,2377,3.485,2378,3.485,2379,3.485,2380,3.485,2381,3.146,2382,3.485,2383,3.485,2384,3.485,2385,3.146,2386,3.146,2387,3.146,2388,3.485,2389,3.485,2390,4.832,2391,3.485]],["t/546",[1,1.309,3,1.177,4,1.368,12,1.56,14,0.673,17,1.368,29,2.12,30,1.541,31,0.915,32,1.044,37,0.68,60,1.368,87,1.368,94,0.53,96,1.56,125,1.996,126,1.071,128,0.588,134,1.071,137,0.989,147,1.907,167,2.628,195,1.964,197,0.621,198,1.422,213,1.726,217,1,227,0.816,234,2.336,246,1.456,311,2.097,325,1.485,343,1.958,367,1.414,377,1.049,378,0.938,390,3.18,391,2.336,394,3.616,400,1.722,426,1.368,427,1.958,437,1.279,455,2.184,483,1.368,515,1.655,531,1.095,563,1.321,586,1.575,592,2.665,606,1.829,625,1.241,628,0.938,645,1.422,665,1.241,688,0.954,694,2.12,758,1.321,791,2.96,806,1.147,807,1.938,821,1.095,848,4.643,891,1.12,906,1.368,907,2.008,916,3.319,926,3.491,995,0.989,1020,3.042,1026,1.279,1078,1.422,1101,1.655,1127,1.56,1154,1.485,1262,1.368,1299,1.87,1372,2.256,1411,1.56,1427,3.699,1465,1.56,1492,1.781,1496,1.781,1533,1.781,1542,1.422,1545,2.628,1551,1.485,1553,1.781,1579,1.655,1623,2.256,1660,1.655,1663,1.56,1669,1.485,1703,1.485,1723,2.628,1724,1.655,1727,1.781,1730,2.665,1751,1.655,1753,1.485,1765,1.655,1779,1.56,1794,1.422,1818,2.428,1819,1.655,1826,3.058,1835,3.699,1837,1.781,1839,4.407,1846,1.422,1874,1.655,1875,1.655,1886,1.655,1890,1.655,1895,1.781,1950,2.826,1962,1.485,1967,1.56,1978,1.56,1985,1.368,2035,1.781,2074,2.536,2087,4.124,2109,1.655,2113,3.042,2151,1.655,2177,1.781,2262,1.781,2304,1.655,2328,1.655,2329,1.781,2331,1.781,2346,3.042,2355,1.781,2356,1.781,2357,1.781,2358,3.042,2362,1.781,2365,1.781,2376,1.781,2381,1.781,2385,3.982,2386,1.781,2387,3.042,2390,1.781,2392,1.781,2393,1.974,2394,3.371,2395,1.974,2396,1.974,2397,1.655,2398,1.974,2399,1.974,2400,1.974,2401,1.974,2402,1.655,2403,1.974,2404,1.974,2405,1.974,2406,3.371,2407,1.974,2408,3.371,2409,1.974,2410,3.371,2411,4.412,2412,1.974,2413,1.974,2414,1.974,2415,3.371,2416,1.974,2417,1.974,2418,1.974]],["t/548",[37,1.214,46,3.808,84,2.748,160,2.37,235,2.308,343,3.473,389,3.873,393,3.244,570,5.395,686,3.244,689,3.391,1245,4.496,1677,5.391,2419,6.117,2420,5.977,2421,5.011,2422,7.874,2423,5.395,2424,5.395]],["t/550",[37,0.728,66,2.93,105,5.511,907,3.734,1370,4.516,1388,4.716,1393,4.516,1650,6.492,1677,3.203,1678,3.943,1679,8.605,1680,8.134,1681,5.659,1682,6.811,1683,4.716,1684,5.659,1685,5.659,1686,5.659,1687,5.659,1688,5.659,1689,5.659,1690,5.659,1691,4.956,1692,5.659,1693,4.516,2419,3.943]],["t/552",[2,2.541,3,1.18,14,1.782,23,1.605,27,2.62,37,0.742,46,3.09,84,1.553,86,2.67,94,0.907,112,1.874,165,2.402,168,1.874,221,1.358,235,2.777,245,3.497,393,2.836,435,2.832,437,2.189,453,3.386,493,2.125,498,1.76,562,2.541,574,2.125,602,1.693,616,2.484,628,3.037,646,2.541,686,1.833,707,3.049,725,2.433,772,3.049,806,1.963,837,2.341,938,2.836,974,2.066,1044,2.541,1104,2.341,1156,2.67,1193,2.832,1236,3.049,1339,3.622,1351,2.541,1393,3.765,1394,2.433,1397,2.67,1510,2.67,1546,2.67,1554,2.066,1586,2.67,1656,3.049,1676,2.832,1677,4.646,1683,4.808,1694,4.382,1701,3.049,1702,2.433,1710,3.931,1725,2.832,1726,2.541,1741,3.049,1748,2.832,1907,2.832,2044,2.832,2073,4.131,2085,2.67,2203,3.049,2246,2.67,2305,3.049,2402,2.832,2424,3.049,2425,5.359,2426,4.717,2427,5.226,2428,5.769,2429,5.226,2430,3.378,2431,3.378,2432,3.378,2433,3.378,2434,3.378,2435,4.717,2436,3.049,2437,3.378,2438,2.67,2439,3.378,2440,3.049,2441,6.031,2442,2.832,2443,3.378,2444,3.378,2445,3.378,2446,3.378,2447,5.226,2448,5.226,2449,3.378]],["t/554",[2,4.296,5,3.577,18,2.205,37,0.441,39,1.744,43,2.863,46,2.762,73,1.977,84,3.156,112,3.808,117,1.69,133,2.734,160,1.505,219,3.058,231,1.744,317,2.153,372,1.977,373,2.459,393,3.727,453,2.459,492,2.205,498,1.977,533,1.773,563,3.822,602,2.863,616,1.804,628,3.263,646,2.855,653,3,686,2.059,688,1.835,694,2.387,717,4.946,725,2.734,736,1.639,768,2.54,1078,2.734,1153,3.822,1193,4.788,1586,4.514,1677,4.185,1699,5.155,1843,5.155,1844,3.425,1875,3.182,1877,3.425,1979,3,2085,4.514,2154,3.182,2246,3,2304,5.757,2402,4.788,2425,3.182,2426,3.425,2436,3.425,2441,4.788,2450,8.193,2451,3.795,2452,3.795,2453,3.795,2454,3.795,2455,5.711,2456,3.795,2457,5.711,2458,3.795,2459,5.711,2460,3.795,2461,3.795,2462,3.795,2463,3.795,2464,3.795,2465,3.795,2466,3.795,2467,3.795,2468,3.795,2469,3.795]],["t/556",[14,2.436,25,5.373,27,3.581,36,5.646,37,0.829,235,3.407,247,3.876,343,4.15,416,4.255,460,2.588,484,4.78,616,3.395,923,4.629,1160,4.368,1196,5.145,1510,5.646,1677,3.649,2419,4.492,2470,8.823]],["t/558",[2,3.578,37,0.908,38,2.187,46,3.257,84,2.187,94,1.277,235,2.601,272,2.638,321,4.508,602,3.377,616,4.43,686,2.582,702,3.297,866,2.909,974,4.12,1011,6.453,1408,2.118,1522,4.294,1621,4.294,1672,6.263,1677,5.267,1702,3.427,1726,3.578,1768,3.989,1812,4.294,1979,3.761,2073,3.761,2154,3.989,2419,2.992,2421,3.989,2425,3.989,2471,4.757,2472,6.736,2473,4.757,2474,4.294]],["t/560",[3,2.566,14,1.838,37,0.853,128,1.607,137,2.702,235,2.081,435,4.52,437,3.493,453,3.493,616,3.492,625,3.39,665,3.39,806,3.132,837,3.736,1160,3.297,1272,3.736,1299,2.99,1657,4.261,1677,4.586,1683,4.055,1705,4.261,1710,4.055,1726,4.055,1772,7.009,1878,4.261,1930,4.52,1963,4.866,2196,4.866,2271,4.261,2419,3.39,2438,4.261,2474,4.866,2475,4.52,2476,5.391,2477,5.391,2478,5.391,2479,5.391,2480,5.391,2481,5.391,2482,5.391,2483,6.632,2484,4.52,2485,5.391,2486,5.391,2487,5.391,2488,5.391,2489,5.391]],["t/562",[3,2.427,37,1.007,84,3.987,235,2.683,453,4.503,498,3.62,1541,5.006,1677,4.83,2044,5.826,2240,6.272,2419,4.37,2438,5.493,2442,5.826,2483,6.272,2484,5.826,2490,6.949,2491,6.949,2492,6.949,2493,6.949,2494,6.272]],["t/564",[37,1.013,262,3.653,293,3.727,319,5.275,409,5.052,416,4.177,498,3.653,507,4.41,563,4.693,574,4.41,686,3.806,736,3.029,768,4.693,1550,5.052,1662,5.88,1677,5.075,1773,5.88,2419,5.486]],["t/566",[37,0.87,245,5.013,377,3.981,498,3.902,1432,6.761,1537,5.192,1677,3.827,1710,6.833,2419,4.711,2421,6.28,2495,6.761,2496,6.761,2497,6.761,2498,6.761,2499,6.761]],["t/568",[3,1.578,14,0.958,16,1.383,37,0.658,65,2.537,84,2.078,105,2.764,125,1.271,137,2.266,141,1.196,154,1.464,208,2.402,214,1.146,218,1.1,235,1.085,272,1.559,317,1.594,318,1.674,343,1.633,377,1.494,387,2.537,405,5.134,409,3.256,425,1.767,427,1.633,442,4.481,443,2.024,453,1.821,460,1.018,489,2.222,496,1.948,501,2.764,556,1.881,565,2.537,571,2.356,581,2.222,602,1.409,603,1.559,616,2.148,625,1.767,736,1.952,754,1.559,768,3.025,773,2.356,812,2.356,938,2.453,1104,3.929,1396,2.537,1424,1.821,1427,2.356,1465,2.222,1491,1.948,1541,3.256,1545,2.692,1571,4.079,1587,2.222,1595,2.537,1602,2.537,1603,2.222,1605,2.222,1672,1.767,1677,3.318,1678,1.767,1682,2.356,1691,2.222,1703,2.114,1710,2.114,1730,2.222,1746,2.537,1750,2.537,1768,2.356,1815,1.881,1854,4.079,1900,2.114,1992,2.222,2070,2.537,2199,2.537,2271,2.222,2272,2.114,2392,2.537,2397,2.356,2419,2.842,2423,2.537,2438,5.626,2440,2.537,2441,2.356,2442,2.356,2475,2.356,2484,2.356,2494,4.079,2495,5.117,2496,7.741,2497,4.079,2498,8.522,2500,2.81,2501,2.81,2502,4.52,2503,2.81,2504,5.117,2505,2.81,2506,2.81,2507,2.81,2508,2.81,2509,2.81,2510,2.81,2511,2.81,2512,2.81,2513,2.81,2514,2.81,2515,2.81,2516,2.81,2517,2.81,2518,2.81,2519,4.52,2520,2.81,2521,2.81,2522,2.81,2523,2.81,2524,2.81,2525,2.81,2526,2.81,2527,2.81,2528,2.81,2529,2.81,2530,2.81,2531,2.81]],["t/570",[3,1.641,37,1.109,105,2.874,138,2.874,177,3.145,231,2.16,324,3.535,343,2.73,377,2.497,409,3.385,416,2.799,478,3.94,507,4.2,538,3.385,556,3.145,583,3.94,602,2.356,773,3.94,780,2.799,1029,3.715,1104,3.257,1440,3.715,1491,3.257,1525,3.94,1537,3.257,1545,3.978,1583,3.715,1652,3.94,1677,5.073,1678,2.955,1762,3.535,1774,4.241,1775,4.241,1826,3.257,1912,4.241,2059,5.599,2210,3.94,2277,4.241,2397,3.94,2419,6.006,2428,4.241,2435,4.241,2475,3.94,2499,4.241,2504,4.241,2532,6.678,2533,4.699,2534,4.699,2535,4.699,2536,4.699,2537,4.699,2538,4.699,2539,4.699]]],"invertedIndex":[["",{"_index":147,"t":{"14":{"position":[[142,1],[160,1],[180,2],[244,1],[293,3]]},"16":{"position":[[247,1],[265,1],[292,1],[304,1],[332,2],[380,1],[414,1],[431,1],[472,3],[476,2],[479,2],[482,3],[642,2],[702,1],[704,1],[880,2],[883,2],[935,1],[969,1],[986,1],[1012,3],[1016,2],[1019,2],[1022,3]]},"18":{"position":[[289,1],[307,1],[334,1],[353,1],[383,2],[421,1],[463,2],[515,1],[517,1],[554,2],[557,2],[606,1],[640,1],[657,1],[707,2],[710,2],[713,2],[716,3],[829,1],[839,1],[869,2],[918,1],[952,1],[969,1],[1044,2],[1047,2],[1050,2],[1053,3]]},"20":{"position":[[93,1],[111,1],[138,1],[150,1],[185,1],[213,1],[243,2],[303,1],[305,1],[481,2],[484,2],[536,1],[538,1],[575,2],[578,2],[627,1],[661,1],[678,1],[704,3],[764,2],[767,2],[770,2],[773,3]]},"22":{"position":[[130,1],[167,1],[198,1],[247,3],[282,2]]},"26":{"position":[[101,1],[119,1],[139,2],[183,1],[232,3],[256,2],[306,2]]},"28":{"position":[[108,1],[128,1],[148,2],[327,1],[358,1],[378,2],[461,1],[502,3]]},"30":{"position":[[93,1],[124,1],[144,2],[189,1],[223,2],[277,1],[308,3],[326,1],[468,1],[514,2],[556,2],[604,3]]},"32":{"position":[[118,2],[181,1]]},"34":{"position":[[137,2],[187,1],[276,3],[280,2],[344,1],[389,2],[461,1],[491,3]]},"36":{"position":[[172,2],[219,1],[235,2],[238,1],[240,2],[320,2],[393,1],[461,2],[464,2],[515,1],[557,2]]},"42":{"position":[[154,2],[205,1],[247,2],[455,1],[463,2],[466,2],[469,1],[475,1],[477,2],[529,1],[545,1],[550,1],[552,2],[642,2],[697,1],[699,1],[701,2],[801,1],[808,1],[823,1],[825,1],[827,2],[830,2]]},"65":{"position":[[301,1]]},"69":{"position":[[266,1],[305,1],[307,3]]},"73":{"position":[[188,1],[270,1],[272,3]]},"77":{"position":[[212,1]]},"79":{"position":[[710,2],[806,2],[846,1]]},"95":{"position":[[169,1],[192,1],[227,2],[281,1],[422,1],[438,1],[483,2],[535,1],[581,2],[628,2],[669,3],[673,2],[745,1],[755,3],[889,1],[905,1],[950,2],[1002,1],[1047,2],[1145,2]]},"97":{"position":[[169,1],[204,1],[239,2],[308,1],[332,2],[417,1],[577,1],[593,1],[634,2],[683,1],[729,2],[776,2],[820,3],[824,2],[896,1],[906,3],[1058,1],[1074,1],[1115,2],[1164,1],[1207,2],[1305,2]]},"99":{"position":[[567,1],[602,1],[644,1],[686,1],[738,1],[776,1],[817,2],[877,2],[937,2],[1023,1],[1068,1],[1101,2],[1174,1],[1229,2],[1276,2],[1346,2],[1400,3],[1404,2],[1470,1],[1521,2],[1568,2],[1641,2],[1695,3],[1699,2],[1873,1],[1883,3],[1983,1],[1993,3],[2194,1],[2215,1],[2257,1],[2273,1],[2325,1],[2334,1],[2363,2],[2417,2],[2501,1],[2525,2],[2580,1],[2675,3],[2679,2],[2754,1],[2770,2],[2773,1],[2775,2],[2840,2],[2920,1],[2970,1],[3004,2],[3064,2],[3189,1],[3240,1],[3247,1],[3302,1],[3304,2]]},"101":{"position":[[460,1],[485,1],[513,2],[578,1],[621,1],[645,2],[707,1],[755,1],[781,2],[852,1],[908,1]]},"105":{"position":[[101,1],[119,1],[139,2],[183,1],[232,3]]},"107":{"position":[[94,1],[125,1],[145,2]]},"109":{"position":[[99,1],[115,1],[135,2],[180,1],[214,2],[256,1]]},"113":{"position":[[458,2],[505,1],[521,2],[524,1],[526,2],[602,2],[605,2],[693,2]]},"115":{"position":[[358,2],[401,1],[441,2],[514,1],[516,2],[563,1],[615,2],[618,1],[630,1],[641,2],[709,2],[712,2],[715,1]]},"118":{"position":[[158,1],[174,1],[194,2],[247,1],[249,1],[290,2],[293,2],[346,1],[348,1],[388,2],[391,2],[518,1]]},"120":{"position":[[187,1],[194,1],[214,2],[261,1],[263,3],[282,1],[298,2],[301,1],[331,2],[373,2],[428,2],[431,2],[470,2],[601,2],[604,2],[643,1],[689,1],[729,2],[767,2],[894,1],[912,2],[915,2]]},"122":{"position":[[150,2],[186,1],[216,1],[272,2],[322,1],[324,1],[338,1],[360,2],[363,2],[366,2],[493,1]]},"134":{"position":[[1158,1]]},"138":{"position":[[167,1],[244,1]]},"158":{"position":[[301,1],[442,1],[447,1],[590,1],[644,1]]},"164":{"position":[[66,1],[117,1]]},"174":{"position":[[105,1],[124,1],[138,1],[187,1],[407,1],[503,1]]},"182":{"position":[[244,1],[264,1],[286,2],[335,1],[337,1],[362,2],[426,2],[532,2],[577,1],[688,1],[698,1],[735,1],[737,2],[776,1],[801,1],[803,1],[816,2],[852,2],[915,2],[980,1]]},"184":{"position":[[151,1],[173,1],[196,1],[206,1],[235,1],[266,1],[355,1],[395,1],[441,1],[457,2],[540,1],[546,2],[549,1],[584,2],[587,2],[626,1],[651,1],[653,1],[666,2],[725,1],[775,1],[806,3],[824,1],[855,2],[918,1],[1054,2],[1109,1],[1117,2],[1120,2],[1123,2],[1133,1],[1135,2],[1255,2],[1258,1],[1421,3],[1585,2],[1670,3],[1674,1],[1676,1],[1963,1],[1981,1],[1999,1],[2079,1],[2092,1],[2141,1],[2157,1],[2235,1],[2250,1],[2330,1],[2347,1],[2418,1],[2433,1],[2482,1]]},"186":{"position":[[215,1],[230,1],[267,1],[269,2],[317,1],[324,1],[326,1],[357,3],[361,2],[416,1],[424,2],[427,2],[430,1],[442,2],[465,3],[480,2],[527,1],[560,1],[627,3],[631,2],[694,1],[745,1],[766,1],[768,1],[802,3],[806,2],[844,3],[851,1],[905,1],[912,1],[935,1],[937,2],[940,1]]},"188":{"position":[[201,1],[221,1],[258,1],[260,2],[311,1],[338,1],[340,1],[376,3],[380,2],[424,2],[427,1],[474,2],[477,1],[561,4],[566,2],[588,1]]},"190":{"position":[[230,1],[268,1],[305,1],[307,2],[352,1],[378,1],[380,1],[415,3],[419,2],[470,1],[497,1],[499,1],[535,3],[539,2],[589,2],[592,1],[612,1],[694,2],[697,1],[781,4],[786,2],[823,1]]},"194":{"position":[[192,1],[226,1],[417,1],[513,1]]},"196":{"position":[[540,1],[563,1],[622,1],[949,1],[972,1],[1086,1],[1124,1]]},"198":{"position":[[295,1],[321,1],[378,1],[561,1],[587,1]]},"200":{"position":[[288,1],[311,1],[696,1],[715,1],[733,1]]},"206":{"position":[[230,1],[327,1]]},"208":{"position":[[382,1],[405,1],[519,1],[545,1],[569,1],[600,1],[725,1],[737,2],[797,1]]},"216":{"position":[[1011,1],[1026,1],[1088,1],[1300,1],[1315,1],[1361,1]]},"218":{"position":[[392,1],[618,1],[702,1],[779,1],[792,1],[819,1],[833,1],[850,1]]},"220":{"position":[[579,1],[606,1],[652,1],[686,1],[744,1],[933,1],[960,1],[1142,1],[1176,1],[1218,1],[1263,1]]},"222":{"position":[[749,1],[763,1],[812,1],[855,1],[910,1],[938,1],[1068,1],[1082,1],[1101,1],[1250,1],[1264,1],[1284,1],[1306,1]]},"224":{"position":[[304,1],[343,1],[535,1],[674,1]]},"228":{"position":[[235,1],[263,1]]},"234":{"position":[[79,1],[130,1]]},"238":{"position":[[208,1],[246,1],[267,1],[352,2],[560,1]]},"242":{"position":[[357,1],[472,1]]},"244":{"position":[[576,1],[1221,1]]},"272":{"position":[[482,1],[484,3],[488,1],[516,1],[518,3],[522,1],[524,2],[630,1],[665,1],[700,1],[705,1]]},"274":{"position":[[773,1],[849,1],[854,1]]},"292":{"position":[[74,1],[151,1],[406,1],[450,1],[459,2],[528,1],[613,2],[870,1]]},"450":{"position":[[1029,1],[1041,1],[1649,1],[1653,1],[1720,1],[1726,1]]},"452":{"position":[[559,1],[565,1],[722,1],[737,1],[796,1],[800,1]]},"469":{"position":[[769,1],[1775,1]]},"477":{"position":[[1046,1],[1053,1]]},"479":{"position":[[200,1]]},"490":{"position":[[588,1]]},"546":{"position":[[2633,1],[2694,1],[2713,1],[2725,1],[2735,1],[2748,1],[2760,1]]}}}],["0",{"_index":778,"t":{"130":{"position":[[42,1],[410,1]]},"134":{"position":[[1156,1]]},"184":{"position":[[1973,1]]},"186":{"position":[[469,2],[848,2]]},"492":{"position":[[674,1]]}}}],["0.0.0.0",{"_index":171,"t":{"16":{"position":[[577,8]]},"194":{"position":[[357,8]]},"200":{"position":[[531,9]]}}}],["0.012",{"_index":2120,"t":{"479":{"position":[[1019,5]]},"486":{"position":[[97,5]]},"490":{"position":[[102,5]]}}}],["0.012*5",{"_index":2179,"t":{"490":{"position":[[580,7]]}}}],["0.06",{"_index":2165,"t":{"486":{"position":[[184,4]]},"490":{"position":[[590,4]]}}}],["0.1",{"_index":1480,"t":{"280":{"position":[[124,3]]},"406":{"position":[[278,3]]}}}],["0.15",{"_index":2121,"t":{"479":{"position":[[1060,4]]},"481":{"position":[[1418,4]]},"486":{"position":[[34,4]]},"488":{"position":[[178,4]]}}}],["0.5",{"_index":1883,"t":{"450":{"position":[[1722,3]]}}}],["0.5gb",{"_index":1293,"t":{"230":{"position":[[597,5]]}}}],["000",{"_index":1097,"t":{"184":{"position":[[2193,5]]},"452":{"position":[[573,3]]}}}],["007bff",{"_index":1105,"t":{"184":{"position":[[2453,8]]}}}],["01.ac",{"_index":1222,"t":{"216":{"position":[[1778,5]]},"224":{"position":[[561,5]]},"226":{"position":[[489,5]]}}}],["01.he",{"_index":2005,"t":{"469":{"position":[[951,5],[2026,5]]},"471":{"position":[[1081,5]]}}}],["06",{"_index":1318,"t":{"242":{"position":[[93,2]]},"244":{"position":[[278,2],[930,2]]}}}],["1",{"_index":266,"t":{"32":{"position":[[253,2]]},"120":{"position":[[672,3]]},"150":{"position":[[585,1]]},"184":{"position":[[990,2],[2105,2],[2360,2]]},"194":{"position":[[223,2]]},"198":{"position":[[375,2]]},"266":{"position":[[266,2]]},"272":{"position":[[667,2]]},"326":{"position":[[197,2]]},"446":{"position":[[330,1]]},"450":{"position":[[272,1],[499,1],[777,1],[2275,1],[2368,1],[2433,1],[2453,1],[2619,1],[2825,1]]},"454":{"position":[[207,1],[391,1]]},"465":{"position":[[36,1]]},"467":{"position":[[230,2]]},"469":{"position":[[1002,1],[1016,1],[1034,1],[1063,1],[1355,1],[1384,1],[1530,1],[1559,1],[2077,1],[2090,1],[2108,1],[2235,1],[2300,1],[2447,1],[2640,1],[2723,1],[2916,1]]},"477":{"position":[[470,2],[1306,1]]},"481":{"position":[[859,1],[1366,1],[1951,1]]},"494":{"position":[[577,1]]},"544":{"position":[[33,3],[476,3]]}}}],["1%2fproto&pagesize=50&ascending=tru",{"_index":1513,"t":{"292":{"position":[[832,37]]}}}],["1.0.0.1",{"_index":817,"t":{"132":{"position":[[134,10]]},"148":{"position":[[197,10]]},"196":{"position":[[789,8]]}}}],["1.000",{"_index":1881,"t":{"450":{"position":[[1598,5]]}}}],["1.1.1.1",{"_index":816,"t":{"132":{"position":[[122,11]]},"148":{"position":[[185,11]]},"196":{"position":[[777,7]]}}}],["1.2",{"_index":1922,"t":{"452":{"position":[[802,3]]}}}],["1.4",{"_index":1955,"t":{"465":{"position":[[289,3]]}}}],["1/proto",{"_index":1508,"t":{"292":{"position":[[577,9]]}}}],["10",{"_index":907,"t":{"150":{"position":[[398,2]]},"412":{"position":[[305,2]]},"450":{"position":[[288,2],[1090,2],[2463,2]]},"465":{"position":[[1220,3]]},"467":{"position":[[424,2]]},"469":{"position":[[1335,2],[2427,2],[2574,2]]},"471":{"position":[[1469,2],[1576,2],[1847,2]]},"479":{"position":[[801,2]]},"484":{"position":[[409,2]]},"540":{"position":[[286,2]]},"546":{"position":[[2569,2],[2783,2]]},"550":{"position":[[246,2]]}}}],["10,000",{"_index":1460,"t":{"274":{"position":[[747,6],[775,7],[842,6]]}}}],["10.000",{"_index":1864,"t":{"450":{"position":[[720,6],[1009,6],[1666,6]]},"452":{"position":[[412,6],[552,6],[1046,6]]},"484":{"position":[[481,6]]}}}],["100",{"_index":1272,"t":{"222":{"position":[[1227,4]]},"452":{"position":[[878,4]]},"471":{"position":[[1817,3]]},"484":{"position":[[324,3]]},"492":{"position":[[362,3]]},"496":{"position":[[21,3]]},"560":{"position":[[528,3]]}}}],["1000",{"_index":889,"t":{"138":{"position":[[382,4],[479,4]]},"450":{"position":[[1644,4]]},"473":{"position":[[32,4]]},"477":{"position":[[1079,4]]},"481":{"position":[[1725,4]]}}}],["10000",{"_index":1882,"t":{"450":{"position":[[1714,5]]},"481":{"position":[[1758,5]]}}}],["100k/day",{"_index":2200,"t":{"494":{"position":[[677,9]]}}}],["100kb",{"_index":2123,"t":{"481":{"position":[[188,6],[1609,5]]}}}],["100mbit",{"_index":2138,"t":{"481":{"position":[[833,8]]}}}],["100mpb",{"_index":2137,"t":{"481":{"position":[[819,7]]}}}],["100msg/day",{"_index":1932,"t":{"454":{"position":[[393,12]]}}}],["100vh",{"_index":1084,"t":{"184":{"position":[[2048,6]]}}}],["107",{"_index":2360,"t":{"544":{"position":[[559,3]]}}}],["108",{"_index":2383,"t":{"544":{"position":[[671,3]]}}}],["10k",{"_index":2164,"t":{"486":{"position":[[130,3]]},"490":{"position":[[455,3]]},"494":{"position":[[340,3],[400,3]]}}}],["10kb",{"_index":2010,"t":{"469":{"position":[[1092,4],[1413,4],[1588,4],[2329,4],[2669,4],[2945,4]]},"473":{"position":[[330,4]]},"481":{"position":[[182,5],[1071,4],[1258,4]]},"488":{"position":[[139,5]]}}}],["10mbp",{"_index":2413,"t":{"546":{"position":[[2622,6]]}}}],["10msg/sec",{"_index":2009,"t":{"469":{"position":[[1081,10],[1402,10],[1577,10],[2318,10],[2658,10],[2934,10]]}}}],["10px",{"_index":1093,"t":{"184":{"position":[[2135,5],[2208,5],[2229,5],[2276,5],[2392,5],[2412,5]]}}}],["11",{"_index":2035,"t":{"471":{"position":[[410,2]]},"546":{"position":[[2722,2]]}}}],["1100",{"_index":2028,"t":{"469":{"position":[[3782,4]]}}}],["119",{"_index":2374,"t":{"544":{"position":[[621,3]]}}}],["11m",{"_index":2017,"t":{"469":{"position":[[2398,5]]}}}],["12",{"_index":2151,"t":{"481":{"position":[[2049,3]]},"544":{"position":[[369,2],[691,2]]},"546":{"position":[[2745,2]]}}}],["123.123.123.123",{"_index":487,"t":{"73":{"position":[[223,18]]}}}],["1234",{"_index":486,"t":{"73":{"position":[[211,4]]}}}],["127.0.0.1",{"_index":440,"t":{"67":{"position":[[529,10]]},"142":{"position":[[92,9]]},"144":{"position":[[96,9]]},"146":{"position":[[113,9]]},"222":{"position":[[315,10]]},"290":{"position":[[153,9]]}}}],["13",{"_index":2369,"t":{"544":{"position":[[599,2]]}}}],["137",{"_index":2361,"t":{"544":{"position":[[563,3]]}}}],["13:18:07.575+00:00",{"_index":2037,"t":{"471":{"position":[[416,18]]}}}],["14400",{"_index":880,"t":{"138":{"position":[[161,5]]},"224":{"position":[[762,5]]}}}],["1459",{"_index":1367,"t":{"250":{"position":[[33,5]]}}}],["15",{"_index":1319,"t":{"242":{"position":[[96,2]]},"244":{"position":[[281,2],[933,2]]},"544":{"position":[[648,2],[856,2]]}}}],["150",{"_index":1919,"t":{"452":{"position":[[739,3],[781,3]]}}}],["150kb",{"_index":2171,"t":{"488":{"position":[[151,6]]}}}],["15mbp",{"_index":2409,"t":{"546":{"position":[[2152,7]]}}}],["16",{"_index":1462,"t":{"274":{"position":[[851,2]]}}}],["16:09:54.448+01:00",{"_index":1320,"t":{"242":{"position":[[99,18]]},"244":{"position":[[284,18],[936,18]]}}}],["17",{"_index":2387,"t":{"544":{"position":[[702,2]]},"546":{"position":[[2364,3],[2457,3]]}}}],["1727795042",{"_index":2417,"t":{"546":{"position":[[2890,10]]}}}],["18",{"_index":2415,"t":{"546":{"position":[[2710,2],[2732,2]]}}}],["1:1",{"_index":252,"t":{"30":{"position":[[786,3]]}}}],["1kb",{"_index":2169,"t":{"488":{"position":[[134,4]]}}}],["1lqrcbccb4np93f9",{"_index":1332,"t":{"244":{"position":[[421,16],[654,16]]}}}],["1msg/10",{"_index":2188,"t":{"492":{"position":[[530,7]]}}}],["1px",{"_index":1086,"t":{"184":{"position":[[2063,3]]}}}],["2",{"_index":269,"t":{"32":{"position":[[301,2]]},"150":{"position":[[490,1]]},"184":{"position":[[1039,2]]},"194":{"position":[[257,2]]},"198":{"position":[[432,2]]},"208":{"position":[[746,4]]},"272":{"position":[[702,2]]},"296":{"position":[[400,1]]},"452":{"position":[[567,1]]},"454":{"position":[[411,1]]},"469":{"position":[[1321,1],[1747,2],[2413,1]]},"471":{"position":[[1894,2]]},"479":{"position":[[614,1]]},"544":{"position":[[279,3],[714,3]]}}}],["20",{"_index":1908,"t":{"452":{"position":[[116,2]]}}}],["200msg/day",{"_index":1933,"t":{"454":{"position":[[413,12]]}}}],["2023",{"_index":1317,"t":{"242":{"position":[[88,4]]},"244":{"position":[[273,4],[925,4]]},"469":{"position":[[3840,6]]},"471":{"position":[[405,4]]},"514":{"position":[[127,5]]},"544":{"position":[[376,6]]}}}],["21",{"_index":2366,"t":{"544":{"position":[[590,2]]}}}],["21600",{"_index":1216,"t":{"216":{"position":[[1257,5]]},"224":{"position":[[492,5]]}}}],["22",{"_index":2388,"t":{"544":{"position":[[705,2]]}}}],["23",{"_index":2377,"t":{"544":{"position":[[639,2]]}}}],["232",{"_index":1970,"t":{"465":{"position":[[1134,3]]}}}],["24*3600/1=86400",{"_index":1899,"t":{"450":{"position":[[2666,15]]}}}],["24*3600/240=360",{"_index":1904,"t":{"450":{"position":[[3070,15]]}}}],["240",{"_index":1903,"t":{"450":{"position":[[3021,3],[3270,3]]}}}],["25",{"_index":2014,"t":{"469":{"position":[[1510,2],[2703,2],[2850,2]]}}}],["250",{"_index":1910,"t":{"452":{"position":[[296,3],[472,3],[561,3],[1082,3]]}}}],["250m",{"_index":2024,"t":{"469":{"position":[[3550,5]]}}}],["256",{"_index":2102,"t":{"479":{"position":[[362,3]]}}}],["25mbp",{"_index":1847,"t":{"448":{"position":[[1500,7]]}}}],["26",{"_index":2386,"t":{"544":{"position":[[694,2]]},"546":{"position":[[2298,3]]}}}],["263",{"_index":2145,"t":{"481":{"position":[[1314,3]]}}}],["27",{"_index":2036,"t":{"471":{"position":[[413,2]]},"544":{"position":[[675,2]]}}}],["286cae9f2990bfc49dafdd3a9e737f56ddba3656e5e427108cef456fb67680e8",{"_index":1233,"t":{"218":{"position":[[394,64],[852,64],[940,64]]}}}],["2gb",{"_index":930,"t":{"156":{"position":[[257,3]]},"230":{"position":[[519,3]]}}}],["2mbyte",{"_index":2194,"t":{"494":{"position":[[358,7]]}}}],["3",{"_index":198,"t":{"18":{"position":[[526,2],[540,2],[551,2]]},"20":{"position":[[547,2],[561,2],[572,2]]},"32":{"position":[[350,2]]},"469":{"position":[[1496,1],[2689,1]]},"544":{"position":[[389,3],[781,3],[827,1]]},"546":{"position":[[2114,4]]}}}],["3.85",{"_index":2083,"t":{"477":{"position":[[1048,4]]}}}],["30",{"_index":899,"t":{"144":{"position":[[228,2]]},"222":{"position":[[565,3]]},"452":{"position":[[691,2],[711,2]]},"457":{"position":[[95,2]]},"465":{"position":[[755,2]]},"544":{"position":[[625,2]]}}}],["300",{"_index":884,"t":{"138":{"position":[[240,3]]},"465":{"position":[[775,3]]}}}],["3000",{"_index":2186,"t":{"492":{"position":[[482,4]]}}}],["32",{"_index":1131,"t":{"196":{"position":[[331,2]]},"218":{"position":[[351,2],[389,2],[530,2],[712,2],[802,3],[816,2]]}}}],["33",{"_index":2370,"t":{"544":{"position":[[602,2],[697,2]]}}}],["37",{"_index":2380,"t":{"544":{"position":[[651,2]]}}}],["38",{"_index":2362,"t":{"544":{"position":[[567,2],[772,2]]},"546":{"position":[[2757,2]]}}}],["38.8",{"_index":1969,"t":{"465":{"position":[[1088,7]]}}}],["384",{"_index":2159,"t":{"484":{"position":[[655,3]]}}}],["4",{"_index":881,"t":{"138":{"position":[[169,1]]},"224":{"position":[[776,2]]},"270":{"position":[[434,1]]},"477":{"position":[[1055,2],[1146,1],[1874,1]]},"481":{"position":[[2044,1]]},"494":{"position":[[418,3]]}}}],["400",{"_index":1916,"t":{"452":{"position":[[632,3]]}}}],["44",{"_index":2371,"t":{"544":{"position":[[605,2],[665,2]]}}}],["479c95bbf74222417abf76c7f9c480a6790e454374dc4f59bbb15ca183ce1abd",{"_index":2049,"t":{"471":{"position":[[741,65]]}}}],["48",{"_index":1207,"t":{"216":{"position":[[697,3]]}}}],["49",{"_index":2372,"t":{"544":{"position":[[615,2]]}}}],["4k",{"_index":2408,"t":{"546":{"position":[[2127,2],[2613,3]]}}}],["4k/uhd",{"_index":2391,"t":{"544":{"position":[[849,6]]}}}],["4px",{"_index":1103,"t":{"184":{"position":[[2378,4],[2477,4]]}}}],["5",{"_index":885,"t":{"138":{"position":[[246,1]]},"450":{"position":[[1476,1],[1621,1],[1651,1],[1655,1],[1728,1]]},"452":{"position":[[500,1],[724,1]]},"544":{"position":[[842,1]]}}}],["50",{"_index":805,"t":{"130":{"position":[[726,2]]},"448":{"position":[[1217,2],[1420,2]]},"450":{"position":[[814,2],[1031,2]]},"471":{"position":[[1440,2],[1547,2]]},"544":{"position":[[654,2],[678,2]]}}}],["500",{"_index":1870,"t":{"450":{"position":[[1043,3],[1690,3]]},"452":{"position":[[211,4],[569,3]]}}}],["5000",{"_index":2197,"t":{"494":{"position":[[505,4]]}}}],["500kb",{"_index":2066,"t":{"473":{"position":[[574,6]]},"481":{"position":[[195,6],[1619,6]]}}}],["508",{"_index":2063,"t":{"473":{"position":[[379,3]]},"481":{"position":[[1109,3]]}}}],["50kb",{"_index":2170,"t":{"488":{"position":[[145,5]]}}}],["520",{"_index":2198,"t":{"494":{"position":[[549,3]]}}}],["53",{"_index":2378,"t":{"544":{"position":[[642,2]]}}}],["54",{"_index":2367,"t":{"544":{"position":[[593,2]]}}}],["56",{"_index":2375,"t":{"544":{"position":[[628,2]]}}}],["58",{"_index":2359,"t":{"544":{"position":[[556,2]]}}}],["6",{"_index":1217,"t":{"216":{"position":[[1271,2]]},"224":{"position":[[506,2]]},"276":{"position":[[403,1]]},"481":{"position":[[2029,1]]}}}],["60",{"_index":2514,"t":{"568":{"position":[[1068,4]]}}}],["60000",{"_index":789,"t":{"130":{"position":[[373,5]]},"176":{"position":[[215,8]]}}}],["60000:60000",{"_index":1166,"t":{"208":{"position":[[325,11]]}}}],["60002",{"_index":174,"t":{"16":{"position":[[602,5]]},"194":{"position":[[382,5]]}}}],["60003",{"_index":175,"t":{"16":{"position":[[612,5]]},"194":{"position":[[392,6]]}}}],["625",{"_index":1463,"t":{"274":{"position":[[856,4]]}}}],["627",{"_index":2143,"t":{"481":{"position":[[1228,4]]}}}],["63",{"_index":2384,"t":{"544":{"position":[[681,2]]}}}],["6300",{"_index":1690,"t":{"412":{"position":[[308,4]]},"550":{"position":[[249,4]]}}}],["64",{"_index":783,"t":{"130":{"position":[[239,2]]},"218":{"position":[[262,3]]},"358":{"position":[[26,3]]}}}],["65000",{"_index":1007,"t":{"174":{"position":[[126,5]]}}}],["68",{"_index":2363,"t":{"544":{"position":[[570,2]]}}}],["7",{"_index":744,"t":{"122":{"position":[[268,3]]},"469":{"position":[[3837,2]]},"544":{"position":[[700,1]]}}}],["71",{"_index":2379,"t":{"544":{"position":[[645,2]]}}}],["72",{"_index":2368,"t":{"544":{"position":[[596,2],[631,2]]}}}],["7640",{"_index":1954,"t":{"465":{"position":[[250,5]]}}}],["8",{"_index":1243,"t":{"218":{"position":[[789,2]]},"402":{"position":[[339,1]]},"452":{"position":[[798,1]]}}}],["8.8.4.4",{"_index":1137,"t":{"196":{"position":[[922,8]]}}}],["8.8.8.8",{"_index":1136,"t":{"196":{"position":[[910,7]]}}}],["8000",{"_index":919,"t":{"154":{"position":[[99,4]]},"220":{"position":[[346,5]]}}}],["8001",{"_index":1252,"t":{"220":{"position":[[909,5]]}}}],["8002",{"_index":1256,"t":{"220":{"position":[[1118,5]]}}}],["8008",{"_index":900,"t":{"146":{"position":[[183,4]]}}}],["83",{"_index":2389,"t":{"544":{"position":[[769,2]]}}}],["84",{"_index":2382,"t":{"544":{"position":[[668,2]]}}}],["85",{"_index":2364,"t":{"544":{"position":[[573,2]]}}}],["8545",{"_index":895,"t":{"142":{"position":[[152,4]]},"176":{"position":[[339,7]]}}}],["86",{"_index":1915,"t":{"452":{"position":[[629,2]]}}}],["8645",{"_index":897,"t":{"144":{"position":[[158,4]]},"222":{"position":[[431,5]]},"292":{"position":[[44,4]]}}}],["8997",{"_index":1965,"t":{"465":{"position":[[809,4]]}}}],["9",{"_index":2414,"t":{"546":{"position":[[2692,1]]}}}],["9.6",{"_index":1924,"t":{"452":{"position":[[817,4]]}}}],["9000",{"_index":903,"t":{"150":{"position":[[117,4]]},"222":{"position":[[1044,5]]},"465":{"position":[[852,5]]}}}],["9000:9000/udp",{"_index":1167,"t":{"208":{"position":[[340,13]]}}}],["93",{"_index":2373,"t":{"544":{"position":[[618,2]]}}}],["95",{"_index":1888,"t":{"450":{"position":[[2141,2]]},"481":{"position":[[1196,3]]}}}],["95%/99",{"_index":1928,"t":{"452":{"position":[[1113,7]]}}}],["99",{"_index":1889,"t":{"450":{"position":[[2147,3]]}}}],["9990",{"_index":2117,"t":{"479":{"position":[[841,4]]}}}],["_nwaku",{"_index":1981,"t":{"467":{"position":[[95,6],[156,6],[258,6],[340,6]]}}}],["abil",{"_index":1375,"t":{"250":{"position":[[579,7]]}}}],["abnorm",{"_index":2131,"t":{"481":{"position":[[437,8]]}}}],["abov",{"_index":1078,"t":{"184":{"position":[[1714,6]]},"284":{"position":[[112,5]]},"408":{"position":[[162,6]]},"481":{"position":[[126,5]]},"546":{"position":[[9,5]]},"554":{"position":[[1073,6]]}}}],["absent",{"_index":2319,"t":{"532":{"position":[[256,6]]}}}],["absolut",{"_index":623,"t":{"99":{"position":[[156,8]]}}}],["abus",{"_index":2312,"t":{"528":{"position":[[1006,7]]}}}],["accept",{"_index":695,"t":{"113":{"position":[[184,7]]},"115":{"position":[[155,7]]},"238":{"position":[[219,8]]},"292":{"position":[[881,8]]},"481":{"position":[[1179,11]]},"484":{"position":[[765,6]]}}}],["access",{"_index":46,"t":{"4":{"position":[[226,6],[494,6]]},"71":{"position":[[304,11]]},"73":{"position":[[82,11]]},"95":{"position":[[1408,6]]},"142":{"position":[[218,6],[284,6]]},"144":{"position":[[300,6],[368,6]]},"156":{"position":[[81,6]]},"208":{"position":[[822,10]]},"222":{"position":[[600,6],[681,6]]},"286":{"position":[[27,6]]},"290":{"position":[[104,6]]},"308":{"position":[[177,9]]},"344":{"position":[[186,9]]},"350":{"position":[[84,6]]},"398":{"position":[[28,7],[111,13]]},"402":{"position":[[64,7],[139,10]]},"406":{"position":[[98,6]]},"544":{"position":[[359,9]]},"548":{"position":[[118,6],[488,6]]},"552":{"position":[[773,11],[845,6],[1007,10]]},"554":{"position":[[451,10],[1163,10]]},"558":{"position":[[563,8],[600,6]]}}}],["accident",{"_index":1490,"t":{"284":{"position":[[393,12]]}}}],["accommod",{"_index":1543,"t":{"304":{"position":[[338,11]]},"380":{"position":[[201,11]]}}}],["accord",{"_index":1571,"t":{"316":{"position":[[303,9]]},"568":{"position":[[1290,10],[1937,10]]}}}],["account",{"_index":391,"t":{"55":{"position":[[58,7]]},"416":{"position":[[752,8]]},"434":{"position":[[429,10],[495,10]]},"479":{"position":[[896,7]]},"481":{"position":[[2246,8]]},"524":{"position":[[269,8]]},"546":{"position":[[858,8],[2206,8]]}}}],["accur",{"_index":2154,"t":{"481":{"position":[[2378,9]]},"554":{"position":[[872,9]]},"558":{"position":[[399,9]]}}}],["accuraci",{"_index":2436,"t":{"552":{"position":[[421,9]]},"554":{"position":[[941,9]]}}}],["achiev",{"_index":1464,"t":{"276":{"position":[[120,7]]},"322":{"position":[[82,7]]},"324":{"position":[[197,8]]},"326":{"position":[[97,8]]},"454":{"position":[[295,9]]}}}],["ack/nack",{"_index":2140,"t":{"481":{"position":[[961,8]]}}}],["acknowledg",{"_index":1557,"t":{"312":{"position":[[138,15],[341,12]]},"352":{"position":[[96,16]]}}}],["act",{"_index":1985,"t":{"467":{"position":[[292,6],[374,6]]},"469":{"position":[[122,4]]},"486":{"position":[[260,4]]},"488":{"position":[[371,4]]},"518":{"position":[[557,4]]},"524":{"position":[[95,4]]},"546":{"position":[[608,6]]}}}],["action",{"_index":1587,"t":{"320":{"position":[[216,7]]},"322":{"position":[[62,7]]},"512":{"position":[[799,7]]},"568":{"position":[[2234,6]]}}}],["activ",{"_index":321,"t":{"40":{"position":[[212,6]]},"42":{"position":[[95,6]]},"276":{"position":[[294,8]]},"322":{"position":[[118,10]]},"422":{"position":[[646,10],[687,10],[780,10]]},"424":{"position":[[209,10]]},"514":{"position":[[278,10]]},"558":{"position":[[524,10],[717,10]]}}}],["actor",{"_index":1590,"t":{"320":{"position":[[340,6]]},"322":{"position":[[47,5],[134,6]]}}}],["actual",{"_index":653,"t":{"99":{"position":[[3030,8]]},"320":{"position":[[333,6]]},"488":{"position":[[362,8]]},"554":{"position":[[695,6]]}}}],["ad",{"_index":220,"t":{"24":{"position":[[246,6]]},"32":{"position":[[421,6]]},"49":{"position":[[119,5]]},"274":{"position":[[274,6]]}}}],["adapt",{"_index":79,"t":{"6":{"position":[[283,8]]},"178":{"position":[[198,8]]},"475":{"position":[[51,10]]}}}],["add",{"_index":159,"t":{"16":{"position":[[129,3]]},"18":{"position":[[134,3]]},"51":{"position":[[150,3]]},"65":{"position":[[75,3]]},"75":{"position":[[103,3]]},"77":{"position":[[104,3]]},"79":{"position":[[458,4],[607,3]]},"93":{"position":[[172,3]]},"130":{"position":[[412,3]]},"178":{"position":[[103,3]]},"180":{"position":[[445,3]]},"274":{"position":[[455,3]]},"477":{"position":[[648,4]]},"486":{"position":[[159,3]]},"490":{"position":[[28,4],[555,3]]},"514":{"position":[[216,4]]},"526":{"position":[[0,3],[184,3]]}}}],["add(new",{"_index":264,"t":{"32":{"position":[[216,8],[267,8],[315,8]]},"184":{"position":[[953,8],[1004,8]]}}}],["addit",{"_index":1466,"t":{"276":{"position":[[312,10]]},"294":{"position":[[587,10]]},"314":{"position":[[267,10]]},"416":{"position":[[3,8]]},"434":{"position":[[381,8]]},"471":{"position":[[1405,10],[1512,10],[1782,10]]},"498":{"position":[[474,8]]}}}],["addition",{"_index":1406,"t":{"258":{"position":[[256,13]]},"392":{"position":[[201,13]]},"434":{"position":[[576,13]]},"440":{"position":[[91,13]]},"512":{"position":[[221,13]]}}}],["addr",{"_index":811,"t":{"132":{"position":[[35,5],[104,5]]}}}],["address",{"_index":66,"t":{"6":{"position":[[92,7]]},"16":{"position":[[1081,7]]},"130":{"position":[[265,7],[306,7],[497,8]]},"132":{"position":[[299,7]]},"134":{"position":[[626,7],[665,7],[753,7],[761,7]]},"142":{"position":[[84,7],[112,7]]},"144":{"position":[[88,7],[116,7]]},"146":{"position":[[105,7],[133,7]]},"150":{"position":[[368,7]]},"214":{"position":[[72,7],[781,7]]},"222":{"position":[[209,7],[239,7],[803,8]]},"230":{"position":[[455,10]]},"238":{"position":[[621,10]]},"240":{"position":[[17,9],[207,9]]},"242":{"position":[[383,7],[494,7]]},"244":{"position":[[28,10],[591,9],[1236,9]]},"252":{"position":[[516,7]]},"298":{"position":[[63,9]]},"358":{"position":[[96,10],[121,9]]},"412":{"position":[[227,7]]},"414":{"position":[[552,8],[623,7],[730,9],[836,7],[895,10],[928,7],[1224,7],[1560,8]]},"518":{"position":[[819,8]]},"520":{"position":[[87,7]]},"550":{"position":[[167,7]]}}}],["address=0.0.0.0",{"_index":1169,"t":{"208":{"position":[[553,15]]}}}],["address=127.0.0.1",{"_index":1271,"t":{"222":{"position":[[1110,17]]}}}],["address=[rest",{"_index":1265,"t":{"222":{"position":[[772,13]]}}}],["adequ",{"_index":1745,"t":{"420":{"position":[[288,8]]}}}],["admin",{"_index":896,"t":{"142":{"position":[[199,5],[237,5]]},"144":{"position":[[281,5],[320,5]]},"222":{"position":[[574,5],[615,5],[1172,5]]}}}],["admin=[true|fals",{"_index":1268,"t":{"222":{"position":[[919,18]]}}}],["admin=tru",{"_index":1273,"t":{"222":{"position":[[1273,10]]}}}],["administ",{"_index":2516,"t":{"568":{"position":[[1227,12]]}}}],["administr",{"_index":2526,"t":{"568":{"position":[[1891,14]]}}}],["adopt",{"_index":8,"t":{"2":{"position":[[93,9]]},"457":{"position":[[423,8]]}}}],["advanc",{"_index":1477,"t":{"278":{"position":[[260,8]]},"292":{"position":[[1058,8]]},"432":{"position":[[122,8]]}}}],["adversari",{"_index":1447,"t":{"270":{"position":[[659,12]]},"322":{"position":[[19,9]]},"324":{"position":[[53,9]]},"434":{"position":[[46,11]]}}}],["advertis",{"_index":801,"t":{"130":{"position":[[596,9]]},"518":{"position":[[107,13],[462,13]]},"522":{"position":[[144,13]]}}}],["advic",{"_index":2445,"t":{"552":{"position":[[1586,6]]}}}],["advis",{"_index":2485,"t":{"560":{"position":[[412,7]]}}}],["affect",{"_index":1762,"t":{"422":{"position":[[668,7],[741,6]]},"473":{"position":[[235,8],[456,8]]},"481":{"position":[[1431,7]]},"490":{"position":[[373,6]]},"570":{"position":[[412,6]]}}}],["africa",{"_index":2385,"t":{"544":{"position":[[684,6]]},"546":{"position":[[2291,6],[2357,6],[2750,6]]}}}],["again",{"_index":2303,"t":{"528":{"position":[[387,6]]}}}],["against",{"_index":1541,"t":{"304":{"position":[[283,7]]},"434":{"position":[[555,7]]},"528":{"position":[[934,7]]},"534":{"position":[[27,7]]},"562":{"position":[[53,7]]},"568":{"position":[[102,7],[2276,7]]}}}],["agent",{"_index":779,"t":{"130":{"position":[[131,5],[155,5]]}}}],["aggreg",{"_index":2486,"t":{"560":{"position":[[474,9]]}}}],["agnost",{"_index":1570,"t":{"316":{"position":[[220,8]]}}}],["agnostic",{"_index":1808,"t":{"442":{"position":[[122,12]]}}}],["agre",{"_index":2422,"t":{"548":{"position":[[359,6],[436,5]]}}}],["agreement",{"_index":2532,"t":{"570":{"position":[[44,9],[155,11]]}}}],["aim",{"_index":373,"t":{"51":{"position":[[10,4]]},"318":{"position":[[177,6]]},"414":{"position":[[3,3]]},"432":{"position":[[3,3]]},"448":{"position":[[338,3]]},"471":{"position":[[11,4],[879,5]]},"475":{"position":[[830,4]]},"540":{"position":[[17,4]]},"554":{"position":[[1205,3]]}}}],["aka",{"_index":1831,"t":{"448":{"position":[[614,3]]}}}],["alert",{"_index":456,"t":{"67":{"position":[[931,7]]}}}],["alic",{"_index":280,"t":{"34":{"position":[[241,8]]},"99":{"position":[[538,5],[995,5],[2887,5],[3058,5],[3231,8],[3293,8]]},"248":{"position":[[36,5],[102,5],[233,6],[240,5],[337,5],[472,6],[479,5],[571,5],[616,5]]},"296":{"position":[[36,5],[95,5],[135,5],[219,6],[226,5],[300,5],[329,5],[390,5]]},"300":{"position":[[0,5]]}}}],["alice'",{"_index":654,"t":{"99":{"position":[[3067,7]]},"300":{"position":[[114,7]]}}}],["aliceprivatekey",{"_index":633,"t":{"99":{"position":[[1007,15],[1329,16],[1624,16]]}}}],["alicepublickey",{"_index":634,"t":{"99":{"position":[[1053,14],[3172,16]]}}}],["align",{"_index":1099,"t":{"184":{"position":[[2309,5]]}}}],["aliv",{"_index":856,"t":{"134":{"position":[[1353,5],[1377,5]]}}}],["allmessag",{"_index":1119,"t":{"190":{"position":[[600,11]]}}}],["alloc",{"_index":1837,"t":{"448":{"position":[[995,9],[1062,8]]},"546":{"position":[[997,8]]}}}],["allow",{"_index":63,"t":{"6":{"position":[[38,8]]},"28":{"position":[[241,6]]},"30":{"position":[[378,6],[559,6]]},"67":{"position":[[433,8]]},"79":{"position":[[304,6]]},"99":{"position":[[424,6]]},"130":{"position":[[737,7],[798,7]]},"176":{"position":[[435,8]]},"200":{"position":[[916,8]]},"214":{"position":[[130,6]]},"216":{"position":[[1484,6]]},"224":{"position":[[217,6]]},"226":{"position":[[218,6]]},"250":{"position":[[77,6],[329,6]]},"256":{"position":[[198,5]]},"266":{"position":[[577,6]]},"270":{"position":[[77,8]]},"272":{"position":[[182,8]]},"276":{"position":[[828,6]]},"286":{"position":[[94,8]]},"308":{"position":[[16,6]]},"312":{"position":[[108,6]]},"316":{"position":[[244,6]]},"340":{"position":[[49,6]]},"348":{"position":[[58,6]]},"368":{"position":[[131,8]]},"374":{"position":[[165,8]]},"388":{"position":[[81,8]]},"442":{"position":[[135,8]]},"450":{"position":[[680,6],[2427,5],[2636,5],[2741,6],[3040,5],[3151,5],[3373,5]]},"452":{"position":[[455,5]]},"454":{"position":[[371,5]]},"479":{"position":[[54,6]]},"484":{"position":[[914,7]]},"494":{"position":[[265,7],[671,5]]}}}],["along",{"_index":752,"t":{"124":{"position":[[51,5]]},"184":{"position":[[1824,5]]},"434":{"position":[[590,5]]}}}],["alongsid",{"_index":136,"t":{"12":{"position":[[331,9]]},"81":{"position":[[1432,9]]},"190":{"position":[[176,9]]},"518":{"position":[[874,9]]}}}],["alreadi",{"_index":9,"t":{"2":{"position":[[118,7]]},"471":{"position":[[835,7]]},"479":{"position":[[219,7]]},"542":{"position":[[1253,7]]}}}],["altern",{"_index":1551,"t":{"308":{"position":[[161,11]]},"344":{"position":[[170,11]]},"414":{"position":[[1971,11]]},"450":{"position":[[1865,12]]},"546":{"position":[[1724,12]]}}}],["although",{"_index":2224,"t":{"502":{"position":[[798,8]]}}}],["altruist",{"_index":2264,"t":{"514":{"position":[[891,15]]}}}],["alway",{"_index":553,"t":{"87":{"position":[[338,6]]},"113":{"position":[[741,6]]},"115":{"position":[[752,6]]},"420":{"position":[[662,6]]},"469":{"position":[[1284,6]]}}}],["amazon",{"_index":1302,"t":{"232":{"position":[[931,6]]}}}],["ambient",{"_index":1475,"t":{"276":{"position":[[1037,7]]}}}],["amend",{"_index":2468,"t":{"554":{"position":[[1347,7]]}}}],["america",{"_index":2358,"t":{"544":{"position":[[548,7],[582,7]]},"546":{"position":[[2684,7],[2702,7]]}}}],["amic",{"_index":2510,"t":{"568":{"position":[[755,8]]}}}],["amongst",{"_index":2058,"t":{"471":{"position":[[1687,7]]}}}],["amount",{"_index":908,"t":{"150":{"position":[[409,6],[500,6]]},"414":{"position":[[403,6]]},"450":{"position":[[655,6],[1542,6],[2920,6]]},"475":{"position":[[651,6]]},"477":{"position":[[899,6]]},"479":{"position":[[331,6],[710,6]]},"518":{"position":[[796,6],[1011,7]]},"524":{"position":[[246,6]]},"528":{"position":[[927,6]]},"540":{"position":[[117,6]]},"542":{"position":[[557,7]]}}}],["analysi",{"_index":1800,"t":{"436":{"position":[[59,8]]},"452":{"position":[[1101,8]]},"471":{"position":[[193,9]]},"542":{"position":[[1219,8]]}}}],["analyt",{"_index":1715,"t":{"414":{"position":[[1821,10],[1867,10],[1955,9],[1993,10],[2061,9],[2162,9]]}}}],["analyz",{"_index":1994,"t":{"469":{"position":[[53,9]]},"538":{"position":[[13,7],[89,7],[245,7]]}}}],["and/or",{"_index":862,"t":{"134":{"position":[[1546,6]]}}}],["android",{"_index":100,"t":{"8":{"position":[[239,9]]}}}],["announc",{"_index":803,"t":{"130":{"position":[[677,8]]},"214":{"position":[[157,9]]},"228":{"position":[[75,8]]}}}],["anonym",{"_index":1443,"t":{"270":{"position":[[187,10],[524,9],[582,9]]},"272":{"position":[[19,9]]},"274":{"position":[[597,9]]},"292":{"position":[[512,9]]},"294":{"position":[[568,10]]},"302":{"position":[[129,9],[251,10]]},"320":{"position":[[205,10]]},"322":{"position":[[0,9],[90,10],[227,9]]},"328":{"position":[[102,9]]},"378":{"position":[[145,10]]}}}],["anoth",{"_index":483,"t":{"73":{"position":[[14,7]]},"97":{"position":[[1556,7]]},"422":{"position":[[509,7]]},"434":{"position":[[72,7]]},"469":{"position":[[171,7]]},"475":{"position":[[796,7]]},"546":{"position":[[1516,7]]}}}],["anyon",{"_index":36,"t":{"4":{"position":[[65,6]]},"250":{"position":[[336,6]]},"542":{"position":[[803,6],[864,6]]},"556":{"position":[[101,6]]}}}],["api",{"_index":102,"t":{"10":{"position":[[31,3],[40,3],[133,3]]},"47":{"position":[[61,4],[124,3],[197,4]]},"55":{"position":[[188,4]]},"142":{"position":[[243,4],[311,4]]},"144":{"position":[[258,3],[326,4],[396,4]]},"208":{"position":[[887,3]]},"222":{"position":[[22,3],[89,4],[158,3],[259,3],[375,3],[502,3],[621,3],[704,3],[1025,3],[1190,3]]},"238":{"position":[[60,4]]},"240":{"position":[[115,4]]},"292":{"position":[[32,3]]}}}],["app",{"_index":107,"t":{"10":{"position":[[160,3],[282,3]]},"79":{"position":[[356,3]]},"81":{"position":[[723,3],[761,3]]},"85":{"position":[[130,3]]},"87":{"position":[[98,3],[207,3],[267,3]]},"89":{"position":[[78,3]]},"182":{"position":[[66,4],[527,4],[729,5]]},"184":{"position":[[349,5],[1693,3]]},"186":{"position":[[261,5]]},"188":{"position":[[252,5]]},"190":{"position":[[299,5]]},"274":{"position":[[252,3]]},"448":{"position":[[1692,4]]},"469":{"position":[[187,3],[369,4],[406,3],[504,3]]}}}],["app%2f2%2fchatroom",{"_index":1512,"t":{"292":{"position":[[813,18]]}}}],["app.css",{"_index":1048,"t":{"184":{"position":[[328,11],[1901,7]]}}}],["app.jsx",{"_index":1037,"t":{"182":{"position":[[655,7]]},"184":{"position":[[88,7]]}}}],["app/0/a/proto",{"_index":1457,"t":{"274":{"position":[[327,14]]}}}],["app/2/chatroom",{"_index":1507,"t":{"292":{"position":[[562,14]]}}}],["appear",{"_index":472,"t":{"69":{"position":[[445,8]]}}}],["appli",{"_index":437,"t":{"67":{"position":[[468,5]]},"91":{"position":[[280,7]]},"410":{"position":[[197,7]]},"416":{"position":[[309,6]]},"469":{"position":[[1877,8],[3432,8]]},"477":{"position":[[1717,7]]},"546":{"position":[[147,5]]},"552":{"position":[[656,5]]},"560":{"position":[[587,5]]}}}],["applic",{"_index":14,"t":{"2":{"position":[[177,13],[277,11]]},"6":{"position":[[432,12],[513,13],[695,12]]},"8":{"position":[[47,13],[178,12],[277,12]]},"30":{"position":[[32,11],[703,12]]},"36":{"position":[[364,11]]},"38":{"position":[[105,12]]},"40":{"position":[[129,12]]},"42":{"position":[[1176,12]]},"44":{"position":[[103,12]]},"53":{"position":[[176,11],[474,13]]},"57":{"position":[[126,13]]},"75":{"position":[[346,13]]},"79":{"position":[[51,11],[276,12]]},"81":{"position":[[87,12],[677,11],[997,11],[1086,11],[1345,11]]},"99":{"position":[[243,11]]},"101":{"position":[[108,12],[403,12]]},"113":{"position":[[564,11]]},"115":{"position":[[679,11]]},"178":{"position":[[241,12]]},"180":{"position":[[88,12]]},"182":{"position":[[144,11]]},"184":{"position":[[1839,11]]},"186":{"position":[[24,12]]},"188":{"position":[[27,12]]},"190":{"position":[[131,11],[1001,11]]},"266":{"position":[[51,13],[113,11],[177,11]]},"272":{"position":[[99,11],[319,12]]},"274":{"position":[[8,11],[730,11]]},"298":{"position":[[5,12]]},"302":{"position":[[74,12],[175,12]]},"314":{"position":[[311,11]]},"336":{"position":[[96,12]]},"348":{"position":[[113,12]]},"362":{"position":[[49,11],[144,12]]},"386":{"position":[[134,13]]},"392":{"position":[[184,11]]},"394":{"position":[[123,11]]},"404":{"position":[[0,12]]},"414":{"position":[[226,10],[1587,11]]},"420":{"position":[[694,10]]},"448":{"position":[[895,12]]},"481":{"position":[[1138,12]]},"546":{"position":[[2542,13]]},"552":{"position":[[697,10],[959,10]]},"556":{"position":[[189,10]]},"560":{"position":[[628,10]]},"568":{"position":[[2017,10]]}}}],["application'",{"_index":254,"t":{"32":{"position":[[12,13]]}}}],["application/json",{"_index":1309,"t":{"238":{"position":[[228,17]]},"292":{"position":[[432,17],[890,17]]}}}],["appreci",{"_index":555,"t":{"89":{"position":[[15,10]]},"469":{"position":[[2353,11]]}}}],["approach",{"_index":531,"t":{"81":{"position":[[1029,8]]},"250":{"position":[[166,8]]},"274":{"position":[[347,8]]},"302":{"position":[[21,9]]},"410":{"position":[[68,8]]},"418":{"position":[[13,9]]},"446":{"position":[[314,8]]},"450":{"position":[[1882,8],[2249,8]]},"454":{"position":[[181,8],[243,8]]},"469":{"position":[[293,9]]},"498":{"position":[[277,8]]},"502":{"position":[[821,10]]},"506":{"position":[[56,10]]},"542":{"position":[[514,9],[672,10]]},"546":{"position":[[789,9]]}}}],["appropri",{"_index":1156,"t":{"204":{"position":[[52,11]]},"414":{"position":[[1362,11]]},"518":{"position":[[784,11]]},"552":{"position":[[806,11]]}}}],["approv",{"_index":575,"t":{"89":{"position":[[516,9]]}}}],["apt",{"_index":950,"t":{"158":{"position":[[197,3]]}}}],["arbitr",{"_index":2498,"t":{"566":{"position":[[102,12]]},"568":{"position":[[260,11],[427,11],[549,11],[1215,11],[1263,11],[1339,11],[1447,8],[1499,11],[1656,11],[1781,11],[1860,12],[1910,10],[1986,12],[2264,11]]}}}],["arch",{"_index":947,"t":{"158":{"position":[[164,4]]}}}],["architectur",{"_index":1539,"t":{"304":{"position":[[33,12]]},"475":{"position":[[128,13]]},"542":{"position":[[733,14],[784,12]]}}}],["archiv",{"_index":1934,"t":{"457":{"position":[[48,9],[229,7]]},"469":{"position":[[754,7],[1760,7]]},"471":{"position":[[473,8]]}}}],["arg",{"_index":1163,"t":{"208":{"position":[[66,8],[189,6]]}}}],["arguabl",{"_index":2292,"t":{"524":{"position":[[1120,8]]}}}],["argument",{"_index":763,"t":{"126":{"position":[[235,8]]},"130":{"position":[[622,8]]},"132":{"position":[[205,8]]},"134":{"position":[[1323,8],[1484,8],[1626,8],[1704,8]]},"148":{"position":[[238,8]]},"150":{"position":[[259,8]]},"208":{"position":[[211,9]]}}}],["aris",{"_index":2484,"t":{"560":{"position":[[251,7]]},"562":{"position":[[130,7]]},"568":{"position":[[690,7]]}}}],["aros",{"_index":2528,"t":{"568":{"position":[[2110,5]]}}}],["around",{"_index":1891,"t":{"450":{"position":[[2186,6]]},"477":{"position":[[871,6]]}}}],["array",{"_index":206,"t":{"22":{"position":[[21,5],[294,5]]},"79":{"position":[[432,7]]}}}],["arriv",{"_index":1421,"t":{"262":{"position":[[901,7]]},"481":{"position":[[1216,8]]}}}],["asia",{"_index":2376,"t":{"544":{"position":[[634,4]]},"546":{"position":[[2727,4]]}}}],["ask",{"_index":1757,"t":{"422":{"position":[[305,3],[381,3],[435,3],[623,5]]}}}],["assign",{"_index":1599,"t":{"324":{"position":[[261,6]]},"502":{"position":[[650,7]]},"508":{"position":[[118,8]]},"528":{"position":[[494,9]]}}}],["assist",{"_index":535,"t":{"83":{"position":[[39,11]]}}}],["associ",{"_index":1680,"t":{"412":{"position":[[152,12],[255,11],[434,12]]},"550":{"position":[[92,12],[196,11],[385,12]]}}}],["assum",{"_index":1855,"t":{"450":{"position":[[304,6],[1938,6]]},"452":{"position":[[509,8],[763,8]]},"477":{"position":[[1840,8]]},"490":{"position":[[422,8]]},"494":{"position":[[446,9],[618,9]]},"520":{"position":[[12,6],[113,7]]}}}],["assumpt",{"_index":1875,"t":{"450":{"position":[[1168,10]]},"546":{"position":[[1790,12]]},"554":{"position":[[118,11]]}}}],["async",{"_index":332,"t":{"42":{"position":[[457,5]]},"115":{"position":[[134,5]]},"184":{"position":[[1111,5]]},"186":{"position":[[418,5]]},"469":{"position":[[3305,5]]}}}],["asynchron",{"_index":1640,"t":{"374":{"position":[[34,12]]},"469":{"position":[[3098,12]]}}}],["atom",{"_index":2261,"t":{"514":{"position":[[340,10],[521,9]]},"524":{"position":[[601,10],[638,9],[660,6],[1064,9]]}}}],["attach",{"_index":620,"t":{"99":{"position":[[75,9]]},"334":{"position":[[28,8]]},"484":{"position":[[705,8]]}}}],["attack",{"_index":1788,"t":{"434":{"position":[[212,6],[455,7],[567,8]]},"450":{"position":[[435,9]]},"492":{"position":[[709,7]]},"528":{"position":[[560,8],[1045,6],[1171,8]]}}}],["attempt",{"_index":461,"t":{"69":{"position":[[0,7]]},"196":{"position":[[739,7]]},"198":{"position":[[873,7]]}}}],["attent",{"_index":1728,"t":{"416":{"position":[[351,9]]}}}],["attorney",{"_index":2493,"t":{"562":{"position":[[113,10]]}}}],["attribut",{"_index":1562,"t":{"314":{"position":[[107,11],[133,9],[180,9],[243,9],[354,9],[444,9]]}}}],["aur",{"_index":965,"t":{"158":{"position":[[469,3],[485,4]]}}}],["authent",{"_index":619,"t":{"99":{"position":[[37,12]]},"326":{"position":[[80,12]]},"396":{"position":[[228,13]]},"400":{"position":[[178,13]]}}}],["author",{"_index":446,"t":{"67":{"position":[[708,9]]}}}],["auto",{"_index":904,"t":{"150":{"position":[[295,4]]},"184":{"position":[[1975,5],[2120,5]]}}}],["automat",{"_index":905,"t":{"150":{"position":[[327,13]]},"402":{"position":[[356,9]]},"508":{"position":[[104,13]]},"514":{"position":[[496,14]]}}}],["avail",{"_index":27,"t":{"2":{"position":[[353,9]]},"99":{"position":[[378,9]]},"124":{"position":[[13,9]]},"156":{"position":[[305,9]]},"164":{"position":[[123,9]]},"176":{"position":[[642,9]]},"190":{"position":[[845,9]]},"206":{"position":[[28,9]]},"230":{"position":[[263,9]]},"234":{"position":[[136,9]]},"276":{"position":[[566,9]]},"310":{"position":[[343,13]]},"326":{"position":[[162,9]]},"382":{"position":[[63,9]]},"448":{"position":[[717,10]]},"506":{"position":[[196,9]]},"542":{"position":[[1527,9]]},"544":{"position":[[98,9],[145,9]]},"552":{"position":[[478,12],[1062,9]]},"556":{"position":[[38,9]]}}}],["averag",{"_index":1723,"t":{"414":{"position":[[2254,7]]},"469":{"position":[[2373,7]]},"471":{"position":[[1753,8]]},"473":{"position":[[339,7]]},"477":{"position":[[2141,7]]},"479":{"position":[[445,7]]},"481":{"position":[[296,7],[1080,7],[2017,8]]},"488":{"position":[[161,7]]},"490":{"position":[[85,7],[394,7]]},"542":{"position":[[80,7]]},"544":{"position":[[54,7],[514,7],[530,7]]},"546":{"position":[[2247,7],[2315,7],[2638,7]]}}}],["avoid",{"_index":356,"t":{"47":{"position":[[45,8]]},"322":{"position":[[101,8]]},"520":{"position":[[192,8]]}}}],["await",{"_index":151,"t":{"14":{"position":[[246,5]]},"16":{"position":[[382,5],[937,5]]},"18":{"position":[[608,5],[920,5]]},"20":{"position":[[629,5]]},"22":{"position":[[200,5],[251,5]]},"26":{"position":[[185,5],[236,5],[309,5]]},"28":{"position":[[189,5],[431,5]]},"34":{"position":[[426,5]]},"36":{"position":[[517,5],[613,5],[765,5]]},"42":{"position":[[207,5],[303,5],[502,5],[750,5],[868,5]]},"95":{"position":[[710,5],[1094,5],[1183,5]]},"97":{"position":[[861,5],[1254,5],[1343,5]]},"99":{"position":[[1769,5],[1829,5],[1887,5],[1943,5],[3307,5]]},"105":{"position":[[185,5],[236,5]]},"107":{"position":[[186,5]]},"113":{"position":[[629,5]]},"115":{"position":[[469,5],[565,5],[632,5]]},"118":{"position":[[428,5]]},"120":{"position":[[537,5],[691,5],[830,5]]},"122":{"position":[[403,5]]},"186":{"position":[[770,5]]},"528":{"position":[[1101,8]]}}}],["award",{"_index":2507,"t":{"568":{"position":[[561,5]]}}}],["away",{"_index":2076,"t":{"477":{"position":[[536,5]]},"481":{"position":[[1957,4]]},"502":{"position":[[253,4]]},"528":{"position":[[626,4]]}}}],["awk",{"_index":1180,"t":{"208":{"position":[[727,3]]}}}],["azur",{"_index":1301,"t":{"232":{"position":[[924,6]]}}}],["b",{"_index":914,"t":{"150":{"position":[[598,1]]},"262":{"position":[[700,1]]},"532":{"position":[[193,2]]}}}],["b452ed8",{"_index":2015,"t":{"469":{"position":[[1807,8]]}}}],["b6dd6899",{"_index":1999,"t":{"469":{"position":[[801,9]]}}}],["baarerstrass",{"_index":1689,"t":{"412":{"position":[[291,13]]},"550":{"position":[[232,13]]}}}],["back",{"_index":2269,"t":{"516":{"position":[[459,4]]},"538":{"position":[[157,4]]}}}],["backbon",{"_index":2254,"t":{"512":{"position":[[138,8]]}}}],["background",{"_index":1094,"t":{"184":{"position":[[2159,10],[2282,10],[2435,10]]}}}],["backup",{"_index":1469,"t":{"276":{"position":[[515,7],[608,7]]}}}],["backward",{"_index":716,"t":{"118":{"position":[[79,8]]},"134":{"position":[[1172,9]]}}}],["badli",{"_index":2220,"t":{"502":{"position":[[426,6]]}}}],["balanc",{"_index":376,"t":{"51":{"position":[[70,7]]},"302":{"position":[[235,7]]}}}],["ban",{"_index":2311,"t":{"528":{"position":[[971,3],[1126,3]]}}}],["band",{"_index":604,"t":{"95":{"position":[[1321,4]]},"97":{"position":[[1475,4]]},"99":{"position":[[3128,4]]},"360":{"position":[[7,4]]}}}],["bandwidth",{"_index":848,"t":{"134":{"position":[[1136,9]]},"260":{"position":[[103,9],[278,10],[355,9]]},"308":{"position":[[253,10],[300,9]]},"312":{"position":[[65,9]]},"382":{"position":[[94,10]]},"402":{"position":[[959,9]]},"446":{"position":[[62,9]]},"448":{"position":[[94,10],[141,10],[465,9],[642,9],[982,9],[1041,9],[1126,9],[1652,9],[1765,10],[1817,10]]},"450":{"position":[[852,9],[1463,9],[2089,10],[2166,9]]},"452":{"position":[[895,10],[1144,9]]},"454":{"position":[[31,9],[310,9]]},"473":{"position":[[115,9]]},"477":{"position":[[294,9],[1541,10],[1566,9],[1598,10]]},"481":{"position":[[605,11],[2079,9],[2156,9]]},"506":{"position":[[186,9]]},"540":{"position":[[41,9]]},"542":{"position":[[592,10],[935,9],[1054,9],[1414,9],[1537,9],[1597,9]]},"544":{"position":[[62,9],[301,9],[402,9],[814,9]]},"546":{"position":[[77,9],[282,9],[359,10],[550,10],[888,9],[957,9],[1012,9],[1162,9],[1258,9],[1331,9],[1400,9],[1620,9],[1850,10],[1963,10],[2010,9],[2392,9],[2503,10],[2646,9]]}}}],["bandwidth/hardwar",{"_index":2332,"t":{"542":{"position":[[420,18]]}}}],["barrier",{"_index":2025,"t":{"469":{"position":[[3556,8]]}}}],["base",{"_index":43,"t":{"4":{"position":[[171,5],[439,5]]},"57":{"position":[[44,5]]},"158":{"position":[[501,4]]},"230":{"position":[[224,5]]},"270":{"position":[[415,5]]},"274":{"position":[[541,5]]},"276":{"position":[[888,5]]},"314":{"position":[[155,5]]},"324":{"position":[[296,5]]},"334":{"position":[[131,5]]},"378":{"position":[[44,5]]},"402":{"position":[[382,5],[713,5]]},"422":{"position":[[707,5]]},"469":{"position":[[511,5]]},"481":{"position":[[952,5]]},"502":{"position":[[538,5]]},"506":{"position":[[50,5]]},"514":{"position":[[169,5],[698,5]]},"518":{"position":[[409,5],[719,5]]},"554":{"position":[[65,5],[590,5]]}}}],["base32",{"_index":1129,"t":{"196":{"position":[[297,6]]}}}],["base64",{"_index":1502,"t":{"292":{"position":[[335,7],[530,10]]}}}],["bash",{"_index":939,"t":{"158":{"position":[[89,5]]}}}],["basi",{"_index":1694,"t":{"414":{"position":[[205,5],[1621,5]]},"528":{"position":[[899,6]]},"552":{"position":[[44,5],[1177,5]]}}}],["batteri",{"_index":1648,"t":{"382":{"position":[[128,7]]}}}],["be",{"_index":318,"t":{"40":{"position":[[106,5]]},"182":{"position":[[966,5]]},"250":{"position":[[808,5]]},"266":{"position":[[492,5]]},"324":{"position":[[375,5]]},"328":{"position":[[453,5]]},"444":{"position":[[80,5]]},"448":{"position":[[908,5],[1259,5]]},"450":{"position":[[2893,5]]},"469":{"position":[[47,5],[3613,5]]},"477":{"position":[[115,5]]},"568":{"position":[[1364,5]]}}}],["bear",{"_index":2463,"t":{"554":{"position":[[910,4]]}}}],["becom",{"_index":1471,"t":{"276":{"position":[[639,6]]},"448":{"position":[[1550,8]]}}}],["befor",{"_index":389,"t":{"55":{"position":[[0,6]]},"99":{"position":[[492,6],[1382,6],[1677,6]]},"212":{"position":[[66,6]]},"236":{"position":[[66,6]]},"422":{"position":[[791,6]]},"506":{"position":[[292,6]]},"524":{"position":[[364,6]]},"528":{"position":[[270,6]]},"548":{"position":[[285,6]]}}}],["begin",{"_index":329,"t":{"42":{"position":[[117,6]]},"120":{"position":[[1007,9]]},"242":{"position":[[28,6]]},"244":{"position":[[204,6],[853,6]]},"448":{"position":[[19,5]]},"481":{"position":[[891,10]]}}}],["behav",{"_index":1961,"t":{"465":{"position":[[553,7]]},"502":{"position":[[343,7],[418,7]]}}}],["behaviour",{"_index":1600,"t":{"324":{"position":[[311,9]]},"498":{"position":[[204,10]]},"514":{"position":[[374,10],[446,9]]}}}],["behind",{"_index":1171,"t":{"208":{"position":[[617,6]]}}}],["believ",{"_index":1768,"t":{"422":{"position":[[978,7]]},"558":{"position":[[338,8]]},"568":{"position":[[294,7]]}}}],["below",{"_index":997,"t":{"168":{"position":[[290,5]]},"469":{"position":[[3540,5],[3776,5]]},"518":{"position":[[623,7]]},"528":{"position":[[340,5]]},"544":{"position":[[222,5]]}}}],["benchmark",{"_index":1802,"t":{"436":{"position":[[162,11],[225,10]]},"484":{"position":[[216,10]]}}}],["beneficiary'",{"_index":1611,"t":{"328":{"position":[[300,13]]}}}],["benefit",{"_index":383,"t":{"53":{"position":[[192,7]]},"310":{"position":[[147,8]]},"469":{"position":[[3052,7]]},"502":{"position":[[490,9]]},"514":{"position":[[387,7]]}}}],["besid",{"_index":1622,"t":{"342":{"position":[[145,7]]},"490":{"position":[[261,7]]}}}],["best",{"_index":2144,"t":{"481":{"position":[[1283,4],[1809,4]]}}}],["best/worst",{"_index":2125,"t":{"481":{"position":[[238,10]]}}}],["better",{"_index":365,"t":{"47":{"position":[[234,6]]},"448":{"position":[[111,6]]},"452":{"position":[[943,6]]},"454":{"position":[[236,6]]},"465":{"position":[[561,6]]},"467":{"position":[[737,7]]},"469":{"position":[[1159,6],[1479,7],[3020,6],[3176,6]]}}}],["between",{"_index":377,"t":{"51":{"position":[[78,7]]},"79":{"position":[[244,7],[332,7]]},"95":{"position":[[1278,7]]},"262":{"position":[[47,7]]},"302":{"position":[[243,7]]},"316":{"position":[[79,7]]},"362":{"position":[[117,7]]},"390":{"position":[[64,7]]},"438":{"position":[[85,7],[134,7]]},"450":{"position":[[2834,7]]},"463":{"position":[[81,7]]},"477":{"position":[[1384,7],[2044,7]]},"484":{"position":[[173,7]]},"546":{"position":[[2587,7]]},"566":{"position":[[62,7]]},"568":{"position":[[1714,7]]},"570":{"position":[[54,7]]}}}],["beyond",{"_index":2149,"t":{"481":{"position":[[1767,7]]},"514":{"position":[[845,6]]}}}],["big",{"_index":2088,"t":{"477":{"position":[[1635,3]]},"481":{"position":[[779,3],[1595,3],[1679,3]]}}}],["bigger",{"_index":1906,"t":{"452":{"position":[[30,6]]},"469":{"position":[[1681,6]]},"477":{"position":[[1479,6]]}}}],["biggest",{"_index":2153,"t":{"481":{"position":[[2309,7]]}}}],["binari",{"_index":928,"t":{"156":{"position":[[223,6]]},"162":{"position":[[16,7]]},"164":{"position":[[32,6]]},"166":{"position":[[89,6]]},"170":{"position":[[168,6]]},"172":{"position":[[215,6]]},"232":{"position":[[39,7],[463,7],[509,6],[539,6],[579,6],[653,8],[697,7],[841,8]]},"234":{"position":[[31,7]]}}}],["binaries.yml",{"_index":2001,"t":{"469":{"position":[[879,12],[1954,12]]}}}],["bind",{"_index":86,"t":{"6":{"position":[[538,8],[617,8],[653,8]]},"8":{"position":[[159,8],[257,8]]},"186":{"position":[[272,4]]},"552":{"position":[[1214,7]]}}}],["bit",{"_index":911,"t":{"150":{"position":[[572,4]]},"450":{"position":[[2945,3]]},"490":{"position":[[222,4]]}}}],["bitcoin",{"_index":2233,"t":{"508":{"position":[[0,7]]},"510":{"position":[[5,7]]}}}],["bittorr",{"_index":2229,"t":{"506":{"position":[[106,10]]}}}],["block",{"_index":1045,"t":{"184":{"position":[[125,6],[1938,6]]},"250":{"position":[[732,7]]},"298":{"position":[[270,7]]},"469":{"position":[[1246,8],[3361,5]]},"494":{"position":[[490,5],[510,6]]},"508":{"position":[[160,7],[220,6],[234,5],[510,6]]}}}],["blockchain",{"_index":1619,"t":{"336":{"position":[[113,10]]},"346":{"position":[[120,10]]},"484":{"position":[[845,11]]},"494":{"position":[[54,10]]},"504":{"position":[[74,12]]},"510":{"position":[[158,10]]},"514":{"position":[[398,11],[783,12]]},"520":{"position":[[76,10]]}}}],["blog",{"_index":1549,"t":{"306":{"position":[[350,4]]},"432":{"position":[[320,4]]}}}],["bob",{"_index":647,"t":{"99":{"position":[[2165,3],[2477,3]]},"248":{"position":[[142,3],[185,3]]},"296":{"position":[[107,3],[175,4],[180,3],[368,3]]},"300":{"position":[[35,3]]}}}],["bob'",{"_index":1353,"t":{"248":{"position":[[52,5]]},"296":{"position":[[52,5]]}}}],["bobprivatekey",{"_index":650,"t":{"99":{"position":[[2487,13],[2660,14]]}}}],["bodi",{"_index":1062,"t":{"184":{"position":[[1217,6],[2087,4]]}}}],["boilerpl",{"_index":1021,"t":{"180":{"position":[[134,11]]}}}],["boot",{"_index":1226,"t":{"218":{"position":[[44,5]]}}}],["bootstrap",{"_index":110,"t":{"10":{"position":[[179,9]]},"12":{"position":[[38,9],[170,9]]},"14":{"position":[[42,13],[183,9],[216,9]]},"16":{"position":[[3,9],[165,11],[220,9],[294,9],[335,9],[433,11],[680,9],[886,9],[988,11]]},"18":{"position":[[3,9],[560,9],[872,9]]},"20":{"position":[[13,9],[140,9],[281,9],[581,9],[680,11]]},"26":{"position":[[400,12],[431,9],[468,9],[534,9]]},"81":{"position":[[776,9],[845,9],[893,9]]},"85":{"position":[[38,9]]},"150":{"position":[[170,9],[206,9]]},"198":{"position":[[150,9],[195,9],[258,9],[332,9],[359,9],[389,9],[416,9],[494,10],[598,9],[884,9]]},"200":{"position":[[214,9],[645,13]]},"212":{"position":[[37,9]]},"236":{"position":[[37,9],[201,9],[323,9]]},"246":{"position":[[295,9]]},"250":{"position":[[308,13],[487,9]]},"276":{"position":[[231,14]]},"296":{"position":[[372,10]]},"298":{"position":[[48,9]]},"332":{"position":[[0,13]]},"368":{"position":[[148,9]]}}}],["border",{"_index":1085,"t":{"184":{"position":[[2055,7],[2363,6],[2462,6]]}}}],["both",{"_index":138,"t":{"12":{"position":[[483,4]]},"63":{"position":[[176,4]]},"81":{"position":[[1584,4]]},"99":{"position":[[917,4]]},"190":{"position":[[549,4]]},"450":{"position":[[1742,4]]},"465":{"position":[[486,4],[861,4],[1420,4]]},"467":{"position":[[197,4]]},"469":{"position":[[2985,4]]},"536":{"position":[[118,4]]},"570":{"position":[[199,4]]}}}],["bottleneck",{"_index":1977,"t":{"465":{"position":[[1319,10]]},"481":{"position":[[2317,11]]}}}],["bottom",{"_index":1098,"t":{"184":{"position":[[2221,7]]}}}],["bounc",{"_index":1722,"t":{"414":{"position":[[2237,6]]}}}],["bound",{"_index":2423,"t":{"548":{"position":[[372,5]]},"568":{"position":[[404,5]]}}}],["boundari",{"_index":1850,"t":{"448":{"position":[[1629,8]]}}}],["bounti",{"_index":576,"t":{"89":{"position":[[545,8],[654,6]]}}}],["box",{"_index":1668,"t":{"404":{"position":[[165,3]]},"442":{"position":[[211,3]]},"481":{"position":[[264,3]]}}}],["branch",{"_index":982,"t":{"160":{"position":[[60,6]]},"252":{"position":[[252,6],[418,7]]},"479":{"position":[[136,7]]}}}],["break",{"_index":1433,"t":{"266":{"position":[[292,8]]},"432":{"position":[[260,5]]}}}],["brew",{"_index":969,"t":{"158":{"position":[[595,4]]}}}],["briefli",{"_index":1697,"t":{"414":{"position":[[599,7]]}}}],["bring",{"_index":1992,"t":{"467":{"position":[[635,6]]},"502":{"position":[[474,6]]},"514":{"position":[[49,6]]},"568":{"position":[[2061,5]]}}}],["broadcast",{"_index":249,"t":{"30":{"position":[[731,12]]},"97":{"position":[[1452,12]]},"99":{"position":[[3105,12]]},"134":{"position":[[857,12]]}}}],["broadest",{"_index":2500,"t":{"568":{"position":[[34,8]]}}}],["browser",{"_index":72,"t":{"6":{"position":[[206,7]]},"44":{"position":[[54,7]]},"47":{"position":[[22,7],[116,7],[189,7]]},"51":{"position":[[50,8],[86,7]]},"53":{"position":[[47,8],[150,8],[435,7]]},"59":{"position":[[119,7]]},"65":{"position":[[129,9]]},"67":{"position":[[166,9],[204,8],[802,8]]},"75":{"position":[[258,7]]},"214":{"position":[[390,7]]},"220":{"position":[[39,7],[116,7]]},"238":{"position":[[801,7]]},"246":{"position":[[688,9]]},"256":{"position":[[338,9]]},"316":{"position":[[552,7],[692,8]]},"354":{"position":[[179,8]]}}}],["browser'",{"_index":386,"t":{"53":{"position":[[287,9]]},"65":{"position":[[27,9]]},"67":{"position":[[974,9]]}}}],["bucket",{"_index":910,"t":{"150":{"position":[[474,6],[557,7]]},"270":{"position":[[400,7]]},"274":{"position":[[175,7]]}}}],["buffer",{"_index":500,"t":{"79":{"position":[[78,7]]},"266":{"position":[[476,7],[870,7]]},"272":{"position":[[275,6]]}}}],["bug",{"_index":539,"t":{"83":{"position":[[178,4]]}}}],["build",{"_index":81,"t":{"6":{"position":[[341,5]]},"81":{"position":[[81,5],[556,5]]},"156":{"position":[[38,5],[283,5]]},"158":{"position":[[3,5],[213,5]]},"162":{"position":[[0,5]]},"164":{"position":[[46,8]]},"184":{"position":[[6,5]]},"202":{"position":[[38,5]]},"206":{"position":[[198,5],[329,5]]},"230":{"position":[[332,6]]},"232":{"position":[[687,5],[731,5],[749,5],[791,5]]},"348":{"position":[[79,5]]},"400":{"position":[[69,5]]},"404":{"position":[[29,5]]}}}],["build/wakunode2",{"_index":994,"t":{"164":{"position":[[99,17],[154,17]]},"170":{"position":[[181,17]]},"172":{"position":[[280,17]]},"174":{"position":[[278,17],[485,17]]},"176":{"position":[[598,17]]},"194":{"position":[[174,17],[399,17]]},"196":{"position":[[522,17],[931,17]]},"198":{"position":[[277,17],[543,17]]},"200":{"position":[[270,17],[587,17],[678,17]]},"214":{"position":[[203,17],[339,17]]},"216":{"position":[[993,17],[1282,17],[1573,17],[1737,17]]},"218":{"position":[[173,17],[1030,17]]},"220":{"position":[[561,17],[915,17],[1124,17]]},"222":{"position":[[731,17],[1050,17],[1232,17]]},"224":{"position":[[88,17],[286,17],[517,17]]},"226":{"position":[[99,17],[289,17],[444,17]]},"228":{"position":[[217,17]]},"234":{"position":[[112,17],[167,17]]}}}],["built",{"_index":140,"t":{"14":{"position":[[33,5]]},"166":{"position":[[73,5]]},"208":{"position":[[175,5],[940,5]]},"250":{"position":[[0,5]]},"402":{"position":[[906,5]]},"438":{"position":[[14,5]]}}}],["bunch",{"_index":2021,"t":{"469":{"position":[[3296,5]]}}}],["bundl",{"_index":358,"t":{"47":{"position":[[78,9]]}}}],["burst",{"_index":1872,"t":{"450":{"position":[[1078,5]]},"452":{"position":[[77,7]]}}}],["busi",{"_index":1635,"t":{"362":{"position":[[82,8]]},"469":{"position":[[3709,4]]}}}],["button",{"_index":1075,"t":{"184":{"position":[[1588,7],[1612,7],[2426,6]]}}}],["buy",{"_index":2447,"t":{"552":{"position":[[1694,3],[1734,3]]}}}],["byte",{"_index":516,"t":{"79":{"position":[[427,4]]},"196":{"position":[[334,4]]},"218":{"position":[[354,4],[533,4],[715,4]]},"270":{"position":[[436,5]]},"274":{"position":[[291,4],[470,5]]},"450":{"position":[[1694,5]]},"484":{"position":[[665,6]]}}}],["bytes/sec",{"_index":852,"t":{"134":{"position":[[1212,9]]}}}],["bytestohex",{"_index":667,"t":{"101":{"position":[[462,11]]}}}],["bytestohex(privatekey",{"_index":673,"t":{"101":{"position":[[757,23]]}}}],["bytestohex(symmetrickey",{"_index":671,"t":{"101":{"position":[[709,25]]}}}],["c",{"_index":85,"t":{"6":{"position":[[536,1]]},"158":{"position":[[67,1]]},"218":{"position":[[787,1],[800,1],[814,1]]},"262":{"position":[[840,2]]}}}],["c#/uniti",{"_index":89,"t":{"6":{"position":[[567,9]]}}}],["c.wakuv2.prod.statusim.net/tcp/30303/p2p/16uiu2ham4v86w3bmt1bih6ospzcssr24idqpsn5qa992bcjjwgrd",{"_index":1225,"t":{"216":{"position":[[1796,94]]},"224":{"position":[[579,94]]},"226":{"position":[[507,94]]}}}],["c/c",{"_index":88,"t":{"6":{"position":[[560,6]]}}}],["c/o",{"_index":1685,"t":{"412":{"position":[[267,3]]},"550":{"position":[[208,3]]}}}],["c078075",{"_index":2002,"t":{"469":{"position":[[913,7],[1988,7]]}}}],["ca",{"_index":447,"t":{"67":{"position":[[718,5]]}}}],["cach",{"_index":898,"t":{"144":{"position":[[213,5],[270,5]]},"216":{"position":[[18,7]]},"222":{"position":[[448,5],[514,6],[870,5],[894,5],[1209,5],[1321,5]]}}}],["calcul",{"_index":2080,"t":{"477":{"position":[[966,10],[1932,9]]},"488":{"position":[[194,9]]},"518":{"position":[[89,11],[394,11],[698,10]]},"522":{"position":[[73,11]]}}}],["calendar",{"_index":2515,"t":{"568":{"position":[[1073,8]]}}}],["call",{"_index":632,"t":{"99":{"position":[[964,4],[2444,4]]},"172":{"position":[[232,6]]},"240":{"position":[[68,7]]},"266":{"position":[[551,6]]},"450":{"position":[[2391,7]]},"471":{"position":[[564,7]]}}}],["callback",{"_index":288,"t":{"36":{"position":[[56,8],[186,8],[210,8],[653,10]]},"42":{"position":[[343,10],[790,10]]},"95":{"position":[[1134,10],[1236,10]]},"97":{"position":[[1294,10],[1396,10]]},"99":{"position":[[1818,10],[1932,10],[2693,8],[2745,8],[3347,10]]},"113":{"position":[[162,8],[319,9],[333,8],[472,8],[496,8],[683,9]]},"118":{"position":[[481,9]]},"120":{"position":[[228,8],[273,8],[591,9],[884,9]]},"122":{"position":[[456,9]]}}}],["can't",{"_index":1835,"t":{"448":{"position":[[961,5]]},"450":{"position":[[420,5]]},"546":{"position":[[981,5],[1202,5],[1831,5]]}}}],["candid",{"_index":984,"t":{"160":{"position":[[90,9]]}}}],["cap",{"_index":1814,"t":{"446":{"position":[[55,6]]},"448":{"position":[[132,8],[244,7],[269,6],[618,7]]},"450":{"position":[[578,3],[607,3],[647,3],[1447,3],[1756,3],[2082,6]]},"454":{"position":[[24,6]]}}}],["capabl",{"_index":11,"t":{"2":{"position":[[144,12]]},"276":{"position":[[718,13],[771,13],[909,13]]},"316":{"position":[[897,12]]},"457":{"position":[[34,10]]}}}],["capac",{"_index":808,"t":{"130":{"position":[[839,8]]},"136":{"position":[[241,8]]},"144":{"position":[[219,8],[231,8]]},"216":{"position":[[431,8]]},"222":{"position":[[454,8],[475,8],[900,9],[1215,8]]},"434":{"position":[[95,8]]}}}],["capacity:25000",{"_index":1202,"t":{"216":{"position":[[490,15]]}}}],["capacity:@waku",{"_index":1060,"t":{"184":{"position":[[1171,8]]}}}],["hammer",{"_index":2051,"t":{"471":{"position":[[869,6],[1455,6],[1562,6],[1833,6]]}}}],["hand",{"_index":1996,"t":{"469":{"position":[[157,5]]},"490":{"position":[[13,5]]}}}],["handl",{"_index":314,"t":{"38":{"position":[[70,6]]},"42":{"position":[[1141,6]]},"61":{"position":[[124,6]]},"71":{"position":[[74,6]]},"81":{"position":[[1310,6]]},"101":{"position":[[196,8]]}}}],["handleinputchang",{"_index":1054,"t":{"184":{"position":[[522,17]]}}}],["happen",{"_index":601,"t":{"95":{"position":[[1296,6]]},"134":{"position":[[1264,6]]},"450":{"position":[[1322,7]]},"469":{"position":[[3406,7]]}}}],["hard",{"_index":1531,"t":{"300":{"position":[[96,5]]}}}],["hardcod",{"_index":626,"t":{"99":{"position":[[325,9]]}}}],["harm",{"_index":2473,"t":{"558":{"position":[[423,8]]}}}],["harmless",{"_index":2492,"t":{"562":{"position":[[35,8]]}}}],["harry'",{"_index":1361,"t":{"248":{"position":[[456,7],[531,7]]}}}],["hash",{"_index":1336,"t":{"246":{"position":[[109,4]]},"252":{"position":[[139,4],[291,6]]},"270":{"position":[[460,6]]},"274":{"position":[[186,7],[669,4],[802,4]]},"338":{"position":[[57,4]]},"370":{"position":[[95,4]]},"524":{"position":[[83,4]]}}}],["have",{"_index":1867,"t":{"450":{"position":[[824,6],[2868,6]]},"471":{"position":[[49,6]]},"506":{"position":[[299,6]]}}}],["haven't",{"_index":2342,"t":{"542":{"position":[[1442,7]]}}}],["hd",{"_index":2390,"t":{"544":{"position":[[824,2],[839,2]]},"546":{"position":[[2600,2]]}}}],["head",{"_index":583,"t":{"89":{"position":[[670,4]]},"218":{"position":[[794,4]]},"570":{"position":[[268,8]]}}}],["header",{"_index":1308,"t":{"238":{"position":[[212,6]]},"292":{"position":[[410,6],[874,6]]}}}],["heard",{"_index":2505,"t":{"568":{"position":[[495,5]]}}}],["heavi",{"_index":1455,"t":{"274":{"position":[[138,5]]}}}],["height",{"_index":1083,"t":{"184":{"position":[[2040,7]]}}}],["hel1.wakudev.misc",{"_index":2052,"t":{"471":{"position":[[1090,18]]}}}],["hel1.wakudev.misc.statusim.net",{"_index":2007,"t":{"469":{"position":[[960,32],[2035,32]]}}}],["held",{"_index":2475,"t":{"560":{"position":[[15,4]]},"568":{"position":[[1519,4]]},"570":{"position":[[532,4]]}}}],["hello",{"_index":281,"t":{"34":{"position":[[259,7]]},"292":{"position":[[485,6]]}}}],["help",{"_index":406,"t":{"61":{"position":[[59,8],[150,4]]},"83":{"position":[[335,4]]},"99":{"position":[[16,5]]},"164":{"position":[[174,4]]},"176":{"position":[[592,5],[618,4]]},"234":{"position":[[187,4]]},"266":{"position":[[280,5]]},"308":{"position":[[285,5]]},"316":{"position":[[11,4]]},"454":{"position":[[289,5]]},"459":{"position":[[276,4]]},"479":{"position":[[268,5]]},"532":{"position":[[131,5]]}}}],["helper",{"_index":966,"t":{"158":{"position":[[473,6],[490,7]]}}}],["henc",{"_index":2399,"t":{"546":{"position":[[1314,5]]}}}],["here",{"_index":399,"t":{"57":{"position":[[179,5]]},"65":{"position":[[94,4]]},"120":{"position":[[376,5]]},"124":{"position":[[0,4]]},"262":{"position":[[0,4]]},"266":{"position":[[0,4]]},"268":{"position":[[85,4]]},"302":{"position":[[288,4]]},"414":{"position":[[1908,5]]},"434":{"position":[[247,5],[724,5],[869,5]]},"481":{"position":[[340,5],[1031,5]]},"544":{"position":[[155,4]]}}}],["herein",{"_index":2441,"t":{"552":{"position":[[994,6],[1257,6],[1493,7],[1527,6]]},"554":{"position":[[825,6],[1004,7]]},"568":{"position":[[1422,6]]}}}],["hesit",{"_index":541,"t":{"83":{"position":[[223,8]]}}}],["hex",{"_index":785,"t":{"130":{"position":[[247,3]]},"134":{"position":[[516,3],[594,3]]},"218":{"position":[[271,3],[359,3],[385,3],[553,3]]},"358":{"position":[[35,3]]}}}],["hexadecim",{"_index":666,"t":{"101":{"position":[[372,11],[666,11],[806,11]]}}}],["hextobyt",{"_index":668,"t":{"101":{"position":[[474,10]]}}}],["hextobytes(privatekeyhex",{"_index":678,"t":{"101":{"position":[[910,26]]}}}],["hextobytes(symmetrickeyhex",{"_index":676,"t":{"101":{"position":[[854,28]]}}}],["hide",{"_index":1446,"t":{"270":{"position":[[624,4]]},"400":{"position":[[240,6]]}}}],["high",{"_index":1153,"t":{"200":{"position":[[1071,4]]},"272":{"position":[[345,4]]},"450":{"position":[[3001,4]]},"477":{"position":[[59,4]]},"481":{"position":[[711,4]]},"488":{"position":[[461,4]]},"502":{"position":[[458,4]]},"554":{"position":[[500,4],[1027,4]]}}}],["higher",{"_index":1832,"t":{"448":{"position":[[687,6]]},"465":{"position":[[967,6]]},"467":{"position":[[644,6]]},"477":{"position":[[227,6],[272,6]]}}}],["highli",{"_index":543,"t":{"83":{"position":[[312,6]]},"230":{"position":[[139,6]]},"266":{"position":[[838,6]]}}}],["hinder",{"_index":1902,"t":{"450":{"position":[[2978,7]]}}}],["histor",{"_index":525,"t":{"81":{"position":[[357,10]]},"103":{"position":[[87,10]]},"111":{"position":[[121,10]]},"122":{"position":[[791,10]]},"176":{"position":[[466,10]]},"216":{"position":[[1519,10],[1716,10]]},"260":{"position":[[195,10]]},"264":{"position":[[192,10]]},"402":{"position":[[456,10]]},"494":{"position":[[587,10]]},"498":{"position":[[423,10]]},"516":{"position":[[44,8]]}}}],["histori",{"_index":733,"t":{"120":{"position":[[1031,8]]},"457":{"position":[[154,7]]},"518":{"position":[[755,8]]},"520":{"position":[[48,8]]},"532":{"position":[[229,8]]}}}],["historyqueri",{"_index":2265,"t":{"516":{"position":[[104,12]]},"518":{"position":[[847,12]]}}}],["historyrespons",{"_index":2266,"t":{"516":{"position":[[151,15]]},"518":{"position":[[1038,15]]}}}],["hold",{"_index":2491,"t":{"562":{"position":[[27,4]]}}}],["home/.cargo/env",{"_index":960,"t":{"158":{"position":[[313,18]]}}}],["homebrew",{"_index":948,"t":{"158":{"position":[[181,10]]}}}],["hongkong",{"_index":1224,"t":{"216":{"position":[[1787,8]]},"224":{"position":[[570,8]]},"226":{"position":[[498,8]]}}}],["honour",{"_index":2301,"t":{"528":{"position":[[199,7]]}}}],["hood",{"_index":1497,"t":{"288":{"position":[[140,5]]},"402":{"position":[[622,5]]}}}],["hop",{"_index":912,"t":{"150":{"position":[[581,3],[628,4]]},"475":{"position":[[614,4],[661,4]]},"477":{"position":[[175,4],[242,5],[473,4],[608,4],[644,3],[909,4],[1148,4],[1308,4],[1352,4],[1876,4]]},"481":{"position":[[1368,3],[1953,3]]},"490":{"position":[[518,5]]}}}],["hopr",{"_index":2289,"t":{"524":{"position":[[688,6]]}}}],["host",{"_index":169,"t":{"16":{"position":[[567,4]]},"194":{"position":[[347,4]]},"200":{"position":[[521,4]]},"208":{"position":[[850,4]]},"336":{"position":[[56,7]]},"414":{"position":[[1263,6]]}}}],["host]:[websocket",{"_index":467,"t":{"69":{"position":[[142,16]]}}}],["hour",{"_index":882,"t":{"138":{"position":[[171,5]]},"216":{"position":[[701,7],[1274,7]]},"224":{"position":[[509,7],[779,7]]},"518":{"position":[[747,4]]},"520":{"position":[[40,4]]}}}],["http",{"_index":433,"t":{"67":{"position":[[350,8],[612,5]]},"144":{"position":[[59,4],[136,4],[190,4],[315,4],[383,4]]},"146":{"position":[[198,4]]},"158":{"position":[[256,8],[397,8],[545,8]]}}}],["http://127.0.0.1:8645/debug/v1/info",{"_index":1307,"t":{"238":{"position":[[170,37]]},"292":{"position":[[184,37]]}}}],["http://127.0.0.1:8645/debug/v1/vers",{"_index":1501,"t":{"292":{"position":[[110,40]]}}}],["http://127.0.0.1:8645/relay/v1/auto/messag",{"_index":1503,"t":{"292":{"position":[[359,46]]}}}],["http://127.0.0.1:8645/store/v1/messages?contenttopics=%2fmi",{"_index":1511,"t":{"292":{"position":[[752,60]]}}}],["http://localhost:3000/d/yns_4vfvk/nwaku",{"_index":1498,"t":{"290":{"position":[[6,39]]}}}],["https://cdn.jsdelivr.net/npm/protobufjs@latest/dist/protobuf.min.j",{"_index":520,"t":{"79":{"position":[[735,70]]}}}],["https://examples.waku.org/rln",{"_index":1782,"t":{"432":{"position":[[391,29]]}}}],["https://github.com/spacejam/sl",{"_index":847,"t":{"134":{"position":[[1091,34]]}}}],["https://github.com/vacp2p/research/issues/148",{"_index":1604,"t":{"324":{"position":[[476,46]]},"434":{"position":[[253,46]]}}}],["https://github.com/waku",{"_index":400,"t":{"57":{"position":[[185,23]]},"89":{"position":[[678,23]]},"160":{"position":[[129,23]]},"206":{"position":[[284,23]]},"282":{"position":[[10,23]]},"434":{"position":[[875,23]]},"457":{"position":[[459,23]]},"461":{"position":[[0,23],[42,23]]},"463":{"position":[[122,23]]},"471":{"position":[[1141,23],[1264,23]]},"479":{"position":[[962,23]]},"522":{"position":[[21,23],[91,23],[164,23],[235,23]]},"526":{"position":[[31,23],[137,23],[225,23],[321,23]]},"530":{"position":[[70,23],[141,23]]},"534":{"position":[[52,23],[145,23]]},"538":{"position":[[42,23],[198,23],[362,23],[504,23]]},"540":{"position":[[172,23]]},"542":{"position":[[1080,23],[1169,23],[1321,23]]},"546":{"position":[[181,23],[2830,23]]}}}],["https://sh.rustup.r",{"_index":958,"t":{"158":{"position":[[280,20],[421,20],[569,20]]}}}],["https://unpkg.com/@waku/sdk@latest/bundle/index.j",{"_index":499,"t":{"77":{"position":[[227,53]]}}}],["https://usefathom.com",{"_index":1716,"t":{"414":{"position":[[1914,23]]}}}],["https://vac.dev/build",{"_index":1796,"t":{"434":{"position":[[730,24]]}}}],["hub",{"_index":1158,"t":{"206":{"position":[[52,3]]}}}],["huge",{"_index":2152,"t":{"481":{"position":[[2060,4]]}}}],["hundr",{"_index":2488,"t":{"560":{"position":[[537,7]]}}}],["i.",{"_index":1995,"t":{"469":{"position":[[63,4]]},"528":{"position":[[805,5]]}}}],["i13n",{"_index":2206,"t":{"498":{"position":[[176,5],[293,5],[502,5]]},"506":{"position":[[346,4]]},"510":{"position":[[93,4]]},"518":{"position":[[280,4],[1165,4]]}}}],["id",{"_index":777,"t":{"130":{"position":[[39,2],[52,2],[112,2]]},"134":{"position":[[474,2],[537,2]]},"274":{"position":[[233,3],[628,3]]},"471":{"position":[[702,3]]}}}],["id'",{"_index":1461,"t":{"274":{"position":[[807,4]]}}}],["id=\"messag",{"_index":1071,"t":{"184":{"position":[[1481,11]]}}}],["idea",{"_index":2065,"t":{"473":{"position":[[537,4]]},"481":{"position":[[593,4],[1653,4]]}}}],["ideal",{"_index":2260,"t":{"514":{"position":[[329,7]]}}}],["ident",{"_index":831,"t":{"134":{"position":[[491,8],[565,8]]},"320":{"position":[[116,11]]},"400":{"position":[[231,8]]},"450":{"position":[[151,8]]},"496":{"position":[[99,9]]},"524":{"position":[[838,11]]},"528":{"position":[[594,10]]}}}],["identif",{"_index":1589,"t":{"320":{"position":[[311,14]]}}}],["identifi",{"_index":780,"t":{"130":{"position":[[185,10]]},"270":{"position":[[311,12]]},"274":{"position":[[203,10]]},"320":{"position":[[77,11]]},"322":{"position":[[161,12]]},"328":{"position":[[190,8],[344,12]]},"342":{"position":[[68,8]]},"370":{"position":[[21,10]]},"376":{"position":[[46,10]]},"414":{"position":[[653,11]]},"416":{"position":[[619,8]]},"570":{"position":[[277,11]]}}}],["idl",{"_index":857,"t":{"134":{"position":[[1387,4]]}}}],["ii",{"_index":1815,"t":{"446":{"position":[[86,3]]},"448":{"position":[[583,3]]},"450":{"position":[[1572,3],[2013,3]]},"452":{"position":[[335,3]]},"473":{"position":[[258,3]]},"475":{"position":[[926,3]]},"542":{"position":[[1130,3],[1574,3]]},"568":{"position":[[965,4]]}}}],["illustr",{"_index":1417,"t":{"262":{"position":[[18,12]]}}}],["imag",{"_index":1000,"t":{"170":{"position":[[295,5]]},"206":{"position":[[17,6],[156,6],[215,5],[342,5],[360,5]]},"208":{"position":[[58,7],[116,5],[129,5]]},"232":{"position":[[861,6]]}}}],["immedi",{"_index":1773,"t":{"426":{"position":[[185,11]]},"432":{"position":[[203,9]]},"564":{"position":[[217,11]]}}}],["impact",{"_index":1937,"t":{"457":{"position":[[262,6],[343,7]]},"481":{"position":[[2065,6]]},"486":{"position":[[356,6]]},"526":{"position":[[285,6]]},"542":{"position":[[1235,6]]}}}],["implement",{"_index":44,"t":{"4":{"position":[[182,14],[450,14]]},"6":{"position":[[8,11]]},"49":{"position":[[137,9]]},"75":{"position":[[205,14]]},"356":{"position":[[34,10]]},"396":{"position":[[56,12]]},"414":{"position":[[1291,11]]},"418":{"position":[[67,11]]},"430":{"position":[[81,15]]},"432":{"position":[[354,14]]},"436":{"position":[[185,15]]},"492":{"position":[[50,11],[105,11],[165,11]]}}}],["impli",{"_index":2073,"t":{"477":{"position":[[281,7]]},"494":{"position":[[10,7]]},"552":{"position":[[163,8],[1385,7]]},"558":{"position":[[246,5]]}}}],["implic",{"_index":1439,"t":{"268":{"position":[[71,13]]},"484":{"position":[[106,12],[961,12]]}}}],["implicit",{"_index":2242,"t":{"508":{"position":[[287,9]]}}}],["import",{"_index":146,"t":{"14":{"position":[[135,6]]},"16":{"position":[[240,6],[285,6]]},"18":{"position":[[282,6],[327,6],[822,6]]},"20":{"position":[[86,6],[131,6],[178,6]]},"22":{"position":[[123,6]]},"26":{"position":[[94,6]]},"28":{"position":[[101,6],[320,6]]},"30":{"position":[[86,6]]},"32":{"position":[[83,6]]},"67":{"position":[[181,9]]},"77":{"position":[[205,6]]},"79":{"position":[[713,6],[728,6]]},"95":{"position":[[162,6],[415,6],[882,6]]},"97":{"position":[[162,6],[570,6],[1051,6]]},"99":{"position":[[560,6],[637,6],[731,6],[2187,6],[2250,6],[2318,6]]},"101":{"position":[[453,6]]},"105":{"position":[[94,6]]},"107":{"position":[[87,6]]},"109":{"position":[[92,6]]},"118":{"position":[[151,6]]},"120":{"position":[[180,6]]},"182":{"position":[[182,6],[237,6],[681,6]]},"184":{"position":[[144,6],[189,6],[228,6],[286,6],[321,6]]},"186":{"position":[[208,6]]},"188":{"position":[[194,6]]},"190":{"position":[[223,6]]},"320":{"position":[[143,9]]},"448":{"position":[[445,10]]},"477":{"position":[[139,9],[1614,9]]},"481":{"position":[[346,9]]},"524":{"position":[[861,9]]}}}],["impos",{"_index":428,"t":{"67":{"position":[[213,6]]},"294":{"position":[[579,7]]},"306":{"position":[[245,7]]},"384":{"position":[[164,8]]}}}],["imposs",{"_index":1887,"t":{"450":{"position":[[2054,10]]}}}],["improv",{"_index":544,"t":{"83":{"position":[[340,7]]},"246":{"position":[[544,9]]},"274":{"position":[[510,7]]},"316":{"position":[[874,8]]},"450":{"position":[[114,12]]},"542":{"position":[[690,11]]}}}],["in/out",{"_index":1851,"t":{"448":{"position":[[1645,6]]}}}],["incent",{"_index":1795,"t":{"434":{"position":[[679,9]]},"514":{"position":[[704,10],[734,10]]}}}],["incentiv",{"_index":2226,"t":{"504":{"position":[[13,12]]}}}],["incentivis",{"_index":132,"t":{"12":{"position":[[271,15]]},"81":{"position":[[1372,15]]},"404":{"position":[[383,15]]},"432":{"position":[[20,12]]},"434":{"position":[[393,13]]},"440":{"position":[[16,11]]},"498":{"position":[[146,15]]},"502":{"position":[[16,15]]},"514":{"position":[[80,12]]},"518":{"position":[[16,12]]},"536":{"position":[[67,12]]},"538":{"position":[[420,15]]}}}],["incident",{"_index":2481,"t":{"560":{"position":[[202,11]]}}}],["includ",{"_index":84,"t":{"6":{"position":[[527,8]]},"42":{"position":[[582,8]]},"79":{"position":[[814,7]]},"158":{"position":[[55,9]]},"230":{"position":[[404,8]]},"250":{"position":[[233,9],[626,9]]},"256":{"position":[[305,9]]},"284":{"position":[[335,7]]},"314":{"position":[[84,8]]},"318":{"position":[[364,7]]},"324":{"position":[[392,9]]},"336":{"position":[[131,9]]},"342":{"position":[[182,8]]},"354":{"position":[[171,7]]},"382":{"position":[[84,9]]},"394":{"position":[[68,9]]},"402":{"position":[[223,8],[446,9]]},"442":{"position":[[5,8]]},"510":{"position":[[44,7]]},"548":{"position":[[150,9]]},"552":{"position":[[172,9]]},"554":{"position":[[243,7],[727,9],[1259,9]]},"558":{"position":[[104,9]]},"562":{"position":[[103,9],[210,9]]},"568":{"position":[[74,8],[1873,9]]}}}],["incom",{"_index":1013,"t":{"176":{"position":[[163,8]]},"188":{"position":[[129,8]]},"264":{"position":[[141,8]]},"316":{"position":[[666,8]]}}}],["incorpor",{"_index":1396,"t":{"256":{"position":[[104,12]]},"568":{"position":[[1409,12]]}}}],["increas",{"_index":915,"t":{"150":{"position":[[610,8]]},"250":{"position":[[408,9]]},"272":{"position":[[8,8]]},"473":{"position":[[470,10]]},"481":{"position":[[926,10],[1580,9],[2170,8]]},"488":{"position":[[118,9]]},"490":{"position":[[159,8],[211,8]]},"502":{"position":[[327,9]]}}}],["inde",{"_index":1861,"t":{"450":{"position":[[525,6]]}}}],["indemnifi",{"_index":2490,"t":{"562":{"position":[[10,9]]}}}],["independ",{"_index":1770,"t":{"424":{"position":[[110,11]]},"498":{"position":[[94,11]]}}}],["index",{"_index":722,"t":{"120":{"position":[[41,5],[796,5]]},"134":{"position":[[318,5],[328,5]]},"184":{"position":[[1248,6]]}}}],["indic",{"_index":323,"t":{"40":{"position":[[277,9]]},"182":{"position":[[930,9]]},"262":{"position":[[216,9]]},"312":{"position":[[177,10]]},"414":{"position":[[433,9]]},"467":{"position":[[687,9]]},"469":{"position":[[3670,9]]},"473":{"position":[[505,9]]},"481":{"position":[[225,8]]}}}],["individu",{"_index":1735,"t":{"416":{"position":[[628,10]]},"477":{"position":[[542,10],[714,10],[2016,10]]}}}],["industri",{"_index":2454,"t":{"554":{"position":[[168,8]]}}}],["inf",{"_index":1316,"t":{"242":{"position":[[84,3]]},"244":{"position":[[269,3],[921,3]]}}}],["info",{"_index":124,"t":{"12":{"position":[[142,4]]},"26":{"position":[[328,4]]},"30":{"position":[[608,4]]},"32":{"position":[[365,4]]},"42":{"position":[[907,4]]},"69":{"position":[[311,5],[387,5]]},"91":{"position":[[170,4]]},"99":{"position":[[176,4]]},"113":{"position":[[696,4]]},"115":{"position":[[717,4]]},"120":{"position":[[941,4]]},"122":{"position":[[542,4]]},"128":{"position":[[127,5]]},"156":{"position":[[239,4]]},"168":{"position":[[206,4]]},"172":{"position":[[439,4]]},"174":{"position":[[629,4]]},"184":{"position":[[1697,4]]},"190":{"position":[[825,4]]},"192":{"position":[[117,4]]},"196":{"position":[[673,4]]},"198":{"position":[[796,4]]},"200":{"position":[[837,4]]},"214":{"position":[[695,4]]},"224":{"position":[[699,4]]},"228":{"position":[[304,4]]},"230":{"position":[[466,4]]},"236":{"position":[[601,4]]},"238":{"position":[[122,4],[562,4]]},"240":{"position":[[89,4],[120,4],[224,4]]},"270":{"position":[[467,4]]},"274":{"position":[[575,4]]},"286":{"position":[[361,4]]},"292":{"position":[[163,4]]},"294":{"position":[[293,4]]},"308":{"position":[[264,4]]},"310":{"position":[[234,4]]},"312":{"position":[[306,4]]},"316":{"position":[[838,4]]},"402":{"position":[[628,4]]}}}],["inform",{"_index":628,"t":{"99":{"position":[[366,11]]},"101":{"position":[[273,11]]},"238":{"position":[[91,11]]},"244":{"position":[[39,11]]},"262":{"position":[[878,9]]},"270":{"position":[[257,12],[324,11]]},"294":{"position":[[387,11]]},"302":{"position":[[196,8]]},"322":{"position":[[174,11]]},"328":{"position":[[357,11]]},"342":{"position":[[210,11]]},"346":{"position":[[51,11]]},"360":{"position":[[33,11]]},"366":{"position":[[47,11]]},"410":{"position":[[48,6]]},"414":{"position":[[1032,11]]},"416":{"position":[[672,11],[887,11]]},"418":{"position":[[191,11]]},"422":{"position":[[937,11]]},"481":{"position":[[986,11]]},"546":{"position":[[34,8]]},"552":{"position":[[1076,13],[1245,11],[1505,11]]},"554":{"position":[[803,11],[982,11],[1246,12]]}}}],["infrastructur",{"_index":1667,"t":{"404":{"position":[[134,15],[301,14]]},"434":{"position":[[774,14]]},"440":{"position":[[153,14]]}}}],["infring",{"_index":2432,"t":{"552":{"position":[[278,12]]}}}],["infura",{"_index":1673,"t":{"406":{"position":[[126,6],[150,6]]}}}],["init",{"_index":972,"t":{"158":{"position":[[639,4]]}}}],["initi",{"_index":1615,"t":{"332":{"position":[[21,7]]},"430":{"position":[[73,7]]},"492":{"position":[[8,7]]},"514":{"position":[[856,7]]}}}],["initialis",{"_index":545,"t":{"87":{"position":[[0,10],[191,10]]},"190":{"position":[[143,11]]},"276":{"position":[[5,12]]}}}],["inject",{"_index":2202,"t":{"496":{"position":[[211,9]]},"532":{"position":[[200,9]]}}}],["innov",{"_index":1368,"t":{"250":{"position":[[155,10]]}}}],["input",{"_index":1053,"t":{"184":{"position":[[502,5],[1462,6],[1493,6],[2341,5]]},"186":{"position":[[100,5]]}}}],["inputmessag",{"_index":1049,"t":{"184":{"position":[[363,14],[471,12]]},"186":{"position":[[614,12]]}}}],["inputmessage.length",{"_index":1108,"t":{"186":{"position":[[445,19]]}}}],["insecur",{"_index":430,"t":{"67":{"position":[[288,8]]},"71":{"position":[[57,8]]}}}],["insert",{"_index":1949,"t":{"465":{"position":[[8,6],[473,7],[1469,6]]},"471":{"position":[[106,6],[445,6],[1416,9],[1523,9],[1617,6],[1658,6],[1793,9]]},"534":{"position":[[129,9]]}}}],["insight",{"_index":1720,"t":{"414":{"position":[[2091,9],[2194,8]]}}}],["inspir",{"_index":2253,"t":{"510":{"position":[[169,8]]}}}],["instal",{"_index":155,"t":{"16":{"position":[[46,7],[98,7]]},"18":{"position":[[47,7],[101,7]]},"24":{"position":[[214,12]]},"32":{"position":[[398,12]]},"77":{"position":[[0,7],[81,7],[175,10]]},"79":{"position":[[501,7],[583,7],[680,10]]},"87":{"position":[[244,9]]},"93":{"position":[[0,7],[122,7]]},"158":{"position":[[205,7],[341,7],[600,7]]},"180":{"position":[[292,7],[399,7]]},"204":{"position":[[17,9]]}}}],["instanc",{"_index":2032,"t":{"471":{"position":[[342,9]]},"506":{"position":[[92,9]]},"528":{"position":[[1018,9]]}}}],["instanceof",{"_index":336,"t":{"42":{"position":[[625,10]]}}}],["instead",{"_index":181,"t":{"16":{"position":[[1089,7]]},"134":{"position":[[1567,7]]},"156":{"position":[[230,8]]},"228":{"position":[[453,8]]},"270":{"position":[[283,7]]},"320":{"position":[[89,7]]},"446":{"position":[[150,8]]},"486":{"position":[[283,8]]},"492":{"position":[[240,8]]}}}],["institut",{"_index":2518,"t":{"568":{"position":[[1275,11]]}}}],["instruct",{"_index":1157,"t":{"204":{"position":[[64,12]]},"216":{"position":[[862,8]]},"408":{"position":[[59,12]]}}}],["instrument",{"_index":2099,"t":{"479":{"position":[[154,10]]}}}],["integ",{"_index":2352,"t":{"544":{"position":[[264,8]]}}}],["integr",{"_index":21,"t":{"2":{"position":[[252,9]]},"6":{"position":[[53,9],[314,11],[404,11],[489,11],[675,11]]},"8":{"position":[[14,12],[205,9],[304,9]]},"75":{"position":[[306,9]]},"81":{"position":[[644,9]]},"93":{"position":[[34,11]]},"99":{"position":[[141,9]]},"178":{"position":[[210,9]]},"180":{"position":[[326,11]]},"190":{"position":[[967,10]]},"316":{"position":[[825,12]]},"326":{"position":[[66,9]]},"386":{"position":[[44,9]]},"396":{"position":[[242,10]]},"400":{"position":[[192,10]]}}}],["intellectu",{"_index":2433,"t":{"552":{"position":[[294,12]]}}}],["intend",{"_index":1676,"t":{"410":{"position":[[36,8]]},"440":{"position":[[5,7]]},"552":{"position":[[1042,8]]}}}],["intention",{"_index":1594,"t":{"324":{"position":[[104,13]]}}}],["inter",{"_index":2147,"t":{"481":{"position":[[1471,5]]}}}],["interact",{"_index":104,"t":{"10":{"position":[[87,8]]},"26":{"position":[[62,8]]},"69":{"position":[[56,13]]},"105":{"position":[[62,8]]},"222":{"position":[[29,8]]},"230":{"position":[[413,11]]},"238":{"position":[[8,8]]},"254":{"position":[[95,11]]},"262":{"position":[[35,11]]},"276":{"position":[[848,12]]},"278":{"position":[[160,8],[382,8]]},"292":{"position":[[53,11]]},"364":{"position":[[94,11]]},"406":{"position":[[186,8]]},"416":{"position":[[218,8],[513,8]]},"520":{"position":[[179,12]]}}}],["interconnect",{"_index":2184,"t":{"492":{"position":[[372,14]]}}}],["interest",{"_index":1442,"t":{"270":{"position":[[120,10]]},"374":{"position":[[155,9]]},"376":{"position":[[74,8],[112,10]]},"414":{"position":[[699,8]]},"475":{"position":[[531,10]]}}}],["interfac",{"_index":103,"t":{"10":{"position":[[44,9]]},"184":{"position":[[19,9],[1159,11],[1989,9]]},"188":{"position":[[171,10]]}}}],["intern",{"_index":2519,"t":{"568":{"position":[[1325,13],[1972,13]]}}}],["internet",{"_index":1632,"t":{"354":{"position":[[97,8],[135,8]]},"448":{"position":[[542,8]]},"542":{"position":[[114,8]]}}}],["interoper",{"_index":505,"t":{"79":{"position":[[190,17]]}}}],["interpret",{"_index":2537,"t":{"570":{"position":[[423,14]]}}}],["interv",{"_index":1929,"t":{"452":{"position":[[1121,8]]}}}],["introduc",{"_index":1407,"t":{"258":{"position":[[275,10]]},"498":{"position":[[447,9]]},"508":{"position":[[12,10],[391,10]]}}}],["invalid",{"_index":478,"t":{"71":{"position":[[81,7],[188,10]]},"508":{"position":[[243,8]]},"570":{"position":[[537,7]]}}}],["invest",{"_index":2018,"t":{"469":{"position":[[3183,8]]}}}],["investig",{"_index":480,"t":{"71":{"position":[[230,11]]}}}],["invit",{"_index":1704,"t":{"414":{"position":[[1174,11]]}}}],["invoc",{"_index":992,"t":{"162":{"position":[[54,10]]}}}],["involv",{"_index":1348,"t":{"246":{"position":[[593,8]]},"298":{"position":[[478,8]]},"302":{"position":[[113,8]]},"477":{"position":[[786,8]]},"502":{"position":[[766,8]]},"524":{"position":[[1045,9]]}}}],["io",{"_index":98,"t":{"8":{"position":[[145,5]]}}}],["io4qdxtotg86ppck2kvmevcxc2advzwrxxsvnzeaoa0jhshbm5qed69rqz1s1mweeqj3aoklo_7eu9iibcpmveklcqbgmlkgny0ixnly3ayntzrmaeddbhk1gx6y_zv5dvw5qb3dtsommvhtzo1wsorrf2lol2ddwrwgimohxdha3uyaw",{"_index":1143,"t":{"198":{"position":[[618,177]]},"244":{"position":[[1043,177],[1266,177]]}}}],["ip",{"_index":170,"t":{"16":{"position":[[572,4]]},"132":{"position":[[161,3]]},"148":{"position":[[224,3]]},"150":{"position":[[365,2],[389,2],[439,2],[481,2],[530,2]]},"194":{"position":[[352,4]]},"196":{"position":[[443,3],[669,3],[906,3]]},"200":{"position":[[526,4]]},"208":{"position":[[596,3],[661,3]]},"214":{"position":[[778,2]]},"228":{"position":[[103,2]]},"250":{"position":[[243,3]]},"252":{"position":[[513,2]]},"270":{"position":[[99,2]]},"298":{"position":[[259,3]]},"414":{"position":[[549,2],[620,2],[727,2],[833,2]]}}}],["ip4/0.0.0.0/tcp/60000/p2p/16uiu2hamqcsh9v81xoqtwgut3qwkzwbwy1tttqwpr3djhu2tswmn",{"_index":1325,"t":{"242":{"position":[[391,80]]}}}],["ip4/0.0.0.0/tcp/60000/p2p/16uiu2hamubpqufqqje3jiqob5yoiubbya59nb4qqezeitnghea6w",{"_index":1311,"t":{"238":{"position":[[269,82]]}}}],["ip4/0.0.0.0/tcp/60002/ws/p2p/16uiu2hakzjwwgeaxfegnmkfpspc6vgbrqcdtlg5q3gmk2v4pqw7h",{"_index":178,"t":{"16":{"position":[[706,86]]},"20":{"position":[[307,86]]}}}],["ip4/0.0.0.0/tcp/60003/ws/p2p/16uiu2hamfba7lgtwy5wvvikdmxvo3cklqkmvvtudu63fe8safeqj",{"_index":179,"t":{"16":{"position":[[793,86]]},"20":{"position":[[394,86]]}}}],["ip4/0.0.0.0/tcp/8000/ws/p2p/16uiu2hamqcsh9v81xoqtwgut3qwkzwbwy1tttqwpr3djhu2tswmn",{"_index":1326,"t":{"242":{"position":[[502,82]]}}}],["ipf",{"_index":2252,"t":{"510":{"position":[[81,5]]}}}],["ipt",{"_index":2094,"t":{"477":{"position":[[2005,3]]}}}],["ipv4",{"_index":819,"t":{"132":{"position":[[294,4]]},"214":{"position":[[18,4],[67,4]]}}}],["ish",{"_index":2163,"t":{"486":{"position":[[29,4],[92,4]]}}}],["isload",{"_index":1039,"t":{"182":{"position":[[791,9],[918,11]]},"184":{"position":[[641,9]]}}}],["issu",{"_index":342,"t":{"42":{"position":[[990,7]]},"61":{"position":[[15,6]]},"67":{"position":[[673,6],[909,6]]},"73":{"position":[[322,5],[397,6]]},"83":{"position":[[243,5]]},"446":{"position":[[5,5]]},"471":{"position":[[37,6]]},"475":{"position":[[824,5]]},"484":{"position":[[137,5]]},"528":{"position":[[549,7]]},"538":{"position":[[29,6]]},"540":{"position":[[11,5]]},"542":{"position":[[1034,5],[1307,6],[1495,5]]}}}],["it'",{"_index":426,"t":{"67":{"position":[[176,4]]},"232":{"position":[[390,4]]},"473":{"position":[[230,4]]},"481":{"position":[[740,4],[2255,4]]},"494":{"position":[[462,4]]},"514":{"position":[[875,4]]},"546":{"position":[[802,4]]}}}],["item",{"_index":1100,"t":{"184":{"position":[[2315,6]]}}}],["itself",{"_index":1015,"t":{"176":{"position":[[512,7]]},"216":{"position":[[1565,7]]},"465":{"position":[[1359,6]]},"481":{"position":[[1526,7]]},"490":{"position":[[273,6]]},"496":{"position":[[255,7]]},"518":{"position":[[156,6]]}}}],["iu4qbkyj8ovxwz4fialxz_1a8docu2wc",{"_index":1331,"t":{"244":{"position":[[388,32],[621,32]]}}}],["iu4qcqzxzdb_jsymloyor0f5e_95hbiywgo_wgx2riddbmcjzktzmlcr0wmmzv47lgik_tvwww5ming90ris83tismbgmlkgny0gmlwhaaaaacjc2vjcdi1nmsxoqpszztg",{"_index":1313,"t":{"238":{"position":[[371,131]]}}}],["javascript",{"_index":74,"t":{"6":{"position":[[227,10]]},"65":{"position":[[161,10]]},"75":{"position":[[23,10],[151,10]]},"178":{"position":[[23,10]]}}}],["javascript/typescript",{"_index":70,"t":{"6":{"position":[[167,21]]}}}],["jmeter",{"_index":1988,"t":{"467":{"position":[[416,7],[584,6],[787,6]]}}}],["join",{"_index":15,"t":{"2":{"position":[[191,4]]},"212":{"position":[[3,4]]},"236":{"position":[[3,4]]}}}],["jq",{"_index":953,"t":{"158":{"position":[[240,2]]}}}],["js",{"_index":309,"t":{"36":{"position":[[969,2]]},"83":{"position":[[112,3],[256,2]]},"89":{"position":[[266,2],[425,2]]},"122":{"position":[[878,2]]},"432":{"position":[[387,3],[421,3]]}}}],["json",{"_index":518,"t":{"79":{"position":[[447,4]]},"128":{"position":[[278,4]]},"142":{"position":[[52,4],[127,4],[179,4],[228,4],[294,4]]},"176":{"position":[[303,4]]}}}],["judg",{"_index":2506,"t":{"568":{"position":[[506,6]]}}}],["jump",{"_index":2086,"t":{"477":{"position":[[1342,4]]}}}],["juri",{"_index":2508,"t":{"568":{"position":[[615,4]]}}}],["jurisdict",{"_index":2440,"t":{"552":{"position":[[826,13]]},"568":{"position":[[650,14]]}}}],["k",{"_index":476,"t":{"71":{"position":[[50,1],[128,1]]},"272":{"position":[[17,1]]},"274":{"position":[[584,1],[595,1],[771,1],[829,1]]},"528":{"position":[[346,1],[404,1]]}}}],["kademlia'",{"_index":913,"t":{"150":{"position":[[587,10]]}}}],["kb",{"_index":1956,"t":{"465":{"position":[[293,3]]}}}],["kbyte",{"_index":1866,"t":{"450":{"position":[[817,6],[1034,6],[1623,6]]},"452":{"position":[[502,6]]}}}],["kbytes/msg",{"_index":1918,"t":{"452":{"position":[[726,10]]}}}],["kbytes/sec",{"_index":1920,"t":{"452":{"position":[[743,10],[785,10]]}}}],["keep",{"_index":350,"t":{"44":{"position":[[177,4]]},"97":{"position":[[279,4]]},"134":{"position":[[1348,4],[1372,4]]},"162":{"position":[[136,4]]},"268":{"position":[[113,4]]},"469":{"position":[[1711,5]]},"484":{"position":[[888,4]]},"528":{"position":[[98,5]]},"542":{"position":[[411,4]]}}}],["kept",{"_index":2524,"t":{"568":{"position":[[1742,4]]}}}],["key",{"_index":418,"t":{"65":{"position":[[89,4],[172,3]]},"95":{"position":[[43,3],[157,4],[258,3],[641,3],[1265,3],[1357,3]]},"97":{"position":[[31,3],[64,3],[157,4],[274,4],[353,3],[374,4],[521,3],[792,3],[996,3],[1440,3]]},"99":{"position":[[313,3],[533,4],[852,3],[932,4],[1289,3],[1357,3],[1584,3],[1652,3],[2042,3],[2131,3],[2392,3],[2819,3],[2900,3],[3082,3]]},"101":{"position":[[27,4],[140,4],[187,3],[269,3],[364,4],[554,4],[658,4],[796,4]]},"126":{"position":[[182,3]]},"130":{"position":[[232,3]]},"134":{"position":[[477,3],[507,3],[551,3],[585,3],[837,3],[849,3]]},"154":{"position":[[213,3],[239,3]]},"176":{"position":[[136,3]]},"196":{"position":[[284,5],[346,3]]},"218":{"position":[[26,3],[144,3],[215,4],[258,3],[495,3],[546,3],[629,3],[728,3],[829,3],[846,3],[1015,3]]},"220":{"position":[[461,3],[488,3],[707,3],[734,3],[1058,3],[1197,3]]},"270":{"position":[[379,5],[456,3]]},"274":{"position":[[244,4]]},"286":{"position":[[34,3]]},"358":{"position":[[7,3],[55,3]]},"370":{"position":[[121,4]]},"400":{"position":[[104,3]]},"438":{"position":[[118,3]]},"471":{"position":[[624,3],[687,3]]}}}],["key={index",{"_index":1064,"t":{"184":{"position":[[1265,11]]}}}],["key]@[domain",{"_index":193,"t":{"18":{"position":[[442,12]]},"196":{"position":[[603,12]]}}}],["keystore/keystore.json",{"_index":1494,"t":{"286":{"position":[[314,22]]}}}],["kind",{"_index":772,"t":{"128":{"position":[[211,4]]},"552":{"position":[[146,5]]}}}],["kit",{"_index":109,"t":{"10":{"position":[[172,3]]}}}],["knowledg",{"_index":1644,"t":{"378":{"position":[[58,9]]},"518":{"position":[[427,9]]},"520":{"position":[[134,10]]}}}],["known",{"_index":1465,"t":{"276":{"position":[[222,5]]},"518":{"position":[[732,5]]},"546":{"position":[[2080,5]]},"568":{"position":[[2160,5]]}}}],["kotlin",{"_index":91,"t":{"6":{"position":[[588,6]]},"8":{"position":[[232,6],[270,6]]}}}],["l",{"_index":990,"t":{"160":{"position":[[197,1]]}}}],["laid",{"_index":1756,"t":{"422":{"position":[[240,4]]}}}],["languag",{"_index":65,"t":{"6":{"position":[[78,9]]},"568":{"position":[[1765,8]]}}}],["laptop",{"_index":2329,"t":{"542":{"position":[[88,6]]},"546":{"position":[[600,7]]}}}],["larg",{"_index":1785,"t":{"434":{"position":[[123,5]]}}}],["larger",{"_index":1376,"t":{"250":{"position":[[602,6]]}}}],["last",{"_index":749,"t":{"122":{"position":[[710,4]]},"216":{"position":[[1252,4]]}}}],["lastmessag",{"_index":726,"t":{"120":{"position":[[631,11]]}}}],["late",{"_index":2259,"t":{"514":{"position":[[122,4]]}}}],["latenc",{"_index":1373,"t":{"250":{"position":[[446,8]]},"298":{"position":[[186,8]]},"302":{"position":[[279,8]]},"477":{"position":[[1376,7]]},"479":{"position":[[453,7]]},"481":{"position":[[1482,7]]},"490":{"position":[[569,7]]}}}],["latency=100m",{"_index":2104,"t":{"479":{"position":[[430,14]]}}}],["later",{"_index":1422,"t":{"262":{"position":[[932,5]]},"310":{"position":[[121,6]]},"532":{"position":[[292,6]]}}}],["latest",{"_index":536,"t":{"83":{"position":[[76,6]]},"87":{"position":[[354,6]]},"156":{"position":[[92,6]]},"232":{"position":[[610,6]]},"494":{"position":[[140,6]]}}}],["latitud",{"_index":1953,"t":{"465":{"position":[[241,8]]}}}],["law",{"_index":1710,"t":{"414":{"position":[[1511,4]]},"552":{"position":[[708,4],[976,5]]},"560":{"position":[[639,4]]},"566":{"position":[[6,3],[145,4]]},"568":{"position":[[66,3]]}}}],["lawsuit",{"_index":2530,"t":{"568":{"position":[[2241,7]]}}}],["layer",{"_index":1577,"t":{"318":{"position":[[16,6]]},"320":{"position":[[46,7]]},"402":{"position":[[707,5]]}}}],["lead",{"_index":1227,"t":{"218":{"position":[[50,7]]},"320":{"position":[[283,7]]},"528":{"position":[[722,5]]}}}],["leaf",{"_index":1385,"t":{"252":{"position":[[402,4]]}}}],["learn",{"_index":226,"t":{"26":{"position":[[512,5]]},"81":{"position":[[68,5],[189,5],[324,5],[458,5],[592,5],[727,5],[880,5],[1009,5],[1133,5],[1265,5]]},"164":{"position":[[182,5]]},"166":{"position":[[174,5]]},"208":{"position":[[1050,5]]},"234":{"position":[[199,5]]},"244":{"position":[[1608,5]]},"246":{"position":[[443,5]]},"252":{"position":[[537,8]]},"264":{"position":[[308,5]]},"292":{"position":[[1091,5]]},"294":{"position":[[281,5]]},"402":{"position":[[529,5]]}}}],["leav",{"_index":1874,"t":{"450":{"position":[[1116,5]]},"492":{"position":[[658,7]]},"546":{"position":[[2514,7]]}}}],["led",{"_index":2116,"t":{"479":{"position":[[834,3]]}}}],["legal",{"_index":1683,"t":{"412":{"position":[[212,5]]},"414":{"position":[[199,5]]},"550":{"position":[[152,5]]},"552":{"position":[[431,9],[785,7],[1565,6]]},"560":{"position":[[93,5]]}}}],["legisl",{"_index":1695,"t":{"414":{"position":[[245,12]]},"420":{"position":[[713,12]]},"422":{"position":[[269,12]]}}}],["legitim",{"_index":1698,"t":{"414":{"position":[[688,10]]}}}],["leobago",{"_index":2348,"t":{"544":{"position":[[175,8]]}}}],["less",{"_index":916,"t":{"150":{"position":[[623,4]]},"280":{"position":[[113,5]]},"406":{"position":[[267,5]]},"477":{"position":[[237,4],[248,4]]},"546":{"position":[[437,5],[1085,4],[1803,4]]}}}],["let",{"_index":1008,"t":{"174":{"position":[[232,4]]},"448":{"position":[[14,4]]},"450":{"position":[[687,4]]},"452":{"position":[[202,4]]}}}],["let'",{"_index":1043,"t":{"184":{"position":[[0,5]]},"220":{"position":[[1303,5]]},"477":{"position":[[0,5]]}}}],["level",{"_index":765,"t":{"128":{"position":[[35,5],[76,5],[105,7]]},"174":{"position":[[99,5]]},"240":{"position":[[233,6]]},"264":{"position":[[98,5]]},"334":{"position":[[68,5]]},"420":{"position":[[297,5]]},"469":{"position":[[1726,5]]},"477":{"position":[[64,6]]}}}],["leverag",{"_index":1629,"t":{"350":{"position":[[57,9]]},"356":{"position":[[64,9]]}}}],["liabil",{"_index":1772,"t":{"424":{"position":[[179,9]]},"450":{"position":[[2954,9]]},"560":{"position":[[73,10],[484,9],[572,9]]}}}],["liabl",{"_index":2474,"t":{"558":{"position":[[498,6]]},"560":{"position":[[20,6]]}}}],["lib",{"_index":968,"t":{"158":{"position":[[527,4]]}}}],["libp2p",{"_index":163,"t":{"16":{"position":[[406,7],[961,7]]},"18":{"position":[[632,7],[944,7]]},"20":{"position":[[653,7]]},"61":{"position":[[86,6]]},"63":{"position":[[195,7]]},"65":{"position":[[277,6]]},"91":{"position":[[185,6]]},"130":{"position":[[318,6],[755,6]]},"176":{"position":[[172,6]]},"200":{"position":[[890,6]]},"248":{"position":[[655,6]]},"296":{"position":[[117,6]]},"304":{"position":[[126,6]]},"320":{"position":[[60,6]]},"348":{"position":[[0,6]]},"438":{"position":[[30,7]]},"444":{"position":[[0,6]]},"465":{"position":[[723,8]]}}}],["libp2p'",{"_index":1805,"t":{"440":{"position":[[75,8]]}}}],["libp2p.getp",{"_index":207,"t":{"22":{"position":[[66,17]]}}}],["libp2p/bootstrap",{"_index":156,"t":{"16":{"position":[[58,17],[106,17],[133,17],[311,20]]},"20":{"position":[[157,20]]}}}],["libpq",{"_index":962,"t":{"158":{"position":[[372,5]]}}}],["libpq.5.dylib",{"_index":975,"t":{"158":{"position":[[672,13]]}}}],["libpq5",{"_index":952,"t":{"158":{"position":[[233,6]]}}}],["libpqisbusi",{"_index":2026,"t":{"469":{"position":[[3647,13]]}}}],["librari",{"_index":943,"t":{"158":{"position":[[130,8]]},"386":{"position":[[16,10]]}}}],["licenc",{"_index":2470,"t":{"556":{"position":[[75,9],[200,8]]}}}],["licens",{"_index":1776,"t":{"428":{"position":[[134,8]]}}}],["light",{"_index":213,"t":{"24":{"position":[[88,5],[126,5]]},"26":{"position":[[47,5],[161,5]]},"30":{"position":[[191,7]]},"34":{"position":[[49,5],[415,5]]},"36":{"position":[[911,5],[963,5],[976,5]]},"38":{"position":[[169,5],[211,5]]},"81":{"position":[[167,5],[231,5],[253,5],[380,5]]},"95":{"position":[[699,5]]},"97":{"position":[[850,5]]},"99":{"position":[[1747,5]]},"103":{"position":[[47,5]]},"105":{"position":[[47,5],[161,5]]},"122":{"position":[[816,5]]},"182":{"position":[[297,5],[437,5],[604,5],[759,5],[841,5]]},"184":{"position":[[609,5],[1080,5]]},"186":{"position":[[387,5]]},"224":{"position":[[25,5]]},"226":{"position":[[25,5],[51,5],[163,5]]},"236":{"position":[[527,5]]},"260":{"position":[[289,5]]},"270":{"position":[[23,5]]},"276":{"position":[[800,5]]},"294":{"position":[[165,5]]},"308":{"position":[[23,5]]},"312":{"position":[[0,5],[321,5]]},"328":{"position":[[522,5]]},"344":{"position":[[34,5]]},"350":{"position":[[2,5]]},"352":{"position":[[0,5],[34,5]]},"368":{"position":[[57,5]]},"484":{"position":[[549,5]]},"512":{"position":[[245,5],[292,5],[455,5],[526,5],[615,5],[677,5],[717,5]]},"516":{"position":[[16,5]]},"524":{"position":[[934,5]]},"538":{"position":[[459,5]]},"546":{"position":[[723,5],[1573,5],[1689,5]]}}}],["lightn",{"_index":2288,"t":{"524":{"position":[[674,10]]}}}],["lightnodeprovid",{"_index":1027,"t":{"182":{"position":[[90,17],[246,17],[484,18],[535,20]]}}}],["lightpush",{"_index":199,"t":{"18":{"position":[[529,10]]},"20":{"position":[[550,10]]},"140":{"position":[[31,9],[54,9],[125,9]]},"226":{"position":[[81,9],[245,9],[400,9]]},"512":{"position":[[281,10],[990,10]]},"538":{"position":[[475,10]]}}}],["lightpush.send",{"_index":274,"t":{"34":{"position":[[110,16]]}}}],["lightpush=tru",{"_index":1281,"t":{"226":{"position":[[119,14]]}}}],["lightpushnod",{"_index":892,"t":{"140":{"position":[[85,13]]},"226":{"position":[[191,13]]}}}],["lightpushnode=/dns4/nod",{"_index":1283,"t":{"226":{"position":[[464,24]]}}}],["lightpushnode=[light",{"_index":1282,"t":{"226":{"position":[[309,20]]}}}],["lightweight",{"_index":1290,"t":{"230":{"position":[[11,11]]},"266":{"position":[[924,11]]},"308":{"position":[[149,11]]},"344":{"position":[[158,11]]}}}],["limit",{"_index":3,"t":{"2":{"position":[[27,11]]},"44":{"position":[[143,11]]},"55":{"position":[[72,12]]},"67":{"position":[[228,11]]},"150":{"position":[[392,5],[484,5]]},"250":{"position":[[755,7]]},"260":{"position":[[73,7],[347,7]]},"286":{"position":[[186,7],[248,6]]},"294":{"position":[[87,7]]},"298":{"position":[[293,7]]},"306":{"position":[[60,5],[153,5]]},"308":{"position":[[245,7]]},"312":{"position":[[57,7]]},"318":{"position":[[314,12]]},"324":{"position":[[418,5]]},"350":{"position":[[27,7]]},"378":{"position":[[5,5],[93,8]]},"382":{"position":[[9,7]]},"384":{"position":[[63,5],[135,5]]},"392":{"position":[[130,7]]},"398":{"position":[[137,7]]},"402":{"position":[[281,8]]},"414":{"position":[[10,5]]},"416":{"position":[[19,7]]},"422":{"position":[[40,5]]},"432":{"position":[[90,5],[149,7]]},"442":{"position":[[259,7]]},"446":{"position":[[114,8],[301,8],[323,6]]},"448":{"position":[[587,7]]},"450":{"position":[[202,5],[227,5],[450,8],[711,5],[761,7],[2266,8],[2340,11],[3129,6]]},"452":{"position":[[917,5]]},"454":{"position":[[162,6],[201,5],[320,6]]},"457":{"position":[[83,5]]},"465":{"position":[[676,11]]},"473":{"position":[[125,11]]},"492":{"position":[[519,7]]},"534":{"position":[[110,5]]},"540":{"position":[[277,5]]},"542":{"position":[[917,8],[994,7],[1396,5]]},"546":{"position":[[2435,7],[2774,5]]},"552":{"position":[[190,10]]},"560":{"position":[[513,7],[558,10]]},"562":{"position":[[228,10]]},"568":{"position":[[570,8],[2039,12]]},"570":{"position":[[402,6]]}}}],["line",{"_index":758,"t":{"126":{"position":[[85,4]]},"164":{"position":[[141,4]]},"168":{"position":[[83,4],[314,4]]},"170":{"position":[[51,4],[272,4]]},"172":{"position":[[516,4]]},"174":{"position":[[705,4]]},"234":{"position":[[154,4]]},"546":{"position":[[832,5]]}}}],["link",{"_index":974,"t":{"158":{"position":[[664,4]]},"270":{"position":[[94,4]]},"320":{"position":[[275,7]]},"322":{"position":[[110,7],[364,6],[502,6]]},"328":{"position":[[407,4],[501,4]]},"414":{"position":[[1774,4]]},"424":{"position":[[37,5]]},"481":{"position":[[827,5]]},"514":{"position":[[351,6]]},"552":{"position":[[613,6]]},"558":{"position":[[39,5],[182,7]]}}}],["linkabl",{"_index":1610,"t":{"328":{"position":[[284,8]]}}}],["linux",{"_index":932,"t":{"156":{"position":[[319,5]]},"158":{"position":[[169,5]]},"218":{"position":[[287,6],[462,6]]}}}],["list",{"_index":161,"t":{"16":{"position":[[199,4],[445,5],[656,4],[1000,5]]},"18":{"position":[[213,4],[239,4],[402,4]]},"20":{"position":[[257,4],[692,5]]},"113":{"position":[[220,4]]},"115":{"position":[[191,4]]},"148":{"position":[[119,4]]},"188":{"position":[[394,4]]},"196":{"position":[[190,4],[366,4],[884,5]]},"208":{"position":[[203,4]]},"250":{"position":[[497,4],[609,4],[780,6],[915,8]]},"298":{"position":[[416,4]]},"498":{"position":[[512,4]]},"518":{"position":[[1096,4]]}}}],["listen",{"_index":251,"t":{"30":{"position":[[766,6]]},"130":{"position":[[258,6],[296,9],[383,9]]},"142":{"position":[[102,9],[157,9]]},"144":{"position":[[106,9],[163,9]]},"146":{"position":[[123,9],[188,9]]},"150":{"position":[[122,9]]},"154":{"position":[[114,9]]},"176":{"position":[[152,6]]},"208":{"position":[[855,10]]},"220":{"position":[[286,9],[636,9]]},"222":{"position":[[229,9],[348,9],[793,9],[839,9]]},"238":{"position":[[611,9]]},"240":{"position":[[183,9]]},"242":{"position":[[40,9],[118,9],[359,9],[474,9]]},"316":{"position":[[485,9]]},"358":{"position":[[86,9]]}}}],["listenaddress",{"_index":1310,"t":{"238":{"position":[[248,18],[571,15]]}}}],["litig",{"_index":2502,"t":{"568":{"position":[[277,10],[474,10]]}}}],["live",{"_index":2106,"t":{"479":{"position":[[541,4]]},"524":{"position":[[832,5]]},"536":{"position":[[162,4]]}}}],["llc",{"_index":1731,"t":{"416":{"position":[[460,4]]}}}],["ln",{"_index":978,"t":{"158":{"position":[[740,2]]}}}],["load",{"_index":755,"t":{"126":{"position":[[43,5]]},"246":{"position":[[268,4]]},"288":{"position":[[112,6]]},"294":{"position":[[598,4]]},"338":{"position":[[129,4]]}}}],["local",{"_index":168,"t":{"16":{"position":[[561,5],[1034,5],[1181,8]]},"65":{"position":[[57,5]]},"67":{"position":[[499,8]]},"101":{"position":[[290,5]]},"194":{"position":[[341,5]]},"200":{"position":[[515,5]]},"206":{"position":[[221,8]]},"208":{"position":[[181,7]]},"220":{"position":[[887,5]]},"465":{"position":[[223,7]]},"469":{"position":[[735,8]]},"494":{"position":[[214,7]]},"502":{"position":[[636,5]]},"530":{"position":[[47,5]]},"552":{"position":[[970,5]]}}}],["localhost",{"_index":439,"t":{"67":{"position":[[516,9]]}}}],["locat",{"_index":142,"t":{"14":{"position":[[90,6]]},"196":{"position":[[379,9]]},"238":{"position":[[161,8]]},"256":{"position":[[35,8]]},"276":{"position":[[171,6]]},"292":{"position":[[101,8],[175,8],[350,8],[743,8]]},"332":{"position":[[136,6]]},"366":{"position":[[30,7]]},"542":{"position":[[1560,9]]}}}],["lock",{"_index":2245,"t":{"508":{"position":[[448,4]]}}}],["log",{"_index":403,"t":{"59":{"position":[[59,4]]},"61":{"position":[[47,4],[140,4]]},"63":{"position":[[16,4],[112,4],[167,4],[246,4]]},"65":{"position":[[14,4],[230,4],[290,4],[321,4]]},"69":{"position":[[435,3]]},"81":{"position":[[1186,4]]},"128":{"position":[[31,3],[72,3],[162,3],[219,4]]},"146":{"position":[[238,7],[266,8]]},"174":{"position":[[95,3],[179,7]]},"240":{"position":[[57,4],[229,3]]},"242":{"position":[[13,3],[73,3]]},"244":{"position":[[189,3],[258,3],[838,3],[910,3]]},"416":{"position":[[730,6]]}}}],["log(1000)/log(6",{"_index":2082,"t":{"477":{"position":[[1029,16]]}}}],["log(total_nodes)/log(d)=5",{"_index":2178,"t":{"490":{"position":[[492,25]]}}}],["logging.logformat.text",{"_index":771,"t":{"128":{"position":[[173,22]]}}}],["logging.loglevel.info",{"_index":766,"t":{"128":{"position":[[41,21]]}}}],["logic",{"_index":1636,"t":{"362":{"position":[[91,5]]}}}],["logo",{"_index":1679,"t":{"412":{"position":[[135,5],[238,5],[350,8],[417,5]]},"550":{"position":[[75,5],[179,5],[291,8],[368,5]]}}}],["long",{"_index":1196,"t":{"216":{"position":[[278,4]]},"448":{"position":[[232,4]]},"452":{"position":[[146,4]]},"477":{"position":[[1321,4]]},"524":{"position":[[827,4]]},"556":{"position":[[152,4]]}}}],["longer",{"_index":2176,"t":{"490":{"position":[[321,8]]}}}],["look",{"_index":219,"t":{"24":{"position":[[202,4]]},"26":{"position":[[456,4]]},"32":{"position":[[377,4]]},"36":{"position":[[951,4]]},"38":{"position":[[125,4]]},"81":{"position":[[7,4]]},"101":{"position":[[175,4],[1076,4]]},"122":{"position":[[860,4]]},"154":{"position":[[426,4]]},"164":{"position":[[221,4]]},"166":{"position":[[125,4]]},"176":{"position":[[687,4]]},"190":{"position":[[883,4],[1051,4]]},"208":{"position":[[1001,4]]},"234":{"position":[[264,4]]},"242":{"position":[[0,4]]},"244":{"position":[[176,4],[825,4],[1559,4]]},"246":{"position":[[407,4]]},"264":{"position":[[266,4]]},"292":{"position":[[1014,4]]},"294":{"position":[[238,4]]},"402":{"position":[[607,4]]},"406":{"position":[[86,4],[303,4]]},"408":{"position":[[7,4]]},"452":{"position":[[962,7]]},"471":{"position":[[19,4]]},"554":{"position":[[37,7],[213,7],[549,7]]}}}],["lookup",{"_index":917,"t":{"150":{"position":[[637,6]]},"252":{"position":[[4,6],[169,6],[320,6]]}}}],["lose",{"_index":1833,"t":{"448":{"position":[[747,6],[1533,6]]}}}],["loss",{"_index":1964,"t":{"465":{"position":[[661,4]]}}}],["lost",{"_index":1963,"t":{"465":{"position":[[612,4],[930,4]]},"560":{"position":[[127,4]]}}}],["lot",{"_index":1347,"t":{"246":{"position":[[569,4]]},"438":{"position":[[51,3]]}}}],["low",{"_index":1372,"t":{"250":{"position":[[442,3],[455,3]]},"260":{"position":[[99,3]]},"294":{"position":[[448,3]]},"298":{"position":[[182,3],[195,3]]},"324":{"position":[[343,3]]},"502":{"position":[[559,3]]},"542":{"position":[[475,4]]},"546":{"position":[[355,3],[546,3]]}}}],["lower",{"_index":2075,"t":{"477":{"position":[[487,5]]},"481":{"position":[[678,5],[1836,6],[2129,5]]}}}],["lowest",{"_index":2411,"t":{"546":{"position":[[2240,6],[2308,6],[2450,6]]}}}],["luckili",{"_index":2181,"t":{"492":{"position":[[132,8]]}}}],["m",{"_index":2068,"t":{"475":{"position":[[210,1],[284,2]]},"477":{"position":[[1859,1]]},"528":{"position":[[297,1],[397,2]]}}}],["machin",{"_index":1499,"t":{"290":{"position":[[137,8]]},"469":{"position":[[936,7],[2011,7]]},"471":{"position":[[1066,7]]}}}],["maco",{"_index":933,"t":{"156":{"position":[[329,6]]},"158":{"position":[[175,5]]}}}],["made",{"_index":1510,"t":{"292":{"position":[[693,4]]},"542":{"position":[[1261,5]]},"552":{"position":[[1057,4]]},"556":{"position":[[33,4]]}}}],["magnitud",{"_index":2410,"t":{"546":{"position":[[2183,9],[3022,9]]}}}],["main",{"_index":1538,"t":{"302":{"position":[[301,4]]},"360":{"position":[[98,4]]},"448":{"position":[[936,4]]},"484":{"position":[[156,4],[579,4]]},"542":{"position":[[912,4]]}}}],["main.jsx",{"_index":1025,"t":{"182":{"position":[[7,8]]}}}],["mainli",{"_index":2098,"t":{"479":{"position":[[144,6]]},"542":{"position":[[986,7]]}}}],["maintain",{"_index":850,"t":{"134":{"position":[[1163,8]]},"218":{"position":[[86,8]]},"230":{"position":[[105,8]]},"376":{"position":[[155,8]]},"418":{"position":[[128,8]]},"514":{"position":[[880,10]]}}}],["mainten",{"_index":1526,"t":{"298":{"position":[[374,11]]}}}],["major",{"_index":985,"t":{"160":{"position":[[104,5]]},"450":{"position":[[1130,8]]}}}],["make",{"_index":938,"t":{"158":{"position":[[83,5]]},"162":{"position":[[24,4],[49,4],[121,4],[179,4]]},"166":{"position":[[24,4]]},"206":{"position":[[348,4]]},"284":{"position":[[236,4]]},"302":{"position":[[191,4]]},"310":{"position":[[75,6]]},"328":{"position":[[237,6]]},"414":{"position":[[1848,4]]},"416":{"position":[[138,6]]},"434":{"position":[[114,6],[153,5],[445,5]]},"459":{"position":[[178,5]]},"467":{"position":[[433,4]]},"471":{"position":[[1462,6],[1569,6],[1840,6]]},"552":{"position":[[367,4],[716,4]]},"568":{"position":[[97,4],[953,7]]}}}],["malici",{"_index":1793,"t":{"434":{"position":[[474,9]]}}}],["manag",{"_index":313,"t":{"38":{"position":[[38,6]]},"40":{"position":[[145,6]]},"42":{"position":[[1104,7]]},"53":{"position":[[262,10]]},"77":{"position":[[59,8]]},"79":{"position":[[561,8]]},"81":{"position":[[1232,6],[1278,6]]},"93":{"position":[[100,8]]},"134":{"position":[[441,11]]},"180":{"position":[[377,8]]},"336":{"position":[[68,10]]}}}],["mani",{"_index":363,"t":{"47":{"position":[[184,4]]},"304":{"position":[[350,4]]},"324":{"position":[[89,4]]},"374":{"position":[[191,4]]},"380":{"position":[[213,4]]},"508":{"position":[[362,4]]}}}],["manner",{"_index":2070,"t":{"475":{"position":[[429,7]]},"568":{"position":[[388,7]]}}}],["manual",{"_index":2000,"t":{"469":{"position":[[872,6],[1947,6]]}}}],["map",{"_index":1184,"t":{"208":{"position":[[788,8]]}}}],["map(async",{"_index":709,"t":{"115":{"position":[[600,10]]}}}],["margin",{"_index":1080,"t":{"184":{"position":[[1965,7],[2214,6],[2398,6]]}}}],["market",{"_index":2455,"t":{"554":{"position":[[181,7],[620,6]]}}}],["massiv",{"_index":1884,"t":{"450":{"position":[[1834,9]]}}}],["master",{"_index":983,"t":{"160":{"position":[[70,7]]}}}],["match",{"_index":448,"t":{"67":{"position":[[728,5]]},"262":{"position":[[591,5],[986,8],[1098,5]]},"512":{"position":[[885,5]]},"516":{"position":[[329,7]]}}}],["math",{"_index":1914,"t":{"452":{"position":[[384,4]]}}}],["matrix",{"_index":2213,"t":{"502":{"position":[[54,7]]}}}],["matter",{"_index":2085,"t":{"477":{"position":[[1102,6]]},"488":{"position":[[51,6]]},"552":{"position":[[1475,7]]},"554":{"position":[[437,7],[1123,7]]}}}],["max",{"_index":804,"t":{"130":{"position":[[710,3],[774,3]]},"138":{"position":[[363,3],[466,3]]},"452":{"position":[[614,4],[706,4],[758,4]]}}}],["maximum",{"_index":806,"t":{"130":{"position":[[729,7],[790,7],[848,7]]},"138":{"position":[[387,7],[484,7]]},"150":{"position":[[401,7],[492,7]]},"448":{"position":[[1033,7]]},"450":{"position":[[973,7],[1455,7],[1531,7],[1576,7],[2215,7]]},"452":{"position":[[887,7]]},"465":{"position":[[0,7],[444,7],[1461,7]]},"477":{"position":[[891,7]]},"540":{"position":[[33,7],[109,7],[239,7]]},"542":{"position":[[1406,7],[1589,7]]},"546":{"position":[[69,7]]},"552":{"position":[[669,7]]},"560":{"position":[[600,7]]}}}],["mb/gb",{"_index":1204,"t":{"216":{"position":[[546,6]]}}}],["mbits/sec",{"_index":1925,"t":{"452":{"position":[[822,10]]}}}],["mbp",{"_index":1839,"t":{"448":{"position":[[1220,4],[1423,5],[1662,6]]},"540":{"position":[[56,4],[289,4]]},"542":{"position":[[960,4],[1484,5],[1610,4]]},"544":{"position":[[93,4],[332,5],[428,4],[489,6],[503,6],[734,6],[755,6],[829,4],[844,4],[859,4]]},"546":{"position":[[1993,4],[2302,5],[2368,5],[2572,5],[2786,4]]}}}],["mbytes/",{"_index":1880,"t":{"450":{"position":[[1478,8],[1657,8],[1730,8]]}}}],["mbytes/sec",{"_index":1923,"t":{"452":{"position":[[806,10]]}}}],["mbytes/second",{"_index":1871,"t":{"450":{"position":[[1047,14]]}}}],["mean",{"_index":343,"t":{"42":{"position":[[1012,4]]},"262":{"position":[[140,5]]},"322":{"position":[[10,5]]},"420":{"position":[[197,5]]},"450":{"position":[[3215,7]]},"467":{"position":[[52,5]]},"475":{"position":[[573,5]]},"488":{"position":[[228,5]]},"546":{"position":[[1367,7],[1484,7]]},"548":{"position":[[344,5]]},"556":{"position":[[90,5]]},"568":{"position":[[43,7]]},"570":{"position":[[760,4]]}}}],["meant",{"_index":2403,"t":{"546":{"position":[[1869,5]]}}}],["measur",{"_index":1607,"t":{"326":{"position":[[149,8]]},"414":{"position":[[803,8],[1303,8],[1403,9]]},"418":{"position":[[101,8]]},"467":{"position":[[769,8]]},"475":{"position":[[716,8]]},"477":{"position":[[1406,8]]},"479":{"position":[[182,7],[514,13]]},"536":{"position":[[105,7]]}}}],["mechan",{"_index":127,"t":{"12":{"position":[[198,10]]},"53":{"position":[[416,10]]},"192":{"position":[[184,10]]},"212":{"position":[[136,11]]},"236":{"position":[[136,11],[363,9],[452,9],[668,10]]},"246":{"position":[[55,9]]},"256":{"position":[[135,11],[187,10]]},"258":{"position":[[313,9]]},"276":{"position":[[146,9],[961,11]]},"324":{"position":[[226,9]]},"338":{"position":[[27,9]]},"340":{"position":[[34,9]]},"368":{"position":[[34,9]]},"390":{"position":[[25,9]]},"400":{"position":[[117,10]]},"440":{"position":[[28,10]]},"484":{"position":[[53,9]]},"510":{"position":[[185,11]]},"518":{"position":[[1170,10]]},"524":{"position":[[1084,10]]},"528":{"position":[[975,9]]}}}],["median",{"_index":2112,"t":{"479":{"position":[[637,6]]},"544":{"position":[[287,6],[718,6],[741,6]]}}}],["meet",{"_index":1427,"t":{"264":{"position":[[225,4]]},"546":{"position":[[1208,4],[1544,7],[1608,7]]},"568":{"position":[[305,5]]}}}],["member",{"_index":578,"t":{"89":{"position":[[577,7]]},"484":{"position":[[906,7]]},"494":{"position":[[257,7],[344,7],[404,7]]}}}],["membership",{"_index":826,"t":{"134":{"position":[[307,10],[772,10]]},"280":{"position":[[172,10]]},"286":{"position":[[8,10],[283,10],[476,11]]},"288":{"position":[[98,10]]},"406":{"position":[[217,10],[499,11]]},"450":{"position":[[165,11],[344,10],[665,11],[731,11],[917,11],[1556,11],[1608,12],[1677,12],[2644,10],[2882,10],[3048,10]]},"452":{"position":[[273,10],[423,11],[444,10]]},"454":{"position":[[354,12]]},"484":{"position":[[367,10],[488,11]]}}}],["memori",{"_index":1211,"t":{"216":{"position":[[903,6]]},"382":{"position":[[110,7]]},"448":{"position":[[1726,7]]},"486":{"position":[[366,6]]},"496":{"position":[[70,6]]},"542":{"position":[[584,7]]}}}],["menduist",{"_index":2101,"t":{"479":{"position":[[250,9]]}}}],["mention",{"_index":1834,"t":{"448":{"position":[[836,7]]}}}],["merchant",{"_index":2430,"t":{"552":{"position":[[219,16]]}}}],["merg",{"_index":572,"t":{"89":{"position":[[489,5]]},"532":{"position":[[93,5]]}}}],["merkl",{"_index":844,"t":{"134":{"position":[[1071,6]]}}}],["mesh",{"_index":1342,"t":{"246":{"position":[[384,4]]},"276":{"position":[[368,5],[418,5]]},"479":{"position":[[237,5]]}}}],["messag",{"_index":215,"t":{"24":{"position":[[107,8],[159,8]]},"30":{"position":[[57,7],[235,7],[408,8],[517,7],[566,8],[653,8],[744,8]]},"32":{"position":[[26,7],[67,7],[130,7]]},"34":{"position":[[8,8],[83,7],[153,7],[250,8],[297,7],[401,7]]},"36":{"position":[[11,8],[78,7],[278,7],[604,8],[734,8],[870,8]]},"38":{"position":[[154,8]]},"40":{"position":[[93,8],[241,7]]},"42":{"position":[[294,8],[574,7]]},"79":{"position":[[24,7],[142,7]]},"81":{"position":[[152,8],[219,8],[294,8],[368,8],[449,8],[547,8]]},"89":{"position":[[338,7]]},"91":{"position":[[114,8],[134,7],[444,7]]},"95":{"position":[[51,7],[325,9],[354,7],[383,7],[505,7],[584,7],[660,8],[685,7],[774,8],[815,7],[847,8],[972,7],[1058,8],[1157,8]]},"97":{"position":[[463,9],[489,7],[538,7],[653,7],[732,7],[811,8],[836,7],[925,8],[963,7],[1016,8],[1134,7],[1218,8],[1317,8],[1545,7]]},"99":{"position":[[0,7],[62,9],[102,8],[189,8],[455,7],[484,7],[868,8],[901,7],[987,7],[1142,8],[1232,7],[1308,8],[1373,8],[1442,8],[1524,7],[1603,8],[1668,8],[1724,8],[2149,7],[2408,8],[2469,7],[2557,8],[2721,7],[2790,7],[3018,7],[3209,7],[3267,7]]},"101":{"position":[[51,7],[1014,8]]},"103":{"position":[[98,8]]},"109":{"position":[[41,8],[75,7],[226,7]]},"111":{"position":[[142,9]]},"113":{"position":[[120,8],[291,7],[380,9],[448,9],[772,8]]},"115":{"position":[[90,8],[262,7],[348,9],[456,8],[530,8],[554,8],[778,8]]},"118":{"position":[[213,8],[312,8]]},"120":{"position":[[62,9],[132,8],[252,8],[461,8],[496,8],[758,8],[774,7]]},"122":{"position":[[57,8],[117,8],[294,8],[591,7],[656,7],[720,8],[802,8]]},"126":{"position":[[201,7]]},"134":{"position":[[1196,7]]},"136":{"position":[[133,7],[170,7],[354,7],[449,7],[556,7]]},"138":{"position":[[137,8]]},"140":{"position":[[148,8]]},"144":{"position":[[262,7]]},"176":{"position":[[386,9],[477,8],[504,7]]},"184":{"position":[[41,8],[67,9],[417,10],[678,7],[867,7],[1066,7],[1293,9],[1573,11],[1739,7],[1851,7],[2143,8],[2332,8]]},"186":{"position":[[8,8],[373,7],[496,7],[605,8],[648,7]]},"188":{"position":[[11,8],[138,9],[271,8],[313,9],[402,8]]},"190":{"position":[[11,8],[201,9],[337,8],[354,9],[430,8],[472,9],[567,8],[904,8]]},"216":{"position":[[10,7],[151,8],[212,7],[283,8],[715,7],[770,8],[910,7],[1036,7],[1098,7],[1227,8],[1325,7],[1371,7],[1530,8],[1557,7],[1683,8],[1727,9]]},"222":{"position":[[506,7],[1201,7]]},"224":{"position":[[265,8],[454,8]]},"226":{"position":[[268,8],[423,8]]},"258":{"position":[[98,8],[150,7],[227,8]]},"260":{"position":[[206,9],[257,8],[312,7]]},"262":{"position":[[157,8],[251,8],[346,9],[447,8],[577,8],[664,7],[772,7],[918,8],[977,8],[1084,8]]},"264":{"position":[[66,8],[150,8],[203,8]]},"266":{"position":[[317,9],[420,7],[632,9]]},"272":{"position":[[172,9],[290,7],[454,7],[490,7],[614,7]]},"274":{"position":[[124,9],[407,8],[550,8]]},"276":{"position":[[74,7],[460,8]]},"278":{"position":[[220,9]]},"286":{"position":[[127,8],[218,8],[416,8]]},"288":{"position":[[54,9]]},"292":{"position":[[229,7],[625,8]]},"304":{"position":[[89,8],[193,9]]},"306":{"position":[[162,8]]},"308":{"position":[[72,8],[416,9]]},"310":{"position":[[42,8],[206,8],[403,8]]},"312":{"position":[[167,9],[275,8]]},"314":{"position":[[5,7],[51,8],[205,7],[397,7],[508,8]]},"322":{"position":[[270,7],[323,8],[390,9]]},"324":{"position":[[94,9]]},"326":{"position":[[180,7]]},"334":{"position":[[40,8],[98,7]]},"344":{"position":[[83,8]]},"352":{"position":[[54,8]]},"362":{"position":[[28,7],[97,7],[228,7]]},"372":{"position":[[115,7]]},"374":{"position":[[47,9],[87,8],[131,8]]},"376":{"position":[[189,8]]},"380":{"position":[[98,7]]},"384":{"position":[[144,8]]},"388":{"position":[[56,8],[123,8]]},"394":{"position":[[5,7],[38,8]]},"396":{"position":[[5,7],[181,7]]},"398":{"position":[[58,9]]},"402":{"position":[[33,9],[95,10],[467,7]]},"432":{"position":[[170,9]]},"446":{"position":[[332,7]]},"448":{"position":[[754,8],[815,9],[1250,8],[1540,9]]},"450":{"position":[[260,7],[274,7],[501,7],[798,7],[937,8],[1247,8],[1584,7],[1630,7],[1700,7],[2017,7],[2277,7],[2370,7],[2682,8],[2766,8],[2842,9],[2930,9],[3086,8],[3179,8],[3245,8],[3388,8]]},"452":{"position":[[119,8],[484,7],[577,8]]},"454":{"position":[[209,7],[263,8]]},"457":{"position":[[58,8],[146,7],[237,8]]},"459":{"position":[[48,7]]},"465":{"position":[[161,8],[271,7],[381,9],[599,8],[653,7],[779,8],[916,8],[950,7],[1031,8]]},"469":{"position":[[219,8],[428,8]]},"471":{"position":[[310,8],[452,7],[1426,8],[1533,8],[1803,8]]},"473":{"position":[[77,7],[182,7],[262,7],[318,8],[416,7],[485,7],[558,8]]},"475":{"position":[[86,8],[166,8],[202,7],[339,8],[480,8],[586,7],[681,7],[779,7],[886,7],[1009,7]]},"477":{"position":[[17,7],[187,7],[391,7],[580,7],[683,7],[921,7],[1134,8],[1290,7],[1465,9],[1490,8],[1639,7],[1654,7],[1705,8],[1758,7],[1851,7],[1946,7],[2094,7]]},"479":{"position":[[73,7],[804,8],[855,9]]},"481":{"position":[[31,7],[167,7],[372,8],[783,7],[1062,8],[1207,8],[1518,7],[1554,7],[1599,9],[1683,9],[2179,7]]},"484":{"position":[[395,7],[722,8],[786,8]]},"488":{"position":[[74,8],[208,7],[267,8],[476,8]]},"490":{"position":[[172,7],[302,7],[413,8]]},"492":{"position":[[473,8]]},"494":{"position":[[304,9]]},"496":{"position":[[180,8]]},"498":{"position":[[434,9]]},"512":{"position":[[863,8],[947,8],[1035,7]]},"516":{"position":[[53,8],[303,7],[316,7],[508,9]]},"520":{"position":[[377,8]]},"532":{"position":[[35,9],[183,9],[215,8]]},"534":{"position":[[121,7]]},"538":{"position":[[265,7],[347,8]]},"542":{"position":[[289,9]]}}}],["message/10",{"_index":1865,"t":{"450":{"position":[[779,10]]}}}],["message/payload",{"_index":697,"t":{"113":{"position":[[540,15]]},"115":{"position":[[655,15]]}}}],["message/proto",{"_index":1438,"t":{"266":{"position":[[752,13]]}}}],["messageindex\\\"\\ndetail",{"_index":2046,"t":{"471":{"position":[[661,25]]}}}],["messageobj",{"_index":297,"t":{"36":{"position":[[334,10],[382,10]]}}}],["messages.map((messag",{"_index":1063,"t":{"184":{"position":[[1224,23]]}}}],["messages.push(wakumessag",{"_index":724,"t":{"120":{"position":[[303,27]]}}}],["messages/minut",{"_index":2187,"t":{"492":{"position":[[487,16]]}}}],["messages/sec",{"_index":1869,"t":{"450":{"position":[[1016,12]]}}}],["messages[messages.length",{"_index":727,"t":{"120":{"position":[[645,24]]}}}],["messagespromis",{"_index":705,"t":{"115":{"position":[[482,16]]}}}],["meta",{"_index":1564,"t":{"314":{"position":[[238,4]]}}}],["metadata",{"_index":1425,"t":{"264":{"position":[[19,8]]},"394":{"position":[[110,8]]}}}],["metal",{"_index":2004,"t":{"469":{"position":[[944,6],[2019,6]]},"471":{"position":[[1074,6]]}}}],["method",{"_index":141,"t":{"14":{"position":[[56,6],[226,6]]},"26":{"position":[[441,7],[523,7]]},"53":{"position":[[221,7]]},"87":{"position":[[63,8]]},"91":{"position":[[161,8],[270,6],[471,8]]},"95":{"position":[[1326,7]]},"97":{"position":[[1480,8]]},"99":{"position":[[352,7],[3133,7]]},"101":{"position":[[1060,8]]},"113":{"position":[[73,6],[310,8]]},"115":{"position":[[281,8]]},"130":{"position":[[460,6]]},"154":{"position":[[457,7]]},"164":{"position":[[341,7]]},"168":{"position":[[66,8],[265,6]]},"170":{"position":[[86,8]]},"172":{"position":[[477,6]]},"174":{"position":[[666,6]]},"186":{"position":[[282,6]]},"220":{"position":[[32,6]]},"234":{"position":[[295,7]]},"250":{"position":[[322,6]]},"332":{"position":[[109,7]]},"360":{"position":[[117,6]]},"362":{"position":[[202,7]]},"396":{"position":[[169,7]]},"432":{"position":[[131,7],[377,6]]},"510":{"position":[[98,7]]},"526":{"position":[[17,7]]},"568":{"position":[[1602,7]]}}}],["metric",{"_index":56,"t":{"4":{"position":[[376,7]]},"146":{"position":[[31,7],[63,7],[90,7],[148,7],[163,7],[215,7],[230,7],[258,7]]},"174":{"position":[[171,7]]},"278":{"position":[[238,7]]},"288":{"position":[[80,8]]},"290":{"position":[[75,7]]},"496":{"position":[[151,7]]},"536":{"position":[[52,7]]}}}],["microsoft",{"_index":1300,"t":{"232":{"position":[[914,9]]}}}],["migrat",{"_index":877,"t":{"136":{"position":[[567,9],[598,9]]},"402":{"position":[[866,7]]}}}],["million",{"_index":1983,"t":{"467":{"position":[[233,7]]}}}],["mind",{"_index":351,"t":{"44":{"position":[[185,5]]},"268":{"position":[[121,5]]}}}],["mine",{"_index":2236,"t":{"508":{"position":[[133,5]]}}}],["miner",{"_index":2235,"t":{"508":{"position":[[93,6],[168,6]]},"514":{"position":[[459,6]]}}}],["mini",{"_index":2172,"t":{"488":{"position":[[381,4]]}}}],["minim",{"_index":513,"t":{"79":{"position":[[384,9]]},"498":{"position":[[459,7]]}}}],["minimum",{"_index":929,"t":{"156":{"position":[[246,7]]}}}],["minor",{"_index":2115,"t":{"479":{"position":[[771,5]]},"496":{"position":[[159,5]]}}}],["minut",{"_index":886,"t":{"138":{"position":[[248,7]]},"494":{"position":[[422,7]]}}}],["misbehav",{"_index":2219,"t":{"502":{"position":[[274,11]]}}}],["misbehaviour",{"_index":2247,"t":{"508":{"position":[[532,13]]}}}],["miss",{"_index":685,"t":{"111":{"position":[[135,6]]},"310":{"position":[[199,6]]},"388":{"position":[[116,6]]},"502":{"position":[[580,4]]}}}],["mitig",{"_index":1789,"t":{"434":{"position":[[219,10]]}}}],["mkdir",{"_index":977,"t":{"158":{"position":[[710,5]]}}}],["mobil",{"_index":96,"t":{"8":{"position":[[40,6],[97,6]]},"256":{"position":[[315,6]]},"354":{"position":[[192,6]]},"546":{"position":[[1751,7]]}}}],["mode",{"_index":1733,"t":{"416":{"position":[[498,5]]}}}],["model",{"_index":1580,"t":{"318":{"position":[[140,6]]},"434":{"position":[[506,5]]},"526":{"position":[[100,5]]}}}],["modern",{"_index":419,"t":{"65":{"position":[[122,6]]}}}],["modif",{"_index":1819,"t":{"446":{"position":[[216,13]]},"479":{"position":[[777,12]]},"546":{"position":[[2957,14]]}}}],["modifi",{"_index":416,"t":{"65":{"position":[[46,6]]},"99":{"position":[[2682,6]]},"184":{"position":[[77,6],[1890,6]]},"186":{"position":[[48,6]]},"250":{"position":[[513,9]]},"298":{"position":[[430,9]]},"426":{"position":[[7,6]]},"450":{"position":[[2482,9]]},"479":{"position":[[127,8]]},"556":{"position":[[128,6]]},"564":{"position":[[7,6]]},"570":{"position":[[386,7]]}}}],["modular",{"_index":1395,"t":{"256":{"position":[[81,7]]},"302":{"position":[[13,7]]},"348":{"position":[[12,7]]},"512":{"position":[[49,7]]}}}],["monetari",{"_index":2214,"t":{"502":{"position":[[85,8],[151,8],[192,8]]},"506":{"position":[[337,8]]},"508":{"position":[[54,8],[297,8],[411,8]]},"514":{"position":[[221,8],[289,8],[674,8],[725,8]]}}}],["money",{"_index":2307,"t":{"528":{"position":[[645,6]]}}}],["monitor",{"_index":1155,"t":{"202":{"position":[[132,10]]},"230":{"position":[[93,7]]},"278":{"position":[[297,7],[369,8]]},"290":{"position":[[46,10]]}}}],["more",{"_index":227,"t":{"26":{"position":[[518,4]]},"55":{"position":[[91,4]]},"115":{"position":[[45,4]]},"164":{"position":[[188,4]]},"212":{"position":[[85,4]]},"236":{"position":[[85,4]]},"246":{"position":[[449,5]]},"256":{"position":[[361,5]]},"264":{"position":[[314,5]]},"274":{"position":[[459,4]]},"294":{"position":[[287,5]]},"306":{"position":[[320,4]]},"372":{"position":[[178,5]]},"402":{"position":[[535,4]]},"404":{"position":[[420,4]]},"414":{"position":[[1897,4]]},"432":{"position":[[290,4]]},"434":{"position":[[719,4],[807,4]]},"450":{"position":[[3113,4]]},"452":{"position":[[191,4]]},"459":{"position":[[295,4]]},"465":{"position":[[1162,4]]},"469":{"position":[[278,4],[1441,4],[2202,4],[2541,4],[2817,4]]},"471":{"position":[[1634,4],[1700,4],[1911,4]]},"477":{"position":[[289,4],[1503,4],[1609,4]]},"481":{"position":[[745,4],[981,4],[2373,4]]},"514":{"position":[[561,4]]},"524":{"position":[[773,4],[807,4],[856,4],[1129,4]]},"526":{"position":[[4,4]]},"528":{"position":[[837,4]]},"530":{"position":[[9,4]]},"546":{"position":[[370,4]]}}}],["moreov",{"_index":2231,"t":{"506":{"position":[[253,9]]},"524":{"position":[[1095,9]]}}}],["mostli",{"_index":1411,"t":{"260":{"position":[[116,6]]},"354":{"position":[[0,6]]},"442":{"position":[[235,6]]},"546":{"position":[[935,6]]}}}],["motiv",{"_index":1292,"t":{"230":{"position":[[246,12]]}}}],["mount",{"_index":1944,"t":{"459":{"position":[[226,7]]},"465":{"position":[[96,8]]}}}],["move",{"_index":1567,"t":{"316":{"position":[[16,4]]}}}],["mpb",{"_index":2406,"t":{"546":{"position":[[2025,5],[2461,5]]}}}],["mpt=ipt_1+ipt_2+ipt_3+ipt_4",{"_index":2093,"t":{"477":{"position":[[1971,27]]}}}],["ms",{"_index":2064,"t":{"473":{"position":[[383,3]]},"481":{"position":[[1113,3],[1233,3],[1318,3]]}}}],["msg",{"_index":711,"t":{"115":{"position":[[626,3]]},"450":{"position":[[2435,3],[2455,3]]}}}],["msg/day",{"_index":1911,"t":{"452":{"position":[[300,8],[476,7],[1086,8]]}}}],["msg/sec",{"_index":1917,"t":{"452":{"position":[[694,7],[714,7]]}}}],["msg1",{"_index":1419,"t":{"262":{"position":[[385,4],[641,4],[755,5],[862,4],[1057,4]]}}}],["msgs/sec",{"_index":1971,"t":{"465":{"position":[[1138,9],[1224,8]]}}}],["mu",{"_index":2128,"t":{"481":{"position":[[304,2]]}}}],["much",{"_index":1901,"t":{"450":{"position":[[2717,5]]},"465":{"position":[[1157,4]]},"469":{"position":[[3015,4]]},"490":{"position":[[385,4]]},"506":{"position":[[231,4]]}}}],["multiaddr",{"_index":162,"t":{"16":{"position":[[207,9],[459,12]]},"69":{"position":[[209,9]]},"73":{"position":[[114,9]]},"130":{"position":[[559,9],[651,9]]},"132":{"position":[[89,10],[182,10]]},"134":{"position":[[1287,9]]},"138":{"position":[[95,9]]},"140":{"position":[[104,9]]},"152":{"position":[[139,9]]},"194":{"position":[[213,9],[247,9]]},"200":{"position":[[200,9],[340,9]]},"214":{"position":[[167,10],[550,9]]},"216":{"position":[[1615,10]]},"218":{"position":[[71,11]]},"224":{"position":[[332,10]]},"226":{"position":[[340,10]]},"228":{"position":[[140,9],[163,9],[206,10],[243,9],[317,9],[436,9]]},"250":{"position":[[257,10]]},"296":{"position":[[68,9],[288,11]]}}}],["multiaddr=[multiaddr",{"_index":1289,"t":{"228":{"position":[[271,20]]}}}],["multiaddress",{"_index":800,"t":{"130":{"position":[[578,14],[695,14]]},"136":{"position":[[93,12]]}}}],["multipl",{"_index":62,"t":{"6":{"position":[[23,8]]},"192":{"position":[[160,8]]},"194":{"position":[[117,8]]},"196":{"position":[[495,8]]},"198":{"position":[[249,8]]},"212":{"position":[[112,8]]},"232":{"position":[[62,8]]},"236":{"position":[[112,8],[644,8]]},"260":{"position":[[145,8]]},"272":{"position":[[191,8]]},"274":{"position":[[377,8]]},"276":{"position":[[937,8]]},"316":{"position":[[284,8]]},"450":{"position":[[3379,8]]},"465":{"position":[[355,8]]},"475":{"position":[[605,8]]},"477":{"position":[[599,8]]},"492":{"position":[[454,8]]},"516":{"position":[[213,8]]},"520":{"position":[[317,8]]},"532":{"position":[[72,8]]},"542":{"position":[[380,8]]}}}],["multipli",{"_index":1841,"t":{"448":{"position":[[1270,10]]}}}],["my_private_key.pem",{"_index":1238,"t":{"218":{"position":[[683,18],[747,18]]}}}],["n",{"_index":1506,"t":{"292":{"position":[[483,1]]},"465":{"position":[[105,3]]},"471":{"position":[[951,1]]},"528":{"position":[[228,2],[394,2]]}}}],["n1",{"_index":2091,"t":{"477":{"position":[[1891,2]]}}}],["n5",{"_index":2092,"t":{"477":{"position":[[1909,2]]}}}],["n_1...n_i",{"_index":2069,"t":{"475":{"position":[[249,9]]}}}],["naiv",{"_index":1879,"t":{"450":{"position":[[1332,5]]}}}],["name",{"_index":194,"t":{"18":{"position":[[455,7]]},"67":{"position":[[745,5]]},"126":{"position":[[0,4]]},"128":{"position":[[0,4]]},"130":{"position":[[0,4]]},"132":{"position":[[0,4],[110,4],[149,4],[242,4],[258,4]]},"134":{"position":[[0,4]]},"136":{"position":[[0,4]]},"138":{"position":[[0,4]]},"140":{"position":[[0,4]]},"142":{"position":[[0,4]]},"144":{"position":[[0,4]]},"146":{"position":[[0,4]]},"148":{"position":[[0,4],[173,4],[212,4]]},"150":{"position":[[0,4]]},"152":{"position":[[0,4]]},"154":{"position":[[0,4]]},"170":{"position":[[175,5],[301,4]]},"172":{"position":[[78,4]]},"196":{"position":[[275,4],[403,4],[431,4],[508,4],[616,5],[640,4],[657,4],[708,4],[1104,4],[1142,4]]},"214":{"position":[[34,4],[112,4],[248,5],[287,4],[444,4],[584,5],[744,4],[851,4],[912,4]]},"218":{"position":[[663,4]]},"228":{"position":[[385,4]]},"250":{"position":[[144,5],[376,4],[534,5],[649,5],[719,5]]},"258":{"position":[[22,4]]},"266":{"position":[[125,5],[150,4],[341,5],[360,4]]},"340":{"position":[[116,5]]},"414":{"position":[[946,4],[1575,4]]},"448":{"position":[[118,4]]}}}],["name=[domain",{"_index":1189,"t":{"214":{"position":[[235,12]]}}}],["name=nwakunode.com",{"_index":1190,"t":{"214":{"position":[[371,18]]}}}],["name}/{encod",{"_index":1429,"t":{"266":{"position":[[96,16]]}}}],["name}/{version}/{cont",{"_index":1428,"t":{"266":{"position":[[65,24]]}}}],["napkin",{"_index":1913,"t":{"452":{"position":[[377,6]]}}}],["nat",{"_index":792,"t":{"130":{"position":[[444,3]]},"208":{"position":[[626,4]]},"228":{"position":[[365,3]]}}}],["nat=ani",{"_index":1172,"t":{"208":{"position":[[633,7]]}}}],["nat=extip:[your",{"_index":1170,"t":{"208":{"position":[[573,15]]}}}],["nativ",{"_index":83,"t":{"6":{"position":[[421,6]]},"67":{"position":[[15,6]]},"75":{"position":[[84,7],[125,6]]},"178":{"position":[[84,7],[125,6]]},"508":{"position":[[47,6],[464,6]]},"514":{"position":[[29,6]]}}}],["natur",{"_index":387,"t":{"53":{"position":[[307,7]]},"568":{"position":[[908,6]]}}}],["nearest",{"_index":2351,"t":{"544":{"position":[[256,7]]}}}],["necessari",{"_index":1486,"t":{"284":{"position":[[245,9]]},"514":{"position":[[814,9]]}}}],["need",{"_index":364,"t":{"47":{"position":[[229,4]]},"67":{"position":[[956,4]]},"101":{"position":[[332,4]]},"158":{"position":[[20,4]]},"186":{"position":[[40,4]]},"188":{"position":[[43,4]]},"190":{"position":[[38,4]]},"230":{"position":[[239,6]]},"250":{"position":[[556,4]]},"274":{"position":[[568,6]]},"286":{"position":[[451,4]]},"414":{"position":[[321,4],[418,6]]},"448":{"position":[[1614,5]]},"450":{"position":[[639,4]]},"452":{"position":[[25,4]]},"457":{"position":[[435,6]]},"477":{"position":[[2136,4],[2199,4]]},"488":{"position":[[284,4]]},"494":{"position":[[544,4]]},"498":{"position":[[140,5]]},"542":{"position":[[243,4]]}}}],["neglig",{"_index":2196,"t":{"494":{"position":[[376,11]]},"560":{"position":[[54,11]]}}}],["negoti",{"_index":1608,"t":{"326":{"position":[[325,11]]},"518":{"position":[[127,11],[489,12]]},"520":{"position":[[211,11],[287,10]]},"522":{"position":[[217,11]]}}}],["neighbor",{"_index":2222,"t":{"502":{"position":[[528,9],[672,10]]}}}],["neighbour",{"_index":1150,"t":{"200":{"position":[[948,12]]}}}],["neighbourhood",{"_index":1516,"t":{"294":{"position":[[427,14]]}}}],["netflix",{"_index":2355,"t":{"544":{"position":[[437,7]]},"546":{"position":[[2119,7]]}}}],["network",{"_index":32,"t":{"4":{"position":[[9,7],[95,8],[237,7],[505,7]]},"10":{"position":[[110,7]]},"12":{"position":[[113,7],[371,8],[497,7]]},"26":{"position":[[85,8]]},"28":{"position":[[92,8]]},"30":{"position":[[596,7]]},"34":{"position":[[31,7]]},"36":{"position":[[893,7]]},"40":{"position":[[71,8]]},"42":{"position":[[953,7]]},"57":{"position":[[99,7]]},"67":{"position":[[154,7]]},"73":{"position":[[22,10]]},"81":{"position":[[1472,8],[1598,7]]},"89":{"position":[[606,7]]},"91":{"position":[[314,8]]},"105":{"position":[[85,8]]},"130":{"position":[[199,7],[613,8]]},"150":{"position":[[250,8]]},"186":{"position":[[153,7],[672,7]]},"192":{"position":[[108,8]]},"200":{"position":[[925,7],[1018,7]]},"212":{"position":[[17,8]]},"216":{"position":[[44,7]]},"222":{"position":[[61,8]]},"230":{"position":[[387,8]]},"236":{"position":[[17,8]]},"244":{"position":[[1543,8]]},"246":{"position":[[78,8],[336,8]]},"250":{"position":[[389,8]]},"254":{"position":[[87,7]]},"256":{"position":[[67,8]]},"258":{"position":[[60,8],[167,8],[247,8]]},"262":{"position":[[91,8],[171,7]]},"272":{"position":[[40,7]]},"276":{"position":[[197,8],[446,7]]},"278":{"position":[[192,7]]},"286":{"position":[[50,8],[432,8]]},"292":{"position":[[497,7],[727,8]]},"294":{"position":[[222,8],[355,7]]},"296":{"position":[[426,8]]},"304":{"position":[[327,7]]},"306":{"position":[[202,8],[277,7]]},"308":{"position":[[197,8]]},"310":{"position":[[66,8],[435,8]]},"312":{"position":[[297,8],[408,7]]},"314":{"position":[[72,8],[477,7]]},"316":{"position":[[43,7],[150,7]]},"326":{"position":[[353,8]]},"332":{"position":[[63,8],[162,8]]},"338":{"position":[[161,7]]},"342":{"position":[[136,8]]},"344":{"position":[[206,8]]},"346":{"position":[[94,8]]},"348":{"position":[[20,7],[141,7]]},"350":{"position":[[101,8]]},"352":{"position":[[76,7]]},"354":{"position":[[153,8]]},"356":{"position":[[83,7]]},"364":{"position":[[58,7]]},"366":{"position":[[89,8]]},"368":{"position":[[122,8]]},"370":{"position":[[54,7]]},"372":{"position":[[64,7]]},"380":{"position":[[190,7]]},"384":{"position":[[201,7]]},"388":{"position":[[72,8],[157,8]]},"390":{"position":[[17,7]]},"392":{"position":[[258,8]]},"394":{"position":[[59,8]]},"396":{"position":[[114,8]]},"398":{"position":[[9,7],[68,7]]},"402":{"position":[[9,7],[43,7],[555,8],[574,7],[649,7],[893,7]]},"404":{"position":[[82,8],[200,7],[351,8],[467,8]]},"406":{"position":[[552,8]]},"408":{"position":[[108,8]]},"434":{"position":[[668,7]]},"440":{"position":[[215,8],[298,8]]},"446":{"position":[[36,7]]},"448":{"position":[[1171,8],[1583,7]]},"450":{"position":[[1401,7],[1804,7],[1984,7]]},"473":{"position":[[102,7],[141,7]]},"477":{"position":[[1066,7]]},"479":{"position":[[481,8]]},"481":{"position":[[109,7]]},"484":{"position":[[280,7]]},"486":{"position":[[117,7]]},"490":{"position":[[561,7]]},"492":{"position":[[441,7],[600,7]]},"498":{"position":[[68,7]]},"504":{"position":[[40,8]]},"506":{"position":[[23,8]]},"508":{"position":[[80,8]]},"510":{"position":[[35,8]]},"512":{"position":[[125,8],[1056,8]]},"514":{"position":[[106,9],[550,7],[837,7]]},"526":{"position":[[295,7]]},"536":{"position":[[167,8]]},"546":{"position":[[415,7],[443,7],[738,7],[1139,7]]}}}],["never",{"_index":2302,"t":{"528":{"position":[[372,5]]}}}],["new",{"_index":262,"t":{"32":{"position":[[183,3]]},"34":{"position":[[79,3],[149,3]]},"36":{"position":[[600,3]]},"42":{"position":[[290,3]]},"83":{"position":[[83,5],[202,3]]},"87":{"position":[[13,3]]},"122":{"position":[[188,3],[218,3]]},"176":{"position":[[127,3]]},"184":{"position":[[920,3]]},"186":{"position":[[492,3]]},"190":{"position":[[563,3]]},"208":{"position":[[15,3]]},"218":{"position":[[15,3]]},"262":{"position":[[914,3]]},"426":{"position":[[148,3]]},"484":{"position":[[613,3],[731,3],[825,3]]},"528":{"position":[[583,3],[764,3]]},"564":{"position":[[174,3]]}}}],["newer",{"_index":510,"t":{"79":{"position":[[350,5]]}}}],["newli",{"_index":1117,"t":{"190":{"position":[[186,5]]},"508":{"position":[[127,5]]}}}],["newseq[protectedtopic](0",{"_index":761,"t":{"126":{"position":[[134,25]]}}}],["next",{"_index":111,"t":{"10":{"position":[[194,4]]},"42":{"position":[[354,5]]},"81":{"position":[[791,4]]},"85":{"position":[[53,4]]},"87":{"position":[[164,5]]},"120":{"position":[[169,4],[745,4]]},"180":{"position":[[286,5]]},"182":{"position":[[579,5]]},"184":{"position":[[1884,5]]},"450":{"position":[[3297,4]]},"459":{"position":[[16,4]]},"465":{"position":[[323,4]]},"469":{"position":[[364,4],[815,4],[1890,4]]}}}],["nightli",{"_index":1298,"t":{"232":{"position":[[586,7],[671,7]]}}}],["nim",{"_index":42,"t":{"4":{"position":[[167,3]]},"6":{"position":[[383,3],[428,3]]},"230":{"position":[[34,3]]},"457":{"position":[[4,3]]},"471":{"position":[[219,3],[1121,3]]}}}],["node",{"_index":31,"t":{"2":{"position":[[396,5]]},"4":{"position":[[80,6],[217,4],[271,4],[358,4],[485,4]]},"10":{"position":[[123,4]]},"12":{"position":[[58,4],[180,4],[214,4],[266,4],[325,5],[395,5],[514,5]]},"14":{"position":[[193,4],[239,4]]},"16":{"position":[[15,4],[234,5],[345,4],[375,4],[510,4],[896,4],[930,4],[1066,5]]},"18":{"position":[[15,4],[234,4],[397,4],[473,4],[570,4],[601,4],[744,4],[882,4],[913,4]]},"20":{"position":[[28,4],[494,4],[591,4],[622,4]]},"22":{"position":[[51,4],[193,4],[326,4]]},"24":{"position":[[94,4]]},"26":{"position":[[53,4],[167,4],[178,4],[301,4],[387,4],[478,5],[544,6]]},"28":{"position":[[53,4]]},"38":{"position":[[77,4]]},"42":{"position":[[1148,4]]},"67":{"position":[[1069,4]]},"69":{"position":[[195,4]]},"81":{"position":[[237,5],[386,5],[855,5],[908,4],[1317,4],[1367,4],[1426,5],[1496,5],[1615,5]]},"91":{"position":[[213,4],[221,4]]},"103":{"position":[[53,4]]},"105":{"position":[[53,4],[167,4],[178,4]]},"107":{"position":[[53,4]]},"111":{"position":[[100,5],[177,5]]},"113":{"position":[[99,5]]},"115":{"position":[[120,5]]},"122":{"position":[[822,4]]},"124":{"position":[[23,4]]},"130":{"position":[[64,4],[84,4],[150,4],[219,4]]},"138":{"position":[[196,4]]},"148":{"position":[[70,5],[114,4]]},"150":{"position":[[73,5],[83,4],[145,4],[180,4],[216,5],[419,5],[510,5]]},"152":{"position":[[129,4]]},"154":{"position":[[372,4],[438,4]]},"156":{"position":[[52,4]]},"164":{"position":[[255,4],[322,4]]},"166":{"position":[[137,4]]},"168":{"position":[[5,5]]},"170":{"position":[[0,4],[234,4]]},"172":{"position":[[0,5],[316,4],[344,4]]},"174":{"position":[[0,5]]},"176":{"position":[[91,4],[131,4],[652,4],[699,4]]},"182":{"position":[[303,4],[443,4],[610,4],[765,4],[778,5],[819,6],[847,4],[901,4],[952,4]]},"184":{"position":[[615,4],[628,5]]},"186":{"position":[[294,4],[343,5]]},"188":{"position":[[362,5]]},"190":{"position":[[401,5],[521,5]]},"192":{"position":[[56,4],[148,4]]},"194":{"position":[[40,4],[290,4]]},"196":{"position":[[35,5],[126,4],[185,4],[828,4],[879,4]]},"198":{"position":[[28,5],[115,4],[160,5],[205,5],[465,4],[863,4]]},"200":{"position":[[35,5],[126,4],[183,4],[224,4],[405,5],[459,5],[476,5],[555,4],[640,4],[961,6]]},"202":{"position":[[60,4]]},"208":{"position":[[230,4],[966,4],[1013,4]]},"210":{"position":[[56,4]]},"212":{"position":[[26,5]]},"214":{"position":[[85,4],[333,5],[398,5],[424,5],[494,5],[926,5]]},"216":{"position":[[268,4],[875,4],[1169,4],[1495,4],[1656,4]]},"218":{"position":[[0,5],[1010,4]]},"220":{"position":[[47,5],[221,4],[416,4],[841,4],[1001,4],[1375,5]]},"222":{"position":[[47,4],[176,4],[998,4],[1145,4]]},"224":{"position":[[228,4],[414,4]]},"226":{"position":[[229,4],[381,4]]},"230":{"position":[[64,5],[124,5],[370,4],[434,4],[500,4],[591,5]]},"232":{"position":[[9,5],[93,5],[187,4],[271,4],[377,4],[559,4],[759,4]]},"234":{"position":[[251,5],[276,4],[307,4]]},"236":{"position":[[26,5],[211,5],[333,5],[533,5],[572,4],[632,4]]},"238":{"position":[[38,4],[86,4],[117,4],[763,4]]},"240":{"position":[[40,4],[84,4],[143,5]]},"242":{"position":[[144,5]]},"244":{"position":[[8,4],[66,4],[338,5],[586,4],[993,5],[1231,4],[1526,4],[1571,4]]},"246":{"position":[[232,6],[305,5],[374,5]]},"248":{"position":[[72,4]]},"250":{"position":[[39,4],[208,4],[617,5],[787,5]]},"252":{"position":[[151,4],[301,4]]},"256":{"position":[[50,5]]},"260":{"position":[[336,5]]},"262":{"position":[[287,4],[356,4],[424,4],[525,4],[624,4],[685,4],[695,4],[724,4],[732,4],[810,5],[835,4],[843,4],[870,4],[944,4],[1028,4],[1036,4]]},"276":{"position":[[25,5],[284,4],[736,4]]},"278":{"position":[[84,4],[178,4],[279,4],[309,5],[404,4]]},"286":{"position":[[114,4]]},"288":{"position":[[27,5]]},"290":{"position":[[70,4]]},"292":{"position":[[11,4],[711,4],[963,4],[1026,4]]},"294":{"position":[[171,5],[205,5],[363,5],[513,5],[616,6]]},"296":{"position":[[383,6]]},"298":{"position":[[58,4],[170,5],[254,4],[328,5],[411,4]]},"300":{"position":[[61,4],[122,5]]},"304":{"position":[[355,5]]},"308":{"position":[[29,5]]},"310":{"position":[[294,4]]},"312":{"position":[[46,5]]},"316":{"position":[[345,6],[416,5],[457,5],[524,6],[608,5]]},"328":{"position":[[164,5],[398,4],[492,4],[528,4]]},"332":{"position":[[46,4]]},"336":{"position":[[124,6]]},"340":{"position":[[146,4]]},"342":{"position":[[9,4],[77,6],[191,4]]},"344":{"position":[[40,5]]},"350":{"position":[[8,4],[75,5]]},"352":{"position":[[40,5]]},"356":{"position":[[2,4]]},"358":{"position":[[2,4],[141,5]]},"364":{"position":[[23,5]]},"366":{"position":[[25,4]]},"368":{"position":[[63,5],[109,5]]},"370":{"position":[[37,4]]},"372":{"position":[[42,5]]},"380":{"position":[[218,5]]},"392":{"position":[[168,4]]},"402":{"position":[[439,6]]},"404":{"position":[[330,5],[425,4]]},"406":{"position":[[115,4],[170,4]]},"408":{"position":[[91,4],[133,4]]},"434":{"position":[[617,4]]},"440":{"position":[[46,6],[261,4]]},"448":{"position":[[323,5],[383,4],[708,4],[1154,5],[1329,4],[1854,4]]},"450":{"position":[[1146,6]]},"454":{"position":[[68,5]]},"457":{"position":[[13,5],[118,5],[276,5]]},"459":{"position":[[264,4]]},"465":{"position":[[38,4],[109,5],[140,5],[209,5],[364,5],[758,5],[1115,4],[1190,4],[1488,4]]},"467":{"position":[[102,4],[163,4],[265,4],[329,6],[347,4],[493,5],[530,5],[706,4]]},"469":{"position":[[102,4],[684,5],[1237,4]]},"471":{"position":[[100,5],[228,5],[1130,5],[1705,6]]},"473":{"position":[[43,5]]},"475":{"position":[[148,5],[243,5],[325,4],[441,5],[542,5],[640,6],[760,4],[804,4]]},"477":{"position":[[220,6],[321,5],[337,5],[429,4],[522,5],[780,5],[865,5],[953,5],[1084,5],[1115,4],[1175,6],[1217,5],[1392,6],[1535,5],[1689,4],[1886,4],[2057,4]]},"479":{"position":[[720,5]]},"481":{"position":[[581,4],[633,5],[911,4],[1346,5],[1477,4],[1730,6],[1933,4],[2096,4]]},"484":{"position":[[334,6]]},"486":{"position":[[134,5]]},"488":{"position":[[246,4]]},"490":{"position":[[459,5]]},"492":{"position":[[387,6],[588,4],[651,6]]},"496":{"position":[[25,5]]},"498":{"position":[[106,5],[199,4]]},"502":{"position":[[172,4],[217,5],[516,5],[574,5],[645,4],[699,4]]},"512":{"position":[[402,4],[485,4],[591,5],[621,5],[667,4],[683,4]]},"540":{"position":[[154,5]]},"542":{"position":[[69,4],[312,4],[536,5],[834,5],[881,4]]},"546":{"position":[[400,6],[591,5],[642,5],[1197,4],[1501,4],[1534,5],[1598,5]]}}}],["node'",{"_index":818,"t":{"132":{"position":[[280,6]]},"214":{"position":[[141,6],[771,6]]},"238":{"position":[[604,6]]},"328":{"position":[[425,6]]},"370":{"position":[[107,6]]},"434":{"position":[[80,6]]},"502":{"position":[[309,6],[384,6]]},"514":{"position":[[367,6]]}}}],["node.filter.createsubscript",{"_index":302,"t":{"36":{"position":[[523,33]]},"42":{"position":[[213,33]]}}}],["node.lightpush.send(eciesencod",{"_index":641,"t":{"99":{"position":[[1949,33]]}}}],["node.lightpush.send(encod",{"_index":286,"t":{"34":{"position":[[432,28]]},"95":{"position":[[716,28]]},"97":{"position":[[867,28]]}}}],["node.lightpush.send(symmetricencod",{"_index":639,"t":{"99":{"position":[[1835,37]]}}}],["node.start",{"_index":222,"t":{"26":{"position":[[242,13]]},"105":{"position":[[242,13]]}}}],["node.stop",{"_index":224,"t":{"26":{"position":[[315,12]]}}}],["node.store.querygenerator([decod",{"_index":704,"t":{"115":{"position":[[403,37]]},"118":{"position":[[520,35]]},"122":{"position":[[495,35]]}}}],["node.store.querywithorderedcallback",{"_index":699,"t":{"113":{"position":[[635,36]]},"120":{"position":[[543,36],[836,36]]}}}],["node.store.querywithorderedcallback([decod",{"_index":600,"t":{"95":{"position":[[1189,46]]},"97":{"position":[[1349,46]]},"118":{"position":[[434,46]]},"122":{"position":[[409,46]]}}}],["node=/ip4/0.0.0.0/tcp/60000/p2p/16uiu2hamlce6zvqcs6kmqqrbbhyojjfyzgr1q3thtsbykzibqkfr",{"_index":1148,"t":{"200":{"position":[[751,85]]}}}],["node=[discv5",{"_index":1141,"t":{"198":{"position":[[342,12],[399,12]]}}}],["node=[p",{"_index":1145,"t":{"200":{"position":[[329,10]]}}}],["node=enr",{"_index":1142,"t":{"198":{"position":[[608,9]]}}}],["node_a",{"_index":1986,"t":{"467":{"position":[[321,7],[671,6]]}}}],["node_b",{"_index":1987,"t":{"467":{"position":[[403,7],[628,6]]}}}],["node_c",{"_index":1989,"t":{"467":{"position":[[499,7]]}}}],["node_d",{"_index":1990,"t":{"467":{"position":[[511,8]]}}}],["node_opt",{"_index":1032,"t":{"182":{"position":[[322,12]]}}}],["node_requir",{"_index":196,"t":{"18":{"position":[[497,17],[688,18],[1025,18]]},"20":{"position":[[518,17],[745,18]]}}}],["nodea",{"_index":1980,"t":{"467":{"position":[[84,6]]}}}],["nodeb",{"_index":1982,"t":{"467":{"position":[[145,6]]}}}],["nodec",{"_index":1984,"t":{"467":{"position":[[247,6]]}}}],["nodej",{"_index":347,"t":{"44":{"position":[[96,6],[258,7]]},"47":{"position":[[54,6],[157,6],[210,7]]},"51":{"position":[[98,6]]},"53":{"position":[[94,7],[169,6],[338,7],[455,6]]},"55":{"position":[[28,6]]},"57":{"position":[[29,6],[119,6]]},"59":{"position":[[109,6]]},"63":{"position":[[38,7]]},"81":{"position":[[990,6],[1079,6]]}}}],["nodekey",{"_index":781,"t":{"130":{"position":[[207,7]]},"218":{"position":[[157,7]]}}}],["nodekey=286cae9f2990bfc49dafdd3a9e737f56ddba3656e5e427108cef456fb67680e8",{"_index":1248,"t":{"218":{"position":[[1050,72]]}}}],["nodekey=[nod",{"_index":1228,"t":{"218":{"position":[[193,13]]}}}],["nodes=1000",{"_index":2114,"t":{"479":{"position":[[698,11]]}}}],["nois",{"_index":585,"t":{"91":{"position":[[192,5]]},"326":{"position":[[204,5],[278,5]]},"400":{"position":[[5,5],[41,5]]}}}],["non",{"_index":1702,"t":{"414":{"position":[[1116,3]]},"506":{"position":[[333,3]]},"514":{"position":[[585,3]]},"538":{"position":[[333,3]]},"552":{"position":[[274,3]]},"558":{"position":[[419,3]]}}}],["none",{"_index":794,"t":{"130":{"position":[[527,5]]},"136":{"position":[[332,4]]},"216":{"position":[[603,4]]}}}],["nonetheless",{"_index":1755,"t":{"422":{"position":[[117,12]]}}}],["normal",{"_index":1972,"t":{"465":{"position":[[1176,6],[1513,6]]}}}],["north",{"_index":2357,"t":{"544":{"position":[[542,5]]},"546":{"position":[[2678,5]]}}}],["note",{"_index":427,"t":{"67":{"position":[[194,4]]},"168":{"position":[[216,4]]},"292":{"position":[[299,4],[665,4]]},"320":{"position":[[156,4]]},"414":{"position":[[1835,4]]},"438":{"position":[[162,7]]},"477":{"position":[[260,4]]},"479":{"position":[[274,4]]},"481":{"position":[[202,4],[356,5],[1693,4]]},"542":{"position":[[1156,4]]},"544":{"position":[[212,5]]},"546":{"position":[[1588,4],[2901,5]]},"568":{"position":[[520,4]]}}}],["noth",{"_index":2203,"t":{"496":{"position":[[232,7]]},"552":{"position":[[1628,7]]}}}],["notic",{"_index":768,"t":{"128":{"position":[[133,7]]},"426":{"position":[[81,7]]},"459":{"position":[[156,6]]},"469":{"position":[[658,6],[2125,6],[2464,6],[2740,6],[3480,7],[3741,6]]},"477":{"position":[[1182,6]]},"554":{"position":[[1392,6]]},"564":{"position":[[87,7]]},"568":{"position":[[870,6],[1108,6]]}}}],["notif",{"_index":1435,"t":{"266":{"position":[[601,13]]},"272":{"position":[[147,13],[652,12]]}}}],["notificationpayload",{"_index":1452,"t":{"272":{"position":[[462,19],[632,19]]}}}],["novemb",{"_index":2030,"t":{"469":{"position":[[3828,8]]}}}],["now",{"_index":1518,"t":{"296":{"position":[[339,3]]},"450":{"position":[[133,3]]},"479":{"position":[[918,5]]},"494":{"position":[[35,3]]}}}],["npm",{"_index":157,"t":{"16":{"position":[[85,3],[94,3]]},"18":{"position":[[88,3],[97,3]]},"77":{"position":[[68,3],[77,3]]},"79":{"position":[[570,3],[579,3]]},"87":{"position":[[72,3]]},"93":{"position":[[109,3],[118,3]]},"180":{"position":[[160,3],[169,3],[386,3],[395,3]]}}}],["npx",{"_index":546,"t":{"87":{"position":[[81,3],[334,3]]}}}],["ns1.google.com",{"_index":1179,"t":{"208":{"position":[[709,15]]}}}],["nullifi",{"_index":1544,"t":{"306":{"position":[[66,10]]},"324":{"position":[[424,10]]},"378":{"position":[[11,10]]},"384":{"position":[[69,10]]},"402":{"position":[[290,11]]},"432":{"position":[[96,10]]}}}],["number",{"_index":791,"t":{"130":{"position":[[436,7],[745,6],[806,6]]},"138":{"position":[[395,6],[492,6]]},"274":{"position":[[618,6]]},"298":{"position":[[318,6]]},"434":{"position":[[129,6]]},"452":{"position":[[979,8]]},"465":{"position":[[452,6]]},"469":{"position":[[452,7]]},"488":{"position":[[466,6]]},"490":{"position":[[335,6]]},"494":{"position":[[319,8]]},"542":{"position":[[1474,6]]},"544":{"position":[[228,7]]},"546":{"position":[[131,7],[310,7],[2232,7],[2912,6]]}}}],["nutshel",{"_index":1790,"t":{"434":{"position":[[305,9]]}}}],["nwaku",{"_index":41,"t":{"4":{"position":[[161,5],[265,5],[276,5],[352,5],[398,5]]},"6":{"position":[[377,5]]},"10":{"position":[[66,5]]},"16":{"position":[[1060,5]]},"49":{"position":[[128,5]]},"55":{"position":[[137,5]]},"57":{"position":[[53,5]]},"59":{"position":[[179,6]]},"67":{"position":[[0,5]]},"69":{"position":[[189,5]]},"73":{"position":[[333,6]]},"81":{"position":[[1226,5]]},"130":{"position":[[144,5]]},"156":{"position":[[46,5],[154,6],[289,6],[296,5]]},"158":{"position":[[9,6]]},"160":{"position":[[166,5]]},"162":{"position":[[10,5]]},"164":{"position":[[0,5],[207,6],[249,5],[264,5],[296,5]]},"166":{"position":[[83,5],[197,5]]},"176":{"position":[[85,5]]},"192":{"position":[[50,5],[142,5]]},"194":{"position":[[34,5],[284,5]]},"196":{"position":[[29,5],[728,5],[822,5]]},"198":{"position":[[22,5],[459,5],[857,5]]},"200":{"position":[[29,5],[399,5],[549,5],[634,5],[842,5]]},"202":{"position":[[54,5],[166,5]]},"206":{"position":[[4,5],[321,5]]},"208":{"position":[[4,5],[261,5],[960,5],[1073,5]]},"210":{"position":[[50,5]]},"212":{"position":[[97,5]]},"214":{"position":[[327,5]]},"216":{"position":[[1163,5],[1427,5],[1650,5]]},"218":{"position":[[1023,6]]},"220":{"position":[[101,5],[835,5],[995,5],[1369,5]]},"222":{"position":[[0,5],[992,5],[1139,5]]},"224":{"position":[[10,5],[138,5],[408,5]]},"226":{"position":[[10,5],[152,5],[375,5]]},"228":{"position":[[117,5]]},"230":{"position":[[0,5],[130,5],[364,5],[494,5]]},"232":{"position":[[33,5],[47,5],[103,5],[181,5],[216,5],[265,5],[302,5],[553,5],[573,5],[617,5],[773,5],[797,5],[835,5]]},"234":{"position":[[25,5],[245,5]]},"236":{"position":[[97,5],[222,5],[314,5],[411,5],[566,5],[626,5]]},"238":{"position":[[32,5]]},"240":{"position":[[149,5]]},"242":{"position":[[67,5]]},"244":{"position":[[2,5],[252,5],[904,5],[1520,5],[1631,5]]},"278":{"position":[[0,5],[78,5],[398,5],[414,5]]},"282":{"position":[[55,5]]},"286":{"position":[[108,5]]},"288":{"position":[[21,5],[124,5]]},"292":{"position":[[5,5],[80,5],[157,5],[957,5],[1114,5]]},"408":{"position":[[23,5],[85,5]]},"457":{"position":[[19,6],[197,5],[282,5]]},"459":{"position":[[34,5],[197,5],[258,5]]},"467":{"position":[[524,5]]},"469":{"position":[[678,5],[795,5],[1801,5],[1821,5],[3228,5],[3377,5]]},"471":{"position":[[1390,5],[1497,5],[1767,5]]},"473":{"position":[[37,5]]},"475":{"position":[[941,5]]},"479":{"position":[[103,5],[677,5],[749,5]]},"484":{"position":[[328,5]]},"492":{"position":[[366,5]]}}}],["nwaku+postgr",{"_index":1947,"t":{"463":{"position":[[89,14]]}}}],["nwaku+sqlit",{"_index":1948,"t":{"463":{"position":[[108,13]]}}}],["nwakunode.com",{"_index":485,"t":{"73":{"position":[[197,13],[255,14]]},"214":{"position":[[292,14]]}}}],["o",{"_index":1177,"t":{"208":{"position":[[685,1]]}}}],["o.myaddr.l.google.com",{"_index":1178,"t":{"208":{"position":[[687,21]]}}}],["object",{"_index":273,"t":{"34":{"position":[[91,6],[161,6]]},"186":{"position":[[504,6]]},"294":{"position":[[12,9]]},"422":{"position":[[831,6]]}}}],["oblig",{"_index":1741,"t":{"420":{"position":[[7,7]]},"552":{"position":[[1222,10]]}}}],["observ",{"_index":2062,"t":{"473":{"position":[[301,7],[399,7]]}}}],["obtain",{"_index":1609,"t":{"328":{"position":[[256,8]]},"406":{"position":[[352,6]]},"408":{"position":[[153,8]]},"434":{"position":[[354,6]]},"469":{"position":[[833,8],[1908,8]]},"471":{"position":[[1036,8]]}}}],["occasion",{"_index":316,"t":{"40":{"position":[[0,13]]},"354":{"position":[[115,12]]}}}],["occur",{"_index":842,"t":{"134":{"position":[[965,5]]},"182":{"position":[[887,6]]},"420":{"position":[[669,5]]}}}],["oceania",{"_index":2381,"t":{"544":{"position":[[657,7]]},"546":{"position":[[2737,7]]}}}],["oct",{"_index":2354,"t":{"544":{"position":[[372,3]]}}}],["off",{"_index":1534,"t":{"302":{"position":[[108,4]]}}}],["offer",{"_index":1339,"t":{"246":{"position":[[194,6]]},"254":{"position":[[43,6]]},"318":{"position":[[23,5]]},"326":{"position":[[227,5]]},"414":{"position":[[2172,6]]},"450":{"position":[[104,6]]},"552":{"position":[[1685,5],[1725,5]]}}}],["offic",{"_index":1681,"t":{"412":{"position":[[190,6]]},"550":{"position":[[130,6]]}}}],["offlin",{"_index":1412,"t":{"260":{"position":[[123,7]]},"310":{"position":[[156,7]]},"354":{"position":[[7,7],[64,7]]},"388":{"position":[[90,7]]}}}],["offline/resourc",{"_index":1809,"t":{"442":{"position":[[242,16]]}}}],["older",{"_index":509,"t":{"79":{"position":[[340,5]]}}}],["oldest",{"_index":713,"t":{"115":{"position":[[771,6]]},"118":{"position":[[132,6],[305,6]]}}}],["omit",{"_index":731,"t":{"120":{"position":[[953,4]]},"196":{"position":[[685,4]]},"216":{"position":[[648,4],[932,4]]},"220":{"position":[[309,4]]},"222":{"position":[[278,4],[394,4],[528,4]]},"224":{"position":[[711,4]]},"481":{"position":[[409,8]]}}}],["on",{"_index":137,"t":{"12":{"position":[[345,4]]},"81":{"position":[[1446,4]]},"130":{"position":[[514,3]]},"168":{"position":[[286,3]]},"232":{"position":[[445,4]]},"312":{"position":[[202,3]]},"374":{"position":[[184,3]]},"448":{"position":[[297,3],[957,3],[1015,3]]},"450":{"position":[[748,4],[3188,3],[3302,4]]},"452":{"position":[[131,3]]},"467":{"position":[[91,3],[152,3],[254,3],[336,3]]},"471":{"position":[[61,3]]},"477":{"position":[[123,3],[846,3]]},"484":{"position":[[346,3]]},"492":{"position":[[400,3]]},"512":{"position":[[451,3]]},"542":{"position":[[147,3]]},"546":{"position":[[1497,3]]},"560":{"position":[[532,4]]},"568":{"position":[[1652,3],[2085,3]]}}}],["onc",{"_index":1304,"t":{"234":{"position":[[0,4]]},"276":{"position":[[246,4]]},"332":{"position":[[72,4]]},"481":{"position":[[2329,4]]},"494":{"position":[[477,5]]}}}],["onchain",{"_index":827,"t":{"134":{"position":[[341,7]]},"492":{"position":[[264,7]]}}}],["onchange={handleinputchang",{"_index":1073,"t":{"184":{"position":[[1521,28]]}}}],["onclick={sendmessage}>send.example.com",{"_index":1383,"t":{"252":{"position":[[218,17]]}}}],["round",{"_index":2350,"t":{"544":{"position":[[241,7]]}}}],["rout",{"_index":909,"t":{"150":{"position":[[452,7],[543,7]]},"198":{"position":[[181,7],[509,7],[905,7]]},"262":{"position":[[149,7]]},"316":{"position":[[172,8]]},"390":{"position":[[114,8]]},"402":{"position":[[699,7]]},"475":{"position":[[21,7],[79,6]]}}}],["row",{"_index":1966,"t":{"465":{"position":[[814,4]]},"467":{"position":[[241,5]]}}}],["rpc",{"_index":894,"t":{"142":{"position":[[31,3],[57,3],[80,3],[132,3],[143,3],[184,3],[195,3],[233,3],[259,3],[299,3]]},"176":{"position":[[308,3]]},"208":{"position":[[549,3]]}}}],["rule",{"_index":442,"t":{"67":{"position":[[587,5]]},"316":{"position":[[110,5]]},"372":{"position":[[23,5]]},"568":{"position":[[1316,5],[1386,5],[1963,5]]}}}],["run",{"_index":30,"t":{"2":{"position":[[386,7]]},"4":{"position":[[76,3],[200,3],[259,3],[330,7],[394,3],[468,3]]},"8":{"position":[[78,3]]},"12":{"position":[[385,7]]},"16":{"position":[[1173,7]]},"26":{"position":[[293,7]]},"55":{"position":[[129,7]]},"81":{"position":[[971,3],[1486,7]]},"130":{"position":[[72,7]]},"134":{"position":[[897,4],[956,3]]},"162":{"position":[[117,3]]},"164":{"position":[[68,3],[199,7],[243,3],[260,3],[292,3]]},"166":{"position":[[0,3]]},"170":{"position":[[221,7],[329,3]]},"172":{"position":[[303,7],[385,3]]},"174":{"position":[[552,3]]},"176":{"position":[[576,3]]},"202":{"position":[[48,3],[162,3]]},"208":{"position":[[0,3],[44,3],[257,3],[312,3]]},"230":{"position":[[49,7],[116,7],[484,7],[570,7]]},"232":{"position":[[3,3],[83,7],[99,3],[175,3],[212,3],[259,3],[298,3],[371,3],[441,3],[827,3]]},"234":{"position":[[39,3],[81,3]]},"238":{"position":[[24,7]]},"240":{"position":[[32,7]]},"278":{"position":[[58,4],[89,7],[364,4]]},"298":{"position":[[164,3]]},"404":{"position":[[320,3]]},"408":{"position":[[19,3],[75,7]]},"440":{"position":[[42,3],[255,3]]},"442":{"position":[[150,3]]},"448":{"position":[[317,3],[367,3],[519,3],[1848,3]]},"454":{"position":[[62,3]]},"465":{"position":[[215,7]]},"467":{"position":[[536,7]]},"469":{"position":[[690,3],[845,7],[1920,7]]},"471":{"position":[[1113,7]]},"473":{"position":[[49,7]]},"479":{"position":[[284,7]]},"484":{"position":[[233,7]]},"498":{"position":[[112,7]]},"512":{"position":[[407,7],[490,7]]},"528":{"position":[[618,7]]},"540":{"position":[[138,3]]},"542":{"position":[[58,3],[327,7],[603,3],[828,3],[875,3]]},"546":{"position":[[386,3],[577,3],[652,3]]}}}],["runstmt",{"_index":2041,"t":{"471":{"position":[[526,8]]}}}],["rust",{"_index":92,"t":{"6":{"position":[[612,4],[626,4],[690,4]]}}}],["rustup",{"_index":941,"t":{"158":{"position":[[100,7],[632,6]]}}}],["s",{"_index":967,"t":{"158":{"position":[[499,1],[744,1]]},"292":{"position":[[607,5]]},"414":{"position":[[1071,3]]}}}],["sa",{"_index":1778,"t":{"428":{"position":[[155,3]]}}}],["sacrific",{"_index":361,"t":{"47":{"position":[[146,10]]}}}],["safeti",{"_index":1740,"t":{"418":{"position":[[141,6]]}}}],["same",{"_index":167,"t":{"16":{"position":[[556,4]]},"150":{"position":[[434,4],[525,4]]},"194":{"position":[[336,4]]},"200":{"position":[[510,4]]},"320":{"position":[[244,4]]},"376":{"position":[[130,4]]},"420":{"position":[[512,4]]},"450":{"position":[[953,4],[1263,4],[1999,4]]},"469":{"position":[[703,4],[1721,4]]},"471":{"position":[[260,4],[326,4],[1745,4]]},"496":{"position":[[0,4]]},"546":{"position":[[1276,5],[1417,5],[3008,4]]}}}],["sampl",{"_index":1340,"t":{"246":{"position":[[255,8],[487,8]]},"294":{"position":[[501,8]]}}}],["sandbox",{"_index":2003,"t":{"469":{"position":[[928,7],[2003,7]]},"471":{"position":[[1058,7]]}}}],["save",{"_index":1493,"t":{"286":{"position":[[298,5]]}}}],["scaffold",{"_index":115,"t":{"10":{"position":[[248,8]]},"81":{"position":[[689,8]]}}}],["scalabl",{"_index":1378,"t":{"250":{"position":[[763,12]]},"298":{"position":[[301,12]]},"302":{"position":[[262,12]]},"346":{"position":[[42,8]]},"398":{"position":[[36,8]]},"402":{"position":[[126,8],[302,11],[931,12]]},"450":{"position":[[2986,12]]},"542":{"position":[[1289,12]]}}}],["scale",{"_index":1542,"t":{"304":{"position":[[311,6]]},"380":{"position":[[174,6]]},"452":{"position":[[405,6]]},"481":{"position":[[1746,5]]},"514":{"position":[[827,5]]},"546":{"position":[[761,5]]}}}],["scenario",{"_index":1413,"t":{"260":{"position":[[131,9]]},"465":{"position":[[27,8]]},"467":{"position":[[75,8]]},"469":{"position":[[993,8],[1312,8],[1487,8],[1738,8],[2068,8],[2404,8],[2680,8]]}}}],["sceneri",{"_index":2031,"t":{"471":{"position":[[171,7]]}}}],["scheme",{"_index":1188,"t":{"214":{"position":[[195,7]]}}}],["scope",{"_index":1806,"t":{"440":{"position":[[84,6]]}}}],["score",{"_index":1597,"t":{"324":{"position":[[218,7],[268,6],[347,7]]},"486":{"position":[[208,7]]},"492":{"position":[[313,8]]},"502":{"position":[[622,6],[658,6],[719,7]]}}}],["screaming_snake_cas",{"_index":1004,"t":{"172":{"position":[[137,20]]}}}],["script",{"_index":521,"t":{"79":{"position":[[837,6],[848,7]]},"465":{"position":[[328,6]]}}}],["sdk",{"_index":28,"t":{"2":{"position":[[363,4]]},"6":{"position":[[32,5],[189,3],[243,3],[387,3],[472,3]]},"75":{"position":[[39,3],[167,3]]},"178":{"position":[[39,3]]},"386":{"position":[[0,4]]}}}],["se",{"_index":1863,"t":{"450":{"position":[[575,2]]}}}],["seamless",{"_index":80,"t":{"6":{"position":[[305,8]]}}}],["seamlessli",{"_index":99,"t":{"8":{"position":[[194,10],[293,10]]},"53":{"position":[[80,10]]},"75":{"position":[[295,10]]},"81":{"position":[[633,10]]}}}],["second",{"_index":883,"t":{"138":{"position":[[204,7],[319,8]]},"172":{"position":[[456,6]]},"216":{"position":[[403,8],[1263,7]]},"224":{"position":[[498,7],[768,7]]},"446":{"position":[[170,9],[348,8]]},"450":{"position":[[291,9],[517,7],[790,7],[1093,8],[2293,7],[2443,6],[2466,7],[2621,8],[2827,6],[3025,8],[3274,7]]},"452":{"position":[[135,7],[636,8]]},"454":{"position":[[225,8]]},"471":{"position":[[1484,7],[1591,7],[1862,7]]},"479":{"position":[[1025,7],[1065,7]]},"481":{"position":[[861,7],[1423,7]]},"484":{"position":[[412,7]]},"486":{"position":[[39,6],[103,8],[189,8]]},"488":{"position":[[183,7],[489,7]]},"490":{"position":[[108,7],[595,7]]},"492":{"position":[[538,8]]},"496":{"position":[[193,7]]}}}],["secp256k1",{"_index":1229,"t":{"218":{"position":[[240,9],[668,9]]},"358":{"position":[[16,9]]}}}],["secreci",{"_index":1655,"t":{"400":{"position":[[218,8]]}}}],["secret",{"_index":832,"t":{"134":{"position":[[500,6]]},"284":{"position":[[347,7]]}}}],["section",{"_index":1912,"t":{"452":{"position":[[357,8]]},"570":{"position":[[289,8]]}}}],["secur",{"_index":23,"t":{"2":{"position":[[302,7]]},"67":{"position":[[63,6],[260,6],[327,6]]},"97":{"position":[[284,6]]},"101":{"position":[[237,6]]},"154":{"position":[[139,6],[167,6],[206,6],[222,6],[278,6],[295,6]]},"200":{"position":[[1005,8]]},"214":{"position":[[453,6],[676,6]]},"220":{"position":[[362,6],[386,6],[454,6],[471,6],[508,6],[526,6],[666,6],[700,6],[758,6],[1019,6],[1156,6],[1190,6],[1232,6]]},"290":{"position":[[235,9]]},"304":{"position":[[225,6]]},"316":{"position":[[531,6],[574,6],[716,9]]},"318":{"position":[[52,8],[97,8],[131,8],[290,8],[346,8]]},"326":{"position":[[140,8],[310,6]]},"356":{"position":[[101,6]]},"360":{"position":[[65,6],[135,9]]},"380":{"position":[[66,6]]},"386":{"position":[[70,7]]},"392":{"position":[[29,7]]},"396":{"position":[[69,6]]},"400":{"position":[[97,6]]},"414":{"position":[[794,8],[1235,8],[1345,8]]},"418":{"position":[[36,8],[92,8]]},"552":{"position":[[1764,9]]}}}],["see",{"_index":995,"t":{"164":{"position":[[119,3]]},"176":{"position":[[523,3]]},"202":{"position":[[154,3]]},"234":{"position":[[132,3]]},"450":{"position":[[692,3]]},"469":{"position":[[1124,3]]},"471":{"position":[[384,3]]},"473":{"position":[[581,3]]},"477":{"position":[[348,3],[483,3]]},"479":{"position":[[416,4],[528,3]]},"481":{"position":[[1270,3],[1541,3]]},"492":{"position":[[358,3],[554,3],[642,4]]},"512":{"position":[[696,4]]},"518":{"position":[[618,4]]},"522":{"position":[[17,3],[87,3],[160,3],[231,3]]},"526":{"position":[[27,3],[133,3],[221,3],[317,3]]},"530":{"position":[[66,3],[137,3]]},"534":{"position":[[48,3],[141,3]]},"538":{"position":[[38,3],[194,3],[358,3],[500,3]]},"546":{"position":[[2826,3]]}}}],["seek",{"_index":489,"t":{"73":{"position":[[349,7]]},"83":{"position":[[34,4]]},"276":{"position":[[303,4],[741,5]]},"568":{"position":[[989,8]]}}}],["seem",{"_index":2168,"t":{"488":{"position":[[0,5],[333,5]]},"490":{"position":[[140,5],[202,5],[342,5]]}}}],["seen",{"_index":750,"t":{"122":{"position":[[715,4]]}}}],["select",{"_index":549,"t":{"87":{"position":[[170,6]]},"208":{"position":[[92,8]]},"230":{"position":[[182,6]]},"248":{"position":[[577,7]]},"264":{"position":[[118,11]]},"308":{"position":[[38,11]]},"334":{"position":[[88,9]]},"344":{"position":[[49,11]]},"402":{"position":[[372,9]]},"471":{"position":[[917,6],[964,6],[1472,7],[1579,7],[1850,7]]},"528":{"position":[[864,7]]}}}],["self",{"_index":1706,"t":{"414":{"position":[[1258,4]]}}}],["sell",{"_index":2448,"t":{"552":{"position":[[1701,5],[1741,4]]}}}],["semi",{"_index":2286,"t":{"524":{"position":[[556,4]]}}}],["send",{"_index":214,"t":{"24":{"position":[[102,4]]},"30":{"position":[[636,4]]},"34":{"position":[[3,4],[392,4]]},"38":{"position":[[137,4]]},"81":{"position":[[135,4],[202,4]]},"95":{"position":[[310,4],[374,4],[676,4]]},"97":{"position":[[448,4],[529,4],[827,4],[1522,7]]},"99":{"position":[[1702,4]]},"152":{"position":[[152,4]]},"184":{"position":[[33,7],[1057,4],[2420,5]]},"186":{"position":[[3,4],[364,4]]},"266":{"position":[[619,4]]},"276":{"position":[[82,8]]},"278":{"position":[[203,4]]},"286":{"position":[[122,4],[408,7]]},"292":{"position":[[222,4]]},"304":{"position":[[64,7]]},"312":{"position":[[159,7]]},"352":{"position":[[49,4]]},"372":{"position":[[123,8]]},"374":{"position":[[82,4]]},"380":{"position":[[106,7]]},"414":{"position":[[1020,7]]},"450":{"position":[[253,4],[493,5],[772,4],[1242,4]]},"481":{"position":[[656,7]]},"488":{"position":[[260,4]]},"494":{"position":[[299,4]]},"512":{"position":[[743,5]]},"516":{"position":[[96,5],[143,5],[454,4]]},"518":{"position":[[839,5],[1030,5]]},"528":{"position":[[791,5]]},"538":{"position":[[325,7]]},"568":{"position":[[852,4]]}}}],["send/rec",{"_index":2330,"t":{"542":{"position":[[276,12]]}}}],["sender",{"_index":279,"t":{"34":{"position":[[233,7]]},"95":{"position":[[401,6]]},"97":{"position":[[394,6],[556,6]]},"99":{"position":[[544,8],[973,6]]},"314":{"position":[[426,7]]},"477":{"position":[[1552,6]]},"481":{"position":[[574,6]]},"492":{"position":[[223,6]]},"538":{"position":[[273,8]]}}}],["sendmessag",{"_index":1057,"t":{"184":{"position":[[1097,11]]},"186":{"position":[[59,13],[404,11]]}}}],["sens",{"_index":1943,"t":{"459":{"position":[[184,5]]}}}],["sent",{"_index":308,"t":{"36":{"position":[[852,4]]},"91":{"position":[[300,4]]},"99":{"position":[[3050,4]]},"262":{"position":[[675,4]]},"292":{"position":[[634,4]]},"314":{"position":[[232,5]]},"448":{"position":[[1265,4]]},"481":{"position":[[381,4],[851,4]]}}}],["separ",{"_index":1634,"t":{"360":{"position":[[55,9]]},"424":{"position":[[97,8]]},"518":{"position":[[530,8]]},"524":{"position":[[45,8]]}}}],["sepolia",{"_index":1478,"t":{"280":{"position":[[57,7],[96,7],[128,7]]},"406":{"position":[[9,7],[107,7],[250,7],[282,7],[324,7],[359,7],[404,7],[441,7]]},"408":{"position":[[125,7]]},"484":{"position":[[473,7]]},"494":{"position":[[95,8]]}}}],["sequenti",{"_index":690,"t":{"111":{"position":[[234,13]]}}}],["serial",{"_index":1106,"t":{"186":{"position":[[85,9]]}}}],["serialis",{"_index":283,"t":{"34":{"position":[[283,9]]},"186":{"position":[[634,9]]},"266":{"position":[[440,13]]}}}],["serialisedmessag",{"_index":284,"t":{"34":{"position":[[326,17],[472,18]]}}}],["serious",{"_index":1738,"t":{"418":{"position":[[45,9]]}}}],["serv",{"_index":438,"t":{"67":{"position":[[492,6]]},"138":{"position":[[376,5],[414,5]]},"182":{"position":[[28,6]]},"216":{"position":[[30,5],[163,5]]},"220":{"position":[[110,5]]},"224":{"position":[[19,5]]},"226":{"position":[[19,5]]},"238":{"position":[[790,7]]},"254":{"position":[[130,5]]},"262":{"position":[[128,6],[294,6]]},"316":{"position":[[705,5]]},"362":{"position":[[67,7]]},"376":{"position":[[33,6]]},"452":{"position":[[1040,5]]}}}],["server",{"_index":185,"t":{"16":{"position":[[1163,6]]},"132":{"position":[[115,6],[154,6]]},"142":{"position":[[61,7],[136,6],[188,6]]},"144":{"position":[[64,7],[141,6],[195,6]]},"146":{"position":[[39,6],[71,7],[98,6],[156,6],[171,6],[223,6]]},"148":{"position":[[178,6],[217,6]]},"176":{"position":[[312,6]]},"196":{"position":[[408,6],[436,6],[513,8],[662,6],[713,6],[769,7]]},"200":{"position":[[427,6],[541,7]]},"208":{"position":[[891,9]]},"222":{"position":[[162,6],[263,7],[379,7],[786,6],[832,6],[1029,6]]},"228":{"position":[[27,6]]},"248":{"position":[[94,7]]},"256":{"position":[[348,8]]},"296":{"position":[[87,7]]},"414":{"position":[[1270,8]]},"498":{"position":[[394,6]]},"512":{"position":[[339,6],[390,6],[427,6],[545,6],[764,7],[778,6],[842,6],[922,6],[1005,6]]},"516":{"position":[[124,7],[136,6],[432,6]]},"518":{"position":[[867,6],[917,6],[1023,6]]},"520":{"position":[[102,6],[172,6]]},"524":{"position":[[127,6],[761,7],[1189,7]]},"528":{"position":[[36,6],[142,7],[192,6],[246,6],[475,6],[587,6],[699,7],[768,7],[874,6],[1063,6],[1135,7]]},"532":{"position":[[81,7],[149,7]]},"538":{"position":[[184,7]]},"542":{"position":[[726,6]]}}}],["server'",{"_index":1287,"t":{"228":{"position":[[94,8]]},"518":{"position":[[810,8]]},"524":{"position":[[260,8],[913,8]]},"528":{"position":[[117,8],[314,8],[946,8]]}}}],["server=8.8.4.4",{"_index":1140,"t":{"196":{"position":[[1147,14]]}}}],["server=8.8.8.8",{"_index":1139,"t":{"196":{"position":[[1109,14]]}}}],["server=[dn",{"_index":1134,"t":{"196":{"position":[[645,11]]}}}],["servic",{"_index":1299,"t":{"232":{"position":[[877,7],[942,9]]},"316":{"position":[[449,7],[600,7]]},"318":{"position":[[39,8]]},"328":{"position":[[93,8],[248,7]]},"350":{"position":[[67,7]]},"402":{"position":[[406,8]]},"404":{"position":[[451,8]]},"416":{"position":[[433,7]]},"434":{"position":[[10,7],[87,7],[341,7],[411,7],[653,7],[705,8]]},"440":{"position":[[207,7]]},"448":{"position":[[882,8]]},"467":{"position":[[66,8]]},"526":{"position":[[111,7],[199,7]]},"546":{"position":[[1912,9],[2086,9]]},"560":{"position":[[176,9]]}}}],["set",{"_index":125,"t":{"12":{"position":[[161,3]]},"24":{"position":[[75,7]]},"26":{"position":[[369,3]]},"63":{"position":[[55,3]]},"128":{"position":[[63,4]]},"136":{"position":[[325,3]]},"172":{"position":[[169,3]]},"180":{"position":[[7,3]]},"182":{"position":[[79,3],[289,3]]},"214":{"position":[[8,3]]},"216":{"position":[[584,3],[818,7]]},"246":{"position":[[366,4]]},"260":{"position":[[16,3]]},"264":{"position":[[36,3]]},"290":{"position":[[191,7]]},"316":{"position":[[632,3]]},"372":{"position":[[16,3]]},"416":{"position":[[807,3]]},"448":{"position":[[1025,3],[1143,3],[1591,4],[1744,3]]},"465":{"position":[[751,3]]},"477":{"position":[[166,4]]},"512":{"position":[[893,3]]},"536":{"position":[[136,9]]},"540":{"position":[[25,3]]},"546":{"position":[[1147,4],[2565,3],[2926,3]]},"568":{"position":[[888,7]]}}}],["setinputmessag",{"_index":1050,"t":{"184":{"position":[[378,16]]},"186":{"position":[[853,20]]}}}],["setinputmessage(e.target.valu",{"_index":1055,"t":{"184":{"position":[[551,32]]}}}],["setmessag",{"_index":1051,"t":{"184":{"position":[[428,12]]}}}],["setmessages(allmessages.map((wakumessag",{"_index":1121,"t":{"190":{"position":[[652,41]]}}}],["setmessages(filtermessages.map((wakumessag",{"_index":1115,"t":{"188":{"position":[[429,44]]}}}],["setup",{"_index":52,"t":{"4":{"position":[[320,5]]},"16":{"position":[[1124,5]]},"202":{"position":[[119,5]]},"278":{"position":[[47,5]]},"475":{"position":[[983,5]]}}}],["sever",{"_index":1440,"t":{"268":{"position":[[94,7]]},"471":{"position":[[87,7]]},"473":{"position":[[447,8]]},"570":{"position":[[581,9]]}}}],["sh",{"_index":959,"t":{"158":{"position":[[303,2],[444,2],[592,2]]}}}],["shadow",{"_index":2096,"t":{"479":{"position":[[6,6],[871,6]]},"481":{"position":[[2212,6],[2334,6]]}}}],["shall",{"_index":2442,"t":{"552":{"position":[[1264,5]]},"562":{"position":[[4,5]]},"568":{"position":[[841,5]]}}}],["shape",{"_index":1578,"t":{"318":{"position":[[77,7]]}}}],["shard",{"_index":1623,"t":{"342":{"position":[[248,7]]},"402":{"position":[[317,8],[366,5]]},"446":{"position":[[76,5]]},"448":{"position":[[421,6]]},"452":{"position":[[1009,6]]},"540":{"position":[[76,5],[304,6]]},"542":{"position":[[151,6],[389,7],[462,5],[1428,6]]},"546":{"position":[[114,6],[2801,6]]}}}],["share",{"_index":247,"t":{"30":{"position":[[667,6]]},"95":{"position":[[36,6],[1388,6]]},"97":{"position":[[1421,5]]},"270":{"position":[[44,5]]},"272":{"position":[[209,5]]},"284":{"position":[[409,6]]},"402":{"position":[[22,6],[692,6],[824,6]]},"404":{"position":[[127,6]]},"414":{"position":[[1425,5]]},"438":{"position":[[43,5]]},"471":{"position":[[1680,6]]},"504":{"position":[[65,8]]},"506":{"position":[[15,7],[269,5]]},"510":{"position":[[145,7]]},"514":{"position":[[98,7]]},"556":{"position":[[117,6]]}}}],["shift",{"_index":790,"t":{"130":{"position":[[404,5],[418,5]]}}}],["shift=1",{"_index":1147,"t":{"200":{"position":[[725,7]]}}}],["short",{"_index":1176,"t":{"208":{"position":[[678,6]]},"260":{"position":[[369,5]]},"312":{"position":[[79,5]]},"414":{"position":[[1941,6]]}}}],["shorten",{"_index":2205,"t":{"498":{"position":[[162,10]]}}}],["shouldn't",{"_index":2177,"t":{"490":{"position":[[363,9]]},"546":{"position":[[1928,9]]}}}],["show",{"_index":408,"t":{"61":{"position":[[135,4]]},"467":{"position":[[759,5]]},"469":{"position":[[325,5],[1216,5]]},"471":{"position":[[161,5],[1368,5]]},"481":{"position":[[21,5],[79,7],[429,4]]},"544":{"position":[[21,5]]}}}],["shown",{"_index":2109,"t":{"479":{"position":[[599,5]]},"481":{"position":[[324,6]]},"546":{"position":[[2099,5]]}}}],["sia",{"_index":2250,"t":{"510":{"position":[[66,4]]}}}],["sibyl",{"_index":1860,"t":{"450":{"position":[[429,5]]}}}],["side",{"_index":368,"t":{"49":{"position":[[32,4]]},"152":{"position":[[97,6],[226,5]]},"512":{"position":[[434,4],[507,4]]}}}],["sign",{"_index":528,"t":{"81":{"position":[[439,4],[537,4]]},"91":{"position":[[104,4]]},"99":{"position":[[8,7],[181,7],[475,4],[860,7],[909,7],[1136,5],[1365,7],[1436,5],[1660,7],[2400,7],[2551,5],[3039,6],[3221,6],[3283,6]]},"101":{"position":[[59,7],[1002,6]]},"196":{"position":[[355,6]]},"396":{"position":[[161,7]]}}}],["signatur",{"_index":621,"t":{"99":{"position":[[87,9],[2017,9],[2729,9],[2798,9],[2830,9],[2910,9]]},"326":{"position":[[122,11],[266,11]]}}}],["signaturepublickey",{"_index":643,"t":{"99":{"position":[[2046,20],[2863,18],[2951,18]]}}}],["signifi",{"_index":1566,"t":{"314":{"position":[[364,10]]},"434":{"position":[[18,9]]}}}],["signific",{"_index":519,"t":{"79":{"position":[[463,11]]},"479":{"position":[[319,11]]}}}],["significantli",{"_index":745,"t":{"122":{"position":[[569,13]]}}}],["sigprivkey",{"_index":629,"t":{"99":{"position":[[406,10],[1317,11],[1612,11],[2648,11]]}}}],["similar",{"_index":1693,"t":{"412":{"position":[[373,7]]},"469":{"position":[[1632,7]]},"471":{"position":[[1883,7]]},"481":{"position":[[1873,7]]},"524":{"position":[[648,8]]},"550":{"position":[[324,7]]}}}],["similarli",{"_index":1612,"t":{"328":{"position":[[468,10]]}}}],["simpl",{"_index":664,"t":{"101":{"position":[[339,6]]},"278":{"position":[[141,6]]},"414":{"position":[[2179,6]]},"524":{"position":[[753,7]]}}}],["simpler",{"_index":357,"t":{"47":{"position":[[70,7]]},"524":{"position":[[1006,7]]}}}],["simplest",{"_index":1295,"t":{"232":{"position":[[399,8]]},"502":{"position":[[752,8]]},"518":{"position":[[248,8]]}}}],["simpli",{"_index":1941,"t":{"459":{"position":[[0,6]]}}}],["simplic",{"_index":379,"t":{"51":{"position":[[134,10]]}}}],["simplifi",{"_index":1618,"t":{"336":{"position":[[41,10]]},"518":{"position":[[355,10],[607,10]]},"520":{"position":[[150,10]]}}}],["simul",{"_index":1798,"t":{"436":{"position":[[31,11]]},"465":{"position":[[346,8]]},"473":{"position":[[585,10]]},"475":{"position":[[947,10]]},"477":{"position":[[2204,12]]},"479":{"position":[[13,10],[64,8],[297,10],[402,10],[738,10],[927,8]]},"481":{"position":[[66,12],[393,11],[1709,11],[2270,9]]},"484":{"position":[[241,11],[264,10]]},"486":{"position":[[323,11]]},"488":{"position":[[100,10]]},"492":{"position":[[339,11]]},"496":{"position":[[5,10]]},"536":{"position":[[126,9]]}}}],["simultan",{"_index":204,"t":{"20":{"position":[[70,15]]},"192":{"position":[[195,15]]},"236":{"position":[[679,15]]},"465":{"position":[[170,14],[788,15]]}}}],["singl",{"_index":593,"t":{"95":{"position":[[28,7]]},"272":{"position":[[394,6]]},"274":{"position":[[27,6],[703,6]]},"448":{"position":[[414,6]]},"452":{"position":[[1002,6]]},"457":{"position":[[291,6]]},"469":{"position":[[3237,6]]},"471":{"position":[[65,6]]},"542":{"position":[[455,6]]}}}],["site",{"_index":1725,"t":{"414":{"position":[[2285,5]]},"424":{"position":[[86,5]]},"552":{"position":[[607,5]]}}}],["site.thes",{"_index":2437,"t":{"552":{"position":[[628,10]]}}}],["sixti",{"_index":2513,"t":{"568":{"position":[[1062,5]]}}}],["size",{"_index":512,"t":{"79":{"position":[[378,5]]},"136":{"position":[[286,4]]},"216":{"position":[[506,4]]},"448":{"position":[[1288,5]]},"450":{"position":[[806,4],[981,5],[1281,4],[1592,5],[1638,5],[1708,5],[2025,4],[2502,5],[2610,4],[3012,4],[3363,5]]},"452":{"position":[[45,6],[492,4]]},"473":{"position":[[85,6],[270,4],[493,5]]},"477":{"position":[[1453,4],[1647,6]]},"481":{"position":[[175,6],[791,6],[1250,4]]},"488":{"position":[[62,4]]},"490":{"position":[[180,5]]},"520":{"position":[[356,4]]}}}],["size:10gb",{"_index":1206,"t":{"216":{"position":[[573,10]]}}}],["size:512mb",{"_index":1205,"t":{"216":{"position":[[559,10]]}}}],["size:{new",{"_index":1065,"t":{"184":{"position":[[1303,10]]}}}],["spawn",{"_index":1998,"t":{"469":{"position":[[564,5]]}}}],["special",{"_index":2480,"t":{"560":{"position":[[193,8]]}}}],["specialis",{"_index":1392,"t":{"254":{"position":[[136,11]]}}}],["specif",{"_index":231,"t":{"28":{"position":[[412,8]]},"95":{"position":[[1417,8]]},"156":{"position":[[124,8]]},"160":{"position":[[208,8]]},"206":{"position":[[166,8]]},"244":{"position":[[108,14]]},"246":{"position":[[426,13]]},"256":{"position":[[263,8]]},"264":{"position":[[230,8],[291,13]]},"266":{"position":[[351,8]]},"272":{"position":[[124,8]]},"276":{"position":[[709,8],[762,8]]},"294":{"position":[[264,13]]},"308":{"position":[[63,8]]},"314":{"position":[[323,8]]},"334":{"position":[[140,8]]},"342":{"position":[[32,13]]},"344":{"position":[[74,8]]},"394":{"position":[[135,8]]},"414":{"position":[[159,8],[2128,8]]},"420":{"position":[[429,8]]},"477":{"position":[[2085,8],[2161,8]]},"542":{"position":[[1465,8]]},"554":{"position":[[1290,9]]},"570":{"position":[[828,8]]}}}],["specifi",{"_index":230,"t":{"28":{"position":[[255,7]]},"30":{"position":[[392,7]]},"113":{"position":[[242,7]]},"115":{"position":[[213,7]]},"118":{"position":[[25,9]]},"120":{"position":[[18,9]]},"122":{"position":[[22,9]]},"128":{"position":[[196,9]]},"130":{"position":[[452,7]]},"170":{"position":[[95,7]]},"174":{"position":[[241,7],[349,7]]},"176":{"position":[[60,10]]},"228":{"position":[[185,10]]},"314":{"position":[[13,9],[454,10]]},"362":{"position":[[210,9]]},"400":{"position":[[16,9]]},"516":{"position":[[232,9]]},"540":{"position":[[222,7]]}}}],["speed",{"_index":2113,"t":{"479":{"position":[[644,6]]},"546":{"position":[[2264,5],[2330,5]]}}}],["speedtest",{"_index":2353,"t":{"544":{"position":[[349,9]]}}}],["spend",{"_index":1631,"t":{"354":{"position":[[39,5]]},"414":{"position":[[2274,5]]},"488":{"position":[[292,5]]}}}],["split",{"_index":2225,"t":{"504":{"position":[[7,5]]},"516":{"position":[[202,5]]},"524":{"position":[[1019,9]]}}}],["spread",{"_index":2057,"t":{"471":{"position":[[1639,6]]}}}],["sqlalchemi",{"_index":1208,"t":{"216":{"position":[[786,10]]}}}],["sqlite",{"_index":875,"t":{"136":{"position":[[527,6]]},"457":{"position":[[219,6],[326,6]]},"465":{"position":[[491,6],[573,6],[866,6],[1425,6]]},"467":{"position":[[189,7],[215,6],[721,6]]},"469":{"position":[[762,6],[1137,6],[1230,6],[1463,6],[1691,6],[1768,6],[2999,6],[3419,6]]}}}],["sqlite://store.sqlite3",{"_index":872,"t":{"136":{"position":[[369,22]]},"216":{"position":[[969,23]]}}}],["src/app.css",{"_index":1079,"t":{"184":{"position":[[1945,11]]}}}],["src/app.jsx",{"_index":1038,"t":{"182":{"position":[[669,11]]},"184":{"position":[[132,11]]},"186":{"position":[[196,11]]},"188":{"position":[[182,11]]},"190":{"position":[[211,11]]}}}],["src/main.jsx",{"_index":1031,"t":{"182":{"position":[[224,12]]}}}],["src=\"https://cdn.jsdelivr.net/npm/protobufjs@latest/dist/protobuf.min.js\">{message.message}