From 751bcb42273bed44070ad554d4c8f6ee84a7d532 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 27 Dec 2024 16:09:20 +0000 Subject: [PATCH] deploy: 3548d868b010c59989a0fb1076f2976c06558426 --- 404.html | 4 ++-- FAQ/aeweb/index.html | 6 +++--- FAQ/bridge-2-ways/index.html | 6 +++--- FAQ/dex/index.html | 6 +++--- FAQ/migration-erc-token/index.html | 6 +++--- FAQ/wallet/index.html | 6 +++--- assets/js/{009f927a.11078e00.js => 009f927a.4efc133f.js} | 2 +- assets/js/{0126df03.35cf23e7.js => 0126df03.92d30442.js} | 2 +- assets/js/{02486155.fc571d5b.js => 02486155.48120481.js} | 2 +- assets/js/{05f2d199.7e55e4bc.js => 05f2d199.e3d75a0b.js} | 2 +- assets/js/{05fd4dd8.7a08a59d.js => 05fd4dd8.dab4258a.js} | 2 +- assets/js/{0607e0c5.ce815d0e.js => 0607e0c5.d5ec4792.js} | 2 +- assets/js/{0666b85a.79dc2077.js => 0666b85a.f3149e27.js} | 2 +- assets/js/{07620fdf.6621394e.js => 07620fdf.bd506b2d.js} | 2 +- assets/js/{07f0fc78.43694ac2.js => 07f0fc78.933aa4dd.js} | 2 +- assets/js/{08912224.c8a6238c.js => 08912224.962b21fb.js} | 2 +- assets/js/{0945e04b.9b03e054.js => 0945e04b.9a48bd8c.js} | 2 +- assets/js/{0946372c.7596a615.js => 0946372c.638b0c35.js} | 2 +- assets/js/{0c928027.f4050f98.js => 0c928027.5bd802e6.js} | 2 +- assets/js/{10e03315.049e9118.js => 10e03315.1a6d8b2d.js} | 2 +- assets/js/{11838df3.4591245d.js => 11838df3.56ea7c3b.js} | 2 +- assets/js/{12706266.c3abde22.js => 12706266.71f26944.js} | 2 +- assets/js/{145b7035.a908f2fe.js => 145b7035.c05620b1.js} | 2 +- assets/js/{145f3c45.b01332d4.js => 145f3c45.0a461477.js} | 2 +- assets/js/{147d0e4e.9a01b47e.js => 147d0e4e.1f807bda.js} | 2 +- assets/js/{14d826f7.694841b5.js => 14d826f7.0532737e.js} | 2 +- assets/js/{15848830.e9c23893.js => 15848830.8fddb2eb.js} | 2 +- assets/js/{16aa5868.87218ea2.js => 16aa5868.a2d50849.js} | 2 +- assets/js/{16c17b5d.10a1bba4.js => 16c17b5d.e09d225b.js} | 2 +- assets/js/{16e43f8e.39fc8037.js => 16e43f8e.9280d827.js} | 2 +- assets/js/{1735c347.c33d5621.js => 1735c347.381dc1db.js} | 2 +- assets/js/{17dede69.29cd0c8d.js => 17dede69.6125d62b.js} | 2 +- assets/js/{1872c6b8.06836781.js => 1872c6b8.b1d2c6ac.js} | 2 +- assets/js/{18d505e7.e3ad90c6.js => 18d505e7.efe9d0fb.js} | 2 +- assets/js/{193cb586.8b919a03.js => 193cb586.7b6f7b54.js} | 2 +- assets/js/{199f22fd.e1dc88ca.js => 199f22fd.a0c9888e.js} | 2 +- assets/js/{1b1339dc.7d3e21d8.js => 1b1339dc.dbaa519f.js} | 2 +- assets/js/{1b311f41.fed66275.js => 1b311f41.e269136d.js} | 2 +- assets/js/{2159a0a5.28a71277.js => 2159a0a5.0dfb42cc.js} | 2 +- assets/js/{21e44e7e.9db5fac1.js => 21e44e7e.42abc252.js} | 2 +- assets/js/{24510ea8.19da55e0.js => 24510ea8.f05ce2b1.js} | 2 +- assets/js/{27ab3fd0.26100074.js => 27ab3fd0.6180fbf8.js} | 2 +- assets/js/{2ab0cde1.8ac82af2.js => 2ab0cde1.3a56511c.js} | 2 +- assets/js/{2bbc5cd2.a8d714c4.js => 2bbc5cd2.40c619e7.js} | 2 +- assets/js/{2bc40b18.b8964a21.js => 2bc40b18.2391a654.js} | 2 +- assets/js/{2c3d8110.7f753163.js => 2c3d8110.12297852.js} | 2 +- assets/js/{2d63ea61.3e79273d.js => 2d63ea61.d956e326.js} | 2 +- assets/js/{2f55ba46.a3c76905.js => 2f55ba46.3fa92d1e.js} | 2 +- assets/js/{2fdf8aec.110a9bdc.js => 2fdf8aec.94ad95ee.js} | 2 +- assets/js/{300a963c.077f4978.js => 300a963c.bc854982.js} | 2 +- assets/js/{310207c7.58aea0b2.js => 310207c7.ccc39752.js} | 2 +- assets/js/{31a1e1b3.d82742d4.js => 31a1e1b3.624ebfdd.js} | 2 +- assets/js/{3247e900.4fb8f2d2.js => 3247e900.c6a6f8b1.js} | 2 +- assets/js/{32b86e0c.bae45a71.js => 32b86e0c.e226cd92.js} | 2 +- assets/js/{32bd85cf.290bf89e.js => 32bd85cf.020f0bca.js} | 2 +- assets/js/{36739131.aa9ab2aa.js => 36739131.a39832c2.js} | 2 +- assets/js/{378b5e98.ebd3c2ce.js => 378b5e98.dc4ae702.js} | 2 +- assets/js/{3bb603bb.b57f6df5.js => 3bb603bb.1f8ae282.js} | 2 +- assets/js/{3c967327.1748906d.js => 3c967327.73412ac3.js} | 2 +- assets/js/{3d4047db.59d644cf.js => 3d4047db.09319b6a.js} | 2 +- assets/js/{3f3bfce2.51335c96.js => 3f3bfce2.106f2bc1.js} | 2 +- assets/js/{410469d2.c44ef58f.js => 410469d2.ac1e0aab.js} | 2 +- assets/js/{41637b9f.4952edc4.js => 41637b9f.a5fc22b6.js} | 2 +- assets/js/{41e024b6.60ddb192.js => 41e024b6.cef65fa8.js} | 2 +- assets/js/{42c0b8d9.d0f68c40.js => 42c0b8d9.363d741e.js} | 2 +- assets/js/{4417e8c8.d5c1d8d1.js => 4417e8c8.af4f7e7a.js} | 2 +- assets/js/{441b3d3d.7616ebdd.js => 441b3d3d.b6bd5b2e.js} | 2 +- assets/js/{45e94216.e8491436.js => 45e94216.8c7ec334.js} | 2 +- assets/js/{4775ecc5.6df3ec22.js => 4775ecc5.6d8ceaf4.js} | 2 +- assets/js/{4a0589af.9bbbc72d.js => 4a0589af.cb3f6717.js} | 2 +- assets/js/{4ad6f564.3d7ffde6.js => 4ad6f564.1add63b2.js} | 2 +- assets/js/{4b0f8212.143b1f9f.js => 4b0f8212.76bdf1fe.js} | 2 +- assets/js/{4bf323b4.367b2f26.js => 4bf323b4.96f687e2.js} | 2 +- assets/js/{4c0f205c.727227be.js => 4c0f205c.1ad8d750.js} | 2 +- assets/js/{4d54d076.f3ee1f81.js => 4d54d076.83debdda.js} | 2 +- assets/js/{5037eb2b.7d407486.js => 5037eb2b.6c46d4c3.js} | 2 +- assets/js/{5185999b.e00d88b2.js => 5185999b.78f5014b.js} | 2 +- assets/js/{55620597.8be7410a.js => 55620597.37c9d045.js} | 2 +- assets/js/{56f0859a.13f82d77.js => 56f0859a.e72218fd.js} | 2 +- assets/js/{57fb9911.d7edb8e1.js => 57fb9911.27c01550.js} | 2 +- assets/js/{59ac5e04.d782a112.js => 59ac5e04.4397e4ea.js} | 2 +- assets/js/{5b112661.e29b61f8.js => 5b112661.ddd95023.js} | 2 +- assets/js/{5b4742e7.95fdb249.js => 5b4742e7.001f230f.js} | 2 +- assets/js/{5c6aa1cd.9c62cef1.js => 5c6aa1cd.f4cf3f7e.js} | 2 +- assets/js/{5eea7269.6536775d.js => 5eea7269.300d0bd1.js} | 2 +- assets/js/{5fe1ab02.25ff1aa9.js => 5fe1ab02.3af4a48d.js} | 2 +- assets/js/{61e43ac9.798281f0.js => 61e43ac9.ae0f3999.js} | 2 +- assets/js/{638e4778.a1b8602f.js => 638e4778.5eff6867.js} | 2 +- assets/js/{65c808a4.1e2d1ce1.js => 65c808a4.e1fc4e94.js} | 2 +- assets/js/{66076425.7ded4eb4.js => 66076425.d3f2ec7d.js} | 2 +- assets/js/{6638f55a.7a5b4f90.js => 6638f55a.0ba9d143.js} | 2 +- assets/js/{66545c3d.a430ebeb.js => 66545c3d.4a724a2d.js} | 2 +- assets/js/{6aade8bf.650c5747.js => 6aade8bf.4e998ab2.js} | 2 +- assets/js/{6efc9e6d.d06ea595.js => 6efc9e6d.30db0778.js} | 2 +- assets/js/{6fa4dae1.eca128f4.js => 6fa4dae1.38220ca0.js} | 2 +- assets/js/{70e1f15f.0ae2501c.js => 70e1f15f.3c4ae808.js} | 2 +- assets/js/{710ae1bb.ca2d41d7.js => 710ae1bb.e6298317.js} | 2 +- assets/js/{749f8745.0caa8777.js => 749f8745.89685292.js} | 2 +- assets/js/{764c3c46.4f10cd86.js => 764c3c46.596c68df.js} | 2 +- assets/js/{76b1eb51.424d3ddb.js => 76b1eb51.01ee2a33.js} | 2 +- assets/js/{7746a795.fb9829ab.js => 7746a795.fff65239.js} | 2 +- assets/js/{7764509b.4b3d58ef.js => 7764509b.242d983f.js} | 2 +- assets/js/{777b0dfa.75c68731.js => 777b0dfa.f8496e89.js} | 2 +- assets/js/{79891879.e10dd91a.js => 79891879.8624d26e.js} | 2 +- assets/js/{7bfcff53.c1ef7105.js => 7bfcff53.d2b11630.js} | 2 +- assets/js/{7d24ac82.153e6ac3.js => 7d24ac82.91b2d568.js} | 2 +- assets/js/{7e96883b.df487ab8.js => 7e96883b.a3c683b6.js} | 2 +- assets/js/{8153e280.257eddca.js => 8153e280.bec83e22.js} | 2 +- assets/js/{851bf865.45f1257d.js => 851bf865.2e5b862b.js} | 2 +- assets/js/{86f08845.7a9382a7.js => 86f08845.65e1a4f0.js} | 2 +- assets/js/{87dfbf5d.683a5659.js => 87dfbf5d.3fe5456d.js} | 2 +- assets/js/{89af9b08.9d462ef1.js => 89af9b08.6e6532f8.js} | 2 +- assets/js/{8a9337ba.854f3d00.js => 8a9337ba.a45c5455.js} | 2 +- assets/js/{8b5bd275.435768b0.js => 8b5bd275.79ad562e.js} | 2 +- assets/js/{8baedca9.a9cf20f7.js => 8baedca9.8e5a9aac.js} | 2 +- assets/js/{8d60aa1f.b0c2c1ac.js => 8d60aa1f.f516bc28.js} | 2 +- assets/js/{8dbf302e.de6770fa.js => 8dbf302e.011a0e55.js} | 2 +- assets/js/{9280a2e5.00521320.js => 9280a2e5.094656ea.js} | 2 +- assets/js/{9327017b.450b188b.js => 9327017b.9b3775eb.js} | 2 +- assets/js/{93a4d248.40d357a5.js => 93a4d248.94e35ec6.js} | 2 +- assets/js/{93c272fe.cd244cac.js => 93c272fe.5c8343b4.js} | 2 +- assets/js/{941e9194.fcb9ccf0.js => 941e9194.8564c17e.js} | 2 +- assets/js/{9bb63452.657a218f.js => 9bb63452.e78ab199.js} | 2 +- assets/js/{9c94cf05.19bb30e2.js => 9c94cf05.5d6a8950.js} | 2 +- assets/js/{9c964f59.9faae48c.js => 9c964f59.264b59b1.js} | 2 +- assets/js/{9d5784d1.491eb042.js => 9d5784d1.be3de0e8.js} | 2 +- assets/js/{9de09737.07267a40.js => 9de09737.461693e3.js} | 2 +- assets/js/{9e3de0ed.9b624cae.js => 9e3de0ed.24b1d34e.js} | 2 +- assets/js/{9ffe0250.212ffb83.js => 9ffe0250.fd120440.js} | 2 +- assets/js/{a0393694.c675fac9.js => a0393694.73db0351.js} | 2 +- assets/js/{a18b1795.35148c72.js => a18b1795.a6de0c9b.js} | 2 +- assets/js/{a22626c5.ed045baf.js => a22626c5.470ae636.js} | 2 +- assets/js/{a3bcfc8d.815b1603.js => a3bcfc8d.86c2e527.js} | 2 +- assets/js/{a90ecf70.f0a53a49.js => a90ecf70.b03db746.js} | 2 +- assets/js/{aa1914e6.edc19edd.js => aa1914e6.46c99d45.js} | 2 +- assets/js/aadacf86.2313abc9.js | 1 + assets/js/aadacf86.5b2d3a35.js | 1 - assets/js/{ab699365.720152bd.js => ab699365.58749535.js} | 2 +- assets/js/{ac1890eb.700d191b.js => ac1890eb.380cf631.js} | 2 +- assets/js/{ae218501.b99706b2.js => ae218501.cc2a202f.js} | 2 +- assets/js/{aef11b3c.5340f17f.js => aef11b3c.d354427d.js} | 2 +- assets/js/{b17a2c3b.1f07c351.js => b17a2c3b.0a923c78.js} | 2 +- assets/js/{b2e52e63.ed53cc31.js => b2e52e63.1280a1bc.js} | 2 +- assets/js/{b3ae0c51.b77292df.js => b3ae0c51.15e9e643.js} | 2 +- assets/js/{b4914bc5.7bfc0817.js => b4914bc5.ddb41e53.js} | 2 +- assets/js/{b684cce9.0e3b2cbc.js => b684cce9.391f7283.js} | 2 +- assets/js/{bbc3785e.224216db.js => bbc3785e.1c489edb.js} | 2 +- assets/js/{bd1424fb.66d5eb60.js => bd1424fb.a92d6517.js} | 2 +- assets/js/{bd14bfe1.7d13e917.js => bd14bfe1.47c6615a.js} | 2 +- assets/js/{be94c4be.f6d97bf9.js => be94c4be.748ed356.js} | 2 +- assets/js/{bf608a00.031a81c9.js => bf608a00.578cc512.js} | 2 +- assets/js/{bf6e295d.52a78c29.js => bf6e295d.0ab20d54.js} | 2 +- assets/js/{c1456968.b7560bea.js => c1456968.581d9604.js} | 2 +- assets/js/{c204078c.8e880d05.js => c204078c.52848374.js} | 2 +- assets/js/{c31aa05f.df97fe7a.js => c31aa05f.075a1ca9.js} | 2 +- assets/js/{c31d0f42.ea162974.js => c31d0f42.b96fc7ff.js} | 2 +- assets/js/{c325c1c7.5adbaa76.js => c325c1c7.1a1ab8d8.js} | 2 +- assets/js/{c47075b4.b4e95b4c.js => c47075b4.696ff587.js} | 2 +- assets/js/{c4bb8d44.9324b64e.js => c4bb8d44.6a96cd99.js} | 2 +- assets/js/{c65c1395.4d7d5848.js => c65c1395.373cc74a.js} | 2 +- assets/js/{c8c61268.b32a6764.js => c8c61268.a4d5fe1e.js} | 2 +- assets/js/{c9e924cb.519153e9.js => c9e924cb.c26f13dd.js} | 2 +- assets/js/{cc5722e1.a29e7c44.js => cc5722e1.ee418003.js} | 2 +- assets/js/{cc668907.f6c4fde8.js => cc668907.cdec9fe8.js} | 2 +- assets/js/{ceaeeb36.f1c2844e.js => ceaeeb36.421b5b4b.js} | 2 +- assets/js/{cfbe1bc9.db445041.js => cfbe1bc9.425ddd3e.js} | 2 +- assets/js/{d0a652bb.fe97ec32.js => d0a652bb.64f1c621.js} | 2 +- assets/js/{d2674f84.e618305d.js => d2674f84.87b1c08c.js} | 2 +- assets/js/{d39a7100.c05ca4e6.js => d39a7100.034123c5.js} | 2 +- assets/js/{d409b53d.c0528830.js => d409b53d.d1ee70a5.js} | 2 +- assets/js/{d54033d7.c5146cf6.js => d54033d7.32f4f543.js} | 2 +- assets/js/{d5f21d1f.fa47c694.js => d5f21d1f.3d0dc86d.js} | 2 +- assets/js/{d781e8a6.dae9215d.js => d781e8a6.3e2e0651.js} | 2 +- assets/js/{d8579283.53dd4fdd.js => d8579283.eb476cc8.js} | 2 +- assets/js/{daff3ff4.267100ba.js => daff3ff4.ee3724c5.js} | 2 +- assets/js/{db2ee795.93f69f49.js => db2ee795.68ddd733.js} | 2 +- assets/js/{dbbf52bd.58bc7dbf.js => dbbf52bd.fd379e11.js} | 2 +- assets/js/{dd15e14a.e920d3d3.js => dd15e14a.12f5f37a.js} | 2 +- assets/js/{de53aa65.a6cb7d8c.js => de53aa65.27b41e04.js} | 2 +- assets/js/{e0b1087e.ee12428f.js => e0b1087e.a24859b2.js} | 2 +- assets/js/{e2b19375.ff77e5b0.js => e2b19375.555f12ac.js} | 2 +- assets/js/{e2f82150.3f493506.js => e2f82150.e96555d3.js} | 2 +- assets/js/{e43c4cd3.7fed5d4d.js => e43c4cd3.62d3f923.js} | 2 +- assets/js/{e49ee1a9.70e29b10.js => e49ee1a9.3ee65e33.js} | 2 +- assets/js/e85af9a4.75835cf0.js | 1 + assets/js/e85af9a4.d4613e2f.js | 1 - assets/js/{e8aebf52.b922414b.js => e8aebf52.70e7c2ea.js} | 2 +- assets/js/{e98eede6.f86e60af.js => e98eede6.629876d7.js} | 2 +- assets/js/{e9cd6030.d5500e6b.js => e9cd6030.9a91abfc.js} | 2 +- assets/js/{ecdd1e85.661aea54.js => ecdd1e85.07bdf8e2.js} | 2 +- assets/js/{ee388bf8.4e1cb705.js => ee388bf8.c68a5135.js} | 2 +- assets/js/{eeb513bd.99f085cc.js => eeb513bd.3b2ccefc.js} | 2 +- assets/js/{f2faff8f.83c47886.js => f2faff8f.2172c933.js} | 2 +- assets/js/{f3b8755c.7570d42d.js => f3b8755c.4efa756d.js} | 2 +- assets/js/{f3ebdb21.dc8f922b.js => f3ebdb21.c0618faf.js} | 2 +- assets/js/{f5288705.673dc3ec.js => f5288705.32eacfe6.js} | 2 +- assets/js/{f57a1375.87354b69.js => f57a1375.65f24844.js} | 2 +- assets/js/{f63a5cf4.dedad187.js => f63a5cf4.1affa060.js} | 2 +- assets/js/{f821c4a8.48ba8711.js => f821c4a8.f394b2fa.js} | 2 +- assets/js/{fa629964.dcdbca99.js => fa629964.88514a8b.js} | 2 +- assets/js/{fa959038.7d0a02d9.js => fa959038.b7b2a127.js} | 2 +- assets/js/{fb57a917.ca770823.js => fb57a917.046d8d53.js} | 2 +- assets/js/{fbab86a0.4e7fc1c3.js => fbab86a0.75caab7a.js} | 2 +- assets/js/{fe068327.9d3cd7b7.js => fe068327.7711a792.js} | 2 +- assets/js/{fe294169.608206c2.js => fe294169.192c8df9.js} | 2 +- assets/js/{fe684f20.163daf63.js => fe684f20.69edc66f.js} | 2 +- assets/js/{ff9f076d.30900954.js => ff9f076d.51eace5c.js} | 2 +- ...{runtime~main.c854ac63.js => runtime~main.14f11437.js} | 2 +- build/api/schema/directives/include/index.html | 6 +++--- build/api/schema/directives/skip/index.html | 6 +++--- build/api/schema/enums/error-context/index.html | 6 +++--- build/api/schema/enums/sort-order/index.html | 6 +++--- build/api/schema/objects/authorized-key/index.html | 6 +++--- build/api/schema/objects/balance/index.html | 6 +++--- build/api/schema/objects/beacon-chain-summary/index.html | 6 +++--- build/api/schema/objects/consumed-inputs/index.html | 6 +++--- .../api/schema/objects/cross-validation-stamp/index.html | 6 +++--- build/api/schema/objects/data/index.html | 6 +++--- build/api/schema/objects/endpoint/index.html | 6 +++--- build/api/schema/objects/error-details/index.html | 6 +++--- build/api/schema/objects/ledger-operations/index.html | 6 +++--- build/api/schema/objects/ledger/index.html | 6 +++--- build/api/schema/objects/node/index.html | 6 +++--- build/api/schema/objects/oracle-data/index.html | 6 +++--- build/api/schema/objects/oracle-services/index.html | 6 +++--- build/api/schema/objects/ownership/index.html | 6 +++--- build/api/schema/objects/recipient/index.html | 6 +++--- build/api/schema/objects/shared-secrets/index.html | 6 +++--- build/api/schema/objects/token-balance/index.html | 6 +++--- build/api/schema/objects/token-ledger/index.html | 6 +++--- build/api/schema/objects/token-transfer/index.html | 6 +++--- build/api/schema/objects/token/index.html | 6 +++--- .../api/schema/objects/transaction-attestation/index.html | 6 +++--- build/api/schema/objects/transaction-error/index.html | 6 +++--- build/api/schema/objects/transaction-input/index.html | 6 +++--- build/api/schema/objects/transaction-movement/index.html | 6 +++--- build/api/schema/objects/transaction-summary/index.html | 6 +++--- build/api/schema/objects/transaction/index.html | 6 +++--- build/api/schema/objects/uco-data/index.html | 6 +++--- build/api/schema/objects/uco-ledger/index.html | 6 +++--- build/api/schema/objects/uco-transfer/index.html | 6 +++--- build/api/schema/objects/unspent-output/index.html | 6 +++--- build/api/schema/objects/validation-stamp/index.html | 6 +++--- build/api/schema/objects/version/index.html | 6 +++--- build/api/schema/queries/balance/index.html | 6 +++--- build/api/schema/queries/beacon-chain-summary/index.html | 6 +++--- build/api/schema/queries/chain-unspent-outputs/index.html | 6 +++--- build/api/schema/queries/genesis-address/index.html | 6 +++--- build/api/schema/queries/last-transaction/index.html | 6 +++--- build/api/schema/queries/nearest-endpoints/index.html | 6 +++--- build/api/schema/queries/network-transactions/index.html | 6 +++--- build/api/schema/queries/nodes/index.html | 6 +++--- build/api/schema/queries/oracle-data/index.html | 6 +++--- build/api/schema/queries/shared-secrets/index.html | 6 +++--- build/api/schema/queries/token/index.html | 6 +++--- build/api/schema/queries/transaction-chain/index.html | 6 +++--- build/api/schema/queries/transaction-inputs/index.html | 6 +++--- build/api/schema/queries/transaction/index.html | 6 +++--- build/api/schema/queries/transactions/index.html | 6 +++--- build/api/schema/queries/version/index.html | 6 +++--- build/api/schema/scalars/address/index.html | 6 +++--- build/api/schema/scalars/boolean/index.html | 6 +++--- build/api/schema/scalars/content/index.html | 6 +++--- build/api/schema/scalars/error-data/index.html | 6 +++--- build/api/schema/scalars/float/index.html | 6 +++--- build/api/schema/scalars/hash/index.html | 6 +++--- build/api/schema/scalars/hex/index.html | 6 +++--- build/api/schema/scalars/int/index.html | 6 +++--- build/api/schema/scalars/non-neg-integer/index.html | 6 +++--- build/api/schema/scalars/p2-p-availabilities/index.html | 6 +++--- build/api/schema/scalars/pos-integer/index.html | 6 +++--- build/api/schema/scalars/public-key/index.html | 6 +++--- build/api/schema/scalars/recipient-args/index.html | 6 +++--- build/api/schema/scalars/sha-256-hash/index.html | 6 +++--- build/api/schema/scalars/state/index.html | 6 +++--- build/api/schema/scalars/string/index.html | 6 +++--- build/api/schema/scalars/timestamp/index.html | 6 +++--- build/api/schema/scalars/token-properties/index.html | 6 +++--- build/api/schema/scalars/transaction-type/index.html | 6 +++--- build/api/schema/scalars/versioned-hash/index.html | 6 +++--- build/api/schema/subscriptions/oracle-update/index.html | 6 +++--- .../schema/subscriptions/transaction-confirmed/index.html | 6 +++--- .../api/schema/subscriptions/transaction-error/index.html | 6 +++--- build/clients/ledger-wallet/api/index.html | 6 +++--- build/clients/ledger-wallet/commands/index.html | 6 +++--- build/clients/ledger-wallet/index.html | 6 +++--- build/clients/wallet-access/index.html | 6 +++--- build/clients/wallet-spec/index.html | 6 +++--- build/core/account/index.html | 6 +++--- build/core/beacon-chain/index.html | 6 +++--- build/core/beacon-chain/p2p-sampling/index.html | 6 +++--- build/core/bootstrap/index.html | 6 +++--- build/core/cryptography/index.html | 6 +++--- build/core/cryptography/tpm/index.html | 6 +++--- build/core/cryptography/yubikey/index.html | 6 +++--- build/core/database/index.html | 6 +++--- build/core/election/index.html | 6 +++--- build/core/governance/code-proposals-cd/index.html | 6 +++--- build/core/governance/code-proposals-ci/index.html | 6 +++--- build/core/governance/code-proposals/index.html | 6 +++--- build/core/index.html | 6 +++--- build/core/mining/index.html | 6 +++--- build/core/mining/proof-of-work/index.html | 6 +++--- build/core/mining/transaction-context/index.html | 6 +++--- build/core/mining/transaction-validation/index.html | 6 +++--- build/core/oracle-chain/index.html | 6 +++--- build/core/oracle-chain/memory-table/index.html | 6 +++--- build/core/oracle-chain/scheduler/index.html | 6 +++--- build/core/oracle-chain/service/index.html | 6 +++--- build/core/p2p/index.html | 6 +++--- build/core/p2p/messaging/index.html | 6 +++--- build/core/p2p/node/index.html | 6 +++--- build/dapp/connecting/index.html | 6 +++--- build/dapp/faq/index.html | 6 +++--- build/dapp/getting-started/index.html | 6 +++--- build/dapp/index.html | 6 +++--- build/dapp/rpc-commands/index.html | 6 +++--- build/dapp/signing-transaction/index.html | 6 +++--- build/dapp/watch-balance/index.html | 6 +++--- build/sdk/dart/index.html | 6 +++--- build/sdk/go/index.html | 6 +++--- build/sdk/index.html | 6 +++--- build/sdk/js/index.html | 6 +++--- build/smart-contracts/fees/index.html | 6 +++--- build/smart-contracts/index.html | 6 +++--- build/smart-contracts/language/actions/index.html | 6 +++--- build/smart-contracts/language/condition/index.html | 6 +++--- build/smart-contracts/language/index.html | 6 +++--- build/smart-contracts/language/legacy/examples/index.html | 6 +++--- build/smart-contracts/language/legacy/index.html | 6 +++--- build/smart-contracts/language/legacy/language/index.html | 6 +++--- build/smart-contracts/language/library/chain/index.html | 6 +++--- build/smart-contracts/language/library/code/index.html | 6 +++--- .../smart-contracts/language/library/contract/index.html | 6 +++--- build/smart-contracts/language/library/crypto/index.html | 6 +++--- build/smart-contracts/language/library/evm/index.html | 6 +++--- build/smart-contracts/language/library/http/index.html | 6 +++--- build/smart-contracts/language/library/index.html | 6 +++--- build/smart-contracts/language/library/json/index.html | 6 +++--- build/smart-contracts/language/library/list/index.html | 6 +++--- build/smart-contracts/language/library/map/index.html | 6 +++--- build/smart-contracts/language/library/math/index.html | 6 +++--- build/smart-contracts/language/library/regex/index.html | 6 +++--- build/smart-contracts/language/library/state/index.html | 6 +++--- build/smart-contracts/language/library/string/index.html | 6 +++--- build/smart-contracts/language/library/time/index.html | 6 +++--- build/smart-contracts/language/library/token/index.html | 6 +++--- build/smart-contracts/language/triggers/index.html | 6 +++--- build/smart-contracts/wasm/getting-started/index.html | 6 +++--- build/smart-contracts/wasm/runtime/index.html | 6 +++--- build/smart-contracts/wasm/sdk/assemblyscript/index.html | 8 ++++---- build/testnet/index.html | 6 +++--- category/api/index.html | 4 ++-- category/build/index.html | 4 ++-- category/clients/index.html | 4 ++-- category/dapp-development/index.html | 4 ++-- category/faq/index.html | 4 ++-- category/graphql/index.html | 4 ++-- category/participate/index.html | 4 ++-- category/sdk/index.html | 4 ++-- category/usage/index.html | 4 ++-- category/wasm/index.html | 4 ++-- contributing/index.html | 6 +++--- index.html | 4 ++-- learn/arch-consensus/index.html | 6 +++--- learn/arch-consensus/proof-of-work/index.html | 6 +++--- learn/cryptography/hardware-root-of-trust/index.html | 6 +++--- learn/cryptography/index.html | 6 +++--- learn/decentralized-id/index.html | 6 +++--- learn/decentralized-id/keychain/index.html | 6 +++--- learn/ecosystem/index.html | 6 +++--- learn/fee/index.html | 6 +++--- learn/governance/index.html | 6 +++--- learn/index.html | 6 +++--- learn/oracle-chain/index.html | 6 +++--- learn/p2p/bootstrapping/index.html | 6 +++--- learn/p2p/index.html | 6 +++--- learn/p2p/self-repair/index.html | 6 +++--- learn/patents/index.html | 6 +++--- learn/sharding/beacon-chain/explorer/index.html | 6 +++--- learn/sharding/beacon-chain/index.html | 6 +++--- learn/sharding/index.html | 6 +++--- learn/sharding/replication-attestation/index.html | 6 +++--- learn/token/index.html | 6 +++--- learn/transaction-chain/index.html | 6 +++--- learn/transaction-types/index.html | 6 +++--- learn/uco/index.html | 6 +++--- markdown-page/index.html | 4 ++-- participate/DeFi/index.html | 6 +++--- participate/aeweb/automation/index.html | 6 +++--- participate/aeweb/dns/index.html | 6 +++--- participate/aeweb/how-it-works/index.html | 6 +++--- participate/aeweb/index.html | 6 +++--- participate/aeweb/usage/aeweb-front/index.html | 6 +++--- participate/aeweb/usage/cli/index.html | 6 +++--- participate/bridge/index.html | 6 +++--- participate/bridge/usage/index.html | 6 +++--- participate/cli/index.html | 6 +++--- participate/dex/Core Concepts/core_concepts_1/index.html | 6 +++--- participate/dex/Core Concepts/core_concepts_2/index.html | 6 +++--- participate/dex/Core Concepts/core_concepts_3/index.html | 6 +++--- participate/dex/Guide_Usage/farming/index.html | 6 +++--- participate/dex/Guide_Usage/index.html | 6 +++--- participate/dex/Guide_Usage/liquidity_pool/index.html | 6 +++--- participate/dex/Guide_Usage/swap/index.html | 6 +++--- .../dex/Overview/ecosystem_participants/index.html | 6 +++--- participate/dex/Overview/glossary/index.html | 6 +++--- participate/dex/Overview/protocol_overview/index.html | 6 +++--- .../dex/Overview/smart_contracts/farm-lock/index.html | 6 +++--- participate/dex/Overview/smart_contracts/index.html | 6 +++--- participate/dex/index.html | 6 +++--- participate/wallet/dapps-communication/index.html | 6 +++--- participate/wallet/index.html | 6 +++--- schema/index.html | 6 +++--- search-index-docs-default-current.json | 2 +- 415 files changed, 825 insertions(+), 825 deletions(-) rename assets/js/{009f927a.11078e00.js => 009f927a.4efc133f.js} (99%) rename assets/js/{0126df03.35cf23e7.js => 0126df03.92d30442.js} (98%) rename assets/js/{02486155.fc571d5b.js => 02486155.48120481.js} (97%) rename assets/js/{05f2d199.7e55e4bc.js => 05f2d199.e3d75a0b.js} (99%) rename assets/js/{05fd4dd8.7a08a59d.js => 05fd4dd8.dab4258a.js} (97%) rename assets/js/{0607e0c5.ce815d0e.js => 0607e0c5.d5ec4792.js} (98%) rename assets/js/{0666b85a.79dc2077.js => 0666b85a.f3149e27.js} (97%) rename assets/js/{07620fdf.6621394e.js => 07620fdf.bd506b2d.js} (98%) rename assets/js/{07f0fc78.43694ac2.js => 07f0fc78.933aa4dd.js} (98%) rename assets/js/{08912224.c8a6238c.js => 08912224.962b21fb.js} (97%) rename assets/js/{0945e04b.9b03e054.js => 0945e04b.9a48bd8c.js} (99%) rename assets/js/{0946372c.7596a615.js => 0946372c.638b0c35.js} (98%) rename assets/js/{0c928027.f4050f98.js => 0c928027.5bd802e6.js} (98%) rename assets/js/{10e03315.049e9118.js => 10e03315.1a6d8b2d.js} (97%) rename assets/js/{11838df3.4591245d.js => 11838df3.56ea7c3b.js} (97%) rename assets/js/{12706266.c3abde22.js => 12706266.71f26944.js} (99%) rename assets/js/{145b7035.a908f2fe.js => 145b7035.c05620b1.js} (99%) rename assets/js/{145f3c45.b01332d4.js => 145f3c45.0a461477.js} (98%) rename assets/js/{147d0e4e.9a01b47e.js => 147d0e4e.1f807bda.js} (97%) rename assets/js/{14d826f7.694841b5.js => 14d826f7.0532737e.js} (99%) rename assets/js/{15848830.e9c23893.js => 15848830.8fddb2eb.js} (99%) rename assets/js/{16aa5868.87218ea2.js => 16aa5868.a2d50849.js} (98%) rename assets/js/{16c17b5d.10a1bba4.js => 16c17b5d.e09d225b.js} (98%) rename assets/js/{16e43f8e.39fc8037.js => 16e43f8e.9280d827.js} (98%) rename assets/js/{1735c347.c33d5621.js => 1735c347.381dc1db.js} (98%) rename assets/js/{17dede69.29cd0c8d.js => 17dede69.6125d62b.js} (99%) rename assets/js/{1872c6b8.06836781.js => 1872c6b8.b1d2c6ac.js} (98%) rename assets/js/{18d505e7.e3ad90c6.js => 18d505e7.efe9d0fb.js} (99%) rename assets/js/{193cb586.8b919a03.js => 193cb586.7b6f7b54.js} (98%) rename assets/js/{199f22fd.e1dc88ca.js => 199f22fd.a0c9888e.js} (97%) rename assets/js/{1b1339dc.7d3e21d8.js => 1b1339dc.dbaa519f.js} (98%) rename assets/js/{1b311f41.fed66275.js => 1b311f41.e269136d.js} (98%) rename assets/js/{2159a0a5.28a71277.js => 2159a0a5.0dfb42cc.js} (98%) rename assets/js/{21e44e7e.9db5fac1.js => 21e44e7e.42abc252.js} (99%) rename assets/js/{24510ea8.19da55e0.js => 24510ea8.f05ce2b1.js} (98%) rename assets/js/{27ab3fd0.26100074.js => 27ab3fd0.6180fbf8.js} (98%) rename assets/js/{2ab0cde1.8ac82af2.js => 2ab0cde1.3a56511c.js} (98%) rename assets/js/{2bbc5cd2.a8d714c4.js => 2bbc5cd2.40c619e7.js} (96%) rename assets/js/{2bc40b18.b8964a21.js => 2bc40b18.2391a654.js} (99%) rename assets/js/{2c3d8110.7f753163.js => 2c3d8110.12297852.js} (98%) rename assets/js/{2d63ea61.3e79273d.js => 2d63ea61.d956e326.js} (98%) rename assets/js/{2f55ba46.a3c76905.js => 2f55ba46.3fa92d1e.js} (98%) rename assets/js/{2fdf8aec.110a9bdc.js => 2fdf8aec.94ad95ee.js} (98%) rename assets/js/{300a963c.077f4978.js => 300a963c.bc854982.js} (97%) rename assets/js/{310207c7.58aea0b2.js => 310207c7.ccc39752.js} (96%) rename assets/js/{31a1e1b3.d82742d4.js => 31a1e1b3.624ebfdd.js} (99%) rename assets/js/{3247e900.4fb8f2d2.js => 3247e900.c6a6f8b1.js} (99%) rename assets/js/{32b86e0c.bae45a71.js => 32b86e0c.e226cd92.js} (99%) rename assets/js/{32bd85cf.290bf89e.js => 32bd85cf.020f0bca.js} (98%) rename assets/js/{36739131.aa9ab2aa.js => 36739131.a39832c2.js} (99%) rename assets/js/{378b5e98.ebd3c2ce.js => 378b5e98.dc4ae702.js} (99%) rename assets/js/{3bb603bb.b57f6df5.js => 3bb603bb.1f8ae282.js} (98%) rename assets/js/{3c967327.1748906d.js => 3c967327.73412ac3.js} (99%) rename assets/js/{3d4047db.59d644cf.js => 3d4047db.09319b6a.js} (99%) rename assets/js/{3f3bfce2.51335c96.js => 3f3bfce2.106f2bc1.js} (98%) rename assets/js/{410469d2.c44ef58f.js => 410469d2.ac1e0aab.js} (97%) rename assets/js/{41637b9f.4952edc4.js => 41637b9f.a5fc22b6.js} (98%) rename assets/js/{41e024b6.60ddb192.js => 41e024b6.cef65fa8.js} (98%) rename assets/js/{42c0b8d9.d0f68c40.js => 42c0b8d9.363d741e.js} (99%) rename assets/js/{4417e8c8.d5c1d8d1.js => 4417e8c8.af4f7e7a.js} (98%) rename assets/js/{441b3d3d.7616ebdd.js => 441b3d3d.b6bd5b2e.js} (99%) rename assets/js/{45e94216.e8491436.js => 45e94216.8c7ec334.js} (97%) rename assets/js/{4775ecc5.6df3ec22.js => 4775ecc5.6d8ceaf4.js} (99%) rename assets/js/{4a0589af.9bbbc72d.js => 4a0589af.cb3f6717.js} (98%) rename assets/js/{4ad6f564.3d7ffde6.js => 4ad6f564.1add63b2.js} (97%) rename assets/js/{4b0f8212.143b1f9f.js => 4b0f8212.76bdf1fe.js} (98%) rename assets/js/{4bf323b4.367b2f26.js => 4bf323b4.96f687e2.js} (99%) rename assets/js/{4c0f205c.727227be.js => 4c0f205c.1ad8d750.js} (98%) rename assets/js/{4d54d076.f3ee1f81.js => 4d54d076.83debdda.js} (98%) rename assets/js/{5037eb2b.7d407486.js => 5037eb2b.6c46d4c3.js} (98%) rename assets/js/{5185999b.e00d88b2.js => 5185999b.78f5014b.js} (96%) rename assets/js/{55620597.8be7410a.js => 55620597.37c9d045.js} (97%) rename assets/js/{56f0859a.13f82d77.js => 56f0859a.e72218fd.js} (99%) rename assets/js/{57fb9911.d7edb8e1.js => 57fb9911.27c01550.js} (99%) rename assets/js/{59ac5e04.d782a112.js => 59ac5e04.4397e4ea.js} (98%) rename assets/js/{5b112661.e29b61f8.js => 5b112661.ddd95023.js} (98%) rename assets/js/{5b4742e7.95fdb249.js => 5b4742e7.001f230f.js} (99%) rename assets/js/{5c6aa1cd.9c62cef1.js => 5c6aa1cd.f4cf3f7e.js} (98%) rename assets/js/{5eea7269.6536775d.js => 5eea7269.300d0bd1.js} (98%) rename assets/js/{5fe1ab02.25ff1aa9.js => 5fe1ab02.3af4a48d.js} (98%) rename assets/js/{61e43ac9.798281f0.js => 61e43ac9.ae0f3999.js} (97%) rename assets/js/{638e4778.a1b8602f.js => 638e4778.5eff6867.js} (98%) rename assets/js/{65c808a4.1e2d1ce1.js => 65c808a4.e1fc4e94.js} (98%) rename assets/js/{66076425.7ded4eb4.js => 66076425.d3f2ec7d.js} (98%) rename assets/js/{6638f55a.7a5b4f90.js => 6638f55a.0ba9d143.js} (98%) rename assets/js/{66545c3d.a430ebeb.js => 66545c3d.4a724a2d.js} (99%) rename assets/js/{6aade8bf.650c5747.js => 6aade8bf.4e998ab2.js} (97%) rename assets/js/{6efc9e6d.d06ea595.js => 6efc9e6d.30db0778.js} (97%) rename assets/js/{6fa4dae1.eca128f4.js => 6fa4dae1.38220ca0.js} (99%) rename assets/js/{70e1f15f.0ae2501c.js => 70e1f15f.3c4ae808.js} (98%) rename assets/js/{710ae1bb.ca2d41d7.js => 710ae1bb.e6298317.js} (98%) rename assets/js/{749f8745.0caa8777.js => 749f8745.89685292.js} (98%) rename assets/js/{764c3c46.4f10cd86.js => 764c3c46.596c68df.js} (99%) rename assets/js/{76b1eb51.424d3ddb.js => 76b1eb51.01ee2a33.js} (98%) rename assets/js/{7746a795.fb9829ab.js => 7746a795.fff65239.js} (99%) rename assets/js/{7764509b.4b3d58ef.js => 7764509b.242d983f.js} (99%) rename assets/js/{777b0dfa.75c68731.js => 777b0dfa.f8496e89.js} (97%) rename assets/js/{79891879.e10dd91a.js => 79891879.8624d26e.js} (98%) rename assets/js/{7bfcff53.c1ef7105.js => 7bfcff53.d2b11630.js} (98%) rename assets/js/{7d24ac82.153e6ac3.js => 7d24ac82.91b2d568.js} (99%) rename assets/js/{7e96883b.df487ab8.js => 7e96883b.a3c683b6.js} (98%) rename assets/js/{8153e280.257eddca.js => 8153e280.bec83e22.js} (97%) rename assets/js/{851bf865.45f1257d.js => 851bf865.2e5b862b.js} (96%) rename assets/js/{86f08845.7a9382a7.js => 86f08845.65e1a4f0.js} (99%) rename assets/js/{87dfbf5d.683a5659.js => 87dfbf5d.3fe5456d.js} (97%) rename assets/js/{89af9b08.9d462ef1.js => 89af9b08.6e6532f8.js} (99%) rename assets/js/{8a9337ba.854f3d00.js => 8a9337ba.a45c5455.js} (98%) rename assets/js/{8b5bd275.435768b0.js => 8b5bd275.79ad562e.js} (98%) rename assets/js/{8baedca9.a9cf20f7.js => 8baedca9.8e5a9aac.js} (99%) rename assets/js/{8d60aa1f.b0c2c1ac.js => 8d60aa1f.f516bc28.js} (98%) rename assets/js/{8dbf302e.de6770fa.js => 8dbf302e.011a0e55.js} (99%) rename assets/js/{9280a2e5.00521320.js => 9280a2e5.094656ea.js} (97%) rename assets/js/{9327017b.450b188b.js => 9327017b.9b3775eb.js} (99%) rename assets/js/{93a4d248.40d357a5.js => 93a4d248.94e35ec6.js} (98%) rename assets/js/{93c272fe.cd244cac.js => 93c272fe.5c8343b4.js} (99%) rename assets/js/{941e9194.fcb9ccf0.js => 941e9194.8564c17e.js} (98%) rename assets/js/{9bb63452.657a218f.js => 9bb63452.e78ab199.js} (95%) rename assets/js/{9c94cf05.19bb30e2.js => 9c94cf05.5d6a8950.js} (97%) rename assets/js/{9c964f59.9faae48c.js => 9c964f59.264b59b1.js} (99%) rename assets/js/{9d5784d1.491eb042.js => 9d5784d1.be3de0e8.js} (98%) rename assets/js/{9de09737.07267a40.js => 9de09737.461693e3.js} (98%) rename assets/js/{9e3de0ed.9b624cae.js => 9e3de0ed.24b1d34e.js} (99%) rename assets/js/{9ffe0250.212ffb83.js => 9ffe0250.fd120440.js} (99%) rename assets/js/{a0393694.c675fac9.js => a0393694.73db0351.js} (99%) rename assets/js/{a18b1795.35148c72.js => a18b1795.a6de0c9b.js} (98%) rename assets/js/{a22626c5.ed045baf.js => a22626c5.470ae636.js} (97%) rename assets/js/{a3bcfc8d.815b1603.js => a3bcfc8d.86c2e527.js} (98%) rename assets/js/{a90ecf70.f0a53a49.js => a90ecf70.b03db746.js} (98%) rename assets/js/{aa1914e6.edc19edd.js => aa1914e6.46c99d45.js} (97%) create mode 100644 assets/js/aadacf86.2313abc9.js delete mode 100644 assets/js/aadacf86.5b2d3a35.js rename assets/js/{ab699365.720152bd.js => ab699365.58749535.js} (99%) rename assets/js/{ac1890eb.700d191b.js => ac1890eb.380cf631.js} (98%) rename assets/js/{ae218501.b99706b2.js => ae218501.cc2a202f.js} (98%) rename assets/js/{aef11b3c.5340f17f.js => aef11b3c.d354427d.js} (99%) rename assets/js/{b17a2c3b.1f07c351.js => b17a2c3b.0a923c78.js} (98%) rename assets/js/{b2e52e63.ed53cc31.js => b2e52e63.1280a1bc.js} (99%) rename assets/js/{b3ae0c51.b77292df.js => b3ae0c51.15e9e643.js} (96%) rename assets/js/{b4914bc5.7bfc0817.js => b4914bc5.ddb41e53.js} (97%) rename assets/js/{b684cce9.0e3b2cbc.js => b684cce9.391f7283.js} (99%) rename assets/js/{bbc3785e.224216db.js => bbc3785e.1c489edb.js} (97%) rename assets/js/{bd1424fb.66d5eb60.js => bd1424fb.a92d6517.js} (99%) rename assets/js/{bd14bfe1.7d13e917.js => bd14bfe1.47c6615a.js} (98%) rename assets/js/{be94c4be.f6d97bf9.js => be94c4be.748ed356.js} (99%) rename assets/js/{bf608a00.031a81c9.js => bf608a00.578cc512.js} (98%) rename assets/js/{bf6e295d.52a78c29.js => bf6e295d.0ab20d54.js} (98%) rename assets/js/{c1456968.b7560bea.js => c1456968.581d9604.js} (99%) rename assets/js/{c204078c.8e880d05.js => c204078c.52848374.js} (98%) rename assets/js/{c31aa05f.df97fe7a.js => c31aa05f.075a1ca9.js} (97%) rename assets/js/{c31d0f42.ea162974.js => c31d0f42.b96fc7ff.js} (96%) rename assets/js/{c325c1c7.5adbaa76.js => c325c1c7.1a1ab8d8.js} (99%) rename assets/js/{c47075b4.b4e95b4c.js => c47075b4.696ff587.js} (97%) rename assets/js/{c4bb8d44.9324b64e.js => c4bb8d44.6a96cd99.js} (99%) rename assets/js/{c65c1395.4d7d5848.js => c65c1395.373cc74a.js} (97%) rename assets/js/{c8c61268.b32a6764.js => c8c61268.a4d5fe1e.js} (98%) rename assets/js/{c9e924cb.519153e9.js => c9e924cb.c26f13dd.js} (98%) rename assets/js/{cc5722e1.a29e7c44.js => cc5722e1.ee418003.js} (96%) rename assets/js/{cc668907.f6c4fde8.js => cc668907.cdec9fe8.js} (98%) rename assets/js/{ceaeeb36.f1c2844e.js => ceaeeb36.421b5b4b.js} (97%) rename assets/js/{cfbe1bc9.db445041.js => cfbe1bc9.425ddd3e.js} (98%) rename assets/js/{d0a652bb.fe97ec32.js => d0a652bb.64f1c621.js} (98%) rename assets/js/{d2674f84.e618305d.js => d2674f84.87b1c08c.js} (98%) rename assets/js/{d39a7100.c05ca4e6.js => d39a7100.034123c5.js} (98%) rename assets/js/{d409b53d.c0528830.js => d409b53d.d1ee70a5.js} (99%) rename assets/js/{d54033d7.c5146cf6.js => d54033d7.32f4f543.js} (98%) rename assets/js/{d5f21d1f.fa47c694.js => d5f21d1f.3d0dc86d.js} (96%) rename assets/js/{d781e8a6.dae9215d.js => d781e8a6.3e2e0651.js} (97%) rename assets/js/{d8579283.53dd4fdd.js => d8579283.eb476cc8.js} (99%) rename assets/js/{daff3ff4.267100ba.js => daff3ff4.ee3724c5.js} (98%) rename assets/js/{db2ee795.93f69f49.js => db2ee795.68ddd733.js} (98%) rename assets/js/{dbbf52bd.58bc7dbf.js => dbbf52bd.fd379e11.js} (98%) rename assets/js/{dd15e14a.e920d3d3.js => dd15e14a.12f5f37a.js} (98%) rename assets/js/{de53aa65.a6cb7d8c.js => de53aa65.27b41e04.js} (99%) rename assets/js/{e0b1087e.ee12428f.js => e0b1087e.a24859b2.js} (99%) rename assets/js/{e2b19375.ff77e5b0.js => e2b19375.555f12ac.js} (97%) rename assets/js/{e2f82150.3f493506.js => e2f82150.e96555d3.js} (97%) rename assets/js/{e43c4cd3.7fed5d4d.js => e43c4cd3.62d3f923.js} (99%) rename assets/js/{e49ee1a9.70e29b10.js => e49ee1a9.3ee65e33.js} (98%) create mode 100644 assets/js/e85af9a4.75835cf0.js delete mode 100644 assets/js/e85af9a4.d4613e2f.js rename assets/js/{e8aebf52.b922414b.js => e8aebf52.70e7c2ea.js} (98%) rename assets/js/{e98eede6.f86e60af.js => e98eede6.629876d7.js} (99%) rename assets/js/{e9cd6030.d5500e6b.js => e9cd6030.9a91abfc.js} (97%) rename assets/js/{ecdd1e85.661aea54.js => ecdd1e85.07bdf8e2.js} (99%) rename assets/js/{ee388bf8.4e1cb705.js => ee388bf8.c68a5135.js} (97%) rename assets/js/{eeb513bd.99f085cc.js => eeb513bd.3b2ccefc.js} (99%) rename assets/js/{f2faff8f.83c47886.js => f2faff8f.2172c933.js} (99%) rename assets/js/{f3b8755c.7570d42d.js => f3b8755c.4efa756d.js} (99%) rename assets/js/{f3ebdb21.dc8f922b.js => f3ebdb21.c0618faf.js} (99%) rename assets/js/{f5288705.673dc3ec.js => f5288705.32eacfe6.js} (99%) rename assets/js/{f57a1375.87354b69.js => f57a1375.65f24844.js} (97%) rename assets/js/{f63a5cf4.dedad187.js => f63a5cf4.1affa060.js} (98%) rename assets/js/{f821c4a8.48ba8711.js => f821c4a8.f394b2fa.js} (99%) rename assets/js/{fa629964.dcdbca99.js => fa629964.88514a8b.js} (98%) rename assets/js/{fa959038.7d0a02d9.js => fa959038.b7b2a127.js} (99%) rename assets/js/{fb57a917.ca770823.js => fb57a917.046d8d53.js} (98%) rename assets/js/{fbab86a0.4e7fc1c3.js => fbab86a0.75caab7a.js} (98%) rename assets/js/{fe068327.9d3cd7b7.js => fe068327.7711a792.js} (97%) rename assets/js/{fe294169.608206c2.js => fe294169.192c8df9.js} (98%) rename assets/js/{fe684f20.163daf63.js => fe684f20.69edc66f.js} (99%) rename assets/js/{ff9f076d.30900954.js => ff9f076d.51eace5c.js} (98%) rename assets/js/{runtime~main.c854ac63.js => runtime~main.14f11437.js} (55%) diff --git a/404.html b/404.html index 549d3c1c9..30ff6c2ce 100644 --- a/404.html +++ b/404.html @@ -4,13 +4,13 @@ Page Not Found | Archethic - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/FAQ/aeweb/index.html b/FAQ/aeweb/index.html index 46673a081..8f477ea5e 100644 --- a/FAQ/aeweb/index.html +++ b/FAQ/aeweb/index.html @@ -4,13 +4,13 @@ aeHosting | Archethic - +
-
Skip to main content

aeHosting

General

How do I redirect my domain names to my websites deployed on the Archethic Blockchain?

All the information regarding DNS configuration is available in the dedicated section.

You will also find examples for Gandi, Cloudflare, and OVH services.

What is the purpose of a .gitignore file?

The .gitignore file serves to exclude specific files and directories from version control with Git. In the context of AEWeb, it's used to prevent the upload and synchronization of configuration and development files that are specific to the Git repository. This ensures that only the essential files of the website are transferred during the upload process.

Currently, the AEWeb CLI is not directly connected to the wallet. Therefore, it is necessary to provision the chain that will host the files in order to pay the transaction fees. However, you can still use the wallet's keychain by retrieving the passphrase and utilizing the wallet's service to send funds to the service hosting the image, just as if you were performing the action directly from the wallet.

Here's an example using the Testnet:

aeweb deploy --seed myseedphrase --endpoint https://testnet.archethic.net --path ./website --keychain-funding-service "archethic-wallet-ALICE" --keychain-website-service myImageAEWeb
- +
Skip to main content

aeHosting

General

How do I redirect my domain names to my websites deployed on the Archethic Blockchain?

All the information regarding DNS configuration is available in the dedicated section.

You will also find examples for Gandi, Cloudflare, and OVH services.

What is the purpose of a .gitignore file?

The .gitignore file serves to exclude specific files and directories from version control with Git. In the context of AEWeb, it's used to prevent the upload and synchronization of configuration and development files that are specific to the Git repository. This ensures that only the essential files of the website are transferred during the upload process.

Currently, the AEWeb CLI is not directly connected to the wallet. Therefore, it is necessary to provision the chain that will host the files in order to pay the transaction fees. However, you can still use the wallet's keychain by retrieving the passphrase and utilizing the wallet's service to send funds to the service hosting the image, just as if you were performing the action directly from the wallet.

Here's an example using the Testnet:

aeweb deploy --seed myseedphrase --endpoint https://testnet.archethic.net --path ./website --keychain-funding-service "archethic-wallet-ALICE" --keychain-website-service myImageAEWeb
+ \ No newline at end of file diff --git a/FAQ/bridge-2-ways/index.html b/FAQ/bridge-2-ways/index.html index 1f1b3fd40..05a453b8e 100644 --- a/FAQ/bridge-2-ways/index.html +++ b/FAQ/bridge-2-ways/index.html @@ -4,7 +4,7 @@ aeBridge | Archethic - + @@ -16,8 +16,8 @@ Note the address of the Archethic contract indicated under the error message (or available in your local history) and contact Archethic support via social media (Telegram or Discord) who will resolve the issue and help you complete your bridge.

The bridge does not recognize my EVM wallet. What should I do?

If your EVM wallet is not recognized by the bridge, follow these steps to resolve the issue:

1) Check your wallet version: Make sure you are using the latest version of your EVM wallet. Update if necessary.
2) Open your wallet: Ensure that your EVM wallet is open and that you have entered your password.
3) Wallet conflicts: Verify that you do not have multiple EVM wallets active at the same time. Having several wallets open can cause conflicts.
-4) Deactivate other wallets: Deactivate all open EVM wallets except the one you want to use. This ensures that only the desired wallet is active, avoiding any conflicts.

By following these steps, you should be able to resolve the issue of the bridge not recognizing your EVM wallet.


- +4) Deactivate other wallets: Deactivate all open EVM wallets except the one you want to use. This ensures that only the desired wallet is active, avoiding any conflicts.

By following these steps, you should be able to resolve the issue of the bridge not recognizing your EVM wallet.


+ \ No newline at end of file diff --git a/FAQ/dex/index.html b/FAQ/dex/index.html index 60f7e8554..b190006fd 100644 --- a/FAQ/dex/index.html +++ b/FAQ/dex/index.html @@ -4,7 +4,7 @@ aeSwap | Archethic - + @@ -13,8 +13,8 @@ If you experience issues with other browsers, please inform our teams via social media platforms such as Discord or Telegram, or submit an issue on GitHub. All relevant links can be found on the Archethic website. Thank you for your assistance.

Why is a small quantity of liquidity pool shares removed when the first liquidity is added to a pool on Archethic?

During the initial creation of liquidity in a pool on Archethic, a small quantity of pool shares (exactly 10 shares on a scale of 100 million per share) is removed to prevent manipulations and rounding issues. This process involves the "burning" (destruction) of these shares by removing them from circulation. When a pool is created, we subtract 10 shares from what would normally be minted (created) for the user.

This prevents potential attacks where someone might try to manipulate the value of the pool shares with very small amounts of liquidity, thus making participation more secure and equitable for all future liquidity providers. This mechanism ensures that the shares remain accessible even if the value of the pool increases significantly.

What does APR (24h) mean in the pool information?

This is an estimation of the annual yield based on the fees generated by swaps over the last 24 hours. It provides an idea of the potential annual return based on recent performance.

The calculation is as follows: (Fees from the last 24 hours * 365 * 100 / TVL).

Wallet

I’m using the Mainnet network in the Wallet, how can I switch on the Testnet?

The switch is not possible because the seed is not shared between Mainnet and Testnet. Later, the wallet will be multiseeds, but not for the moment. The only way for the moment is to remove the Wallet (don’t forget the 24 words) and create/import a wallet on the Testnet network.

Why can't I connect to the Archethic wallet with my Brave browser?

Brave includes a shield feature that might block certain local connections. -To successfully connect to the Archethic wallet, you'll need to modify the Brave browser’s shield settings as per its documentation


- +To successfully connect to the Archethic wallet, you'll need to modify the Brave browser’s shield settings as per its documentation


+ \ No newline at end of file diff --git a/FAQ/migration-erc-token/index.html b/FAQ/migration-erc-token/index.html index a1f8b826b..b1f6d46fe 100644 --- a/FAQ/migration-erc-token/index.html +++ b/FAQ/migration-erc-token/index.html @@ -4,14 +4,14 @@ Migration of ERC-20 UCO Tokens | Archethic - +
Skip to main content

Migration of ERC-20 UCO Tokens

General

Why Archethic migrates his ERC20 UCO Token?

Project Background:

The Archethic project initially launched a token called UCO (Archethic Universal Coin), based on the ERC-20 standard, available on several blockchains: Ethereum, Polygon, and the BNB Chain. Since then, the project has made significant progress, including the launch of its own blockchain (mainnet) in December 2022, and the opening of a bridge and a decentralized exchange in May 2024.

Now that the UCO is natively available on the Archethic blockchain, it is time to update the ERC-20 token to reflect these changes.

Why a Migration?

The migration to a new ERC-20 UCO token is necessary for several reasons:

  • Updating Information: The current ERC-20 token is outdated. For example, the token's name and the total supply need to be modified to reflect the project's current status.

  • Harmonizing Functionality: The current versions of the UCO token on different blockchains (Ethereum, Polygon, BNB Chain) do not function in the same way. The new ERC-20 UCO token will be designed to operate uniformly across all blockchains, with functions such as mint (creation of new tokens) and burn (destruction of tokens), which are missing in some current versions.

What Does This Mean for users?

If you hold ERC-20 UCO tokens, you will need to migrate them to the new version (Version 2). This migration ensures that you will be using an up-to-date, secure token that functions across all compatible blockchains.

The migration will be facilitated by a specially designed smart contract to make this process as simple and secure as possible. You will also have access to tools to help you transition smoothly.

In Summary:

Migrating to the new ERC-20 UCO token is essential to ensure that users' tokens remain up-to-date with the latest developments in the Archethic project. This update will allow for better compatibility and security while harmonizing the token's functionality across all blockchains.

How do I migrate my V1 tokens to V2?

To migrate your tokens, simply go to the migration tool at https://migration-uco.archethic.net. This tool allows you to securely migrate your tokens on each blockchain (Ethereum, BSC, and Polygon).

If I have 3000 UCO in V1, how many UCO will I receive in V2?

The migration is done at a 1:1 ratio. This means that if you migrate 3000 UCO V1, you will receive 3000 UCO in V2.

How much does the migration cost the user?

There is no service fee for the migration. However, you will need to pay the transaction fees associated with the blockchains to execute the smart contract. These fees depend on the Ethereum, Polygon, and BSC blockchains.

I have UCO with more than 8 decimal places; does this have an impact?

The UCO on EVM blockchains (like Ethereum) has 18 decimal places, but on Archethic, it has only 8. During the migration, only the first 8 decimal places will be retained. -For example, if you have 100.123456789123456789 UCO, after migration, you will have 100.12345678 UCO.

- +For example, if you have 100.123456789123456789 UCO, after migration, you will have 100.12345678 UCO.

+ \ No newline at end of file diff --git a/FAQ/wallet/index.html b/FAQ/wallet/index.html index bbdf1c452..1c9e098dd 100644 --- a/FAQ/wallet/index.html +++ b/FAQ/wallet/index.html @@ -4,7 +4,7 @@ aeWallet | Archethic - + @@ -21,8 +21,8 @@ 10) After a few seconds of waiting, your keychain is created with your first account.

You can now enjoy the Archethic ecosystem. Enjoy!

How to retrieve the address of my Archethic wallet?

Firstly, you should be aware that your address changes with each transaction.

But don't worry. If you provide an old address to receive funds or tokens, it will still work, and you will receive what you are expecting.

tip

If you do not have an Archethic wallet or address yet, we invite you to refer to the section
"How to create a wallet on the Archethic blockchain?"

Once your wallet is created,

1) select the account on which you wish to receive your funds or tokens via the "Accounts" tab by clicking on the dropdown arrow at the top of the screen to the right of the current profile. A list will appear, showing your accounts and services contained in your decentralized keychain.
2) Once selected, you will be returned to the "Accounts" tab, where a "Receive" button will be visible.
3) Click on it, and you will obtain your address, either in the form of a QR Code or as text by clicking on the icon corresponding to the copy action.

wallet-address

Troubleshooting

The Archethic wallet won't start or opens to a black or white screen

To resolve a startup issue with the Archethic wallet, here are some corrective actions:

caution

Please note, steps 3 and 4 require you to reimport your wallet afterward by entering your mnemonic phrase.

1) Verify that the application is downloaded from an official source.

For this, please visit the website https://www.archethic.net/wallet.html. -For security and proper functionality, Archethic advises against using the application on jailbroken devices or in developer mode.

2) Uninstall and then reinstall the application.

3) If the issue persists, for desktop versions, please delete the wallet's local database.

To do this, manually delete at least the following files:

In the directories according to your platform:

- +For security and proper functionality, Archethic advises against using the application on jailbroken devices or in developer mode.

2) Uninstall and then reinstall the application.

3) If the issue persists, for desktop versions, please delete the wallet's local database.

To do this, manually delete at least the following files:

In the directories according to your platform:

+ \ No newline at end of file diff --git a/assets/js/009f927a.11078e00.js b/assets/js/009f927a.4efc133f.js similarity index 99% rename from assets/js/009f927a.11078e00.js rename to assets/js/009f927a.4efc133f.js index 821f40cd7..8bcc1b7e2 100644 --- a/assets/js/009f927a.11078e00.js +++ b/assets/js/009f927a.4efc133f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7265],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var i=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=i.createContext({}),c=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=c(e.components);return i.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),h=a,f=p["".concat(l,".").concat(h)]||p[h]||u[h]||o;return n?i.createElement(f,r(r({ref:t},d),{},{components:n})):i.createElement(f,r({ref:t},d))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:a,r[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=n(87462),a=(n(67294),n(3905));n(8209);const o={id:"replication-attestation",title:"Replication attestation"},r=void 0,s={unversionedId:"learn/sharding/replication-attestation",id:"learn/sharding/replication-attestation",title:"Replication attestation",description:"How to ensure a minimum of confirmation from the storage nodes to ensure the data availability of a given transaction.",source:"@site/docs/learn/sharding/replication-attestation.md",sourceDirName:"learn/sharding",slug:"/learn/sharding/replication-attestation",permalink:"/learn/sharding/replication-attestation",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"replication-attestation",title:"Replication attestation"},sidebar:"docs",previous:{title:"Beacon Explorer",permalink:"/learn/sharding/beacon-chain/explorer"},next:{title:"Tokens",permalink:"/learn/token"}},l={},c=[{value:"Heuristic solution",id:"heuristic-solution",level:2},{value:"Nested replications",id:"nested-replications",level:3},{value:"Client notifications",id:"client-notifications",level:3},{value:"Further improvements",id:"further-improvements",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"How to ensure a minimum of confirmation from the storage nodes to ensure the data availability of a given transaction.\nIf we are not providing this kind of mechanism, we can end up into a network split / mismatch where shards and beacon aren't cross linked.\nAlso we do not want to overload the beacon chain by broadcasting it with hundred of messages for a single transaction summary."),(0,a.kt)("h2",{id:"heuristic-solution"},"Heuristic solution"),(0,a.kt)("p",null,"Each validation node will notify the replications nodes in charge, and wait their confirmations to attest the validity\nand the availability of the transaction in the shard before notifying the beacon chain and the welcome node."),(0,a.kt)("p",null,"In 1st approx, a single notification from the validation nodes is sufficient to ensure the availability. This attestation will contain a list of signatures,\nfrom the replication nodes, to status about their commitment to store the transaction.\nHowever, further attestations and confirmations can be checked later during the time, to provide more security."),(0,a.kt)("p",null,"For example, a beacon chain receiving 1 attestation from a validation node including X storage confirmations\nwill be valid as 3 attestations with their respective confirmations."),(0,a.kt)("h3",{id:"nested-replications"},"Nested replications"),(0,a.kt)("p",null,"Moreover, when we are dealing with recipients for transfer or smart contract calls, we want to support the recipients shards will be notified\nonly when the main transaction is validated and stored.\nSo for example, the replication can be splitted by levels: ","[ Main Chain ]"," -> ","[ Recipient Chains]"),(0,a.kt)("p",null,"Then the welcome node will be notified by a validation node with a given number of replica confirmations."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"}," V1\n / | \\\nChain: S1 S2 S3\n / | \\\n Recipient Shards\n")),(0,a.kt)("h3",{id:"client-notifications"},"Client notifications"),(0,a.kt)("p",null,"When a transaction is submitted, the welcome node will transfer this transaction to the validation nodes and return a pending status to the client.\nThe client would have to subscribe to notifications about the completion of the transaction.\nOnce the transaction will be validated and the validation nodes by notifing the welcome will notify the clients asynchronously."),(0,a.kt)("h2",{id:"further-improvements"},"Further improvements"),(0,a.kt)("p",null,"To reduce the overall size of the attestations and confirmations we can support signature aggregation or cosigning to embed a single transaction with a bitfield\nto indicate which nodes signed the transaction replication, which will be signed over by a validation node."))}u.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7265],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var i=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=i.createContext({}),c=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=c(e.components);return i.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},h=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),h=a,f=p["".concat(l,".").concat(h)]||p[h]||u[h]||o;return n?i.createElement(f,r(r({ref:t},d),{},{components:n})):i.createElement(f,r({ref:t},d))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,r=new Array(o);r[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:a,r[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var i=n(87462),a=(n(67294),n(3905));n(8209);const o={id:"replication-attestation",title:"Replication attestation"},r=void 0,s={unversionedId:"learn/sharding/replication-attestation",id:"learn/sharding/replication-attestation",title:"Replication attestation",description:"How to ensure a minimum of confirmation from the storage nodes to ensure the data availability of a given transaction.",source:"@site/docs/learn/sharding/replication-attestation.md",sourceDirName:"learn/sharding",slug:"/learn/sharding/replication-attestation",permalink:"/learn/sharding/replication-attestation",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"replication-attestation",title:"Replication attestation"},sidebar:"docs",previous:{title:"Beacon Explorer",permalink:"/learn/sharding/beacon-chain/explorer"},next:{title:"Tokens",permalink:"/learn/token"}},l={},c=[{value:"Heuristic solution",id:"heuristic-solution",level:2},{value:"Nested replications",id:"nested-replications",level:3},{value:"Client notifications",id:"client-notifications",level:3},{value:"Further improvements",id:"further-improvements",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"How to ensure a minimum of confirmation from the storage nodes to ensure the data availability of a given transaction.\nIf we are not providing this kind of mechanism, we can end up into a network split / mismatch where shards and beacon aren't cross linked.\nAlso we do not want to overload the beacon chain by broadcasting it with hundred of messages for a single transaction summary."),(0,a.kt)("h2",{id:"heuristic-solution"},"Heuristic solution"),(0,a.kt)("p",null,"Each validation node will notify the replications nodes in charge, and wait their confirmations to attest the validity\nand the availability of the transaction in the shard before notifying the beacon chain and the welcome node."),(0,a.kt)("p",null,"In 1st approx, a single notification from the validation nodes is sufficient to ensure the availability. This attestation will contain a list of signatures,\nfrom the replication nodes, to status about their commitment to store the transaction.\nHowever, further attestations and confirmations can be checked later during the time, to provide more security."),(0,a.kt)("p",null,"For example, a beacon chain receiving 1 attestation from a validation node including X storage confirmations\nwill be valid as 3 attestations with their respective confirmations."),(0,a.kt)("h3",{id:"nested-replications"},"Nested replications"),(0,a.kt)("p",null,"Moreover, when we are dealing with recipients for transfer or smart contract calls, we want to support the recipients shards will be notified\nonly when the main transaction is validated and stored.\nSo for example, the replication can be splitted by levels: ","[ Main Chain ]"," -> ","[ Recipient Chains]"),(0,a.kt)("p",null,"Then the welcome node will be notified by a validation node with a given number of replica confirmations."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"}," V1\n / | \\\nChain: S1 S2 S3\n / | \\\n Recipient Shards\n")),(0,a.kt)("h3",{id:"client-notifications"},"Client notifications"),(0,a.kt)("p",null,"When a transaction is submitted, the welcome node will transfer this transaction to the validation nodes and return a pending status to the client.\nThe client would have to subscribe to notifications about the completion of the transaction.\nOnce the transaction will be validated and the validation nodes by notifing the welcome will notify the clients asynchronously."),(0,a.kt)("h2",{id:"further-improvements"},"Further improvements"),(0,a.kt)("p",null,"To reduce the overall size of the attestations and confirmations we can support signature aggregation or cosigning to embed a single transaction with a bitfield\nto indicate which nodes signed the transaction replication, which will be signed over by a validation node."))}u.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/0126df03.35cf23e7.js b/assets/js/0126df03.92d30442.js similarity index 98% rename from assets/js/0126df03.35cf23e7.js rename to assets/js/0126df03.92d30442.js index aef841024..fd080a6da 100644 --- a/assets/js/0126df03.35cf23e7.js +++ b/assets/js/0126df03.92d30442.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5295],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>b});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),i=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},d=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),p=i(a),u=n,b=p["".concat(s,".").concat(u)]||p[u]||m[u]||l;return a?r.createElement(b,o(o({ref:t},d),{},{components:a})):r.createElement(b,o({ref:t},d))}));function b(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=u;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[p]="string"==typeof e?e:n,o[1]=c;for(var i=2;i{a.r(t),a.d(t,{Badge:()=>m,Bullet:()=>d,Details:()=>b,SpecifiedBy:()=>p,assets:()=>i,contentTitle:()=>c,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var r=a(87462),n=a(67294),l=a(3905);a(8209);const o={id:"oracle-data",title:"OracleData",hide_table_of_contents:!1},c=void 0,s={unversionedId:"build/api/schema/objects/oracle-data",id:"build/api/schema/objects/oracle-data",title:"OracleData",description:"[OracleData] represents an oracle data.",source:"@site/docs/build/api/schema/objects/oracle-data.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/oracle-data",permalink:"/build/api/schema/objects/oracle-data",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"oracle-data",title:"OracleData",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"Node",permalink:"/build/api/schema/objects/node"},next:{title:"OracleServices",permalink:"/build/api/schema/objects/oracle-services"}},i={},d=()=>(0,l.kt)(n.Fragment,null,(0,l.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,l.kt)(n.Fragment,null,"Specification",(0,l.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),m=e=>(0,l.kt)(n.Fragment,null,(0,l.kt)("span",{className:e.class},e.text)),u=[{value:"Fields",id:"fields",level:3},{value:'OracleData.servicesOracleServices ',id:"code-style-fontweight-normal-oracledatabservicesbcodeoracleservices-",level:4},{value:'OracleData.timestampTimestamp ',id:"code-style-fontweight-normal-oracledatabtimestampbcodetimestamp-",level:4},{value:"Returned by",id:"returned-by",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:o,startOpen:c=!1}=e;const[s,i]=(0,n.useState)(c);return(0,l.kt)("details",(0,r.Z)({},s?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,l.kt)("summary",{onClick:e=>{e.preventDefault(),i((e=>!e))},style:{listStyle:"none"}},s?t:a),s&&o)},f={Bullet:d,SpecifiedBy:p,Badge:m,toc:u,Details:b},y="wrapper";function g(e){let{components:t,...a}=e;return(0,l.kt)(y,(0,r.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,"[OracleData]"," represents an oracle data."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-graphql"},"type OracleData {\n services: OracleServices\n timestamp: Timestamp\n}\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"code-style-fontweight-normal-oracledatabservicesbcodeoracleservices-"},(0,l.kt)("a",{parentName:"h4",href:"#"},(0,l.kt)("code",{style:{fontWeight:"normal"}},"OracleData.",(0,l.kt)("b",null,"services"))),(0,l.kt)(d,{mdxType:"Bullet"}),(0,l.kt)("a",{parentName:"h4",href:"/build/api/schema/objects/oracle-services"},(0,l.kt)("inlineCode",{parentName:"a"},"OracleServices"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})),(0,l.kt)("blockquote",null),(0,l.kt)("h4",{id:"code-style-fontweight-normal-oracledatabtimestampbcodetimestamp-"},(0,l.kt)("a",{parentName:"h4",href:"#"},(0,l.kt)("code",{style:{fontWeight:"normal"}},"OracleData.",(0,l.kt)("b",null,"timestamp"))),(0,l.kt)(d,{mdxType:"Bullet"}),(0,l.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,l.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,l.kt)("blockquote",null),(0,l.kt)("h3",{id:"returned-by"},"Returned by"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"/build/api/schema/queries/oracle-data"},(0,l.kt)("inlineCode",{parentName:"a"},"oracleData"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"query",mdxType:"Badge"}),(0,l.kt)(d,{mdxType:"Bullet"}),(0,l.kt)("a",{parentName:"p",href:"/build/api/schema/subscriptions/oracle-update"},(0,l.kt)("inlineCode",{parentName:"a"},"oracleUpdate"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"subscription",mdxType:"Badge"})))}g.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5295],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>b});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function o(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),i=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},d=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),p=i(a),u=n,b=p["".concat(s,".").concat(u)]||p[u]||m[u]||l;return a?r.createElement(b,o(o({ref:t},d),{},{components:a})):r.createElement(b,o({ref:t},d))}));function b(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,o=new Array(l);o[0]=u;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[p]="string"==typeof e?e:n,o[1]=c;for(var i=2;i{a.r(t),a.d(t,{Badge:()=>m,Bullet:()=>d,Details:()=>b,SpecifiedBy:()=>p,assets:()=>i,contentTitle:()=>c,default:()=>g,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var r=a(87462),n=a(67294),l=a(3905);a(8209);const o={id:"oracle-data",title:"OracleData",hide_table_of_contents:!1},c=void 0,s={unversionedId:"build/api/schema/objects/oracle-data",id:"build/api/schema/objects/oracle-data",title:"OracleData",description:"[OracleData] represents an oracle data.",source:"@site/docs/build/api/schema/objects/oracle-data.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/oracle-data",permalink:"/build/api/schema/objects/oracle-data",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"oracle-data",title:"OracleData",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"Node",permalink:"/build/api/schema/objects/node"},next:{title:"OracleServices",permalink:"/build/api/schema/objects/oracle-services"}},i={},d=()=>(0,l.kt)(n.Fragment,null,(0,l.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,l.kt)(n.Fragment,null,"Specification",(0,l.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),m=e=>(0,l.kt)(n.Fragment,null,(0,l.kt)("span",{className:e.class},e.text)),u=[{value:"Fields",id:"fields",level:3},{value:'OracleData.servicesOracleServices ',id:"code-style-fontweight-normal-oracledatabservicesbcodeoracleservices-",level:4},{value:'OracleData.timestampTimestamp ',id:"code-style-fontweight-normal-oracledatabtimestampbcodetimestamp-",level:4},{value:"Returned by",id:"returned-by",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:o,startOpen:c=!1}=e;const[s,i]=(0,n.useState)(c);return(0,l.kt)("details",(0,r.Z)({},s?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,l.kt)("summary",{onClick:e=>{e.preventDefault(),i((e=>!e))},style:{listStyle:"none"}},s?t:a),s&&o)},f={Bullet:d,SpecifiedBy:p,Badge:m,toc:u,Details:b},y="wrapper";function g(e){let{components:t,...a}=e;return(0,l.kt)(y,(0,r.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,"[OracleData]"," represents an oracle data."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-graphql"},"type OracleData {\n services: OracleServices\n timestamp: Timestamp\n}\n")),(0,l.kt)("h3",{id:"fields"},"Fields"),(0,l.kt)("h4",{id:"code-style-fontweight-normal-oracledatabservicesbcodeoracleservices-"},(0,l.kt)("a",{parentName:"h4",href:"#"},(0,l.kt)("code",{style:{fontWeight:"normal"}},"OracleData.",(0,l.kt)("b",null,"services"))),(0,l.kt)(d,{mdxType:"Bullet"}),(0,l.kt)("a",{parentName:"h4",href:"/build/api/schema/objects/oracle-services"},(0,l.kt)("inlineCode",{parentName:"a"},"OracleServices"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})),(0,l.kt)("blockquote",null),(0,l.kt)("h4",{id:"code-style-fontweight-normal-oracledatabtimestampbcodetimestamp-"},(0,l.kt)("a",{parentName:"h4",href:"#"},(0,l.kt)("code",{style:{fontWeight:"normal"}},"OracleData.",(0,l.kt)("b",null,"timestamp"))),(0,l.kt)(d,{mdxType:"Bullet"}),(0,l.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,l.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,l.kt)("blockquote",null),(0,l.kt)("h3",{id:"returned-by"},"Returned by"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"/build/api/schema/queries/oracle-data"},(0,l.kt)("inlineCode",{parentName:"a"},"oracleData"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"query",mdxType:"Badge"}),(0,l.kt)(d,{mdxType:"Bullet"}),(0,l.kt)("a",{parentName:"p",href:"/build/api/schema/subscriptions/oracle-update"},(0,l.kt)("inlineCode",{parentName:"a"},"oracleUpdate"))," ",(0,l.kt)(m,{class:"badge badge--secondary",text:"subscription",mdxType:"Badge"})))}g.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file diff --git a/assets/js/02486155.fc571d5b.js b/assets/js/02486155.48120481.js similarity index 97% rename from assets/js/02486155.fc571d5b.js rename to assets/js/02486155.48120481.js index 8ba2c86fb..33406dfcf 100644 --- a/assets/js/02486155.fc571d5b.js +++ b/assets/js/02486155.48120481.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6716],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>b});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=n.createContext({}),s=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),u=s(a),d=r,b=u["".concat(l,".").concat(d)]||u[d]||p[d]||o;return a?n.createElement(b,i(i({ref:t},m),{},{components:a})):n.createElement(b,i({ref:t},m))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:r,i[1]=c;for(var s=2;s{a.r(t),a.d(t,{Badge:()=>p,Bullet:()=>m,Details:()=>b,SpecifiedBy:()=>u,assets:()=>s,contentTitle:()=>c,default:()=>f,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var n=a(87462),r=a(67294),o=a(3905);a(8209);const i={id:"beacon-chain-summary",title:"beaconChainSummary",hide_table_of_contents:!1},c=void 0,l={unversionedId:"build/api/schema/queries/beacon-chain-summary",id:"build/api/schema/queries/beacon-chain-summary",title:"beaconChainSummary",description:"Query the network to get the value of the summary of beacon chain at a specific time or the last value",source:"@site/docs/build/api/schema/queries/beacon-chain-summary.mdx",sourceDirName:"build/api/schema/queries",slug:"/build/api/schema/queries/beacon-chain-summary",permalink:"/build/api/schema/queries/beacon-chain-summary",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"beacon-chain-summary",title:"beaconChainSummary",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"balance",permalink:"/build/api/schema/queries/balance"},next:{title:"chainUnspentOutputs",permalink:"/build/api/schema/queries/chain-unspent-outputs"}},s={},m=()=>(0,o.kt)(r.Fragment,null,(0,o.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),u=e=>(0,o.kt)(r.Fragment,null,"Specification",(0,o.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),p=e=>(0,o.kt)(r.Fragment,null,(0,o.kt)("span",{className:e.class},e.text)),d=[{value:"Arguments",id:"arguments",level:3},{value:'beaconChainSummary.timestampTimestamp ',id:"code-style-fontweight-normal-beaconchainsummarybtimestampbcodetimestamp-",level:4},{value:"Type",id:"type",level:3},{value:'BeaconChainSummary ',id:"beaconchainsummary-",level:4}],b=e=>{let{dataOpen:t,dataClose:a,children:i,startOpen:c=!1}=e;const[l,s]=(0,r.useState)(c);return(0,o.kt)("details",(0,n.Z)({},l?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,o.kt)("summary",{onClick:e=>{e.preventDefault(),s((e=>!e))},style:{listStyle:"none"}},l?t:a),l&&i)},y={Bullet:m,SpecifiedBy:u,Badge:p,toc:d,Details:b},h="wrapper";function f(e){let{components:t,...a}=e;return(0,o.kt)(h,(0,n.Z)({},y,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Query the network to get the value of the summary of beacon chain at a specific time or the last value"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-graphql"},"beaconChainSummary(\n timestamp: Timestamp\n): BeaconChainSummary\n")),(0,o.kt)("h3",{id:"arguments"},"Arguments"),(0,o.kt)("h4",{id:"code-style-fontweight-normal-beaconchainsummarybtimestampbcodetimestamp-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"beaconChainSummary.",(0,o.kt)("b",null,"timestamp"))),(0,o.kt)(m,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,o.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,o.kt)(p,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h3",{id:"type"},"Type"),(0,o.kt)("h4",{id:"beaconchainsummary-"},(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/objects/beacon-chain-summary"},(0,o.kt)("inlineCode",{parentName:"a"},"BeaconChainSummary"))," ",(0,o.kt)(p,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"[Beacon Chain Summary]"," represents the beacon chain aggregate for a certain date")))}f.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6716],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>b});var n=a(67294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=n.createContext({}),s=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,l=e.parentName,m=c(e,["components","mdxType","originalType","parentName"]),u=s(a),d=r,b=u["".concat(l,".").concat(d)]||u[d]||p[d]||o;return a?n.createElement(b,i(i({ref:t},m),{},{components:a})):n.createElement(b,i({ref:t},m))}));function b(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:r,i[1]=c;for(var s=2;s{a.r(t),a.d(t,{Badge:()=>p,Bullet:()=>m,Details:()=>b,SpecifiedBy:()=>u,assets:()=>s,contentTitle:()=>c,default:()=>f,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var n=a(87462),r=a(67294),o=a(3905);a(8209);const i={id:"beacon-chain-summary",title:"beaconChainSummary",hide_table_of_contents:!1},c=void 0,l={unversionedId:"build/api/schema/queries/beacon-chain-summary",id:"build/api/schema/queries/beacon-chain-summary",title:"beaconChainSummary",description:"Query the network to get the value of the summary of beacon chain at a specific time or the last value",source:"@site/docs/build/api/schema/queries/beacon-chain-summary.mdx",sourceDirName:"build/api/schema/queries",slug:"/build/api/schema/queries/beacon-chain-summary",permalink:"/build/api/schema/queries/beacon-chain-summary",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"beacon-chain-summary",title:"beaconChainSummary",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"balance",permalink:"/build/api/schema/queries/balance"},next:{title:"chainUnspentOutputs",permalink:"/build/api/schema/queries/chain-unspent-outputs"}},s={},m=()=>(0,o.kt)(r.Fragment,null,(0,o.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),u=e=>(0,o.kt)(r.Fragment,null,"Specification",(0,o.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),p=e=>(0,o.kt)(r.Fragment,null,(0,o.kt)("span",{className:e.class},e.text)),d=[{value:"Arguments",id:"arguments",level:3},{value:'beaconChainSummary.timestampTimestamp ',id:"code-style-fontweight-normal-beaconchainsummarybtimestampbcodetimestamp-",level:4},{value:"Type",id:"type",level:3},{value:'BeaconChainSummary ',id:"beaconchainsummary-",level:4}],b=e=>{let{dataOpen:t,dataClose:a,children:i,startOpen:c=!1}=e;const[l,s]=(0,r.useState)(c);return(0,o.kt)("details",(0,n.Z)({},l?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,o.kt)("summary",{onClick:e=>{e.preventDefault(),s((e=>!e))},style:{listStyle:"none"}},l?t:a),l&&i)},y={Bullet:m,SpecifiedBy:u,Badge:p,toc:d,Details:b},h="wrapper";function f(e){let{components:t,...a}=e;return(0,o.kt)(h,(0,n.Z)({},y,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Query the network to get the value of the summary of beacon chain at a specific time or the last value"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-graphql"},"beaconChainSummary(\n timestamp: Timestamp\n): BeaconChainSummary\n")),(0,o.kt)("h3",{id:"arguments"},"Arguments"),(0,o.kt)("h4",{id:"code-style-fontweight-normal-beaconchainsummarybtimestampbcodetimestamp-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"beaconChainSummary.",(0,o.kt)("b",null,"timestamp"))),(0,o.kt)(m,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,o.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,o.kt)(p,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h3",{id:"type"},"Type"),(0,o.kt)("h4",{id:"beaconchainsummary-"},(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/objects/beacon-chain-summary"},(0,o.kt)("inlineCode",{parentName:"a"},"BeaconChainSummary"))," ",(0,o.kt)(p,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"[Beacon Chain Summary]"," represents the beacon chain aggregate for a certain date")))}f.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file diff --git a/assets/js/05f2d199.7e55e4bc.js b/assets/js/05f2d199.e3d75a0b.js similarity index 99% rename from assets/js/05f2d199.7e55e4bc.js rename to assets/js/05f2d199.e3d75a0b.js index d8f8598a9..c2ce4bdba 100644 --- a/assets/js/05f2d199.7e55e4bc.js +++ b/assets/js/05f2d199.e3d75a0b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8011],{3905:(t,e,i)=>{i.d(e,{Zo:()=>u,kt:()=>m});var o=i(67294);function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function l(t){for(var e=1;e=0||(a[i]=t[i]);return a}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(a[i]=t[i])}return a}var s=o.createContext({}),d=function(t){var e=o.useContext(s),i=e;return t&&(i="function"==typeof t?t(e):l(l({},e),t)),i},u=function(t){var e=d(t.components);return o.createElement(s.Provider,{value:e},t.children)},c="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},h=o.forwardRef((function(t,e){var i=t.components,a=t.mdxType,n=t.originalType,s=t.parentName,u=r(t,["components","mdxType","originalType","parentName"]),c=d(i),h=a,m=c["".concat(s,".").concat(h)]||c[h]||p[h]||n;return i?o.createElement(m,l(l({ref:e},u),{},{components:i})):o.createElement(m,l({ref:e},u))}));function m(t,e){var i=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var n=i.length,l=new Array(n);l[0]=h;var r={};for(var s in e)hasOwnProperty.call(e,s)&&(r[s]=e[s]);r.originalType=t,r[c]="string"==typeof t?t:a,l[1]=r;for(var d=2;d{i.r(e),i.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>d});var o=i(87462),a=(i(67294),i(3905));i(8209);const n={title:"Liquidity Pool",id:"liquidity_pool",sidebar_label:"Liquidity Pool"},l=void 0,r={unversionedId:"participate/dex/Guide_Usage/liquidity_pool",id:"participate/dex/Guide_Usage/liquidity_pool",title:"Liquidity Pool",description:"Create a pool and add liquidity",source:"@site/docs/participate/dex/05-Guide_Usage/02-liquidity.md",sourceDirName:"participate/dex/05-Guide_Usage",slug:"/participate/dex/Guide_Usage/liquidity_pool",permalink:"/participate/dex/Guide_Usage/liquidity_pool",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",sidebarPosition:2,frontMatter:{title:"Liquidity Pool",id:"liquidity_pool",sidebar_label:"Liquidity Pool"},sidebar:"docs",previous:{title:"Swap",permalink:"/participate/dex/Guide_Usage/swap"},next:{title:"Farming",permalink:"/participate/dex/Guide_Usage/farming"}},s={},d=[{value:"Create a pool and add liquidity",id:"create-a-pool-and-add-liquidity",level:2},{value:"Step 1: Creating a Liquidity Pool: Essential Information",id:"step-1-creating-a-liquidity-pool-essential-information",level:3},{value:"Pre-creation Validations",id:"pre-creation-validations",level:4},{value:"Step 2: Finalizing Pool Creation: Confirmation and Validation Steps",id:"step-2-finalizing-pool-creation-confirmation-and-validation-steps",level:3},{value:"Wallet Validations for Liquidity Transactions",id:"wallet-validations-for-liquidity-transactions",level:4},{value:"Navigating Pool Information",id:"navigating-pool-information",level:2},{value:"Front View: Essential Pool Details",id:"front-view-essential-pool-details",level:3},{value:"Back View: Exploring Pool Details",id:"back-view-exploring-pool-details",level:3},{value:"Interacting with Pools: Available Actions",id:"interacting-with-pools-available-actions",level:3},{value:"Fees",id:"fees",level:3},{value:"Specificity of the aeETH / UCO pair",id:"specificity-of-the-aeeth--uco-pair",level:3},{value:"Add Liquidity",id:"add-liquidity",level:2},{value:"Step 1: Adding Liquidity: Essential Information",id:"step-1-adding-liquidity-essential-information",level:3},{value:"Pre-transaction Validations",id:"pre-transaction-validations",level:4},{value:"Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps",id:"step-2-finalizing-liquidity-addition-confirmation-and-validation-steps",level:3},{value:"Wallet Validations for Liquidity Transactions",id:"wallet-validations-for-liquidity-transactions-1",level:4},{value:"Remove Liquidity",id:"remove-liquidity",level:2},{value:"Step 1: Removing Liquidity: Essential Information",id:"step-1-removing-liquidity-essential-information",level:3},{value:"Pre-transaction Validations",id:"pre-transaction-validations-1",level:4},{value:"Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps",id:"step-2-finalizing-liquidity-removal-confirmation-and-validation-steps",level:3},{value:"Wallet Validations for Liquidity Transactions",id:"wallet-validations-for-liquidity-transactions-2",level:4}],u={toc:d},c="wrapper";function p(t){let{components:e,...n}=t;return(0,a.kt)(c,(0,o.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"create-a-pool-and-add-liquidity"},"Create a pool and add liquidity"),(0,a.kt)("p",null,'You can create a liquidity pool from the liquidity menu via the "Create a pool" button.'),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool button",src:i(72047).Z,width:"729",height:"115"})),(0,a.kt)("h3",{id:"step-1-creating-a-liquidity-pool-essential-information"},"Step 1: Creating a Liquidity Pool: Essential Information"),(0,a.kt)("p",null,"To establish a liquidity pool on aeSwap, the following information is necessary:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Pair"),": Identify the two tokens that will constitute the pair within the pool."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Initial Investment"),": Specify the amount of each token you intend to contribute. This initial contribution determines the pool's initial price ratio.")),(0,a.kt)("h4",{id:"pre-creation-validations"},"Pre-creation Validations"),(0,a.kt)("p",null,"Before creating a liquidity pool, the system conducts several checks to ensure compliance and feasibility:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Unique Pair Check"),": Ensures that a pool with the selected token pair does not already exist."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Liquidity Requirements"),": Confirms that your Archethic wallet holds a sufficient quantity of the tokens intended for liquidity provision.")),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"When creating a pool involving UCO (the native token of the Archethic Public Blockchain), the system automatically calculates and reserves the necessary amount for transaction fees associated with pool creation and liquidity addition. As a result, the maximum amount of UCO that can be allocated is less than your total UCO balance to accommodate these costs.")),(0,a.kt)("hr",null),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool form",src:i(27766).Z,width:"1370",height:"838"})),(0,a.kt)("h3",{id:"step-2-finalizing-pool-creation-confirmation-and-validation-steps"},"Step 2: Finalizing Pool Creation: Confirmation and Validation Steps"),(0,a.kt)("p",null,'After you submit the pool creation form by clicking the "Create a new pool" button, you will be directed to a confirmation screen. This screen serves a critical role in the pool creation process, enabling you to:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Review Token Ratio"),": Examine the initial ratio between the two tokens in your new pool to ensure it aligns with your expectations."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Balance Verification"),': Check your account balances before and after liquidity is added to understand the impact of your transaction.\nIf the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm the creation" button to move forward in the process.')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool confirm",src:i(12827).Z,width:"1342",height:"1216"})),(0,a.kt)("h4",{id:"wallet-validations-for-liquidity-transactions"},"Wallet Validations for Liquidity Transactions"),(0,a.kt)("p",null,"The creation of the pool and addition of liquidity to the pool necessitate two separate validations within your Archethic wallet:"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Confirmation"),": You will need to approve two transactions \u2013 one for creating the pool and another for adding liquidity to it."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Addresses"),": Upon successful completion of these transactions, you will be provided with their addresses. These addresses allow you to verify the transactions on the blockchain, ensuring transparency and security in your operations."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool end",src:i(53854).Z,width:"1284",height:"898"})),(0,a.kt)("h2",{id:"navigating-pool-information"},"Navigating Pool Information"),(0,a.kt)("p",null,'aeSwap offers a unique and engaging way to access detailed information about each liquidity pool through an interactive card. You can easily explore this card by clicking on the turn icon to "rotate" the view, revealing comprehensive details about the pools in a visually intuitive manner.'),(0,a.kt)("h3",{id:"front-view-essential-pool-details"},"Front View: Essential Pool Details"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Pool List Front",src:i(49123).Z,width:"697",height:"564"})),(0,a.kt)("p",null,"When viewing the front of the card, users are presented with a rich set of information designed to provide a quick and informative snapshot of each pool:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Pair and Logos"),": Each pool is represented by its pair of tokens, accompanied by their logos when available, for easy identification."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Verification Status"),": A green icon signifies that the pool has been officially verified by Archethic, indicating a layer of trust and security."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Personal Liquidity Contribution"),": If you have added liquidity to a pool, a yellow star icon will highlight your participation, making it easy to track your investments."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Total Value Locked (TVL)"),": The TVL is displayed in dollars, offering a clear view of the pool's size and the total capital invested."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Annual Percentage Rate (APR) Over 24 Hours"),": The APR is displayed to indicate the potential return on investment over a year, based on the pool\u2019s performance during the last 24 hours. This provides a quick snapshot of profitability to help users assess the attractiveness of investing in the pool. "),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Trading Dynamics"),": Detailed statistics on trading volume and fees collected over the last 24 hours and cumulatively are provided to give users insights into the pool's activity and profitability.")),(0,a.kt)("h3",{id:"back-view-exploring-pool-details"},"Back View: Exploring Pool Details"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Pool List Back",src:i(17675).Z,width:"709",height:"562"})),(0,a.kt)("p",null,"You can find in this side of the card:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Pool Address"),": Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the pool."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Holdings"),": This section lists the exact number of tokens currently deposited within the pool, providing a clear view of the pool's liquidity depth."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Swap Fee Percentage"),": The fee charged for swap transactions within this particular pool is displayed as a percentage. This fee contributes to the rewards earned by liquidity providers, representing an essential metric for potential and current investors.")),(0,a.kt)("h3",{id:"interacting-with-pools-available-actions"},"Interacting with Pools: Available Actions"),(0,a.kt)("p",null,"On aeSwap, participants have the flexibility to engage with liquidity pools through a variety of actions, each designed to suit different strategies and needs. Here\u2019s a concise overview of the options available:"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Exchange Pool Tokens"),": Users can swap tokens within a pool, utilizing the liquidity available to exchange one token for another. This action is fundamental to the operation of a DEX, allowing users to seamlessly trade assets at current market rates determined by the pool's liquidity and token ratio."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Add Liquidity"),": If you're looking to contribute to a pool, this action enables you to deposit your tokens into the pool. Adding liquidity increases the pool's total value locked (TVL) and, in return, you receive liquidity provider (LP) tokens. These LP tokens represent your share of the pool and entitle you to a portion of the trading fees generated by the pool's activity."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Remove Liquidity"),": When you wish to retrieve your deposited tokens from a pool, this action allows you to do so. By returning your LP tokens, you can claim back your share of the pool, along with any accrued fees, based on the current ratio of tokens within the pool. This action is essential for managing your investments and realizing potential gains from fee accumulation."),(0,a.kt)("h3",{id:"fees"},"Fees"),(0,a.kt)("p",null,"For enhancing %APR, liquidity, and volume, all fees are returned to LP suppliers: 0.3% LP provider fee, 0% protocol fee."),(0,a.kt)("h3",{id:"specificity-of-the-aeeth--uco-pair"},"Specificity of the aeETH / UCO pair"),(0,a.kt)("p",null,"Archethic offers a specific aeETH/UCO pool featuring a new farming mechanism designed to reward long-term commitment. This update provides UCO holders with flexible levels and the potential for higher rewards through a tiered system, reinforcing our mission to support sustained engagement with our project. "),(0,a.kt)("p",null,"With our new Leveling System on the aeETH/UCO pool, we\u2019ve removed LP provider fees on this pool: 0.3% Protocol Fees, 0% LP Provider Fees on the aeETH/UCO pool."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Pool aeETH/UCO",src:i(10071).Z,width:"704",height:"573"})),(0,a.kt)("p",null,"For the specific aeETH/UCO pool, the displayed information is unique:"),(0,a.kt)("p",null,"3-Year APR of the Associated Farm: Instead of showing the fees collected by the pool, we display the 3-year APR of the farm associated with the pool. A link is provided to allow users to access the farm directly."),(0,a.kt)("h2",{id:"add-liquidity"},"Add Liquidity"),(0,a.kt)("p",null,"Enhancing your portfolio by adding liquidity to a pool is a straightforward process designed for ease of use and efficiency. Here's how you can contribute to the liquidity of your chosen pool:"),(0,a.kt)("h3",{id:"step-1-adding-liquidity-essential-information"},"Step 1: Adding Liquidity: Essential Information"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add liquidity form",src:i(17258).Z,width:"675",height:"617"})),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Entering Token Amounts"),": Begin by inputting the amount of one of the two tokens in the pool's pair. The system will automatically calculate the necessary amount of the second token based on the current pool ratio, ensuring your contribution maintains the pool's balance."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Slippage Tolerance Configuration"),': To manage the impact of price fluctuations during your transaction, click on the wheel icon next to "slippage tolerance." Slippage occurs when the price at which your transaction is executed differs from the price when you submitted it. Adjusting your slippage tolerance allows you to control the maximum price variation you\'re willing to accept.'),(0,a.kt)("p",null,"Transaction Details: Once you've set the amounts, the system will display information about your transaction:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Minimum Token Amounts"),": The least amount of each token that will be added to the pool, considering slippage and transaction timing."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Estimated LP Tokens"),": An estimation of how many liquidity provider (LP) tokens you'll receive in return. These tokens represent your share of the pool and your entitlement to a portion of the trading fees.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Add Liquidity"),': Click the "Add liquidity" button to finalize your contribution. This action initiates the transaction and adds your tokens to the pool.'),(0,a.kt)("h4",{id:"pre-transaction-validations"},"Pre-transaction Validations"),(0,a.kt)("p",null,"Before adding liquidity, the system performs a vital check to ensure:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Availability"),": Verifies that the necessary tokens are available in your wallet for the liquidity addition.")),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"When adding liquidity involving UCO (the native token of the Archethic Public Blockchain), the system automatically calculates and reserves the necessary amount for transaction fees associated with liquidity addition. As a result, the maximum amount of UCO that can be allocated is less than your total UCO balance to accommodate these costs.")),(0,a.kt)("h3",{id:"step-2-finalizing-liquidity-addition-confirmation-and-validation-steps"},"Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps"),(0,a.kt)("p",null,'After you submit the liquidity addition form by clicking the "Add liquidity" button, you will be directed to a confirmation screen. This screen serves a critical role in the liquidity addition process, enabling you to:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Review Token Ratio"),": Examine the initial ratio between the two tokens in your new pool to ensure it aligns with your expectations."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Balance Verification"),': Check your account balances before and after liquidity is added to understand the impact of your transaction.\nIf the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm the creation" button to move forward in the process.')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add liquidity confirm",src:i(36223).Z,width:"674",height:"596"})),(0,a.kt)("h4",{id:"wallet-validations-for-liquidity-transactions-1"},"Wallet Validations for Liquidity Transactions"),(0,a.kt)("p",null,"The addition of liquidity to the pool necessitates two separate validations within your Archethic wallet:"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Confirmation"),": You will need to approve 1 transaction."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Address"),": Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add liquidity end",src:i(33522).Z,width:"628",height:"445"})),(0,a.kt)("h2",{id:"remove-liquidity"},"Remove Liquidity"),(0,a.kt)("p",null,"Withdrawing your liquidity from a pool is a flexible process that can be initiated at any time, allowing you to reclaim all or a portion of your deposited tokens."),(0,a.kt)("h3",{id:"step-1-removing-liquidity-essential-information"},"Step 1: Removing Liquidity: Essential Information"),(0,a.kt)("p",null,"The process begins with the user entering the amount of LP (Liquidity Provider) tokens they wish to redeem. This action is facilitated through a user-friendly form designed to make the withdrawal process as straightforward as possible."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Remove liquidity form",src:i(72640).Z,width:"670",height:"503"})),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Entering LP Token Amounts"),": The amount of LP tokens you wish to use for the withdrawal. LP tokens represent your share of the pool's total liquidity."),(0,a.kt)("p",null,"Transaction Details: Once you've set the amount, the system will display information about your transaction:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Amounts of token to get back"),": This crucial piece of information tells you exactly how many of each token in the pool you will receive in return for the specified amount of LP tokens. This is calculated based on the current ratio of tokens within the pool and the total amount of liquidity you're choosing to withdraw.\nBy presenting these details, the system aims to provide users with a clear understanding of the outcome of their liquidity removal transaction, allowing for precise and confident decision-making.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Remove Liquidity"),': Click the "Remove liquidity" button to finalize your withdrawal. This action initiates the transaction, removes (or "burns") your LP tokens from circulation, and the corresponding amount of the original tokens you provided as liquidity will be returned to you. The exact amounts are calculated according to the current liquidity ratio within the pool and the total number of LP tokens you are redeeming.'),(0,a.kt)("h4",{id:"pre-transaction-validations-1"},"Pre-transaction Validations"),(0,a.kt)("p",null,"Before removing liquidity, the system performs a vital check to ensure:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Availability"),": Verifies that the necessary LP tokens are available in your wallet for the liquidity removal.")),(0,a.kt)("h3",{id:"step-2-finalizing-liquidity-removal-confirmation-and-validation-steps"},"Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps"),(0,a.kt)("p",null,'After you submit the liquidity removal form by clicking the "Remove liquidity" button, you will be directed to a confirmation screen. This screen serves a critical role in the liquidity removal process, enabling you to:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Balance Verification"),': Check your account balances before and after liquidity is removed to understand the impact of your transaction.\nIf the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm" button to move forward in the process.')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Remove liquidity confirm",src:i(89776).Z,width:"674",height:"510"})),(0,a.kt)("h4",{id:"wallet-validations-for-liquidity-transactions-2"},"Wallet Validations for Liquidity Transactions"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Confirmation"),": You will need to approve 1 transaction."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Address"),": Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Remove liquidity end",src:i(81835).Z,width:"633",height:"439"})))}p.isMDXComponent=!0},72047:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-Btn-0825cdf712b77c78f07e9956b5ebc4e1.png"},12827:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-Confirm-f92d0def12056134e4f26fd127fce387.png"},53854:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-End-bb7eb8209c2aa84fda68843cd8f8269b.png"},27766:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-Form-ae627fd0617eba2040579e45fa29cd95.png"},36223:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityAdd-Confirm-2eb867f96757eee730d705de36c25897.png"},33522:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityAdd-End-dae44e7067e0883cd4de115dd6477015.png"},17258:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityAdd-Form-af387e7c00a71bb7588cbaec1a9913e4.png"},89776:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityRemove-Confirm-17cf11c38fa06aa724064fc6727305bb.png"},81835:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityRemove-End-ff344c4528c227f2ea0d2038440827d7.png"},72640:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityRemove-Form-a6fa6ae3a33dedcc094ebdca216ba903.png"},10071:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-PoolAETHUCO-Front-59e79259272f84d7c68e66cebe2ad76d.png"},17675:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-PoolList-Back-a58b0959b60df54a45eb449eb4dd5845.png"},49123:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-PoolList-Front-10a02bf6deb41c5940f325ce783b67bd.png"},8209:(t,e,i)=>{i(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8011],{3905:(t,e,i)=>{i.d(e,{Zo:()=>u,kt:()=>m});var o=i(67294);function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function l(t){for(var e=1;e=0||(a[i]=t[i]);return a}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(a[i]=t[i])}return a}var s=o.createContext({}),d=function(t){var e=o.useContext(s),i=e;return t&&(i="function"==typeof t?t(e):l(l({},e),t)),i},u=function(t){var e=d(t.components);return o.createElement(s.Provider,{value:e},t.children)},c="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},h=o.forwardRef((function(t,e){var i=t.components,a=t.mdxType,n=t.originalType,s=t.parentName,u=r(t,["components","mdxType","originalType","parentName"]),c=d(i),h=a,m=c["".concat(s,".").concat(h)]||c[h]||p[h]||n;return i?o.createElement(m,l(l({ref:e},u),{},{components:i})):o.createElement(m,l({ref:e},u))}));function m(t,e){var i=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var n=i.length,l=new Array(n);l[0]=h;var r={};for(var s in e)hasOwnProperty.call(e,s)&&(r[s]=e[s]);r.originalType=t,r[c]="string"==typeof t?t:a,l[1]=r;for(var d=2;d{i.r(e),i.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>n,metadata:()=>r,toc:()=>d});var o=i(87462),a=(i(67294),i(3905));i(8209);const n={title:"Liquidity Pool",id:"liquidity_pool",sidebar_label:"Liquidity Pool"},l=void 0,r={unversionedId:"participate/dex/Guide_Usage/liquidity_pool",id:"participate/dex/Guide_Usage/liquidity_pool",title:"Liquidity Pool",description:"Create a pool and add liquidity",source:"@site/docs/participate/dex/05-Guide_Usage/02-liquidity.md",sourceDirName:"participate/dex/05-Guide_Usage",slug:"/participate/dex/Guide_Usage/liquidity_pool",permalink:"/participate/dex/Guide_Usage/liquidity_pool",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",sidebarPosition:2,frontMatter:{title:"Liquidity Pool",id:"liquidity_pool",sidebar_label:"Liquidity Pool"},sidebar:"docs",previous:{title:"Swap",permalink:"/participate/dex/Guide_Usage/swap"},next:{title:"Farming",permalink:"/participate/dex/Guide_Usage/farming"}},s={},d=[{value:"Create a pool and add liquidity",id:"create-a-pool-and-add-liquidity",level:2},{value:"Step 1: Creating a Liquidity Pool: Essential Information",id:"step-1-creating-a-liquidity-pool-essential-information",level:3},{value:"Pre-creation Validations",id:"pre-creation-validations",level:4},{value:"Step 2: Finalizing Pool Creation: Confirmation and Validation Steps",id:"step-2-finalizing-pool-creation-confirmation-and-validation-steps",level:3},{value:"Wallet Validations for Liquidity Transactions",id:"wallet-validations-for-liquidity-transactions",level:4},{value:"Navigating Pool Information",id:"navigating-pool-information",level:2},{value:"Front View: Essential Pool Details",id:"front-view-essential-pool-details",level:3},{value:"Back View: Exploring Pool Details",id:"back-view-exploring-pool-details",level:3},{value:"Interacting with Pools: Available Actions",id:"interacting-with-pools-available-actions",level:3},{value:"Fees",id:"fees",level:3},{value:"Specificity of the aeETH / UCO pair",id:"specificity-of-the-aeeth--uco-pair",level:3},{value:"Add Liquidity",id:"add-liquidity",level:2},{value:"Step 1: Adding Liquidity: Essential Information",id:"step-1-adding-liquidity-essential-information",level:3},{value:"Pre-transaction Validations",id:"pre-transaction-validations",level:4},{value:"Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps",id:"step-2-finalizing-liquidity-addition-confirmation-and-validation-steps",level:3},{value:"Wallet Validations for Liquidity Transactions",id:"wallet-validations-for-liquidity-transactions-1",level:4},{value:"Remove Liquidity",id:"remove-liquidity",level:2},{value:"Step 1: Removing Liquidity: Essential Information",id:"step-1-removing-liquidity-essential-information",level:3},{value:"Pre-transaction Validations",id:"pre-transaction-validations-1",level:4},{value:"Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps",id:"step-2-finalizing-liquidity-removal-confirmation-and-validation-steps",level:3},{value:"Wallet Validations for Liquidity Transactions",id:"wallet-validations-for-liquidity-transactions-2",level:4}],u={toc:d},c="wrapper";function p(t){let{components:e,...n}=t;return(0,a.kt)(c,(0,o.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"create-a-pool-and-add-liquidity"},"Create a pool and add liquidity"),(0,a.kt)("p",null,'You can create a liquidity pool from the liquidity menu via the "Create a pool" button.'),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool button",src:i(72047).Z,width:"729",height:"115"})),(0,a.kt)("h3",{id:"step-1-creating-a-liquidity-pool-essential-information"},"Step 1: Creating a Liquidity Pool: Essential Information"),(0,a.kt)("p",null,"To establish a liquidity pool on aeSwap, the following information is necessary:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Pair"),": Identify the two tokens that will constitute the pair within the pool."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Initial Investment"),": Specify the amount of each token you intend to contribute. This initial contribution determines the pool's initial price ratio.")),(0,a.kt)("h4",{id:"pre-creation-validations"},"Pre-creation Validations"),(0,a.kt)("p",null,"Before creating a liquidity pool, the system conducts several checks to ensure compliance and feasibility:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Unique Pair Check"),": Ensures that a pool with the selected token pair does not already exist."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Liquidity Requirements"),": Confirms that your Archethic wallet holds a sufficient quantity of the tokens intended for liquidity provision.")),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"When creating a pool involving UCO (the native token of the Archethic Public Blockchain), the system automatically calculates and reserves the necessary amount for transaction fees associated with pool creation and liquidity addition. As a result, the maximum amount of UCO that can be allocated is less than your total UCO balance to accommodate these costs.")),(0,a.kt)("hr",null),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool form",src:i(27766).Z,width:"1370",height:"838"})),(0,a.kt)("h3",{id:"step-2-finalizing-pool-creation-confirmation-and-validation-steps"},"Step 2: Finalizing Pool Creation: Confirmation and Validation Steps"),(0,a.kt)("p",null,'After you submit the pool creation form by clicking the "Create a new pool" button, you will be directed to a confirmation screen. This screen serves a critical role in the pool creation process, enabling you to:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Review Token Ratio"),": Examine the initial ratio between the two tokens in your new pool to ensure it aligns with your expectations."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Balance Verification"),': Check your account balances before and after liquidity is added to understand the impact of your transaction.\nIf the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm the creation" button to move forward in the process.')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool confirm",src:i(12827).Z,width:"1342",height:"1216"})),(0,a.kt)("h4",{id:"wallet-validations-for-liquidity-transactions"},"Wallet Validations for Liquidity Transactions"),(0,a.kt)("p",null,"The creation of the pool and addition of liquidity to the pool necessitate two separate validations within your Archethic wallet:"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Confirmation"),": You will need to approve two transactions \u2013 one for creating the pool and another for adding liquidity to it."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Addresses"),": Upon successful completion of these transactions, you will be provided with their addresses. These addresses allow you to verify the transactions on the blockchain, ensuring transparency and security in your operations."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add pool end",src:i(53854).Z,width:"1284",height:"898"})),(0,a.kt)("h2",{id:"navigating-pool-information"},"Navigating Pool Information"),(0,a.kt)("p",null,'aeSwap offers a unique and engaging way to access detailed information about each liquidity pool through an interactive card. You can easily explore this card by clicking on the turn icon to "rotate" the view, revealing comprehensive details about the pools in a visually intuitive manner.'),(0,a.kt)("h3",{id:"front-view-essential-pool-details"},"Front View: Essential Pool Details"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Pool List Front",src:i(49123).Z,width:"697",height:"564"})),(0,a.kt)("p",null,"When viewing the front of the card, users are presented with a rich set of information designed to provide a quick and informative snapshot of each pool:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Pair and Logos"),": Each pool is represented by its pair of tokens, accompanied by their logos when available, for easy identification."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Verification Status"),": A green icon signifies that the pool has been officially verified by Archethic, indicating a layer of trust and security."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Personal Liquidity Contribution"),": If you have added liquidity to a pool, a yellow star icon will highlight your participation, making it easy to track your investments."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Total Value Locked (TVL)"),": The TVL is displayed in dollars, offering a clear view of the pool's size and the total capital invested."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Annual Percentage Rate (APR) Over 24 Hours"),": The APR is displayed to indicate the potential return on investment over a year, based on the pool\u2019s performance during the last 24 hours. This provides a quick snapshot of profitability to help users assess the attractiveness of investing in the pool. "),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Trading Dynamics"),": Detailed statistics on trading volume and fees collected over the last 24 hours and cumulatively are provided to give users insights into the pool's activity and profitability.")),(0,a.kt)("h3",{id:"back-view-exploring-pool-details"},"Back View: Exploring Pool Details"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Pool List Back",src:i(17675).Z,width:"709",height:"562"})),(0,a.kt)("p",null,"You can find in this side of the card:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Pool Address"),": Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the pool."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Holdings"),": This section lists the exact number of tokens currently deposited within the pool, providing a clear view of the pool's liquidity depth."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Swap Fee Percentage"),": The fee charged for swap transactions within this particular pool is displayed as a percentage. This fee contributes to the rewards earned by liquidity providers, representing an essential metric for potential and current investors.")),(0,a.kt)("h3",{id:"interacting-with-pools-available-actions"},"Interacting with Pools: Available Actions"),(0,a.kt)("p",null,"On aeSwap, participants have the flexibility to engage with liquidity pools through a variety of actions, each designed to suit different strategies and needs. Here\u2019s a concise overview of the options available:"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Exchange Pool Tokens"),": Users can swap tokens within a pool, utilizing the liquidity available to exchange one token for another. This action is fundamental to the operation of a DEX, allowing users to seamlessly trade assets at current market rates determined by the pool's liquidity and token ratio."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Add Liquidity"),": If you're looking to contribute to a pool, this action enables you to deposit your tokens into the pool. Adding liquidity increases the pool's total value locked (TVL) and, in return, you receive liquidity provider (LP) tokens. These LP tokens represent your share of the pool and entitle you to a portion of the trading fees generated by the pool's activity."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Remove Liquidity"),": When you wish to retrieve your deposited tokens from a pool, this action allows you to do so. By returning your LP tokens, you can claim back your share of the pool, along with any accrued fees, based on the current ratio of tokens within the pool. This action is essential for managing your investments and realizing potential gains from fee accumulation."),(0,a.kt)("h3",{id:"fees"},"Fees"),(0,a.kt)("p",null,"For enhancing %APR, liquidity, and volume, all fees are returned to LP suppliers: 0.3% LP provider fee, 0% protocol fee."),(0,a.kt)("h3",{id:"specificity-of-the-aeeth--uco-pair"},"Specificity of the aeETH / UCO pair"),(0,a.kt)("p",null,"Archethic offers a specific aeETH/UCO pool featuring a new farming mechanism designed to reward long-term commitment. This update provides UCO holders with flexible levels and the potential for higher rewards through a tiered system, reinforcing our mission to support sustained engagement with our project. "),(0,a.kt)("p",null,"With our new Leveling System on the aeETH/UCO pool, we\u2019ve removed LP provider fees on this pool: 0.3% Protocol Fees, 0% LP Provider Fees on the aeETH/UCO pool."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Pool aeETH/UCO",src:i(10071).Z,width:"704",height:"573"})),(0,a.kt)("p",null,"For the specific aeETH/UCO pool, the displayed information is unique:"),(0,a.kt)("p",null,"3-Year APR of the Associated Farm: Instead of showing the fees collected by the pool, we display the 3-year APR of the farm associated with the pool. A link is provided to allow users to access the farm directly."),(0,a.kt)("h2",{id:"add-liquidity"},"Add Liquidity"),(0,a.kt)("p",null,"Enhancing your portfolio by adding liquidity to a pool is a straightforward process designed for ease of use and efficiency. Here's how you can contribute to the liquidity of your chosen pool:"),(0,a.kt)("h3",{id:"step-1-adding-liquidity-essential-information"},"Step 1: Adding Liquidity: Essential Information"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add liquidity form",src:i(17258).Z,width:"675",height:"617"})),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Entering Token Amounts"),": Begin by inputting the amount of one of the two tokens in the pool's pair. The system will automatically calculate the necessary amount of the second token based on the current pool ratio, ensuring your contribution maintains the pool's balance."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Slippage Tolerance Configuration"),': To manage the impact of price fluctuations during your transaction, click on the wheel icon next to "slippage tolerance." Slippage occurs when the price at which your transaction is executed differs from the price when you submitted it. Adjusting your slippage tolerance allows you to control the maximum price variation you\'re willing to accept.'),(0,a.kt)("p",null,"Transaction Details: Once you've set the amounts, the system will display information about your transaction:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Minimum Token Amounts"),": The least amount of each token that will be added to the pool, considering slippage and transaction timing."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Estimated LP Tokens"),": An estimation of how many liquidity provider (LP) tokens you'll receive in return. These tokens represent your share of the pool and your entitlement to a portion of the trading fees.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Add Liquidity"),': Click the "Add liquidity" button to finalize your contribution. This action initiates the transaction and adds your tokens to the pool.'),(0,a.kt)("h4",{id:"pre-transaction-validations"},"Pre-transaction Validations"),(0,a.kt)("p",null,"Before adding liquidity, the system performs a vital check to ensure:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Availability"),": Verifies that the necessary tokens are available in your wallet for the liquidity addition.")),(0,a.kt)("admonition",{type:"info"},(0,a.kt)("p",{parentName:"admonition"},"When adding liquidity involving UCO (the native token of the Archethic Public Blockchain), the system automatically calculates and reserves the necessary amount for transaction fees associated with liquidity addition. As a result, the maximum amount of UCO that can be allocated is less than your total UCO balance to accommodate these costs.")),(0,a.kt)("h3",{id:"step-2-finalizing-liquidity-addition-confirmation-and-validation-steps"},"Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps"),(0,a.kt)("p",null,'After you submit the liquidity addition form by clicking the "Add liquidity" button, you will be directed to a confirmation screen. This screen serves a critical role in the liquidity addition process, enabling you to:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Review Token Ratio"),": Examine the initial ratio between the two tokens in your new pool to ensure it aligns with your expectations."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Balance Verification"),': Check your account balances before and after liquidity is added to understand the impact of your transaction.\nIf the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm the creation" button to move forward in the process.')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add liquidity confirm",src:i(36223).Z,width:"674",height:"596"})),(0,a.kt)("h4",{id:"wallet-validations-for-liquidity-transactions-1"},"Wallet Validations for Liquidity Transactions"),(0,a.kt)("p",null,"The addition of liquidity to the pool necessitates two separate validations within your Archethic wallet:"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Confirmation"),": You will need to approve 1 transaction."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Address"),": Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Add liquidity end",src:i(33522).Z,width:"628",height:"445"})),(0,a.kt)("h2",{id:"remove-liquidity"},"Remove Liquidity"),(0,a.kt)("p",null,"Withdrawing your liquidity from a pool is a flexible process that can be initiated at any time, allowing you to reclaim all or a portion of your deposited tokens."),(0,a.kt)("h3",{id:"step-1-removing-liquidity-essential-information"},"Step 1: Removing Liquidity: Essential Information"),(0,a.kt)("p",null,"The process begins with the user entering the amount of LP (Liquidity Provider) tokens they wish to redeem. This action is facilitated through a user-friendly form designed to make the withdrawal process as straightforward as possible."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Remove liquidity form",src:i(72640).Z,width:"670",height:"503"})),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Entering LP Token Amounts"),": The amount of LP tokens you wish to use for the withdrawal. LP tokens represent your share of the pool's total liquidity."),(0,a.kt)("p",null,"Transaction Details: Once you've set the amount, the system will display information about your transaction:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Amounts of token to get back"),": This crucial piece of information tells you exactly how many of each token in the pool you will receive in return for the specified amount of LP tokens. This is calculated based on the current ratio of tokens within the pool and the total amount of liquidity you're choosing to withdraw.\nBy presenting these details, the system aims to provide users with a clear understanding of the outcome of their liquidity removal transaction, allowing for precise and confident decision-making.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Remove Liquidity"),': Click the "Remove liquidity" button to finalize your withdrawal. This action initiates the transaction, removes (or "burns") your LP tokens from circulation, and the corresponding amount of the original tokens you provided as liquidity will be returned to you. The exact amounts are calculated according to the current liquidity ratio within the pool and the total number of LP tokens you are redeeming.'),(0,a.kt)("h4",{id:"pre-transaction-validations-1"},"Pre-transaction Validations"),(0,a.kt)("p",null,"Before removing liquidity, the system performs a vital check to ensure:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Token Availability"),": Verifies that the necessary LP tokens are available in your wallet for the liquidity removal.")),(0,a.kt)("h3",{id:"step-2-finalizing-liquidity-removal-confirmation-and-validation-steps"},"Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps"),(0,a.kt)("p",null,'After you submit the liquidity removal form by clicking the "Remove liquidity" button, you will be directed to a confirmation screen. This screen serves a critical role in the liquidity removal process, enabling you to:'),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Balance Verification"),': Check your account balances before and after liquidity is removed to understand the impact of your transaction.\nIf the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm" button to move forward in the process.')),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Remove liquidity confirm",src:i(89776).Z,width:"674",height:"510"})),(0,a.kt)("h4",{id:"wallet-validations-for-liquidity-transactions-2"},"Wallet Validations for Liquidity Transactions"),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Confirmation"),": You will need to approve 1 transaction."),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Transaction Address"),": Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Remove liquidity end",src:i(81835).Z,width:"633",height:"439"})))}p.isMDXComponent=!0},72047:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-Btn-0825cdf712b77c78f07e9956b5ebc4e1.png"},12827:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-Confirm-f92d0def12056134e4f26fd127fce387.png"},53854:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-End-bb7eb8209c2aa84fda68843cd8f8269b.png"},27766:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-AddPool-Form-ae627fd0617eba2040579e45fa29cd95.png"},36223:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityAdd-Confirm-2eb867f96757eee730d705de36c25897.png"},33522:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityAdd-End-dae44e7067e0883cd4de115dd6477015.png"},17258:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityAdd-Form-af387e7c00a71bb7588cbaec1a9913e4.png"},89776:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityRemove-Confirm-17cf11c38fa06aa724064fc6727305bb.png"},81835:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityRemove-End-ff344c4528c227f2ea0d2038440827d7.png"},72640:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-LiquidityRemove-Form-a6fa6ae3a33dedcc094ebdca216ba903.png"},10071:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-PoolAETHUCO-Front-59e79259272f84d7c68e66cebe2ad76d.png"},17675:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-PoolList-Back-a58b0959b60df54a45eb449eb4dd5845.png"},49123:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/aeSwap-PoolList-Front-10a02bf6deb41c5940f325ce783b67bd.png"},8209:(t,e,i)=>{i(67294)}}]); \ No newline at end of file diff --git a/assets/js/05fd4dd8.7a08a59d.js b/assets/js/05fd4dd8.dab4258a.js similarity index 97% rename from assets/js/05fd4dd8.7a08a59d.js rename to assets/js/05fd4dd8.dab4258a.js index 3607f0717..d3db61b9b 100644 --- a/assets/js/05fd4dd8.7a08a59d.js +++ b/assets/js/05fd4dd8.dab4258a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9174],{3905:(t,e,n)=>{n.d(e,{Zo:()=>p,kt:()=>f});var o=n(67294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function a(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var l=o.createContext({}),c=function(t){var e=o.useContext(l),n=e;return t&&(n="function"==typeof t?t(e):a(a({},e),t)),n},p=function(t){var e=c(t.components);return o.createElement(l.Provider,{value:e},t.children)},d="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},b=o.forwardRef((function(t,e){var n=t.components,r=t.mdxType,i=t.originalType,l=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),d=c(n),b=r,f=d["".concat(l,".").concat(b)]||d[b]||u[b]||i;return n?o.createElement(f,a(a({ref:e},p),{},{components:n})):o.createElement(f,a({ref:e},p))}));function f(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var i=n.length,a=new Array(i);a[0]=b;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s[d]="string"==typeof t?t:r,a[1]=s;for(var c=2;c{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=n(87462),r=(n(67294),n(3905));n(8209);const i={id:"bootstrap",title:"Bootstrap"},a=void 0,s={unversionedId:"build/core/bootstrap",id:"build/core/bootstrap",title:"Bootstrap",description:"When the Archethic node, a task is launched to perform the node bootstrapping to join the network.",source:"@site/docs/build/core/bootstrap.md",sourceDirName:"build/core",slug:"/build/core/bootstrap",permalink:"/build/core/bootstrap",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"bootstrap",title:"Bootstrap"},sidebar:"docs",previous:{title:"P2P availability sampling",permalink:"/build/core/beacon-chain/p2p-sampling"},next:{title:"Cryptography",permalink:"/build/core/cryptography/"}},l={},c=[{value:"Network initizialiation",id:"network-initizialiation",level:2},{value:"First node bootstrapping",id:"first-node-bootstrapping",level:2},{value:"Next time bootstraps",id:"next-time-bootstraps",level:2}],p={toc:c},d="wrapper";function u(t){let{components:e,...n}=t;return(0,r.kt)(d,(0,o.Z)({},p,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"When the Archethic node, a task is launched to perform the node bootstrapping to join the network."),(0,r.kt)("p",null,"To be able to bootstrap a node, we gather connectivity information (IP, Port, Transport, Reward address, Bootstrapping seeds) and also last synchronization date."),(0,r.kt)("p",null,"But a flow is determine to define what is the state of the bootstrap: network initialization, first bootstrap, next bootstrap"),(0,r.kt)("mermaid",{value:"graph TD\n A[Start] --\x3e B{Need to bootstrap ?}\n B --\x3e|Yes| Bootstrap \n B --\x3e|No| End\n Bootstrap --\x3e C{Need to initialize network?}\n C --\x3e|Yes| D(Initialize network)\n C --\x3e|No| E{New node public key ?}\n E --\x3e|Yes| F(New node transaction update)\n E --\x3e|Yes| G(First node transaction)"}),(0,r.kt)("h2",{id:"network-initizialiation"},"Network initizialiation"),(0,r.kt)("p",null,"The first node joining the network will be in charge to initialize the network by defining few transaction chains:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create first node shared secrets transaction chain with initial dailly nonce"),(0,r.kt)("li",{parentName:"ul"},"Create genesis wallets according to the allocation from the UCO token distribution ")),(0,r.kt)("h2",{id:"first-node-bootstrapping"},"First node bootstrapping"),(0,r.kt)("p",null,"During the first initialization, a node will contact P2P bootstrapping seeds (anchor nodes) to be able to fetch existing nodes."),(0,r.kt)("p",null,"Next a node will create transaction to publish its connectivity and crypto information which will authorize or not new joining node."),(0,r.kt)("p",null,"Once a node is authorized, after the success of this transaction, it can decrypt/load the storage nonce (will be used for self-repair) and start the self-repair initial cycle to sync transactions."),(0,r.kt)("h2",{id:"next-time-bootstraps"},"Next time bootstraps"),(0,r.kt)("p",null,"For further bootstraps, the bootstrap tasks determine if an update is required based on connectivity/crypto information changes, then a transaction is emitted to the node chain."),(0,r.kt)("p",null,"Once validated, the self-repair is also triggered to resync missed transactions."))}u.isMDXComponent=!0},8209:(t,e,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9174],{3905:(t,e,n)=>{n.d(e,{Zo:()=>p,kt:()=>f});var o=n(67294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function a(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var l=o.createContext({}),c=function(t){var e=o.useContext(l),n=e;return t&&(n="function"==typeof t?t(e):a(a({},e),t)),n},p=function(t){var e=c(t.components);return o.createElement(l.Provider,{value:e},t.children)},d="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},b=o.forwardRef((function(t,e){var n=t.components,r=t.mdxType,i=t.originalType,l=t.parentName,p=s(t,["components","mdxType","originalType","parentName"]),d=c(n),b=r,f=d["".concat(l,".").concat(b)]||d[b]||u[b]||i;return n?o.createElement(f,a(a({ref:e},p),{},{components:n})):o.createElement(f,a({ref:e},p))}));function f(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var i=n.length,a=new Array(i);a[0]=b;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s[d]="string"==typeof t?t:r,a[1]=s;for(var c=2;c{n.r(e),n.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=n(87462),r=(n(67294),n(3905));n(8209);const i={id:"bootstrap",title:"Bootstrap"},a=void 0,s={unversionedId:"build/core/bootstrap",id:"build/core/bootstrap",title:"Bootstrap",description:"When the Archethic node, a task is launched to perform the node bootstrapping to join the network.",source:"@site/docs/build/core/bootstrap.md",sourceDirName:"build/core",slug:"/build/core/bootstrap",permalink:"/build/core/bootstrap",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"bootstrap",title:"Bootstrap"},sidebar:"docs",previous:{title:"P2P availability sampling",permalink:"/build/core/beacon-chain/p2p-sampling"},next:{title:"Cryptography",permalink:"/build/core/cryptography/"}},l={},c=[{value:"Network initizialiation",id:"network-initizialiation",level:2},{value:"First node bootstrapping",id:"first-node-bootstrapping",level:2},{value:"Next time bootstraps",id:"next-time-bootstraps",level:2}],p={toc:c},d="wrapper";function u(t){let{components:e,...n}=t;return(0,r.kt)(d,(0,o.Z)({},p,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"When the Archethic node, a task is launched to perform the node bootstrapping to join the network."),(0,r.kt)("p",null,"To be able to bootstrap a node, we gather connectivity information (IP, Port, Transport, Reward address, Bootstrapping seeds) and also last synchronization date."),(0,r.kt)("p",null,"But a flow is determine to define what is the state of the bootstrap: network initialization, first bootstrap, next bootstrap"),(0,r.kt)("mermaid",{value:"graph TD\n A[Start] --\x3e B{Need to bootstrap ?}\n B --\x3e|Yes| Bootstrap \n B --\x3e|No| End\n Bootstrap --\x3e C{Need to initialize network?}\n C --\x3e|Yes| D(Initialize network)\n C --\x3e|No| E{New node public key ?}\n E --\x3e|Yes| F(New node transaction update)\n E --\x3e|Yes| G(First node transaction)"}),(0,r.kt)("h2",{id:"network-initizialiation"},"Network initizialiation"),(0,r.kt)("p",null,"The first node joining the network will be in charge to initialize the network by defining few transaction chains:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Create first node shared secrets transaction chain with initial dailly nonce"),(0,r.kt)("li",{parentName:"ul"},"Create genesis wallets according to the allocation from the UCO token distribution ")),(0,r.kt)("h2",{id:"first-node-bootstrapping"},"First node bootstrapping"),(0,r.kt)("p",null,"During the first initialization, a node will contact P2P bootstrapping seeds (anchor nodes) to be able to fetch existing nodes."),(0,r.kt)("p",null,"Next a node will create transaction to publish its connectivity and crypto information which will authorize or not new joining node."),(0,r.kt)("p",null,"Once a node is authorized, after the success of this transaction, it can decrypt/load the storage nonce (will be used for self-repair) and start the self-repair initial cycle to sync transactions."),(0,r.kt)("h2",{id:"next-time-bootstraps"},"Next time bootstraps"),(0,r.kt)("p",null,"For further bootstraps, the bootstrap tasks determine if an update is required based on connectivity/crypto information changes, then a transaction is emitted to the node chain."),(0,r.kt)("p",null,"Once validated, the self-repair is also triggered to resync missed transactions."))}u.isMDXComponent=!0},8209:(t,e,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/0607e0c5.ce815d0e.js b/assets/js/0607e0c5.d5ec4792.js similarity index 98% rename from assets/js/0607e0c5.ce815d0e.js rename to assets/js/0607e0c5.d5ec4792.js index 6b12c457b..96d013f7e 100644 --- a/assets/js/0607e0c5.ce815d0e.js +++ b/assets/js/0607e0c5.d5ec4792.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6894],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=c(n),b=a,m=p["".concat(s,".").concat(b)]||p[b]||u[b]||o;return n?r.createElement(m,l(l({ref:t},d),{},{components:n})):r.createElement(m,l({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:a,l[1]=i;for(var c=2;c{n.r(t),n.d(t,{Badge:()=>u,Bullet:()=>d,Details:()=>m,SpecifiedBy:()=>p,assets:()=>c,contentTitle:()=>i,default:()=>y,frontMatter:()=>l,metadata:()=>s,toc:()=>b});var r=n(87462),a=n(67294),o=n(3905);n(8209);const l={id:"version",title:"Version",hide_table_of_contents:!1},i=void 0,s={unversionedId:"build/api/schema/objects/version",id:"build/api/schema/objects/version",title:"Version",description:"[Version] represents code, transaction and protocol version",source:"@site/docs/build/api/schema/objects/version.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/version",permalink:"/build/api/schema/objects/version",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"version",title:"Version",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"ValidationStamp",permalink:"/build/api/schema/objects/validation-stamp"},next:{title:"balance",permalink:"/build/api/schema/queries/balance"}},c={},d=()=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,o.kt)(a.Fragment,null,"Specification",(0,o.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),u=e=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{className:e.class},e.text)),b=[{value:"Fields",id:"fields",level:3},{value:'Version.codeString ',id:"code-style-fontweight-normal-versionbcodebcodestring-",level:4},{value:'Version.protocolString ',id:"code-style-fontweight-normal-versionbprotocolbcodestring-",level:4},{value:'Version.transactionString ',id:"code-style-fontweight-normal-versionbtransactionbcodestring-",level:4},{value:"Returned by",id:"returned-by",level:3}],m=e=>{let{dataOpen:t,dataClose:n,children:l,startOpen:i=!1}=e;const[s,c]=(0,a.useState)(i);return(0,o.kt)("details",(0,r.Z)({},s?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,o.kt)("summary",{onClick:e=>{e.preventDefault(),c((e=>!e))},style:{listStyle:"none"}},s?t:n),s&&l)},g={Bullet:d,SpecifiedBy:p,Badge:u,toc:b,Details:m},f="wrapper";function y(e){let{components:t,...n}=e;return(0,o.kt)(f,(0,r.Z)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"[Version]"," represents code, transaction and protocol version"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-graphql"},"type Version {\n code: String\n protocol: String\n transaction: String\n}\n")),(0,o.kt)("h3",{id:"fields"},"Fields"),(0,o.kt)("h4",{id:"code-style-fontweight-normal-versionbcodebcodestring-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"Version.",(0,o.kt)("b",null,"code"))),(0,o.kt)(d,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,o.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h4",{id:"code-style-fontweight-normal-versionbprotocolbcodestring-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"Version.",(0,o.kt)("b",null,"protocol"))),(0,o.kt)(d,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,o.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h4",{id:"code-style-fontweight-normal-versionbtransactionbcodestring-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"Version.",(0,o.kt)("b",null,"transaction"))),(0,o.kt)(d,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,o.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h3",{id:"returned-by"},"Returned by"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"/build/api/schema/queries/version"},(0,o.kt)("inlineCode",{parentName:"a"},"version"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"query",mdxType:"Badge"})))}y.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6894],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},b=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=c(n),b=a,m=p["".concat(s,".").concat(b)]||p[b]||u[b]||o;return n?r.createElement(m,l(l({ref:t},d),{},{components:n})):r.createElement(m,l({ref:t},d))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,l=new Array(o);l[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:a,l[1]=i;for(var c=2;c{n.r(t),n.d(t,{Badge:()=>u,Bullet:()=>d,Details:()=>m,SpecifiedBy:()=>p,assets:()=>c,contentTitle:()=>i,default:()=>y,frontMatter:()=>l,metadata:()=>s,toc:()=>b});var r=n(87462),a=n(67294),o=n(3905);n(8209);const l={id:"version",title:"Version",hide_table_of_contents:!1},i=void 0,s={unversionedId:"build/api/schema/objects/version",id:"build/api/schema/objects/version",title:"Version",description:"[Version] represents code, transaction and protocol version",source:"@site/docs/build/api/schema/objects/version.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/version",permalink:"/build/api/schema/objects/version",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"version",title:"Version",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"ValidationStamp",permalink:"/build/api/schema/objects/validation-stamp"},next:{title:"balance",permalink:"/build/api/schema/queries/balance"}},c={},d=()=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,o.kt)(a.Fragment,null,"Specification",(0,o.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),u=e=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{className:e.class},e.text)),b=[{value:"Fields",id:"fields",level:3},{value:'Version.codeString ',id:"code-style-fontweight-normal-versionbcodebcodestring-",level:4},{value:'Version.protocolString ',id:"code-style-fontweight-normal-versionbprotocolbcodestring-",level:4},{value:'Version.transactionString ',id:"code-style-fontweight-normal-versionbtransactionbcodestring-",level:4},{value:"Returned by",id:"returned-by",level:3}],m=e=>{let{dataOpen:t,dataClose:n,children:l,startOpen:i=!1}=e;const[s,c]=(0,a.useState)(i);return(0,o.kt)("details",(0,r.Z)({},s?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,o.kt)("summary",{onClick:e=>{e.preventDefault(),c((e=>!e))},style:{listStyle:"none"}},s?t:n),s&&l)},g={Bullet:d,SpecifiedBy:p,Badge:u,toc:b,Details:m},f="wrapper";function y(e){let{components:t,...n}=e;return(0,o.kt)(f,(0,r.Z)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"[Version]"," represents code, transaction and protocol version"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-graphql"},"type Version {\n code: String\n protocol: String\n transaction: String\n}\n")),(0,o.kt)("h3",{id:"fields"},"Fields"),(0,o.kt)("h4",{id:"code-style-fontweight-normal-versionbcodebcodestring-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"Version.",(0,o.kt)("b",null,"code"))),(0,o.kt)(d,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,o.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h4",{id:"code-style-fontweight-normal-versionbprotocolbcodestring-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"Version.",(0,o.kt)("b",null,"protocol"))),(0,o.kt)(d,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,o.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h4",{id:"code-style-fontweight-normal-versionbtransactionbcodestring-"},(0,o.kt)("a",{parentName:"h4",href:"#"},(0,o.kt)("code",{style:{fontWeight:"normal"}},"Version.",(0,o.kt)("b",null,"transaction"))),(0,o.kt)(d,{mdxType:"Bullet"}),(0,o.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,o.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,o.kt)("blockquote",null),(0,o.kt)("h3",{id:"returned-by"},"Returned by"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"/build/api/schema/queries/version"},(0,o.kt)("inlineCode",{parentName:"a"},"version"))," ",(0,o.kt)(u,{class:"badge badge--secondary",text:"query",mdxType:"Badge"})))}y.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/0666b85a.79dc2077.js b/assets/js/0666b85a.f3149e27.js similarity index 97% rename from assets/js/0666b85a.79dc2077.js rename to assets/js/0666b85a.f3149e27.js index f03ff97cb..ea0a95dbf 100644 --- a/assets/js/0666b85a.79dc2077.js +++ b/assets/js/0666b85a.f3149e27.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3633],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),u=p(n),m=a,f=u["".concat(s,".").concat(m)]||u[m]||d[m]||l;return n?r.createElement(f,o(o({ref:t},c),{},{components:n})):r.createElement(f,o({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[u]="string"==typeof e?e:a,o[1]=i;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));n(8209);const l={id:"testnet",title:"Testnet"},o=void 0,i={unversionedId:"build/testnet",id:"build/testnet",title:"Testnet",description:"Local",source:"@site/docs/build/testnet.md",sourceDirName:"build",slug:"/build/testnet",permalink:"/build/testnet",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"testnet",title:"Testnet"},sidebar:"docs",previous:{title:"Fees",permalink:"/build/smart-contracts/fees"},next:{title:"FAQ",permalink:"/category/faq"}},s={},p=[{value:"Local",id:"local",level:2},{value:"Installation",id:"installation",level:3},{value:"Get some funds",id:"get-some-funds",level:3},{value:"Public",id:"public",level:2},{value:"Get some funds",id:"get-some-funds-1",level:3}],c={toc:p},u="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(u,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"local"},"Local"),(0,a.kt)("p",null,"To test and build on top of Archethic network, we encourage people to test with a local instance."),(0,a.kt)("h3",{id:"installation"},"Installation"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Clone the repository: ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"git clone https://github.com/archethic-foundation/archethic-node.git\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Setup the dev environment:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://elixir-lang.org/install.html"},"Install Elixir")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://nodejs.org/en/download/"},"Install NodeJS")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://gmplib.org"},"Install GMP")))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Fetch the dependencies"))),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"mix deps.get\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Build web assets")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"cd assets ; npm install; cd -\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Start instance")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"iex -S mix\n")),(0,a.kt)("h3",{id:"get-some-funds"},"Get some funds"),(0,a.kt)("p",null,"To be able to fund some addresses, the development mode of the running enable the testnet faucet."),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Funding"),(0,a.kt)("p",{parentName:"li"},"Browse to the http://localhost:4000/faucet and enter any address to send funds to. "),(0,a.kt)("p",{parentName:"li"},"It should transfer 100 UCO to the given address.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Check the balance"),(0,a.kt)("p",{parentName:"li"},"Go to http://localhost:4000/explorer/transaction/{TYPE_YOUR_ADDRESS_IN_HEXADECIMAL}"),(0,a.kt)("p",{parentName:"li"},'It should display 100 unspent outputs (in the "Ledger inputs" section)'))),(0,a.kt)("h2",{id:"public"},"Public"),(0,a.kt)("p",null,"Public testnet is available at ",(0,a.kt)("a",{parentName:"p",href:"https://testnet.archethic.net"},"https://testnet.archethic.net")),(0,a.kt)("h3",{id:"get-some-funds-1"},"Get some funds"),(0,a.kt)("p",null,"You can then go the ",(0,a.kt)("a",{parentName:"p",href:"https://testnet.archethic.net/faucet"},"faucet")," to get free UCOs to experiment the Archethic network"))}d.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3633],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),u=p(n),m=a,f=u["".concat(s,".").concat(m)]||u[m]||d[m]||l;return n?r.createElement(f,o(o({ref:t},c),{},{components:n})):r.createElement(f,o({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[u]="string"==typeof e?e:a,o[1]=i;for(var p=2;p{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>p});var r=n(87462),a=(n(67294),n(3905));n(8209);const l={id:"testnet",title:"Testnet"},o=void 0,i={unversionedId:"build/testnet",id:"build/testnet",title:"Testnet",description:"Local",source:"@site/docs/build/testnet.md",sourceDirName:"build",slug:"/build/testnet",permalink:"/build/testnet",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"testnet",title:"Testnet"},sidebar:"docs",previous:{title:"Fees",permalink:"/build/smart-contracts/fees"},next:{title:"FAQ",permalink:"/category/faq"}},s={},p=[{value:"Local",id:"local",level:2},{value:"Installation",id:"installation",level:3},{value:"Get some funds",id:"get-some-funds",level:3},{value:"Public",id:"public",level:2},{value:"Get some funds",id:"get-some-funds-1",level:3}],c={toc:p},u="wrapper";function d(e){let{components:t,...n}=e;return(0,a.kt)(u,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"local"},"Local"),(0,a.kt)("p",null,"To test and build on top of Archethic network, we encourage people to test with a local instance."),(0,a.kt)("h3",{id:"installation"},"Installation"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Clone the repository: ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"git clone https://github.com/archethic-foundation/archethic-node.git\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Setup the dev environment:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://elixir-lang.org/install.html"},"Install Elixir")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://nodejs.org/en/download/"},"Install NodeJS")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://gmplib.org"},"Install GMP")))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Fetch the dependencies"))),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"mix deps.get\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Build web assets")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"cd assets ; npm install; cd -\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Start instance")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre"},"iex -S mix\n")),(0,a.kt)("h3",{id:"get-some-funds"},"Get some funds"),(0,a.kt)("p",null,"To be able to fund some addresses, the development mode of the running enable the testnet faucet."),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Funding"),(0,a.kt)("p",{parentName:"li"},"Browse to the http://localhost:4000/faucet and enter any address to send funds to. "),(0,a.kt)("p",{parentName:"li"},"It should transfer 100 UCO to the given address.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Check the balance"),(0,a.kt)("p",{parentName:"li"},"Go to http://localhost:4000/explorer/transaction/{TYPE_YOUR_ADDRESS_IN_HEXADECIMAL}"),(0,a.kt)("p",{parentName:"li"},'It should display 100 unspent outputs (in the "Ledger inputs" section)'))),(0,a.kt)("h2",{id:"public"},"Public"),(0,a.kt)("p",null,"Public testnet is available at ",(0,a.kt)("a",{parentName:"p",href:"https://testnet.archethic.net"},"https://testnet.archethic.net")),(0,a.kt)("h3",{id:"get-some-funds-1"},"Get some funds"),(0,a.kt)("p",null,"You can then go the ",(0,a.kt)("a",{parentName:"p",href:"https://testnet.archethic.net/faucet"},"faucet")," to get free UCOs to experiment the Archethic network"))}d.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/07620fdf.6621394e.js b/assets/js/07620fdf.bd506b2d.js similarity index 98% rename from assets/js/07620fdf.6621394e.js rename to assets/js/07620fdf.bd506b2d.js index 1cb8e534a..819160d24 100644 --- a/assets/js/07620fdf.6621394e.js +++ b/assets/js/07620fdf.bd506b2d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3812],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),l=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},d="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),u=r,m=d["".concat(c,".").concat(u)]||d[u]||h[u]||i;return n?a.createElement(m,o(o({ref:t},p),{},{components:n})):a.createElement(m,o({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[d]="string"==typeof e?e:r,o[1]=s;for(var l=2;l{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=n(87462),r=(n(67294),n(3905));n(8209);const i={id:"cli",title:"AEWeb - CLI",sidebar_label:"CLI",sidebar_position:3},o="AEWeb CLI (Command-Line Interface)",s={unversionedId:"participate/aeweb/usage/cli",id:"participate/aeweb/usage/cli",title:"AEWeb - CLI",description:"Repository//github.com/archethic-foundation/aeweb-cli",source:"@site/docs/participate/aeweb/usage/cli.md",sourceDirName:"participate/aeweb/usage",slug:"/participate/aeweb/usage/cli",permalink:"/participate/aeweb/usage/cli",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",sidebarPosition:3,frontMatter:{id:"cli",title:"AEWeb - CLI",sidebar_label:"CLI",sidebar_position:3},sidebar:"docs",previous:{title:"Usage",permalink:"/category/usage"},next:{title:"AEWeb Front End",permalink:"/participate/aeweb/usage/aeweb-front"}},c={},l=[{value:"aeweb generate-address",id:"aeweb-generate-address",level:2},{value:"aeweb deploy",id:"aeweb-deploy",level:2}],p={toc:l},d="wrapper";function h(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"aeweb-cli-command-line-interface"},"AEWeb CLI (Command-Line Interface)"),(0,r.kt)("p",null,"Repository: ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/aeweb-cli"},"https://github.com/archethic-foundation/aeweb-cli")),(0,r.kt)("p",null,"This tool, built with NodeJS, can be used to deploy files and websites to the Archethic blockchain.\nOnce installed, as instructed in the README, the ",(0,r.kt)("inlineCode",{parentName:"p"},"aeweb")," command is available."),(0,r.kt)("h2",{id:"aeweb-generate-address"},"aeweb generate-address"),(0,r.kt)("p",null,"This command is used to generate an address from a seed. "),(0,r.kt)("admonition",{title:"Use case",type:"info"},(0,r.kt)("p",{parentName:"admonition"},"You might use this on TestNet for example, to determine an address to use the ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.archethic.net/faucet"},"faucet")," on.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ aeweb generate-address --seed myseedphrase --index 0\n00005da88a4adaf5b40c958a20db981bd168008e03efbb7fc9d35e11be182a0d3065\n")),(0,r.kt)("h2",{id:"aeweb-deploy"},"aeweb deploy"),(0,r.kt)("p",null,"This command is used to deploy the content of a folder or a single file. It will create the ",(0,r.kt)("a",{parentName:"p",href:"/participate/aeweb/how-it-works"},"transactions"),", estimate the fees and, after confirmation, will write the transactions on the network."),(0,r.kt)("p",null,"Parameters: "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"seed")," The keychain seed, used to prove you are the owner of the transaction chain used to pay the fees"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"endpoint")," ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.archethic.net"},"https://testnet.archethic.net")," | ",(0,r.kt)("a",{parentName:"li",href:"https://mainnet.archethic.net"},"https://mainnet.archethic.net")," | ",(0,r.kt)("a",{parentName:"li",href:"http://127.0.0.1:4000"},"http://127.0.0.1:4000")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"path")," The path of the folder/file to upload ")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"$ aeweb deploy --seed myseedphrase --endpoint https://testnet.archethic.net --path ./website\nConnecting to https://testnet.archethic.net \nCreating file structure and compress content...\nCreating transactions ...\nEstimating fees ...\nTotal Fee Requirement would be : 2.58933391 UCO ( $ 0.23 | \u20ac 0.22), for 3 transactions.\nDo you want to continue. (yes/no) yes\nSending 3 transactions...\nTransaction 1...\nWaiting transaction validation...\nTransaction confirmed !\nSee transaction in explorer: https://testnet.archethic.net/explorer/transaction/000013c531...\n-----------\nTransaction 2...\nWaiting transaction validation...\nTransaction confirmed !\nSee transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000a78a35...\n-----------\nTransaction 3...\nWaiting transaction validation...\nTransaction confirmed !\nSee transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000f1126e...\n-----------\nWebsite is deployed at: https://testnet.archethic.net/api/web_hosting/00007d9167...\n")),(0,r.kt)("admonition",{title:"There Can Be Only One",type:"info"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("strong",{parentName:"p"},"There can only be a single deployment per seed.")," Which makes it possible to update it by running the exact same command. The endpoint of your deployment will not change. "),(0,r.kt)("p",{parentName:"admonition"},"If you need to deploy another website, use another seed (and transfer funds to it via the Wallet app).")))}h.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3812],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),l=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},d="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),u=r,m=d["".concat(c,".").concat(u)]||d[u]||h[u]||i;return n?a.createElement(m,o(o({ref:t},p),{},{components:n})):a.createElement(m,o({ref:t},p))}));function m(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=u;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[d]="string"==typeof e?e:r,o[1]=s;for(var l=2;l{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=n(87462),r=(n(67294),n(3905));n(8209);const i={id:"cli",title:"AEWeb - CLI",sidebar_label:"CLI",sidebar_position:3},o="AEWeb CLI (Command-Line Interface)",s={unversionedId:"participate/aeweb/usage/cli",id:"participate/aeweb/usage/cli",title:"AEWeb - CLI",description:"Repository//github.com/archethic-foundation/aeweb-cli",source:"@site/docs/participate/aeweb/usage/cli.md",sourceDirName:"participate/aeweb/usage",slug:"/participate/aeweb/usage/cli",permalink:"/participate/aeweb/usage/cli",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",sidebarPosition:3,frontMatter:{id:"cli",title:"AEWeb - CLI",sidebar_label:"CLI",sidebar_position:3},sidebar:"docs",previous:{title:"Usage",permalink:"/category/usage"},next:{title:"AEWeb Front End",permalink:"/participate/aeweb/usage/aeweb-front"}},c={},l=[{value:"aeweb generate-address",id:"aeweb-generate-address",level:2},{value:"aeweb deploy",id:"aeweb-deploy",level:2}],p={toc:l},d="wrapper";function h(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"aeweb-cli-command-line-interface"},"AEWeb CLI (Command-Line Interface)"),(0,r.kt)("p",null,"Repository: ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/aeweb-cli"},"https://github.com/archethic-foundation/aeweb-cli")),(0,r.kt)("p",null,"This tool, built with NodeJS, can be used to deploy files and websites to the Archethic blockchain.\nOnce installed, as instructed in the README, the ",(0,r.kt)("inlineCode",{parentName:"p"},"aeweb")," command is available."),(0,r.kt)("h2",{id:"aeweb-generate-address"},"aeweb generate-address"),(0,r.kt)("p",null,"This command is used to generate an address from a seed. "),(0,r.kt)("admonition",{title:"Use case",type:"info"},(0,r.kt)("p",{parentName:"admonition"},"You might use this on TestNet for example, to determine an address to use the ",(0,r.kt)("a",{parentName:"p",href:"https://testnet.archethic.net/faucet"},"faucet")," on.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"$ aeweb generate-address --seed myseedphrase --index 0\n00005da88a4adaf5b40c958a20db981bd168008e03efbb7fc9d35e11be182a0d3065\n")),(0,r.kt)("h2",{id:"aeweb-deploy"},"aeweb deploy"),(0,r.kt)("p",null,"This command is used to deploy the content of a folder or a single file. It will create the ",(0,r.kt)("a",{parentName:"p",href:"/participate/aeweb/how-it-works"},"transactions"),", estimate the fees and, after confirmation, will write the transactions on the network."),(0,r.kt)("p",null,"Parameters: "),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"seed")," The keychain seed, used to prove you are the owner of the transaction chain used to pay the fees"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"endpoint")," ",(0,r.kt)("a",{parentName:"li",href:"https://testnet.archethic.net"},"https://testnet.archethic.net")," | ",(0,r.kt)("a",{parentName:"li",href:"https://mainnet.archethic.net"},"https://mainnet.archethic.net")," | ",(0,r.kt)("a",{parentName:"li",href:"http://127.0.0.1:4000"},"http://127.0.0.1:4000")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"path")," The path of the folder/file to upload ")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"$ aeweb deploy --seed myseedphrase --endpoint https://testnet.archethic.net --path ./website\nConnecting to https://testnet.archethic.net \nCreating file structure and compress content...\nCreating transactions ...\nEstimating fees ...\nTotal Fee Requirement would be : 2.58933391 UCO ( $ 0.23 | \u20ac 0.22), for 3 transactions.\nDo you want to continue. (yes/no) yes\nSending 3 transactions...\nTransaction 1...\nWaiting transaction validation...\nTransaction confirmed !\nSee transaction in explorer: https://testnet.archethic.net/explorer/transaction/000013c531...\n-----------\nTransaction 2...\nWaiting transaction validation...\nTransaction confirmed !\nSee transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000a78a35...\n-----------\nTransaction 3...\nWaiting transaction validation...\nTransaction confirmed !\nSee transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000f1126e...\n-----------\nWebsite is deployed at: https://testnet.archethic.net/api/web_hosting/00007d9167...\n")),(0,r.kt)("admonition",{title:"There Can Be Only One",type:"info"},(0,r.kt)("p",{parentName:"admonition"},(0,r.kt)("strong",{parentName:"p"},"There can only be a single deployment per seed.")," Which makes it possible to update it by running the exact same command. The endpoint of your deployment will not change. "),(0,r.kt)("p",{parentName:"admonition"},"If you need to deploy another website, use another seed (and transfer funds to it via the Wallet app).")))}h.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/07f0fc78.43694ac2.js b/assets/js/07f0fc78.933aa4dd.js similarity index 98% rename from assets/js/07f0fc78.43694ac2.js rename to assets/js/07f0fc78.933aa4dd.js index 903dab3bc..e785552da 100644 --- a/assets/js/07f0fc78.43694ac2.js +++ b/assets/js/07f0fc78.933aa4dd.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2491],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var o=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function l(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=o.createContext({}),s=function(e){var t=o.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},c=function(e){var t=s(e.components);return o.createElement(d.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,d=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=s(a),u=n,b=p["".concat(d,".").concat(u)]||p[u]||m[u]||r;return a?o.createElement(b,l(l({ref:t},c),{},{components:a})):o.createElement(b,l({ref:t},c))}));function b(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,l=new Array(r);l[0]=u;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[p]="string"==typeof e?e:n,l[1]=i;for(var s=2;s{a.r(t),a.d(t,{Badge:()=>m,Bullet:()=>c,Details:()=>b,SpecifiedBy:()=>p,assets:()=>s,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var o=a(87462),n=a(67294),r=a(3905);a(8209);const l={id:"validation-stamp",title:"ValidationStamp",hide_table_of_contents:!1},i=void 0,d={unversionedId:"build/api/schema/objects/validation-stamp",id:"build/api/schema/objects/validation-stamp",title:"ValidationStamp",description:"[ValidationStamp] represents the validation performs by the coordinator",source:"@site/docs/build/api/schema/objects/validation-stamp.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/validation-stamp",permalink:"/build/api/schema/objects/validation-stamp",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"validation-stamp",title:"ValidationStamp",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"UnspentOutput",permalink:"/build/api/schema/objects/unspent-output"},next:{title:"Version",permalink:"/build/api/schema/objects/version"}},s={},c=()=>(0,r.kt)(n.Fragment,null,(0,r.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,r.kt)(n.Fragment,null,"Specification",(0,r.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),m=e=>(0,r.kt)(n.Fragment,null,(0,r.kt)("span",{className:e.class},e.text)),u=[{value:"Fields",id:"fields",level:3},{value:'ValidationStamp.ledgerOperationsLedgerOperations ',id:"code-style-fontweight-normal-validationstampbledgeroperationsbcodeledgeroperations-",level:4},{value:'ValidationStamp.proofOfIntegrityVersionedHash ',id:"code-style-fontweight-normal-validationstampbproofofintegritybcodeversionedhash-",level:4},{value:'ValidationStamp.proofOfWorkPublicKey ',id:"code-style-fontweight-normal-validationstampbproofofworkbcodepublickey-",level:4},{value:'ValidationStamp.protocolVersionInt ',id:"code-style-fontweight-normal-validationstampbprotocolversionbcodeint-",level:4},{value:'ValidationStamp.signatureHex ',id:"code-style-fontweight-normal-validationstampbsignaturebcodehex-",level:4},{value:'ValidationStamp.timestampTimestamp ',id:"code-style-fontweight-normal-validationstampbtimestampbcodetimestamp-",level:4},{value:"Member of",id:"member-of",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:l,startOpen:i=!1}=e;const[d,s]=(0,n.useState)(i);return(0,r.kt)("details",(0,o.Z)({},d?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,r.kt)("summary",{onClick:e=>{e.preventDefault(),s((e=>!e))},style:{listStyle:"none"}},d?t:a),d&&l)},f={Bullet:c,SpecifiedBy:p,Badge:m,toc:u,Details:b},g="wrapper";function h(e){let{components:t,...a}=e;return(0,r.kt)(g,(0,o.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"[ValidationStamp]"," represents the validation performs by the coordinator\nIt includes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Proof of work: Public key matching the origin signature"),(0,r.kt)("li",{parentName:"ul"},"Proof of integrity: Hash of the previous proof of integrity and the transaction"),(0,r.kt)("li",{parentName:"ul"},"Ledger operations: All the operations performed by the transaction"),(0,r.kt)("li",{parentName:"ul"},"Signature: Coordinator signature of the stamp"),(0,r.kt)("li",{parentName:"ul"},"Protocol version: Version of the transaction validation protocol")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-graphql"},"type ValidationStamp {\n ledgerOperations: LedgerOperations\n proofOfIntegrity: VersionedHash\n proofOfWork: PublicKey\n protocolVersion: Int\n signature: Hex\n timestamp: Timestamp\n}\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbledgeroperationsbcodeledgeroperations-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"ledgerOperations"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/objects/ledger-operations"},(0,r.kt)("inlineCode",{parentName:"a"},"LedgerOperations"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbproofofintegritybcodeversionedhash-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"proofOfIntegrity"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/versioned-hash"},(0,r.kt)("inlineCode",{parentName:"a"},"VersionedHash"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbproofofworkbcodepublickey-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"proofOfWork"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/public-key"},(0,r.kt)("inlineCode",{parentName:"a"},"PublicKey"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbprotocolversionbcodeint-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"protocolVersion"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/int"},(0,r.kt)("inlineCode",{parentName:"a"},"Int"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbsignaturebcodehex-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"signature"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/hex"},(0,r.kt)("inlineCode",{parentName:"a"},"Hex"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbtimestampbcodetimestamp-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"timestamp"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,r.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h3",{id:"member-of"},"Member of"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/build/api/schema/objects/transaction"},(0,r.kt)("inlineCode",{parentName:"a"},"Transaction"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}h.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2491],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var o=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function l(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var d=o.createContext({}),s=function(e){var t=o.useContext(d),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},c=function(e){var t=s(e.components);return o.createElement(d.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},u=o.forwardRef((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,d=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),p=s(a),u=n,b=p["".concat(d,".").concat(u)]||p[u]||m[u]||r;return a?o.createElement(b,l(l({ref:t},c),{},{components:a})):o.createElement(b,l({ref:t},c))}));function b(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,l=new Array(r);l[0]=u;var i={};for(var d in t)hasOwnProperty.call(t,d)&&(i[d]=t[d]);i.originalType=e,i[p]="string"==typeof e?e:n,l[1]=i;for(var s=2;s{a.r(t),a.d(t,{Badge:()=>m,Bullet:()=>c,Details:()=>b,SpecifiedBy:()=>p,assets:()=>s,contentTitle:()=>i,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var o=a(87462),n=a(67294),r=a(3905);a(8209);const l={id:"validation-stamp",title:"ValidationStamp",hide_table_of_contents:!1},i=void 0,d={unversionedId:"build/api/schema/objects/validation-stamp",id:"build/api/schema/objects/validation-stamp",title:"ValidationStamp",description:"[ValidationStamp] represents the validation performs by the coordinator",source:"@site/docs/build/api/schema/objects/validation-stamp.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/validation-stamp",permalink:"/build/api/schema/objects/validation-stamp",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"validation-stamp",title:"ValidationStamp",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"UnspentOutput",permalink:"/build/api/schema/objects/unspent-output"},next:{title:"Version",permalink:"/build/api/schema/objects/version"}},s={},c=()=>(0,r.kt)(n.Fragment,null,(0,r.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,r.kt)(n.Fragment,null,"Specification",(0,r.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),m=e=>(0,r.kt)(n.Fragment,null,(0,r.kt)("span",{className:e.class},e.text)),u=[{value:"Fields",id:"fields",level:3},{value:'ValidationStamp.ledgerOperationsLedgerOperations ',id:"code-style-fontweight-normal-validationstampbledgeroperationsbcodeledgeroperations-",level:4},{value:'ValidationStamp.proofOfIntegrityVersionedHash ',id:"code-style-fontweight-normal-validationstampbproofofintegritybcodeversionedhash-",level:4},{value:'ValidationStamp.proofOfWorkPublicKey ',id:"code-style-fontweight-normal-validationstampbproofofworkbcodepublickey-",level:4},{value:'ValidationStamp.protocolVersionInt ',id:"code-style-fontweight-normal-validationstampbprotocolversionbcodeint-",level:4},{value:'ValidationStamp.signatureHex ',id:"code-style-fontweight-normal-validationstampbsignaturebcodehex-",level:4},{value:'ValidationStamp.timestampTimestamp ',id:"code-style-fontweight-normal-validationstampbtimestampbcodetimestamp-",level:4},{value:"Member of",id:"member-of",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:l,startOpen:i=!1}=e;const[d,s]=(0,n.useState)(i);return(0,r.kt)("details",(0,o.Z)({},d?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,r.kt)("summary",{onClick:e=>{e.preventDefault(),s((e=>!e))},style:{listStyle:"none"}},d?t:a),d&&l)},f={Bullet:c,SpecifiedBy:p,Badge:m,toc:u,Details:b},g="wrapper";function h(e){let{components:t,...a}=e;return(0,r.kt)(g,(0,o.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"[ValidationStamp]"," represents the validation performs by the coordinator\nIt includes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Proof of work: Public key matching the origin signature"),(0,r.kt)("li",{parentName:"ul"},"Proof of integrity: Hash of the previous proof of integrity and the transaction"),(0,r.kt)("li",{parentName:"ul"},"Ledger operations: All the operations performed by the transaction"),(0,r.kt)("li",{parentName:"ul"},"Signature: Coordinator signature of the stamp"),(0,r.kt)("li",{parentName:"ul"},"Protocol version: Version of the transaction validation protocol")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-graphql"},"type ValidationStamp {\n ledgerOperations: LedgerOperations\n proofOfIntegrity: VersionedHash\n proofOfWork: PublicKey\n protocolVersion: Int\n signature: Hex\n timestamp: Timestamp\n}\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbledgeroperationsbcodeledgeroperations-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"ledgerOperations"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/objects/ledger-operations"},(0,r.kt)("inlineCode",{parentName:"a"},"LedgerOperations"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbproofofintegritybcodeversionedhash-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"proofOfIntegrity"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/versioned-hash"},(0,r.kt)("inlineCode",{parentName:"a"},"VersionedHash"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbproofofworkbcodepublickey-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"proofOfWork"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/public-key"},(0,r.kt)("inlineCode",{parentName:"a"},"PublicKey"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbprotocolversionbcodeint-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"protocolVersion"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/int"},(0,r.kt)("inlineCode",{parentName:"a"},"Int"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbsignaturebcodehex-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"signature"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/hex"},(0,r.kt)("inlineCode",{parentName:"a"},"Hex"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-validationstampbtimestampbcodetimestamp-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"ValidationStamp.",(0,r.kt)("b",null,"timestamp"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,r.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h3",{id:"member-of"},"Member of"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/build/api/schema/objects/transaction"},(0,r.kt)("inlineCode",{parentName:"a"},"Transaction"))," ",(0,r.kt)(m,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}h.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file diff --git a/assets/js/08912224.c8a6238c.js b/assets/js/08912224.962b21fb.js similarity index 97% rename from assets/js/08912224.c8a6238c.js rename to assets/js/08912224.962b21fb.js index 2dd13d0fb..9f3687aec 100644 --- a/assets/js/08912224.c8a6238c.js +++ b/assets/js/08912224.962b21fb.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8610],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(r),m=a,f=u["".concat(l,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(f,i(i({ref:t},c),{},{components:r})):n.createElement(f,i({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{r.r(t),r.d(t,{Badge:()=>d,Bullet:()=>c,Details:()=>f,SpecifiedBy:()=>u,assets:()=>p,contentTitle:()=>s,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=r(87462),a=r(67294),o=r(3905);r(8209);const i={id:"token-properties",title:"TokenProperties",hide_table_of_contents:!1},s=void 0,l={unversionedId:"build/api/schema/scalars/token-properties",id:"build/api/schema/scalars/token-properties",title:"TokenProperties",description:"[tokenProperties] represents a token's properties",source:"@site/docs/build/api/schema/scalars/token-properties.mdx",sourceDirName:"build/api/schema/scalars",slug:"/build/api/schema/scalars/token-properties",permalink:"/build/api/schema/scalars/token-properties",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"token-properties",title:"TokenProperties",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"Timestamp",permalink:"/build/api/schema/scalars/timestamp"},next:{title:"TransactionType",permalink:"/build/api/schema/scalars/transaction-type"}},p={},c=()=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),u=e=>(0,o.kt)(a.Fragment,null,"Specification",(0,o.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),d=e=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{className:e.class},e.text)),m=[{value:"Member of",id:"member-of",level:3}],f=e=>{let{dataOpen:t,dataClose:r,children:i,startOpen:s=!1}=e;const[l,p]=(0,a.useState)(s);return(0,o.kt)("details",(0,n.Z)({},l?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,o.kt)("summary",{onClick:e=>{e.preventDefault(),p((e=>!e))},style:{listStyle:"none"}},l?t:r),l&&i)},b={Bullet:c,SpecifiedBy:u,Badge:d,toc:m,Details:f},k="wrapper";function y(e){let{components:t,...r}=e;return(0,o.kt)(k,(0,n.Z)({},b,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"[tokenProperties]"," represents a token's properties"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-graphql"},"scalar TokenProperties\n")),(0,o.kt)("h3",{id:"member-of"},"Member of"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"/build/api/schema/objects/token"},(0,o.kt)("inlineCode",{parentName:"a"},"Token"))," ",(0,o.kt)(d,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}y.isMDXComponent=!0},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8610],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(r),m=a,f=u["".concat(l,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(f,i(i({ref:t},c),{},{components:r})):n.createElement(f,i({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{r.r(t),r.d(t,{Badge:()=>d,Bullet:()=>c,Details:()=>f,SpecifiedBy:()=>u,assets:()=>p,contentTitle:()=>s,default:()=>y,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=r(87462),a=r(67294),o=r(3905);r(8209);const i={id:"token-properties",title:"TokenProperties",hide_table_of_contents:!1},s=void 0,l={unversionedId:"build/api/schema/scalars/token-properties",id:"build/api/schema/scalars/token-properties",title:"TokenProperties",description:"[tokenProperties] represents a token's properties",source:"@site/docs/build/api/schema/scalars/token-properties.mdx",sourceDirName:"build/api/schema/scalars",slug:"/build/api/schema/scalars/token-properties",permalink:"/build/api/schema/scalars/token-properties",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"token-properties",title:"TokenProperties",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"Timestamp",permalink:"/build/api/schema/scalars/timestamp"},next:{title:"TransactionType",permalink:"/build/api/schema/scalars/transaction-type"}},p={},c=()=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),u=e=>(0,o.kt)(a.Fragment,null,"Specification",(0,o.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),d=e=>(0,o.kt)(a.Fragment,null,(0,o.kt)("span",{className:e.class},e.text)),m=[{value:"Member of",id:"member-of",level:3}],f=e=>{let{dataOpen:t,dataClose:r,children:i,startOpen:s=!1}=e;const[l,p]=(0,a.useState)(s);return(0,o.kt)("details",(0,n.Z)({},l?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,o.kt)("summary",{onClick:e=>{e.preventDefault(),p((e=>!e))},style:{listStyle:"none"}},l?t:r),l&&i)},b={Bullet:c,SpecifiedBy:u,Badge:d,toc:m,Details:f},k="wrapper";function y(e){let{components:t,...r}=e;return(0,o.kt)(k,(0,n.Z)({},b,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"[tokenProperties]"," represents a token's properties"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-graphql"},"scalar TokenProperties\n")),(0,o.kt)("h3",{id:"member-of"},"Member of"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"/build/api/schema/objects/token"},(0,o.kt)("inlineCode",{parentName:"a"},"Token"))," ",(0,o.kt)(d,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}y.isMDXComponent=!0},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file diff --git a/assets/js/0945e04b.9b03e054.js b/assets/js/0945e04b.9a48bd8c.js similarity index 99% rename from assets/js/0945e04b.9b03e054.js rename to assets/js/0945e04b.9a48bd8c.js index 4bd9bb0c9..e72189064 100644 --- a/assets/js/0945e04b.9b03e054.js +++ b/assets/js/0945e04b.9a48bd8c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7611],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=a.createContext({}),s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=s(n),h=i,m=u["".concat(p,".").concat(h)]||u[h]||c[h]||r;return n?a.createElement(m,l(l({ref:t},d),{},{components:n})):a.createElement(m,l({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=h;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>s});var a=n(87462),i=(n(67294),n(3905));n(8209);const r={id:"api",title:"Ledger Application API"},l=void 0,o={unversionedId:"build/clients/ledger-wallet/api",id:"build/clients/ledger-wallet/api",title:"Ledger Application API",description:"Reference Repository:",source:"@site/docs/build/clients/ledger-wallet/api.md",sourceDirName:"build/clients/ledger-wallet",slug:"/build/clients/ledger-wallet/api",permalink:"/build/clients/ledger-wallet/api",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"api",title:"Ledger Application API"},sidebar:"docs",previous:{title:"Ledger wallet",permalink:"/build/clients/ledger-wallet/"},next:{title:"ADPU commands",permalink:"/build/clients/ledger-wallet/commands"}},p={},s=[{value:"GET VERSION",id:"get-version",level:2},{value:"GET DEVICE ORIGIN PUBLIC KEY",id:"get-device-origin-public-key",level:2},{value:"GET ARCHETHIC ADDRESS",id:"get-archethic-address",level:2},{value:"SIGN TRANSACTION",id:"sign-transaction",level:2}],d={toc:s},u="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("admonition",{type:"success"},(0,i.kt)("p",{parentName:"admonition"},"Reference Repository:\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/tree/master/src"},"Archethic BOLOS App"))),(0,i.kt)("p",null,"[TOC]"),(0,i.kt)("h2",{id:"get-version"},"GET VERSION"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/getVersion.c"},"Source File: getVersion.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Get version returns the version of Device Application on Ledger")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Function Signature\n",(0,i.kt)("strong",{parentName:"p"},"handleGetVersion(uint8_t p1, uint8_t p2, uint8_t ","*","dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"p1")," -> APDU Parameter (Not Concerned in our context)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"p2")," -> APDU Parameter (Not Concerned in our context)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"*","dataBuffer")," -> NULL (Not required for getting version)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"dataLength")," -> Length of the dataBuffer")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"*","flags")," -> ",(0,i.kt)("strong",{parentName:"p"},"Modes (respond immediately(sync), process and respond(async))")),(0,i.kt)("p",{parentName:"li"},"There is a general buffer ",(0,i.kt)("strong",{parentName:"p"},"G_io_apdu_buffer")," (already in ledger SDK) for both input and output, we copy version to this buffer from ",(0,i.kt)("strong",{parentName:"p"},"APPVERSION")," which is defined in Makefile. As we only need integer, so we subtract '0' from the APPVERSION","[0 | 2 | 4]",".\nAPPVERSION and APPNAME are defined in the makefile of the project."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"io_exchange_with_code(SW_OK, 3)")),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre"},"- It adds status at the end of the Buffer (G_io_apdu_buffer).\n- **SW_OK** (0x9000) adds status code at the end of the buffer.\n- 3 is the length of the data in the buffer. \n")))))),(0,i.kt)("h2",{id:"get-device-origin-public-key"},"GET DEVICE ORIGIN PUBLIC KEY"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/getPublicKey.c"},"Source File: getPublicKey.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Gets the hardware(device origin) public key from ledger device.")),(0,i.kt)("p",null,"It returns the public key derived from the hardware ledger device seed (",(0,i.kt)("strong",{parentName:"p"},"HARDWARE SEED"),")."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"handleGetPublicKey(uint8_t p1, uint8_t p2, uint8_t ","*","dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"*","flags |= IO_ASYNCH_REPLY;"),"\nThis is added to get response from the user of HID. So needed to be set to the ASYNC."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"getOriginPublicKey(cx_ecfp_public_key_t ","*","publicKey)"),"\nThis calls ",(0,i.kt)("strong",null,"deriveArchethicKeyPair")," and return it.\n",(0,i.kt)("inlineCode",{parentName:"li"},"deriveArchethicKeyPair(CX_CURVE_SECP256K1, 650, 0xffff, 0, NULL, 0, NULL, publicKey);"))))),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("pre",{parentName:"admonition"},(0,i.kt)("code",{parentName:"pre"},"- First Param** is the curve type which is fixed in our case.\n- Second Param** is the coin type which is defined for the [UCO Token]()\n- 3rd Param** is for the account which account to get, which is defined as: \n - $account =$ Depends on the intended use of the key.\n - Currently fixed values: 0xFFFF for $o_{key}$, 0x0000 for a simple $w_{key}$\n- 4th Param** is address index \n- 5th Param** is masterSeed which is set to NULL because we need the device origin master seed.\n- 6th Param** is the master seed Length\n- 7th param** is the structure to store public key\n"))),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Function Signature\n",(0,i.kt)("strong",{parentName:"p"},"deriveArchethicKeyPair(cx_curve_t curve, uint32_t coin_type, uint32_t account, uint32_t address_index, uint8_t ","*","masterSeed, uint8_t masterSeedLen, cx_ecfp_private_key_t ","*","privateKey, cx_ecfp_public_key_t ","*","publicKey)")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"This function first checks the curve type of the ",(0,i.kt)("inlineCode",{parentName:"p"},"cx_curve_t"),", which sets the mode for the which it needs to perform operation.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Next depending upon the account type as defined in the specification (0xffff | 0x0000) it derives the private key from the masterseed."),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"When the account type is ",(0,i.kt)("inlineCode",{parentName:"li"},"0xffff")," then ",(0,i.kt)("strong",{parentName:"li"},"os_perso_derive_node_with_seed()")," function is called which derives the key from the ledger hardware origin key."),(0,i.kt)("li",{parentName:"ul"},"When account type is ",(0,i.kt)("inlineCode",{parentName:"li"},"0x0000")," then it derives the rawPrivateKey from the from ",(0,i.kt)("strong",{parentName:"li"},"archethic_derive_with_seed_key()")," function which derives the key as per provided params."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Next it checks if there is a ",(0,i.kt)("strong",{parentName:"p"},"publicKey")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"If that is the case then it derives the corresponding public key and generates from the walletPrivateKey"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If there is ",(0,i.kt)("strong",{parentName:"p"},"privateKey")," the it simple returns the ",(0,i.kt)("strong",{parentName:"p"},"privateKey"),".\n"))))),(0,i.kt)("admonition",{type:"success"},(0,i.kt)("p",{parentName:"admonition"},"As Public Key is in format: ",(0,i.kt)("strong",{parentName:"p"},"[curve_type, device_origin, 04xy]")),(0,i.kt)("p",{parentName:"admonition"},"02 -> Curve Type 04 -> Device Origin 04 -> uncompressed "),(0,i.kt)("p",{parentName:"admonition"},"X -> 52e77c79bea0f84e2d9c40356932fb0dd31688c23d6b6e9ac99d2869dc407692"),(0,i.kt)("p",{parentName:"admonition"},"Y -> 1e731fb84d0a094c6273fffed68147c381a273c83868cdeb9b81c7ec790c6d38")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Since raw private key is in ",(0,i.kt)("strong",{parentName:"p"},"bytes")," it needs to be converted which is done by the function cx_ecfp_init_private_key(curve, rawPrivateKey, 32, &walletPrivateKey).")),(0,i.kt)("h2",{id:"get-archethic-address"},"GET ARCHETHIC ADDRESS"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/getAddress.c"},"Source File: getAddress.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Return the Archethic address from the ledger including curve type in the start")),(0,i.kt)("p",null,"INS = 04\nLc = Data Length\naddress_index = 4 bytes (bip44)\newk",(0,i.kt)("sub",null,"aes")," = encrypted wallet key"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"handleGetAddress(uint8_t p1, uint8_t p2, uint8_t ","*","dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"First 4 bytes are address index hence we store then in ",(0,i.kt)("inlineCode",{parentName:"li"},"address_index")," from the data buffer (Converting them according to thier byte ordering.)"),(0,i.kt)("li",{parentName:"ul"},"We performECDH to get the secret pointX on the curve,",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"performECDH(uint8_t ","*","ephPublicKey, uint8_t ephPublicKeySize, uint8_t ","*","ecdhPointX)")),(0,i.kt)("li",{parentName:"ul"},"This derives an Archethic keypair first with function ",(0,i.kt)("inlineCode",{parentName:"li"},"deriveArchethicKeyPair")," and gets originPrivateKey"),(0,i.kt)("li",{parentName:"ul"},"The performs ecdh with function ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh")," with the originPrivateKey and takes publickey and finds the ecdhPointX "),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh(&originPrivateKey, CX_ECDH_X, ephPublicKey, ephPublicKeySize, ecdhPointX, 32);")),(0,i.kt)("li",{parentName:"ul"},"publicKey is taken from the ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")))),(0,i.kt)("li",{parentName:"ul"},"Now we decrypt the wallet with the ecdhPointX ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"decryptWallet(ecdhPointX, sizeof(ecdhPointX), dataBuffer, dataLength, g_wallet.encodedWallet, &g_wallet.walletLen);")),(0,i.kt)("li",{parentName:"ul"},"Since we have moved pointer we now only have ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," 16 bytes and enc($wk_{aes}$) 32bytes",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Inside Decrypt wallet we first calculate the ",(0,i.kt)("inlineCode",{parentName:"li"},"aes_key_iv_tag")," from the ecdhPointX by double hashing it from the sha512 function $sha512(sha512(ecdh","_","secret\\ or\\ PointX))$. "),(0,i.kt)("li",{parentName:"ul"},"we get 3 parts from above double hashing in 64 bytes which are",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"aes_key")," ","[32bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"iv")," ","[16bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"auth_seed")," ","[16bytes]"))),(0,i.kt)("li",{parentName:"ul"},"Now we get sha256 has of auth_seed in ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_key")),(0,i.kt)("li",{parentName:"ul"},"And now we do hmac(auth",(0,i.kt)("em",{parentName:"li"},"key , enc($wk"),"{aes}$)) and get ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," which are first 16 bytes from hmac result. $Rest\\ 16\\ bytes\\ are\\ reserved$"),(0,i.kt)("li",{parentName:"ul"},"Now we compare if auth_tag equals to auth_tag supplied in the ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")," ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"If if doesn't return ",(0,i.kt)("inlineCode",{parentName:"li"},"0xBADDECODE")),(0,i.kt)("li",{parentName:"ul"},"If it does",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Decrypt the wallet and return the ",(0,i.kt)("strong",{parentName:"li"},"encoded wallet")))))))),(0,i.kt)("li",{parentName:"ul"},"Now get the BIP44Paths from the encoded wallet according to specificaton",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"getBIP44Path(address_index, g_wallet.encodedWallet, g_wallet.walletLen, 0, g_bip44_path, &bip44pathlen);")),(0,i.kt)("li",{parentName:"ul"},"This does according to address index which were first 4 bytes of ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")),(0,i.kt)("li",{parentName:"ul"},"This returns the bip44Path in ",(0,i.kt)("inlineCode",{parentName:"li"},"char* string_bip_44")))),(0,i.kt)("li",{parentName:"ul"},"Now Generate Archethic Address from the Encoded Wallet and set as required. ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"generateArchethicAddress(uint8_t hash_type, uint32_t address_index, uint8_t ","*","encoded_wallet, uint8_t ","*","wallet_len, uint32_t sequence_no, uint8_t ","*","address, uint8_t ","*","address_len)")),(0,i.kt)("li",{parentName:"ul"},"For now only support hash_type ",(0,i.kt)("inlineCode",{parentName:"li"},"sha256")),(0,i.kt)("li",{parentName:"ul"},"Returns address in ",(0,i.kt)("inlineCode",{parentName:"li"},"uint8_t *address"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"It generates key from the encoded wallet and storesit in ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecfp_public_key_t")," structure"),(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"generateKeyFromWallet(address_index, encoded_wallet, wallet_len, sequence_no, &curve_type, NULL, &publicKey)")," ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Derives Archethic Keypair depending on the supplied params:",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"coin_type")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"account")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"curve")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"address_index")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"publicKey")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"privateKey"))))))))))))))),(0,i.kt)("h2",{id:"sign-transaction"},"SIGN TRANSACTION"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/signHash.c"},"Source File: signHash.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Returns APDU response as ",(0,i.kt)("inlineCode",{parentName:"p"},"Transaction Hash | Public Key | ASN_DER_SIGN")," in success")),(0,i.kt)("p",null,"INS = 08\naddress_index = 4 bytes (bip44)"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Funcion Signature:\n",(0,i.kt)("strong",{parentName:"li"},"handleSignHash(uint8_t p1, uint8_t p2, uint8_t *dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"First 4 bytes are address index hence we store then in ",(0,i.kt)("inlineCode",{parentName:"li"},"address_index")," from the data buffer (Converting them according to thier byte ordering.)"),(0,i.kt)("li",{parentName:"ul"},"Then we check for addresslength ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"if %2 == 0 then SHA256 or SHA3_256 and length = 34"),(0,i.kt)("li",{parentName:"ul"},"if %2 == 1 then SHA512 or SHA3_512 and length = 66"))),(0,i.kt)("li",{parentName:"ul"},"We copy the recieverAddress upto the addressLength in previous step to ",(0,i.kt)("inlineCode",{parentName:"li"},"g_tx.recieverAddr")),(0,i.kt)("li",{parentName:"ul"},"Then get next 8 bytes as amount and convert it to big endian",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Then for display convert it to float and set in ",(0,i.kt)("inlineCode",{parentName:"li"},"g_amount")," for display"))),(0,i.kt)("li",{parentName:"ul"},"performECDH to get ecdhPointX ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"We performECDH to get the secret pointX on the curve,",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"performECDH(uint8_t ","*","ephPublicKey, uint8_t ephPublicKeySize, uint8_t ","*","ecdhPointX)")),(0,i.kt)("li",{parentName:"ul"},"This derives an Archethic keypair first with function ",(0,i.kt)("inlineCode",{parentName:"li"},"deriveArchethicKeyPair")," and gets originPrivateKey"),(0,i.kt)("li",{parentName:"ul"},"The performs ecdh with function ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh")," with the originPrivateKey and takes publickey and finds the ecdhPointX "),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh(&originPrivateKey, CX_ECDH_X, ephPublicKey, ephPublicKeySize, ecdhPointX, 32);")))))),(0,i.kt)("li",{parentName:"ul"},"Now we decrypt the wallet with the ecdhPointX ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"decryptWallet(ecdhPointX, sizeof(ecdhPointX), dataBuffer, dataLength, g_wallet.encodedWallet, &g_wallet.walletLen);")),(0,i.kt)("li",{parentName:"ul"},"Since we have moved pointer we now only have ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," 16 bytes and enc($wk_{aes}$) 32bytes",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Inside Decrypt wallet we first calculate the ",(0,i.kt)("inlineCode",{parentName:"li"},"aes_key_iv_tag")," from the ecdhPointX by double hashing it from the sha512 function $sha512(sha512(ecdh","_","secret\\ or\\ PointX))$. "),(0,i.kt)("li",{parentName:"ul"},"we get 3 parts from above double hashing in 64 bytes which are",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"aes_key")," ","[32bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"iv")," ","[16bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"auth_seed")," ","[16bytes]"))),(0,i.kt)("li",{parentName:"ul"},"Now we get sha256 has of auth_seed in ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_key")),(0,i.kt)("li",{parentName:"ul"},"And now we do hmac(auth",(0,i.kt)("em",{parentName:"li"},"key , enc($wk"),"{aes}$)) and get ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," which are first 16 bytes from hmac result. $Rest\\ 16\\ bytes\\ are\\ reserved$"),(0,i.kt)("li",{parentName:"ul"},"Now we compare if auth_tag equals to auth_tag supplied in the ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")," ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"If if doesn't return ",(0,i.kt)("inlineCode",{parentName:"li"},"0xBADDECODE")),(0,i.kt)("li",{parentName:"ul"},"If it does",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Decrypt the wallet and return the ",(0,i.kt)("strong",{parentName:"li"},"encoded wallet")))))))))),(0,i.kt)("li",{parentName:"ul"},"Now Generate Archethic Address from the Encoded Wallet and set as required. ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"generateArchethicAddress(uint8_t hash_type, uint32_t address_index, uint8_t ","*","encoded_wallet, uint8_t ","*","wallet_len, uint32_t sequence_no, uint8_t ","*","address, uint8_t ","*","address_len)")),(0,i.kt)("li",{parentName:"ul"},"For now only support hash_type ",(0,i.kt)("inlineCode",{parentName:"li"},"sha256")),(0,i.kt)("li",{parentName:"ul"},"Returns address in ",(0,i.kt)("inlineCode",{parentName:"li"},"uint8_t *address")))),(0,i.kt)("li",{parentName:"ul"},"Now get the BIP44Paths from the encoded wallet according to specificaton",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"getBIP44Path(address_index, g_wallet.encodedWallet, g_wallet.walletLen, 0, g_bip44_path, &bip44pathlen);")),(0,i.kt)("li",{parentName:"ul"},"This does according to address index which were first 4 bytes of ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")),(0,i.kt)("li",{parentName:"ul"},"This returns the bip44Path in ",(0,i.kt)("inlineCode",{parentName:"li"},"char* string_bip_44")))),(0,i.kt)("li",{parentName:"ul"},"Next we calulate the transactionHash",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"getTransactionHash(uint8_t ","*","senderAddr, uint8_t senderAddrLen,\nuint8_t ","*","receiveAddr, uint8_t receiveAddrLen,\nuint8_t ","*","amount, uint8_t ","*","txHash, uint8_t ","*","txHashLen)")),(0,i.kt)("li",{parentName:"ul"},"Format for Transaction Hash Generation",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"tx_version | senderAddr | tx_type | code_size | content_size | ownership_length | total_uco_transfers | recieverAddr | amount | total_token_transfers | recipients"))),(0,i.kt)("li",{parentName:"ul"},"We apply ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_hash_sha256()")," and return the hash in ",(0,i.kt)("inlineCode",{parentName:"li"},"txHash")))),(0,i.kt)("li",{parentName:"ul"},"We prompt user in GUI to approve the transaction"),(0,i.kt)("li",{parentName:"ul"},"Once approve we performECDSA on the transactionHash",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"performECDSA(uint8_t ","*","txHash, uint8_t txHashLen, uint32_t address_index, uint8_t ","*","encoded_wallet, uint8_t ","*","wallet_len, uint8_t sequence_no, uint8_t ","*","asn_sign, uint8_t ","*","sign_len)")),(0,i.kt)("li",{parentName:"ul"},"We generateKey from Wallet Similar to when getting address and give back ",(0,i.kt)("inlineCode",{parentName:"li"},"publicKey")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"privateKey")),(0,i.kt)("li",{parentName:"ul"},"We copy curve_type on asn_sign buffer"),(0,i.kt)("li",{parentName:"ul"},"We set 0 to signify onchain wallet"),(0,i.kt)("li",{parentName:"ul"},"We copy the publicKey on asn_sign buffer"),(0,i.kt)("li",{parentName:"ul"},"We sign the txnHash with the privateKet and append signature to asn_sign buffer "),(0,i.kt)("li",{parentName:"ul"},"We increase sign_len by publicKey length + 2 bytes"))),(0,i.kt)("li",{parentName:"ul"},"Once signature is performed we copy the txnHash to the ",(0,i.kt)("inlineCode",{parentName:"li"},"G_io_apdu_buffer")),(0,i.kt)("li",{parentName:"ul"},"Then, we copy the contents of encodedWallet on which we have overwritten the signature to the ",(0,i.kt)("inlineCode",{parentName:"li"},"G_io_apdu_buffer")),(0,i.kt)("li",{parentName:"ul"},"And we return the APDU with SW_OK and total length as ",(0,i.kt)("inlineCode",{parentName:"li"},"txnhash length + walletLen"))))))}c.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7611],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>m});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var p=a.createContext({}),s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=s(n),h=i,m=u["".concat(p,".").concat(h)]||u[h]||c[h]||r;return n?a.createElement(m,l(l({ref:t},d),{},{components:n})):a.createElement(m,l({ref:t},d))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=h;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>s});var a=n(87462),i=(n(67294),n(3905));n(8209);const r={id:"api",title:"Ledger Application API"},l=void 0,o={unversionedId:"build/clients/ledger-wallet/api",id:"build/clients/ledger-wallet/api",title:"Ledger Application API",description:"Reference Repository:",source:"@site/docs/build/clients/ledger-wallet/api.md",sourceDirName:"build/clients/ledger-wallet",slug:"/build/clients/ledger-wallet/api",permalink:"/build/clients/ledger-wallet/api",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"api",title:"Ledger Application API"},sidebar:"docs",previous:{title:"Ledger wallet",permalink:"/build/clients/ledger-wallet/"},next:{title:"ADPU commands",permalink:"/build/clients/ledger-wallet/commands"}},p={},s=[{value:"GET VERSION",id:"get-version",level:2},{value:"GET DEVICE ORIGIN PUBLIC KEY",id:"get-device-origin-public-key",level:2},{value:"GET ARCHETHIC ADDRESS",id:"get-archethic-address",level:2},{value:"SIGN TRANSACTION",id:"sign-transaction",level:2}],d={toc:s},u="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("admonition",{type:"success"},(0,i.kt)("p",{parentName:"admonition"},"Reference Repository:\n",(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/tree/master/src"},"Archethic BOLOS App"))),(0,i.kt)("p",null,"[TOC]"),(0,i.kt)("h2",{id:"get-version"},"GET VERSION"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/getVersion.c"},"Source File: getVersion.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Get version returns the version of Device Application on Ledger")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Function Signature\n",(0,i.kt)("strong",{parentName:"p"},"handleGetVersion(uint8_t p1, uint8_t p2, uint8_t ","*","dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"p1")," -> APDU Parameter (Not Concerned in our context)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"p2")," -> APDU Parameter (Not Concerned in our context)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"*","dataBuffer")," -> NULL (Not required for getting version)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"dataLength")," -> Length of the dataBuffer")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"*","flags")," -> ",(0,i.kt)("strong",{parentName:"p"},"Modes (respond immediately(sync), process and respond(async))")),(0,i.kt)("p",{parentName:"li"},"There is a general buffer ",(0,i.kt)("strong",{parentName:"p"},"G_io_apdu_buffer")," (already in ledger SDK) for both input and output, we copy version to this buffer from ",(0,i.kt)("strong",{parentName:"p"},"APPVERSION")," which is defined in Makefile. As we only need integer, so we subtract '0' from the APPVERSION","[0 | 2 | 4]",".\nAPPVERSION and APPNAME are defined in the makefile of the project."),(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"io_exchange_with_code(SW_OK, 3)")),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre"},"- It adds status at the end of the Buffer (G_io_apdu_buffer).\n- **SW_OK** (0x9000) adds status code at the end of the buffer.\n- 3 is the length of the data in the buffer. \n")))))),(0,i.kt)("h2",{id:"get-device-origin-public-key"},"GET DEVICE ORIGIN PUBLIC KEY"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/getPublicKey.c"},"Source File: getPublicKey.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Gets the hardware(device origin) public key from ledger device.")),(0,i.kt)("p",null,"It returns the public key derived from the hardware ledger device seed (",(0,i.kt)("strong",{parentName:"p"},"HARDWARE SEED"),")."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"handleGetPublicKey(uint8_t p1, uint8_t p2, uint8_t ","*","dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"*","flags |= IO_ASYNCH_REPLY;"),"\nThis is added to get response from the user of HID. So needed to be set to the ASYNC."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"getOriginPublicKey(cx_ecfp_public_key_t ","*","publicKey)"),"\nThis calls ",(0,i.kt)("strong",null,"deriveArchethicKeyPair")," and return it.\n",(0,i.kt)("inlineCode",{parentName:"li"},"deriveArchethicKeyPair(CX_CURVE_SECP256K1, 650, 0xffff, 0, NULL, 0, NULL, publicKey);"))))),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("pre",{parentName:"admonition"},(0,i.kt)("code",{parentName:"pre"},"- First Param** is the curve type which is fixed in our case.\n- Second Param** is the coin type which is defined for the [UCO Token]()\n- 3rd Param** is for the account which account to get, which is defined as: \n - $account =$ Depends on the intended use of the key.\n - Currently fixed values: 0xFFFF for $o_{key}$, 0x0000 for a simple $w_{key}$\n- 4th Param** is address index \n- 5th Param** is masterSeed which is set to NULL because we need the device origin master seed.\n- 6th Param** is the master seed Length\n- 7th param** is the structure to store public key\n"))),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Function Signature\n",(0,i.kt)("strong",{parentName:"p"},"deriveArchethicKeyPair(cx_curve_t curve, uint32_t coin_type, uint32_t account, uint32_t address_index, uint8_t ","*","masterSeed, uint8_t masterSeedLen, cx_ecfp_private_key_t ","*","privateKey, cx_ecfp_public_key_t ","*","publicKey)")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"This function first checks the curve type of the ",(0,i.kt)("inlineCode",{parentName:"p"},"cx_curve_t"),", which sets the mode for the which it needs to perform operation.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Next depending upon the account type as defined in the specification (0xffff | 0x0000) it derives the private key from the masterseed."),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"When the account type is ",(0,i.kt)("inlineCode",{parentName:"li"},"0xffff")," then ",(0,i.kt)("strong",{parentName:"li"},"os_perso_derive_node_with_seed()")," function is called which derives the key from the ledger hardware origin key."),(0,i.kt)("li",{parentName:"ul"},"When account type is ",(0,i.kt)("inlineCode",{parentName:"li"},"0x0000")," then it derives the rawPrivateKey from the from ",(0,i.kt)("strong",{parentName:"li"},"archethic_derive_with_seed_key()")," function which derives the key as per provided params."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Next it checks if there is a ",(0,i.kt)("strong",{parentName:"p"},"publicKey")),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"If that is the case then it derives the corresponding public key and generates from the walletPrivateKey"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If there is ",(0,i.kt)("strong",{parentName:"p"},"privateKey")," the it simple returns the ",(0,i.kt)("strong",{parentName:"p"},"privateKey"),".\n"))))),(0,i.kt)("admonition",{type:"success"},(0,i.kt)("p",{parentName:"admonition"},"As Public Key is in format: ",(0,i.kt)("strong",{parentName:"p"},"[curve_type, device_origin, 04xy]")),(0,i.kt)("p",{parentName:"admonition"},"02 -> Curve Type 04 -> Device Origin 04 -> uncompressed "),(0,i.kt)("p",{parentName:"admonition"},"X -> 52e77c79bea0f84e2d9c40356932fb0dd31688c23d6b6e9ac99d2869dc407692"),(0,i.kt)("p",{parentName:"admonition"},"Y -> 1e731fb84d0a094c6273fffed68147c381a273c83868cdeb9b81c7ec790c6d38")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Since raw private key is in ",(0,i.kt)("strong",{parentName:"p"},"bytes")," it needs to be converted which is done by the function cx_ecfp_init_private_key(curve, rawPrivateKey, 32, &walletPrivateKey).")),(0,i.kt)("h2",{id:"get-archethic-address"},"GET ARCHETHIC ADDRESS"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/getAddress.c"},"Source File: getAddress.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Return the Archethic address from the ledger including curve type in the start")),(0,i.kt)("p",null,"INS = 04\nLc = Data Length\naddress_index = 4 bytes (bip44)\newk",(0,i.kt)("sub",null,"aes")," = encrypted wallet key"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"handleGetAddress(uint8_t p1, uint8_t p2, uint8_t ","*","dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"First 4 bytes are address index hence we store then in ",(0,i.kt)("inlineCode",{parentName:"li"},"address_index")," from the data buffer (Converting them according to thier byte ordering.)"),(0,i.kt)("li",{parentName:"ul"},"We performECDH to get the secret pointX on the curve,",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"performECDH(uint8_t ","*","ephPublicKey, uint8_t ephPublicKeySize, uint8_t ","*","ecdhPointX)")),(0,i.kt)("li",{parentName:"ul"},"This derives an Archethic keypair first with function ",(0,i.kt)("inlineCode",{parentName:"li"},"deriveArchethicKeyPair")," and gets originPrivateKey"),(0,i.kt)("li",{parentName:"ul"},"The performs ecdh with function ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh")," with the originPrivateKey and takes publickey and finds the ecdhPointX "),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh(&originPrivateKey, CX_ECDH_X, ephPublicKey, ephPublicKeySize, ecdhPointX, 32);")),(0,i.kt)("li",{parentName:"ul"},"publicKey is taken from the ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")))),(0,i.kt)("li",{parentName:"ul"},"Now we decrypt the wallet with the ecdhPointX ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"decryptWallet(ecdhPointX, sizeof(ecdhPointX), dataBuffer, dataLength, g_wallet.encodedWallet, &g_wallet.walletLen);")),(0,i.kt)("li",{parentName:"ul"},"Since we have moved pointer we now only have ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," 16 bytes and enc($wk_{aes}$) 32bytes",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Inside Decrypt wallet we first calculate the ",(0,i.kt)("inlineCode",{parentName:"li"},"aes_key_iv_tag")," from the ecdhPointX by double hashing it from the sha512 function $sha512(sha512(ecdh","_","secret\\ or\\ PointX))$. "),(0,i.kt)("li",{parentName:"ul"},"we get 3 parts from above double hashing in 64 bytes which are",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"aes_key")," ","[32bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"iv")," ","[16bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"auth_seed")," ","[16bytes]"))),(0,i.kt)("li",{parentName:"ul"},"Now we get sha256 has of auth_seed in ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_key")),(0,i.kt)("li",{parentName:"ul"},"And now we do hmac(auth",(0,i.kt)("em",{parentName:"li"},"key , enc($wk"),"{aes}$)) and get ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," which are first 16 bytes from hmac result. $Rest\\ 16\\ bytes\\ are\\ reserved$"),(0,i.kt)("li",{parentName:"ul"},"Now we compare if auth_tag equals to auth_tag supplied in the ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")," ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"If if doesn't return ",(0,i.kt)("inlineCode",{parentName:"li"},"0xBADDECODE")),(0,i.kt)("li",{parentName:"ul"},"If it does",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Decrypt the wallet and return the ",(0,i.kt)("strong",{parentName:"li"},"encoded wallet")))))))),(0,i.kt)("li",{parentName:"ul"},"Now get the BIP44Paths from the encoded wallet according to specificaton",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"getBIP44Path(address_index, g_wallet.encodedWallet, g_wallet.walletLen, 0, g_bip44_path, &bip44pathlen);")),(0,i.kt)("li",{parentName:"ul"},"This does according to address index which were first 4 bytes of ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")),(0,i.kt)("li",{parentName:"ul"},"This returns the bip44Path in ",(0,i.kt)("inlineCode",{parentName:"li"},"char* string_bip_44")))),(0,i.kt)("li",{parentName:"ul"},"Now Generate Archethic Address from the Encoded Wallet and set as required. ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"generateArchethicAddress(uint8_t hash_type, uint32_t address_index, uint8_t ","*","encoded_wallet, uint8_t ","*","wallet_len, uint32_t sequence_no, uint8_t ","*","address, uint8_t ","*","address_len)")),(0,i.kt)("li",{parentName:"ul"},"For now only support hash_type ",(0,i.kt)("inlineCode",{parentName:"li"},"sha256")),(0,i.kt)("li",{parentName:"ul"},"Returns address in ",(0,i.kt)("inlineCode",{parentName:"li"},"uint8_t *address"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"It generates key from the encoded wallet and storesit in ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecfp_public_key_t")," structure"),(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"generateKeyFromWallet(address_index, encoded_wallet, wallet_len, sequence_no, &curve_type, NULL, &publicKey)")," ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Derives Archethic Keypair depending on the supplied params:",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"coin_type")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"account")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"curve")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"address_index")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"publicKey")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"privateKey"))))))))))))))),(0,i.kt)("h2",{id:"sign-transaction"},"SIGN TRANSACTION"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-ledger/blob/master/src/signHash.c"},"Source File: signHash.c")),(0,i.kt)("admonition",{type:"info"},(0,i.kt)("p",{parentName:"admonition"},"Returns APDU response as ",(0,i.kt)("inlineCode",{parentName:"p"},"Transaction Hash | Public Key | ASN_DER_SIGN")," in success")),(0,i.kt)("p",null,"INS = 08\naddress_index = 4 bytes (bip44)"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Funcion Signature:\n",(0,i.kt)("strong",{parentName:"li"},"handleSignHash(uint8_t p1, uint8_t p2, uint8_t *dataBuffer, uint16_t dataLength, volatile unsigned int ","*","flags)"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"First 4 bytes are address index hence we store then in ",(0,i.kt)("inlineCode",{parentName:"li"},"address_index")," from the data buffer (Converting them according to thier byte ordering.)"),(0,i.kt)("li",{parentName:"ul"},"Then we check for addresslength ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"if %2 == 0 then SHA256 or SHA3_256 and length = 34"),(0,i.kt)("li",{parentName:"ul"},"if %2 == 1 then SHA512 or SHA3_512 and length = 66"))),(0,i.kt)("li",{parentName:"ul"},"We copy the recieverAddress upto the addressLength in previous step to ",(0,i.kt)("inlineCode",{parentName:"li"},"g_tx.recieverAddr")),(0,i.kt)("li",{parentName:"ul"},"Then get next 8 bytes as amount and convert it to big endian",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Then for display convert it to float and set in ",(0,i.kt)("inlineCode",{parentName:"li"},"g_amount")," for display"))),(0,i.kt)("li",{parentName:"ul"},"performECDH to get ecdhPointX ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"We performECDH to get the secret pointX on the curve,",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"performECDH(uint8_t ","*","ephPublicKey, uint8_t ephPublicKeySize, uint8_t ","*","ecdhPointX)")),(0,i.kt)("li",{parentName:"ul"},"This derives an Archethic keypair first with function ",(0,i.kt)("inlineCode",{parentName:"li"},"deriveArchethicKeyPair")," and gets originPrivateKey"),(0,i.kt)("li",{parentName:"ul"},"The performs ecdh with function ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh")," with the originPrivateKey and takes publickey and finds the ecdhPointX "),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"cx_ecdh(&originPrivateKey, CX_ECDH_X, ephPublicKey, ephPublicKeySize, ecdhPointX, 32);")))))),(0,i.kt)("li",{parentName:"ul"},"Now we decrypt the wallet with the ecdhPointX ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"decryptWallet(ecdhPointX, sizeof(ecdhPointX), dataBuffer, dataLength, g_wallet.encodedWallet, &g_wallet.walletLen);")),(0,i.kt)("li",{parentName:"ul"},"Since we have moved pointer we now only have ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," 16 bytes and enc($wk_{aes}$) 32bytes",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Inside Decrypt wallet we first calculate the ",(0,i.kt)("inlineCode",{parentName:"li"},"aes_key_iv_tag")," from the ecdhPointX by double hashing it from the sha512 function $sha512(sha512(ecdh","_","secret\\ or\\ PointX))$. "),(0,i.kt)("li",{parentName:"ul"},"we get 3 parts from above double hashing in 64 bytes which are",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"aes_key")," ","[32bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"iv")," ","[16bytes]"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"auth_seed")," ","[16bytes]"))),(0,i.kt)("li",{parentName:"ul"},"Now we get sha256 has of auth_seed in ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_key")),(0,i.kt)("li",{parentName:"ul"},"And now we do hmac(auth",(0,i.kt)("em",{parentName:"li"},"key , enc($wk"),"{aes}$)) and get ",(0,i.kt)("inlineCode",{parentName:"li"},"auth_tag")," which are first 16 bytes from hmac result. $Rest\\ 16\\ bytes\\ are\\ reserved$"),(0,i.kt)("li",{parentName:"ul"},"Now we compare if auth_tag equals to auth_tag supplied in the ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")," ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"If if doesn't return ",(0,i.kt)("inlineCode",{parentName:"li"},"0xBADDECODE")),(0,i.kt)("li",{parentName:"ul"},"If it does",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Decrypt the wallet and return the ",(0,i.kt)("strong",{parentName:"li"},"encoded wallet")))))))))),(0,i.kt)("li",{parentName:"ul"},"Now Generate Archethic Address from the Encoded Wallet and set as required. ",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"generateArchethicAddress(uint8_t hash_type, uint32_t address_index, uint8_t ","*","encoded_wallet, uint8_t ","*","wallet_len, uint32_t sequence_no, uint8_t ","*","address, uint8_t ","*","address_len)")),(0,i.kt)("li",{parentName:"ul"},"For now only support hash_type ",(0,i.kt)("inlineCode",{parentName:"li"},"sha256")),(0,i.kt)("li",{parentName:"ul"},"Returns address in ",(0,i.kt)("inlineCode",{parentName:"li"},"uint8_t *address")))),(0,i.kt)("li",{parentName:"ul"},"Now get the BIP44Paths from the encoded wallet according to specificaton",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Fn Signature ",(0,i.kt)("strong",{parentName:"li"},"getBIP44Path(address_index, g_wallet.encodedWallet, g_wallet.walletLen, 0, g_bip44_path, &bip44pathlen);")),(0,i.kt)("li",{parentName:"ul"},"This does according to address index which were first 4 bytes of ",(0,i.kt)("inlineCode",{parentName:"li"},"dataBuffer")),(0,i.kt)("li",{parentName:"ul"},"This returns the bip44Path in ",(0,i.kt)("inlineCode",{parentName:"li"},"char* string_bip_44")))),(0,i.kt)("li",{parentName:"ul"},"Next we calulate the transactionHash",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"getTransactionHash(uint8_t ","*","senderAddr, uint8_t senderAddrLen,\nuint8_t ","*","receiveAddr, uint8_t receiveAddrLen,\nuint8_t ","*","amount, uint8_t ","*","txHash, uint8_t ","*","txHashLen)")),(0,i.kt)("li",{parentName:"ul"},"Format for Transaction Hash Generation",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"tx_version | senderAddr | tx_type | code_size | content_size | ownership_length | total_uco_transfers | recieverAddr | amount | total_token_transfers | recipients"))),(0,i.kt)("li",{parentName:"ul"},"We apply ",(0,i.kt)("inlineCode",{parentName:"li"},"cx_hash_sha256()")," and return the hash in ",(0,i.kt)("inlineCode",{parentName:"li"},"txHash")))),(0,i.kt)("li",{parentName:"ul"},"We prompt user in GUI to approve the transaction"),(0,i.kt)("li",{parentName:"ul"},"Once approve we performECDSA on the transactionHash",(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},"Function Signature\n",(0,i.kt)("strong",{parentName:"li"},"performECDSA(uint8_t ","*","txHash, uint8_t txHashLen, uint32_t address_index, uint8_t ","*","encoded_wallet, uint8_t ","*","wallet_len, uint8_t sequence_no, uint8_t ","*","asn_sign, uint8_t ","*","sign_len)")),(0,i.kt)("li",{parentName:"ul"},"We generateKey from Wallet Similar to when getting address and give back ",(0,i.kt)("inlineCode",{parentName:"li"},"publicKey")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"privateKey")),(0,i.kt)("li",{parentName:"ul"},"We copy curve_type on asn_sign buffer"),(0,i.kt)("li",{parentName:"ul"},"We set 0 to signify onchain wallet"),(0,i.kt)("li",{parentName:"ul"},"We copy the publicKey on asn_sign buffer"),(0,i.kt)("li",{parentName:"ul"},"We sign the txnHash with the privateKet and append signature to asn_sign buffer "),(0,i.kt)("li",{parentName:"ul"},"We increase sign_len by publicKey length + 2 bytes"))),(0,i.kt)("li",{parentName:"ul"},"Once signature is performed we copy the txnHash to the ",(0,i.kt)("inlineCode",{parentName:"li"},"G_io_apdu_buffer")),(0,i.kt)("li",{parentName:"ul"},"Then, we copy the contents of encodedWallet on which we have overwritten the signature to the ",(0,i.kt)("inlineCode",{parentName:"li"},"G_io_apdu_buffer")),(0,i.kt)("li",{parentName:"ul"},"And we return the APDU with SW_OK and total length as ",(0,i.kt)("inlineCode",{parentName:"li"},"txnhash length + walletLen"))))))}c.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/0946372c.7596a615.js b/assets/js/0946372c.638b0c35.js similarity index 98% rename from assets/js/0946372c.7596a615.js rename to assets/js/0946372c.638b0c35.js index cd99b189c..bbbd5252c 100644 --- a/assets/js/0946372c.7596a615.js +++ b/assets/js/0946372c.638b0c35.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7790],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),c=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(d.Provider,{value:t},e.children)},p="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=c(n),m=r,h=p["".concat(d,".").concat(m)]||p[m]||s[m]||l;return n?a.createElement(h,i(i({ref:t},u),{},{components:n})):a.createElement(h,i({ref:t},u))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[p]="string"==typeof e?e:r,i[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));n(8209);const l={id:"account",title:"Account"},i=void 0,o={unversionedId:"build/core/account",id:"build/core/account",title:"Account",description:"Archethic node provides a high level and fast access to an account assets using primarily memory tables with ETS.",source:"@site/docs/build/core/account.md",sourceDirName:"build/core",slug:"/build/core/account",permalink:"/build/core/account",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"account",title:"Account"},sidebar:"docs",previous:{title:"Core development",permalink:"/build/core/"},next:{title:"BeaconChain",permalink:"/build/core/beacon-chain/"}},d={},c=[{value:"UCO",id:"uco",level:2},{value:"Ledger",id:"ledger",level:3},{value:"Index",id:"index",level:3},{value:"Token",id:"token",level:2},{value:"Ledger",id:"ledger-1",level:3},{value:"Index",id:"index-1",level:3},{value:"Loading",id:"loading",level:2}],u={toc:c},p="wrapper";function s(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Archethic node provides a high level and fast access to an account assets using primarily memory tables with ETS."),(0,r.kt)("p",null,"This gives us faster computation and data retrieval to asserts balances and UTXO loading."),(0,r.kt)("h2",{id:"uco"},"UCO"),(0,r.kt)("p",null,"A memory table is defined to list of the UCO available for a given address"),(0,r.kt)("p",null,"Few functions are provided to be able to query this table in order to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"get the UCO balance "),(0,r.kt)("li",{parentName:"ul"},"get the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"get the total inputs (spent and unspent)"),(0,r.kt)("li",{parentName:"ul"},"spend all the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"add new UCO UTXO")),(0,r.kt)("h3",{id:"ledger"},"Ledger"),(0,r.kt)("p",null,"Each entry is indexed by a tuple recipient/sender to identify uniquely an UTXO"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient, Sender"),(0,r.kt)("th",{parentName:"tr",align:null},"Amount"),(0,r.kt)("th",{parentName:"tr",align:null},"Spent ?"),(0,r.kt)("th",{parentName:"tr",align:null},"Date")))),(0,r.kt)("h3",{id:"index"},"Index"),(0,r.kt)("p",null,"An index table is provided to be able to retrieve all the sender UTXOs for a given recipient"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient"),(0,r.kt)("th",{parentName:"tr",align:null},"Sender")))),(0,r.kt)("h2",{id:"token"},"Token"),(0,r.kt)("p",null,"A memory table is defined to list al the token available for a given address"),(0,r.kt)("p",null,"Few functions are provided to be able to query this table in order to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"get the token balance s"),(0,r.kt)("li",{parentName:"ul"},"get the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"get the total inputs (spent and unspent)"),(0,r.kt)("li",{parentName:"ul"},"spend all the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"add new token UTXO")),(0,r.kt)("h3",{id:"ledger-1"},"Ledger"),(0,r.kt)("p",null,"Each entry is indexed by a tuple recipient/sender/token address to identify uniquely an UTXO"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient, Sender, Token"),(0,r.kt)("th",{parentName:"tr",align:null},"Amount"),(0,r.kt)("th",{parentName:"tr",align:null},"Spent ?"),(0,r.kt)("th",{parentName:"tr",align:null},"Date")))),(0,r.kt)("h3",{id:"index-1"},"Index"),(0,r.kt)("p",null,"An index table is provided to be able to retrieve all the sender UTXOs for a given recipient"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient"),(0,r.kt)("th",{parentName:"tr",align:null},"Sender"),(0,r.kt)("th",{parentName:"tr",align:null},"Token address")))),(0,r.kt)("h2",{id:"loading"},"Loading"),(0,r.kt)("p",null,"When a transaction replicated, the storage nodes in charge of storing the new transaction (chain replicas or recipient replicas) will load the transaction in those tables to index the UTXO and build in memory view."),(0,r.kt)("p",null,"The same goes when a node is bootstraping, a process will load all the transactions from the database to load them into those tables."))}s.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7790],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>h});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=a.createContext({}),c=function(e){var t=a.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return a.createElement(d.Provider,{value:t},e.children)},p="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,d=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=c(n),m=r,h=p["".concat(d,".").concat(m)]||p[m]||s[m]||l;return n?a.createElement(h,i(i({ref:t},u),{},{components:n})):a.createElement(h,i({ref:t},u))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,i=new Array(l);i[0]=m;var o={};for(var d in t)hasOwnProperty.call(t,d)&&(o[d]=t[d]);o.originalType=e,o[p]="string"==typeof e?e:r,i[1]=o;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>o,toc:()=>c});var a=n(87462),r=(n(67294),n(3905));n(8209);const l={id:"account",title:"Account"},i=void 0,o={unversionedId:"build/core/account",id:"build/core/account",title:"Account",description:"Archethic node provides a high level and fast access to an account assets using primarily memory tables with ETS.",source:"@site/docs/build/core/account.md",sourceDirName:"build/core",slug:"/build/core/account",permalink:"/build/core/account",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"account",title:"Account"},sidebar:"docs",previous:{title:"Core development",permalink:"/build/core/"},next:{title:"BeaconChain",permalink:"/build/core/beacon-chain/"}},d={},c=[{value:"UCO",id:"uco",level:2},{value:"Ledger",id:"ledger",level:3},{value:"Index",id:"index",level:3},{value:"Token",id:"token",level:2},{value:"Ledger",id:"ledger-1",level:3},{value:"Index",id:"index-1",level:3},{value:"Loading",id:"loading",level:2}],u={toc:c},p="wrapper";function s(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,a.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Archethic node provides a high level and fast access to an account assets using primarily memory tables with ETS."),(0,r.kt)("p",null,"This gives us faster computation and data retrieval to asserts balances and UTXO loading."),(0,r.kt)("h2",{id:"uco"},"UCO"),(0,r.kt)("p",null,"A memory table is defined to list of the UCO available for a given address"),(0,r.kt)("p",null,"Few functions are provided to be able to query this table in order to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"get the UCO balance "),(0,r.kt)("li",{parentName:"ul"},"get the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"get the total inputs (spent and unspent)"),(0,r.kt)("li",{parentName:"ul"},"spend all the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"add new UCO UTXO")),(0,r.kt)("h3",{id:"ledger"},"Ledger"),(0,r.kt)("p",null,"Each entry is indexed by a tuple recipient/sender to identify uniquely an UTXO"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient, Sender"),(0,r.kt)("th",{parentName:"tr",align:null},"Amount"),(0,r.kt)("th",{parentName:"tr",align:null},"Spent ?"),(0,r.kt)("th",{parentName:"tr",align:null},"Date")))),(0,r.kt)("h3",{id:"index"},"Index"),(0,r.kt)("p",null,"An index table is provided to be able to retrieve all the sender UTXOs for a given recipient"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient"),(0,r.kt)("th",{parentName:"tr",align:null},"Sender")))),(0,r.kt)("h2",{id:"token"},"Token"),(0,r.kt)("p",null,"A memory table is defined to list al the token available for a given address"),(0,r.kt)("p",null,"Few functions are provided to be able to query this table in order to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"get the token balance s"),(0,r.kt)("li",{parentName:"ul"},"get the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"get the total inputs (spent and unspent)"),(0,r.kt)("li",{parentName:"ul"},"spend all the UTXOs"),(0,r.kt)("li",{parentName:"ul"},"add new token UTXO")),(0,r.kt)("h3",{id:"ledger-1"},"Ledger"),(0,r.kt)("p",null,"Each entry is indexed by a tuple recipient/sender/token address to identify uniquely an UTXO"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient, Sender, Token"),(0,r.kt)("th",{parentName:"tr",align:null},"Amount"),(0,r.kt)("th",{parentName:"tr",align:null},"Spent ?"),(0,r.kt)("th",{parentName:"tr",align:null},"Date")))),(0,r.kt)("h3",{id:"index-1"},"Index"),(0,r.kt)("p",null,"An index table is provided to be able to retrieve all the sender UTXOs for a given recipient"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Recipient"),(0,r.kt)("th",{parentName:"tr",align:null},"Sender"),(0,r.kt)("th",{parentName:"tr",align:null},"Token address")))),(0,r.kt)("h2",{id:"loading"},"Loading"),(0,r.kt)("p",null,"When a transaction replicated, the storage nodes in charge of storing the new transaction (chain replicas or recipient replicas) will load the transaction in those tables to index the UTXO and build in memory view."),(0,r.kt)("p",null,"The same goes when a node is bootstraping, a process will load all the transactions from the database to load them into those tables."))}s.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/0c928027.f4050f98.js b/assets/js/0c928027.5bd802e6.js similarity index 98% rename from assets/js/0c928027.f4050f98.js rename to assets/js/0c928027.5bd802e6.js index f648f435c..7dc507e6e 100644 --- a/assets/js/0c928027.f4050f98.js +++ b/assets/js/0c928027.5bd802e6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7157],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>k});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(t),m=o,k=u["".concat(s,".").concat(m)]||u[m]||d[m]||r;return t?a.createElement(k,i(i({ref:n},c),{},{components:t})):a.createElement(k,i({ref:n},c))}));function k(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,i=new Array(r);i[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var a=t(87462),o=(t(67294),t(3905));t(8209);const r={id:"token",title:"Tokens"},i=void 0,l={unversionedId:"learn/token",id:"learn/token",title:"Tokens",description:"Tokens is an important feature on Archethic.",source:"@site/docs/learn/token.md",sourceDirName:"learn",slug:"/learn/token",permalink:"/learn/token",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"token",title:"Tokens"},sidebar:"docs",previous:{title:"Replication attestation",permalink:"/learn/sharding/replication-attestation"},next:{title:"Participate",permalink:"/category/participate"}},s={},p=[{value:"Native",id:"native",level:2},{value:"Standardized",id:"standardized",level:2},{value:"Creation",id:"creation",level:2},{value:"Fungible",id:"fungible",level:3},{value:"Non-fungible",id:"non-fungible",level:3},{value:"Resupply fungible tokens (AEIP-18)",id:"resupply-fungible-tokens-aeip-18",level:2},{value:"Recipients (AEIP-19)",id:"recipients-aeip-19",level:2},{value:"Transfer",id:"transfer",level:2}],c={toc:p},u="wrapper";function d(e){let{components:n,...t}=e;return(0,o.kt)(u,(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Tokens is an important feature on Archethic.\nNowadays, our world is transforming towards digitalisation and tokenization with new use cases and trends (royalties, collection, proof of ownerships, etc.)"),(0,o.kt)("p",null,"Archethic allows users to create and transaction with an unlimited-defined (custom) token natively."),(0,o.kt)("h2",{id:"native"},"Native"),(0,o.kt)("p",null,"Archethic tokens are considered as native as for developers, there is no need to create smart contract to mint or transfer tokens."),(0,o.kt)("p",null,"The transaction's structure supports - by design, asn extension of the ledger model (more than UCO-only transaction)"),(0,o.kt)("p",null,"All the layer of complexity have been removed to make them efficient and performant."),(0,o.kt)("p",null,"Because of this, the transfer of tokens is as simple as a transfer of UCO (just UTXO), making it fast and cheap."),(0,o.kt)("h2",{id:"standardized"},"Standardized"),(0,o.kt)("p",null,"Archethic's tokens are also unified through specifications to help implementers, developers and users to have a clear understanding of their definition."),(0,o.kt)("p",null,"The complete specification is composed of many AEIPs:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/archethic-foundation/aeip/blob/main/AEIP-02.md"},"AEIP-02 - Tokens standard")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/archethic-foundation/aeip/blob/main/AEIP-18.md"},"AEIP-18 - Tokens resupply")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/archethic-foundation/aeip/blob/main/AEIP-19.md"},"AEIP-19 - Tokens minting's recipients"))),(0,o.kt)("h2",{id:"creation"},"Creation"),(0,o.kt)("p",null,"In order to create a token, you have to:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"set the transaction's type to: ",(0,o.kt)("inlineCode",{parentName:"li"},"token")),(0,o.kt)("li",{parentName:"ol"},"define in the transaction's content the token's json definition")),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-node/blob/develop/priv/json-schemas/token-core.json"},"The JSON Schema is available on GitHub")),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"As everything on Archethic, it is a good practice to create a new transaction chain for this token only.")),(0,o.kt)("h3",{id:"fungible"},"Fungible"),(0,o.kt)("p",null,"Example of a token that doesn't allow minting (may never be resupplied):"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "supply": 100000000000, // 1000 tokens\n "decimals": 8, // 1 token == 10\u2078\n "type": "fungible",\n "symbol": "TOKEN_SYMBOL",\n "name": "TOKEN_NAME",\n "properties": {"PROPERTY_NAME": "PROPERTY_VALUE"}\n}\n')),(0,o.kt)("p",null,"Example of a token that allows minting (may be resupplied later):"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "allow_mint": true, // <------------\n "supply": 100000000000, // 100000 tokens\n "decimals": 6, // 1 token == 10\u2076\n "type": "fungible",\n "symbol": "TOKEN_SYMBOL",\n "name": "TOKEN_NAME",\n "properties": {"PROPERTY_NAME": "PROPERTY_VALUE"}\n}\n')),(0,o.kt)("h3",{id:"non-fungible"},"Non-fungible"),(0,o.kt)("p",null,"There are 2 definitions for the NFT:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"either for a single token"),(0,o.kt)("li",{parentName:"ol"},"either for a collection of tokens")),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"NFTs always have 8 decimals.")),(0,o.kt)("p",null,"Example of a NFT:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "supply": 100000000, // 1 token\n "type": "non-fungible",\n "name": "My NFT",\n "symbol": "MNFT",\n "properties": {\n "image": "base64 of the image",\n "description": "This is a NFT with an image"\n }\n}\n')),(0,o.kt)("p",null,"Example of a NFT Collection:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "supply": 300000000, // 3 tokens\n "type": "non-fungible",\n "name": "COLLETION NAME",\n "symbol": "COLLETION_SYMBOL",\n "properties": {"globalProperty": "value"},\n "collection": [\n {"image": "link"},\n {"image": "link"},\n {"image": "link"}\n ]\n}\n')),(0,o.kt)("p",null,"During the transaction validation, the miners will understand how to interpret this transaction and create the relative assets and UTXOs to make transfers possible right away."),(0,o.kt)("h2",{id:"resupply-fungible-tokens-aeip-18"},"Resupply fungible tokens (AEIP-18)"),(0,o.kt)("p",null,"As mentioned above, fungible tokens may accept to be minted at any time. ",(0,o.kt)("strong",{parentName:"p"},"This transaction must be done in the same transaction chain of the referenced token")," (to prove ownership of the token) and it's type must be ",(0,o.kt)("inlineCode",{parentName:"p"},"token"),"."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-node/blob/develop/priv/json-schemas/token-resupply.json"},"The JSON Schema is available on GitHub")),(0,o.kt)("p",null,"Here's an example of the token resupply transaction's content:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "aeip": [8, 18],\n "supply": 100000000000, // 1000 tokens if referenced token has decimals=8\n "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2"\n}\n')),(0,o.kt)("h2",{id:"recipients-aeip-19"},"Recipients (AEIP-19)"),(0,o.kt)("p",null,"When creating a token transaction (creation or resupply), it is also possible to specify a list of recipients that will receive all or some of the minted tokens.\nIn order to do so, a ",(0,o.kt)("inlineCode",{parentName:"p"},"recipients")," field must specified in the transaction's content."),(0,o.kt)("p",null,"Here's an example for a fungible token resupply:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "aeip": [8, 18, 19],\n "supply": 1000,\n "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2",\n "recipients": [\n {\n "to": "0000f1fd....",\n "amount": 100000000 // 1 token\n }\n ]\n}\n')),(0,o.kt)("p",null,"Here's another example for a non-fungible token creation:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "aeip": [2, 8, 19],\n "supply": 100000000, // 1 token\n "type": "non-fungible",\n "name": "My NFT",\n "symbol": "MNFT",\n "properties": {\n "image": "base64 of the image",\n "description": "This is a NFT with an image"\n },\n "recipients": [\n {\n "to": "0000f1fd....",\n "amount": 100000000 // 1 token\n }\n ]\n}\n')),(0,o.kt)("h2",{id:"transfer"},"Transfer"),(0,o.kt)("p",null,"Now that the tokens are created, there are few ways to move them around:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Via a wallet (such as the ",(0,o.kt)("a",{parentName:"li",href:"https://www.archethic.net/wallet.html"},"Archethic Wallet"),")"),(0,o.kt)("li",{parentName:"ol"},"Via the ",(0,o.kt)("inlineCode",{parentName:"li"},"send-transaction")," API"),(0,o.kt)("li",{parentName:"ol"},"Via a Smart Contract")),(0,o.kt)("p",null,"Example of a NFT transfer via the API:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "method": "send_transaction",\n "jsonrpc": "2.0",\n "id": 1,\n "params": {\n "transaction": {\n "version": 2,\n "type": "transfer",\n // [...]\n "data": {\n "ledger": {\n "token": {\n "transfers": [\n {\n "to": "0000ABCD...EF", // recipient\'s address\n "amount": 100000000, // 1 token\n "tokenAddress": "00001AC8...4F", // token definition address\n "tokenId": 1 // 1st token of the collection\n }\n ]\n }\n }\n }\n }\n }\n}\n')),(0,o.kt)("p",null,"Example of a transfer via a Smart Contract:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-elixir"},"Contract.add_token_transfer(token_address: 0x00001AC8...4F, to: 0x0000ABCD...EF, amount: 100000000)\n")))}d.isMDXComponent=!0},8209:(e,n,t)=>{t(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7157],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>k});var a=t(67294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function i(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(t),m=o,k=u["".concat(s,".").concat(m)]||u[m]||d[m]||r;return t?a.createElement(k,i(i({ref:n},c),{},{components:t})):a.createElement(k,i({ref:n},c))}));function k(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,i=new Array(r);i[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var a=t(87462),o=(t(67294),t(3905));t(8209);const r={id:"token",title:"Tokens"},i=void 0,l={unversionedId:"learn/token",id:"learn/token",title:"Tokens",description:"Tokens is an important feature on Archethic.",source:"@site/docs/learn/token.md",sourceDirName:"learn",slug:"/learn/token",permalink:"/learn/token",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"token",title:"Tokens"},sidebar:"docs",previous:{title:"Replication attestation",permalink:"/learn/sharding/replication-attestation"},next:{title:"Participate",permalink:"/category/participate"}},s={},p=[{value:"Native",id:"native",level:2},{value:"Standardized",id:"standardized",level:2},{value:"Creation",id:"creation",level:2},{value:"Fungible",id:"fungible",level:3},{value:"Non-fungible",id:"non-fungible",level:3},{value:"Resupply fungible tokens (AEIP-18)",id:"resupply-fungible-tokens-aeip-18",level:2},{value:"Recipients (AEIP-19)",id:"recipients-aeip-19",level:2},{value:"Transfer",id:"transfer",level:2}],c={toc:p},u="wrapper";function d(e){let{components:n,...t}=e;return(0,o.kt)(u,(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Tokens is an important feature on Archethic.\nNowadays, our world is transforming towards digitalisation and tokenization with new use cases and trends (royalties, collection, proof of ownerships, etc.)"),(0,o.kt)("p",null,"Archethic allows users to create and transaction with an unlimited-defined (custom) token natively."),(0,o.kt)("h2",{id:"native"},"Native"),(0,o.kt)("p",null,"Archethic tokens are considered as native as for developers, there is no need to create smart contract to mint or transfer tokens."),(0,o.kt)("p",null,"The transaction's structure supports - by design, asn extension of the ledger model (more than UCO-only transaction)"),(0,o.kt)("p",null,"All the layer of complexity have been removed to make them efficient and performant."),(0,o.kt)("p",null,"Because of this, the transfer of tokens is as simple as a transfer of UCO (just UTXO), making it fast and cheap."),(0,o.kt)("h2",{id:"standardized"},"Standardized"),(0,o.kt)("p",null,"Archethic's tokens are also unified through specifications to help implementers, developers and users to have a clear understanding of their definition."),(0,o.kt)("p",null,"The complete specification is composed of many AEIPs:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/archethic-foundation/aeip/blob/main/AEIP-02.md"},"AEIP-02 - Tokens standard")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/archethic-foundation/aeip/blob/main/AEIP-18.md"},"AEIP-18 - Tokens resupply")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/archethic-foundation/aeip/blob/main/AEIP-19.md"},"AEIP-19 - Tokens minting's recipients"))),(0,o.kt)("h2",{id:"creation"},"Creation"),(0,o.kt)("p",null,"In order to create a token, you have to:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"set the transaction's type to: ",(0,o.kt)("inlineCode",{parentName:"li"},"token")),(0,o.kt)("li",{parentName:"ol"},"define in the transaction's content the token's json definition")),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-node/blob/develop/priv/json-schemas/token-core.json"},"The JSON Schema is available on GitHub")),(0,o.kt)("admonition",{type:"note"},(0,o.kt)("p",{parentName:"admonition"},"As everything on Archethic, it is a good practice to create a new transaction chain for this token only.")),(0,o.kt)("h3",{id:"fungible"},"Fungible"),(0,o.kt)("p",null,"Example of a token that doesn't allow minting (may never be resupplied):"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "supply": 100000000000, // 1000 tokens\n "decimals": 8, // 1 token == 10\u2078\n "type": "fungible",\n "symbol": "TOKEN_SYMBOL",\n "name": "TOKEN_NAME",\n "properties": {"PROPERTY_NAME": "PROPERTY_VALUE"}\n}\n')),(0,o.kt)("p",null,"Example of a token that allows minting (may be resupplied later):"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "allow_mint": true, // <------------\n "supply": 100000000000, // 100000 tokens\n "decimals": 6, // 1 token == 10\u2076\n "type": "fungible",\n "symbol": "TOKEN_SYMBOL",\n "name": "TOKEN_NAME",\n "properties": {"PROPERTY_NAME": "PROPERTY_VALUE"}\n}\n')),(0,o.kt)("h3",{id:"non-fungible"},"Non-fungible"),(0,o.kt)("p",null,"There are 2 definitions for the NFT:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"either for a single token"),(0,o.kt)("li",{parentName:"ol"},"either for a collection of tokens")),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},"NFTs always have 8 decimals.")),(0,o.kt)("p",null,"Example of a NFT:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "supply": 100000000, // 1 token\n "type": "non-fungible",\n "name": "My NFT",\n "symbol": "MNFT",\n "properties": {\n "image": "base64 of the image",\n "description": "This is a NFT with an image"\n }\n}\n')),(0,o.kt)("p",null,"Example of a NFT Collection:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "supply": 300000000, // 3 tokens\n "type": "non-fungible",\n "name": "COLLETION NAME",\n "symbol": "COLLETION_SYMBOL",\n "properties": {"globalProperty": "value"},\n "collection": [\n {"image": "link"},\n {"image": "link"},\n {"image": "link"}\n ]\n}\n')),(0,o.kt)("p",null,"During the transaction validation, the miners will understand how to interpret this transaction and create the relative assets and UTXOs to make transfers possible right away."),(0,o.kt)("h2",{id:"resupply-fungible-tokens-aeip-18"},"Resupply fungible tokens (AEIP-18)"),(0,o.kt)("p",null,"As mentioned above, fungible tokens may accept to be minted at any time. ",(0,o.kt)("strong",{parentName:"p"},"This transaction must be done in the same transaction chain of the referenced token")," (to prove ownership of the token) and it's type must be ",(0,o.kt)("inlineCode",{parentName:"p"},"token"),"."),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/archethic-foundation/archethic-node/blob/develop/priv/json-schemas/token-resupply.json"},"The JSON Schema is available on GitHub")),(0,o.kt)("p",null,"Here's an example of the token resupply transaction's content:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "aeip": [8, 18],\n "supply": 100000000000, // 1000 tokens if referenced token has decimals=8\n "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2"\n}\n')),(0,o.kt)("h2",{id:"recipients-aeip-19"},"Recipients (AEIP-19)"),(0,o.kt)("p",null,"When creating a token transaction (creation or resupply), it is also possible to specify a list of recipients that will receive all or some of the minted tokens.\nIn order to do so, a ",(0,o.kt)("inlineCode",{parentName:"p"},"recipients")," field must specified in the transaction's content."),(0,o.kt)("p",null,"Here's an example for a fungible token resupply:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "aeip": [8, 18, 19],\n "supply": 1000,\n "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2",\n "recipients": [\n {\n "to": "0000f1fd....",\n "amount": 100000000 // 1 token\n }\n ]\n}\n')),(0,o.kt)("p",null,"Here's another example for a non-fungible token creation:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "aeip": [2, 8, 19],\n "supply": 100000000, // 1 token\n "type": "non-fungible",\n "name": "My NFT",\n "symbol": "MNFT",\n "properties": {\n "image": "base64 of the image",\n "description": "This is a NFT with an image"\n },\n "recipients": [\n {\n "to": "0000f1fd....",\n "amount": 100000000 // 1 token\n }\n ]\n}\n')),(0,o.kt)("h2",{id:"transfer"},"Transfer"),(0,o.kt)("p",null,"Now that the tokens are created, there are few ways to move them around:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Via a wallet (such as the ",(0,o.kt)("a",{parentName:"li",href:"https://www.archethic.net/wallet.html"},"Archethic Wallet"),")"),(0,o.kt)("li",{parentName:"ol"},"Via the ",(0,o.kt)("inlineCode",{parentName:"li"},"send-transaction")," API"),(0,o.kt)("li",{parentName:"ol"},"Via a Smart Contract")),(0,o.kt)("p",null,"Example of a NFT transfer via the API:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "method": "send_transaction",\n "jsonrpc": "2.0",\n "id": 1,\n "params": {\n "transaction": {\n "version": 2,\n "type": "transfer",\n // [...]\n "data": {\n "ledger": {\n "token": {\n "transfers": [\n {\n "to": "0000ABCD...EF", // recipient\'s address\n "amount": 100000000, // 1 token\n "tokenAddress": "00001AC8...4F", // token definition address\n "tokenId": 1 // 1st token of the collection\n }\n ]\n }\n }\n }\n }\n }\n}\n')),(0,o.kt)("p",null,"Example of a transfer via a Smart Contract:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-elixir"},"Contract.add_token_transfer(token_address: 0x00001AC8...4F, to: 0x0000ABCD...EF, amount: 100000000)\n")))}d.isMDXComponent=!0},8209:(e,n,t)=>{t(67294)}}]); \ No newline at end of file diff --git a/assets/js/10e03315.049e9118.js b/assets/js/10e03315.1a6d8b2d.js similarity index 97% rename from assets/js/10e03315.049e9118.js rename to assets/js/10e03315.1a6d8b2d.js index 13b84848e..6424ac8c2 100644 --- a/assets/js/10e03315.049e9118.js +++ b/assets/js/10e03315.1a6d8b2d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7874],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(r),m=o,b=u["".concat(c,".").concat(m)]||u[m]||d[m]||a;return r?n.createElement(b,i(i({ref:t},s),{},{components:r})):n.createElement(b,i({ref:t},s))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var n=r(87462),o=(r(67294),r(3905));r(8209);const a={id:"faq",title:"FAQ",sidebar_label:"FAQ"},i=void 0,l={unversionedId:"build/dapp/faq",id:"build/dapp/faq",title:"FAQ",description:"How to test a WebSocket connection locally?",source:"@site/docs/build/dapp/10-faq.md",sourceDirName:"build/dapp",slug:"/build/dapp/faq",permalink:"/build/dapp/faq",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",sidebarPosition:10,frontMatter:{id:"faq",title:"FAQ",sidebar_label:"FAQ"},sidebar:"docs",previous:{title:"RPC Commands",permalink:"/build/dapp/rpc-commands"},next:{title:"SDK",permalink:"/build/sdk/"}},c={},p=[{value:"How to test a WebSocket connection locally?",id:"how-to-test-a-websocket-connection-locally",level:2},{value:"Which browsers are supported?",id:"which-browsers-are-supported",level:2},{value:"Deeplink RPC limitations",id:"deeplink-rpc-limitations",level:2}],s={toc:p},u="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(u,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"how-to-test-a-websocket-connection-locally"},"How to test a WebSocket connection locally?"),(0,o.kt)("p",null,"Ensure that the Archethic wallet is running and listening on the correct port. You can use tools like wscat for testing."),(0,o.kt)("h2",{id:"which-browsers-are-supported"},"Which browsers are supported?"),(0,o.kt)("p",null,"Currently, only browsers based on chromium (Google Chrome, Brave, ...) are fully supported with the Archethic extension."),(0,o.kt)("h2",{id:"deeplink-rpc-limitations"},"Deeplink RPC limitations"),(0,o.kt)("p",null,"For a ",(0,o.kt)("strong",{parentName:"p"},"mobile DApp")," to communicate with ",(0,o.kt)("strong",{parentName:"p"},"aeWallet mobile"),", the only communication channel is the deeplink.\nThis means that ",(0,o.kt)("strong",{parentName:"p"},"aeWallet")," will briefly be brought to the foreground during each call made by your ",(0,o.kt)("strong",{parentName:"p"},"DApp"),"."),(0,o.kt)("p",null,"Due to this limitation, we have decided to disable ",(0,o.kt)("strong",{parentName:"p"},"subscription RPC calls")," by ",(0,o.kt)("strong",{parentName:"p"},"deeplink"),"."))}d.isMDXComponent=!0},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7874],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>b});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(r),m=o,b=u["".concat(c,".").concat(m)]||u[m]||d[m]||a;return r?n.createElement(b,i(i({ref:t},s),{},{components:r})):n.createElement(b,i({ref:t},s))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var n=r(87462),o=(r(67294),r(3905));r(8209);const a={id:"faq",title:"FAQ",sidebar_label:"FAQ"},i=void 0,l={unversionedId:"build/dapp/faq",id:"build/dapp/faq",title:"FAQ",description:"How to test a WebSocket connection locally?",source:"@site/docs/build/dapp/10-faq.md",sourceDirName:"build/dapp",slug:"/build/dapp/faq",permalink:"/build/dapp/faq",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",sidebarPosition:10,frontMatter:{id:"faq",title:"FAQ",sidebar_label:"FAQ"},sidebar:"docs",previous:{title:"RPC Commands",permalink:"/build/dapp/rpc-commands"},next:{title:"SDK",permalink:"/build/sdk/"}},c={},p=[{value:"How to test a WebSocket connection locally?",id:"how-to-test-a-websocket-connection-locally",level:2},{value:"Which browsers are supported?",id:"which-browsers-are-supported",level:2},{value:"Deeplink RPC limitations",id:"deeplink-rpc-limitations",level:2}],s={toc:p},u="wrapper";function d(e){let{components:t,...r}=e;return(0,o.kt)(u,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"how-to-test-a-websocket-connection-locally"},"How to test a WebSocket connection locally?"),(0,o.kt)("p",null,"Ensure that the Archethic wallet is running and listening on the correct port. You can use tools like wscat for testing."),(0,o.kt)("h2",{id:"which-browsers-are-supported"},"Which browsers are supported?"),(0,o.kt)("p",null,"Currently, only browsers based on chromium (Google Chrome, Brave, ...) are fully supported with the Archethic extension."),(0,o.kt)("h2",{id:"deeplink-rpc-limitations"},"Deeplink RPC limitations"),(0,o.kt)("p",null,"For a ",(0,o.kt)("strong",{parentName:"p"},"mobile DApp")," to communicate with ",(0,o.kt)("strong",{parentName:"p"},"aeWallet mobile"),", the only communication channel is the deeplink.\nThis means that ",(0,o.kt)("strong",{parentName:"p"},"aeWallet")," will briefly be brought to the foreground during each call made by your ",(0,o.kt)("strong",{parentName:"p"},"DApp"),"."),(0,o.kt)("p",null,"Due to this limitation, we have decided to disable ",(0,o.kt)("strong",{parentName:"p"},"subscription RPC calls")," by ",(0,o.kt)("strong",{parentName:"p"},"deeplink"),"."))}d.isMDXComponent=!0},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file diff --git a/assets/js/11838df3.4591245d.js b/assets/js/11838df3.56ea7c3b.js similarity index 97% rename from assets/js/11838df3.4591245d.js rename to assets/js/11838df3.56ea7c3b.js index 5bfacf904..2756bc3fa 100644 --- a/assets/js/11838df3.4591245d.js +++ b/assets/js/11838df3.56ea7c3b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3042],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>b});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var i=r.createContext({}),d=function(e){var t=r.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=d(e.components);return r.createElement(i.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=d(a),m=o,b=u["".concat(i,".").concat(m)]||u[m]||p[m]||n;return a?r.createElement(b,l(l({ref:t},s),{},{components:a})):r.createElement(b,l({ref:t},s))}));function b(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,l=new Array(n);l[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[u]="string"==typeof e?e:o,l[1]=c;for(var d=2;d{a.r(t),a.d(t,{Badge:()=>p,Bullet:()=>s,Details:()=>b,SpecifiedBy:()=>u,assets:()=>d,contentTitle:()=>c,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var r=a(87462),o=a(67294),n=a(3905);a(8209);const l={id:"uco-data",title:"UcoData",hide_table_of_contents:!1},c=void 0,i={unversionedId:"build/api/schema/objects/uco-data",id:"build/api/schema/objects/uco-data",title:"UcoData",description:"No description",source:"@site/docs/build/api/schema/objects/uco-data.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/uco-data",permalink:"/build/api/schema/objects/uco-data",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"uco-data",title:"UcoData",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"Transaction",permalink:"/build/api/schema/objects/transaction"},next:{title:"UcoLedger",permalink:"/build/api/schema/objects/uco-ledger"}},d={},s=()=>(0,n.kt)(o.Fragment,null,(0,n.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),u=e=>(0,n.kt)(o.Fragment,null,"Specification",(0,n.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),p=e=>(0,n.kt)(o.Fragment,null,(0,n.kt)("span",{className:e.class},e.text)),m=[{value:"Fields",id:"fields",level:3},{value:'UcoData.eurFloat ',id:"code-style-fontweight-normal-ucodatabeurbcodefloat-",level:4},{value:'UcoData.usdFloat ',id:"code-style-fontweight-normal-ucodatabusdbcodefloat-",level:4},{value:"Member of",id:"member-of",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:l,startOpen:c=!1}=e;const[i,d]=(0,o.useState)(c);return(0,n.kt)("details",(0,r.Z)({},i?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,n.kt)("summary",{onClick:e=>{e.preventDefault(),d((e=>!e))},style:{listStyle:"none"}},i?t:a),i&&l)},f={Bullet:s,SpecifiedBy:u,Badge:p,toc:m,Details:b},y="wrapper";function g(e){let{components:t,...a}=e;return(0,n.kt)(y,(0,r.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"No description"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-graphql"},"type UcoData {\n eur: Float\n usd: Float\n}\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"code-style-fontweight-normal-ucodatabeurbcodefloat-"},(0,n.kt)("a",{parentName:"h4",href:"#"},(0,n.kt)("code",{style:{fontWeight:"normal"}},"UcoData.",(0,n.kt)("b",null,"eur"))),(0,n.kt)(s,{mdxType:"Bullet"}),(0,n.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/float"},(0,n.kt)("inlineCode",{parentName:"a"},"Float"))," ",(0,n.kt)(p,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,n.kt)("blockquote",null),(0,n.kt)("h4",{id:"code-style-fontweight-normal-ucodatabusdbcodefloat-"},(0,n.kt)("a",{parentName:"h4",href:"#"},(0,n.kt)("code",{style:{fontWeight:"normal"}},"UcoData.",(0,n.kt)("b",null,"usd"))),(0,n.kt)(s,{mdxType:"Bullet"}),(0,n.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/float"},(0,n.kt)("inlineCode",{parentName:"a"},"Float"))," ",(0,n.kt)(p,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,n.kt)("blockquote",null),(0,n.kt)("h3",{id:"member-of"},"Member of"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"/build/api/schema/objects/oracle-services"},(0,n.kt)("inlineCode",{parentName:"a"},"OracleServices"))," ",(0,n.kt)(p,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}g.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3042],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>b});var r=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function l(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var i=r.createContext({}),d=function(e){var t=r.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},s=function(e){var t=d(e.components);return r.createElement(i.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,o=e.mdxType,n=e.originalType,i=e.parentName,s=c(e,["components","mdxType","originalType","parentName"]),u=d(a),m=o,b=u["".concat(i,".").concat(m)]||u[m]||p[m]||n;return a?r.createElement(b,l(l({ref:t},s),{},{components:a})):r.createElement(b,l({ref:t},s))}));function b(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=a.length,l=new Array(n);l[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[u]="string"==typeof e?e:o,l[1]=c;for(var d=2;d{a.r(t),a.d(t,{Badge:()=>p,Bullet:()=>s,Details:()=>b,SpecifiedBy:()=>u,assets:()=>d,contentTitle:()=>c,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var r=a(87462),o=a(67294),n=a(3905);a(8209);const l={id:"uco-data",title:"UcoData",hide_table_of_contents:!1},c=void 0,i={unversionedId:"build/api/schema/objects/uco-data",id:"build/api/schema/objects/uco-data",title:"UcoData",description:"No description",source:"@site/docs/build/api/schema/objects/uco-data.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/uco-data",permalink:"/build/api/schema/objects/uco-data",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"uco-data",title:"UcoData",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"Transaction",permalink:"/build/api/schema/objects/transaction"},next:{title:"UcoLedger",permalink:"/build/api/schema/objects/uco-ledger"}},d={},s=()=>(0,n.kt)(o.Fragment,null,(0,n.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),u=e=>(0,n.kt)(o.Fragment,null,"Specification",(0,n.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),p=e=>(0,n.kt)(o.Fragment,null,(0,n.kt)("span",{className:e.class},e.text)),m=[{value:"Fields",id:"fields",level:3},{value:'UcoData.eurFloat ',id:"code-style-fontweight-normal-ucodatabeurbcodefloat-",level:4},{value:'UcoData.usdFloat ',id:"code-style-fontweight-normal-ucodatabusdbcodefloat-",level:4},{value:"Member of",id:"member-of",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:l,startOpen:c=!1}=e;const[i,d]=(0,o.useState)(c);return(0,n.kt)("details",(0,r.Z)({},i?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,n.kt)("summary",{onClick:e=>{e.preventDefault(),d((e=>!e))},style:{listStyle:"none"}},i?t:a),i&&l)},f={Bullet:s,SpecifiedBy:u,Badge:p,toc:m,Details:b},y="wrapper";function g(e){let{components:t,...a}=e;return(0,n.kt)(y,(0,r.Z)({},f,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"No description"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-graphql"},"type UcoData {\n eur: Float\n usd: Float\n}\n")),(0,n.kt)("h3",{id:"fields"},"Fields"),(0,n.kt)("h4",{id:"code-style-fontweight-normal-ucodatabeurbcodefloat-"},(0,n.kt)("a",{parentName:"h4",href:"#"},(0,n.kt)("code",{style:{fontWeight:"normal"}},"UcoData.",(0,n.kt)("b",null,"eur"))),(0,n.kt)(s,{mdxType:"Bullet"}),(0,n.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/float"},(0,n.kt)("inlineCode",{parentName:"a"},"Float"))," ",(0,n.kt)(p,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,n.kt)("blockquote",null),(0,n.kt)("h4",{id:"code-style-fontweight-normal-ucodatabusdbcodefloat-"},(0,n.kt)("a",{parentName:"h4",href:"#"},(0,n.kt)("code",{style:{fontWeight:"normal"}},"UcoData.",(0,n.kt)("b",null,"usd"))),(0,n.kt)(s,{mdxType:"Bullet"}),(0,n.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/float"},(0,n.kt)("inlineCode",{parentName:"a"},"Float"))," ",(0,n.kt)(p,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,n.kt)("blockquote",null),(0,n.kt)("h3",{id:"member-of"},"Member of"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"/build/api/schema/objects/oracle-services"},(0,n.kt)("inlineCode",{parentName:"a"},"OracleServices"))," ",(0,n.kt)(p,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}g.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file diff --git a/assets/js/12706266.c3abde22.js b/assets/js/12706266.71f26944.js similarity index 99% rename from assets/js/12706266.c3abde22.js rename to assets/js/12706266.71f26944.js index dfc39d1aa..8d28e9e28 100644 --- a/assets/js/12706266.c3abde22.js +++ b/assets/js/12706266.71f26944.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1137],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),s=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,k=d["".concat(c,".").concat(m)]||d[m]||u[m]||i;return n?a.createElement(k,l(l({ref:t},p),{},{components:n})):a.createElement(k,l({ref:t},p))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o[d]="string"==typeof e?e:r,l[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));n(8209);const i={id:"language",title:"Smart Contract Language",sidebar_label:"Language"},l=void 0,o={unversionedId:"build/smart-contracts/language/legacy/language",id:"build/smart-contracts/language/legacy/language",title:"Smart Contract Language",description:"Archethic Blockchain defines a new smart contract language which was designed to resolve the issue of smart contracts:",source:"@site/docs/build/smart-contracts/language/legacy/language.md",sourceDirName:"build/smart-contracts/language/legacy",slug:"/build/smart-contracts/language/legacy/language",permalink:"/build/smart-contracts/language/legacy/language",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"language",title:"Smart Contract Language",sidebar_label:"Language"},sidebar:"docs",previous:{title:"Examples",permalink:"/build/smart-contracts/language/legacy/examples"},next:{title:"Fees",permalink:"/build/smart-contracts/fees"}},c={},s=[{value:"Triggers/Actions",id:"triggersactions",level:2},{value:"Conditions",id:"conditions",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Functions",id:"functions",level:2},{value:"Utilities",id:"utilities",level:3},{value:"Statements",id:"statements",level:3}],p={toc:s},d="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Archethic Blockchain defines a new smart contract language which was designed to resolve the issue of smart contracts:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Expressiveness"),(0,r.kt)("li",{parentName:"ul"},"Simplify"),(0,r.kt)("li",{parentName:"ul"},"Security")),(0,r.kt)("p",null,"Along with the new features of Archethic Smart Contracts (triggers, conditions, actions), a new custom language is defined"),(0,r.kt)("h2",{id:"triggersactions"},"Triggers/Actions"),(0,r.kt)("p",null,"To define a trigger, we need to specify an action block with its trigger type and the following parameters (if presents)"),(0,r.kt)("p",null,"For example:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"based on an incoming transaction")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"actions triggered_by: transaction do\n # do something when a receive transaction\nend\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"based on time interval")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: interval, at: "0 8 * * *" do\n # do something each day at 8AM\nend\n')),(0,r.kt)("h2",{id:"conditions"},"Conditions"),(0,r.kt)("p",null,"To define a condition, we need to specify a condition block with its subject and the list conditions by fields:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"type")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"content")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"code")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"authorized_keys")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"secrets")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"uco_transfers")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"token_transfers")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"previous_public_key")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"origin_family"))),(0,r.kt)("p",null,"For example:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'expecting the incoming transaction contains the content "hello"')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition transaction: [\n content: "Hello"\n]\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"expecting all the transaction in the chain should be generated from a biometric device")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"condition inherit: [\n origin_family: biometric\n]\n")),(0,r.kt)("h2",{id:"global-variables"},"Global variables"),(0,r.kt)("p",null,"Smart Contract can use global variable in the different blocks:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"contract"),": represent the actual contract"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"transaction"),": incoming transaction"),(0,r.kt)("li",{parentName:"ul"},"(inherit condition only) ",(0,r.kt)("inlineCode",{parentName:"li"},"next"),": next transaction on the chain"),(0,r.kt)("li",{parentName:"ul"},"(inherit condition only) ",(0,r.kt)("inlineCode",{parentName:"li"},"previous"),": previous transaction on the chain")),(0,r.kt)("p",null,"Each of this variables contains the following fields:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"address")," (hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"type")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"content")," (abitraty string)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"code")," (abritraty string)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"authorized_keys")," (map of public keys)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"secrets")," (list of encrypted secrets in hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"previous_public_key")," (hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"recipients")," (list of smart contract recipients addresses in hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"uco_transfers")," (map of the uco transfers: ",(0,r.kt)("inlineCode",{parentName:"li"},"%{ recipient_address => amount }")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"token_transfers")," (map of the token transfers: ",(0,r.kt)("inlineCode",{parentName:"li"},"%{ recipient_address => list(%{ amount: amount, token_address: token_to_transfer, token_id: token_id}}) "))),(0,r.kt)("h2",{id:"functions"},"Functions"),(0,r.kt)("p",null,"Archethic Smart Contracts relies on function which can be used on condition or action blocks."),(0,r.kt)("p",null,"There are two categories of functions:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Utilities"),(0,r.kt)("li",{parentName:"ul"},"Statements (for transaction generation)")),(0,r.kt)("h3",{id:"utilities"},"Utilities"),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"In the ",(0,r.kt)("inlineCode",{parentName:"p"},"condition")," block, if no parameter is given, the transaction's field value will be the first one")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"hash(data)"),": Perform a cryptographic hash")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"condition transaction: [\n content: hash(contract.code)\n]\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"regex_match?(data, pattern)"),": Verify a regular expression")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition transaction: [\n content: regex_match?("hello")\n]\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"p"},"regex_extract(data, pattern)"),": Extract data from a regular expression")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"json_match?: Verify the data matches a JSONPath expression"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition oracle: [\n content: json_match?("$.uco.usd")\n]\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"json_extract(data, pattern)"),": Extract data from a JSONPath expression")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition oracle: [\n content: json_extract("$.uco.usd") > 0.2\n]\n')),(0,r.kt)("h3",{id:"statements"},"Statements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"set_type"),": Set the transaction type")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"actions triggered_by: transaction do\n set_type transfer\nend\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_uco_transfer"),": Add a new UCO transfer")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n add_uco_transfer to: "F28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", amount: 1.0\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_token_transfer"),": Add a new token transfer")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n add_token_transfer: to: "AF28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", token_address: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 1.0\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"set_content"),": Set the new content")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n set_content "hello"\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"set_code"),": Set the new code")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n set_code """\n actions triggered_by: transaction do\n add_uco_transfer to: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 2.0\n end\n """\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_ownership"),": Add a new ownership with a secret and its authorized public keys")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n add_ownership secret: "...", secret_key: "...", authorized_public_key: ["0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"]\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_recipient"),": Add a contract address to reach")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: datetime, at: 1391309040 do\n add_recipient "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"\nend\n\n')))}u.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1137],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>k});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=a.createContext({}),s=function(e){var t=a.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=s(e.components);return a.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,k=d["".concat(c,".").concat(m)]||d[m]||u[m]||i;return n?a.createElement(k,l(l({ref:t},p),{},{components:n})):a.createElement(k,l({ref:t},p))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var c in t)hasOwnProperty.call(t,c)&&(o[c]=t[c]);o.originalType=e,o[d]="string"==typeof e?e:r,l[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=n(87462),r=(n(67294),n(3905));n(8209);const i={id:"language",title:"Smart Contract Language",sidebar_label:"Language"},l=void 0,o={unversionedId:"build/smart-contracts/language/legacy/language",id:"build/smart-contracts/language/legacy/language",title:"Smart Contract Language",description:"Archethic Blockchain defines a new smart contract language which was designed to resolve the issue of smart contracts:",source:"@site/docs/build/smart-contracts/language/legacy/language.md",sourceDirName:"build/smart-contracts/language/legacy",slug:"/build/smart-contracts/language/legacy/language",permalink:"/build/smart-contracts/language/legacy/language",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"language",title:"Smart Contract Language",sidebar_label:"Language"},sidebar:"docs",previous:{title:"Examples",permalink:"/build/smart-contracts/language/legacy/examples"},next:{title:"Fees",permalink:"/build/smart-contracts/fees"}},c={},s=[{value:"Triggers/Actions",id:"triggersactions",level:2},{value:"Conditions",id:"conditions",level:2},{value:"Global variables",id:"global-variables",level:2},{value:"Functions",id:"functions",level:2},{value:"Utilities",id:"utilities",level:3},{value:"Statements",id:"statements",level:3}],p={toc:s},d="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Archethic Blockchain defines a new smart contract language which was designed to resolve the issue of smart contracts:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Expressiveness"),(0,r.kt)("li",{parentName:"ul"},"Simplify"),(0,r.kt)("li",{parentName:"ul"},"Security")),(0,r.kt)("p",null,"Along with the new features of Archethic Smart Contracts (triggers, conditions, actions), a new custom language is defined"),(0,r.kt)("h2",{id:"triggersactions"},"Triggers/Actions"),(0,r.kt)("p",null,"To define a trigger, we need to specify an action block with its trigger type and the following parameters (if presents)"),(0,r.kt)("p",null,"For example:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"based on an incoming transaction")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"actions triggered_by: transaction do\n # do something when a receive transaction\nend\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"based on time interval")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: interval, at: "0 8 * * *" do\n # do something each day at 8AM\nend\n')),(0,r.kt)("h2",{id:"conditions"},"Conditions"),(0,r.kt)("p",null,"To define a condition, we need to specify a condition block with its subject and the list conditions by fields:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"type")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"content")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"code")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"authorized_keys")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"secrets")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"uco_transfers")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"token_transfers")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"previous_public_key")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"origin_family"))),(0,r.kt)("p",null,"For example:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},'expecting the incoming transaction contains the content "hello"')),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition transaction: [\n content: "Hello"\n]\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"expecting all the transaction in the chain should be generated from a biometric device")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"condition inherit: [\n origin_family: biometric\n]\n")),(0,r.kt)("h2",{id:"global-variables"},"Global variables"),(0,r.kt)("p",null,"Smart Contract can use global variable in the different blocks:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"contract"),": represent the actual contract"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"transaction"),": incoming transaction"),(0,r.kt)("li",{parentName:"ul"},"(inherit condition only) ",(0,r.kt)("inlineCode",{parentName:"li"},"next"),": next transaction on the chain"),(0,r.kt)("li",{parentName:"ul"},"(inherit condition only) ",(0,r.kt)("inlineCode",{parentName:"li"},"previous"),": previous transaction on the chain")),(0,r.kt)("p",null,"Each of this variables contains the following fields:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"address")," (hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"type")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"content")," (abitraty string)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"code")," (abritraty string)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"authorized_keys")," (map of public keys)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"secrets")," (list of encrypted secrets in hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"previous_public_key")," (hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"recipients")," (list of smart contract recipients addresses in hex)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"uco_transfers")," (map of the uco transfers: ",(0,r.kt)("inlineCode",{parentName:"li"},"%{ recipient_address => amount }")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"token_transfers")," (map of the token transfers: ",(0,r.kt)("inlineCode",{parentName:"li"},"%{ recipient_address => list(%{ amount: amount, token_address: token_to_transfer, token_id: token_id}}) "))),(0,r.kt)("h2",{id:"functions"},"Functions"),(0,r.kt)("p",null,"Archethic Smart Contracts relies on function which can be used on condition or action blocks."),(0,r.kt)("p",null,"There are two categories of functions:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Utilities"),(0,r.kt)("li",{parentName:"ul"},"Statements (for transaction generation)")),(0,r.kt)("h3",{id:"utilities"},"Utilities"),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"In the ",(0,r.kt)("inlineCode",{parentName:"p"},"condition")," block, if no parameter is given, the transaction's field value will be the first one")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"hash(data)"),": Perform a cryptographic hash")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"condition transaction: [\n content: hash(contract.code)\n]\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"regex_match?(data, pattern)"),": Verify a regular expression")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition transaction: [\n content: regex_match?("hello")\n]\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},(0,r.kt)("inlineCode",{parentName:"p"},"regex_extract(data, pattern)"),": Extract data from a regular expression")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"json_match?: Verify the data matches a JSONPath expression"))),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition oracle: [\n content: json_match?("$.uco.usd")\n]\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"json_extract(data, pattern)"),": Extract data from a JSONPath expression")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'condition oracle: [\n content: json_extract("$.uco.usd") > 0.2\n]\n')),(0,r.kt)("h3",{id:"statements"},"Statements"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"set_type"),": Set the transaction type")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"actions triggered_by: transaction do\n set_type transfer\nend\n")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_uco_transfer"),": Add a new UCO transfer")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n add_uco_transfer to: "F28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", amount: 1.0\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_token_transfer"),": Add a new token transfer")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n add_token_transfer: to: "AF28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", token_address: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 1.0\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"set_content"),": Set the new content")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n set_content "hello"\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"set_code"),": Set the new code")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n set_code """\n actions triggered_by: transaction do\n add_uco_transfer to: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 2.0\n end\n """\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_ownership"),": Add a new ownership with a secret and its authorized public keys")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: transaction do\n add_ownership secret: "...", secret_key: "...", authorized_public_key: ["0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"]\nend\n')),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("inlineCode",{parentName:"li"},"add_recipient"),": Add a contract address to reach")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},'actions triggered_by: datetime, at: 1391309040 do\n add_recipient "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"\nend\n\n')))}u.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/145b7035.a908f2fe.js b/assets/js/145b7035.c05620b1.js similarity index 99% rename from assets/js/145b7035.a908f2fe.js rename to assets/js/145b7035.c05620b1.js index 8fe35a496..59a4a571f 100644 --- a/assets/js/145b7035.a908f2fe.js +++ b/assets/js/145b7035.c05620b1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6269],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),s=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,u=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=s(r),d=a,g=c["".concat(u,".").concat(d)]||c[d]||m[d]||l;return r?n.createElement(g,i(i({ref:t},p),{},{components:r})):n.createElement(g,i({ref:t},p))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:a,i[1]=o;for(var s=2;s{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));r(8209);const l={id:"string",title:"String module",sidebar_label:"String"},i=void 0,o={unversionedId:"build/smart-contracts/language/library/string",id:"build/smart-contracts/language/library/string",title:"String module",description:"The String module contains functions to manipulate strings of text.",source:"@site/docs/build/smart-contracts/language/library/string.md",sourceDirName:"build/smart-contracts/language/library",slug:"/build/smart-contracts/language/library/string",permalink:"/build/smart-contracts/language/library/string",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"string",title:"String module",sidebar_label:"String"},sidebar:"docs",previous:{title:"State",permalink:"/build/smart-contracts/language/library/state"},next:{title:"Time",permalink:"/build/smart-contracts/language/library/time"}},u={},s=[{value:"size/1",id:"size1",level:3},{value:"in?/2",id:"in2",level:3},{value:"to_number/1",id:"to_number1",level:3},{value:"from_number/1",id:"from_number1",level:3},{value:"to_hex/1",id:"to_hex1",level:3},{value:"to_uppercase/1",id:"to_uppercase1",level:3},{value:"to_lowercase/1",id:"to_lowercase1",level:3}],p={toc:s},c="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(c,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"String")," module contains functions to manipulate strings of text."),(0,a.kt)("h3",{id:"size1"},"size/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.size("hello") # 5\nString.size("\u4f60\u597d") # 2\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Returns the number of characters in ",(0,a.kt)("inlineCode",{parentName:"p"},"str"),"."),(0,a.kt)("h3",{id:"in2"},"in?/2"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.in?("bob,alice,julia", "alice") # true\nString.in?("bob,alice,julia", "fred") # false\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str1")," the haystack"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str2")," the needle")),(0,a.kt)("p",null,"Returns whether the ",(0,a.kt)("inlineCode",{parentName:"p"},"needle")," is in the ",(0,a.kt)("inlineCode",{parentName:"p"},"haystack"),"."),(0,a.kt)("h3",{id:"to_number1"},"to_number/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_number("12") # 12\nString.to_number("-12") # -12\nString.to_number("12.1") # 12.1\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Returns the number which text representation is ",(0,a.kt)("inlineCode",{parentName:"p"},"str"),"."),(0,a.kt)("h3",{id:"from_number1"},"from_number/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.from_number(13) # "13"\nString.from_number(13.2) # "13.2"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"number")," the number")),(0,a.kt)("p",null,"Returns the text representation of ",(0,a.kt)("inlineCode",{parentName:"p"},"number"),"."),(0,a.kt)("h3",{id:"to_hex1"},"to_hex/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_hex("592ac76afa") # "592AC76AFA"\nString.to_hex("592AC76AFA") # "592AC76AFA"\nString.to_hex("hello") # "68656C6C6F"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Return the text representation of hexadecimal ",(0,a.kt)("inlineCode",{parentName:"p"},"str"),".\nIf ",(0,a.kt)("inlineCode",{parentName:"p"},"str")," is already an hex it just uppercase it"),(0,a.kt)("h3",{id:"to_uppercase1"},"to_uppercase/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_uppercase("Ars\xe8ne Lupin") # "ARS\xc8NE LUPIN"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Return the ",(0,a.kt)("inlineCode",{parentName:"p"},"str")," in uppercase."),(0,a.kt)("h3",{id:"to_lowercase1"},"to_lowercase/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_lowercase("Sherlock Holmes") # "sherlock holmes"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Return the ",(0,a.kt)("inlineCode",{parentName:"p"},"str")," in lowercase."))}m.isMDXComponent=!0},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6269],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var u=n.createContext({}),s=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,u=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=s(r),d=a,g=c["".concat(u,".").concat(d)]||c[d]||m[d]||l;return r?n.createElement(g,i(i({ref:t},p),{},{components:r})):n.createElement(g,i({ref:t},p))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,i=new Array(l);i[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:a,i[1]=o;for(var s=2;s{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>s});var n=r(87462),a=(r(67294),r(3905));r(8209);const l={id:"string",title:"String module",sidebar_label:"String"},i=void 0,o={unversionedId:"build/smart-contracts/language/library/string",id:"build/smart-contracts/language/library/string",title:"String module",description:"The String module contains functions to manipulate strings of text.",source:"@site/docs/build/smart-contracts/language/library/string.md",sourceDirName:"build/smart-contracts/language/library",slug:"/build/smart-contracts/language/library/string",permalink:"/build/smart-contracts/language/library/string",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"string",title:"String module",sidebar_label:"String"},sidebar:"docs",previous:{title:"State",permalink:"/build/smart-contracts/language/library/state"},next:{title:"Time",permalink:"/build/smart-contracts/language/library/time"}},u={},s=[{value:"size/1",id:"size1",level:3},{value:"in?/2",id:"in2",level:3},{value:"to_number/1",id:"to_number1",level:3},{value:"from_number/1",id:"from_number1",level:3},{value:"to_hex/1",id:"to_hex1",level:3},{value:"to_uppercase/1",id:"to_uppercase1",level:3},{value:"to_lowercase/1",id:"to_lowercase1",level:3}],p={toc:s},c="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(c,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"String")," module contains functions to manipulate strings of text."),(0,a.kt)("h3",{id:"size1"},"size/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.size("hello") # 5\nString.size("\u4f60\u597d") # 2\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Returns the number of characters in ",(0,a.kt)("inlineCode",{parentName:"p"},"str"),"."),(0,a.kt)("h3",{id:"in2"},"in?/2"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.in?("bob,alice,julia", "alice") # true\nString.in?("bob,alice,julia", "fred") # false\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str1")," the haystack"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str2")," the needle")),(0,a.kt)("p",null,"Returns whether the ",(0,a.kt)("inlineCode",{parentName:"p"},"needle")," is in the ",(0,a.kt)("inlineCode",{parentName:"p"},"haystack"),"."),(0,a.kt)("h3",{id:"to_number1"},"to_number/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_number("12") # 12\nString.to_number("-12") # -12\nString.to_number("12.1") # 12.1\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Returns the number which text representation is ",(0,a.kt)("inlineCode",{parentName:"p"},"str"),"."),(0,a.kt)("h3",{id:"from_number1"},"from_number/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.from_number(13) # "13"\nString.from_number(13.2) # "13.2"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"number")," the number")),(0,a.kt)("p",null,"Returns the text representation of ",(0,a.kt)("inlineCode",{parentName:"p"},"number"),"."),(0,a.kt)("h3",{id:"to_hex1"},"to_hex/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_hex("592ac76afa") # "592AC76AFA"\nString.to_hex("592AC76AFA") # "592AC76AFA"\nString.to_hex("hello") # "68656C6C6F"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Return the text representation of hexadecimal ",(0,a.kt)("inlineCode",{parentName:"p"},"str"),".\nIf ",(0,a.kt)("inlineCode",{parentName:"p"},"str")," is already an hex it just uppercase it"),(0,a.kt)("h3",{id:"to_uppercase1"},"to_uppercase/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_uppercase("Ars\xe8ne Lupin") # "ARS\xc8NE LUPIN"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Return the ",(0,a.kt)("inlineCode",{parentName:"p"},"str")," in uppercase."),(0,a.kt)("h3",{id:"to_lowercase1"},"to_lowercase/1"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-elixir"},'String.to_lowercase("Sherlock Holmes") # "sherlock holmes"\n')),(0,a.kt)("p",null,"Parameters:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"str")," the string")),(0,a.kt)("p",null,"Return the ",(0,a.kt)("inlineCode",{parentName:"p"},"str")," in lowercase."))}m.isMDXComponent=!0},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file diff --git a/assets/js/145f3c45.b01332d4.js b/assets/js/145f3c45.0a461477.js similarity index 98% rename from assets/js/145f3c45.b01332d4.js rename to assets/js/145f3c45.0a461477.js index e62532d89..954928537 100644 --- a/assets/js/145f3c45.b01332d4.js +++ b/assets/js/145f3c45.0a461477.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8268],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var i=n.createContext({}),d=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},c=function(e){var t=d(e.components);return n.createElement(i.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(a),m=o,b=p["".concat(i,".").concat(m)]||p[m]||u[m]||r;return a?n.createElement(b,l(l({ref:t},c),{},{components:a})):n.createElement(b,l({ref:t},c))}));function b(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,l=new Array(r);l[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[p]="string"==typeof e?e:o,l[1]=s;for(var d=2;d{a.r(t),a.d(t,{Badge:()=>u,Bullet:()=>c,Details:()=>b,SpecifiedBy:()=>p,assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var n=a(87462),o=a(67294),r=a(3905);a(8209);const l={id:"transaction-input",title:"TransactionInput",hide_table_of_contents:!1},s=void 0,i={unversionedId:"build/api/schema/objects/transaction-input",id:"build/api/schema/objects/transaction-input",title:"TransactionInput",description:"[TransactionInput] represents the inputs from the transaction",source:"@site/docs/build/api/schema/objects/transaction-input.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/transaction-input",permalink:"/build/api/schema/objects/transaction-input",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"transaction-input",title:"TransactionInput",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"TransactionError",permalink:"/build/api/schema/objects/transaction-error"},next:{title:"TransactionMovement",permalink:"/build/api/schema/objects/transaction-movement"}},d={},c=()=>(0,r.kt)(o.Fragment,null,(0,r.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,r.kt)(o.Fragment,null,"Specification",(0,r.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),u=e=>(0,r.kt)(o.Fragment,null,(0,r.kt)("span",{className:e.class},e.text)),m=[{value:"Fields",id:"fields",level:3},{value:'TransactionInput.amountInt ',id:"code-style-fontweight-normal-transactioninputbamountbcodeint-",level:4},{value:'TransactionInput.fromAddress ',id:"code-style-fontweight-normal-transactioninputbfrombcodeaddress-",level:4},{value:'TransactionInput.spentBoolean ',id:"code-style-fontweight-normal-transactioninputbspentbcodeboolean-",level:4},{value:'TransactionInput.timestampTimestamp ',id:"code-style-fontweight-normal-transactioninputbtimestampbcodetimestamp-",level:4},{value:'TransactionInput.tokenAddressAddress ',id:"code-style-fontweight-normal-transactioninputbtokenaddressbcodeaddress-",level:4},{value:'TransactionInput.tokenIdInt ',id:"code-style-fontweight-normal-transactioninputbtokenidbcodeint-",level:4},{value:'TransactionInput.typeString ',id:"code-style-fontweight-normal-transactioninputbtypebcodestring-",level:4},{value:"Returned by",id:"returned-by",level:3},{value:"Member of",id:"member-of",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:l,startOpen:s=!1}=e;const[i,d]=(0,o.useState)(s);return(0,r.kt)("details",(0,n.Z)({},i?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,r.kt)("summary",{onClick:e=>{e.preventDefault(),d((e=>!e))},style:{listStyle:"none"}},i?t:a),i&&l)},k={Bullet:c,SpecifiedBy:p,Badge:u,toc:m,Details:b},f="wrapper";function h(e){let{components:t,...a}=e;return(0,r.kt)(f,(0,n.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"[TransactionInput]"," represents the inputs from the transaction\nIt includes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"From: transaction which send the amount of assets"),(0,r.kt)("li",{parentName:"ul"},"Amount: asset amount"),(0,r.kt)("li",{parentName:"ul"},"Type: UCO/token/Call"),(0,r.kt)("li",{parentName:"ul"},"token address: address of the token if the type is token"),(0,r.kt)("li",{parentName:"ul"},"Spent: determines if the input has been spent"),(0,r.kt)("li",{parentName:"ul"},"Timestamp: Date time when the inputs was generated"),(0,r.kt)("li",{parentName:"ul"},"token id: It is the id for a token which is allocated when the token is minted.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-graphql"},"type TransactionInput {\n amount: Int\n from: Address\n spent: Boolean\n timestamp: Timestamp\n tokenAddress: Address\n tokenId: Int\n type: String\n}\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbamountbcodeint-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"amount"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/int"},(0,r.kt)("inlineCode",{parentName:"a"},"Int"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbfrombcodeaddress-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"from"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/address"},(0,r.kt)("inlineCode",{parentName:"a"},"Address"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbspentbcodeboolean-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"spent"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/boolean"},(0,r.kt)("inlineCode",{parentName:"a"},"Boolean"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtimestampbcodetimestamp-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"timestamp"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,r.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtokenaddressbcodeaddress-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"tokenAddress"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/address"},(0,r.kt)("inlineCode",{parentName:"a"},"Address"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtokenidbcodeint-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"tokenId"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/int"},(0,r.kt)("inlineCode",{parentName:"a"},"Int"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtypebcodestring-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"type"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,r.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h3",{id:"returned-by"},"Returned by"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/build/api/schema/queries/transaction-inputs"},(0,r.kt)("inlineCode",{parentName:"a"},"transactionInputs"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"query",mdxType:"Badge"})),(0,r.kt)("h3",{id:"member-of"},"Member of"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/build/api/schema/objects/transaction"},(0,r.kt)("inlineCode",{parentName:"a"},"Transaction"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}h.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8268],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var i=n.createContext({}),d=function(e){var t=n.useContext(i),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},c=function(e){var t=d(e.components);return n.createElement(i.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=d(a),m=o,b=p["".concat(i,".").concat(m)]||p[m]||u[m]||r;return a?n.createElement(b,l(l({ref:t},c),{},{components:a})):n.createElement(b,l({ref:t},c))}));function b(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,l=new Array(r);l[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[p]="string"==typeof e?e:o,l[1]=s;for(var d=2;d{a.r(t),a.d(t,{Badge:()=>u,Bullet:()=>c,Details:()=>b,SpecifiedBy:()=>p,assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>m});var n=a(87462),o=a(67294),r=a(3905);a(8209);const l={id:"transaction-input",title:"TransactionInput",hide_table_of_contents:!1},s=void 0,i={unversionedId:"build/api/schema/objects/transaction-input",id:"build/api/schema/objects/transaction-input",title:"TransactionInput",description:"[TransactionInput] represents the inputs from the transaction",source:"@site/docs/build/api/schema/objects/transaction-input.mdx",sourceDirName:"build/api/schema/objects",slug:"/build/api/schema/objects/transaction-input",permalink:"/build/api/schema/objects/transaction-input",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"transaction-input",title:"TransactionInput",hide_table_of_contents:!1},sidebar:"docs",previous:{title:"TransactionError",permalink:"/build/api/schema/objects/transaction-error"},next:{title:"TransactionMovement",permalink:"/build/api/schema/objects/transaction-movement"}},d={},c=()=>(0,r.kt)(o.Fragment,null,(0,r.kt)("span",{style:{fontWeight:"normal",fontSize:".5em",color:"var(--ifm-color-secondary-darkest)"}},"\xa0\u25cf\xa0")),p=e=>(0,r.kt)(o.Fragment,null,"Specification",(0,r.kt)("a",{className:"link",style:{fontSize:"1.5em",paddingLeft:"4px"},target:"_blank",href:e.url,title:"Specified by "+e.url},"\u2398")),u=e=>(0,r.kt)(o.Fragment,null,(0,r.kt)("span",{className:e.class},e.text)),m=[{value:"Fields",id:"fields",level:3},{value:'TransactionInput.amountInt ',id:"code-style-fontweight-normal-transactioninputbamountbcodeint-",level:4},{value:'TransactionInput.fromAddress ',id:"code-style-fontweight-normal-transactioninputbfrombcodeaddress-",level:4},{value:'TransactionInput.spentBoolean ',id:"code-style-fontweight-normal-transactioninputbspentbcodeboolean-",level:4},{value:'TransactionInput.timestampTimestamp ',id:"code-style-fontweight-normal-transactioninputbtimestampbcodetimestamp-",level:4},{value:'TransactionInput.tokenAddressAddress ',id:"code-style-fontweight-normal-transactioninputbtokenaddressbcodeaddress-",level:4},{value:'TransactionInput.tokenIdInt ',id:"code-style-fontweight-normal-transactioninputbtokenidbcodeint-",level:4},{value:'TransactionInput.typeString ',id:"code-style-fontweight-normal-transactioninputbtypebcodestring-",level:4},{value:"Returned by",id:"returned-by",level:3},{value:"Member of",id:"member-of",level:3}],b=e=>{let{dataOpen:t,dataClose:a,children:l,startOpen:s=!1}=e;const[i,d]=(0,o.useState)(s);return(0,r.kt)("details",(0,n.Z)({},i?{open:!0}:{},{className:"details",style:{border:"none",boxShadow:"none",background:"var(--ifm-background-color)"}}),(0,r.kt)("summary",{onClick:e=>{e.preventDefault(),d((e=>!e))},style:{listStyle:"none"}},i?t:a),i&&l)},k={Bullet:c,SpecifiedBy:p,Badge:u,toc:m,Details:b},f="wrapper";function h(e){let{components:t,...a}=e;return(0,r.kt)(f,(0,n.Z)({},k,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"[TransactionInput]"," represents the inputs from the transaction\nIt includes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"From: transaction which send the amount of assets"),(0,r.kt)("li",{parentName:"ul"},"Amount: asset amount"),(0,r.kt)("li",{parentName:"ul"},"Type: UCO/token/Call"),(0,r.kt)("li",{parentName:"ul"},"token address: address of the token if the type is token"),(0,r.kt)("li",{parentName:"ul"},"Spent: determines if the input has been spent"),(0,r.kt)("li",{parentName:"ul"},"Timestamp: Date time when the inputs was generated"),(0,r.kt)("li",{parentName:"ul"},"token id: It is the id for a token which is allocated when the token is minted.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-graphql"},"type TransactionInput {\n amount: Int\n from: Address\n spent: Boolean\n timestamp: Timestamp\n tokenAddress: Address\n tokenId: Int\n type: String\n}\n")),(0,r.kt)("h3",{id:"fields"},"Fields"),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbamountbcodeint-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"amount"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/int"},(0,r.kt)("inlineCode",{parentName:"a"},"Int"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbfrombcodeaddress-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"from"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/address"},(0,r.kt)("inlineCode",{parentName:"a"},"Address"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbspentbcodeboolean-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"spent"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/boolean"},(0,r.kt)("inlineCode",{parentName:"a"},"Boolean"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtimestampbcodetimestamp-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"timestamp"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/timestamp"},(0,r.kt)("inlineCode",{parentName:"a"},"Timestamp"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtokenaddressbcodeaddress-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"tokenAddress"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/address"},(0,r.kt)("inlineCode",{parentName:"a"},"Address"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtokenidbcodeint-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"tokenId"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/int"},(0,r.kt)("inlineCode",{parentName:"a"},"Int"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h4",{id:"code-style-fontweight-normal-transactioninputbtypebcodestring-"},(0,r.kt)("a",{parentName:"h4",href:"#"},(0,r.kt)("code",{style:{fontWeight:"normal"}},"TransactionInput.",(0,r.kt)("b",null,"type"))),(0,r.kt)(c,{mdxType:"Bullet"}),(0,r.kt)("a",{parentName:"h4",href:"/build/api/schema/scalars/string"},(0,r.kt)("inlineCode",{parentName:"a"},"String"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"scalar",mdxType:"Badge"})),(0,r.kt)("blockquote",null),(0,r.kt)("h3",{id:"returned-by"},"Returned by"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/build/api/schema/queries/transaction-inputs"},(0,r.kt)("inlineCode",{parentName:"a"},"transactionInputs"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"query",mdxType:"Badge"})),(0,r.kt)("h3",{id:"member-of"},"Member of"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"/build/api/schema/objects/transaction"},(0,r.kt)("inlineCode",{parentName:"a"},"Transaction"))," ",(0,r.kt)(u,{class:"badge badge--secondary",text:"object",mdxType:"Badge"})))}h.isMDXComponent=!0},8209:(e,t,a)=>{a(67294)}}]); \ No newline at end of file diff --git a/assets/js/147d0e4e.9a01b47e.js b/assets/js/147d0e4e.1f807bda.js similarity index 97% rename from assets/js/147d0e4e.9a01b47e.js rename to assets/js/147d0e4e.1f807bda.js index 099f369f3..cfc65f650 100644 --- a/assets/js/147d0e4e.9a01b47e.js +++ b/assets/js/147d0e4e.1f807bda.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1166],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),h=a,m=d["".concat(l,".").concat(h)]||d[h]||p[h]||i;return n?r.createElement(m,o(o({ref:t},u),{},{components:n})):r.createElement(m,o({ref:t},u))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=h;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:a,o[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));n(8209);const i={id:"oracle-chain",title:"OracleChain"},o=void 0,c={unversionedId:"learn/oracle-chain",id:"learn/oracle-chain",title:"OracleChain",description:"Archethic Blockchain supports Off-Chain communication through a dedicated transaction chain called OracleChain.",source:"@site/docs/learn/oracle-chain.md",sourceDirName:"learn",slug:"/learn/oracle-chain",permalink:"/learn/oracle-chain",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"oracle-chain",title:"OracleChain"},sidebar:"docs",previous:{title:"Governance",permalink:"/learn/governance/"},next:{title:"P2P",permalink:"/learn/p2p/"}},l={},s=[{value:"How is it work ?",id:"how-is-it-work-",level:2},{value:"Services",id:"services",level:2}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,a.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Archethic Blockchain supports Off-Chain communication through a dedicated transaction chain called ",(0,a.kt)("inlineCode",{parentName:"p"},"OracleChain"),"."),(0,a.kt)("p",null,"It aims to gather external data to be used inside the network or the smart contract layer."),(0,a.kt)("h2",{id:"how-is-it-work-"},"How is it work ?"),(0,a.kt)("p",null,"OracleChain behaves a bit like the ",(0,a.kt)("a",{parentName:"p",href:"/learn/sharding/beacon-chain"},"BeaconChain")," except the transaction on the chain are generated every 10min but only when there is a new data updated."),(0,a.kt)("p",null,"It's using a long-polling mechanism to get data from external sources and submit a transaction through ARCH Consensus."),(0,a.kt)("p",null,"By using ARCH consensus, we ensure the atomic commitment of the data submitted and ensure validity of the information written into the transaction."),(0,a.kt)("p",null,"Each node receives the new transaction from the OracleChain and can apply behaviors from this new data and notify smart contracts which depends on oracle updates."),(0,a.kt)("mermaid",{value:"graph TD\n A[Node1] --\x3e|1. Fetch data| B\n B(External service: ie. UCO Price)\n A --\x3e | 2. Send transaction| C\n A --\x3e | 2. Send transaction| D\n C[Node2] --\x3e | 3. Check data | B \n D[Node3] --\x3e | 3. Check data |B\n C[Node2] --\x3e | 4. Validate transaction | D \n D[Node2] --\x3e C"}),(0,a.kt)("h2",{id:"services"},"Services"),(0,a.kt)("p",null,"The list of services supported by the OracleChain:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"UCO Price Feed: fetching UCO token price from Coingecko in USD/EUR currency and is used for the:",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"Transaction Fee algorithm"),(0,a.kt)("li",{parentName:"ul"},"Auto reward of nodes which didn't receive enough mining rewards")))))}p.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1166],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),s=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),h=a,m=d["".concat(l,".").concat(h)]||d[h]||p[h]||i;return n?r.createElement(m,o(o({ref:t},u),{},{components:n})):r.createElement(m,o({ref:t},u))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=h;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:a,o[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=n(87462),a=(n(67294),n(3905));n(8209);const i={id:"oracle-chain",title:"OracleChain"},o=void 0,c={unversionedId:"learn/oracle-chain",id:"learn/oracle-chain",title:"OracleChain",description:"Archethic Blockchain supports Off-Chain communication through a dedicated transaction chain called OracleChain.",source:"@site/docs/learn/oracle-chain.md",sourceDirName:"learn",slug:"/learn/oracle-chain",permalink:"/learn/oracle-chain",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"oracle-chain",title:"OracleChain"},sidebar:"docs",previous:{title:"Governance",permalink:"/learn/governance/"},next:{title:"P2P",permalink:"/learn/p2p/"}},l={},s=[{value:"How is it work ?",id:"how-is-it-work-",level:2},{value:"Services",id:"services",level:2}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,a.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Archethic Blockchain supports Off-Chain communication through a dedicated transaction chain called ",(0,a.kt)("inlineCode",{parentName:"p"},"OracleChain"),"."),(0,a.kt)("p",null,"It aims to gather external data to be used inside the network or the smart contract layer."),(0,a.kt)("h2",{id:"how-is-it-work-"},"How is it work ?"),(0,a.kt)("p",null,"OracleChain behaves a bit like the ",(0,a.kt)("a",{parentName:"p",href:"/learn/sharding/beacon-chain"},"BeaconChain")," except the transaction on the chain are generated every 10min but only when there is a new data updated."),(0,a.kt)("p",null,"It's using a long-polling mechanism to get data from external sources and submit a transaction through ARCH Consensus."),(0,a.kt)("p",null,"By using ARCH consensus, we ensure the atomic commitment of the data submitted and ensure validity of the information written into the transaction."),(0,a.kt)("p",null,"Each node receives the new transaction from the OracleChain and can apply behaviors from this new data and notify smart contracts which depends on oracle updates."),(0,a.kt)("mermaid",{value:"graph TD\n A[Node1] --\x3e|1. Fetch data| B\n B(External service: ie. UCO Price)\n A --\x3e | 2. Send transaction| C\n A --\x3e | 2. Send transaction| D\n C[Node2] --\x3e | 3. Check data | B \n D[Node3] --\x3e | 3. Check data |B\n C[Node2] --\x3e | 4. Validate transaction | D \n D[Node2] --\x3e C"}),(0,a.kt)("h2",{id:"services"},"Services"),(0,a.kt)("p",null,"The list of services supported by the OracleChain:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"UCO Price Feed: fetching UCO token price from Coingecko in USD/EUR currency and is used for the:",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"Transaction Fee algorithm"),(0,a.kt)("li",{parentName:"ul"},"Auto reward of nodes which didn't receive enough mining rewards")))))}p.isMDXComponent=!0},8209:(e,t,n)=>{n(67294)}}]); \ No newline at end of file diff --git a/assets/js/14d826f7.694841b5.js b/assets/js/14d826f7.0532737e.js similarity index 99% rename from assets/js/14d826f7.694841b5.js rename to assets/js/14d826f7.0532737e.js index c293fe627..c0b27da65 100644 --- a/assets/js/14d826f7.694841b5.js +++ b/assets/js/14d826f7.0532737e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7870],{3905:(e,t,r)=>{r.d(t,{Zo:()=>h,kt:()=>w});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},h=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,h=i(e,["components","mdxType","originalType","parentName"]),u=s(r),d=o,w=u["".concat(c,".").concat(d)]||u[d]||p[d]||a;return r?n.createElement(w,l(l({ref:t},h),{},{components:r})):n.createElement(w,l({ref:t},h))}));function w(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[u]="string"==typeof e?e:o,l[1]=i;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>s});var n=r(87462),o=(r(67294),r(3905));r(8209);const a={id:"wallet",title:"aeWallet"},l=void 0,i={unversionedId:"FAQ/wallet",id:"FAQ/wallet",title:"aeWallet",description:"General",source:"@site/docs/FAQ/wallet.md",sourceDirName:"FAQ",slug:"/FAQ/wallet",permalink:"/FAQ/wallet",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",frontMatter:{id:"wallet",title:"aeWallet"},sidebar:"docs",previous:{title:"Migration of ERC-20 UCO Tokens",permalink:"/FAQ/migration-erc-token"},next:{title:"Contributing",permalink:"/contributing"}},c={},s=[{value:"General",id:"general",level:2},{value:" How to create a wallet on the Archethic blockchain?",id:"-how-to-create-a-wallet-on-the-archethic-blockchain",level:3},{value:" How to retrieve the address of my Archethic wallet?",id:"-how-to-retrieve-the-address-of-my-archethic-wallet",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"The Archethic wallet won't start or opens to a black or white screen",id:"the-archethic-wallet-wont-start-or-opens-to-a-black-or-white-screen",level:3}],h={toc:s},u="wrapper";function p(e){let{components:t,...a}=e;return(0,o.kt)(u,(0,n.Z)({},h,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"general"},"General"),(0,o.kt)("h3",{id:"-how-to-create-a-wallet-on-the-archethic-blockchain"},(0,o.kt)("strong",{parentName:"h3"}," How to create a wallet on the Archethic blockchain?")),(0,o.kt)("p",null,"Firstly, ",(0,o.kt)("a",{href:"https://www.archethic.net/wallet.html",target:"_blank"},"download the wallet")," version that corresponds to the platform you want to use it on from the Archethic website or the app stores.\nOnce installed, you can launch the application."),(0,o.kt)("p",null,"1) The first page invites you to read and accept ",(0,o.kt)("a",{parentName:"p",href:"https://www.archethic.net/privacy-policy-wallet.html"},"the privacy policy"),".",(0,o.kt)("br",null),'\n2) Once accepted, you can click on "Get started" to begin creating your wallet.',(0,o.kt)("br",null),"\n3) First, give a name to your first account within your future decentralized keychain.",(0,o.kt)("br",null),"\n4) A confirmation popup appears to verify that the account name is to your liking.",(0,o.kt)("br",null),"\n5) The application reminds you of important security information to protect your funds and your secret phrase.",(0,o.kt)("br",null),'\n6) After reading the information, click on "I understand".',(0,o.kt)("br",null),"\n7) The 24 words of your secret phrase will be displayed.",(0,o.kt)("br",null)),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Do not share them with anyone and write them down so you can confirm them on the following screen.")),(0,o.kt)("p",null,"8) Confirmation requires that the words be put back in order.",(0,o.kt)("br",null),"\n9) Once the process of confirming the order of the words in the secret phrase is done, you can select the means to protect your application (PIN code, password, biometrics, YubiKey).",(0,o.kt)("br",null),"\n10) After a few seconds of waiting, your keychain is created with your first account.",(0,o.kt)("br",null)),(0,o.kt)("p",null,"You can now enjoy the Archethic ecosystem. Enjoy!"),(0,o.kt)("h3",{id:"-how-to-retrieve-the-address-of-my-archethic-wallet"},(0,o.kt)("strong",{parentName:"h3"}," How to retrieve the address of my Archethic wallet?")),(0,o.kt)("p",null,"Firstly, you should be aware that your address changes with each transaction."),(0,o.kt)("p",null,"But don't worry. If you provide an old address to receive funds or tokens, it will still work, and you will receive what you are expecting."),(0,o.kt)("admonition",{type:"success"},(0,o.kt)("p",{parentName:"admonition"},"If you do not have an Archethic wallet or address yet, we invite you to refer to the section",(0,o.kt)("br",null),(0,o.kt)("a",{href:"/FAQ/wallet#-how-to-create-a-wallet-on-the-archethic-blockchain"},'"How to create a wallet on the Archethic blockchain?"'))),(0,o.kt)("p",null,"Once your wallet is created,",(0,o.kt)("br",null)),(0,o.kt)("p",null,'1) select the account on which you wish to receive your funds or tokens via the "Accounts" tab by clicking on the dropdown arrow at the top of the screen to the right of the current profile. A list will appear, showing your accounts and services contained in your decentralized keychain.',(0,o.kt)("br",null),'\n2) Once selected, you will be returned to the "Accounts" tab, where a "Receive" button will be visible.',(0,o.kt)("br",null),"\n3) Click on it, and you will obtain your address, either in the form of a QR Code or as text by clicking on the icon corresponding to the copy action.",(0,o.kt)("br",null)),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"wallet-address",src:r(71992).Z,width:"313",height:"320"})),(0,o.kt)("h2",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("h3",{id:"the-archethic-wallet-wont-start-or-opens-to-a-black-or-white-screen"},"The Archethic wallet won't start or opens to a black or white screen"),(0,o.kt)("p",null,"To resolve a startup issue with the Archethic wallet, here are some corrective actions:"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Please note, steps 3 and 4 require you to reimport your wallet afterward by entering your mnemonic phrase.")),(0,o.kt)("p",null,"1) Verify that the application is downloaded from an official source."),(0,o.kt)("p",null,"For this, please visit the website ",(0,o.kt)("a",{parentName:"p",href:"https://www.archethic.net/wallet.html"},"https://www.archethic.net/wallet.html"),".\nFor security and proper functionality, Archethic advises against using the application on jailbroken devices or in developer mode."),(0,o.kt)("p",null,"2) Uninstall and then reinstall the application."),(0,o.kt)("p",null,"3) If the issue persists, ",(0,o.kt)("strong",{parentName:"p"},"for desktop versions"),", please delete the wallet's local database. "),(0,o.kt)("p",null,"To do this, manually delete at least the following files:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"appwallet.hive"),(0,o.kt)("li",{parentName:"ul"},"appwallet.lock"),(0,o.kt)("li",{parentName:"ul"},"cachemanager.hive"),(0,o.kt)("li",{parentName:"ul"},"cachemanager.lock"),(0,o.kt)("li",{parentName:"ul"},"contacts.hive"),(0,o.kt)("li",{parentName:"ul"},"contacts.lock"),(0,o.kt)("li",{parentName:"ul"},"messengerdiscussion.hive"),(0,o.kt)("li",{parentName:"ul"},"messengerdiscussion.lock"),(0,o.kt)("li",{parentName:"ul"},"_preferencesbox.hive"),(0,o.kt)("li",{parentName:"ul"},"_preferencesbox.lock"),(0,o.kt)("li",{parentName:"ul"},"_vaultbox.hive"),(0,o.kt)("li",{parentName:"ul"},"_vaultbox.lock")),(0,o.kt)("p",null,"In the directories according to your platform:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"macOS: /Users/{user}/Library/Containers/{YourAppName}/Data/Documents/"),(0,o.kt)("li",{parentName:"ul"},"Linux: /home/{user}/.local/share/{YourAppName}/"),(0,o.kt)("li",{parentName:"ul"},"Windows: C:\\Users{user}\\AppData\\Roaming{YourAppOrganization}\\")))}p.isMDXComponent=!0},71992:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/wallet-FAQ-display-address-0c6efd94638549668c63710c919235b2.png"},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7870],{3905:(e,t,r)=>{r.d(t,{Zo:()=>h,kt:()=>w});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),s=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},h=function(e){var t=s(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,h=i(e,["components","mdxType","originalType","parentName"]),u=s(r),d=o,w=u["".concat(c,".").concat(d)]||u[d]||p[d]||a;return r?n.createElement(w,l(l({ref:t},h),{},{components:r})):n.createElement(w,l({ref:t},h))}));function w(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=d;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[u]="string"==typeof e?e:o,l[1]=i;for(var s=2;s{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>s});var n=r(87462),o=(r(67294),r(3905));r(8209);const a={id:"wallet",title:"aeWallet"},l=void 0,i={unversionedId:"FAQ/wallet",id:"FAQ/wallet",title:"aeWallet",description:"General",source:"@site/docs/FAQ/wallet.md",sourceDirName:"FAQ",slug:"/FAQ/wallet",permalink:"/FAQ/wallet",draft:!1,tags:[],version:"current",lastUpdatedAt:1735315575,formattedLastUpdatedAt:"Dec 27, 2024",frontMatter:{id:"wallet",title:"aeWallet"},sidebar:"docs",previous:{title:"Migration of ERC-20 UCO Tokens",permalink:"/FAQ/migration-erc-token"},next:{title:"Contributing",permalink:"/contributing"}},c={},s=[{value:"General",id:"general",level:2},{value:" How to create a wallet on the Archethic blockchain?",id:"-how-to-create-a-wallet-on-the-archethic-blockchain",level:3},{value:" How to retrieve the address of my Archethic wallet?",id:"-how-to-retrieve-the-address-of-my-archethic-wallet",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"The Archethic wallet won't start or opens to a black or white screen",id:"the-archethic-wallet-wont-start-or-opens-to-a-black-or-white-screen",level:3}],h={toc:s},u="wrapper";function p(e){let{components:t,...a}=e;return(0,o.kt)(u,(0,n.Z)({},h,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"general"},"General"),(0,o.kt)("h3",{id:"-how-to-create-a-wallet-on-the-archethic-blockchain"},(0,o.kt)("strong",{parentName:"h3"}," How to create a wallet on the Archethic blockchain?")),(0,o.kt)("p",null,"Firstly, ",(0,o.kt)("a",{href:"https://www.archethic.net/wallet.html",target:"_blank"},"download the wallet")," version that corresponds to the platform you want to use it on from the Archethic website or the app stores.\nOnce installed, you can launch the application."),(0,o.kt)("p",null,"1) The first page invites you to read and accept ",(0,o.kt)("a",{parentName:"p",href:"https://www.archethic.net/privacy-policy-wallet.html"},"the privacy policy"),".",(0,o.kt)("br",null),'\n2) Once accepted, you can click on "Get started" to begin creating your wallet.',(0,o.kt)("br",null),"\n3) First, give a name to your first account within your future decentralized keychain.",(0,o.kt)("br",null),"\n4) A confirmation popup appears to verify that the account name is to your liking.",(0,o.kt)("br",null),"\n5) The application reminds you of important security information to protect your funds and your secret phrase.",(0,o.kt)("br",null),'\n6) After reading the information, click on "I understand".',(0,o.kt)("br",null),"\n7) The 24 words of your secret phrase will be displayed.",(0,o.kt)("br",null)),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Do not share them with anyone and write them down so you can confirm them on the following screen.")),(0,o.kt)("p",null,"8) Confirmation requires that the words be put back in order.",(0,o.kt)("br",null),"\n9) Once the process of confirming the order of the words in the secret phrase is done, you can select the means to protect your application (PIN code, password, biometrics, YubiKey).",(0,o.kt)("br",null),"\n10) After a few seconds of waiting, your keychain is created with your first account.",(0,o.kt)("br",null)),(0,o.kt)("p",null,"You can now enjoy the Archethic ecosystem. Enjoy!"),(0,o.kt)("h3",{id:"-how-to-retrieve-the-address-of-my-archethic-wallet"},(0,o.kt)("strong",{parentName:"h3"}," How to retrieve the address of my Archethic wallet?")),(0,o.kt)("p",null,"Firstly, you should be aware that your address changes with each transaction."),(0,o.kt)("p",null,"But don't worry. If you provide an old address to receive funds or tokens, it will still work, and you will receive what you are expecting."),(0,o.kt)("admonition",{type:"success"},(0,o.kt)("p",{parentName:"admonition"},"If you do not have an Archethic wallet or address yet, we invite you to refer to the section",(0,o.kt)("br",null),(0,o.kt)("a",{href:"/FAQ/wallet#-how-to-create-a-wallet-on-the-archethic-blockchain"},'"How to create a wallet on the Archethic blockchain?"'))),(0,o.kt)("p",null,"Once your wallet is created,",(0,o.kt)("br",null)),(0,o.kt)("p",null,'1) select the account on which you wish to receive your funds or tokens via the "Accounts" tab by clicking on the dropdown arrow at the top of the screen to the right of the current profile. A list will appear, showing your accounts and services contained in your decentralized keychain.',(0,o.kt)("br",null),'\n2) Once selected, you will be returned to the "Accounts" tab, where a "Receive" button will be visible.',(0,o.kt)("br",null),"\n3) Click on it, and you will obtain your address, either in the form of a QR Code or as text by clicking on the icon corresponding to the copy action.",(0,o.kt)("br",null)),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"wallet-address",src:r(71992).Z,width:"313",height:"320"})),(0,o.kt)("h2",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("h3",{id:"the-archethic-wallet-wont-start-or-opens-to-a-black-or-white-screen"},"The Archethic wallet won't start or opens to a black or white screen"),(0,o.kt)("p",null,"To resolve a startup issue with the Archethic wallet, here are some corrective actions:"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Please note, steps 3 and 4 require you to reimport your wallet afterward by entering your mnemonic phrase.")),(0,o.kt)("p",null,"1) Verify that the application is downloaded from an official source."),(0,o.kt)("p",null,"For this, please visit the website ",(0,o.kt)("a",{parentName:"p",href:"https://www.archethic.net/wallet.html"},"https://www.archethic.net/wallet.html"),".\nFor security and proper functionality, Archethic advises against using the application on jailbroken devices or in developer mode."),(0,o.kt)("p",null,"2) Uninstall and then reinstall the application."),(0,o.kt)("p",null,"3) If the issue persists, ",(0,o.kt)("strong",{parentName:"p"},"for desktop versions"),", please delete the wallet's local database. "),(0,o.kt)("p",null,"To do this, manually delete at least the following files:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"appwallet.hive"),(0,o.kt)("li",{parentName:"ul"},"appwallet.lock"),(0,o.kt)("li",{parentName:"ul"},"cachemanager.hive"),(0,o.kt)("li",{parentName:"ul"},"cachemanager.lock"),(0,o.kt)("li",{parentName:"ul"},"contacts.hive"),(0,o.kt)("li",{parentName:"ul"},"contacts.lock"),(0,o.kt)("li",{parentName:"ul"},"messengerdiscussion.hive"),(0,o.kt)("li",{parentName:"ul"},"messengerdiscussion.lock"),(0,o.kt)("li",{parentName:"ul"},"_preferencesbox.hive"),(0,o.kt)("li",{parentName:"ul"},"_preferencesbox.lock"),(0,o.kt)("li",{parentName:"ul"},"_vaultbox.hive"),(0,o.kt)("li",{parentName:"ul"},"_vaultbox.lock")),(0,o.kt)("p",null,"In the directories according to your platform:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"macOS: /Users/{user}/Library/Containers/{YourAppName}/Data/Documents/"),(0,o.kt)("li",{parentName:"ul"},"Linux: /home/{user}/.local/share/{YourAppName}/"),(0,o.kt)("li",{parentName:"ul"},"Windows: C:\\Users{user}\\AppData\\Roaming{YourAppOrganization}\\")))}p.isMDXComponent=!0},71992:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/wallet-FAQ-display-address-0c6efd94638549668c63710c919235b2.png"},8209:(e,t,r)=>{r(67294)}}]); \ No newline at end of file diff --git a/assets/js/15848830.e9c23893.js b/assets/js/15848830.8fddb2eb.js similarity index 99% rename from assets/js/15848830.e9c23893.js rename to assets/js/15848830.8fddb2eb.js index 1adfab8f7..7ad1fea84 100644 --- a/assets/js/15848830.e9c23893.js +++ b/assets/js/15848830.8fddb2eb.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2233],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>f});var a=t(67294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},u=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=c(t),m=r,f=p["".concat(s,".").concat(m)]||p[m]||d[m]||i;return t?a.createElement(f,o(o({ref:n},u),{},{components:t})):a.createElement(f,o({ref:n},u))}));function f(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,o=new Array(i);o[0]=m;var l={};for(var s in n)hasOwnProperty.call(n,s)&&(l[s]=n[s]);l.originalType=e,l[p]="string"==typeof e?e:r,o[1]=l;for(var c=2;c{t.d(n,{Z:()=>o});var a=t(67294),r=t(86010);const i={tabItem:"tabItem_Ymn6"};function o(e){let{children:n,hidden:t,className:o}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(i.tabItem,o),hidden:t},n)}},74866:(e,n,t)=>{t.d(n,{Z:()=>w});var a=t(87462),r=t(67294),i=t(86010),o=t(12466),l=t(16550),s=t(91980),c=t(67392),u=t(50012);function p(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}function d(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??p(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function m(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function f(e){let{queryString:n=!1,groupId:t}=e;const a=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,s._X)(i),(0,r.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(a.location.search);n.set(i,e),a.replace({...a.location,search:n.toString()})}),[i,a])]}function g(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,i=d(e),[o,l]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!m({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:i}))),[s,c]=f({queryString:t,groupId:a}),[p,g]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,i]=(0,u.Nk)(t);return[a,(0,r.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:a}),b=(()=>{const e=s??p;return m({value:e,tabValues:i})?e:null})();(0,r.useLayoutEffect)((()=>{b&&l(b)}),[b]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),c(e),g(e)}),[c,g,i]),tabValues:i}}var b=t(72389);const h={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};function y(e){let{className:n,block:t,selectedValue:l,selectValue:s,tabValues:c}=e;const u=[],{blockElementScrollPositionUntilNextRender:p}=(0,o.o5)(),d=e=>{const n=e.currentTarget,t=u.indexOf(n),a=c[t].value;a!==l&&(p(n),s(a))},m=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=u.indexOf(e.currentTarget)+1;n=u[t]??u[0];break}case"ArrowLeft":{const t=u.indexOf(e.currentTarget)-1;n=u[t]??u[u.length-1];break}}n?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n)},c.map((e=>{let{value:n,label:t,attributes:o}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:l===n?0:-1,"aria-selected":l===n,key:n,ref:e=>u.push(e),onKeyDown:m,onClick:d},o,{className:(0,i.Z)("tabs__item",h.tabItem,o?.className,{"tabs__item--active":l===n})}),t??n)})))}function v(e){let{lazy:n,children:t,selectedValue:a}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},i.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function k(e){const n=g(e);return r.createElement("div",{className:(0,i.Z)("tabs-container",h.tabList)},r.createElement(y,(0,a.Z)({},e,n)),r.createElement(v,(0,a.Z)({},e,n)))}function w(e){const n=(0,b.Z)();return r.createElement(k,(0,a.Z)({key:String(n)},e))}},53019:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>c,default:()=>g,frontMatter:()=>s,metadata:()=>u,toc:()=>d});var a=t(87462),r=(t(67294),t(3905)),i=(t(8209),t(74866)),o=t(85162),l=t(44824);const s={id:"signing-transaction",title:"Signing transaction",sidebar_label:"Signing transaction"},c=void 0,u={unversionedId:"build/dapp/signing-transaction",id:"build/dapp/signing-transaction",title:"Signing transaction",description:"This example delegates a Transaction signature to aeWallet.",source:"@site/docs/build/dapp/05-sign-transaction.mdx",sourceDirName:"build/dapp",slug:"/build/dapp/signing-transaction",permalink:"/build/dapp/signing-transaction",draft:!1,tags:[],version:"current",lastUpdatedAt:1735232584,formattedLastUpdatedAt:"Dec 26, 2024",sidebarPosition:5,frontMatter:{id:"signing-transaction",title:"Signing transaction",sidebar_label:"Signing transaction"},sidebar:"docs",previous:{title:"Watching account",permalink:"/build/dapp/watch-balance"},next:{title:"RPC Commands",permalink:"/build/dapp/rpc-commands"}},p={},d=[],m={toc:d},f="wrapper";function g(e){let{components:n,...t}=e;return(0,r.kt)(f,(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"This example delegates a ",(0,r.kt)("strong",{parentName:"p"},"Transaction")," signature to ",(0,r.kt)("strong",{parentName:"p"},"aeWallet"),"."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Ensure that the ",(0,r.kt)("strong",{parentName:"p"},"aeWallet")," application is ",(0,r.kt)("strong",{parentName:"p"},"running and unlocked")," before attempting connection.")),(0,r.kt)(i.Z,{groupId:"sdk",mdxType:"Tabs"},(0,r.kt)(o.Z,{value:"javascript",label:"Javascript / Typescript",mdxType:"TabItem"},(0,r.kt)(l.ZP,{mdxType:"JSDisclaimer"}),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-html",metastring:'title="index.html"',title:'"index.html"'},'\n \n - +
-

include

Directs the executor to include this field or fragment only when the if argument is true.

directive @include(
if: Boolean!
) on
| FIELD
| FRAGMENT_SPREAD
| INLINE_FRAGMENT

Arguments

include.if ● Boolean! non-null scalar

Included when true.

- +

include

Directs the executor to include this field or fragment only when the if argument is true.

directive @include(
if: Boolean!
) on
| FIELD
| FRAGMENT_SPREAD
| INLINE_FRAGMENT

Arguments

include.if ● Boolean! non-null scalar

Included when true.

+ \ No newline at end of file diff --git a/build/api/schema/directives/skip/index.html b/build/api/schema/directives/skip/index.html index e5213547c..08bc7691a 100644 --- a/build/api/schema/directives/skip/index.html +++ b/build/api/schema/directives/skip/index.html @@ -4,13 +4,13 @@ skip | Archethic - +
-

skip

Directs the executor to skip this field or fragment when the if argument is true.

directive @skip(
if: Boolean!
) on
| FIELD
| FRAGMENT_SPREAD
| INLINE_FRAGMENT

Arguments

skip.if ● Boolean! non-null scalar

Skipped when true.

- +

skip

Directs the executor to skip this field or fragment when the if argument is true.

directive @skip(
if: Boolean!
) on
| FIELD
| FRAGMENT_SPREAD
| INLINE_FRAGMENT

Arguments

skip.if ● Boolean! non-null scalar

Skipped when true.

+ \ No newline at end of file diff --git a/build/api/schema/enums/error-context/index.html b/build/api/schema/enums/error-context/index.html index 6b8a619f5..de839dd70 100644 --- a/build/api/schema/enums/error-context/index.html +++ b/build/api/schema/enums/error-context/index.html @@ -4,13 +4,13 @@ ErrorContext | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/enums/sort-order/index.html b/build/api/schema/enums/sort-order/index.html index aa12acd78..88a3ff729 100644 --- a/build/api/schema/enums/sort-order/index.html +++ b/build/api/schema/enums/sort-order/index.html @@ -4,14 +4,14 @@ SortOrder | Archethic - + - +possible values are ASC or DESC

enum SortOrder {
ASC
DESC
}

Values

SortOrder.ASC

Ascending order

SortOrder.DESC

Descending order

Member of

transactionChain query

+ \ No newline at end of file diff --git a/build/api/schema/objects/authorized-key/index.html b/build/api/schema/objects/authorized-key/index.html index 5c9366566..3482c2509 100644 --- a/build/api/schema/objects/authorized-key/index.html +++ b/build/api/schema/objects/authorized-key/index.html @@ -4,14 +4,14 @@ AuthorizedKey | Archethic - + - +By decrypting this secret key, the authorized public key will be able to decrypt its related secret

type AuthorizedKey {
encryptedSecretKey: Hex
publicKey: PublicKey
}

Fields

AuthorizedKey.encryptedSecretKey ● Hex scalar

AuthorizedKey.publicKey ● PublicKey scalar

Member of

Ownership object

+ \ No newline at end of file diff --git a/build/api/schema/objects/balance/index.html b/build/api/schema/objects/balance/index.html index f61a4663d..088d03374 100644 --- a/build/api/schema/objects/balance/index.html +++ b/build/api/schema/objects/balance/index.html @@ -4,14 +4,14 @@ Balance | Archethic - + - +It includes:

  • UCO: uco balance
  • token: token balances
type Balance {
token: [TokenBalance]
uco: Int
}

Fields

Balance.token ● [TokenBalance] list object

Balance.uco ● Int scalar

Returned by

balance query

Member of

Transaction object

+ \ No newline at end of file diff --git a/build/api/schema/objects/beacon-chain-summary/index.html b/build/api/schema/objects/beacon-chain-summary/index.html index 8f9af6bab..3c6d5a111 100644 --- a/build/api/schema/objects/beacon-chain-summary/index.html +++ b/build/api/schema/objects/beacon-chain-summary/index.html @@ -4,13 +4,13 @@ BeaconChainSummary | Archethic - +
-

BeaconChainSummary

[Beacon Chain Summary] represents the beacon chain aggregate for a certain date

type BeaconChainSummary {
availabilityAddingTime: Int
p2pAvailabilities: P2pAvailabilities
summaryTime: Timestamp
transactionSummaries(
limit: PosInteger
pagingOffset: NonNegInteger
): [TransactionSummary]
version: Int
}

Fields

BeaconChainSummary.availabilityAddingTime ● Int scalar

BeaconChainSummary.p2pAvailabilities ● P2pAvailabilities scalar

BeaconChainSummary.summaryTime ● Timestamp scalar

BeaconChainSummary.transactionSummaries ● [TransactionSummary] list object

BeaconChainSummary.transactionSummaries.limit ● PosInteger scalar
BeaconChainSummary.transactionSummaries.pagingOffset ● NonNegInteger scalar

BeaconChainSummary.version ● Int scalar

Returned by

beaconChainSummary query

- +

BeaconChainSummary

[Beacon Chain Summary] represents the beacon chain aggregate for a certain date

type BeaconChainSummary {
availabilityAddingTime: Int
p2pAvailabilities: P2pAvailabilities
summaryTime: Timestamp
transactionSummaries(
limit: PosInteger
pagingOffset: NonNegInteger
): [TransactionSummary]
version: Int
}

Fields

BeaconChainSummary.availabilityAddingTime ● Int scalar

BeaconChainSummary.p2pAvailabilities ● P2pAvailabilities scalar

BeaconChainSummary.summaryTime ● Timestamp scalar

BeaconChainSummary.transactionSummaries ● [TransactionSummary] list object

BeaconChainSummary.transactionSummaries.limit ● PosInteger scalar
BeaconChainSummary.transactionSummaries.pagingOffset ● NonNegInteger scalar

BeaconChainSummary.version ● Int scalar

Returned by

beaconChainSummary query

+ \ No newline at end of file diff --git a/build/api/schema/objects/consumed-inputs/index.html b/build/api/schema/objects/consumed-inputs/index.html index 2aee8b2d7..e0f6265e9 100644 --- a/build/api/schema/objects/consumed-inputs/index.html +++ b/build/api/schema/objects/consumed-inputs/index.html @@ -4,14 +4,14 @@ ConsumedInputs | Archethic - +

ConsumedInputs

[ConsumedInputs] represents the inputs consumed by the transaction -It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO / token / state / call
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
  • Timestamp: Date time when the UTXO created/manipulated
  • Protocol Version: Version of the UTXO data structure
  • State: It is the state of a smart contract
type ConsumedInputs {
amount: Int
from: Address
protocolVersion: Int
state: State
timestamp: Timestamp
tokenAddress: Address
tokenId: Int
type: String
}

Fields

ConsumedInputs.amount ● Int scalar

ConsumedInputs.from ● Address scalar

ConsumedInputs.protocolVersion ● Int scalar

ConsumedInputs.state ● State scalar

ConsumedInputs.timestamp ● Timestamp scalar

ConsumedInputs.tokenAddress ● Address scalar

ConsumedInputs.tokenId ● Int scalar

ConsumedInputs.type ● String scalar

Member of

LedgerOperations object

- +It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO / token / state / call
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
  • Timestamp: Date time when the UTXO created/manipulated
  • Protocol Version: Version of the UTXO data structure
  • State: It is the state of a smart contract
type ConsumedInputs {
amount: Int
from: Address
protocolVersion: Int
state: State
timestamp: Timestamp
tokenAddress: Address
tokenId: Int
type: String
}

Fields

ConsumedInputs.amount ● Int scalar

ConsumedInputs.from ● Address scalar

ConsumedInputs.protocolVersion ● Int scalar

ConsumedInputs.state ● State scalar

ConsumedInputs.timestamp ● Timestamp scalar

ConsumedInputs.tokenAddress ● Address scalar

ConsumedInputs.tokenId ● Int scalar

ConsumedInputs.type ● String scalar

Member of

LedgerOperations object

+ \ No newline at end of file diff --git a/build/api/schema/objects/cross-validation-stamp/index.html b/build/api/schema/objects/cross-validation-stamp/index.html index 5773f3fa1..67dc6009b 100644 --- a/build/api/schema/objects/cross-validation-stamp/index.html +++ b/build/api/schema/objects/cross-validation-stamp/index.html @@ -4,14 +4,14 @@ CrossValidationStamp | Archethic - + - +It includes:

  • Signature: signature of the validation stamp
  • Node public key: cross validation node's public key
type CrossValidationStamp {
nodePublicKey: PublicKey
signature: Hex
}

Fields

CrossValidationStamp.nodePublicKey ● PublicKey scalar

CrossValidationStamp.signature ● Hex scalar

Member of

Transaction object

+ \ No newline at end of file diff --git a/build/api/schema/objects/data/index.html b/build/api/schema/objects/data/index.html index 6ae7bb75f..ba29edce1 100644 --- a/build/api/schema/objects/data/index.html +++ b/build/api/schema/objects/data/index.html @@ -4,14 +4,14 @@ Data | Archethic - +

Data

[TransactionData] represents the data section for every transaction. -It includes:

  • Ledger: asset transfers
  • Code: smart contract code (hexadecimal),
  • Content: free zone for data hosting (string or hexadecimal)
  • Ownership: authorization/delegations containing list of secrets and their authorized public keys to proof the ownership
  • Recipients: For non asset transfers, the list of recipients of the transaction (e.g Smart contract interactions)
type Data {
actionRecipients: [Recipient]
code: String
content: Content
ledger: Ledger
ownerships: [Ownership]
recipients: [Address]
}

Fields

Data.actionRecipients ● [Recipient] list object

Data.code ● String scalar

Data.content ● Content scalar

Data.ledger ● Ledger object

Data.ownerships ● [Ownership] list object

Data.recipients ● [Address] list scalar

Member of

Transaction object

- +It includes:

  • Ledger: asset transfers
  • Code: smart contract code (hexadecimal),
  • Content: free zone for data hosting (string or hexadecimal)
  • Ownership: authorization/delegations containing list of secrets and their authorized public keys to proof the ownership
  • Recipients: For non asset transfers, the list of recipients of the transaction (e.g Smart contract interactions)
type Data {
actionRecipients: [Recipient]
code: String
content: Content
ledger: Ledger
ownerships: [Ownership]
recipients: [Address]
}

Fields

Data.actionRecipients ● [Recipient] list object

Data.code ● String scalar

Data.content ● Content scalar

Data.ledger ● Ledger object

Data.ownerships ● [Ownership] list object

Data.recipients ● [Address] list scalar

Member of

Transaction object

+ \ No newline at end of file diff --git a/build/api/schema/objects/endpoint/index.html b/build/api/schema/objects/endpoint/index.html index 9e7c0b909..7bf9effb5 100644 --- a/build/api/schema/objects/endpoint/index.html +++ b/build/api/schema/objects/endpoint/index.html @@ -4,13 +4,13 @@ Endpoint | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/error-details/index.html b/build/api/schema/objects/error-details/index.html index 2fddfc2b5..6398a4baf 100644 --- a/build/api/schema/objects/error-details/index.html +++ b/build/api/schema/objects/error-details/index.html @@ -4,13 +4,13 @@ ErrorDetails | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/ledger-operations/index.html b/build/api/schema/objects/ledger-operations/index.html index 990ea394b..d33820754 100644 --- a/build/api/schema/objects/ledger-operations/index.html +++ b/build/api/schema/objects/ledger-operations/index.html @@ -4,14 +4,14 @@ LedgerOperations | Archethic - +
- +It includes:

  • Transaction movements: assets transfers
  • Unspent outputs: remaining unspent outputs
  • Fee: transaction fee
type LedgerOperations {
consumedInputs: [ConsumedInputs]
fee: Int
transactionMovements: [TransactionMovement]
unspentOutputs: [UnspentOutput]
}

Fields

LedgerOperations.consumedInputs ● [ConsumedInputs] list object

LedgerOperations.fee ● Int scalar

LedgerOperations.transactionMovements ● [TransactionMovement] list object

LedgerOperations.unspentOutputs ● [UnspentOutput] list object

Member of

ValidationStamp object

+ \ No newline at end of file diff --git a/build/api/schema/objects/ledger/index.html b/build/api/schema/objects/ledger/index.html index 9a68b860d..ce8ba553c 100644 --- a/build/api/schema/objects/ledger/index.html +++ b/build/api/schema/objects/ledger/index.html @@ -4,13 +4,13 @@ Ledger | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/node/index.html b/build/api/schema/objects/node/index.html index e0d3a1bc3..f47b53108 100644 --- a/build/api/schema/objects/node/index.html +++ b/build/api/schema/objects/node/index.html @@ -4,13 +4,13 @@ Node | Archethic - +
-

Node

[Node] represents a node in the network

type Node {
authorizationDate: Timestamp
authorized: Boolean
available: Boolean
averageAvailability: Float
enrollmentDate: Timestamp
firstPublicKey: PublicKey
geoPatch: String
ip: String
lastPublicKey: PublicKey
networkPatch: String
originPublicKey: PublicKey
port: Int
rewardAddress: Address
}

Fields

Node.authorizationDate ● Timestamp scalar

Node.authorized ● Boolean scalar

Node.available ● Boolean scalar

Node.averageAvailability ● Float scalar

Node.enrollmentDate ● Timestamp scalar

Node.firstPublicKey ● PublicKey scalar

Node.geoPatch ● String scalar

Node.ip ● String scalar

Node.lastPublicKey ● PublicKey scalar

Node.networkPatch ● String scalar

Node.originPublicKey ● PublicKey scalar

Node.port ● Int scalar

Node.rewardAddress ● Address scalar

Returned by

nodes query

- +

Node

[Node] represents a node in the network

type Node {
authorizationDate: Timestamp
authorized: Boolean
available: Boolean
averageAvailability: Float
enrollmentDate: Timestamp
firstPublicKey: PublicKey
geoPatch: String
ip: String
lastPublicKey: PublicKey
networkPatch: String
originPublicKey: PublicKey
port: Int
rewardAddress: Address
}

Fields

Node.authorizationDate ● Timestamp scalar

Node.authorized ● Boolean scalar

Node.available ● Boolean scalar

Node.averageAvailability ● Float scalar

Node.enrollmentDate ● Timestamp scalar

Node.firstPublicKey ● PublicKey scalar

Node.geoPatch ● String scalar

Node.ip ● String scalar

Node.lastPublicKey ● PublicKey scalar

Node.networkPatch ● String scalar

Node.originPublicKey ● PublicKey scalar

Node.port ● Int scalar

Node.rewardAddress ● Address scalar

Returned by

nodes query

+ \ No newline at end of file diff --git a/build/api/schema/objects/oracle-data/index.html b/build/api/schema/objects/oracle-data/index.html index 849c4427b..2c3ef453f 100644 --- a/build/api/schema/objects/oracle-data/index.html +++ b/build/api/schema/objects/oracle-data/index.html @@ -4,13 +4,13 @@ OracleData | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/oracle-services/index.html b/build/api/schema/objects/oracle-services/index.html index 5650f00d7..c94e4f4a1 100644 --- a/build/api/schema/objects/oracle-services/index.html +++ b/build/api/schema/objects/oracle-services/index.html @@ -4,13 +4,13 @@ OracleServices | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/ownership/index.html b/build/api/schema/objects/ownership/index.html index 160a036e1..d2c338003 100644 --- a/build/api/schema/objects/ownership/index.html +++ b/build/api/schema/objects/ownership/index.html @@ -4,13 +4,13 @@ Ownership | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/recipient/index.html b/build/api/schema/objects/recipient/index.html index f4fc7be79..53590641e 100644 --- a/build/api/schema/objects/recipient/index.html +++ b/build/api/schema/objects/recipient/index.html @@ -4,13 +4,13 @@ Recipient | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/shared-secrets/index.html b/build/api/schema/objects/shared-secrets/index.html index 518f7a004..0e3cfdc9e 100644 --- a/build/api/schema/objects/shared-secrets/index.html +++ b/build/api/schema/objects/shared-secrets/index.html @@ -4,14 +4,14 @@ SharedSecrets | Archethic - + - +It includes:

  • The storage nonce public key: Public Key to encrypt data for the node, so they will be able to decrypt it (mostly for smart contract authorized key)
type SharedSecrets {
storageNoncePublicKey: PublicKey
}

Fields

SharedSecrets.storageNoncePublicKey ● PublicKey scalar

Returned by

sharedSecrets query

+ \ No newline at end of file diff --git a/build/api/schema/objects/token-balance/index.html b/build/api/schema/objects/token-balance/index.html index 268b8e114..e86a44e52 100644 --- a/build/api/schema/objects/token-balance/index.html +++ b/build/api/schema/objects/token-balance/index.html @@ -4,14 +4,14 @@ TokenBalance | Archethic - + - +It includes:

  • Token: address of the token
  • Amount: amount of token
  • Token ID: ID of the token
type TokenBalance {
address: Address
amount: Int
tokenId: Int
}

Fields

TokenBalance.address ● Address scalar

TokenBalance.amount ● Int scalar

TokenBalance.tokenId ● Int scalar

Member of

Balance object

+ \ No newline at end of file diff --git a/build/api/schema/objects/token-ledger/index.html b/build/api/schema/objects/token-ledger/index.html index a215a4162..4d1599f36 100644 --- a/build/api/schema/objects/token-ledger/index.html +++ b/build/api/schema/objects/token-ledger/index.html @@ -4,13 +4,13 @@ TokenLedger | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/token-transfer/index.html b/build/api/schema/objects/token-transfer/index.html index 0b871df11..fd06d4bbf 100644 --- a/build/api/schema/objects/token-transfer/index.html +++ b/build/api/schema/objects/token-transfer/index.html @@ -4,13 +4,13 @@ TokenTransfer | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/token/index.html b/build/api/schema/objects/token/index.html index 11ae75178..9dfe28d8d 100644 --- a/build/api/schema/objects/token/index.html +++ b/build/api/schema/objects/token/index.html @@ -4,14 +4,14 @@ Token | Archethic - +

Token

[token] represents a token metadata. -It includes:

  • genesis: Genesis address to the token
  • name: Name of the token
  • symbol: Symbol of the token
  • supply: Supply of the token
  • type: Type of the token
  • decimals: Number of decimals of the token
  • properties: Properties of the token (if any)
  • collection: List of properties for a collection (if any)
  • ownerships: authorization/delegations containing list of secrets and their authorized public keys to proof the ownership
  • id: Unique identification of the token on the chain
type Token {
collection: [TokenProperties]
decimals: Int
genesis: Address
id: String
name: String
ownerships: [Ownership]
properties: TokenProperties
supply: Int
symbol: String
type: String
}

Fields

Token.collection ● [TokenProperties] list scalar

Token.decimals ● Int scalar

Token.genesis ● Address scalar

Token.id ● String scalar

Token.name ● String scalar

Token.ownerships ● [Ownership] list object

Token.properties ● TokenProperties scalar

Token.supply ● Int scalar

Token.symbol ● String scalar

Token.type ● String scalar

Returned by

token query

- +It includes:

  • genesis: Genesis address to the token
  • name: Name of the token
  • symbol: Symbol of the token
  • supply: Supply of the token
  • type: Type of the token
  • decimals: Number of decimals of the token
  • properties: Properties of the token (if any)
  • collection: List of properties for a collection (if any)
  • ownerships: authorization/delegations containing list of secrets and their authorized public keys to proof the ownership
  • id: Unique identification of the token on the chain
type Token {
collection: [TokenProperties]
decimals: Int
genesis: Address
id: String
name: String
ownerships: [Ownership]
properties: TokenProperties
supply: Int
symbol: String
type: String
}

Fields

Token.collection ● [TokenProperties] list scalar

Token.decimals ● Int scalar

Token.genesis ● Address scalar

Token.id ● String scalar

Token.name ● String scalar

Token.ownerships ● [Ownership] list object

Token.properties ● TokenProperties scalar

Token.supply ● Int scalar

Token.symbol ● String scalar

Token.type ● String scalar

Returned by

token query

+ \ No newline at end of file diff --git a/build/api/schema/objects/transaction-attestation/index.html b/build/api/schema/objects/transaction-attestation/index.html index 9baed8564..a19d1926b 100644 --- a/build/api/schema/objects/transaction-attestation/index.html +++ b/build/api/schema/objects/transaction-attestation/index.html @@ -4,14 +4,14 @@ TransactionAttestation | Archethic - + - +Few attestations can be received with differents confirmations to ensure a better security of the replication.

type TransactionAttestation {
address: Address
maxConfirmations: Int
nbConfirmations: Int
}

Fields

TransactionAttestation.address ● Address scalar

TransactionAttestation.maxConfirmations ● Int scalar

TransactionAttestation.nbConfirmations ● Int scalar

Returned by

transactionConfirmed subscription

+ \ No newline at end of file diff --git a/build/api/schema/objects/transaction-error/index.html b/build/api/schema/objects/transaction-error/index.html index 33d6627e5..94a521327 100644 --- a/build/api/schema/objects/transaction-error/index.html +++ b/build/api/schema/objects/transaction-error/index.html @@ -4,13 +4,13 @@ TransactionError | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/transaction-input/index.html b/build/api/schema/objects/transaction-input/index.html index f21b25d7c..cf5acca08 100644 --- a/build/api/schema/objects/transaction-input/index.html +++ b/build/api/schema/objects/transaction-input/index.html @@ -4,14 +4,14 @@ TransactionInput | Archethic - +

TransactionInput

[TransactionInput] represents the inputs from the transaction -It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO/token/Call
  • token address: address of the token if the type is token
  • Spent: determines if the input has been spent
  • Timestamp: Date time when the inputs was generated
  • token id: It is the id for a token which is allocated when the token is minted.
type TransactionInput {
amount: Int
from: Address
spent: Boolean
timestamp: Timestamp
tokenAddress: Address
tokenId: Int
type: String
}

Fields

TransactionInput.amount ● Int scalar

TransactionInput.from ● Address scalar

TransactionInput.spent ● Boolean scalar

TransactionInput.timestamp ● Timestamp scalar

TransactionInput.tokenAddress ● Address scalar

TransactionInput.tokenId ● Int scalar

TransactionInput.type ● String scalar

Returned by

transactionInputs query

Member of

Transaction object

- +It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO/token/Call
  • token address: address of the token if the type is token
  • Spent: determines if the input has been spent
  • Timestamp: Date time when the inputs was generated
  • token id: It is the id for a token which is allocated when the token is minted.
type TransactionInput {
amount: Int
from: Address
spent: Boolean
timestamp: Timestamp
tokenAddress: Address
tokenId: Int
type: String
}

Fields

TransactionInput.amount ● Int scalar

TransactionInput.from ● Address scalar

TransactionInput.spent ● Boolean scalar

TransactionInput.timestamp ● Timestamp scalar

TransactionInput.tokenAddress ● Address scalar

TransactionInput.tokenId ● Int scalar

TransactionInput.type ● String scalar

Returned by

transactionInputs query

Member of

Transaction object

+ \ No newline at end of file diff --git a/build/api/schema/objects/transaction-movement/index.html b/build/api/schema/objects/transaction-movement/index.html index d9c466fe9..024c64a09 100644 --- a/build/api/schema/objects/transaction-movement/index.html +++ b/build/api/schema/objects/transaction-movement/index.html @@ -4,14 +4,14 @@ TransactionMovement | Archethic - +
- +It includes:

  • TO: asset transfer recipient
  • Amount: asset amount
  • Type: UCO/token
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
type TransactionMovement {
amount: Int
to: Address
tokenAddress: Address
tokenId: Int
type: String
}

Fields

TransactionMovement.amount ● Int scalar

TransactionMovement.to ● Address scalar

TransactionMovement.tokenAddress ● Address scalar

TransactionMovement.tokenId ● Int scalar

TransactionMovement.type ● String scalar

Member of

LedgerOperations object

+ \ No newline at end of file diff --git a/build/api/schema/objects/transaction-summary/index.html b/build/api/schema/objects/transaction-summary/index.html index 25571d017..feaf16121 100644 --- a/build/api/schema/objects/transaction-summary/index.html +++ b/build/api/schema/objects/transaction-summary/index.html @@ -4,13 +4,13 @@ TransactionSummary | Archethic - +
-
- + + \ No newline at end of file diff --git a/build/api/schema/objects/transaction/index.html b/build/api/schema/objects/transaction/index.html index dc068658c..1a6a3ab1b 100644 --- a/build/api/schema/objects/transaction/index.html +++ b/build/api/schema/objects/transaction/index.html @@ -4,13 +4,13 @@ Transaction | Archethic - +
-

Transaction

[Transaction] represents a unitary transaction in the Archethic network.

type Transaction {
address: Address
balance: Balance
chainLength: Int
crossValidationStamps: [CrossValidationStamp]
data: Data
inputs(
limit: PosInteger
pagingOffset: NonNegInteger
): [TransactionInput]
originSignature: Hex
previousAddress: Address
previousPublicKey: PublicKey
previousSignature: Hex
type: String
validationStamp: ValidationStamp
version: Int
}

Fields

Transaction.address ● Address scalar

Transaction.balance ● Balance object

Transaction.chainLength ● Int scalar

Transaction.crossValidationStamps ● [CrossValidationStamp] list object

Transaction.data ● Data object

Transaction.inputs ● [TransactionInput] list object

Transaction.inputs.limit ● PosInteger scalar
Transaction.inputs.pagingOffset ● NonNegInteger scalar

Transaction.originSignature ● Hex scalar

Transaction.previousAddress ● Address scalar

Transaction.previousPublicKey ● PublicKey scalar

Transaction.previousSignature ● Hex scalar

Transaction.type ● String scalar

Transaction.validationStamp ● ValidationStamp object

Transaction.version ● Int scalar

Returned by

lastTransaction query ● networkTransactions query ● transaction query ● transactionChain query ● transactions query

- +

Transaction

[Transaction] represents a unitary transaction in the Archethic network.

type Transaction {
address: Address
balance: Balance
chainLength: Int
crossValidationStamps: [CrossValidationStamp]
data: Data
inputs(
limit: PosInteger
pagingOffset: NonNegInteger
): [TransactionInput]
originSignature: Hex
previousAddress: Address
previousPublicKey: PublicKey
previousSignature: Hex
type: String
validationStamp: ValidationStamp
version: Int
}

Fields

Transaction.address ● Address scalar

Transaction.balance ● Balance object

Transaction.chainLength ● Int scalar

Transaction.crossValidationStamps ● [CrossValidationStamp] list object

Transaction.data ● Data object

Transaction.inputs ● [TransactionInput] list object

Transaction.inputs.limit ● PosInteger scalar
Transaction.inputs.pagingOffset ● NonNegInteger scalar

Transaction.originSignature ● Hex scalar

Transaction.previousAddress ● Address scalar

Transaction.previousPublicKey ● PublicKey scalar

Transaction.previousSignature ● Hex scalar

Transaction.type ● String scalar

Transaction.validationStamp ● ValidationStamp object

Transaction.version ● Int scalar

Returned by

lastTransaction query ● networkTransactions query ● transaction query ● transactionChain query ● transactions query

+ \ No newline at end of file diff --git a/build/api/schema/objects/uco-data/index.html b/build/api/schema/objects/uco-data/index.html index 097d2acd8..036fe11fe 100644 --- a/build/api/schema/objects/uco-data/index.html +++ b/build/api/schema/objects/uco-data/index.html @@ -4,13 +4,13 @@ UcoData | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/uco-ledger/index.html b/build/api/schema/objects/uco-ledger/index.html index c7793022b..124963bd3 100644 --- a/build/api/schema/objects/uco-ledger/index.html +++ b/build/api/schema/objects/uco-ledger/index.html @@ -4,13 +4,13 @@ UcoLedger | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/uco-transfer/index.html b/build/api/schema/objects/uco-transfer/index.html index 07b4fa31c..9f02de0c1 100644 --- a/build/api/schema/objects/uco-transfer/index.html +++ b/build/api/schema/objects/uco-transfer/index.html @@ -4,13 +4,13 @@ UcoTransfer | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/objects/unspent-output/index.html b/build/api/schema/objects/unspent-output/index.html index ba2a75af3..cb8bbd152 100644 --- a/build/api/schema/objects/unspent-output/index.html +++ b/build/api/schema/objects/unspent-output/index.html @@ -4,14 +4,14 @@ UnspentOutput | Archethic - +

UnspentOutput

[UnspentOutput] represents the remaining unspent output of the transaction. -It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO / token / state
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
  • Timestamp: Date time when the UTXO created/manipulated
  • State: It is the state of a smart contract
type UnspentOutput {
amount: Int
from: Address
state: State
timestamp: Timestamp
tokenAddress: Address
tokenId: Int
type: String
}

Fields

UnspentOutput.amount ● Int scalar

UnspentOutput.from ● Address scalar

UnspentOutput.state ● State scalar

UnspentOutput.timestamp ● Timestamp scalar

UnspentOutput.tokenAddress ● Address scalar

UnspentOutput.tokenId ● Int scalar

UnspentOutput.type ● String scalar

Returned by

chainUnspentOutputs query

Member of

LedgerOperations object

- +It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO / token / state
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
  • Timestamp: Date time when the UTXO created/manipulated
  • State: It is the state of a smart contract
type UnspentOutput {
amount: Int
from: Address
state: State
timestamp: Timestamp
tokenAddress: Address
tokenId: Int
type: String
}

Fields

UnspentOutput.amount ● Int scalar

UnspentOutput.from ● Address scalar

UnspentOutput.state ● State scalar

UnspentOutput.timestamp ● Timestamp scalar

UnspentOutput.tokenAddress ● Address scalar

UnspentOutput.tokenId ● Int scalar

UnspentOutput.type ● String scalar

Returned by

chainUnspentOutputs query

Member of

LedgerOperations object

+ \ No newline at end of file diff --git a/build/api/schema/objects/validation-stamp/index.html b/build/api/schema/objects/validation-stamp/index.html index 77e5cebe1..fa1ae71cd 100644 --- a/build/api/schema/objects/validation-stamp/index.html +++ b/build/api/schema/objects/validation-stamp/index.html @@ -4,14 +4,14 @@ ValidationStamp | Archethic - +

ValidationStamp

[ValidationStamp] represents the validation performs by the coordinator -It includes:

  • Proof of work: Public key matching the origin signature
  • Proof of integrity: Hash of the previous proof of integrity and the transaction
  • Ledger operations: All the operations performed by the transaction
  • Signature: Coordinator signature of the stamp
  • Protocol version: Version of the transaction validation protocol
type ValidationStamp {
ledgerOperations: LedgerOperations
proofOfIntegrity: VersionedHash
proofOfWork: PublicKey
protocolVersion: Int
signature: Hex
timestamp: Timestamp
}

Fields

ValidationStamp.ledgerOperations ● LedgerOperations object

ValidationStamp.proofOfIntegrity ● VersionedHash scalar

ValidationStamp.proofOfWork ● PublicKey scalar

ValidationStamp.protocolVersion ● Int scalar

ValidationStamp.signature ● Hex scalar

ValidationStamp.timestamp ● Timestamp scalar

Member of

Transaction object

- +It includes:

  • Proof of work: Public key matching the origin signature
  • Proof of integrity: Hash of the previous proof of integrity and the transaction
  • Ledger operations: All the operations performed by the transaction
  • Signature: Coordinator signature of the stamp
  • Protocol version: Version of the transaction validation protocol
type ValidationStamp {
ledgerOperations: LedgerOperations
proofOfIntegrity: VersionedHash
proofOfWork: PublicKey
protocolVersion: Int
signature: Hex
timestamp: Timestamp
}

Fields

ValidationStamp.ledgerOperations ● LedgerOperations object

ValidationStamp.proofOfIntegrity ● VersionedHash scalar

ValidationStamp.proofOfWork ● PublicKey scalar

ValidationStamp.protocolVersion ● Int scalar

ValidationStamp.signature ● Hex scalar

ValidationStamp.timestamp ● Timestamp scalar

Member of

Transaction object

+ \ No newline at end of file diff --git a/build/api/schema/objects/version/index.html b/build/api/schema/objects/version/index.html index a9004c836..1f7c6d971 100644 --- a/build/api/schema/objects/version/index.html +++ b/build/api/schema/objects/version/index.html @@ -4,13 +4,13 @@ Version | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/balance/index.html b/build/api/schema/queries/balance/index.html index be41bc098..747ac094f 100644 --- a/build/api/schema/queries/balance/index.html +++ b/build/api/schema/queries/balance/index.html @@ -4,14 +4,14 @@ balance | Archethic - + - +It includes:

  • UCO: uco balance
  • token: token balances
+ \ No newline at end of file diff --git a/build/api/schema/queries/beacon-chain-summary/index.html b/build/api/schema/queries/beacon-chain-summary/index.html index 7a466ea8a..9ed514320 100644 --- a/build/api/schema/queries/beacon-chain-summary/index.html +++ b/build/api/schema/queries/beacon-chain-summary/index.html @@ -4,13 +4,13 @@ beaconChainSummary | Archethic - + - +

beaconChainSummary

Query the network to get the value of the summary of beacon chain at a specific time or the last value

beaconChainSummary(
timestamp: Timestamp
): BeaconChainSummary

Arguments

beaconChainSummary.timestamp ● Timestamp scalar

Type

BeaconChainSummary object

[Beacon Chain Summary] represents the beacon chain aggregate for a certain date

+ \ No newline at end of file diff --git a/build/api/schema/queries/chain-unspent-outputs/index.html b/build/api/schema/queries/chain-unspent-outputs/index.html index fffe21492..8161bc224 100644 --- a/build/api/schema/queries/chain-unspent-outputs/index.html +++ b/build/api/schema/queries/chain-unspent-outputs/index.html @@ -4,15 +4,15 @@ chainUnspentOutputs | Archethic - +

chainUnspentOutputs

Query the network to retrieve the unspent output of a chain (address should be the genesis address of the chain)

chainUnspentOutputs(
address: Address!
limit: PosInteger
pagingOffset: Sha256Hash
): [UnspentOutput]

Arguments

chainUnspentOutputs.address ● Address! non-null scalar

chainUnspentOutputs.limit ● PosInteger scalar

chainUnspentOutputs.pagingOffset ● Sha256Hash scalar

Type

UnspentOutput object

[UnspentOutput] represents the remaining unspent output of the transaction. -It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO / token / state
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
  • Timestamp: Date time when the UTXO created/manipulated
  • State: It is the state of a smart contract
- +It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO / token / state
  • token address: address of the token if the type is token
  • token id: It is the id for a token which is allocated when the token is minted.
  • Timestamp: Date time when the UTXO created/manipulated
  • State: It is the state of a smart contract
+ \ No newline at end of file diff --git a/build/api/schema/queries/genesis-address/index.html b/build/api/schema/queries/genesis-address/index.html index 54aa53769..5a112b8c3 100644 --- a/build/api/schema/queries/genesis-address/index.html +++ b/build/api/schema/queries/genesis-address/index.html @@ -4,15 +4,15 @@ genesisAddress | Archethic - +

genesisAddress

Query the network to find the genesis address of a transaction

genesisAddress(
address: Address!
): Address

Arguments

genesisAddress.address ● Address! non-null scalar

Type

Address scalar

The [Address] scalar type represents a transaction's address. The Address appears in a JSON response as Base16 formatted string. The parsed address will -be converted to a binary and any invalid address with an invalid algorithm or invalid size will be rejected

- +be converted to a binary and any invalid address with an invalid algorithm or invalid size will be rejected

+ \ No newline at end of file diff --git a/build/api/schema/queries/last-transaction/index.html b/build/api/schema/queries/last-transaction/index.html index 0640bbd96..3345ed8fc 100644 --- a/build/api/schema/queries/last-transaction/index.html +++ b/build/api/schema/queries/last-transaction/index.html @@ -4,13 +4,13 @@ lastTransaction | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/nearest-endpoints/index.html b/build/api/schema/queries/nearest-endpoints/index.html index f0918acbe..f3084d505 100644 --- a/build/api/schema/queries/nearest-endpoints/index.html +++ b/build/api/schema/queries/nearest-endpoints/index.html @@ -4,13 +4,13 @@ nearestEndpoints | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/network-transactions/index.html b/build/api/schema/queries/network-transactions/index.html index 3a32e3387..1f0e5ede7 100644 --- a/build/api/schema/queries/network-transactions/index.html +++ b/build/api/schema/queries/network-transactions/index.html @@ -4,13 +4,13 @@ networkTransactions | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/nodes/index.html b/build/api/schema/queries/nodes/index.html index e7e35294f..cc3ede4bc 100644 --- a/build/api/schema/queries/nodes/index.html +++ b/build/api/schema/queries/nodes/index.html @@ -4,13 +4,13 @@ nodes | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/oracle-data/index.html b/build/api/schema/queries/oracle-data/index.html index 2e431318b..eadcd3854 100644 --- a/build/api/schema/queries/oracle-data/index.html +++ b/build/api/schema/queries/oracle-data/index.html @@ -4,13 +4,13 @@ oracleData | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/shared-secrets/index.html b/build/api/schema/queries/shared-secrets/index.html index 913bffecb..b49291388 100644 --- a/build/api/schema/queries/shared-secrets/index.html +++ b/build/api/schema/queries/shared-secrets/index.html @@ -4,14 +4,14 @@ sharedSecrets | Archethic - +

sharedSecrets

Query the network to get the storage nonce public key

sharedSecrets: SharedSecrets

Type

SharedSecrets object

[SharedSecrets] represents the public shared secret information -It includes:

  • The storage nonce public key: Public Key to encrypt data for the node, so they will be able to decrypt it (mostly for smart contract authorized key)
- +It includes:

  • The storage nonce public key: Public Key to encrypt data for the node, so they will be able to decrypt it (mostly for smart contract authorized key)
+ \ No newline at end of file diff --git a/build/api/schema/queries/token/index.html b/build/api/schema/queries/token/index.html index b2b2450e5..33d9f9edb 100644 --- a/build/api/schema/queries/token/index.html +++ b/build/api/schema/queries/token/index.html @@ -4,14 +4,14 @@ token | Archethic - +

token

Query the network to find a token's data

token(
address: Address!
): Token

Arguments

token.address ● Address! non-null scalar

Type

Token object

[token] represents a token metadata. -It includes:

  • genesis: Genesis address to the token
  • name: Name of the token
  • symbol: Symbol of the token
  • supply: Supply of the token
  • type: Type of the token
  • decimals: Number of decimals of the token
  • properties: Properties of the token (if any)
  • collection: List of properties for a collection (if any)
  • ownerships: authorization/delegations containing list of secrets and their authorized public keys to proof the ownership
  • id: Unique identification of the token on the chain
- +It includes:

  • genesis: Genesis address to the token
  • name: Name of the token
  • symbol: Symbol of the token
  • supply: Supply of the token
  • type: Type of the token
  • decimals: Number of decimals of the token
  • properties: Properties of the token (if any)
  • collection: List of properties for a collection (if any)
  • ownerships: authorization/delegations containing list of secrets and their authorized public keys to proof the ownership
  • id: Unique identification of the token on the chain
+ \ No newline at end of file diff --git a/build/api/schema/queries/transaction-chain/index.html b/build/api/schema/queries/transaction-chain/index.html index 98f5d04cb..285fed2c4 100644 --- a/build/api/schema/queries/transaction-chain/index.html +++ b/build/api/schema/queries/transaction-chain/index.html @@ -4,13 +4,13 @@ transactionChain | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/transaction-inputs/index.html b/build/api/schema/queries/transaction-inputs/index.html index 0228e8d1e..32afd07d0 100644 --- a/build/api/schema/queries/transaction-inputs/index.html +++ b/build/api/schema/queries/transaction-inputs/index.html @@ -4,14 +4,14 @@ transactionInputs | Archethic - +

transactionInputs

Query the network to list the transaction inputs from an address

transactionInputs(
address: Address!
limit: PosInteger
pagingOffset: NonNegInteger
): [TransactionInput]

Arguments

transactionInputs.address ● Address! non-null scalar

transactionInputs.limit ● PosInteger scalar

transactionInputs.pagingOffset ● NonNegInteger scalar

Type

TransactionInput object

[TransactionInput] represents the inputs from the transaction -It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO/token/Call
  • token address: address of the token if the type is token
  • Spent: determines if the input has been spent
  • Timestamp: Date time when the inputs was generated
  • token id: It is the id for a token which is allocated when the token is minted.
- +It includes:

  • From: transaction which send the amount of assets
  • Amount: asset amount
  • Type: UCO/token/Call
  • token address: address of the token if the type is token
  • Spent: determines if the input has been spent
  • Timestamp: Date time when the inputs was generated
  • token id: It is the id for a token which is allocated when the token is minted.
+ \ No newline at end of file diff --git a/build/api/schema/queries/transaction/index.html b/build/api/schema/queries/transaction/index.html index 4abd2a553..4364114da 100644 --- a/build/api/schema/queries/transaction/index.html +++ b/build/api/schema/queries/transaction/index.html @@ -4,13 +4,13 @@ transaction | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/transactions/index.html b/build/api/schema/queries/transactions/index.html index 5dff2e724..6729cb88e 100644 --- a/build/api/schema/queries/transactions/index.html +++ b/build/api/schema/queries/transactions/index.html @@ -4,13 +4,13 @@ transactions | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/queries/version/index.html b/build/api/schema/queries/version/index.html index a8cdf0fd1..69e8958ab 100644 --- a/build/api/schema/queries/version/index.html +++ b/build/api/schema/queries/version/index.html @@ -4,13 +4,13 @@ version | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/address/index.html b/build/api/schema/scalars/address/index.html index 13de790bb..7310ce132 100644 --- a/build/api/schema/scalars/address/index.html +++ b/build/api/schema/scalars/address/index.html @@ -4,15 +4,15 @@ Address | Archethic - +

Address

The [Address] scalar type represents a transaction's address. The Address appears in a JSON response as Base16 formatted string. The parsed address will -be converted to a binary and any invalid address with an invalid algorithm or invalid size will be rejected

scalar Address

Returned by

genesisAddress query

Member of

balance query ● chainUnspentOutputs query ● ConsumedInputs object ● Data object ● genesisAddress query ● lastTransaction query ● Node object ● Token object ● token query ● TokenBalance object ● TokenTransfer object ● Transaction object ● transaction query ● TransactionAttestation object ● transactionChain query ● transactionConfirmed subscription ● TransactionError object ● transactionError subscription ● TransactionInput object ● transactionInputs query ● TransactionMovement object ● TransactionSummary object ● UcoTransfer object ● UnspentOutput object

- +be converted to a binary and any invalid address with an invalid algorithm or invalid size will be rejected

scalar Address

Returned by

genesisAddress query

Member of

balance query ● chainUnspentOutputs query ● ConsumedInputs object ● Data object ● genesisAddress query ● lastTransaction query ● Node object ● Token object ● token query ● TokenBalance object ● TokenTransfer object ● Transaction object ● transaction query ● TransactionAttestation object ● transactionChain query ● transactionConfirmed subscription ● TransactionError object ● transactionError subscription ● TransactionInput object ● transactionInputs query ● TransactionMovement object ● TransactionSummary object ● UcoTransfer object ● UnspentOutput object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/boolean/index.html b/build/api/schema/scalars/boolean/index.html index 8dd854385..a90e14cd8 100644 --- a/build/api/schema/scalars/boolean/index.html +++ b/build/api/schema/scalars/boolean/index.html @@ -4,13 +4,13 @@ Boolean | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/content/index.html b/build/api/schema/scalars/content/index.html index 40b01e6b5..a3502e215 100644 --- a/build/api/schema/scalars/content/index.html +++ b/build/api/schema/scalars/content/index.html @@ -4,14 +4,14 @@ Content | Archethic - + - +it will be rendered as plain text otherwise in hexadecimal

scalar Content

Member of

Data object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/error-data/index.html b/build/api/schema/scalars/error-data/index.html index 75af3baa2..96be021d8 100644 --- a/build/api/schema/scalars/error-data/index.html +++ b/build/api/schema/scalars/error-data/index.html @@ -4,14 +4,14 @@ ErrorData | Archethic - + - +It could be any type (string, map, list, number or null)

scalar ErrorData

Member of

ErrorDetails object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/float/index.html b/build/api/schema/scalars/float/index.html index 52db10a27..255fc670e 100644 --- a/build/api/schema/scalars/float/index.html +++ b/build/api/schema/scalars/float/index.html @@ -4,13 +4,13 @@ Float | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/hash/index.html b/build/api/schema/scalars/hash/index.html index c2a29397d..88c533968 100644 --- a/build/api/schema/scalars/hash/index.html +++ b/build/api/schema/scalars/hash/index.html @@ -4,7 +4,7 @@ Hash | Archethic - + @@ -12,8 +12,8 @@

Hash

The [Hash] scalar type represents a cryptographic hash used in the Archethic network with an identification byte to specify from which algorithm the hash was generated. The Hash appears in a JSON response as Base16 formatted string. The parsed hash will -be converted to a binary and any invalid hash with an invalid algorithm or invalid size will be rejected

scalar Hash

Member of

TransactionSummary object ● ValidationStamp object

- +be converted to a binary and any invalid hash with an invalid algorithm or invalid size will be rejected

scalar Hash

Member of

TransactionSummary object ● ValidationStamp object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/hex/index.html b/build/api/schema/scalars/hex/index.html index d77d697ef..66376db33 100644 --- a/build/api/schema/scalars/hex/index.html +++ b/build/api/schema/scalars/hex/index.html @@ -4,13 +4,13 @@ Hex | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/int/index.html b/build/api/schema/scalars/int/index.html index 280d07193..b2d8219a3 100644 --- a/build/api/schema/scalars/int/index.html +++ b/build/api/schema/scalars/int/index.html @@ -4,13 +4,13 @@ Int | Archethic - + - +

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

scalar Int

Member of

Balance object ● BeaconChainSummary object ● ConsumedInputs object ● Endpoint object ● ErrorDetails object ● LedgerOperations object ● Node object ● Token object ● TokenBalance object ● TokenTransfer object ● Transaction object ● TransactionAttestation object ● TransactionInput object ● TransactionMovement object ● TransactionSummary object ● UcoTransfer object ● UnspentOutput object ● ValidationStamp object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/non-neg-integer/index.html b/build/api/schema/scalars/non-neg-integer/index.html index 7a345b7bb..d119183cd 100644 --- a/build/api/schema/scalars/non-neg-integer/index.html +++ b/build/api/schema/scalars/non-neg-integer/index.html @@ -4,13 +4,13 @@ NonNegInteger | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/p2-p-availabilities/index.html b/build/api/schema/scalars/p2-p-availabilities/index.html index c4e488dcd..0df05bda7 100644 --- a/build/api/schema/scalars/p2-p-availabilities/index.html +++ b/build/api/schema/scalars/p2-p-availabilities/index.html @@ -4,13 +4,13 @@ P2pAvailabilities | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/pos-integer/index.html b/build/api/schema/scalars/pos-integer/index.html index 86880b0d8..be7edf713 100644 --- a/build/api/schema/scalars/pos-integer/index.html +++ b/build/api/schema/scalars/pos-integer/index.html @@ -4,13 +4,13 @@ PosInteger | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/public-key/index.html b/build/api/schema/scalars/public-key/index.html index 35d22b2eb..f36d39745 100644 --- a/build/api/schema/scalars/public-key/index.html +++ b/build/api/schema/scalars/public-key/index.html @@ -4,15 +4,15 @@ PublicKey | Archethic - +

PublicKey

The [PublicKey] scalar type represents a public key. The PublicKey appears in a JSON response as Base16 formatted string. The parsed public key will -be converted to a binary and any invalid address with an invalid algorithm or invalid size will be rejected

scalar PublicKey

Member of

AuthorizedKey object ● CrossValidationStamp object ● Node object ● SharedSecrets object ● Transaction object ● ValidationStamp object

- +be converted to a binary and any invalid address with an invalid algorithm or invalid size will be rejected

scalar PublicKey

Member of

AuthorizedKey object ● CrossValidationStamp object ● Node object ● SharedSecrets object ● Transaction object ● ValidationStamp object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/recipient-args/index.html b/build/api/schema/scalars/recipient-args/index.html index ed556114c..32418e359 100644 --- a/build/api/schema/scalars/recipient-args/index.html +++ b/build/api/schema/scalars/recipient-args/index.html @@ -4,13 +4,13 @@ RecipientArgs | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/sha-256-hash/index.html b/build/api/schema/scalars/sha-256-hash/index.html index fdb3a9a38..843bf6f13 100644 --- a/build/api/schema/scalars/sha-256-hash/index.html +++ b/build/api/schema/scalars/sha-256-hash/index.html @@ -4,13 +4,13 @@ Sha256Hash | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/state/index.html b/build/api/schema/scalars/state/index.html index fc382bf2e..e17959e4f 100644 --- a/build/api/schema/scalars/state/index.html +++ b/build/api/schema/scalars/state/index.html @@ -4,13 +4,13 @@ State | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/string/index.html b/build/api/schema/scalars/string/index.html index ab519709d..dcdd1ab06 100644 --- a/build/api/schema/scalars/string/index.html +++ b/build/api/schema/scalars/string/index.html @@ -4,13 +4,13 @@ String | Archethic - +
-

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

scalar String

Member of

ConsumedInputs object ● Data object ● Endpoint object ● ErrorDetails object ● Node object ● Recipient object ● Token object ● Transaction object ● TransactionError object ● TransactionInput object ● TransactionMovement object ● TransactionSummary object ● UnspentOutput object ● Version object

- +

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

scalar String

Member of

ConsumedInputs object ● Data object ● Endpoint object ● ErrorDetails object ● Node object ● Recipient object ● Token object ● Transaction object ● TransactionError object ● TransactionInput object ● TransactionMovement object ● TransactionSummary object ● UnspentOutput object ● Version object

+ \ No newline at end of file diff --git a/build/api/schema/scalars/timestamp/index.html b/build/api/schema/scalars/timestamp/index.html index 4c62021ff..fcc717c56 100644 --- a/build/api/schema/scalars/timestamp/index.html +++ b/build/api/schema/scalars/timestamp/index.html @@ -4,13 +4,13 @@ Timestamp | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/token-properties/index.html b/build/api/schema/scalars/token-properties/index.html index 70f20a058..cfe41a3c6 100644 --- a/build/api/schema/scalars/token-properties/index.html +++ b/build/api/schema/scalars/token-properties/index.html @@ -4,13 +4,13 @@ TokenProperties | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/transaction-type/index.html b/build/api/schema/scalars/transaction-type/index.html index 77ec6d940..5b927b6dc 100644 --- a/build/api/schema/scalars/transaction-type/index.html +++ b/build/api/schema/scalars/transaction-type/index.html @@ -4,13 +4,13 @@ TransactionType | Archethic - + - + + \ No newline at end of file diff --git a/build/api/schema/scalars/versioned-hash/index.html b/build/api/schema/scalars/versioned-hash/index.html index dca0d0e72..b594c2d90 100644 --- a/build/api/schema/scalars/versioned-hash/index.html +++ b/build/api/schema/scalars/versioned-hash/index.html @@ -4,7 +4,7 @@ VersionedHash | Archethic - + @@ -12,8 +12,8 @@

VersionedHash

The [Hash] scalar type represents a cryptographic hash used in the Archethic network with an identification byte to specify from which algorithm the hash was generated. The Hash appears in a JSON response as Base16 formatted string. The parsed hash will -be converted to a binary and any invalid hash with an invalid algorithm or invalid size will be rejected

scalar VersionedHash

Member of

ValidationStamp object

- +be converted to a binary and any invalid hash with an invalid algorithm or invalid size will be rejected

scalar VersionedHash

Member of

ValidationStamp object

+ \ No newline at end of file diff --git a/build/api/schema/subscriptions/oracle-update/index.html b/build/api/schema/subscriptions/oracle-update/index.html index 04c889403..ba8dbaf60 100644 --- a/build/api/schema/subscriptions/oracle-update/index.html +++ b/build/api/schema/subscriptions/oracle-update/index.html @@ -4,13 +4,13 @@ oracleUpdate | Archethic - + - +

oracleUpdate

Subscribe to be notified when a new oracle data is stored

oracleUpdate: OracleData

Type

OracleData object

[OracleData] represents an oracle data.

+ \ No newline at end of file diff --git a/build/api/schema/subscriptions/transaction-confirmed/index.html b/build/api/schema/subscriptions/transaction-confirmed/index.html index bead4550c..8f3c64001 100644 --- a/build/api/schema/subscriptions/transaction-confirmed/index.html +++ b/build/api/schema/subscriptions/transaction-confirmed/index.html @@ -4,14 +4,14 @@ transactionConfirmed | Archethic - +

transactionConfirmed

Subscribe to be notified when a transaction is stored (if acted as welcome node)

transactionConfirmed(
address: Address!
): TransactionAttestation

Arguments

transactionConfirmed.address ● Address! non-null scalar

Type

TransactionAttestation object

[TransactionAttestation] represents an attestation when a transaction is successfully validated and stored. -Few attestations can be received with differents confirmations to ensure a better security of the replication.

- +Few attestations can be received with differents confirmations to ensure a better security of the replication.

+ \ No newline at end of file diff --git a/build/api/schema/subscriptions/transaction-error/index.html b/build/api/schema/subscriptions/transaction-error/index.html index 8aaede59e..d740701dd 100644 --- a/build/api/schema/subscriptions/transaction-error/index.html +++ b/build/api/schema/subscriptions/transaction-error/index.html @@ -4,13 +4,13 @@ transactionError | Archethic - +
-
- +
+ \ No newline at end of file diff --git a/build/clients/ledger-wallet/api/index.html b/build/clients/ledger-wallet/api/index.html index e102b3318..8ea6f3d24 100644 --- a/build/clients/ledger-wallet/api/index.html +++ b/build/clients/ledger-wallet/api/index.html @@ -4,7 +4,7 @@ Ledger Application API | Archethic - + @@ -28,8 +28,8 @@ getTransactionHash(uint8_t *senderAddr, uint8_t senderAddrLen, uint8_t *receiveAddr, uint8_t receiveAddrLen, uint8_t *amount, uint8_t *txHash, uint8_t *txHashLen)
  • Format for Transaction Hash Generation
    • tx_version | senderAddr | tx_type | code_size | content_size | ownership_length | total_uco_transfers | recieverAddr | amount | total_token_transfers | recipients
  • We apply cx_hash_sha256() and return the hash in txHash
  • We prompt user in GUI to approve the transaction
  • Once approve we performECDSA on the transactionHash
    • Function Signature -performECDSA(uint8_t *txHash, uint8_t txHashLen, uint32_t address_index, uint8_t *encoded_wallet, uint8_t *wallet_len, uint8_t sequence_no, uint8_t *asn_sign, uint8_t *sign_len)
    • We generateKey from Wallet Similar to when getting address and give back publicKey and privateKey
    • We copy curve_type on asn_sign buffer
    • We set 0 to signify onchain wallet
    • We copy the publicKey on asn_sign buffer
    • We sign the txnHash with the privateKet and append signature to asn_sign buffer
    • We increase sign_len by publicKey length + 2 bytes
  • Once signature is performed we copy the txnHash to the G_io_apdu_buffer
  • Then, we copy the contents of encodedWallet on which we have overwritten the signature to the G_io_apdu_buffer
  • And we return the APDU with SW_OK and total length as txnhash length + walletLen
  • - +performECDSA(uint8_t *txHash, uint8_t txHashLen, uint32_t address_index, uint8_t *encoded_wallet, uint8_t *wallet_len, uint8_t sequence_no, uint8_t *asn_sign, uint8_t *sign_len)
  • We generateKey from Wallet Similar to when getting address and give back publicKey and privateKey
  • We copy curve_type on asn_sign buffer
  • We set 0 to signify onchain wallet
  • We copy the publicKey on asn_sign buffer
  • We sign the txnHash with the privateKet and append signature to asn_sign buffer
  • We increase sign_len by publicKey length + 2 bytes
  • Once signature is performed we copy the txnHash to the G_io_apdu_buffer
  • Then, we copy the contents of encodedWallet on which we have overwritten the signature to the G_io_apdu_buffer
  • And we return the APDU with SW_OK and total length as txnhash length + walletLen
  • + \ No newline at end of file diff --git a/build/clients/ledger-wallet/commands/index.html b/build/clients/ledger-wallet/commands/index.html index 3b5d5098c..07bbd4275 100644 --- a/build/clients/ledger-wallet/commands/index.html +++ b/build/clients/ledger-wallet/commands/index.html @@ -4,13 +4,13 @@ ADPU commands | Archethic - +
    -

    ADPU commands

    APDU commands

    Get Origin Public Key

    APDU Command [bytes]:

    CLA = E0INS = 02P1 = 00P2 = 00Lc = 00

    APDU Response = Encoded Origin Public Key i.e., encode(o_{pub})

    Get Archethic Account Address

    APDU Command [bytes] =

    CLA = E0INS = 04P1 = hash_type (for addr) [1 byte]P2 = address_index (for bip44) [4 bytes]Lc = len(ewk{aes}+ew{aes}) [1 byte]ewk_{aes} [bytes]ew_{aes} [bytes]

    APDU Response = Encoded Archethic Account Address i.e., arch_address

    Get Signature

    CLA = E0INS = 08P1 = hash_type (of tx_hash) [1 byte]P2 = address_index (for bip44) [4 bytes]Lc = len(txhash+ewk{aes}+ew_{aes}) [1 byte]tx_hash [bytes]ewk_{aes} [bytes]ew_{aes} [bytes]

    APDU Response = ASN DER Signature || Corresponding public key from whose private key the signature was made, i.e., encode(pub_key)

    - +

    ADPU commands

    APDU commands

    Get Origin Public Key

    APDU Command [bytes]:

    CLA = E0INS = 02P1 = 00P2 = 00Lc = 00

    APDU Response = Encoded Origin Public Key i.e., encode(o_{pub})

    Get Archethic Account Address

    APDU Command [bytes] =

    CLA = E0INS = 04P1 = hash_type (for addr) [1 byte]P2 = address_index (for bip44) [4 bytes]Lc = len(ewk{aes}+ew{aes}) [1 byte]ewk_{aes} [bytes]ew_{aes} [bytes]

    APDU Response = Encoded Archethic Account Address i.e., arch_address

    Get Signature

    CLA = E0INS = 08P1 = hash_type (of tx_hash) [1 byte]P2 = address_index (for bip44) [4 bytes]Lc = len(txhash+ewk{aes}+ew_{aes}) [1 byte]tx_hash [bytes]ewk_{aes} [bytes]ew_{aes} [bytes]

    APDU Response = ASN DER Signature || Corresponding public key from whose private key the signature was made, i.e., encode(pub_key)

    + \ No newline at end of file diff --git a/build/clients/ledger-wallet/index.html b/build/clients/ledger-wallet/index.html index 62ac784e0..260ae3896 100644 --- a/build/clients/ledger-wallet/index.html +++ b/build/clients/ledger-wallet/index.html @@ -4,7 +4,7 @@ Ledger wallet | Archethic - + @@ -13,8 +13,8 @@ This application is written in C and resides on the physical Ledger device. For Archethic's blockchain, this can be found on Archethic's github and the functional documentation for the app can be found on the official docs repository.

  • Companion App This is the application which acts like a bridge of communication between user/blockchain and the Bolos application mentioned above. For Archethic's blockchain, this is ALCA (CLI) and Flutter based Wallet (GUI).

  • Remote backend -This is the node which accepts data (signed transactions) from the Companion app mentioned above in order to include it into the blockchain. For Archethic's blockchain, it is the testnet node. Once transaction is published, the data can be verified on archethic.net.

  • Synopsis

    This guide will help you to connect your Ledger device to ALCA, dedicated Command Line Interface (CLI). ALCA (Archethic Ledger CLI App) enables you to Send and Receive UCOs on Archethic Testnet with the Ledger Device.

    Soon, ALCA will be replaced by Archethic's Wallet, which is GUI-based, thus enabling non-tech users to experiment with Archethic's testnet.

    tip

    This is a developer guide and not for general public. This guide assumes the reader has a prior knowledge of ArchEthic and Ledger Ecosystem.

    Prerequisites

    info

    A more general public guide will soon be released once security audit for developer release is done and GUI support for Ledger Device is added to current Archethic's Wallet (Mobile + Desktop)

    Before You Start, Make Sure:

    • You’ve initialized your Ledger Device.
    • The latest firmware is installed (Ledger Nano S).
    • Archethic Bolos App is loaded on Ledger (Tested with Nano S only).
    • Install the latest version of ALCA.
    • Nodejs (v14.0+)

    Installation Instructions

    • Clone the repository from github
    • Run yarn or npm install from root folder of the project
    • Run npm link
    • Use it as ledger_cli (commands)

    Testing

    From Terminal use it as ledger_cli (about | getAppVersion | getPublicKey | getArchAddress | sendTxn)

    Demo

    The demo shows various screens a user will be shown for getting origin public key, onchain wallet address and performing signature on transaction involving single UCO transfer at a time between 2 parties.

    - +This is the node which accepts data (signed transactions) from the Companion app mentioned above in order to include it into the blockchain. For Archethic's blockchain, it is the testnet node. Once transaction is published, the data can be verified on archethic.net.

    Synopsis

    This guide will help you to connect your Ledger device to ALCA, dedicated Command Line Interface (CLI). ALCA (Archethic Ledger CLI App) enables you to Send and Receive UCOs on Archethic Testnet with the Ledger Device.

    Soon, ALCA will be replaced by Archethic's Wallet, which is GUI-based, thus enabling non-tech users to experiment with Archethic's testnet.

    tip

    This is a developer guide and not for general public. This guide assumes the reader has a prior knowledge of ArchEthic and Ledger Ecosystem.

    Prerequisites

    info

    A more general public guide will soon be released once security audit for developer release is done and GUI support for Ledger Device is added to current Archethic's Wallet (Mobile + Desktop)

    Before You Start, Make Sure:

    • You’ve initialized your Ledger Device.
    • The latest firmware is installed (Ledger Nano S).
    • Archethic Bolos App is loaded on Ledger (Tested with Nano S only).
    • Install the latest version of ALCA.
    • Nodejs (v14.0+)

    Installation Instructions

    • Clone the repository from github
    • Run yarn or npm install from root folder of the project
    • Run npm link
    • Use it as ledger_cli (commands)

    Testing

    From Terminal use it as ledger_cli (about | getAppVersion | getPublicKey | getArchAddress | sendTxn)

    Demo

    The demo shows various screens a user will be shown for getting origin public key, onchain wallet address and performing signature on transaction involving single UCO transfer at a time between 2 parties.

    + \ No newline at end of file diff --git a/build/clients/wallet-access/index.html b/build/clients/wallet-access/index.html index 8f2969aea..4e0e9a4ee 100644 --- a/build/clients/wallet-access/index.html +++ b/build/clients/wallet-access/index.html @@ -4,14 +4,14 @@ Archethic's wallet access | Archethic - +

    Archethic's wallet access

    Onchain wallet (aka Keychain) is a wallet stored on Archethic blockchain in encrypted form, to allow only the authorized access to read it and build transaction from it.

    Also to avoid disclosure of information, access and keychain are using end to end encryption with elliptic curve cryptography to secure it.

    Hence any client which would like to support wallet access and transaction building will have to be authorized.

    Access enrollment

    When a device or application want to become an access to the wallet, it first have to create a transaction where the keychain transaction's address is encrypted into it. -This data is stored in the /data/ownerships section of the transaction., where the authorized public key is the transaction's public key and the secret is an aes encryption of the keychain's address.

    Then the keychain will create a new transaction on its chain by encrypting the wallet with a new AES key itself encrypted for the list of authorized access public keys wanted. (For instance the new device or application)

    Keychain retrieval

    In order to retrieve the keychain from a device or application perspective, the access transaction's will be generated to be retrieved from the network.

    Then the device or application will decrypt the encrypted keychain address to be able to download the keychain transaction.

    Once received, the device or application - as being authorized by the keychain - will be able to decrypt the AES key to decrypt the wallet and perform any key derivation and transaction building from it.

    Then, because the key have been generated on the fly, the client will forget about the private keys and seeds decrypted.

    - +This data is stored in the /data/ownerships section of the transaction., where the authorized public key is the transaction's public key and the secret is an aes encryption of the keychain's address.

    Then the keychain will create a new transaction on its chain by encrypting the wallet with a new AES key itself encrypted for the list of authorized access public keys wanted. (For instance the new device or application)

    Keychain retrieval

    In order to retrieve the keychain from a device or application perspective, the access transaction's will be generated to be retrieved from the network.

    Then the device or application will decrypt the encrypted keychain address to be able to download the keychain transaction.

    Once received, the device or application - as being authorized by the keychain - will be able to decrypt the AES key to decrypt the wallet and perform any key derivation and transaction building from it.

    Then, because the key have been generated on the fly, the client will forget about the private keys and seeds decrypted.

    + \ No newline at end of file diff --git a/build/clients/wallet-spec/index.html b/build/clients/wallet-spec/index.html index ef43711c1..710804769 100644 --- a/build/clients/wallet-spec/index.html +++ b/build/clients/wallet-spec/index.html @@ -4,7 +4,7 @@ Archethic's wallet specification | Archethic - + @@ -13,8 +13,8 @@ It can also support multichains identification through the use of key derivation and derivation path.

    A keychain is then a wallet which stores a main master seed, with a list of services (Archethic chains / other crypto identification) encrypted and only accessible by a list of authorized public keys

    Glossary

    • w_{e} = Encoded Onchain Archethic Wallet
    • wk_{aes} = AES256 CTR Key used to encrypt w_{e}
    • enc(w_{e}) = AES256 CTR Encryption of w_{e} using wk_{aes}
    • ew_{aes} = Encoded enc(w_{e})
    • aes_key = AES256 CBC Key used to encrypt wk_{aes}
    • enc(wk_{aes}) = AES256 CBC Encryption of wk_{aes} using aes_key
    • ewk_{aes} = Encoded enc(wk_{aes})
    • encode(pub_key) = Encoded Public Key.
    • arch_address = Encoded Account Address.
    • o_{priv} = Origin Device Private Key
    • o_{pub} = Origin Device Public Key (raw 04xy)
    • encode(o_{pub}) = Encoded Origin Device Public Key
    • e_{key} = Ephemeral Key Pair
    • e_{pub} = Ephemeral Public Key (raw 04xy)
    • e_{priv} = Ephemeral Private Key

    Cryptography

    Derivation path

    Archethic's keychain is using hierarchical derivation key scheme inspired by BIP32 to define a way to generate keys and addresses.

    Because Archethic cryptography and transaction chain paradigm differs from traditional blockchain (used in BIP32/BIP44) we adapted it to use specific derivation scheme (as describe in the BIP43)

    The main derivation path of Archethic keychain is: m/650'/account/index (where 650 is the Archethic transaction chain purpose - in the BIP43 terminology)

    The account can be anything, by default 0 is the main uco transaction chain, but it could be customized to create more entropy.

    The index is the number of transaction in the chain, used to compute the derived keys and addresses

    Key derivation

    In order to derive the keys using the derivation path mentioned above, we implemented our own key derivation scheme, which takes inspiration from BIP32 but simplifies it a bit.

    Replace the derivation path index

    Given the derivation path: m/650'/0/0, we change the last number (the transaction's index in the chain) we some variable provided by the application(ie: m/650'/0/1 will give the 1st transaction's address on the chain)

    Hash of the derivation path

    Once the derivation path index is replaced we hashed it to give a constant size through SHA256

    hashedPath = SHA256(ReplaceDerivationPath(derivationPath, index))

    Derive private key

    Then we have to derive the private key based on the hashedPath and the master seed by using HMAC and extracting the first 32 bytes of the result

    extendedSeed = HMAC-SHA512(Key=MasterSeed, Data=hashedPath)
    extendedPrivateKey = extendedSeed.slice(0, 32)

    Derive public key

    Now with the given private key we can easily extract the public key for the given curve specified in the Keychain's service

    { publicKey, private } = generateKeyPair(extendedPrivateKey, curve)

    Encryption

    The keychain is using a double encryption scheme where:

    • the wallet is encrypted with AES
    • the aes_key is encrypted with elliptic curve cryptography using ECIES (Elliptic Curve Integration Encryption Scheme): wk_{aes} for the authorized public keys
    info

    Ephemeral key is used to perform ECDH with authorized public key, in order to derive aes_key. This aes_key is then used to encrypt the wk_{aes}. This is called ECIESE(Elliptic Curve Integration Encryption Scheme Ephemeral)

    Then to guarantee the security of the wallet, only the authorized public keys are able to decrypt the encrypted aes key(enc(aes_key)) to be able to decrypt the encrypted wallet (wk_{aes})

    Encrypting the Onchain Wallet

    The onchain encoded wallet w_{e} is encrypted using symmetric encryption AES256 CTR key wk_{aes} as follows:

    wallet_iv [16 bytes], reserved [16 bytes] = sha256(sha256(wk_{aes})) 
    enc(w_{e}) = aes256(mode=ctr, key = wk_{aes}, iv = wallet_iv, data = w_{e})

    Encoding of Encrypted Wallet

    The above encrypted wallet enc(w_{e}) is stored on the Archethic Blockchain with the following format.

    enc(w_{e}) [bytes]

    Encrypting Wallet Encryption Key

    The key (wk_{aes}) which encrypts the wallet (w_{e}) is subsequently encrypted using Elliptic Curve Integrated Encryption Scheme to support different authorized public keys and to reduce the increased space overhead of the encryptions.

    Algorithm$ for encrypting wk_{aes}= ECIES (ECDH + AES256 CBC)

    ecdh_secret = ecdh_point_x(e_{pub}, o_{priv}) = ecdh_point_x(e_{priv}, o_{pub}) 

    aes_key [32 bytes], iv [16 bytes], auth_seed [16 bytes] = sha512(sha512(ecdh\_secret))

    enc(wk_{aes}) = aes256(mode=cbc, key = aes\_key, iv = iv, data = wk_{aes})

    auth_key = sha256(auth_seed)

    auth_tag [16 bytes], reserved [16 bytes] = hmac256(key = auth_key, data = enc(wk_{aes}))

    Encoding of Encrypted Wallet Key

    The above encrypted key enc(wk_{aes}) is stored on the Archethic Blockchain with the following format.

    e_{pub} 04xy [bytes]auth_tag [16 bytes]enc(wk_{aes}) [32 bytes]

    Encoding

    The wallet before encryption is encoding into a binary format

    Encoding of wallet

    VersionSeed sizeSeedNb servicesService name sizeService nameDerivation path lengthDerivation pathCurve typeHash type...
    4 bytes1 byteN bytes1 byte1 byteN bytes1 byteN bytes1 byte1 byte...

    Encoding of Curve Types

    The curve_type is a 1 byte long field, hex encoded. Currently, following curves are supported:

    • 0: ED25519
    • 1: NISTP256
    • 2: SECP256K1

    Encoding of Hash Types

    The hash_type is a 1 byte long field, hex encoded. Currently, following hashes are supported:

    • 0: SHA256 (sha2)
    • 1: SHA512 (sha2)
    • 2: SHA3_256 (keccak)
    • 3: SHA3_512 (keccak)
    • 4: BLAKE2B

    Transaction representation

    Transaction 
    - Data:
    - Ownerships:
    Secret: Encrypted Wallet,
    Authorized Keys:
    Public Key: Origin Device / Password Public Key,
    Encrypted Secret Key: Encrypted AES Key for the authorized public key

    Format

    Public Key Format

    When clients have to produce public key, an origin type identification byte have to prepend before the key material as well as the curve type.

    Curve IDOrigin IDKey material
    1 byte1 byteN bytes

    The origin_type is a 1 byte long field, hex encoded. Currently, following origins are defined:

    • 0: Onchain Wallet
    • 1: Software Wallet (Node, Mobile App, Desktop, etc.)
    • 2: TPM (Node)
    • 3: Yubikey (Node, Hardware Wallet)
    • 4: Ledger (Hardware Wallet)

    Account Address Format

    Archethic addresses following a specific format to version algorithms used helping -to evolve easily between curves and hash algorithms.

    Curve TypeHash algohash(encode(pub_key))
    1 byte1 byteN bytes
    - +to evolve easily between curves and hash algorithms.

    Curve TypeHash algohash(encode(pub_key))
    1 byte1 byteN bytes
    + \ No newline at end of file diff --git a/build/core/account/index.html b/build/core/account/index.html index 651127fc2..0f6759b80 100644 --- a/build/core/account/index.html +++ b/build/core/account/index.html @@ -4,13 +4,13 @@ Account | Archethic - +
    -

    Account

    Archethic node provides a high level and fast access to an account assets using primarily memory tables with ETS.

    This gives us faster computation and data retrieval to asserts balances and UTXO loading.

    UCO

    A memory table is defined to list of the UCO available for a given address

    Few functions are provided to be able to query this table in order to:

    • get the UCO balance
    • get the UTXOs
    • get the total inputs (spent and unspent)
    • spend all the UTXOs
    • add new UCO UTXO

    Ledger

    Each entry is indexed by a tuple recipient/sender to identify uniquely an UTXO

    Recipient, SenderAmountSpent ?Date

    Index

    An index table is provided to be able to retrieve all the sender UTXOs for a given recipient

    RecipientSender

    Token

    A memory table is defined to list al the token available for a given address

    Few functions are provided to be able to query this table in order to:

    • get the token balance s
    • get the UTXOs
    • get the total inputs (spent and unspent)
    • spend all the UTXOs
    • add new token UTXO

    Ledger

    Each entry is indexed by a tuple recipient/sender/token address to identify uniquely an UTXO

    Recipient, Sender, TokenAmountSpent ?Date

    Index

    An index table is provided to be able to retrieve all the sender UTXOs for a given recipient

    RecipientSenderToken address

    Loading

    When a transaction replicated, the storage nodes in charge of storing the new transaction (chain replicas or recipient replicas) will load the transaction in those tables to index the UTXO and build in memory view.

    The same goes when a node is bootstraping, a process will load all the transactions from the database to load them into those tables.

    - +

    Account

    Archethic node provides a high level and fast access to an account assets using primarily memory tables with ETS.

    This gives us faster computation and data retrieval to asserts balances and UTXO loading.

    UCO

    A memory table is defined to list of the UCO available for a given address

    Few functions are provided to be able to query this table in order to:

    • get the UCO balance
    • get the UTXOs
    • get the total inputs (spent and unspent)
    • spend all the UTXOs
    • add new UCO UTXO

    Ledger

    Each entry is indexed by a tuple recipient/sender to identify uniquely an UTXO

    Recipient, SenderAmountSpent ?Date

    Index

    An index table is provided to be able to retrieve all the sender UTXOs for a given recipient

    RecipientSender

    Token

    A memory table is defined to list al the token available for a given address

    Few functions are provided to be able to query this table in order to:

    • get the token balance s
    • get the UTXOs
    • get the total inputs (spent and unspent)
    • spend all the UTXOs
    • add new token UTXO

    Ledger

    Each entry is indexed by a tuple recipient/sender/token address to identify uniquely an UTXO

    Recipient, Sender, TokenAmountSpent ?Date

    Index

    An index table is provided to be able to retrieve all the sender UTXOs for a given recipient

    RecipientSenderToken address

    Loading

    When a transaction replicated, the storage nodes in charge of storing the new transaction (chain replicas or recipient replicas) will load the transaction in those tables to index the UTXO and build in memory view.

    The same goes when a node is bootstraping, a process will load all the transactions from the database to load them into those tables.

    + \ No newline at end of file diff --git a/build/core/beacon-chain/index.html b/build/core/beacon-chain/index.html index bcd7ae27c..8c2500a16 100644 --- a/build/core/beacon-chain/index.html +++ b/build/core/beacon-chain/index.html @@ -4,14 +4,14 @@ BeaconChain | Archethic - +

    BeaconChain

    BeaconChain helps the Archethic sharding network to be supervised and provided global view of the system.

    To be able to manage it, few modules and functions are needed to make this possible.

    Subsets

    The BeaconChain is divided into a set of subsets (shards of the BeaconChain) based on hexadecimal splits. -Currently the BeaconChain supports 256 subsets, from 0 to F (hex)

    Each subset is maintained by its own process

    This process is responsible of:

    • Add transaction replication confirmation to the current slot
    • Check P2P availability of the nodes where their public key starts by the subset hexadecimal identifier
    • Create beacon transaction and notify BeaconChain summary nodes (for the current epoch)
    • Create beacon summary transaction (if it's one of the summary node)
    • Notify explorer about the new transaction validated (See Sharded Explorer)

    Timers and schedulers

    Because each BeaconChain subsets change over time, we need a may to determine what are the current nodes for those subsets and so on. So we have two kind of timers and schedulers:

    • Slot timer: Manage the interval for the beacon slot creations
    • Summary timer: Manage the interval for the beacon summary creations

    Each of those timer provides helpers to be able to generate previous or next dates

    Transaction loading

    Before a transaction's confirmation is loaded into the BeaconChain, a phase of validation is performed to ensure the correctness of the replication:

    • it asserts the transaction's address is the right one
    • it asserts the transaction attestation (node election, signatures, etc.)

    For more details, SlotValidation

    Then the slot is deserialized to be loaded into a cache, for a faster summary aggregation and computation

    Supervisor

    To manage all those processes and isolation a proper supervision tree is defined

    - +Currently the BeaconChain supports 256 subsets, from 0 to F (hex)

    Each subset is maintained by its own process

    This process is responsible of:

    • Add transaction replication confirmation to the current slot
    • Check P2P availability of the nodes where their public key starts by the subset hexadecimal identifier
    • Create beacon transaction and notify BeaconChain summary nodes (for the current epoch)
    • Create beacon summary transaction (if it's one of the summary node)
    • Notify explorer about the new transaction validated (See Sharded Explorer)

    Timers and schedulers

    Because each BeaconChain subsets change over time, we need a may to determine what are the current nodes for those subsets and so on. So we have two kind of timers and schedulers:

    • Slot timer: Manage the interval for the beacon slot creations
    • Summary timer: Manage the interval for the beacon summary creations

    Each of those timer provides helpers to be able to generate previous or next dates

    Transaction loading

    Before a transaction's confirmation is loaded into the BeaconChain, a phase of validation is performed to ensure the correctness of the replication:

    • it asserts the transaction's address is the right one
    • it asserts the transaction attestation (node election, signatures, etc.)

    For more details, SlotValidation

    Then the slot is deserialized to be loaded into a cache, for a faster summary aggregation and computation

    Supervisor

    To manage all those processes and isolation a proper supervision tree is defined

    + \ No newline at end of file diff --git a/build/core/beacon-chain/p2p-sampling/index.html b/build/core/beacon-chain/p2p-sampling/index.html index 69eb0ed64..5a427b1ab 100644 --- a/build/core/beacon-chain/p2p-sampling/index.html +++ b/build/core/beacon-chain/p2p-sampling/index.html @@ -4,13 +4,13 @@ P2P availability sampling | Archethic - +
    -

    P2P availability sampling

    Each beacon chain's subset is responsible to perform verification of the nodes is in charge to monitor.

    Heartbeat

    So periodically (when a transaction is confirmed or before a slot creation), the nodes of a given subset perform P2P availability sampling of the given peers.

    info

    If multiple transactions arrive to a given subset quickly, a timespan of 3s from the previous sampling is used, to determine if we need to sample availability again

    A timeout of 1s is given in which a node should respond otherwise it will considered as locally offline by the beacon chain

    Aggregation

    During the transaction generation of the BeaconChain summary, we aggregate multiple slots into a common structure.

    All the aggregated P2P samples are accumulated to determine the frequencies of availability and determine the average.

    So during the Self-Repair, we are using those summary and aggregated data to determine if a node is considered as available for the next epoch/cycle.

    - +

    P2P availability sampling

    Each beacon chain's subset is responsible to perform verification of the nodes is in charge to monitor.

    Heartbeat

    So periodically (when a transaction is confirmed or before a slot creation), the nodes of a given subset perform P2P availability sampling of the given peers.

    info

    If multiple transactions arrive to a given subset quickly, a timespan of 3s from the previous sampling is used, to determine if we need to sample availability again

    A timeout of 1s is given in which a node should respond otherwise it will considered as locally offline by the beacon chain

    Aggregation

    During the transaction generation of the BeaconChain summary, we aggregate multiple slots into a common structure.

    All the aggregated P2P samples are accumulated to determine the frequencies of availability and determine the average.

    So during the Self-Repair, we are using those summary and aggregated data to determine if a node is considered as available for the next epoch/cycle.

    + \ No newline at end of file diff --git a/build/core/bootstrap/index.html b/build/core/bootstrap/index.html index c583b9083..05d3ef786 100644 --- a/build/core/bootstrap/index.html +++ b/build/core/bootstrap/index.html @@ -4,13 +4,13 @@ Bootstrap | Archethic - +
    -

    Bootstrap

    When the Archethic node, a task is launched to perform the node bootstrapping to join the network.

    To be able to bootstrap a node, we gather connectivity information (IP, Port, Transport, Reward address, Bootstrapping seeds) and also last synchronization date.

    But a flow is determine to define what is the state of the bootstrap: network initialization, first bootstrap, next bootstrap

    Network initizialiation

    The first node joining the network will be in charge to initialize the network by defining few transaction chains:

    • Create first node shared secrets transaction chain with initial dailly nonce
    • Create genesis wallets according to the allocation from the UCO token distribution

    First node bootstrapping

    During the first initialization, a node will contact P2P bootstrapping seeds (anchor nodes) to be able to fetch existing nodes.

    Next a node will create transaction to publish its connectivity and crypto information which will authorize or not new joining node.

    Once a node is authorized, after the success of this transaction, it can decrypt/load the storage nonce (will be used for self-repair) and start the self-repair initial cycle to sync transactions.

    Next time bootstraps

    For further bootstraps, the bootstrap tasks determine if an update is required based on connectivity/crypto information changes, then a transaction is emitted to the node chain.

    Once validated, the self-repair is also triggered to resync missed transactions.

    - +

    Bootstrap

    When the Archethic node, a task is launched to perform the node bootstrapping to join the network.

    To be able to bootstrap a node, we gather connectivity information (IP, Port, Transport, Reward address, Bootstrapping seeds) and also last synchronization date.

    But a flow is determine to define what is the state of the bootstrap: network initialization, first bootstrap, next bootstrap

    Network initizialiation

    The first node joining the network will be in charge to initialize the network by defining few transaction chains:

    • Create first node shared secrets transaction chain with initial dailly nonce
    • Create genesis wallets according to the allocation from the UCO token distribution

    First node bootstrapping

    During the first initialization, a node will contact P2P bootstrapping seeds (anchor nodes) to be able to fetch existing nodes.

    Next a node will create transaction to publish its connectivity and crypto information which will authorize or not new joining node.

    Once a node is authorized, after the success of this transaction, it can decrypt/load the storage nonce (will be used for self-repair) and start the self-repair initial cycle to sync transactions.

    Next time bootstraps

    For further bootstraps, the bootstrap tasks determine if an update is required based on connectivity/crypto information changes, then a transaction is emitted to the node chain.

    Once validated, the self-repair is also triggered to resync missed transactions.

    + \ No newline at end of file diff --git a/build/core/cryptography/index.html b/build/core/cryptography/index.html index 590af4a33..40aef4345 100644 --- a/build/core/cryptography/index.html +++ b/build/core/cryptography/index.html @@ -4,13 +4,13 @@ Cryptography | Archethic - +
    -

    Cryptography

    Node cryptography is maintains through keystores

    Node Keystore

    Node cryptography is maintain through keystore which stores the transaction index and reference to the public keys.

    A behavior is defined to be able swap and test easily implementations.

    There are several implementations of the node keystore:

    • Software implementation (used in dev mode and testnet)
    • Hardware implementation

    More details here: Node keystore

    Node Shared Secrets Keystore

    Along with node keystore, node shared secrets have their own keystore as it used to store secrets as daily nonce, storage nonce and provide the API to leverage them for transaction validation, election algorithm, etc..

    A behavior is also provided to be able to swap implementations. Right now only the software implementation is supported.

    More details here: Shared Secrets keystore

    - +

    Cryptography

    Node cryptography is maintains through keystores

    Node Keystore

    Node cryptography is maintain through keystore which stores the transaction index and reference to the public keys.

    A behavior is defined to be able swap and test easily implementations.

    There are several implementations of the node keystore:

    • Software implementation (used in dev mode and testnet)
    • Hardware implementation

    More details here: Node keystore

    Node Shared Secrets Keystore

    Along with node keystore, node shared secrets have their own keystore as it used to store secrets as daily nonce, storage nonce and provide the API to leverage them for transaction validation, election algorithm, etc..

    A behavior is also provided to be able to swap implementations. Right now only the software implementation is supported.

    More details here: Shared Secrets keystore

    + \ No newline at end of file diff --git a/build/core/cryptography/tpm/index.html b/build/core/cryptography/tpm/index.html index 9b13af820..f79f5eebb 100644 --- a/build/core/cryptography/tpm/index.html +++ b/build/core/cryptography/tpm/index.html @@ -4,7 +4,7 @@ TPM Implementation | Archethic - + @@ -15,8 +15,8 @@ The function adds the headers squentially and then the raw x coordinate of public key and then the y coordinate finally the size is updated.

    void signToASN(BYTE r, INT sizeR, BYTE s, INT sizeS, INT *asnSignSize)

    tip

    Converts uncompressed signature values to ASN DER format.

    TPM generates the raw signature in form of integer values : R & S. signToASN() converts these raw values into ASN DER format. It first prepends the ASN sequence then checks the MSB of R . If it is 1 then it prepends a byte (0) to R otherwise it move on to increase the index pointed to the asn by the size of R. Similarly, it does the above for S.

    void generatePublicKey(INT keyIndex)

    danger

    Generates public key on the endorsement key hierarchy of TPM by taking one byte key index as input.

    Firstly, the template of the public key is defined in the inPublicECC which contains the endorsement key template such that certificate on the keys can be generated except modifying the endorsement key object attributes. The inPublicECC structure defines the following sub-structure:

    1. publicArea : defines the attributes of the public key to be generated. For endorsement key the signing operation is restricted due to privacy concern, defined under this structure. In this case we are generating key in the endordement hierarchy by using the template of the endorsement key.
    • The object attributes of generating key are as follows:
    * TPMA_OBJECT_USERWITHAUTH: Signifies the approval of "USER" actions with associated with the public key with a password.
    * TPMA_OBJECT_ADMINWITHPOLICY: Signifies the Approval of "ADMIN" role actions with this object may only be done with a policy session.
    * TPMA_OBJECT_SIGN_ENCRYPT: For a symmetric cipher object, the private portion of the key be used to encrypt. For other objects, the private portion of the key can be used to sign.
    * TPMA_OBJECT_DECRYPT:The private portion of the key can be used to decrypt
    * TPMA_OBJECT_FIXEDTPM: Indicates that the hierarchy of the key genrated cannot be changed.
    * TPMA_OBJECT_FIXEDPARENT:Indicates that the parent of the object cannot be changed.
    * TPMA_OBJECT_SENSITIVEDATAORIGIN: Indicates that the sensitive data is generated by the TPM on the key generation except the authvalue.
    .objectAttributes = (TPMA_OBJECT_USERWITHAUTH |
    TPMA_OBJECT_ADMINWITHPOLICY |
    TPMA_OBJECT_SIGN_ENCRYPT |
    TPMA_OBJECT_DECRYPT |
    TPMA_OBJECT_FIXEDTPM |
    TPMA_OBJECT_FIXEDPARENT |
    TPMA_OBJECT_SENSITIVEDATAORIGIN),

    • Object attributes for generating under Endorsement key hierarchy:
      • TPMA_OBJECT_RESTRICTED: Key usage is restricted to manipulate structures of known format.
    info

    Endorsement key has same template except that there is no SIGN_ENCRYPT FLAG in the object attribute.

    .objectAttributes = (TPMA_OBJECT_RESTRICTED |
    TPMA_OBJECT_ADMINWITHPOLICY |
    TPMA_OBJECT_DECRYPT |
    TPMA_OBJECT_FIXEDTPM |
    TPMA_OBJECT_FIXEDPARENT |
    TPMA_OBJECT_SENSITIVEDATAORIGIN),
    1. authPolicy: this substructure contains a 32 byte buffer with values exactly same as endorsement key attributes. This parameter associates the generated key template to the TPM hence during certificate generation the CA is able to return the certificate for the public key generated under Endorsement key hierarchy.
    .authPolicy = {
    .size = 32,
    .buffer = {0x83, 0x71, 0x97, 0x67, 0x44, 0x84, 0xB3, 0xF8, 0x1A, 0x90, 0xCC,
    0x8D, 0x46, 0xA5, 0xD7, 0x24, 0xFD, 0x52, 0xD7, 0x6E, 0x06, 0x52,
    0x0B, 0x64, 0xF2, 0xA1, 0xDA, 0x1B, 0x33, 0x14, 0x69, 0xAA}},
    1. parameters: In the parameter structure we define the algorithm to be used for private key cryptography and public key cryptography operations.
     .parameters.eccDetail = {.symmetric = {
    .algorithm = TPM2_ALG_AES,
    .keyBits.aes = 128,
    .mode.sym = TPM2_ALG_CFB,
    },
    .scheme = {.scheme = TPM2_ALG_NULL, .details = {.ecdsa = {.hashAlg = TPM2_ALG_SHA256}}},
    .curveID = TPM2_ECC_NIST_P256,
    .kdf = {.scheme = TPM2_ALG_NULL, .details = {}}},

    After definning the template of the public key, a unique data is passed to each key in the unique structure of inPublicEC which is root key hash and key index. For the root key the root key hash is 0 and key index is 0.

    .unique.ecc = {.x = {.size = 32, .buffer = {0}}, .y = {.size = 32, .buffer = {0}}},

    The primary key is created by using Esys_CreatePrimary() function with the following parameters:

    • ESYS_TR_RH_ENDORSEMENT: To generate key in the endorsement hierarchy6.
    • ESYS_TR_PASSWORD: indicates a password authorization
    • inPublicECC: the public key template defined is passed.

    Finally the created key is converted to ASN DER format.

    setRootKey()

    danger

    Initializes root key by calling generatePublicKey(0) since 0 is the index of root key.

    It also sets the root key hash. It is calculated by concatenating the raw x and y part of the root key and then hashing it.

    The rootkey hash is stored statically and is important for every new primary key generation since it is passed as parameter to the unique structure of inPublicEC.X part. The key index is passed as parameter to the inpublicEc.y.

    updateHandlesIndexes()

    tip

    Increments the current index value by 1 and also updates all the corresponding keys.

    Flushes the previous key handles index and points it to the nextKeyHandle then increments NEXT index by 1 to store it in the nextkeyindex. Then generates a new public key by sending nextkeyIndex as the parameter. Finally it assigns the currentKeyhandle to the nextkey handle .

    initializeTPM(INT keyIndex):

    danger

    Initializes TPM context by calling Esys_Initialize() function and sets the previous key handle and nextkey handle as null. Then it sets the root key and key index.

    getKeyIndex():

    info

    Returns previous key index because that is the "current" key index used for performing signature.

    setKeyIndex(INT keyIndex):

    danger

    Sets the previous key index (which is our current key) to the key index passed as parameter.

    Also sets keyIndex+1 as the nextKey index.

    For the key generated at after first initialization it flushes the previous key handle and generates the key with keyIndex then points then populates the previous key handle with the current key handle value. -Next it generates the public key with keyIndex+1 and stores it in the nextkey handle.

    getPublicKey(INT keyIndex, INT *publicKeySize):

    tip

    Returns the public key for the given index.

    Takes keyIndex and returns root key if the keyINDEX is 0, next key if the keyindex matches with the nextKey index, previous key if the keyINdex matches with the previous Key index.

    If it matches with none of these indexes, then it flushes the root key from the tpm (due to the limit of max 3 transient handles), generates the key for the corresponding keyIndex and copies it into temp key then flushes it from the TPM. Finally, it regenerates the root key and then returns temp key.

    signECDSA(INT keyIndex, BYTE hashToSign, INT eccSignSize, bool increment):

    danger

    Signs the given hash using the key referred by the key index.

    Converts the byte hash to TPM2B_hash object and then checks the key index . If it is root key or previous key then assigns it to the signing key handle otherwise;

    Sets the previous key index to the given keyindex by calling setkeyindex() function and assigns it to the signing handle. It signs the hash using Esys_Sign() function. Finally the signature is converted to ASN DER format which is returned by signECDSA().

    getECDHPoint(INT keyIndex, BYTE *euphemeralKey):

    info

    Performs Elliptic Curve Diffe Hellmen Key Exchange using the private part of the key referred by the Key Index and public euphemeral key. Returns the derived shared secret uncompressed point.

    Takes the key index and checks whether it's previous key, next key or root key. If it's one of these then it assigns it to the ECDH key handle else it removes the root key and generates a new key for the given key index and use it in the ECDH handle.

    Next, it re-structures the euphemeral key with the format 04 x y and generates an ECDH point using the Esys_ECDH_ZGen() function and stores it 04 x y format in zPoint which is then returned by the function.

    - +Next it generates the public key with keyIndex+1 and stores it in the nextkey handle.

    getPublicKey(INT keyIndex, INT *publicKeySize):

    tip

    Returns the public key for the given index.

    Takes keyIndex and returns root key if the keyINDEX is 0, next key if the keyindex matches with the nextKey index, previous key if the keyINdex matches with the previous Key index.

    If it matches with none of these indexes, then it flushes the root key from the tpm (due to the limit of max 3 transient handles), generates the key for the corresponding keyIndex and copies it into temp key then flushes it from the TPM. Finally, it regenerates the root key and then returns temp key.

    signECDSA(INT keyIndex, BYTE hashToSign, INT eccSignSize, bool increment):

    danger

    Signs the given hash using the key referred by the key index.

    Converts the byte hash to TPM2B_hash object and then checks the key index . If it is root key or previous key then assigns it to the signing key handle otherwise;

    Sets the previous key index to the given keyindex by calling setkeyindex() function and assigns it to the signing handle. It signs the hash using Esys_Sign() function. Finally the signature is converted to ASN DER format which is returned by signECDSA().

    getECDHPoint(INT keyIndex, BYTE *euphemeralKey):

    info

    Performs Elliptic Curve Diffe Hellmen Key Exchange using the private part of the key referred by the Key Index and public euphemeral key. Returns the derived shared secret uncompressed point.

    Takes the key index and checks whether it's previous key, next key or root key. If it's one of these then it assigns it to the ECDH key handle else it removes the root key and generates a new key for the given key index and use it in the ECDH handle.

    Next, it re-structures the euphemeral key with the format 04 x y and generates an ECDH point using the Esys_ECDH_ZGen() function and stores it 04 x y format in zPoint which is then returned by the function.

    + \ No newline at end of file diff --git a/build/core/cryptography/yubikey/index.html b/build/core/cryptography/yubikey/index.html index 5fd479bb0..e299a71f7 100644 --- a/build/core/cryptography/yubikey/index.html +++ b/build/core/cryptography/yubikey/index.html @@ -4,15 +4,15 @@ Yubikey implementation | Archethic - +

    Yubikey implementation

    This section explains the HRT Yubikey Library implementation.

    tip

    initializeYK() :

    Initializes the context of the yubikey application in the variable g_state and connects to the hardware device. If successful, then gets the key index of Archethic as well as key index of the yubikey device.

    bool checkYK():

    displays the model of yubikey device used returns true if the device list contains "Yubico Yubikey".

    verifyPinYK():

    verifies the pin code using ykpiv_verify() required to access PIV interface.

    authenticateYK():

    Management key is required to do administrative actions. First it does hex decoding of the management key and authenticates if ykpiv_authenticate() returns 0.

    fetchKey(keyIndex):

    A PIV card contains some interoperable seven mandatory and twenty optional data objects. These objects are identified with their respective ids. We use these twenty optional data objects to store the key certificates. fetchKey index takes the yubikey key index ykindex as input and fetches the certificate at the key_certificates[ykindex]. This X509 certificate is decoded and public key is extracted from it using X509_get0_pubkey_bitstr and copied to ecc_public_key.

    generateKey(ykIndex):

    It takes the ykIndex and generates an ECC key using ykpiv_util_generate_key(). It generates key at one of the slots {0x82.. 0x95} pointed by ykindex - key_slots[ykIndex]

    generateCertificate(ykIndex):

    The keys in the slot are attested through ykpiv_attest() by taking the slot on the index as input. It returns attested key and its length which is then saved into an object pointed by ykIndex using ykpiv_save_object().

    getYKIndex():

    The YKPIV_OBJ_KEY_HISTORY keeps the count of the keys generated in the yubikey. This fucntion fetches the YKPIV_OBJ_KEY_HISTORY using ykpiv_fetch_object() to get the index_yk and returns it.

    saveIndex(ykIndex, archethicIndex):

    It takes ykindex and archethicIndex as input and generates index by combining ykindex and archethic index and keeps it in YKPIV_OBJ_HISTORY.

    signECDSA(hashtoSign, ykIndex):

    It uses ykpiv_sign_data() to sign hashToSign using YKPIV_ALGO_ECCP256 through the key pointed by ykindex - key_slots[ykindex].

    getECDHPoint(ykIndex, euphermerakley) :

    It generated an ecdh point using ykpiv_decipher_data() for the slot pointed by ykindex key_slots[ykIndex].

    getArchEthicIndex():

    Fetches the YKPIV_OBJ_KEY_HISTORY and derives the archethicindex from index_yk saved in key history object.

    incrementIndex():

    We use the 20 data objects to store 20 keys certificates at once. The 21st key generated on the yubikey is stored in newYKIndex = ykindex % 20. The archethic index is incremented and a new key is generated using newYKindex .A certificate is generated and saved in the slot pointed by newYKindex. Finally it returns true if the current YK index is equal to newYKindex and current archethicindex is equal to newarchethic index .

    getRootKey():

    Reads the root key certificate from f9 slot and fetches public key from the certificate. Finally it copies the key into rsa_root_key and returns it.

    getCurrentKey(publicKeySize):

    Generates the previous key index by and fetches the key behind previous key index and returns the ecc key.

    getNextKey( publicKeySize):

    It fetches the key from the ykIndex and returns the ecc_public_key behind the index.

    getPastKey(archEthicIndex, publicKeySize):

    It fetches the keys stored previously in the slot. It first calculates the slot position and then fetches the key at the slot position and return it.

    getRootCertificate( certificateSize):

    Reads the certificate of the rootkey from 0xf9 slot, copies it ykcertificate and returns it.

    getCurrentCertificate(certificateSize):

    Calculates the curent key index and fetches the certificate from the object pointed by the current key index.

    getNextCertificate(certificateSize):

    fetches the certificate of the key pointed by ykindex and returns it.

    getPastCertificate(archEthicIndex, certificateSize):

    calculates the slot posistion according to the offset using archethicindex then fetches the object at the slot position which is a certificate amd returns it.

    signCurrentKey(hashToSign, eccSignSize):

    Calculates the current key index then verifies the Yubikey pin using verifyPinYK() and then signs hashToSign using signECDSA(). The signECDSA() signs the key at the currentkeyindex.

    signPastKey(archEthicIndex, hashToSign, eccSignSize):

    Calculates the slot position by first calculating the offset by using archethicindex. Then it verifies the yubikey pin and signs the key pointed at the slotPosition.

    ecdhCurrentKey(euphemeralKey, eccPointSize):

    Calculates the current key index, verifies the yubikey pin to get the ECDH point through getECDHPoint() fucntion and finally returns it.

    ecdhPastKey( archEthicIndex, euphemeralKey, eccPointSize):

    Calculates the offset and slotPosition using archEthicIndex., verifies Yubikey PIN and gets the ECDH point for the key pointed by slotPosiotion and returns it.

    - +uniris-yubikey.h

    initializeYK() :

    Initializes the context of the yubikey application in the variable g_state and connects to the hardware device. If successful, then gets the key index of Archethic as well as key index of the yubikey device.

    bool checkYK():

    displays the model of yubikey device used returns true if the device list contains "Yubico Yubikey".

    verifyPinYK():

    verifies the pin code using ykpiv_verify() required to access PIV interface.

    authenticateYK():

    Management key is required to do administrative actions. First it does hex decoding of the management key and authenticates if ykpiv_authenticate() returns 0.

    fetchKey(keyIndex):

    A PIV card contains some interoperable seven mandatory and twenty optional data objects. These objects are identified with their respective ids. We use these twenty optional data objects to store the key certificates. fetchKey index takes the yubikey key index ykindex as input and fetches the certificate at the key_certificates[ykindex]. This X509 certificate is decoded and public key is extracted from it using X509_get0_pubkey_bitstr and copied to ecc_public_key.

    generateKey(ykIndex):

    It takes the ykIndex and generates an ECC key using ykpiv_util_generate_key(). It generates key at one of the slots {0x82.. 0x95} pointed by ykindex - key_slots[ykIndex]

    generateCertificate(ykIndex):

    The keys in the slot are attested through ykpiv_attest() by taking the slot on the index as input. It returns attested key and its length which is then saved into an object pointed by ykIndex using ykpiv_save_object().

    getYKIndex():

    The YKPIV_OBJ_KEY_HISTORY keeps the count of the keys generated in the yubikey. This fucntion fetches the YKPIV_OBJ_KEY_HISTORY using ykpiv_fetch_object() to get the index_yk and returns it.

    saveIndex(ykIndex, archethicIndex):

    It takes ykindex and archethicIndex as input and generates index by combining ykindex and archethic index and keeps it in YKPIV_OBJ_HISTORY.

    signECDSA(hashtoSign, ykIndex):

    It uses ykpiv_sign_data() to sign hashToSign using YKPIV_ALGO_ECCP256 through the key pointed by ykindex - key_slots[ykindex].

    getECDHPoint(ykIndex, euphermerakley) :

    It generated an ecdh point using ykpiv_decipher_data() for the slot pointed by ykindex key_slots[ykIndex].

    getArchEthicIndex():

    Fetches the YKPIV_OBJ_KEY_HISTORY and derives the archethicindex from index_yk saved in key history object.

    incrementIndex():

    We use the 20 data objects to store 20 keys certificates at once. The 21st key generated on the yubikey is stored in newYKIndex = ykindex % 20. The archethic index is incremented and a new key is generated using newYKindex .A certificate is generated and saved in the slot pointed by newYKindex. Finally it returns true if the current YK index is equal to newYKindex and current archethicindex is equal to newarchethic index .

    getRootKey():

    Reads the root key certificate from f9 slot and fetches public key from the certificate. Finally it copies the key into rsa_root_key and returns it.

    getCurrentKey(publicKeySize):

    Generates the previous key index by and fetches the key behind previous key index and returns the ecc key.

    getNextKey( publicKeySize):

    It fetches the key from the ykIndex and returns the ecc_public_key behind the index.

    getPastKey(archEthicIndex, publicKeySize):

    It fetches the keys stored previously in the slot. It first calculates the slot position and then fetches the key at the slot position and return it.

    getRootCertificate( certificateSize):

    Reads the certificate of the rootkey from 0xf9 slot, copies it ykcertificate and returns it.

    getCurrentCertificate(certificateSize):

    Calculates the curent key index and fetches the certificate from the object pointed by the current key index.

    getNextCertificate(certificateSize):

    fetches the certificate of the key pointed by ykindex and returns it.

    getPastCertificate(archEthicIndex, certificateSize):

    calculates the slot posistion according to the offset using archethicindex then fetches the object at the slot position which is a certificate amd returns it.

    signCurrentKey(hashToSign, eccSignSize):

    Calculates the current key index then verifies the Yubikey pin using verifyPinYK() and then signs hashToSign using signECDSA(). The signECDSA() signs the key at the currentkeyindex.

    signPastKey(archEthicIndex, hashToSign, eccSignSize):

    Calculates the slot position by first calculating the offset by using archethicindex. Then it verifies the yubikey pin and signs the key pointed at the slotPosition.

    ecdhCurrentKey(euphemeralKey, eccPointSize):

    Calculates the current key index, verifies the yubikey pin to get the ECDH point through getECDHPoint() fucntion and finally returns it.

    ecdhPastKey( archEthicIndex, euphemeralKey, eccPointSize):

    Calculates the offset and slotPosition using archEthicIndex., verifies Yubikey PIN and gets the ECDH point for the key pointed by slotPosiotion and returns it.

    + \ No newline at end of file diff --git a/build/core/database/index.html b/build/core/database/index.html index 3eb8f1373..b86548273 100644 --- a/build/core/database/index.html +++ b/build/core/database/index.html @@ -4,7 +4,7 @@ Archethic's database | Archethic - + @@ -24,8 +24,8 @@ So during the write, the transaction index/summary is notified about the last offset of the chain, and help to move forward in the location of new transaction.

    Last index

    As we mentioned in the last addresses chain index file, we need to quickly know what is the last address of a chain, so here we a cache, we says for a given genesis address what is the latest.

    So this table is filled every time a node receives a last address notification.

    Type index

    Because we have type index file, we can also leverages a memory index to know how many transactions for a given type exists. This is useful for key derivation for network transactions. So we can easily and quickly get the size of a chain.

    Chain reader

    Wide column storages provides the capability to extract sub columns information to avoid the load of an entire row in the memory to let the application filter the data. -The filtering can be done on the disk, while make it efficients.

    The behaviour like is a two dimensional key-value pair, where the 1st dimension targets the partition key and the 2nd targets the columns of the row.

    So we achieve a similar approach here, by eing the 1st dimension as the chain file and the 2nd as the list of columns names encoded during the transaction write.

    1. After being able to get the lookup informations from the chain indexes to identify the file and offset in the file of a given transaction, we seek (put the cursor) at the offset position.
    2. Then we can sequentially read columns and values and pick the ones we want
    3. When we reached the end of the transaction (thanks to the size information from the indexes) or the enf of file, we convert those values into a transaction where the values retrieved will be filled in to the structure.

    Write path

    So in order to be written, a transaction follows a write path to make reads efficient.

    After a transaction is written to disk in the genesis chain file, several disks and memory writes are performed to help the indexing of this transaction.

    Transaction's address is written to:

    • the summary index from the subset of the transaction (file)
    • the last addresses index of the chain (in memory and file)
    • the transaction's type index (in memory)
    • the bloom filters (in memory)
    • transaction index (in memory)

    Its public key is also written to the chain's public key index. (file)

    Then transaction's type in memory index number incremented, as well as the chain stats in memory index.

    Read path

    To make read efficients, when a transaction wants to be retrieved, it goes to the read path:

    • Check if the transaction index is present, if yes we have information about the file and position
    • Otherwise we check the bloom filter, if yes, we read the subset summary to identify the position of the transaction, otherwise you inform the transaction does not exists
    • Then a reader is able to perform reads according to the fields requested and the position retrieved.

    Additional of-chain storage

    For now, we have covered the scope of chain storage and retrieval, however we also need to persist some data which are not really inserted into a chain and are important for well-being of the node execution.

    So we have to leverage others kind of storages and indexes as simple key-value in memory loaded from disk.

    The scope of those storages are:

    • Bootstrapping information (last P2P bootstrapping seeds, storage nonce, last sync date)
    • Network statistics (aggregated TPS and nb of transactions)
    • P2P view (aggregated node availability from the beacon chain)
    - +The filtering can be done on the disk, while make it efficients.

    The behaviour like is a two dimensional key-value pair, where the 1st dimension targets the partition key and the 2nd targets the columns of the row.

    So we achieve a similar approach here, by eing the 1st dimension as the chain file and the 2nd as the list of columns names encoded during the transaction write.

    1. After being able to get the lookup informations from the chain indexes to identify the file and offset in the file of a given transaction, we seek (put the cursor) at the offset position.
    2. Then we can sequentially read columns and values and pick the ones we want
    3. When we reached the end of the transaction (thanks to the size information from the indexes) or the enf of file, we convert those values into a transaction where the values retrieved will be filled in to the structure.

    Write path

    So in order to be written, a transaction follows a write path to make reads efficient.

    After a transaction is written to disk in the genesis chain file, several disks and memory writes are performed to help the indexing of this transaction.

    Transaction's address is written to:

    • the summary index from the subset of the transaction (file)
    • the last addresses index of the chain (in memory and file)
    • the transaction's type index (in memory)
    • the bloom filters (in memory)
    • transaction index (in memory)

    Its public key is also written to the chain's public key index. (file)

    Then transaction's type in memory index number incremented, as well as the chain stats in memory index.

    Read path

    To make read efficients, when a transaction wants to be retrieved, it goes to the read path:

    • Check if the transaction index is present, if yes we have information about the file and position
    • Otherwise we check the bloom filter, if yes, we read the subset summary to identify the position of the transaction, otherwise you inform the transaction does not exists
    • Then a reader is able to perform reads according to the fields requested and the position retrieved.

    Additional of-chain storage

    For now, we have covered the scope of chain storage and retrieval, however we also need to persist some data which are not really inserted into a chain and are important for well-being of the node execution.

    So we have to leverage others kind of storages and indexes as simple key-value in memory loaded from disk.

    The scope of those storages are:

    • Bootstrapping information (last P2P bootstrapping seeds, storage nonce, last sync date)
    • Network statistics (aggregated TPS and nb of transactions)
    • P2P view (aggregated node availability from the beacon chain)
    + \ No newline at end of file diff --git a/build/core/election/index.html b/build/core/election/index.html index 026499849..4f495b285 100644 --- a/build/core/election/index.html +++ b/build/core/election/index.html @@ -4,15 +4,15 @@ Election | Archethic - +

    Election

    Archethic provides rotating algorithm to elect validation and storage nodes.

    Validation and Storage Election algorithm provides also list of heuristic constraints to fine grained elections.

    Heuristic constraints

    An ETS table is used to store the last constraints values for a faster lookup.

    Storage constraints are defined by:

    • minimum storage geographical patches
    • minimum storage average by geographical patch
    • number of replicast

    Validation constraints are defined by:

    • minimum validation geographical patch distribution
    • minimum validation nodes
    • validation number based on a given transaction

    Low-Level integrations

    Sometimes for performance issue, we are leveraging low-level programming in C, to perform fast computation.

    Hypergeomtric distribution

    For example, the Hypergeometric Distribution simulation is computed in C and wrapped in an Erlang port communication. But for better simulation lookup, a cache is provided as process to hold the last value for a given number of nodes. -If the number of nodes changes, the hypergeometric distribution will be trigger.

    The C program is using GMP for big float arithemetic operations and OMP for parallel computations to make it efficient.

    - +If the number of nodes changes, the hypergeometric distribution will be trigger.

    The C program is using GMP for big float arithemetic operations and OMP for parallel computations to make it efficient.

    + \ No newline at end of file diff --git a/build/core/governance/code-proposals-cd/index.html b/build/core/governance/code-proposals-cd/index.html index 6a1edf032..e53a3edb8 100644 --- a/build/core/governance/code-proposals-cd/index.html +++ b/build/core/governance/code-proposals-cd/index.html @@ -4,14 +4,14 @@ CD | Archethic - +

    CD

    The archethic-cd target produces an image capable of running archethic_node release. -The objective of cd is to test the code proposal in a testnet environment which means spawning:

    • 5 nodes that run the new version
    • 2 validator containers
    • 1 prometheus container
    • 1 benchmark container

    the cd happens in multiple steps:

    • first we start by copying the upgrade release and the logs we created in the CI part to a tmp folder
    • next we create the subnet and we start all the containers responsible for the CD
    • The validator container ensures that every node is up and do a benchmark before we apply the upgrade
    • We apply the upgrade
    • we start the second round of validation which is responsible for running benchmarks again, running the playbooks and gathering metrics from prometheus.
    • we wait for the final validation message and we clean all containers and images we created.

    nb: the cleaning phase will happen even in the case of failure.

    - +The objective of cd is to test the code proposal in a testnet environment which means spawning:

    • 5 nodes that run the new version
    • 2 validator containers
    • 1 prometheus container
    • 1 benchmark container

    the cd happens in multiple steps:

    • first we start by copying the upgrade release and the logs we created in the CI part to a tmp folder
    • next we create the subnet and we start all the containers responsible for the CD
    • The validator container ensures that every node is up and do a benchmark before we apply the upgrade
    • We apply the upgrade
    • we start the second round of validation which is responsible for running benchmarks again, running the playbooks and gathering metrics from prometheus.
    • we wait for the final validation message and we clean all containers and images we created.

    nb: the cleaning phase will happen even in the case of failure.

    + \ No newline at end of file diff --git a/build/core/governance/code-proposals-ci/index.html b/build/core/governance/code-proposals-ci/index.html index 63b0a6cdc..490624590 100644 --- a/build/core/governance/code-proposals-ci/index.html +++ b/build/core/governance/code-proposals-ci/index.html @@ -4,7 +4,7 @@ CI | Archethic - + @@ -12,8 +12,8 @@

    CI

    After a code proposal is received by a node in the network and passes initial validation, the next step in the process is the CI.

    The archethic-ci target produces an image with build tools. Its goal is to compile the source code into archethic_node release. The CI part is powered by scripts/proposal_ci_job.sh. -The script runs in a container named archethic-prop-{address}, it produces: release upgrade of archethic_node and combined log of application of a code proposal to the source code, execution of unit tests, and log from linter. The log can be obtained with docker logs, the release upgrade and the validator with docker cp, after that the container can be disposed.

    the logs are collected in ci_logfile.txt and this file is copied at the end to tmp directory created in filesystem.

    the script runs multiple commands:

    • Creates a branch prop_{proposal_address}
    • Apply the changes to the branch
    • Add the changes and commit
    • Checking if the project is formatted correctly
    • Check if the project compiles without warning
    • Credo
    • Sobelow
    • Knigge
    • Runs the test suite
    • Dialyzer
    • Checks if dependencies are outdated
    • And Finally it creates an upgrade release with Distillery
    - +The script runs in a container named archethic-prop-{address}, it produces: release upgrade of archethic_node and combined log of application of a code proposal to the source code, execution of unit tests, and log from linter. The log can be obtained with docker logs, the release upgrade and the validator with docker cp, after that the container can be disposed.

    the logs are collected in ci_logfile.txt and this file is copied at the end to tmp directory created in filesystem.

    the script runs multiple commands:

    • Creates a branch prop_{proposal_address}
    • Apply the changes to the branch
    • Add the changes and commit
    • Checking if the project is formatted correctly
    • Check if the project compiles without warning
    • Credo
    • Sobelow
    • Knigge
    • Runs the test suite
    • Dialyzer
    • Checks if dependencies are outdated
    • And Finally it creates an upgrade release with Distillery
    + \ No newline at end of file diff --git a/build/core/governance/code-proposals/index.html b/build/core/governance/code-proposals/index.html index 2a9802cd1..5e6e4ce9b 100644 --- a/build/core/governance/code-proposals/index.html +++ b/build/core/governance/code-proposals/index.html @@ -4,14 +4,14 @@ Code Proposals | Archethic - +

    Code Proposals

    Archethic Blockchain is using code proposals to have a way to upgrade current blockchain -code in a automated and tested way.

    A pending code proposal contains the following fields:

    • Address: Address of the code proposal
    • Approvals: Approvals signed by the users
    • Changes: Diff between current version and code proposal
    • Description: Description of the code proposal
    • Files: Files changed in code proposal
    • Previous Public Key
    • Timestamp
    • Version: target version

    For a code proposal to be valid it needs to validate 3 conditions:

    • The version in code proposal needs to be a successor version of the current one
    • The changes need to contain a valid appup file
    • the code proposal is applicable on the current branch

    Code proposals can be visualised in the governance section of the UI.

    when a code proposal get enough approvals from members of technical council (more than the threshhold), it automatically launchs the CI/CD process.

    - +code in a automated and tested way.

    A pending code proposal contains the following fields:

    • Address: Address of the code proposal
    • Approvals: Approvals signed by the users
    • Changes: Diff between current version and code proposal
    • Description: Description of the code proposal
    • Files: Files changed in code proposal
    • Previous Public Key
    • Timestamp
    • Version: target version

    For a code proposal to be valid it needs to validate 3 conditions:

    • The version in code proposal needs to be a successor version of the current one
    • The changes need to contain a valid appup file
    • the code proposal is applicable on the current branch

    Code proposals can be visualised in the governance section of the UI.

    when a code proposal get enough approvals from members of technical council (more than the threshhold), it automatically launchs the CI/CD process.

    + \ No newline at end of file diff --git a/build/core/index.html b/build/core/index.html index 6beb4075f..9d8dac997 100644 --- a/build/core/index.html +++ b/build/core/index.html @@ -4,15 +4,15 @@ Core development | Archethic - +

    Core development

    Archethic Node repository can be found here

    Technology Stack

    Archethic Blockchain node used a combination of Elixir & C programming languages to achieve fast and reliable decentralized network.

    Why Elixir ?

    Elixir is a dynamic, functional language for building scalable and maintainable applications.

    It leverages the Erlang VM, known for running low-latency, distributed, and fault-tolerant systems.

    Elixir is successfully used in web development, embedded software, data ingestion, and multimedia processing, across a wide range of industries.

    When we are building P2P systems and Blockchain technologies we need to think about fault-tolerance, low-latency, concurrent/parallelism. Elixir matches all those requirements.

    Because all Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages, we can build fast -processing of data which result in a high TPS for a better scalability.

    The unavoidable truth about software running in production is that things will go wrong.

    Even more when we take network, file systems, and other third-party resources into account.

    Elixir provides supervisors which describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work.

    This feature ensures in case of failure, the entire system will not be down, and the isolation provided by the processes and their restarting strategy helps us to achieve it.

    Functional programming promotes a coding style that helps developers write code that is short, concise, and maintainable.

    Out of the box, Erlang VM provides the capability to hot reload code, which is the best case scenario if we want to provide an on-chain governance without restarting nodes.

    Why C ?

    We need to interact with hardware components and C seems the best candidate, so we are using this language to communicate with TPM for instance.

    But also, for some intensive task which are really complex in computing, we rely on C to perform those processing.

    Structure

    Code base is divided into domains (contexts) for better single responsibility principle:

    core structure

    - +processing of data which result in a high TPS for a better scalability.

    The unavoidable truth about software running in production is that things will go wrong.

    Even more when we take network, file systems, and other third-party resources into account.

    Elixir provides supervisors which describe how to restart parts of your system when things go awry, going back to a known initial state that is guaranteed to work.

    This feature ensures in case of failure, the entire system will not be down, and the isolation provided by the processes and their restarting strategy helps us to achieve it.

    Functional programming promotes a coding style that helps developers write code that is short, concise, and maintainable.

    Out of the box, Erlang VM provides the capability to hot reload code, which is the best case scenario if we want to provide an on-chain governance without restarting nodes.

    Why C ?

    We need to interact with hardware components and C seems the best candidate, so we are using this language to communicate with TPM for instance.

    But also, for some intensive task which are really complex in computing, we rely on C to perform those processing.

    Structure

    Code base is divided into domains (contexts) for better single responsibility principle:

    core structure

    + \ No newline at end of file diff --git a/build/core/mining/index.html b/build/core/mining/index.html index b8f6053fb..3d2edbdf4 100644 --- a/build/core/mining/index.html +++ b/build/core/mining/index.html @@ -4,14 +4,14 @@ Mining | Archethic - +

    Mining

    Transaction validation (aka Mining) defines processes and validations algorithms.

    Once a transaction is under validation a given process is dedicated to this transaction. -Depending of the number of validation nodes several validation implementation are defined.

    Along with validation workflow and processes, this context defines high levels functions to get the validation nodes and to assert their election.

    Standalone validation workflow

    When there is not only a single validation nodes (during the network initialization), a process is spawn to manage the transaction validation as a Task to run it (fire-off)

    Distributed validation

    Worflow

    FSM

    When there are multiple validation nodes, a distributed workflow process is spawn as FSM to define the states and evolution of the ARCH consensus algorithm.

    This FSM process is ran by all the validation nodes.

    Therefore each validation maintains a Registry of all the pending transaction validation processes, to be able to redirect P2P messages to the right process.

    - +Depending of the number of validation nodes several validation implementation are defined.

    Along with validation workflow and processes, this context defines high levels functions to get the validation nodes and to assert their election.

    Standalone validation workflow

    When there is not only a single validation nodes (during the network initialization), a process is spawn to manage the transaction validation as a Task to run it (fire-off)

    Distributed validation

    Worflow

    FSM

    When there are multiple validation nodes, a distributed workflow process is spawn as FSM to define the states and evolution of the ARCH consensus algorithm.

    This FSM process is ran by all the validation nodes.

    Therefore each validation maintains a Registry of all the pending transaction validation processes, to be able to redirect P2P messages to the right process.

    + \ No newline at end of file diff --git a/build/core/mining/proof-of-work/index.html b/build/core/mining/proof-of-work/index.html index 25510c1e9..72ecc9a0a 100644 --- a/build/core/mining/proof-of-work/index.html +++ b/build/core/mining/proof-of-work/index.html @@ -4,14 +4,14 @@ Proof of Work algorithm | Archethic - +

    Proof of Work algorithm

    The Archethic's proof of work algorithm defines way to assert the validity of the origin signature.

    It defines two main components:

    • List of origin public key candidates
    • Lookup of the origin public key to verify the signature

    Origin public key candidates

    Origin public keys listed for a given transaction are known by the entire network and are shared between clients and nodes.

    However, a given transaction can specify - through smart-contract the origin family.

    By this way, the nodes are able to extract the list of origin public keys to assert with the signature.

    Lookup

    A simple algorithm is defined to scan the entire list of public keys candidates and verify the cryptographic origin signature.

    Once the public key is found, it becomes the Proof of Work. -If no public key is found, the proof of work is invalid and the transaction as well.

    info

    Telemetry timing is used for this algorithm to indicate how fast the algorithm is with a given number of public keys

    - +If no public key is found, the proof of work is invalid and the transaction as well.

    info

    Telemetry timing is used for this algorithm to indicate how fast the algorithm is with a given number of public keys

    + \ No newline at end of file diff --git a/build/core/mining/transaction-context/index.html b/build/core/mining/transaction-context/index.html index 60a6efc31..520b17e72 100644 --- a/build/core/mining/transaction-context/index.html +++ b/build/core/mining/transaction-context/index.html @@ -4,14 +4,14 @@ Transaction context retrieval | Archethic - +

    Transaction context retrieval

    When a transaction is under validation, after the pending transaction validation, the nodes are fetching the context of the transaction.

    Retrieval

    This retrieval include multiple queries to be able to perform an efficient validation:

    • Get the previous transaction
    • Get the unspent outputs
    • Get the P2P view of the storage nodes (chain and beacon)

    All of thoses queries happen concurrently making efficient the transaction validation.

    To be sure the data is fetched faster, an algorithm is provided to first target the closest nodes from the validation node but -also ensure the if node fails to respond, other nodes will take the relay.

    However, if for the P2P view query, some node doesn't respond in a timeframe, it will be considered as offline, and through aggregation during the replication tree creation, this node will not receive replication request

    Node distribution

    To be sure all the validation will get the best of this retrieval, an algorithm have been developed to ensure a fair distribution of the nodes invovled in those queries.

    The storage nodes for the previous chain are split into 2 group: previous transaction and unspent outputs

    This way a given node will get several responses ensuring the atomic commitment of the transaction.

    The algorithm defines the number of group to have and the number of nodes in each group.

    Also it balances the groups to be sure a group have the same number of node without duplication

    - +also ensure the if node fails to respond, other nodes will take the relay.

    However, if for the P2P view query, some node doesn't respond in a timeframe, it will be considered as offline, and through aggregation during the replication tree creation, this node will not receive replication request

    Node distribution

    To be sure all the validation will get the best of this retrieval, an algorithm have been developed to ensure a fair distribution of the nodes invovled in those queries.

    The storage nodes for the previous chain are split into 2 group: previous transaction and unspent outputs

    This way a given node will get several responses ensuring the atomic commitment of the transaction.

    The algorithm defines the number of group to have and the number of nodes in each group.

    Also it balances the groups to be sure a group have the same number of node without duplication

    + \ No newline at end of file diff --git a/build/core/mining/transaction-validation/index.html b/build/core/mining/transaction-validation/index.html index 4feef4266..46f2d658a 100644 --- a/build/core/mining/transaction-validation/index.html +++ b/build/core/mining/transaction-validation/index.html @@ -4,7 +4,7 @@ Pending transaction validation | Archethic - + @@ -12,8 +12,8 @@

    Pending transaction validation

    When a transaction is under validation a process is started to perform the ARCH consensus workflow.

    At the beginning of this workflow, a prior validation is done to detect if the transaction is errornous according of several implementations based on the type of the transactions and other criterias.

    1. Check of the previous signature
    2. Check if there is smart contract, of its validity
    3. Check the content size does not exceed the threshold defined in the configuration
    4. Provide verification based on the transaction type

    Smart contract verification

    If a transaction contains smart contract, it needs to verify certains things to be sure the smart contract is valid and the nodes will be able to interpret the contract, for example:

    • Parse the contract and determines its validity
    • If an ownership and its secret have been encoded for the node shared storage nonce public key, so they will be able create new transaction on the chain

    Transaction type verification

    Node transaction verification

    Before to join the network, node must submit a transaction with a type "node". The following checks are performed:

    • Decoding of the transaction's content
    • Assert the origin key is authorized along with the certification. (See Hardware Root of Trust)
    • Check if there are not already existing nodes with the same ip, port and public key

    Node shared secrets transaction verification

    Periodically the nodes submit a renewal of node shared secrets through a transaction. The following checks are performed:

    • Decoding of the transactio's content
    • Check is the new authorized node proposed are available

    Token transaction verification

    To create a new asset (Token), a transaction with a type "token" is submitted to the network.

    The nodes asserts the content of the Token transactions respects the formatting to be able for the node to interpret it and mint tokens.

    Oracle transaction verification

    When the OracleChain polled some external data and build a transaction to propose the new changes, the nodes will assert the content from the services data are correct regarding the service SLA. (See OracleChain Service)

    OracleSummary transaction verification

    Periodically, after a cycle/epoch, the nodes submit a transaction which summarizes the entire oracle chain data for this epoch. -Then the nodes have to assert the changes through:

    • Fetching the entire oracle chain for this epoch
    • Assert the aggregated content in the oracle chain summary matches the data from all the transaction in the oracle chain

    Code proposal transaction verification

    When a new upgrade of the network is proposed, a transaction embeds the changes and is sent to the network. (See: On-Chain Governance

    The following checks are performed:

    • Decoding the proposal changes (like Git patch)
    • Assert the validity of the changes: format, conformity with the latest Git commit

    Code approval transaction verification

    When an updated have been proposed, technical commitee member can vote for a proposal, then a transaction is sent. (See: On-Chain Governance)

    The following checks are performed:

    • Check if the approver is a member of the technical commitee,
    • Check if the proposal exists
    • Check if the proposal hasn't been signed by the approver earlier
    - +Then the nodes have to assert the changes through:

    • Fetching the entire oracle chain for this epoch
    • Assert the aggregated content in the oracle chain summary matches the data from all the transaction in the oracle chain

    Code proposal transaction verification

    When a new upgrade of the network is proposed, a transaction embeds the changes and is sent to the network. (See: On-Chain Governance

    The following checks are performed:

    • Decoding the proposal changes (like Git patch)
    • Assert the validity of the changes: format, conformity with the latest Git commit

    Code approval transaction verification

    When an updated have been proposed, technical commitee member can vote for a proposal, then a transaction is sent. (See: On-Chain Governance)

    The following checks are performed:

    • Check if the approver is a member of the technical commitee,
    • Check if the proposal exists
    • Check if the proposal hasn't been signed by the approver earlier
    + \ No newline at end of file diff --git a/build/core/oracle-chain/index.html b/build/core/oracle-chain/index.html index 39970cef6..8950b0619 100644 --- a/build/core/oracle-chain/index.html +++ b/build/core/oracle-chain/index.html @@ -4,13 +4,13 @@ OracleChain | Archethic - + - +

    OracleChain

    OracleChain is an internal mechanism inside Archethic Node Software making external data fetching embedded into a transaction chain.

    It's built around three main components:

    + \ No newline at end of file diff --git a/build/core/oracle-chain/memory-table/index.html b/build/core/oracle-chain/memory-table/index.html index 57eb3f86a..7064836a3 100644 --- a/build/core/oracle-chain/memory-table/index.html +++ b/build/core/oracle-chain/memory-table/index.html @@ -4,13 +4,13 @@ OracleChain Memory Tables | Archethic - +
    -

    OracleChain Memory Tables

    OracleChain component provides scheduler and services to maintain transaction chain and real world data integration.

    But we need a way to access quickly this information for better computation latency.

    For this purpose, the OracleChain service maintains a memory table using ETS to hold the information according to their date.

    It represented in that way:

    TimestampServiceData

    For example for the UCO service we may have:

    TimestampServiceData
    1622801400UCO%{ "eur" => 0.02 }

    The table is loading after each oracle or oracle summary transaction and during the bootstrap for faster computation.

    info

    The transaction's fee algorithm is using this cached information to provide this computation quickly

    - +

    OracleChain Memory Tables

    OracleChain component provides scheduler and services to maintain transaction chain and real world data integration.

    But we need a way to access quickly this information for better computation latency.

    For this purpose, the OracleChain service maintains a memory table using ETS to hold the information according to their date.

    It represented in that way:

    TimestampServiceData

    For example for the UCO service we may have:

    TimestampServiceData
    1622801400UCO%{ "eur" => 0.02 }

    The table is loading after each oracle or oracle summary transaction and during the bootstrap for faster computation.

    info

    The transaction's fee algorithm is using this cached information to provide this computation quickly

    + \ No newline at end of file diff --git a/build/core/oracle-chain/scheduler/index.html b/build/core/oracle-chain/scheduler/index.html index 4788fd3b9..c5206deba 100644 --- a/build/core/oracle-chain/scheduler/index.html +++ b/build/core/oracle-chain/scheduler/index.html @@ -4,14 +4,14 @@ OracleChain Scheduler | Archethic - +

    OracleChain Scheduler

    The OracleChain module contains a process in charge of scheduling the data fetching and transaction submitting.

    It's modeled as finite state machine.

    Three main state are represented:

    • IDLE: When the process is waiting a new tick to be triggered based on some interval
    • Polling: When the process must fetch data from external sources
    • Summary: When the process must aggregate the entire polling transactions for a given interval
    info

    Mainnet and Testnet can have different values based on environment variables.

    This is due to simulate quicker events and summary.

    For example,

    • on Mainnet: each polling is triggered each minute and the summary each day at 00:00 UTC.
    • on Testnet: each polling is triggered each 10s and the summary each minute. -:::

    For each actionable state, the process determines if the current running node is in charge to fetch or emit the transaction, based on the election algorithm.

    Also to avoid any useless transactions, the process identifies if a new transaction must be emitted regarding the freshness of the information retrieved from the Oracle services.

    You can find below a schema representing this finite state machine and its related events.

    :::note

    - +:::

    For each actionable state, the process determines if the current running node is in charge to fetch or emit the transaction, based on the election algorithm.

    Also to avoid any useless transactions, the process identifies if a new transaction must be emitted regarding the freshness of the information retrieved from the Oracle services.

    You can find below a schema representing this finite state machine and its related events.

    :::note

    + \ No newline at end of file diff --git a/build/core/oracle-chain/service/index.html b/build/core/oracle-chain/service/index.html index 7dda22088..1af7412db 100644 --- a/build/core/oracle-chain/service/index.html +++ b/build/core/oracle-chain/service/index.html @@ -4,14 +4,14 @@ Oracle Chain Service | Archethic - +

    Oracle Chain Service

    OracleChain provides a way to extend it and to add more services to the scheduler.

    Behavior

    The behavior defines functions to extend to support new services

    • Fetch: This will perform the data fetching and will return a map of the data to be serialized by the transaction
    • Verify: This will let validation nodes asserts the information provided in the new oracle transaction
    • Parse data: This will parse the incoming data from the oracle transaction and checks its validatity

    Example

    UCO service behavior is implemented in such way:

    • Fetch: it request Coingecko to fetch the USD/EUR pair of the Archethic token
    • Verify: fetch Coingecko again to gather the token price and compare price using a standard deviation function with a threshold of 0.01
    • Parse data: Ensure the data is map with the USD/EUR pair and an amount encoded as float

    Configuration

    Along with the definition of the new service, we need to inform how to add this service to the scheduler. -For this we need to add the service in the configuration (config.exs)

    config :archethic, Archethic.OracleChain,
    services: [
    uco: Archethic.OracleChain.Services.UCOPrice,
    mynewservice: Archethic.OracleChain.Service.MyNewService # Added line
    ]
    - +For this we need to add the service in the configuration (config.exs)

    config :archethic, Archethic.OracleChain,
    services: [
    uco: Archethic.OracleChain.Services.UCOPrice,
    mynewservice: Archethic.OracleChain.Service.MyNewService # Added line
    ]
    + \ No newline at end of file diff --git a/build/core/p2p/index.html b/build/core/p2p/index.html index a8992eb09..d3139838d 100644 --- a/build/core/p2p/index.html +++ b/build/core/p2p/index.html @@ -4,13 +4,13 @@ P2P | Archethic - + - + + \ No newline at end of file diff --git a/build/core/p2p/messaging/index.html b/build/core/p2p/messaging/index.html index 5d8f92eaf..7c8ce8474 100644 --- a/build/core/p2p/messaging/index.html +++ b/build/core/p2p/messaging/index.html @@ -4,14 +4,14 @@ Messaging | Archethic - +

    Messaging

    Archethic Blockchain is used a brand new P2P layer from the Supervised Multicast, but to ensure the best data transmission possible, we are using two modern approaches: Stream Multiplexer and Binary Protocol.

    Those two features helps to achieve a low latency P2P messaging.

    Stream Multiplexer

    Stream Multiplexing allows multiple independent logical streams to share a common underlying transport stream and
    -there are many independent streams of communication between peers.

    Stream Multiplexing amortizes the overhead of establishing a transport connection and helps to distinguish which messages to handle in a concurrent way.

    |---------|                           |---------|
    | Service | | Service |
    |---------| |---------|
    | Msg ID: 2 |------------| |
    |--------------| Connection |---------| Msg ID: 1
    | TCP |
    |--------------|------------|---------|
    | Msg ID: 1 | Msg ID: 2
    |---------| |---------|
    | Service | | Service |
    |---------| |---------|

    In the current implementation, each node connection is backed by a GenServer which serializes the call the remote endpoint, through an established connection.

    Even if the calls are serialized, it leverages a non-blocking messaging, so multiple messages can be sent with several independant clients. However after a certain amount of time(timeout: 5s), the message is dropped to reduce the message queue.

    Binary Protocol

    Network latency is very important to reach an unlimited and really scalable network and using binary protocol helps to reduce bandwidth.

    Different kind of solutions existing for binary protocol: Protobuf, Avro, Thrift, MsgPack, etc.

    However, to support a custom and efficient binary serialization, Archethic uses it own binary protocol through the transport layer to reduce and to optimize by the message, the data to send.

    This aspect is important, when we are dealing with bits, to reduce byte size.

    For example, if we want to serialize this bitstring: 11100000

    • With existing solutions, we may end up with a list of 8 bytes
    • With a custom solution, we serialize it with only 1 byte

    Message envelop

    To support privacy and security, each message is wrapped in a MessageEnvelop struct within:

    • Message ID: used in the stream multiplexing
    • Message to send
    • Sender public key: used to determine the liveness of the node from the recipient P2P view

    The envelop is then encrypted with the recipient public key (known by the network) using ECIES cryptography protocol.

    - +there are many independent streams of communication between peers.

    Stream Multiplexing amortizes the overhead of establishing a transport connection and helps to distinguish which messages to handle in a concurrent way.

    |---------|                           |---------|
    | Service | | Service |
    |---------| |---------|
    | Msg ID: 2 |------------| |
    |--------------| Connection |---------| Msg ID: 1
    | TCP |
    |--------------|------------|---------|
    | Msg ID: 1 | Msg ID: 2
    |---------| |---------|
    | Service | | Service |
    |---------| |---------|

    In the current implementation, each node connection is backed by a GenServer which serializes the call the remote endpoint, through an established connection.

    Even if the calls are serialized, it leverages a non-blocking messaging, so multiple messages can be sent with several independant clients. However after a certain amount of time(timeout: 5s), the message is dropped to reduce the message queue.

    Binary Protocol

    Network latency is very important to reach an unlimited and really scalable network and using binary protocol helps to reduce bandwidth.

    Different kind of solutions existing for binary protocol: Protobuf, Avro, Thrift, MsgPack, etc.

    However, to support a custom and efficient binary serialization, Archethic uses it own binary protocol through the transport layer to reduce and to optimize by the message, the data to send.

    This aspect is important, when we are dealing with bits, to reduce byte size.

    For example, if we want to serialize this bitstring: 11100000

    • With existing solutions, we may end up with a list of 8 bytes
    • With a custom solution, we serialize it with only 1 byte

    Message envelop

    To support privacy and security, each message is wrapped in a MessageEnvelop struct within:

    • Message ID: used in the stream multiplexing
    • Message to send
    • Sender public key: used to determine the liveness of the node from the recipient P2P view

    The envelop is then encrypted with the recipient public key (known by the network) using ECIES cryptography protocol.

    + \ No newline at end of file diff --git a/build/core/p2p/node/index.html b/build/core/p2p/node/index.html index ef96751a4..a5cb96430 100644 --- a/build/core/p2p/node/index.html +++ b/build/core/p2p/node/index.html @@ -4,14 +4,14 @@ Node | Archethic - +

    Node

    Data structure

    Archethic is using a structured and open P2P network based on some properties:

    A node include a list P2P information such as:

    • IP
    • P2P Port
    • HTTP Port (Web layer - Explorer)
    • P2P Protocol (i.e TCP)
    • First public key
    • Last public key
    • GeoPatch (for geographical distribution based on the GeoIP of the IP)
    • NetworkPatch (for P2P responsiveness based on the latency to reach it)
    • Reward address (the address where the mining rewards should be sent)
    • Global availability (from BeaconChain qualification)
    • Local availability (from Supervised Multicast)
    • Average availability (from BeaconChain qualification)
    • Authorized
    • Authorization Date

    P2P tables view

    The application is stored a P2P view in memory table using ETS (Erlang Term Storage) to support fast query to fetch node information.

    When network transaction(node, node shared secrets) are loaded inside the system, MemTableLoader module is called to populate the tables. This is also true during the bootstrap of the node to fill up the data as cache.

    Discovery table

    first public keylast public keyIPP2P portHTTP portgeo patchnetwork patchaverage availabilityavailability historyenrollment datetransportreward ddress

    This table contains all the P2P information for a given node index by its first public key

    Availability lookup table

    first public key

    This table indicates the node availability, if its first public key is present in the table. -The purpose of this short table is to provide a really fast access to determine the availability.

    Authorized nodes table

    first public keyauthorization date

    All the node public keys presents in this table will be considered at authorized nodes along with their authorization date.

    So in order to determine if a node is authorized a fast lookup can be performed.

    In the same order, to get the list of authorized nodes by folding this table which can then lookup data from the discovery table to fetch all the information regarding the authorized node.

    Nodes key lookup table

    last public keyfirst public key

    This is a reverse ordered table where we can have access to the first node public key from its last public key, without traversing the entire discovery table

    - +The purpose of this short table is to provide a really fast access to determine the availability.

    Authorized nodes table

    first public keyauthorization date

    All the node public keys presents in this table will be considered at authorized nodes along with their authorization date.

    So in order to determine if a node is authorized a fast lookup can be performed.

    In the same order, to get the list of authorized nodes by folding this table which can then lookup data from the discovery table to fetch all the information regarding the authorized node.

    Nodes key lookup table

    last public keyfirst public key

    This is a reverse ordered table where we can have access to the first node public key from its last public key, without traversing the entire discovery table

    + \ No newline at end of file diff --git a/build/dapp/connecting/index.html b/build/dapp/connecting/index.html index 32f4a7ce6..8ac4a32be 100644 --- a/build/dapp/connecting/index.html +++ b/build/dapp/connecting/index.html @@ -4,13 +4,13 @@ Connecting aeWallet | Archethic - +
    -

    Connecting aeWallet

    This example attempts to connect to aeWallet and writes a log when connection status is updated.

    tip

    Ensure that the aeWallet application is running and unlocked before attempting connection.

    info

    This snippet uses Javascript language to keep things simple.

    But @archethicjs/sdk can be used in a TypeScript or Javascript project.

    index.html
    <html>
    <head>
    <script type="module" src="main.js"/>
    </head>
    </html>
    main.js
    import Archethic, { ConnectionState } from "https://esm.sh/@archethicjs/sdk";

    /// Creates an Archethic client.
    /// This checks aeWallet RPC available transport methods and creates
    /// an ArchethicWalletClient accordingly.
    /// - If Archethic Wallet desktop is running and unlocked, Websocket will be used
    /// - If Archethic Wallet Chrome extension is installed, it will be opened
    const archethicClient = new Archethic()

    /// Listen to rpc wallet connection status changes
    archethicClient.rpcWallet.onconnectionstatechange(async (state) => {
    switch (state) {
    case ConnectionState.Connecting:
    console.log("Connecting ...")
    break
    case ConnectionState.Closed:
    console.log("Connection closed")
    break
    case ConnectionState.Closing:
    console.log("Disconnecting ...")
    break
    case ConnectionState.Open:
    const { endpointUrl } = await archethicClient.rpcWallet.getEndpoint()
    const walletAccount = await archethicClient.rpcWallet.getCurrentAccount()
    console.log(`Connected as ${walletAccount.shortName} to ${endpointUrl}`)
    break
    }
    })

    /// Attempts to connect to `aeWallet`.
    ///
    /// Then it sets `archethicClient` up to
    /// use the same chain as aeWallet.
    ///
    /// This way, you can use :
    /// - `archethicClient` to interact directly with the chain
    /// - `archethicClient.rpcWallet` to interact with `aeWallet`
    await archethicClient.connect()

    /// Disconnect after 2 seconds
    setTimeout(
    async () => {

    await archethicClient.rpcWallet.close()
    archethicClient.rpcWallet.unsubscribeconnectionstatechange()
    },
    2000,
    )
    - +

    Connecting aeWallet

    This example attempts to connect to aeWallet and writes a log when connection status is updated.

    tip

    Ensure that the aeWallet application is running and unlocked before attempting connection.

    info

    This snippet uses Javascript language to keep things simple.

    But @archethicjs/sdk can be used in a TypeScript or Javascript project.

    index.html
    <html>
    <head>
    <script type="module" src="main.js"/>
    </head>
    </html>
    main.js
    import Archethic, { ConnectionState } from "https://esm.sh/@archethicjs/sdk";

    /// Creates an Archethic client.
    /// This checks aeWallet RPC available transport methods and creates
    /// an ArchethicWalletClient accordingly.
    /// - If Archethic Wallet desktop is running and unlocked, Websocket will be used
    /// - If Archethic Wallet Chrome extension is installed, it will be opened
    const archethicClient = new Archethic()

    /// Listen to rpc wallet connection status changes
    archethicClient.rpcWallet.onconnectionstatechange(async (state) => {
    switch (state) {
    case ConnectionState.Connecting:
    console.log("Connecting ...")
    break
    case ConnectionState.Closed:
    console.log("Connection closed")
    break
    case ConnectionState.Closing:
    console.log("Disconnecting ...")
    break
    case ConnectionState.Open:
    const { endpointUrl } = await archethicClient.rpcWallet.getEndpoint()
    const walletAccount = await archethicClient.rpcWallet.getCurrentAccount()
    console.log(`Connected as ${walletAccount.shortName} to ${endpointUrl}`)
    break
    }
    })

    /// Attempts to connect to `aeWallet`.
    ///
    /// Then it sets `archethicClient` up to
    /// use the same chain as aeWallet.
    ///
    /// This way, you can use :
    /// - `archethicClient` to interact directly with the chain
    /// - `archethicClient.rpcWallet` to interact with `aeWallet`
    await archethicClient.connect()

    /// Disconnect after 2 seconds
    setTimeout(
    async () => {

    await archethicClient.rpcWallet.close()
    archethicClient.rpcWallet.unsubscribeconnectionstatechange()
    },
    2000,
    )
    + \ No newline at end of file diff --git a/build/dapp/faq/index.html b/build/dapp/faq/index.html index 92095ef25..5bfa76be5 100644 --- a/build/dapp/faq/index.html +++ b/build/dapp/faq/index.html @@ -4,14 +4,14 @@ FAQ | Archethic - +

    FAQ

    How to test a WebSocket connection locally?

    Ensure that the Archethic wallet is running and listening on the correct port. You can use tools like wscat for testing.

    Which browsers are supported?

    Currently, only browsers based on chromium (Google Chrome, Brave, ...) are fully supported with the Archethic extension.

    For a mobile DApp to communicate with aeWallet mobile, the only communication channel is the deeplink. -This means that aeWallet will briefly be brought to the foreground during each call made by your DApp.

    Due to this limitation, we have decided to disable subscription RPC calls by deeplink.

    - +This means that aeWallet will briefly be brought to the foreground during each call made by your DApp.

    Due to this limitation, we have decided to disable subscription RPC calls by deeplink.

    + \ No newline at end of file diff --git a/build/dapp/getting-started/index.html b/build/dapp/getting-started/index.html index f6969631b..312e3a18e 100644 --- a/build/dapp/getting-started/index.html +++ b/build/dapp/getting-started/index.html @@ -4,13 +4,13 @@ Getting started | Archethic - +
    -

    Getting started

    npm install @archethicjs/sdk
    - +

    Getting started

    npm install @archethicjs/sdk
    + \ No newline at end of file diff --git a/build/dapp/index.html b/build/dapp/index.html index d9b53dd68..cd2db1a96 100644 --- a/build/dapp/index.html +++ b/build/dapp/index.html @@ -4,14 +4,14 @@ Howto create a DApp | Archethic - +

    Howto create a DApp

    This documentation aims to guide developers in integrating with Archethic Wallet (aeWallet). It explains various communication methods and includes code snippets in Dart (Flutter) and Javacript / TypeScript.

    note

    If you are more interested in Archethic Wallet RPC protocol fundamentals, check these documents.

    caution

    Before going further, you must have a minimal understanding of the way Archethic blockchain works.

    If not, these docs are a good start

    Introduction

    Archethic wallets enable DApps (Decentralized Applications) to interact with the Archethic blockchain. This interaction is essential for:

    • Signing transactions.
    • Managing accounts.

    While keeping your secrets protected in aeWallet.

    Communication Channels

    Below are the supported communication methods with Archethic wallets:

    DApp platformaeWallet platformChannelTypescript LibFlutter Lib
    Web (Desktop browser)DesktopWebSocket
    Web (Mobile browser)MobileWeb Message Channel⛔️ Not implemented yet⛔️ Not implemented yet
    Web (Desktop browser)Chrome ExtensionWeb Message Channel
    DesktopDesktopWebSocket
    MobileMobileDeepLink⛔️
    info

    Mobile browsers are currently not supported. -In the future, mobile wallet will support Web DApps through an embedded browser.

    Tools and Libraries

    - +In the future, mobile wallet will support Web DApps through an embedded browser.

    Tools and Libraries

    + \ No newline at end of file diff --git a/build/dapp/rpc-commands/index.html b/build/dapp/rpc-commands/index.html index 04ec22c5d..01bd42cfd 100644 --- a/build/dapp/rpc-commands/index.html +++ b/build/dapp/rpc-commands/index.html @@ -4,13 +4,13 @@ RPC Commands | Archethic - +
    -

    RPC Commands

    Here is a description of all RPC commands available.

    Official SDKs support all of these. To get more detailed info, refer to your SDK documentation.

    info

    Subscriptions won't be available on Deeplink channel because of technical limitations.

    get_endpoint

    Gets the endpoint URL used on AEWallet.

    Request

    // no payload in request

    Success Response

    {
    endpointUrl: string // Endpoint URL
    }

    refresh_current_account

    Request the wallet to refresh current account info

    Request

    // no payload in request

    Success Response

    // no response

    get_accounts

    Gets the accounts available on AEWallet.

    Request

    // No payload

    Success Response

    {
    accounts: [
    {
    shortName: string, // Account name
    serviceName: string, // Service name
    genesisAddress: string, // Genesis address
    }
    ]
    }

    send_transaction

    Signs and sends a transaction.

    Request

    {
    type: string, // Type of transaction
    version: number, // Version of the transaction (used for backward compatiblity)
    data: Object, // Transaction data zone (identity, keychain, smart contract, etc.)
    generateEncryptedSeedSC: boolean // (Optional) : if true, add a encrypted (by storage nonce public key) seed in the transaction's ownerships to allow nodes to manage smart contract
    }

    Success Response

    {
    transactionAddress: string, // Sent transaction address.
    nbConfirmations: number, // number of received confirmations.
    maxConfirmations: number, // Max number of confirmations.
    }

    add_service

    Requires user confirmation

    Add a service in the keychain

    Request

    {
    name: string, // Name of the service
    }

    Success Response

    {
    transactionAddress: string, // Transaction address.
    nbConfirmations: number, // number of received confirmations.
    maxConfirmations: number, // Max number of confirmations.
    }

    remove_service

    Requires user confirmation

    Remove a service from the keychain

    Request

    {
    name: string, // Name of the service
    }

    Success Response

    {
    transactionAddress: string, // Transaction address.
    nbConfirmations: number, // Number of received confirmations.
    maxConfirmations: number, // Max number of confirmations.
    }

    get_services_from_keychain

    Gets keychain's services from the keychain connected to AEWallet.

    Request

    // No payload

    Success Response

    {
    services: [
    {
    derivationPath: string, // Derivation path
    curve: string, // Curve
    hashAlgo: string // Hash Algo
    }
    ]
    }

    keychain_derive_keypair

    Derive a keypair for the given service at the index given and get the public key

    Request

    {
    serviceName: string, // Service name to identify the derivation path to use
    index: number, // Chain index to derive (optional - default to 0)
    pathSuffix: string // Additional information to add to a service derivation path (optional - default to empty)
    }

    Success Response

    {
    publicKey: string // Public key of the service at the index given
    }

    keychain_derive_address

    Derive an address for the given service at the index given

    Request

    {
    serviceName: string, // Service name to identify the derivation path to use
    index: number, // Chain index to derive (optional - default to 0)
    pathSuffix: string // Additional information to add to a service derivation path (optional - default to empty)
    }

    Success Response

    {
    address: string // Address derived
    }

    get_current_account

    Gets the current account selected on AEWallet.

    Request

    // No payload

    Success Response

    {
    shortName: string, // Account name
    serviceName: string, // Service name
    genesisAddress: string, // Genesis address
    }

    sign_transactions

    Requires user confirmation

    Signs many transactions.

    Request

    {
    serviceName: string, // Service name to use to sign the tx
    pathSuffix: string, // Additional information to add to a service derivation path (optional)
    description: { // Readable description to explain the purpose of signing transactions (locale + description)
    en: string,
    fr: string,
    },
    transactions: [
    {
    type: string, // Type of transaction
    version: number, // Version of the transaction (used for backward compatiblity)
    data: Object // Transaction data zone (identity, keychain, smart contract, etc.)
    }
    ]
    }

    Success Response

    {
    signedTxs: [
    {
    address: string, // Address: hash of the new generated public key for the given transaction
    previousPublicKey: string, // Previous generated public key matching the previous signature
    previousSignature: string, // Signature from the previous public key
    originSignature: string // Signature from the device which originated the transaction (used in the Proof of work)
    }
    ]
    }

    sign_payloads

    Requires user confirmation

    Signs many payloads.

    Request

    {
    serviceName: string, // Service name to use to sign the payload
    pathSuffix: string, // Additional information to add to a service derivation path (optional)
    description: { // Readable description to explain the purpose of signing payloads (locale + description)
    en: string,
    fr: string,
    },
    payloads: [
    {
    payload: string, // Payload to sign
    isHexa: boolean // Precise if the payload if in hexadecimal format
    }
    ]
    }

    Success Response

    {
    signedPayloads: [
    {
    signedPayload: string, // Signed payload
    }
    ]
    }

    subscribe_account

    Subscription command

    Listens to any updates on an account.

    Subscription

    {
    name: string, // Service name to use to sign the payload
    }

    Notifications

    {
    name: string,
    genesisAddress: string,
    lastAddress: string?,
    balance: {
    nativeTokenName: string,
    nativeTokenValue: double,
    }?,
    }

    subscribe_current_account

    Subscription command

    Listens to any updates on wallet selected account.

    Subscription

    // no payload in request

    Notifications

    {
    name: string,
    genesisAddress: string,
    }
    - +

    RPC Commands

    Here is a description of all RPC commands available.

    Official SDKs support all of these. To get more detailed info, refer to your SDK documentation.

    info

    Subscriptions won't be available on Deeplink channel because of technical limitations.

    get_endpoint

    Gets the endpoint URL used on AEWallet.

    Request

    // no payload in request

    Success Response

    {
    endpointUrl: string // Endpoint URL
    }

    refresh_current_account

    Request the wallet to refresh current account info

    Request

    // no payload in request

    Success Response

    // no response

    get_accounts

    Gets the accounts available on AEWallet.

    Request

    // No payload

    Success Response

    {
    accounts: [
    {
    shortName: string, // Account name
    serviceName: string, // Service name
    genesisAddress: string, // Genesis address
    }
    ]
    }

    send_transaction

    Signs and sends a transaction.

    Request

    {
    type: string, // Type of transaction
    version: number, // Version of the transaction (used for backward compatiblity)
    data: Object, // Transaction data zone (identity, keychain, smart contract, etc.)
    generateEncryptedSeedSC: boolean // (Optional) : if true, add a encrypted (by storage nonce public key) seed in the transaction's ownerships to allow nodes to manage smart contract
    }

    Success Response

    {
    transactionAddress: string, // Sent transaction address.
    nbConfirmations: number, // number of received confirmations.
    maxConfirmations: number, // Max number of confirmations.
    }

    add_service

    Requires user confirmation

    Add a service in the keychain

    Request

    {
    name: string, // Name of the service
    }

    Success Response

    {
    transactionAddress: string, // Transaction address.
    nbConfirmations: number, // number of received confirmations.
    maxConfirmations: number, // Max number of confirmations.
    }

    remove_service

    Requires user confirmation

    Remove a service from the keychain

    Request

    {
    name: string, // Name of the service
    }

    Success Response

    {
    transactionAddress: string, // Transaction address.
    nbConfirmations: number, // Number of received confirmations.
    maxConfirmations: number, // Max number of confirmations.
    }

    get_services_from_keychain

    Gets keychain's services from the keychain connected to AEWallet.

    Request

    // No payload

    Success Response

    {
    services: [
    {
    derivationPath: string, // Derivation path
    curve: string, // Curve
    hashAlgo: string // Hash Algo
    }
    ]
    }

    keychain_derive_keypair

    Derive a keypair for the given service at the index given and get the public key

    Request

    {
    serviceName: string, // Service name to identify the derivation path to use
    index: number, // Chain index to derive (optional - default to 0)
    pathSuffix: string // Additional information to add to a service derivation path (optional - default to empty)
    }

    Success Response

    {
    publicKey: string // Public key of the service at the index given
    }

    keychain_derive_address

    Derive an address for the given service at the index given

    Request

    {
    serviceName: string, // Service name to identify the derivation path to use
    index: number, // Chain index to derive (optional - default to 0)
    pathSuffix: string // Additional information to add to a service derivation path (optional - default to empty)
    }

    Success Response

    {
    address: string // Address derived
    }

    get_current_account

    Gets the current account selected on AEWallet.

    Request

    // No payload

    Success Response

    {
    shortName: string, // Account name
    serviceName: string, // Service name
    genesisAddress: string, // Genesis address
    }

    sign_transactions

    Requires user confirmation

    Signs many transactions.

    Request

    {
    serviceName: string, // Service name to use to sign the tx
    pathSuffix: string, // Additional information to add to a service derivation path (optional)
    description: { // Readable description to explain the purpose of signing transactions (locale + description)
    en: string,
    fr: string,
    },
    transactions: [
    {
    type: string, // Type of transaction
    version: number, // Version of the transaction (used for backward compatiblity)
    data: Object // Transaction data zone (identity, keychain, smart contract, etc.)
    }
    ]
    }

    Success Response

    {
    signedTxs: [
    {
    address: string, // Address: hash of the new generated public key for the given transaction
    previousPublicKey: string, // Previous generated public key matching the previous signature
    previousSignature: string, // Signature from the previous public key
    originSignature: string // Signature from the device which originated the transaction (used in the Proof of work)
    }
    ]
    }

    sign_payloads

    Requires user confirmation

    Signs many payloads.

    Request

    {
    serviceName: string, // Service name to use to sign the payload
    pathSuffix: string, // Additional information to add to a service derivation path (optional)
    description: { // Readable description to explain the purpose of signing payloads (locale + description)
    en: string,
    fr: string,
    },
    payloads: [
    {
    payload: string, // Payload to sign
    isHexa: boolean // Precise if the payload if in hexadecimal format
    }
    ]
    }

    Success Response

    {
    signedPayloads: [
    {
    signedPayload: string, // Signed payload
    }
    ]
    }

    subscribe_account

    Subscription command

    Listens to any updates on an account.

    Subscription

    {
    name: string, // Service name to use to sign the payload
    }

    Notifications

    {
    name: string,
    genesisAddress: string,
    lastAddress: string?,
    balance: {
    nativeTokenName: string,
    nativeTokenValue: double,
    }?,
    }

    subscribe_current_account

    Subscription command

    Listens to any updates on wallet selected account.

    Subscription

    // no payload in request

    Notifications

    {
    name: string,
    genesisAddress: string,
    }
    + \ No newline at end of file diff --git a/build/dapp/signing-transaction/index.html b/build/dapp/signing-transaction/index.html index 15017c506..8dbd82b30 100644 --- a/build/dapp/signing-transaction/index.html +++ b/build/dapp/signing-transaction/index.html @@ -4,13 +4,13 @@ Signing transaction | Archethic - +
    -

    Signing transaction

    This example delegates a Transaction signature to aeWallet.

    tip

    Ensure that the aeWallet application is running and unlocked before attempting connection.

    info

    This snippet uses Javascript language to keep things simple.

    But @archethicjs/sdk can be used in a TypeScript or Javascript project.

    index.html
    <html>
    <head>
    <script type="module" src="main.js"/>
    </head>
    </html>
    main.js
    import Archethic from "https://esm.sh/@archethicjs/sdk";

    const archethicClient = new Archethic()
    await archethicClient.connect()

    const txBuilder = archethicClient.transaction
    .new()
    .setType("token")
    .setCode("")
    .setContent(JSON.stringify({
    name: "NFT 001",
    supply: 100000000,
    type: "non-fungible",
    symbol: "NFT1",
    aeip: [2],
    properties: {},
    }));


    await archethicClient.rpcWallet
    .signTransactions(
    /// Replace by an account available on your wallet
    "archethic-wallet-<AccountName>",
    "",
    [
    txBuilder
    ]
    )
    .then((signResult) => {
    console.log(`Command succeed : ${signResult}`);
    })
    .catch((signError) => {
    /// signError is a JSONRPCError instance.
    console.error(`Command failed : ${JSON.stringify(signError)}`);
    })

    await archethicClient.rpcWallet.close()
    - +

    Signing transaction

    This example delegates a Transaction signature to aeWallet.

    tip

    Ensure that the aeWallet application is running and unlocked before attempting connection.

    info

    This snippet uses Javascript language to keep things simple.

    But @archethicjs/sdk can be used in a TypeScript or Javascript project.

    index.html
    <html>
    <head>
    <script type="module" src="main.js"/>
    </head>
    </html>
    main.js
    import Archethic from "https://esm.sh/@archethicjs/sdk";

    const archethicClient = new Archethic()
    await archethicClient.connect()

    const txBuilder = archethicClient.transaction
    .new()
    .setType("token")
    .setCode("")
    .setContent(JSON.stringify({
    name: "NFT 001",
    supply: 100000000,
    type: "non-fungible",
    symbol: "NFT1",
    aeip: [2],
    properties: {},
    }));


    await archethicClient.rpcWallet
    .signTransactions(
    /// Replace by an account available on your wallet
    "archethic-wallet-<AccountName>",
    "",
    [
    txBuilder
    ]
    )
    .then((signResult) => {
    console.log(`Command succeed : ${signResult}`);
    })
    .catch((signError) => {
    /// signError is a JSONRPCError instance.
    console.error(`Command failed : ${JSON.stringify(signError)}`);
    })

    await archethicClient.rpcWallet.close()
    + \ No newline at end of file diff --git a/build/dapp/watch-balance/index.html b/build/dapp/watch-balance/index.html index 1aa7d1201..3d1223c75 100644 --- a/build/dapp/watch-balance/index.html +++ b/build/dapp/watch-balance/index.html @@ -4,13 +4,13 @@ Watching account | Archethic - +
    -

    Watching account

    This example connects to aeWallet and watches for updates to the selected account.

    tip

    Ensure that the aeWallet application is running and unlocked before attempting connection.

    info

    This snippet uses Javascript language to keep things simple.

    But @archethicjs/sdk can be used in a TypeScript or Javascript project.

    index.html
    <html>
    <head>
    <script type="module" src="main.js"/>
    </head>
    </html>
    main.js
    import Archethic, { ConnectionState } from "https://esm.sh/@archethicjs/sdk";

    const archethicClient = new Archethic()


    await archethicClient.connect()

    /// Listen to rpc wallet connection status changes
    const accountSubscription = await archethicClient.rpcWallet.onCurrentAccountChange(async (account) => {
    console.log(account)
    })

    setTimeout(
    async () => {

    await archethicClient.rpcWallet.close()
    archethicClient.rpcWallet.unsubscribe(accountSubscription)
    },
    20000,
    )
    - +

    Watching account

    This example connects to aeWallet and watches for updates to the selected account.

    tip

    Ensure that the aeWallet application is running and unlocked before attempting connection.

    info

    This snippet uses Javascript language to keep things simple.

    But @archethicjs/sdk can be used in a TypeScript or Javascript project.

    index.html
    <html>
    <head>
    <script type="module" src="main.js"/>
    </head>
    </html>
    main.js
    import Archethic, { ConnectionState } from "https://esm.sh/@archethicjs/sdk";

    const archethicClient = new Archethic()


    await archethicClient.connect()

    /// Listen to rpc wallet connection status changes
    const accountSubscription = await archethicClient.rpcWallet.onCurrentAccountChange(async (account) => {
    console.log(account)
    })

    setTimeout(
    async () => {

    await archethicClient.rpcWallet.close()
    archethicClient.rpcWallet.unsubscribe(accountSubscription)
    },
    20000,
    )
    + \ No newline at end of file diff --git a/build/sdk/dart/index.html b/build/sdk/dart/index.html index 18ffc56cd..f78011189 100644 --- a/build/sdk/dart/index.html +++ b/build/sdk/dart/index.html @@ -4,14 +4,14 @@ Dart SDK | Archethic - +

    Dart SDK

    Archethic Blockchain Official Dart SDK available on Github -Dart Packages published on Pub.dev

    This SDK will help you to generate transaction on top of Archethic Blockchain.

    info

    This SDK is mainly used in the official Archethic Wallet using Flutter. Please have a look if you are interested.

    - +Dart Packages published on Pub.dev

    This SDK will help you to generate transaction on top of Archethic Blockchain.

    info

    This SDK is mainly used in the official Archethic Wallet using Flutter. Please have a look if you are interested.

    + \ No newline at end of file diff --git a/build/sdk/go/index.html b/build/sdk/go/index.html index d405e081c..c581868f4 100644 --- a/build/sdk/go/index.html +++ b/build/sdk/go/index.html @@ -4,13 +4,13 @@ Go SDK | Archethic - +
    -

    Go SDK

    Archethic Blockchain Official Go SDK is available on Github


    This SDK will help you to generate transaction on top of Archethic Blockchain.

    - +

    Go SDK

    Archethic Blockchain Official Go SDK is available on Github


    This SDK will help you to generate transaction on top of Archethic Blockchain.

    + \ No newline at end of file diff --git a/build/sdk/index.html b/build/sdk/index.html index a9614d253..836aae52a 100644 --- a/build/sdk/index.html +++ b/build/sdk/index.html @@ -4,13 +4,13 @@ SDK | Archethic - + - + + \ No newline at end of file diff --git a/build/sdk/js/index.html b/build/sdk/js/index.html index 34ea2ab72..a76677b75 100644 --- a/build/sdk/js/index.html +++ b/build/sdk/js/index.html @@ -4,13 +4,13 @@ Javascript SDK | Archethic - +
    -

    Javascript SDK

    Archethic Blockchain Official Javascript SDK is available on Github


    This SDK will help you to generate transaction on top of Archethic Blockchain.

    info

    The AEWeb product is using this SDK to build transaction to deploy web hosting assets in the Archethic Blockchain. Please have a look

    - +

    Javascript SDK

    Archethic Blockchain Official Javascript SDK is available on Github


    This SDK will help you to generate transaction on top of Archethic Blockchain.

    info

    The AEWeb product is using this SDK to build transaction to deploy web hosting assets in the Archethic Blockchain. Please have a look

    + \ No newline at end of file diff --git a/build/smart-contracts/fees/index.html b/build/smart-contracts/fees/index.html index ca757a68d..7a08e98b8 100644 --- a/build/smart-contracts/fees/index.html +++ b/build/smart-contracts/fees/index.html @@ -4,13 +4,13 @@ Smart Contracts - Fees | Archethic - + - + + \ No newline at end of file diff --git a/build/smart-contracts/index.html b/build/smart-contracts/index.html index d8dbb0cc9..348efd213 100644 --- a/build/smart-contracts/index.html +++ b/build/smart-contracts/index.html @@ -4,14 +4,14 @@ Smart Contracts | Archethic - +

    Smart Contracts

    Smart-contracts are in computing what robots are in real life: they perform actions according to events.

    Archethic Blockchain leverages next generation of smart contract to make the development of decentralized application easier to bring a mass adoption of the Blockchain technology.

    They introduce new features to this domain:

    • Completly autonomous and can be triggered from internal states (date, transactions) or real life (OracleChain updates).
    • Entirely modifiable: TransactionChains make update seamless
    • Secured: Sandboxed code execution using WebAssembly
    • Without external reality: They are entirely based on the UTXO model and do not depend on the state of an internal database but only the transactions validated

    Archethic Smart Contract is defined by: triggers, actions, functions

    • Triggers: events will automatically launch the execution of a contract.
    • Actions: operations to perform from a trigger's calls
    • Functions: compute and retrieve readonly data

    Autonomous

    Archethic smart contracts autonomous behavior is due to the capability to define different kind of triggers:

    • Datetime: when the current date matches this timestamp
    • Interval: when the current dates matches this cron interval scheduler
    • Transaction: when the contract receive a transaction in input (UTXO model)
    • Oracle: when the OracleChain pushed new data

    Transactions are then created on the behalf of the contract's owner which authorized nodes to use the chain's private key to generate transaction.

    info

    To restrict a misusage of the user's cryptographic keys, inherit conditions can be defined as a security guard by the contract's owner.

    However, in order to make contract development and improve readability, transparent inherit conditions are generated based on the action's code. -This verification is done during the transaction validation and the ARCH consensus with atomic commitment and ensures the next transaction of the chain respects the inherit constraints either :

    • mentioned in the code by the contract's owner
    • derived by the action's code.

    This way, users can delegate the chain's private key to the nodes with the guarantee of a good usage of the chain's identity and signature capability.

    Modifiable

    Archethic relies on TransactionChain which means that a smart contract can have its own transaction chain.

    Then, it is subject to the same properties of the transaction chain: any last transaction of a chain is considered as the reference.

    For example:

    We deployed a smart contract with the address @Contract1.

    Then we want to add a feature or to fix an issue, we resend a transaction on this chain, and we get the new address: @Contract2

    But clients which depends on the smart contract don't need to update their code or interaction, as each destination address is forwarded to the last one.

    So if we send a transaction to @Contract#, the code executed will be at @Contract2

    info

    Because we are not relying on internal state and database, and only with the UTXO, we don't need to provide migrations of data or funds, and neither implement cross shard synchronization

    Secured

    Archethic smart contracts are executed by WebAssembly runtime, here are the reasons:

    • Safe: execution is memory-safe and sandboxed environment.
    • Fast: Near of the native speed of execution and efficient in terms of size and loading time
    • Portable: Many languages can compile into it. No need to reinvent the wheel in terms of language and developer tooling
    • Standardized: Part of the W3C Community Group

    State management

    Archethic Smart Contracts does not depend on internal state or databases, only the UTXO is used as inputs and the source of truth relies on the transactions.

    For example, in an e-commerce smart contract, the smart-contract issued by a merchant will be able to define stocks, prices and interactions with its customers using a view which is continuously updated by the transactions validated to that same smart-contract.

    Smart Contract's state is persisted as an UTXO (unspent output) of the resulting transaction. Because of this, any state modification will result in a new transaction on the Smart Contract's transaction chain.

    The contract can hold a UTXO state but . Hence, each state is irrefutable, unambiguous and can be re-computed for verification.

    Be careful

    Any data processed within the contract which is not stored in the next transaction or send somewhere will be lost

    - +This verification is done during the transaction validation and the ARCH consensus with atomic commitment and ensures the next transaction of the chain respects the inherit constraints either :

    • mentioned in the code by the contract's owner
    • derived by the action's code.

    This way, users can delegate the chain's private key to the nodes with the guarantee of a good usage of the chain's identity and signature capability.

    Modifiable

    Archethic relies on TransactionChain which means that a smart contract can have its own transaction chain.

    Then, it is subject to the same properties of the transaction chain: any last transaction of a chain is considered as the reference.

    For example:

    We deployed a smart contract with the address @Contract1.

    Then we want to add a feature or to fix an issue, we resend a transaction on this chain, and we get the new address: @Contract2

    But clients which depends on the smart contract don't need to update their code or interaction, as each destination address is forwarded to the last one.

    So if we send a transaction to @Contract#, the code executed will be at @Contract2

    info

    Because we are not relying on internal state and database, and only with the UTXO, we don't need to provide migrations of data or funds, and neither implement cross shard synchronization

    Secured

    Archethic smart contracts are executed by WebAssembly runtime, here are the reasons:

    • Safe: execution is memory-safe and sandboxed environment.
    • Fast: Near of the native speed of execution and efficient in terms of size and loading time
    • Portable: Many languages can compile into it. No need to reinvent the wheel in terms of language and developer tooling
    • Standardized: Part of the W3C Community Group

    State management

    Archethic Smart Contracts does not depend on internal state or databases, only the UTXO is used as inputs and the source of truth relies on the transactions.

    For example, in an e-commerce smart contract, the smart-contract issued by a merchant will be able to define stocks, prices and interactions with its customers using a view which is continuously updated by the transactions validated to that same smart-contract.

    Smart Contract's state is persisted as an UTXO (unspent output) of the resulting transaction. Because of this, any state modification will result in a new transaction on the Smart Contract's transaction chain.

    The contract can hold a UTXO state but . Hence, each state is irrefutable, unambiguous and can be re-computed for verification.

    Be careful

    Any data processed within the contract which is not stored in the next transaction or send somewhere will be lost

    + \ No newline at end of file diff --git a/build/smart-contracts/language/actions/index.html b/build/smart-contracts/language/actions/index.html index 27db45c51..5b5b1fe2b 100644 --- a/build/smart-contracts/language/actions/index.html +++ b/build/smart-contracts/language/actions/index.html @@ -4,7 +4,7 @@ Smart Contracts - Actions block | Archethic - + @@ -13,8 +13,8 @@ Be careful not to rebind them inadvertedly. Do not use any of the reserved keywords as parameter.

    Argument VS Parameter

    A parameter is a variable in a function definition. It is a placeholder and hence does not have a concrete value. An argument is a value passed during function invocation. In a way, arguments fill in the place the parameters have held for them. Source: https://www.educative.io/answers/parameter-vs-argument

    actions trigger_by: transaction, on: vote(firstname, lastname) do
    full_name = String.to_lowercase("#{firstname} #{lastname}")
    ...
    end

    Generating the next transaction

    The main goal of the action block is to generate a new transaction in the smart contract chain. To do so, you can use the Contract module that allows to set the transaction field value.

    # Set uco ATH in content
    actions triggered_by: oracle do
    current_ath = State.get("ath", -1)
    new_price = Json.path_extract(transaction.content, "$.uco.usd")

    if new_price > current_ath do
    State.set("ath", new_price)
    end
    end
    info

    Note that there are 3 fields that are preset before executing the action code.

    • type: set to "contract" by default
    • code: set with the previous contract code
    • ownerships: set with the previous contract ownerships

    So you don't need to set the type, the code and the ownerships each time you generate a new transaction.

    Appendix 1: The transaction map

    • address is the transaction's address.
    • type is the transaction's type.
    • content is the transaction's content (it's a string that can contain anything, for example a smart contract state)
    • code is the transaction's code
    • timestamp is the transaction's validation timestamp
    • uco_movements is a map of UCO transfers grouped by resolved address of the transaction.
    ["00001ab...": 1, "00001bc...": 2]
    • token_movements is a map of list of token transfers grouped by resolved address of the transaction
    ["00001ab...":
    [
    [amount: 1, token_address: "0000ab12..." , token_id: 1],
    [amount: 1, token_address: "0000ab12..." , token_id: 4],
    ]
    ]
    • uco_transfers is a map of UCO transfers grouped by address of the transaction.
    ["00001ab...": 1, "00001bc...": 2]
    • token_transfers is a map of list of token transfers grouped by address of the transaction
    ["00001ab...":
    [
    [amount: 1, token_address: "0000ab12..." , token_id: 1],
    [amount: 1, token_address: "0000ab12..." , token_id: 4],
    ]
    ]
    Difference between transfers and movements

    The transfers and movements are almost the same thing. The difference is in the addresses. -The addresses of the transfers are "raw" whereas the addresses of the movements are "resolved".

    • raw address: address that was specified on a transfer (usually the genesis but not mandatory)
    • resolved address: address of the latest transaction of the chain (the chain that contains raw address)

    Here's an example to understand the difference:

    This is a UCO transfer to MyAmazingContract. The transfer is usually done on the genesis address (here: 0x00abc). But the transfer is actually creating an UTXO on the latest transaction of the chain (here: 0x00def).

    Thus contract.uco_transfers == [0x00abc: 1] and contract.uco_movements == [0x00def: 1].

    In most cases, you'll want to use movements instead of transfers.

    - +The addresses of the transfers are "raw" whereas the addresses of the movements are "resolved".

    • raw address: address that was specified on a transfer (usually the genesis but not mandatory)
    • resolved address: address of the latest transaction of the chain (the chain that contains raw address)

    Here's an example to understand the difference:

    This is a UCO transfer to MyAmazingContract. The transfer is usually done on the genesis address (here: 0x00abc). But the transfer is actually creating an UTXO on the latest transaction of the chain (here: 0x00def).

    Thus contract.uco_transfers == [0x00abc: 1] and contract.uco_movements == [0x00def: 1].

    In most cases, you'll want to use movements instead of transfers.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/condition/index.html b/build/smart-contracts/language/condition/index.html index e3782f4fe..ec1ea56be 100644 --- a/build/smart-contracts/language/condition/index.html +++ b/build/smart-contracts/language/condition/index.html @@ -4,15 +4,15 @@ Smart Contracts - Condition block | Archethic - +

    Smart Contracts - Condition block

    Conditions are blocks which purpose is to check the validity of a transaction.

    There are 3 types of condition block:

    There are 2 differents forms. You may use whichever is the more suitable for you.

    condition triggered_by: oracle do
    <expr that returns a boolean>
    end

    condition triggered_by: transaction, on: <action> do
    <expr that returns a boolean>
    end

    # boolean expressions form
    condition inherit: [
    <prop1>: <value>,
    <prop2>: <boolean>,
    <prop3>: <expr that returns a value>,
    <prop4>: <expr that returns a boolean>
    ]

    # legacy: before there were named actions, there was only one possible action
    condition transaction: [
    <prop1>: <value>,
    <prop2>: <boolean>,
    <prop3>: <expr that returns a value>,
    <prop4>: <expr that returns a boolean>
    ]

    # legacy: old syntax
    condition oracle: [
    <prop1>: <value>,
    <prop2>: <boolean>,
    <prop3>: <expr that returns a value>,
    <prop4>: <expr that returns a boolean>
    ]
    throw keyword

    The throw keyword is another way to reject a condition. It stops the evaluation of the condition and rejects it with a code, a message and optionaly some data.

    Boolean expressions

    It is a map where the keys are the transaction's fields, and the values are expressions that must return a boolean or a value. They work for any conditions type, but we suggest to use them with the inherit conditions only.

    Example:

    condition inherit: [
    # <value>
    # all the transactions of this chain will be of type "contract"
    type: "contract",

    # <boolean>
    # the content is mutable
    content: true,

    # <expr that returns a boolean>
    # all the transactions must contains at least 1 UCO transfers
    # here uco_transfers is automatically given as 1st argument of Map.size()
    uco_transfers: Map.size() > 0
    ]

    Rules

    1. All "boolean expressions" must pass for the transaction to be valid.
    2. If the expression returns true, this "boolean expression" passes.
    3. If the expression returns false, this "boolean expression" fails.
    4. If the expression returns a value, this "boolean expression" passes if the transaction's property has the same value.
    info

    In these blocks, there is also some sugar to automatically add the property as an argument of the functions called. For example uco_transfers: Map.size() > 0 will automatically expand to uco_transfers: Map.size(transaction.uco_transfers) > 0.

    Condition inherit

    The condition inherit purpose is to check the next transaction generated by the smart contract after its code execution. It ensures the next transaction respects specific rules so the smart contract chain cannot be compromised. -It is automatically forwarded from transaction to transaction unless it is manually overriden.

    There are 2 global variables for this condition block:

    1. previous is the transaction of the current contract.
    2. next is the "next transaction".

    See Action's Appendix 1 for the details of the transaction map.

    caution

    A specific rule is applied for inherit condition, if a field is not specified in the conditions, it assumes that it must have the same value as the previous transaction. Example, if code is ommited, this is assumed: code: previous.code == next.code

    This means that an empty inherit condition (condition inherit: []) means no changes is accepted, resulting in locking the chain.

    Examples

    Pass only if it is executed before a timestamp:

    condition inherit: [
    timestamp: next.timestamp < 1677598185
    ]

    Pass only if the transaction is type "transfer", without any uco_transfers and at least one token_transfers:

    condition inherit: [
    type: "transfer",
    uco_transfers: Map.size() == 0,
    token_transfers: Map.size() > 0
    ]

    Pass only if chain has been closed (the code part) and there is a 2 UCO transfer to an address depending on the time:

    condition inherit: [
    code: "condition inherit: []",
    uco_transfers:
    if Time.now() >= 1674564088 do
    ["00003bafdfb7a8e66b59de5692b79088063853bbd69a7d555faec906e6215e57ff98": 2]
    else
    ["0000ba28ce06631ff2ef4fe3dc89a34be13c0d252f8952bbfa3173b03dbef3c04afd": 2]
    end
    ]

    Pass only if the key "index" of the content is greater than the previous one:

    condition inherit do
    json_path = "$.index"
    if Json.path_match?(next.content, json_path) do
    previous_index = Json.path_extract(previous.content, json_path)
    new_index = Json.path_extract(next.content, json_path)

    new_index > previous_index
    else
    false
    end
    end

    Condition triggered by a transaction

    Its purpose is to check the transaction that triggered an action on the contract. It must return a boolean.

    condition triggered_by: transaction do
    false
    end

    condition triggered_by: transaction, on: refund() do
    true
    end

    There are 2 global variables for this condition block:

    1. contract is the transaction of the current contract.
    2. transaction is the transaction that triggered the contract.

    See Action's Appendix 1 for the details of the transaction map.

    Examples

    Pass only if the transaction that triggered the contract comes from a specific chain (a chain can be identified by it's genesis address):

    condition triggered_by: transaction, as: [
    address: Chain.get_genesis_address() == 0x00001234ab
    ]

    Pass only if the transaction that triggered sent 10 UCOs to this contract:

    condition triggered_by: transaction, as: [
    uco_transfers: Map.get(contract.address) == 10
    ]

    Pass only if the candidate is in the list:

    condition triggered_by: transaction, on: vote(candidate) do
    List.in?(["Peter", "Sofia", "Claire"], candidate)
    end

    Pass only if the secret is correct and the lock_time is in the future:

    condition triggered_by: transaction, on: withdraw(secret) do
    valid_secret = Crypto.hash(secret) == State.get("secret_hash")
    valid_time = Time.now() < State.get("lock_time")
    valid_secret && valid_time
    end

    Same as previous but using throw:

    condition triggered_by: transaction, on: withdraw(secret) do
    if Crypto.hash(secret) != State.get("secret_hash") do
    throw code: 1, message: "invalid secret"
    end

    if Time.now() > State.get("lock_time") do
    throw code: 2, message: "time expired"
    end

    true
    end

    Condition triggered by an oracle

    Its purpose is to check the oracle transaction that triggered the contract. It must return a boolean. It is very useful because not every oracle transaction contains the data you need.

    condition triggered_by: oracle do
    true
    end

    There are 2 global variables for this condition block:

    1. contract is the transaction of the current contract.
    2. transaction is the oracle transaction that triggered the contract.

    See Action's Appendix 1 for the details of the transaction map.

    Examples

    Pass only if the transaction's content is a JSON string including the UCO price in USD.

    condition triggered_by: oracle, as: [
    content: Json.path_match?("$.uco.usd")
    ]

    Pass only if the transaction's content is a JSON string including the Vancouver's weather and if it's raining there.

    condition triggered_by: oracle do
    Json.path_match?(transaction.content, "$.canada.vancouver.raining?")
    end
    - +It is automatically forwarded from transaction to transaction unless it is manually overriden.

    There are 2 global variables for this condition block:

    1. previous is the transaction of the current contract.
    2. next is the "next transaction".

    See Action's Appendix 1 for the details of the transaction map.

    caution

    A specific rule is applied for inherit condition, if a field is not specified in the conditions, it assumes that it must have the same value as the previous transaction. Example, if code is ommited, this is assumed: code: previous.code == next.code

    This means that an empty inherit condition (condition inherit: []) means no changes is accepted, resulting in locking the chain.

    Examples

    Pass only if it is executed before a timestamp:

    condition inherit: [
    timestamp: next.timestamp < 1677598185
    ]

    Pass only if the transaction is type "transfer", without any uco_transfers and at least one token_transfers:

    condition inherit: [
    type: "transfer",
    uco_transfers: Map.size() == 0,
    token_transfers: Map.size() > 0
    ]

    Pass only if chain has been closed (the code part) and there is a 2 UCO transfer to an address depending on the time:

    condition inherit: [
    code: "condition inherit: []",
    uco_transfers:
    if Time.now() >= 1674564088 do
    ["00003bafdfb7a8e66b59de5692b79088063853bbd69a7d555faec906e6215e57ff98": 2]
    else
    ["0000ba28ce06631ff2ef4fe3dc89a34be13c0d252f8952bbfa3173b03dbef3c04afd": 2]
    end
    ]

    Pass only if the key "index" of the content is greater than the previous one:

    condition inherit do
    json_path = "$.index"
    if Json.path_match?(next.content, json_path) do
    previous_index = Json.path_extract(previous.content, json_path)
    new_index = Json.path_extract(next.content, json_path)

    new_index > previous_index
    else
    false
    end
    end

    Condition triggered by a transaction

    Its purpose is to check the transaction that triggered an action on the contract. It must return a boolean.

    condition triggered_by: transaction do
    false
    end

    condition triggered_by: transaction, on: refund() do
    true
    end

    There are 2 global variables for this condition block:

    1. contract is the transaction of the current contract.
    2. transaction is the transaction that triggered the contract.

    See Action's Appendix 1 for the details of the transaction map.

    Examples

    Pass only if the transaction that triggered the contract comes from a specific chain (a chain can be identified by it's genesis address):

    condition triggered_by: transaction, as: [
    address: Chain.get_genesis_address() == 0x00001234ab
    ]

    Pass only if the transaction that triggered sent 10 UCOs to this contract:

    condition triggered_by: transaction, as: [
    uco_transfers: Map.get(contract.address) == 10
    ]

    Pass only if the candidate is in the list:

    condition triggered_by: transaction, on: vote(candidate) do
    List.in?(["Peter", "Sofia", "Claire"], candidate)
    end

    Pass only if the secret is correct and the lock_time is in the future:

    condition triggered_by: transaction, on: withdraw(secret) do
    valid_secret = Crypto.hash(secret) == State.get("secret_hash")
    valid_time = Time.now() < State.get("lock_time")
    valid_secret && valid_time
    end

    Same as previous but using throw:

    condition triggered_by: transaction, on: withdraw(secret) do
    if Crypto.hash(secret) != State.get("secret_hash") do
    throw code: 1, message: "invalid secret"
    end

    if Time.now() > State.get("lock_time") do
    throw code: 2, message: "time expired"
    end

    true
    end

    Condition triggered by an oracle

    Its purpose is to check the oracle transaction that triggered the contract. It must return a boolean. It is very useful because not every oracle transaction contains the data you need.

    condition triggered_by: oracle do
    true
    end

    There are 2 global variables for this condition block:

    1. contract is the transaction of the current contract.
    2. transaction is the oracle transaction that triggered the contract.

    See Action's Appendix 1 for the details of the transaction map.

    Examples

    Pass only if the transaction's content is a JSON string including the UCO price in USD.

    condition triggered_by: oracle, as: [
    content: Json.path_match?("$.uco.usd")
    ]

    Pass only if the transaction's content is a JSON string including the Vancouver's weather and if it's raining there.

    condition triggered_by: oracle do
    Json.path_match?(transaction.content, "$.canada.vancouver.raining?")
    end
    + \ No newline at end of file diff --git a/build/smart-contracts/language/index.html b/build/smart-contracts/language/index.html index 7499c58a2..1dbb027c3 100644 --- a/build/smart-contracts/language/index.html +++ b/build/smart-contracts/language/index.html @@ -4,7 +4,7 @@ Interpreter Language | Archethic - + @@ -13,8 +13,8 @@ The only thing to keep in mind is that we truncate at decimal 8.

    Ranges

    • 1..5 is equivalent to [1,2,3,4,5]

    Loop

    • for name in names do ... end
    • for i in 1..10 do ... end

    Variables & Scopes

    Variables are not typed, you can assign any value to them.

    Variables are mutable, if you update a variable declared in a parent scope, it will also update the value of this variable for the parent scope.

    A new scope is created every time you enter a new block (do .. end). A scope can access (read/write) the variables declared in its parent's scope, but not its child's scope.

    names = ["Tom", "Jerry", ""]
    text = ""
    for name in names do # ENTER SCOPE 1
    if name != "" do # ENTER SCOPE 1.1
    new_line = "\n"
    text = "#{name}#{new_line}"
    end # EXIT SCOPE 1.1
    # new_line does not exists here
    end # EXIT SCOPE 1
    # test = "Tom\nJerry\n"
    # name and new_line does not exists here

    Here's the tree of scopes and variables for the above example:

    [SCOPE 0]
    ├── names
    ├── text
    └── [SCOPE 1]
    ├── name
    └── [SCOPE 1.1]
    └── new_line

    Lists

    The list is the data structure to work with collections. The syntax is: [1, 2]. An empty list is: []. There is a List module in the library to manipulate lists.

    info

    Lists are actually Linked Lists.

    Maps

    The map is the key-value data structure in the Smart Contract language. The syntax is: [key1: 1, key2: 2] or if key starts with a number: ["00001abc...": 1]. The keys must be strings. There is 3 ways to retrieve a value:

    • map.property
    • map["property"]
    • Map.get(map, "property")

    We suggest to use the 1st syntax as often as possible. Use the 2nd or 3rd when dealing with dynamic properties.

    There is a Map module module in the library to manipulate maps.

    note

    Since the maps and the lists have a very close syntax, it is impossible to differentiate an empty map from an empty list. So, for semantic reasons, to create an empty map, use the Map.new() function call.

    tip

    The brackets are mostly optional! key1: 1, key2: 2 will work as well. But if you have a nested map, you cannot omit them!

    Functions

    In the Archethic Smart Contract Language, you can declare 2 types of functions:

    • Internal Functions declared with the fun keyword
    • Exported Functions declared with the export fun keyword

    Internal Functions

    Internal functions are functions that are only available in the Smart Contract. They are not callable from the outside.

    They are declared with the fun keyword and can be called from the Action or Condition blocks.

    They can have 0 argument:

    fun hello() do
    "Hello World!"
    end

    Or more:

    fun sum(a, b) do
    a + b
    end

    You can also have the same function name with different signature:

    fun sum(a, b) do
    a + b
    end

    fun sum(list) do
    acc = 0
    for i in list do
    acc = acc + i
    end
    acc
    end

    These functions aren't able to call another internal function but can call an Exported one.

    info

    Internal functions are able to use library module functions tagged as I/O but not the functions tagged as UPDATE_CONTRACT.

    Exported Functions

    Exported functions are callable from the Smart Contract but also through the outside via the JSON-RPC API. -They are declared like internal function but with the export fun syntax.

    export fun get_current_count() do
    State.get("count")
    end

    Unlike internal functions, they can be called from any block of code.

    info

    External functions are not able to use library module functions tagged as I/O or Transaction.

    Library

    You may use any functions from the library. The syntax is Module.function(arg1, arg2).

    tip

    The parenthesis are actually optional! Module.function arg1, arg2 will work as well.

    To see the list of functions available in the Smart Contract Language, check the Library page.

    Errors

    We introduced in v1.5.0 the throw keyword. It's useful to provide insightful errors to the end users and helps the dApp developers interacting with contracts.

    if Crypto.hash(secret) != State.get("secret_hash") do
    throw code: 1, message: "invalid secret", data: secret
    end

    The throw takes a map with the following keys:

    • code: an integer of your choice that dApp developers may use to react on a specific error. It should be uniquely identifiable within the contract.
    • message: a string describing the error.
    • data (opt): some context relevant to the error (can be any type).

    Reserved keywords

    • for
    • do
    • end
    • if
    • else

    ... to be completed

    - +They are declared like internal function but with the export fun syntax.

    export fun get_current_count() do
    State.get("count")
    end

    Unlike internal functions, they can be called from any block of code.

    info

    External functions are not able to use library module functions tagged as I/O or Transaction.

    Library

    You may use any functions from the library. The syntax is Module.function(arg1, arg2).

    tip

    The parenthesis are actually optional! Module.function arg1, arg2 will work as well.

    To see the list of functions available in the Smart Contract Language, check the Library page.

    Errors

    We introduced in v1.5.0 the throw keyword. It's useful to provide insightful errors to the end users and helps the dApp developers interacting with contracts.

    if Crypto.hash(secret) != State.get("secret_hash") do
    throw code: 1, message: "invalid secret", data: secret
    end

    The throw takes a map with the following keys:

    • code: an integer of your choice that dApp developers may use to react on a specific error. It should be uniquely identifiable within the contract.
    • message: a string describing the error.
    • data (opt): some context relevant to the error (can be any type).

    Reserved keywords

    • for
    • do
    • end
    • if
    • else

    ... to be completed

    + \ No newline at end of file diff --git a/build/smart-contracts/language/legacy/examples/index.html b/build/smart-contracts/language/legacy/examples/index.html index 73606f69c..3e4a24002 100644 --- a/build/smart-contracts/language/legacy/examples/index.html +++ b/build/smart-contracts/language/legacy/examples/index.html @@ -4,13 +4,13 @@ Smart Contract examples | Archethic - +
    -

    Smart Contract examples

    Recurrent transfer

    # Send 1.0 each to the given address each month

    condition inherit: [
    type: transfer,
    uco_transfers: %{
    "0000D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CCA" => 100000000
    }
    ]

    actions triggered_by: interval, at: "0 0 1 * *" do
    set_type transfer
    add_uco_transfer to: "0000D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CCA", amount: 100000000
    end

    ICO / Crowdfunding


    # Ensure the next transaction will be a transfer
    condition inherit: [
    type: transfer,
    token_transfers: size() == 1
    # TODO: to provide more security, we should check the destination address is within the previous transaction inputs
    ]

    # Define conditions to accept incoming transactions
    condition transaction: [
    type: transfer,
    uco_transfers: size() > 0
    ]

    actions triggered_by: transaction do
    # Get the amount of uco send to this contract
    amount_send = transaction.uco_transfers[contract.address]

    if amount_send > 0 do
    # Convert UCO to the number of tokens to credit. Each UCO worth 10000 token
    token_to_credit = amount_send * 10000

    # Send the new transaction
    set_type transfer
    add_token_transfer to: transaction.address, token_address: contract.address, amount: token_to_credit
    end
    end
    - +

    Smart Contract examples

    Recurrent transfer

    # Send 1.0 each to the given address each month

    condition inherit: [
    type: transfer,
    uco_transfers: %{
    "0000D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CCA" => 100000000
    }
    ]

    actions triggered_by: interval, at: "0 0 1 * *" do
    set_type transfer
    add_uco_transfer to: "0000D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CCA", amount: 100000000
    end

    ICO / Crowdfunding


    # Ensure the next transaction will be a transfer
    condition inherit: [
    type: transfer,
    token_transfers: size() == 1
    # TODO: to provide more security, we should check the destination address is within the previous transaction inputs
    ]

    # Define conditions to accept incoming transactions
    condition transaction: [
    type: transfer,
    uco_transfers: size() > 0
    ]

    actions triggered_by: transaction do
    # Get the amount of uco send to this contract
    amount_send = transaction.uco_transfers[contract.address]

    if amount_send > 0 do
    # Convert UCO to the number of tokens to credit. Each UCO worth 10000 token
    token_to_credit = amount_send * 10000

    # Send the new transaction
    set_type transfer
    add_token_transfer to: transaction.address, token_address: contract.address, amount: token_to_credit
    end
    end
    + \ No newline at end of file diff --git a/build/smart-contracts/language/legacy/index.html b/build/smart-contracts/language/legacy/index.html index 3be32b0b5..a41e045c3 100644 --- a/build/smart-contracts/language/legacy/index.html +++ b/build/smart-contracts/language/legacy/index.html @@ -4,13 +4,13 @@ Smart Contracts (Legacy) | Archethic - + - + + \ No newline at end of file diff --git a/build/smart-contracts/language/legacy/language/index.html b/build/smart-contracts/language/legacy/language/index.html index ac5adf858..3b486ccbc 100644 --- a/build/smart-contracts/language/legacy/language/index.html +++ b/build/smart-contracts/language/legacy/language/index.html @@ -4,13 +4,13 @@ Smart Contract Language | Archethic - +
    -

    Smart Contract Language

    Archethic Blockchain defines a new smart contract language which was designed to resolve the issue of smart contracts:

    • Expressiveness
    • Simplify
    • Security

    Along with the new features of Archethic Smart Contracts (triggers, conditions, actions), a new custom language is defined

    Triggers/Actions

    To define a trigger, we need to specify an action block with its trigger type and the following parameters (if presents)

    For example:

    • based on an incoming transaction
    actions triggered_by: transaction do
    # do something when a receive transaction
    end
    • based on time interval
    actions triggered_by: interval, at: "0 8 * * *" do
    # do something each day at 8AM
    end

    Conditions

    To define a condition, we need to specify a condition block with its subject and the list conditions by fields:

    • type
    • content
    • code
    • authorized_keys
    • secrets
    • uco_transfers
    • token_transfers
    • previous_public_key
    • origin_family

    For example:

    • expecting the incoming transaction contains the content "hello"
    condition transaction: [
    content: "Hello"
    ]
    • expecting all the transaction in the chain should be generated from a biometric device
    condition inherit: [
    origin_family: biometric
    ]

    Global variables

    Smart Contract can use global variable in the different blocks:

    • contract: represent the actual contract
    • transaction: incoming transaction
    • (inherit condition only) next: next transaction on the chain
    • (inherit condition only) previous: previous transaction on the chain

    Each of this variables contains the following fields:

    • address (hex)
    • type
    • content (abitraty string)
    • code (abritraty string)
    • authorized_keys (map of public keys)
    • secrets (list of encrypted secrets in hex)
    • previous_public_key (hex)
    • recipients (list of smart contract recipients addresses in hex)
    • uco_transfers (map of the uco transfers: %{ recipient_address => amount }
    • token_transfers (map of the token transfers: %{ recipient_address => list(%{ amount: amount, token_address: token_to_transfer, token_id: token_id}})

    Functions

    Archethic Smart Contracts relies on function which can be used on condition or action blocks.

    There are two categories of functions:

    • Utilities
    • Statements (for transaction generation)

    Utilities

    info

    In the condition block, if no parameter is given, the transaction's field value will be the first one

    • hash(data): Perform a cryptographic hash
    condition transaction: [
    content: hash(contract.code)
    ]
    • regex_match?(data, pattern): Verify a regular expression
    condition transaction: [
    content: regex_match?("hello")
    ]
    • regex_extract(data, pattern): Extract data from a regular expression

    • json_match?: Verify the data matches a JSONPath expression

    condition oracle: [
    content: json_match?("$.uco.usd")
    ]
    • json_extract(data, pattern): Extract data from a JSONPath expression
    condition oracle: [
    content: json_extract("$.uco.usd") > 0.2
    ]

    Statements

    • set_type: Set the transaction type
    actions triggered_by: transaction do
    set_type transfer
    end
    • add_uco_transfer: Add a new UCO transfer
    actions triggered_by: transaction do
    add_uco_transfer to: "F28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", amount: 1.0
    end
    • add_token_transfer: Add a new token transfer
    actions triggered_by: transaction do
    add_token_transfer: to: "AF28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", token_address: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 1.0
    end
    • set_content: Set the new content
    actions triggered_by: transaction do
    set_content "hello"
    end
    • set_code: Set the new code
    actions triggered_by: transaction do
    set_code """
    actions triggered_by: transaction do
    add_uco_transfer to: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 2.0
    end
    """
    end
    • add_ownership: Add a new ownership with a secret and its authorized public keys
    actions triggered_by: transaction do
    add_ownership secret: "...", secret_key: "...", authorized_public_key: ["0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"]
    end
    • add_recipient: Add a contract address to reach
    actions triggered_by: datetime, at: 1391309040 do
    add_recipient "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"
    end

    - +

    Smart Contract Language

    Archethic Blockchain defines a new smart contract language which was designed to resolve the issue of smart contracts:

    • Expressiveness
    • Simplify
    • Security

    Along with the new features of Archethic Smart Contracts (triggers, conditions, actions), a new custom language is defined

    Triggers/Actions

    To define a trigger, we need to specify an action block with its trigger type and the following parameters (if presents)

    For example:

    • based on an incoming transaction
    actions triggered_by: transaction do
    # do something when a receive transaction
    end
    • based on time interval
    actions triggered_by: interval, at: "0 8 * * *" do
    # do something each day at 8AM
    end

    Conditions

    To define a condition, we need to specify a condition block with its subject and the list conditions by fields:

    • type
    • content
    • code
    • authorized_keys
    • secrets
    • uco_transfers
    • token_transfers
    • previous_public_key
    • origin_family

    For example:

    • expecting the incoming transaction contains the content "hello"
    condition transaction: [
    content: "Hello"
    ]
    • expecting all the transaction in the chain should be generated from a biometric device
    condition inherit: [
    origin_family: biometric
    ]

    Global variables

    Smart Contract can use global variable in the different blocks:

    • contract: represent the actual contract
    • transaction: incoming transaction
    • (inherit condition only) next: next transaction on the chain
    • (inherit condition only) previous: previous transaction on the chain

    Each of this variables contains the following fields:

    • address (hex)
    • type
    • content (abitraty string)
    • code (abritraty string)
    • authorized_keys (map of public keys)
    • secrets (list of encrypted secrets in hex)
    • previous_public_key (hex)
    • recipients (list of smart contract recipients addresses in hex)
    • uco_transfers (map of the uco transfers: %{ recipient_address => amount }
    • token_transfers (map of the token transfers: %{ recipient_address => list(%{ amount: amount, token_address: token_to_transfer, token_id: token_id}})

    Functions

    Archethic Smart Contracts relies on function which can be used on condition or action blocks.

    There are two categories of functions:

    • Utilities
    • Statements (for transaction generation)

    Utilities

    info

    In the condition block, if no parameter is given, the transaction's field value will be the first one

    • hash(data): Perform a cryptographic hash
    condition transaction: [
    content: hash(contract.code)
    ]
    • regex_match?(data, pattern): Verify a regular expression
    condition transaction: [
    content: regex_match?("hello")
    ]
    • regex_extract(data, pattern): Extract data from a regular expression

    • json_match?: Verify the data matches a JSONPath expression

    condition oracle: [
    content: json_match?("$.uco.usd")
    ]
    • json_extract(data, pattern): Extract data from a JSONPath expression
    condition oracle: [
    content: json_extract("$.uco.usd") > 0.2
    ]

    Statements

    • set_type: Set the transaction type
    actions triggered_by: transaction do
    set_type transfer
    end
    • add_uco_transfer: Add a new UCO transfer
    actions triggered_by: transaction do
    add_uco_transfer to: "F28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", amount: 1.0
    end
    • add_token_transfer: Add a new token transfer
    actions triggered_by: transaction do
    add_token_transfer: to: "AF28C3D5B3828AD3F8682F1B1D14A8507B829F65F7BE6C50427A6019CCB6801C", token_address: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 1.0
    end
    • set_content: Set the new content
    actions triggered_by: transaction do
    set_content "hello"
    end
    • set_code: Set the new code
    actions triggered_by: transaction do
    set_code """
    actions triggered_by: transaction do
    add_uco_transfer to: "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC", amount: 2.0
    end
    """
    end
    • add_ownership: Add a new ownership with a secret and its authorized public keys
    actions triggered_by: transaction do
    add_ownership secret: "...", secret_key: "...", authorized_public_key: ["0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"]
    end
    • add_recipient: Add a contract address to reach
    actions triggered_by: datetime, at: 1391309040 do
    add_recipient "0D574D171A484F8DEAC2D61FC3F7CC984BEB52465D69B3B5F670090742CBF5CC"
    end

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/chain/index.html b/build/smart-contracts/language/library/chain/index.html index 7102d0323..0e967fda1 100644 --- a/build/smart-contracts/language/library/chain/index.html +++ b/build/smart-contracts/language/library/chain/index.html @@ -4,7 +4,7 @@ Chain module | Archethic - + @@ -12,8 +12,8 @@

    Chain module

    The Chain module contains functions to fetch data from a Transaction Chain.

    get_genesis_address/1 [I/O]

    Chain.get_genesis_address("000012345...") # "000056789..."
    Chain.get_genesis_address("000012345...") # "000012345..."

    Parameters:

    • address the transaction address

    Returns the genesis address of the transaction chain that contains a transaction at address. If there is no transaction at address, it returns address.

    get_first_transaction_address/1 [I/O]

    Chain.get_first_transaction_address("000012345...") # "000056789..."

    Parameters:

    • address the transaction address

    Returns the address of the first transaction of the transaction chain that contains a transaction at address.

    danger

    [IT CURRENTLY CRASH IF THERE IS NO TRANSACTION]

    get_genesis_public_key/1 [I/O]

    Chain.get_genesis_public_key("00013B08D...") # "000108A5C..."

    Parameters:

    • public_key the public key

    Returns the genesis public key of public_key.

    get_burn_address/0

    Chain.get_burn_address() # "0000000000..."

    Returns the burn address.

    get_transaction/1 [I/O]

    Chain.get_transaction(0x00ABCD..) # [address: "00ABCD..", content: "...", uco_transfers: [], ...]

    Parameters:

    • address the transaction address

    Returns the transaction at address. If there is no transaction at address, it returns nil. See Appendix 1.

    get_last_address/1 [I/O]

    Chain.get_last_address(0x00ABCD..) # "00EFAB..."

    Parameters:

    • address the transaction address

    Returns the latest transaction address of the chain that contains address.

    get_last_transaction/1 [I/O]

    Chain.get_last_transaction(0x00ABCD..) # [address: "00EFAB..", content: "...", uco_transfers: [], ...]
    Chain.get_last_transaction(0x00ABCF..) # nil

    Parameters:

    • address the transaction address

    Returns the latest transaction of the chain that contains the transaction at address. May return nil if address does not exist. See Appendix 1.

    get_previous_address/1

    Chain.get_previous_address(0x00ABCD..) # "00EFAB.."
    Chain.get_previous_address(transaction) # "0014AC.."

    Parameters:

    • previous_public_key or transaction either a transaction map or a the previous_public_key

    Returns previous transaction's address. Usually called with a transaction, it is also possible to call it with the previous_public_key directly.

    get_balance/1 [I/O]

    balance = Chain.get_balance(0x00ABCD..)
    uco_balance = balance.uco # 181812.87
    testcoin_balance = Map.get(balance.tokens, [token_address: 0x00ABCD.., token_id: 0]) # 4756.5401

    Parameters:

    • address the address of a transaction in the chain you're interested in

    Returns the balance of the chain that contains the transaction at address.

    The return value is a map with two keys uco and tokens. The value behind tokens is a map where the keys are tokens' identifiers ([token_address: HEX, token_id: POS_INT]) and the values are floats.

    Useful if you need to retrieve the entire list of tokens (and uco) at the same time.

    get_uco_balance/1 [I/O]

    Chain.get_uco_balance(0x00ABCD..) # 14.26239

    Parameters:

    • address the address of a transaction in the chain you're interested in

    Returns the amount of UCO in the chain that contains the transaction at address.

    get_token_balance/2 [I/O]

    Same as get_token_balance/3 called with token_id: 0.

    get_token_balance/3 [I/O]

    transaction_address = 0x00ABCD..
    fungible_token_address = 0x00BCDE..
    non_fungible_token_address = 0x00FEDC..
    Chain.get_token_balance(transaction_address, fungible_token_address, 0) # 14.26239591
    Chain.get_token_balance(transaction_address, non_fungible_token_address, 1) # 1
    Chain.get_token_balance(transaction_address, non_fungible_token_address, 2) # 0

    Parameters:

    • address the address of a transaction in the chain you're interested in
    • token_address the address of the transaction that defined the token
    • token_id the index of the element in the collection (0 for fungible tokens)

    Returns the token balance of the token defined at token_address in the chain that contains the transaction at address. Non-fungible tokens must precise the token_id (index of the token in the collection).

    get_tokens_balance/1 [I/O]

    balance = Chain.get_tokens_balance(0x00ABCD..)
    abdecoin_balance = Map.get(balance, [token_address: 0x00ABDE.., token_id: 0]) # 8.90800012
    defacoin_balance = Map.get(balance, [token_address: 0x00DEFA.., token_id: 0]) # 4.05902597

    Parameters:

    • address the address of a transaction in the chain you're interested in

    Returns a subset of the token balance of the chain that contains the transaction at address. The return value is a map where the keys are the tokens' identifiers: [token_address: HEX, token_id: POS_INT] and the value are floats.

    Useful if you need to retrieve many tokens at the same time.

    get_tokens_balance/2 [I/O]

    balance = Chain.get_tokens_balance(0x00ABCD.., [
    [token_address: 0x00DEFA.., token_id: 1],
    [token_address: 0x00DEFA.., token_id: 2]
    ])
    nft1 = Map.get(balance, [token_address: 0x00DEFA.., token_id: 1]) # 1
    nft2 = Map.get(balance, [token_address: 0x00DEFA.., token_id: 2]) # 0

    Parameters:

    • address the address of a transaction in the chain you're interested in
    • tokens_identifiers the list of tokens' identifiers ([token_address: HEX, token_id: POS_INT]) to return

    Returns a subset of the token balance of the chain that contains the transaction at address. -The return value is a map where the keys are the tokens' identifiers: [token_address: HEX, token_id: POS_INT] and the value are floats.

    Useful if you need to retrieve many tokens at the same time.

    - +The return value is a map where the keys are the tokens' identifiers: [token_address: HEX, token_id: POS_INT] and the value are floats.

    Useful if you need to retrieve many tokens at the same time.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/code/index.html b/build/smart-contracts/language/library/code/index.html index a9bd8b4d8..a9beb15a3 100644 --- a/build/smart-contracts/language/library/code/index.html +++ b/build/smart-contracts/language/library/code/index.html @@ -4,14 +4,14 @@ Code module | Archethic - +

    Code module

    The Code module contains functions that deal with strings of code.

    is_same?/2

    code = """
    @version

    condition triggered_by: transaction, as: []

    actions triggered_by: transaction do
    Contract.add_uco_transfer to: 0x1234, amount: 15.5
    end
    """

    Code.is_same?(code, transaction.code)

    Parameters:

    • first_code a string containing a smart contract code
    • second_code a string containing a smart contract code

    Return true if codes are the same, false otherwise. -This function is more accurate than comparing two strings, as it convert code into structured AST and compare only code instruction and not line numbers, carriage return ...

    is_valid?/1

    code = """
    @version

    condition triggered_by: transaction, as: []

    actions triggered_by: transaction do
    Contract.add_uco_transfer to: 0x1234, amount: 15.5
    end
    """

    Code.is_valid?(code)

    Parameters:

    • code a string containing a smart contract code

    Returns true if the code is valid according to Archethic smart contracts language, false otherwise

    - +This function is more accurate than comparing two strings, as it convert code into structured AST and compare only code instruction and not line numbers, carriage return ...

    is_valid?/1

    code = """
    @version

    condition triggered_by: transaction, as: []

    actions triggered_by: transaction do
    Contract.add_uco_transfer to: 0x1234, amount: 15.5
    end
    """

    Code.is_valid?(code)

    Parameters:

    • code a string containing a smart contract code

    Returns true if the code is valid according to Archethic smart contracts language, false otherwise

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/contract/index.html b/build/smart-contracts/language/library/contract/index.html index 2cdff6580..6b293fa4f 100644 --- a/build/smart-contracts/language/library/contract/index.html +++ b/build/smart-contracts/language/library/contract/index.html @@ -4,14 +4,14 @@ Contract module | Archethic - +

    Contract module

    The Contract module contains functions that deals with current and other contracts.

    call_function/3 [I/O]

    Contract.call_function(0x0000ABCD..., "add", [1, 2])

    Parameters:

    • contract_address the contract's adddress
    • function_name the function name
    • args the list of arguments to call the function with

    Calls the exported function function_name of the Smart Contract at contract_address with given args and return the result value.

    set_type/1 [Transaction]

    Contract.set_type("transfer")

    Parameters:

    • type the transaction type ("contract", "transfer", "data", "hosting")

    Mutates the next transaction to be of type type.

    set_content/1 [Transaction]

    Contract.set_content("Hello Smart Contract")

    Parameters:

    • content the transaction's content (we usually use this as the state of the smart contract)

    Mutates the next transaction content to be content.

    tip

    While content is always a string when you read it, it is possible here to send an integer or a float for convenience. -For any other data structure, you should serialize it with the Json module for example.

    set_code/1 [Transaction]

    Contract.set_code("@version 1\ncondition inherit: []")

    Parameters:

    • code the code

    Mutates the next transaction code to be code.

    tip

    This example "closes" the contract, by adding an condition inherit that doesn't accept anything. It will be impossible to create a new transaction in this chain.

    add_uco_transfer/1 [Transaction]

    Contract.add_uco_transfer(to: "000012345...", amount: 1)

    Parameters:

    • uco_transfer a map with two keys:
      • to: the destination address
      • amount: the number of UCO

    Mutates the next transaction to add the uco_transfer.

    add_uco_transfers/1 [Transaction]

    Equivalent to call add_uco_transfer/1 for each element of the list

    add_token_transfer/1 [Transaction]

    Contract.add_token_transfer(
    to: "000012345...",
    amount: 1.2,
    token_address: "000023456...")
    Contract.add_token_transfer(
    to: "000012345...",
    amount: 1.2,
    token_id: 4,
    token_address: "000023456...")

    Parameters:

    • token_transfer a map with three or four keys:
      • to: the destination address
      • amount: the number of UCO
      • token_address: the transaction address of the token
      • [token_id]: an optional integer to specify which index in the list (used for the NFTs)

    Mutates the next transaction to add the token_transfer.

    add_token_transfers/1 [Transaction]

    Equivalent to call add_token_transfer/1 for each element of the list

    add_ownership/1 [Transaction]

    authorized_keys = Map.new()
    authorized_keys = Map.set(authorized_keys, public_key, encoded_secret_key)
    Contract.add_ownership(
    secret: "ENCODED_SECRET1",
    authorized_keys: authorized_keys
    )

    Parameters:

    • ownership a map with two keys:
      • secret: the encoded secret
      • authorized_keys: a map where the keys are the public_keys and the values are the encoded_secret_keys (the keys to decode the secret encoded by each public_key)
    info

    It is the developer's job to encode the secret & the secret key for each authorized key.

    Mutates the next transaction to add the ownership.

    add_ownerships/1 [Transaction]

    Equivalent to call add_ownership/1 for each element of the list

    add_recipient/1 [Transaction]

    Contract.add_recipient("000012345...")

    Parameters:

    • address: a transaction address (one with a smart contract)

    Mutates the next transaction to add the address in the recipients.

    info

    Recipients are used to trigger smart contracts

    add_recipients/1 [Transaction]

    Equivalent to call add_recipients/1 for each element of the list

    - +For any other data structure, you should serialize it with the Json module for example.

    set_code/1 [Transaction]

    Contract.set_code("@version 1\ncondition inherit: []")

    Parameters:

    • code the code

    Mutates the next transaction code to be code.

    tip

    This example "closes" the contract, by adding an condition inherit that doesn't accept anything. It will be impossible to create a new transaction in this chain.

    add_uco_transfer/1 [Transaction]

    Contract.add_uco_transfer(to: "000012345...", amount: 1)

    Parameters:

    • uco_transfer a map with two keys:
      • to: the destination address
      • amount: the number of UCO

    Mutates the next transaction to add the uco_transfer.

    add_uco_transfers/1 [Transaction]

    Equivalent to call add_uco_transfer/1 for each element of the list

    add_token_transfer/1 [Transaction]

    Contract.add_token_transfer(
    to: "000012345...",
    amount: 1.2,
    token_address: "000023456...")
    Contract.add_token_transfer(
    to: "000012345...",
    amount: 1.2,
    token_id: 4,
    token_address: "000023456...")

    Parameters:

    • token_transfer a map with three or four keys:
      • to: the destination address
      • amount: the number of UCO
      • token_address: the transaction address of the token
      • [token_id]: an optional integer to specify which index in the list (used for the NFTs)

    Mutates the next transaction to add the token_transfer.

    add_token_transfers/1 [Transaction]

    Equivalent to call add_token_transfer/1 for each element of the list

    add_ownership/1 [Transaction]

    authorized_keys = Map.new()
    authorized_keys = Map.set(authorized_keys, public_key, encoded_secret_key)
    Contract.add_ownership(
    secret: "ENCODED_SECRET1",
    authorized_keys: authorized_keys
    )

    Parameters:

    • ownership a map with two keys:
      • secret: the encoded secret
      • authorized_keys: a map where the keys are the public_keys and the values are the encoded_secret_keys (the keys to decode the secret encoded by each public_key)
    info

    It is the developer's job to encode the secret & the secret key for each authorized key.

    Mutates the next transaction to add the ownership.

    add_ownerships/1 [Transaction]

    Equivalent to call add_ownership/1 for each element of the list

    add_recipient/1 [Transaction]

    Contract.add_recipient("000012345...")

    Parameters:

    • address: a transaction address (one with a smart contract)

    Mutates the next transaction to add the address in the recipients.

    info

    Recipients are used to trigger smart contracts

    add_recipients/1 [Transaction]

    Equivalent to call add_recipients/1 for each element of the list

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/crypto/index.html b/build/smart-contracts/language/library/crypto/index.html index 037457577..c84de10a0 100644 --- a/build/smart-contracts/language/library/crypto/index.html +++ b/build/smart-contracts/language/library/crypto/index.html @@ -4,14 +4,14 @@ Crypto module | Archethic - +

    Crypto module

    The Crypto module contains functions that deal with cryptography.

    hash/1

    Equivalent to hash/2 with the second argument "sha256".

    hash/2

    Crypto.hash("my text", "sha256") # "7330D2B39CA35EA..."
    Crypto.hash("my text", "sha512") # "A3D7E45A0D9BE5F..."

    Parameters:

    • str the text to hash
    • algo the hash algorithm ("sha256", "sha512", "sha3_256", "sha3_512", "blake2b", "keccak256")

    Returns the hash of str by using algo algorithm.

    hmac/1

    Equivalent to hmac/2 with the second argument "sha256".

    hmac/2

    Equivalent to hmac/3 with the third argument being a key created from the contract seed and secret data known by nodes. -The key created is deterministic and will always be the same for a contract.

    hmac/3

    Crypto.hmac("my text") # "374C7527733556..."
    Crypto.hmac("my text", "sha256") # "374C7527733556..."
    Crypto.hmac("my text", "sha256", "secret_key") # "901A365FF22B895..."

    Parameters:

    • data the data to hash (if the data is hexadecimal it will be decoded in binary)
    • algo the hash algorithm ("sha256", "sha512", "sha3_256", "sha3_512")
    • key the key to perform the hmac (if the data is hexadecimal it will be decoded in binary)

    Returns the hmac of data with key using algo.

    sign_with_recovery/1

    signature_payload = Crypto.hash("tintin", "keccak256")
    Crypto.sign_with_recovery(signature_payload) # [r: "00ABCD...", s: "00BCDE...", v: 0]

    Parameters:

    • hash the hash to sign

    Return a signature of the given hash.

    decrypt_with_storage_nonce/1

    ciphertext = 0x374C7527733556
    Crypto.decrypt_with_storage_nonce(ciphertext) # Clear text

    Parameters:

    • ciphertext The encrypted data to decrypt

    Return the cleartext out from the decryption algorithm

    - +The key created is deterministic and will always be the same for a contract.

    hmac/3

    Crypto.hmac("my text") # "374C7527733556..."
    Crypto.hmac("my text", "sha256") # "374C7527733556..."
    Crypto.hmac("my text", "sha256", "secret_key") # "901A365FF22B895..."

    Parameters:

    • data the data to hash (if the data is hexadecimal it will be decoded in binary)
    • algo the hash algorithm ("sha256", "sha512", "sha3_256", "sha3_512")
    • key the key to perform the hmac (if the data is hexadecimal it will be decoded in binary)

    Returns the hmac of data with key using algo.

    sign_with_recovery/1

    signature_payload = Crypto.hash("tintin", "keccak256")
    Crypto.sign_with_recovery(signature_payload) # [r: "00ABCD...", s: "00BCDE...", v: 0]

    Parameters:

    • hash the hash to sign

    Return a signature of the given hash.

    decrypt_with_storage_nonce/1

    ciphertext = 0x374C7527733556
    Crypto.decrypt_with_storage_nonce(ciphertext) # Clear text

    Parameters:

    • ciphertext The encrypted data to decrypt

    Return the cleartext out from the decryption algorithm

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/evm/index.html b/build/smart-contracts/language/library/evm/index.html index 241d2bead..1883087a2 100644 --- a/build/smart-contracts/language/library/evm/index.html +++ b/build/smart-contracts/language/library/evm/index.html @@ -4,13 +4,13 @@ Evm module | Archethic - +
    -

    Evm module

    The Evm module contains functions to deal with encoding/decoding ABI from the Ethereum Virtual Machine.

    abi_encode/2

    Evm.abi_encode(signature, data)

    Parameters:

    • signature: the function or tuple signature (ex: "baz(uint,address)")
    • data: the data to encode

    Encodes the given data according to the signature.

    abi_decode/2

    Evm.abi_decode(signature, encoded_data)

    Parameters:

    • signature: the function or tuple signature (ex: "baz(uint,address)")
    • encoded_data: the data to decode

    Decodes the given encoded_data according to the signature.

    - +

    Evm module

    The Evm module contains functions to deal with encoding/decoding ABI from the Ethereum Virtual Machine.

    abi_encode/2

    Evm.abi_encode(signature, data)

    Parameters:

    • signature: the function or tuple signature (ex: "baz(uint,address)")
    • data: the data to encode

    Encodes the given data according to the signature.

    abi_decode/2

    Evm.abi_decode(signature, encoded_data)

    Parameters:

    • signature: the function or tuple signature (ex: "baz(uint,address)")
    • encoded_data: the data to decode

    Decodes the given encoded_data according to the signature.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/http/index.html b/build/smart-contracts/language/library/http/index.html index 55f1b1d53..8c68120fc 100644 --- a/build/smart-contracts/language/library/http/index.html +++ b/build/smart-contracts/language/library/http/index.html @@ -4,13 +4,13 @@ Http module | Archethic - +
    -

    Http module

    The Http module contains functions to request data from outside the blockchain via HTTP.

    request/1 [I/O]

    Similar to request/2 with method: "GET".

    request/2 [I/O]

    Similar to request/3 with headers: Map.new().

    request/3 [I/O]

    Similar to request/4 with body: nil.

    request/4 [I/O]

    response = Http.request("https://fakerapi.it/api/v1/addresses?_quantity=1&_seed=watermelon", "GET", Map.new(), nil) # [status: 200, body: "..."]
    if response.status == 200 do
    # do something with response.body
    end

    Parameters:

    • url the url to fetch
    • method the HTTP method ("GET", "POST", "PUT", "DELETE" or "PATCH")
    • headers the HTTP headers
    • body the HTTP body

    Performs a HTTP request and returns a map with status (integer) and body (string).

    This status integer can be any HTTP status code.

    • The URL must use HTTPS protocol.
    • The response body's size must be less than 256KB.
    • The response must be received in less than 2 seconds.
    • The response must be idempotent (= identical every time it is called)
    • Only 1 call of either request/1,2,3,4 or request_many/1 is allowed per execution.
    caution

    The function raises if these requirements are not meet.

    Disclaimer

    We discourage to call services that change their internal state directly (such as writing to a database or notifying a user). Because Archethic relies on atomic commitment of all storage nodes, it may happen that atomic commitment is not reached and the transaction resulting of a Smart Contract is not validated.

    Instead, you should notify the service of the transaction being validated. The service subscribes to that transaction via the GraphQL API, and once it receives a confirmation, it should act accordingly.

    request_many/1 [I/O]

    responses = Http.request_many([
    [url: "https://fakerapi.it/api/v1/users?_quantity=1&_gender=male&_seed=cucumber"],
    [url: "https://fakerapi.it/api/v1/users?_quantity=1&_gender=female&_seed=tomato", method: "GET", headers: Map.new(), body: nil]
    ])
    for r in responses do
    if r.status == 200 do
    # do something with r.body
    end
    end

    Parameters:

    • request a list of requests to perform

    Performs a HTTP request and returns a map with status (integer) and body (string). Order and length is preserved.

    See request/4 for rules and more details.

    - +

    Http module

    The Http module contains functions to request data from outside the blockchain via HTTP.

    request/1 [I/O]

    Similar to request/2 with method: "GET".

    request/2 [I/O]

    Similar to request/3 with headers: Map.new().

    request/3 [I/O]

    Similar to request/4 with body: nil.

    request/4 [I/O]

    response = Http.request("https://fakerapi.it/api/v1/addresses?_quantity=1&_seed=watermelon", "GET", Map.new(), nil) # [status: 200, body: "..."]
    if response.status == 200 do
    # do something with response.body
    end

    Parameters:

    • url the url to fetch
    • method the HTTP method ("GET", "POST", "PUT", "DELETE" or "PATCH")
    • headers the HTTP headers
    • body the HTTP body

    Performs a HTTP request and returns a map with status (integer) and body (string).

    This status integer can be any HTTP status code.

    • The URL must use HTTPS protocol.
    • The response body's size must be less than 256KB.
    • The response must be received in less than 2 seconds.
    • The response must be idempotent (= identical every time it is called)
    • Only 1 call of either request/1,2,3,4 or request_many/1 is allowed per execution.
    caution

    The function raises if these requirements are not meet.

    Disclaimer

    We discourage to call services that change their internal state directly (such as writing to a database or notifying a user). Because Archethic relies on atomic commitment of all storage nodes, it may happen that atomic commitment is not reached and the transaction resulting of a Smart Contract is not validated.

    Instead, you should notify the service of the transaction being validated. The service subscribes to that transaction via the GraphQL API, and once it receives a confirmation, it should act accordingly.

    request_many/1 [I/O]

    responses = Http.request_many([
    [url: "https://fakerapi.it/api/v1/users?_quantity=1&_gender=male&_seed=cucumber"],
    [url: "https://fakerapi.it/api/v1/users?_quantity=1&_gender=female&_seed=tomato", method: "GET", headers: Map.new(), body: nil]
    ])
    for r in responses do
    if r.status == 200 do
    # do something with r.body
    end
    end

    Parameters:

    • request a list of requests to perform

    Performs a HTTP request and returns a map with status (integer) and body (string). Order and length is preserved.

    See request/4 for rules and more details.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/index.html b/build/smart-contracts/language/library/index.html index 7c3461f51..5fc528765 100644 --- a/build/smart-contracts/language/library/index.html +++ b/build/smart-contracts/language/library/index.html @@ -4,14 +4,14 @@ Smart Contracts - Library | Archethic - +

    Smart Contracts - Library

    The Smart Contract library is composed of many modules with many functions in each. -Unless it is explicitely written, the functions will not mutate their arguments:

    # Don't
    sold_items = [1,2,3]
    List.concat(sold_items, [4,5,6])

    # Do
    sold_items = [1,2,3]
    sold_items = List.concat(sold_items, [4,5,6])

    Function's arity

    In this section, the number after the slash indicates the arity of the function (number or arguments).

    For example size/1 means the function size has 1 argument.

    Tagged functions

    Transaction:

    Functions tagged as [Transaction] are very special:

    • They are only available in the actions block.
    • They mutate an internal state, the "next transaction".
    • This "next transaction" is initiated with current contract (all values but transfers are copied)

    I/O:

    Functions tagged as [I/O] means they are accessing data outside of the node (inside or outside the blockchain). There is an impact in performance and in fees.

    • They are not available in public functions.

    Modules list

    - +Unless it is explicitely written, the functions will not mutate their arguments:

    # Don't
    sold_items = [1,2,3]
    List.concat(sold_items, [4,5,6])

    # Do
    sold_items = [1,2,3]
    sold_items = List.concat(sold_items, [4,5,6])

    Function's arity

    In this section, the number after the slash indicates the arity of the function (number or arguments).

    For example size/1 means the function size has 1 argument.

    Tagged functions

    Transaction:

    Functions tagged as [Transaction] are very special:

    • They are only available in the actions block.
    • They mutate an internal state, the "next transaction".
    • This "next transaction" is initiated with current contract (all values but transfers are copied)

    I/O:

    Functions tagged as [I/O] means they are accessing data outside of the node (inside or outside the blockchain). There is an impact in performance and in fees.

    • They are not available in public functions.

    Modules list

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/json/index.html b/build/smart-contracts/language/library/json/index.html index 35cc7a068..fee6f6f46 100644 --- a/build/smart-contracts/language/library/json/index.html +++ b/build/smart-contracts/language/library/json/index.html @@ -4,13 +4,13 @@ Json module | Archethic - +
    -

    Json module

    The Json module contains functions to manipulate JSON strings.

    path_extract/2

    Json.path_extract("{ \"firstName\": \"John\", \"lastName\": \"Doe\"}", "$.firstName") # "John"

    Parameters:

    • json the json string
    • path the path

    Returns the data at path in json.

    See the JSONPath documentation for more information abouth paths.

    path_match?/2

    Json.path_match?("{\"1622541930\":{\"uco\":{\"eur\":0.176922,\"usd\":0.21642}}}", "$.*.uco.usd") # true
    Json.path_match?("{\"1622541930\":{\"uco\":{\"eur\":0.176922,\"usd\":0.21642}}}", "$.*.uco.aud") # false

    Parameters:

    • json the json string
    • path the path

    Returns if there is a value at path in json.

    See the JSONPath documentation for more information about paths.

    to_string/1

    Json.to_string(1)           # "1"
    Json.to_string("str") # "\"str\""
    Json.to_string([1,2,3]) # "[1,2,3]"
    Json.to_string(foo: "bar") # "{\"foo\":\"bar\"}"

    Parameters:

    • any anything

    Returns the Json representation of any.

    parse/1

    Json.parse("1")                     # "1"
    Json.parse("\"str\"") # "str"
    Json.parse("[1,2,3]") # [1,2,3]
    Json.parse("{\"foo\":\"bar\"}") # foo: "bar"

    Parameters:

    • json the json string

    Returns the value represented by json.

    is_valid?/1

    Json.is_valid?("str")        # false
    Json.is_valid?("\"str\"") # true

    Parameters:

    • json the json string

    Returns whether the string is valid JSON or not.

    - +

    Json module

    The Json module contains functions to manipulate JSON strings.

    path_extract/2

    Json.path_extract("{ \"firstName\": \"John\", \"lastName\": \"Doe\"}", "$.firstName") # "John"

    Parameters:

    • json the json string
    • path the path

    Returns the data at path in json.

    See the JSONPath documentation for more information abouth paths.

    path_match?/2

    Json.path_match?("{\"1622541930\":{\"uco\":{\"eur\":0.176922,\"usd\":0.21642}}}", "$.*.uco.usd") # true
    Json.path_match?("{\"1622541930\":{\"uco\":{\"eur\":0.176922,\"usd\":0.21642}}}", "$.*.uco.aud") # false

    Parameters:

    • json the json string
    • path the path

    Returns if there is a value at path in json.

    See the JSONPath documentation for more information about paths.

    to_string/1

    Json.to_string(1)           # "1"
    Json.to_string("str") # "\"str\""
    Json.to_string([1,2,3]) # "[1,2,3]"
    Json.to_string(foo: "bar") # "{\"foo\":\"bar\"}"

    Parameters:

    • any anything

    Returns the Json representation of any.

    parse/1

    Json.parse("1")                     # "1"
    Json.parse("\"str\"") # "str"
    Json.parse("[1,2,3]") # [1,2,3]
    Json.parse("{\"foo\":\"bar\"}") # foo: "bar"

    Parameters:

    • json the json string

    Returns the value represented by json.

    is_valid?/1

    Json.is_valid?("str")        # false
    Json.is_valid?("\"str\"") # true

    Parameters:

    • json the json string

    Returns whether the string is valid JSON or not.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/list/index.html b/build/smart-contracts/language/library/list/index.html index b87921ee9..5757870cc 100644 --- a/build/smart-contracts/language/library/list/index.html +++ b/build/smart-contracts/language/library/list/index.html @@ -4,13 +4,13 @@ List module | Archethic - +
    -

    List module

    The List module contains functions to deal with lists. Lists are actually Linked List.

    at/2

    List.at(["a", "b", "c"], 0)     # "a"
    List.at(["a", "b", "c"], 1) # "b"
    List.at(["a", "b", "c"], 2) # "c"
    List.at([], 0) # nil

    Parameters:

    • list the list
    • index the index (zero-based)

    Returns the element at index in list.

    size/1

    List.size([])           # 0
    List.size([1,2,3,4]) # 4

    Parameters:

    • list the list

    Returns the number of keys in list.

    in?/2

    List.in?(["bob", "alice"], "alice") # true
    List.in?(["bob", "alice"], "fred") # false

    Parameters:

    • list the haystack
    • element the needle

    Returns whether the needle is in the haystack.

    empty?/1

    List.empty?([])         # true
    List.empty?(["apple"]) # false

    Parameters:

    • list the list

    Returns whether the list is empty or not.

    concat/2

    List.concat([], [])         # []
    List.concat([1,2], [3,4]) # [1,2,3,4]

    Parameters:

    • list1 a list
    • list2 another list

    Returns a new list where list2 is concatenated to list1.

    append/2

    List.append([], 1)    # [1]
    List.append([1], 2) # [1,2]

    Parameters:

    • list the list
    • element the element

    Returns a new list where element is appended to the end of list.

    tip

    If order doesn't matter, we suggest to use prepend/2 instead (Complexity: O(1) instead of O(n)).

    prepend/2

    List.prepend([], 1)    # [1]
    List.prepend([1], 0) # [0,1]

    Parameters:

    • list the list
    • element the element

    Returns a new list where element is appended to the start of list.

    join/2

    List.join([], ", ")    # ""
    List.join(["Mike", "Robert", "Joe"], ", ") # "Mike, Robert, Joe"

    Parameters:

    • list the list of strings
    • separator the separator

    Returns a string where all list's elements have been joined with separator separator.

    sort/1

    List.sort([1,3,2])    # [1,2,3]

    Parameters:

    • list the list of maps

    Returns same list but ordered ASC.

    sort_by/2

    List.sort_by([[a: 1], [a: 3], [a: 2]], "a")    # [[a: 1], [a: 2], [a: 3]]

    Parameters:

    • list the list of maps
    • field the field of the map to use for sorting

    Returns same list but ordered ASC by the field value of each items.

    uniq/1

    List.uniq([1,2,1,2,3])    # [1,2,3]

    Parameters:

    • list the list

    Returns same list but without duplicated elements.

    reverse/1

    List.reverse([1,2,2,3])    # [3,2,2,1]

    Parameters:

    • list the list

    Returns same list but reversed.

    set_at/3

    List.set_at(["index0", "index1"], 1, "value")    # ["index0", "value"]

    Parameters:

    • list the list
    • index 0-based index
    • value the value to set at index

    Returns same list but element at index index is replaced by value.

    delete_at/3

    List.delete_at(["index0", "index1"], 1)    # ["index0"]

    Parameters:

    • list the list
    • index 0-based index

    Returns same list but element at index index is deleted.

    - +

    List module

    The List module contains functions to deal with lists. Lists are actually Linked List.

    at/2

    List.at(["a", "b", "c"], 0)     # "a"
    List.at(["a", "b", "c"], 1) # "b"
    List.at(["a", "b", "c"], 2) # "c"
    List.at([], 0) # nil

    Parameters:

    • list the list
    • index the index (zero-based)

    Returns the element at index in list.

    size/1

    List.size([])           # 0
    List.size([1,2,3,4]) # 4

    Parameters:

    • list the list

    Returns the number of keys in list.

    in?/2

    List.in?(["bob", "alice"], "alice") # true
    List.in?(["bob", "alice"], "fred") # false

    Parameters:

    • list the haystack
    • element the needle

    Returns whether the needle is in the haystack.

    empty?/1

    List.empty?([])         # true
    List.empty?(["apple"]) # false

    Parameters:

    • list the list

    Returns whether the list is empty or not.

    concat/2

    List.concat([], [])         # []
    List.concat([1,2], [3,4]) # [1,2,3,4]

    Parameters:

    • list1 a list
    • list2 another list

    Returns a new list where list2 is concatenated to list1.

    append/2

    List.append([], 1)    # [1]
    List.append([1], 2) # [1,2]

    Parameters:

    • list the list
    • element the element

    Returns a new list where element is appended to the end of list.

    tip

    If order doesn't matter, we suggest to use prepend/2 instead (Complexity: O(1) instead of O(n)).

    prepend/2

    List.prepend([], 1)    # [1]
    List.prepend([1], 0) # [0,1]

    Parameters:

    • list the list
    • element the element

    Returns a new list where element is appended to the start of list.

    join/2

    List.join([], ", ")    # ""
    List.join(["Mike", "Robert", "Joe"], ", ") # "Mike, Robert, Joe"

    Parameters:

    • list the list of strings
    • separator the separator

    Returns a string where all list's elements have been joined with separator separator.

    sort/1

    List.sort([1,3,2])    # [1,2,3]

    Parameters:

    • list the list of maps

    Returns same list but ordered ASC.

    sort_by/2

    List.sort_by([[a: 1], [a: 3], [a: 2]], "a")    # [[a: 1], [a: 2], [a: 3]]

    Parameters:

    • list the list of maps
    • field the field of the map to use for sorting

    Returns same list but ordered ASC by the field value of each items.

    uniq/1

    List.uniq([1,2,1,2,3])    # [1,2,3]

    Parameters:

    • list the list

    Returns same list but without duplicated elements.

    reverse/1

    List.reverse([1,2,2,3])    # [3,2,2,1]

    Parameters:

    • list the list

    Returns same list but reversed.

    set_at/3

    List.set_at(["index0", "index1"], 1, "value")    # ["index0", "value"]

    Parameters:

    • list the list
    • index 0-based index
    • value the value to set at index

    Returns same list but element at index index is replaced by value.

    delete_at/3

    List.delete_at(["index0", "index1"], 1)    # ["index0"]

    Parameters:

    • list the list
    • index 0-based index

    Returns same list but element at index index is deleted.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/map/index.html b/build/smart-contracts/language/library/map/index.html index 89560190a..949b348e8 100644 --- a/build/smart-contracts/language/library/map/index.html +++ b/build/smart-contracts/language/library/map/index.html @@ -4,13 +4,13 @@ Map module | Archethic - +
    -

    Map module

    The Map module contains functions to manipulate maps (dicts). The keys and values can be of any type.

    new/0

    Map.new() # empty map

    Returns an empty map. There is no shorthand notation.

    size/1

    Map.size(key1: "value", key2: "value2") # 2

    Parameters:

    • map the map

    Returns the number of keys in map.

    get/2

    Map.get([key1: "value", key2: "value2"], "key1") # "value"
    Map.get([key1: "value", key2: "value2"], "key3") # nil

    Parameters:

    • map the map
    • key the key

    Returns the value at key in map or nil if key is not in the map.

    tip

    There is a shorthand notation map.key when key is not a variable.

    get/3

    Map.get([key1: "value", key2: "value2"], "key1", "not in map") # "value"
    Map.get([key1: "value", key2: "value2"], "key3", "not in map") # "not in map"

    Parameters:

    • map the map
    • key the key
    • default the default value

    Returns the value at key in map or default if key is not in the map.

    set/3

    Map.set([key1: "value", key2: "value2"], "key1", "valueX") # [key1: "valueX", key2: "value2"]
    Map.get([key1: "value", key2: "value2"], "key3", "value3") # [key1: "value", key2: "value2, key3: "value3"]

    Parameters:

    • map the map
    • key the key
    • value the value to set

    Returns a copy of map where the value at key is value.

    keys/1

    Map.keys(key1: "value", key2: "value2") # ["key1", "key2"]

    Parameters:

    • map the map

    Returns the list of keys in map.

    tip

    Use it with a for loop to iterate on a map!

    for key in Map.keys(map) do
    ...
    value = map[key]
    ...
    end

    values/1

    Map.values(key1: "value", key2: "value2") # ["value", "value2"]

    Parameters:

    • map the map

    Returns the list of values in map.

    delete/2

    Map.delete([key1: "value", key2: "value2"], "key2") # [key1: "value"]

    Parameters:

    • map the map
    • key the key to remove

    Returns a copy of the map without the value at given key.

    - +

    Map module

    The Map module contains functions to manipulate maps (dicts). The keys and values can be of any type.

    new/0

    Map.new() # empty map

    Returns an empty map. There is no shorthand notation.

    size/1

    Map.size(key1: "value", key2: "value2") # 2

    Parameters:

    • map the map

    Returns the number of keys in map.

    get/2

    Map.get([key1: "value", key2: "value2"], "key1") # "value"
    Map.get([key1: "value", key2: "value2"], "key3") # nil

    Parameters:

    • map the map
    • key the key

    Returns the value at key in map or nil if key is not in the map.

    tip

    There is a shorthand notation map.key when key is not a variable.

    get/3

    Map.get([key1: "value", key2: "value2"], "key1", "not in map") # "value"
    Map.get([key1: "value", key2: "value2"], "key3", "not in map") # "not in map"

    Parameters:

    • map the map
    • key the key
    • default the default value

    Returns the value at key in map or default if key is not in the map.

    set/3

    Map.set([key1: "value", key2: "value2"], "key1", "valueX") # [key1: "valueX", key2: "value2"]
    Map.get([key1: "value", key2: "value2"], "key3", "value3") # [key1: "value", key2: "value2, key3: "value3"]

    Parameters:

    • map the map
    • key the key
    • value the value to set

    Returns a copy of map where the value at key is value.

    keys/1

    Map.keys(key1: "value", key2: "value2") # ["key1", "key2"]

    Parameters:

    • map the map

    Returns the list of keys in map.

    tip

    Use it with a for loop to iterate on a map!

    for key in Map.keys(map) do
    ...
    value = map[key]
    ...
    end

    values/1

    Map.values(key1: "value", key2: "value2") # ["value", "value2"]

    Parameters:

    • map the map

    Returns the list of values in map.

    delete/2

    Map.delete([key1: "value", key2: "value2"], "key2") # [key1: "value"]

    Parameters:

    • map the map
    • key the key to remove

    Returns a copy of the map without the value at given key.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/math/index.html b/build/smart-contracts/language/library/math/index.html index 59056f0db..68f1bd909 100644 --- a/build/smart-contracts/language/library/math/index.html +++ b/build/smart-contracts/language/library/math/index.html @@ -4,13 +4,13 @@ Math module | Archethic - +
    -

    Math module

    The Math module contains mathematical functions.

    pow/2

    Math.pow(2, 3)
    # 8
    Math.pow(1.7, 8)
    # 69.75757441

    Parameters:

    • number the number to apply the power
    • exponent the exponent of the power

    Returns the result of the power of number by exponent.

    trunc/1

    Math.trunc(8.32)
    # 8

    Parameters:

    • number the number to truncate

    Returns the truncated number as an integer.

    sqrt/1

    Math.sqrt(16)
    # 4
    Math.sqrt(12.5)
    # 3.53553390

    Parameters:

    • number the number to calculate the square root

    Returns the square root if the number.

    rem/2

    Math.rem(2.1, 3)
    # 2.1
    Math.rem(10, 3)
    # 1
    Math.rem(-10, 3)
    # -1
    Math.rem(10.2, 1)
    # 0.2

    Parameters:

    • dividend the number to divid
    • divisor the number which divid

    Returns the remainder (modulo) of a division.

    - +

    Math module

    The Math module contains mathematical functions.

    pow/2

    Math.pow(2, 3)
    # 8
    Math.pow(1.7, 8)
    # 69.75757441

    Parameters:

    • number the number to apply the power
    • exponent the exponent of the power

    Returns the result of the power of number by exponent.

    trunc/1

    Math.trunc(8.32)
    # 8

    Parameters:

    • number the number to truncate

    Returns the truncated number as an integer.

    sqrt/1

    Math.sqrt(16)
    # 4
    Math.sqrt(12.5)
    # 3.53553390

    Parameters:

    • number the number to calculate the square root

    Returns the square root if the number.

    rem/2

    Math.rem(2.1, 3)
    # 2.1
    Math.rem(10, 3)
    # 1
    Math.rem(-10, 3)
    # -1
    Math.rem(10.2, 1)
    # 0.2

    Parameters:

    • dividend the number to divid
    • divisor the number which divid

    Returns the remainder (modulo) of a division.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/regex/index.html b/build/smart-contracts/language/library/regex/index.html index c69072f88..a596bf132 100644 --- a/build/smart-contracts/language/library/regex/index.html +++ b/build/smart-contracts/language/library/regex/index.html @@ -4,13 +4,13 @@ Regex module | Archethic - +
    -

    Regex module

    The Regex module contains functions to extract data from strings via Regular Expressions.

    extract/2

    Regex.extract("123456abc", "[0-9]+")    # "123456"
    Regex.extract("voodoo", "[abc]") # ""

    Parameters:

    • text the list
    • pattern the element

    Returns the data from text extract via the regex pattern.

    match?/2

    Regex.match?("123456", "^[0-9]+$")      # true
    Regex.match?("123456abc", "^[0-9]+$") # false

    Parameters:

    • text the list
    • pattern the element

    Returns whether the pattern matches the text or not.

    scan/2

    Regex.scan("foo", "bar")                                    # []
    Regex.scan("toto,123\ntutu,456\n", "toto,([0-9]+)") # ["123"]
    Regex.scan("toto,123\ntutu,456\n", "t.t.,([0-9]+)") # ["123", "456"]
    Regex.scan("A0B1C2,123\nD3E4F5,456\n", "^(\\w+),(\\d+)$") # [["A0B1C2", "123"], ["D3E4F5", "456"]]

    Parameters:

    • text the list
    • pattern the element

    Returns the data from text extract via the regex pattern.

    note

    This function requires the usage of capture groups (subexpressions).

    - +

    Regex module

    The Regex module contains functions to extract data from strings via Regular Expressions.

    extract/2

    Regex.extract("123456abc", "[0-9]+")    # "123456"
    Regex.extract("voodoo", "[abc]") # ""

    Parameters:

    • text the list
    • pattern the element

    Returns the data from text extract via the regex pattern.

    match?/2

    Regex.match?("123456", "^[0-9]+$")      # true
    Regex.match?("123456abc", "^[0-9]+$") # false

    Parameters:

    • text the list
    • pattern the element

    Returns whether the pattern matches the text or not.

    scan/2

    Regex.scan("foo", "bar")                                    # []
    Regex.scan("toto,123\ntutu,456\n", "toto,([0-9]+)") # ["123"]
    Regex.scan("toto,123\ntutu,456\n", "t.t.,([0-9]+)") # ["123", "456"]
    Regex.scan("A0B1C2,123\nD3E4F5,456\n", "^(\\w+),(\\d+)$") # [["A0B1C2", "123"], ["D3E4F5", "456"]]

    Parameters:

    • text the list
    • pattern the element

    Returns the data from text extract via the regex pattern.

    note

    This function requires the usage of capture groups (subexpressions).

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/state/index.html b/build/smart-contracts/language/library/state/index.html index 4b2d7a85e..f2ae10a45 100644 --- a/build/smart-contracts/language/library/state/index.html +++ b/build/smart-contracts/language/library/state/index.html @@ -4,13 +4,13 @@ State module | Archethic - +
    -

    State module

    The State module contains functions to read or write the current contract's state.

    get/1

    Equivalent to get/2 with default: nil.

    info

    Because a contract always start without state, you should always use get/2 or check for nil.

    get/2

    State.get(key, default)

    Parameters:

    • key: the key to read the state from
    • default: the value returned if there is no key key in the state

    Returns the state stored at given key, or return default if the key does not exist.

    set/2

    State.set(key, value)

    Parameters:

    • key: the key to write the state at
    • value: the value to store

    Writes the value in the state at key key.

    delete/1

    State.delete(key)

    Parameters:

    • key: the key to remove

    Removes the key key from the state.

    info

    A Smart Contract's state is persisted as an UTXO (unspent output) of the resulting transaction. Because of this, any state modification will result in a new transaction on the Smart Contract's transaction chain.

    - +

    State module

    The State module contains functions to read or write the current contract's state.

    get/1

    Equivalent to get/2 with default: nil.

    info

    Because a contract always start without state, you should always use get/2 or check for nil.

    get/2

    State.get(key, default)

    Parameters:

    • key: the key to read the state from
    • default: the value returned if there is no key key in the state

    Returns the state stored at given key, or return default if the key does not exist.

    set/2

    State.set(key, value)

    Parameters:

    • key: the key to write the state at
    • value: the value to store

    Writes the value in the state at key key.

    delete/1

    State.delete(key)

    Parameters:

    • key: the key to remove

    Removes the key key from the state.

    info

    A Smart Contract's state is persisted as an UTXO (unspent output) of the resulting transaction. Because of this, any state modification will result in a new transaction on the Smart Contract's transaction chain.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/string/index.html b/build/smart-contracts/language/library/string/index.html index 65c37f64e..3abd45916 100644 --- a/build/smart-contracts/language/library/string/index.html +++ b/build/smart-contracts/language/library/string/index.html @@ -4,14 +4,14 @@ String module | Archethic - +

    String module

    The String module contains functions to manipulate strings of text.

    size/1

    String.size("hello")   # 5
    String.size("你好") # 2

    Parameters:

    • str the string

    Returns the number of characters in str.

    in?/2

    String.in?("bob,alice,julia", "alice")  # true
    String.in?("bob,alice,julia", "fred") # false

    Parameters:

    • str1 the haystack
    • str2 the needle

    Returns whether the needle is in the haystack.

    to_number/1

    String.to_number("12")     # 12
    String.to_number("-12") # -12
    String.to_number("12.1") # 12.1

    Parameters:

    • str the string

    Returns the number which text representation is str.

    from_number/1

    String.from_number(13)     # "13"
    String.from_number(13.2) # "13.2"

    Parameters:

    • number the number

    Returns the text representation of number.

    to_hex/1

    String.to_hex("592ac76afa") # "592AC76AFA"
    String.to_hex("592AC76AFA") # "592AC76AFA"
    String.to_hex("hello") # "68656C6C6F"

    Parameters:

    • str the string

    Return the text representation of hexadecimal str. -If str is already an hex it just uppercase it

    to_uppercase/1

    String.to_uppercase("Arsène Lupin") # "ARSÈNE LUPIN"

    Parameters:

    • str the string

    Return the str in uppercase.

    to_lowercase/1

    String.to_lowercase("Sherlock Holmes") # "sherlock holmes"

    Parameters:

    • str the string

    Return the str in lowercase.

    - +If str is already an hex it just uppercase it

    to_uppercase/1

    String.to_uppercase("Arsène Lupin") # "ARSÈNE LUPIN"

    Parameters:

    • str the string

    Return the str in uppercase.

    to_lowercase/1

    String.to_lowercase("Sherlock Holmes") # "sherlock holmes"

    Parameters:

    • str the string

    Return the str in lowercase.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/time/index.html b/build/smart-contracts/language/library/time/index.html index 4d26f5535..8181b8273 100644 --- a/build/smart-contracts/language/library/time/index.html +++ b/build/smart-contracts/language/library/time/index.html @@ -4,15 +4,15 @@ Time module | Archethic - +

    Time module

    The Time module contains functions to deal with time & dates.

    now/0

    Time.now()  # 1677493444

    Returns an approximation of current time (seconds since epoch). It will always return the same value within a contract.

    Why an approximation?

    Because we need the Smart Contracts to be determinist. -Many nodes run them and all of them must produce the same transaction to validate a contract's execution.

    - +Many nodes run them and all of them must produce the same transaction to validate a contract's execution.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/library/token/index.html b/build/smart-contracts/language/library/token/index.html index 317fae3b2..fb0b73bed 100644 --- a/build/smart-contracts/language/library/token/index.html +++ b/build/smart-contracts/language/library/token/index.html @@ -4,13 +4,13 @@ Token module | Archethic - +
    -

    Token module

    The Token module contains functions that deal with tokens.

    fetch_id_from_address/1 [I/O] (DEPRECATED)

    Token.fetch_id_from_address("000012345") # "3C21EF708BF11B4232..."

    Parameters:

    • address the token address

    Returns the token's id of the token at address.

    - +

    Token module

    The Token module contains functions that deal with tokens.

    fetch_id_from_address/1 [I/O] (DEPRECATED)

    Token.fetch_id_from_address("000012345") # "3C21EF708BF11B4232..."

    Parameters:

    • address the token address

    Returns the token's id of the token at address.

    + \ No newline at end of file diff --git a/build/smart-contracts/language/triggers/index.html b/build/smart-contracts/language/triggers/index.html index ae98d97be..7653c282e 100644 --- a/build/smart-contracts/language/triggers/index.html +++ b/build/smart-contracts/language/triggers/index.html @@ -4,13 +4,13 @@ Smart Contracts - Triggers | Archethic - +
    -

    Smart Contracts - Triggers

    Contract triggered by a transaction

    To trigger a SC execution, the incoming transaction must add the SC address in the recipients part of the transaction.

    tip

    This allows to activate a SC without sending funds to it, or to send funds to it without activating the code execution.

    Because the recipients field is a list, you can trigger multiple contracts in the same transaction 😉

    In this scenario:

    • a condition transaction may be used to check the incoming transaction (before executing the trigger).
    • a transaction variable is available in the blocks.
    @version 1
    condition triggered_by: transaction do
    ...
    end

    actions triggered_by: transaction do
    ...
    end

    Contract triggered by a transaction with a named action

    The SC caller may be able to execute a specific "named" action with specified arguments on the Smart Contract.

    In this scenario:

    • a condition transaction may be used to check the incoming transaction (before executing the trigger).
    • a transaction variable is available in the blocks.
    • every argument defined is available in the blocks.
    @version 1
    condition triggered_by: transaction, on: vote_for_class_president(firstname, lastname) do
    ...
    end

    actions triggered_by: transaction, on: vote_for_class_president(firstname, lastname) do
    ...
    end

    Contract triggered at a specific date and time

    You may trigger a contract at a specific date and time. You need to specify a Unix time (seconds since epoch).

    The datetime must be rounded to the minute

    A contract will not parse if the datetime isn't rounded.

    @version 1
    actions triggered_by: datetime, at: 1676332800 do
    ...
    end

    Contract triggered at a specific interval

    You may trigger a contract at a specific interval. You need to specify a CRON Format String.

    note

    The minimum granularity is the minute. Except in local development where the minimum granularity is the second.

    @version 1

    # ┌───────────── minute (0 - 59)
    # │ ┌───────────── hour (0 - 23)
    # │ │ ┌───────────── day of the month (1 - 31)
    # │ │ │ ┌───────────── month (1 - 12)
    # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
    # │ │ │ │ │
    # │ │ │ │ │
    # │ │ │ │ │
    # * * * * *
    actions triggered_by: interval, at: "0 8 * * *" do
    # do something each day at 8AM UTC
    end

    Contract triggered on every Oracle transaction

    You may trigger a contract on every Oracle transaction.

    In this scenario:

    • a condition oracle must be used to check the oracle transaction (to avoid running a contract if the oracle does not contain what you require)
    • a transaction variable is available in the blocks.
    @version 1
    condition triggered_by: oracle do
    # use transaction.content to make sure the oracle has the data you require
    end
    actions triggered_by: oracle do
    # do something with transaction.content
    end

    Multiple triggers

    Only named action triggers may have multiple triggers. Other triggers are limited to 1 per type.

    DO:

    @version 1

    actions triggered_by: transaction do
    ...
    end

    actions triggered_by: transaction, on: upgrade() do
    ...
    end

    actions triggered_by: transaction, on: calculate(x, y) do
    ...
    end

    actions triggered_by: interval, at: "0 8 * * *" do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: interval, at: "0 9 * * *" do
    ...
    end

    actions triggered_by: interval, at: "0 8 * * *" do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: transaction do
    ...
    end

    actions triggered_by: transaction do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: datetime, at: 1693519200 do
    ...
    end

    actions triggered_by: datetime, at: 1693605600 do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: transaction, on: lock(x, y) do
    ...
    end

    actions triggered_by: transaction, on: lock(x, y) do
    ...
    end
    - +

    Smart Contracts - Triggers

    Contract triggered by a transaction

    To trigger a SC execution, the incoming transaction must add the SC address in the recipients part of the transaction.

    tip

    This allows to activate a SC without sending funds to it, or to send funds to it without activating the code execution.

    Because the recipients field is a list, you can trigger multiple contracts in the same transaction 😉

    In this scenario:

    • a condition transaction may be used to check the incoming transaction (before executing the trigger).
    • a transaction variable is available in the blocks.
    @version 1
    condition triggered_by: transaction do
    ...
    end

    actions triggered_by: transaction do
    ...
    end

    Contract triggered by a transaction with a named action

    The SC caller may be able to execute a specific "named" action with specified arguments on the Smart Contract.

    In this scenario:

    • a condition transaction may be used to check the incoming transaction (before executing the trigger).
    • a transaction variable is available in the blocks.
    • every argument defined is available in the blocks.
    @version 1
    condition triggered_by: transaction, on: vote_for_class_president(firstname, lastname) do
    ...
    end

    actions triggered_by: transaction, on: vote_for_class_president(firstname, lastname) do
    ...
    end

    Contract triggered at a specific date and time

    You may trigger a contract at a specific date and time. You need to specify a Unix time (seconds since epoch).

    The datetime must be rounded to the minute

    A contract will not parse if the datetime isn't rounded.

    @version 1
    actions triggered_by: datetime, at: 1676332800 do
    ...
    end

    Contract triggered at a specific interval

    You may trigger a contract at a specific interval. You need to specify a CRON Format String.

    note

    The minimum granularity is the minute. Except in local development where the minimum granularity is the second.

    @version 1

    # ┌───────────── minute (0 - 59)
    # │ ┌───────────── hour (0 - 23)
    # │ │ ┌───────────── day of the month (1 - 31)
    # │ │ │ ┌───────────── month (1 - 12)
    # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
    # │ │ │ │ │
    # │ │ │ │ │
    # │ │ │ │ │
    # * * * * *
    actions triggered_by: interval, at: "0 8 * * *" do
    # do something each day at 8AM UTC
    end

    Contract triggered on every Oracle transaction

    You may trigger a contract on every Oracle transaction.

    In this scenario:

    • a condition oracle must be used to check the oracle transaction (to avoid running a contract if the oracle does not contain what you require)
    • a transaction variable is available in the blocks.
    @version 1
    condition triggered_by: oracle do
    # use transaction.content to make sure the oracle has the data you require
    end
    actions triggered_by: oracle do
    # do something with transaction.content
    end

    Multiple triggers

    Only named action triggers may have multiple triggers. Other triggers are limited to 1 per type.

    DO:

    @version 1

    actions triggered_by: transaction do
    ...
    end

    actions triggered_by: transaction, on: upgrade() do
    ...
    end

    actions triggered_by: transaction, on: calculate(x, y) do
    ...
    end

    actions triggered_by: interval, at: "0 8 * * *" do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: interval, at: "0 9 * * *" do
    ...
    end

    actions triggered_by: interval, at: "0 8 * * *" do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: transaction do
    ...
    end

    actions triggered_by: transaction do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: datetime, at: 1693519200 do
    ...
    end

    actions triggered_by: datetime, at: 1693605600 do
    ...
    end

    DON'T:

    @version 1

    actions triggered_by: transaction, on: lock(x, y) do
    ...
    end

    actions triggered_by: transaction, on: lock(x, y) do
    ...
    end
    + \ No newline at end of file diff --git a/build/smart-contracts/wasm/getting-started/index.html b/build/smart-contracts/wasm/getting-started/index.html index 72567695e..7e4688133 100644 --- a/build/smart-contracts/wasm/getting-started/index.html +++ b/build/smart-contracts/wasm/getting-started/index.html @@ -4,13 +4,13 @@ Getting Started | Archethic - +
    -

    Getting Started

    This guide explains how to create your first smart contract and deploy it on the Archethic testnet.

    Setup

    Before creating a smart contract, set up your development environment to use WebAssembly (WASM).

    You need to have NodeJS & npm installed

    Prerequisites

    Ensure you have Node.js and npm installed.

    Create a new project

    Run the following command to create a new project:

    npm create @archethicjs/create-ae-contract-as my_contract

    This creates a new project in the my_contract folder with the following structure:

    my_contract/
    ├── assembly/
    │ ├── index.ts # Main contract code
    │ ├── tsconfig.json # Typescript configuration for AssemblyScript
    ├── tests
    ├── index.test.ts # Main test file
    ├── asconfig.json # AssemblyScript configuration
    ├── package.json # Project dependencies and scripts
    ├── README.md # Project documentation
    └── tsconfig.json # TypeScript configuration

    Install SDK

    Navigate to your project folder and install the SDK:

    cd my_contract
    npm install

    Writing your first contract

    /assembly/index.ts
    import {
    ActionResult,
    Context,
    ContextWithParams,
    TriggerType,
    } from "@archethicjs/ae-contract-as/assembly";

    // Define the contract state
    class State {
    counter: i32 = 0;
    }

    // Initialize the contract during creation
    export function onInit(context: Context<State>): State {
    return new State();
    }

    class IncArgs {
    value!: u32;
    }

    // Define an action triggered by a transaction
    @action(TriggerType.Transaction)
    export function inc(context: ContextWithParams<State, IncArgs>): ActionResult<State> {
    const state = context.state;

    // Validate the input
    if (context.arguments.value == 0)
    throw new Error("increment value must be greater than 0")

    // Update the state
    state.counter += context.arguments.value;

    // Return the updated state
    return new ActionResult<State>().setState(state)
    }

    In this example, the inc function expects an argument to increment the contract's state with each incoming transaction.

    Test & Simulation

    Contract tests simulate the execution of WASM modules as the blockchain runtime would. Use the tests folder to define test cases.

    /tests/index.test.ts
    import { describe, it, expect } from 'vitest'
    import { readFileSync } from "fs";
    import { getContract } from "@archethicjs/ae-contract-test";

    describe("inc", () => {
    it("should increment the state", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");
    const contract = await getContract(wasmBuffer);

    // Increment from an undefined state
    let result = contract.inc({ value: 1 });
    expect(result?.state.counter).toBe(1);

    // Increment from a computed state
    result = contract.inc({ value: 1 });
    expect(result?.state.counter).toBe(2);

    // Increment with a predefined state
    result = contract.inc({ value: 1 }, { state: { counter: 2 } });
    expect(result?.state.counter).toBe(3);
    });
    });

    Simulate state

    To simulate a specific state of the contract - in order to speed up the setup - you can hardcode it in the tests

    Example of test simulating state
    it("should increment with state", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");
    const contract = await getContract(wasmBuffer);

    // Simulate a specific initial state
    const result = contract.inc({ state: { counter: 2 } });
    expect(result?.state.counter).toBe(3);
    });

    Simulate constants

    To simulate constants such as contract address, genesis, balance, etc.., you can hardcode them in the tests

    Example of test simulating state
    it("should display balance as input", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");

    const contract = await getContract(wasmBuffer);
    const result = contract.currentBalance({
    balance: {
    uco: 100_000_000
    }
    })
    expect(result).toBe('UCO: 100000000')
    })

    Mock Blockchain Calls

    Example of test using mock
    it("should fetch balance", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");
    const contract = await getContract(wasmBuffer);

    const address = new Address("0000583a6a1d9a536ed7f3c8e7f3981ed2f7ff8cb3c3f8f2b9eb0c862d81f75d28cb")

    // We simulate getBalance call
    const contract = await getContract(wasmBuffer, {
    ioMocks: {
    getBalance(requestedAddress: Address): Balance {
    if (Address.compare(requestedAddress, address)) {
    return { uco: 100_000_000, token: [] }
    }
    return { uco: 0, token: [] }
    }
    }
    });

    const result = contract.fetchBalance({ address: address })
    expect(result).toBe('UCO: 100000000')
    });

    Deployment

    Configure your deployment environment by creating the following file:

    /archethic.config.js
    export default {
    endpoint: process.env["ENDPOINT"] || "https://testnet.archethic.net"
    seed: process.env["SEED"], // Optional if using the Archethic wallet
    }

    Then, we need to create a script to implement the deployment and execute the transactions

    /scripts/deploy.js
    import { getContext } from "@archethicjs/ae-contract-test"
    import { Utils } from "@archethicjs/sdk"

    async function main() {
    const ctx = await getContext()
    const fundingAccount = await ctx.getAccount()

    // Request testnet funds
    await fundingAccount.requestFaucet()

    const contractAccount = ctx.getRandomAccount()

    // Fund the contract's chain
    const fundingTx = ctx.archethicClient.transaction.new()
    .setType("transfer")
    .addUCOTransfer(contractAccount.address, Utils.parseBigInt("1"))

    console.log("Funding contract...")
    await fundingAccount.sendTransaction(fundingTx)

    console.log("Deploying contract...")
    const transactionAddress = await ctx.deployContract(contractAccount)

    console.log(`Contract deployed at: ${transactionAddress}`)
    process.exit(0)
    }

    main().catch((error) => {
    console.error(error);
    process.exit(1)
    });

    We can finally execute them

    node scripts/deploy.js
    tip

    Congratulations! Your first Archethic WASM contract is now live

    Upgrading Contracts

    To allow upgrades, specify an authorized address in the configuration:

    /archethic.config.js
    export default {
    endpoint: process.env["ENDPOINT"] || "https://testnet.archethic.net"
    seed: process.env["SEED"],
    upgradeAddress: "0000..." // Address authorized for upgrades
    }

    Create an upgrade script:

    /scripts/upgrade.js
    import { getContext, getUpgradeContractTx } from "@archethicjs/ae-contract-test"

    async function main() {
    const ctx = await getContext()

    if (process.env["CONTRACT"] === undefined) {
    throw new Error("CONTRACT env var is required")
    }

    const fundingAccount = await ctx.getAccount()
    const contractAddress = process.env["CONTRACT"]

    console.log(`Upgrading contract ${contractAddress}`)

    await ctx.updateContract(fundingAccount, contractAddress)

    console.log("Contract upgraded")
    process.exit(0)
    }

    main().catch((error) => {
    console.error(error);
    process.exit(1)
    });

    Run the upgrade script:

    CONTRACT=ADDRESS_OF_THE_DEPLOYED_CONTRACT node scripts/upgrade.js
    - +

    Getting Started

    This guide explains how to create your first smart contract and deploy it on the Archethic testnet.

    Setup

    Before creating a smart contract, set up your development environment to use WebAssembly (WASM).

    You need to have NodeJS & npm installed

    Prerequisites

    Ensure you have Node.js and npm installed.

    Create a new project

    Run the following command to create a new project:

    npm create @archethicjs/ae-contract-as my_contract

    This creates a new project in the my_contract folder with the following structure:

    my_contract/
    ├── assembly/
    │ ├── index.ts # Main contract code
    │ ├── tsconfig.json # Typescript configuration for AssemblyScript
    ├── tests
    ├── index.test.ts # Main test file
    ├── asconfig.json # AssemblyScript configuration
    ├── package.json # Project dependencies and scripts
    ├── README.md # Project documentation
    └── tsconfig.json # TypeScript configuration

    Install SDK

    Navigate to your project folder and install the SDK:

    cd my_contract
    npm install

    Writing your first contract

    /assembly/index.ts
    import {
    ActionResult,
    Context,
    ContextWithParams,
    TriggerType,
    } from "@archethicjs/ae-contract-as/assembly";

    // Define the contract state
    class State {
    counter: i32 = 0;
    }

    // Initialize the contract during creation
    export function onInit(context: Context<State>): State {
    return new State();
    }

    class IncArgs {
    value!: u32;
    }

    // Define an action triggered by a transaction
    @action(TriggerType.Transaction)
    export function inc(context: ContextWithParams<State, IncArgs>): ActionResult<State> {
    const state = context.state;

    // Validate the input
    if (context.arguments.value == 0)
    throw new Error("increment value must be greater than 0")

    // Update the state
    state.counter += context.arguments.value;

    // Return the updated state
    return new ActionResult<State>().setState(state)
    }

    In this example, the inc function expects an argument to increment the contract's state with each incoming transaction.

    Test & Simulation

    Contract tests simulate the execution of WASM modules as the blockchain runtime would. Use the tests folder to define test cases.

    /tests/index.test.ts
    import { describe, it, expect } from 'vitest'
    import { readFileSync } from "fs";
    import { getContract } from "@archethicjs/ae-contract-test";

    describe("inc", () => {
    it("should increment the state", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");
    const contract = await getContract(wasmBuffer);

    // Increment from an undefined state
    let result = contract.inc({ value: 1 });
    expect(result?.state.counter).toBe(1);

    // Increment from a computed state
    result = contract.inc({ value: 1 });
    expect(result?.state.counter).toBe(2);

    // Increment with a predefined state
    result = contract.inc({ value: 1 }, { state: { counter: 2 } });
    expect(result?.state.counter).toBe(3);
    });
    });

    Simulate state

    To simulate a specific state of the contract - in order to speed up the setup - you can hardcode it in the tests

    Example of test simulating state
    it("should increment with state", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");
    const contract = await getContract(wasmBuffer);

    // Simulate a specific initial state
    const result = contract.inc({ state: { counter: 2 } });
    expect(result?.state.counter).toBe(3);
    });

    Simulate constants

    To simulate constants such as contract address, genesis, balance, etc.., you can hardcode them in the tests

    Example of test simulating state
    it("should display balance as input", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");

    const contract = await getContract(wasmBuffer);
    const result = contract.currentBalance({
    balance: {
    uco: 100_000_000
    }
    })
    expect(result).toBe('UCO: 100000000')
    })

    Mock Blockchain Calls

    Example of test using mock
    it("should fetch balance", async () => {
    const wasmBuffer = readFileSync("./dist/contract.wasm");
    const contract = await getContract(wasmBuffer);

    const address = new Address("0000583a6a1d9a536ed7f3c8e7f3981ed2f7ff8cb3c3f8f2b9eb0c862d81f75d28cb")

    // We simulate getBalance call
    const contract = await getContract(wasmBuffer, {
    ioMocks: {
    getBalance(requestedAddress: Address): Balance {
    if (Address.compare(requestedAddress, address)) {
    return { uco: 100_000_000, token: [] }
    }
    return { uco: 0, token: [] }
    }
    }
    });

    const result = contract.fetchBalance({ address: address })
    expect(result).toBe('UCO: 100000000')
    });

    Deployment

    Configure your deployment environment by creating the following file:

    /archethic.config.js
    export default {
    endpoint: process.env["ENDPOINT"] || "https://testnet.archethic.net"
    seed: process.env["SEED"], // Optional if using the Archethic wallet
    }

    Then, we need to create a script to implement the deployment and execute the transactions

    /scripts/deploy.js
    import { getContext } from "@archethicjs/ae-contract-test"
    import { Utils } from "@archethicjs/sdk"

    async function main() {
    const ctx = await getContext()
    const fundingAccount = await ctx.getAccount()

    // Request testnet funds
    await fundingAccount.requestFaucet()

    const contractAccount = ctx.getRandomAccount()

    // Fund the contract's chain
    const fundingTx = ctx.archethicClient.transaction.new()
    .setType("transfer")
    .addUCOTransfer(contractAccount.address, Utils.parseBigInt("1"))

    console.log("Funding contract...")
    await fundingAccount.sendTransaction(fundingTx)

    console.log("Deploying contract...")
    const transactionAddress = await ctx.deployContract(contractAccount)

    console.log(`Contract deployed at: ${transactionAddress}`)
    process.exit(0)
    }

    main().catch((error) => {
    console.error(error);
    process.exit(1)
    });

    We can finally execute them

    node scripts/deploy.js
    tip

    Congratulations! Your first Archethic WASM contract is now live

    Upgrading Contracts

    To allow upgrades, specify an authorized address in the configuration:

    /archethic.config.js
    export default {
    endpoint: process.env["ENDPOINT"] || "https://testnet.archethic.net"
    seed: process.env["SEED"],
    upgradeAddress: "0000..." // Address authorized for upgrades
    }

    Create an upgrade script:

    /scripts/upgrade.js
    import { getContext, getUpgradeContractTx } from "@archethicjs/ae-contract-test"

    async function main() {
    const ctx = await getContext()

    if (process.env["CONTRACT"] === undefined) {
    throw new Error("CONTRACT env var is required")
    }

    const fundingAccount = await ctx.getAccount()
    const contractAddress = process.env["CONTRACT"]

    console.log(`Upgrading contract ${contractAddress}`)

    await ctx.updateContract(fundingAccount, contractAddress)

    console.log("Contract upgraded")
    process.exit(0)
    }

    main().catch((error) => {
    console.error(error);
    process.exit(1)
    });

    Run the upgrade script:

    CONTRACT=ADDRESS_OF_THE_DEPLOYED_CONTRACT node scripts/upgrade.js
    + \ No newline at end of file diff --git a/build/smart-contracts/wasm/runtime/index.html b/build/smart-contracts/wasm/runtime/index.html index 77e0f3153..b2dae62e6 100644 --- a/build/smart-contracts/wasm/runtime/index.html +++ b/build/smart-contracts/wasm/runtime/index.html @@ -4,7 +4,7 @@ WASM Runtime | Archethic - + @@ -14,8 +14,8 @@ Some functions are reserved for this purpose: onInit, onUpgrade, onInherit

    Function namePurposeExecution context
    onInitThis behaves as a constructor or initializer of the contract’s stateDuring the transaction's validation of the first chain's transaction.
    The resulting state will be injected into the transaction’s validation as unspent output
    onUpgradeAs Archethic’s upgrade is native, a specific and magic trigger is supported as code_upgrade to correspond to the AEIP-22 - Smart Contract upgradability spec and will replace the new code of the contractDuring the execution of the code_upgrade function to generate the new state to be injected into the transaction’s validation as new unspent output.
    The previous state is injected into the function but using the new code to act as migration code for the contract’s state. The resulting state will be injected into the transaction’s validation as unspent output
    onInheritThis function ensures a way to assert some conditions along the chain’s inheritance (i.e. origin family devices, hard-coded rules, etc.)During transaction’s validation to ensure inherit conditions.
    No return is expected, it should assert or throw on user’s defined conditions

    Memory management

    WASM doesn't support the communication of complex data structure and work with a limit set of opcodes, we have to leverage custom memory management to allow communication in and out for complex structure such as string, list, objects.

    To facilate it, for each smart contract a dedicated memory process is allocated to ensure communication between the validator (host) and the contract (WASM module).

    SDK implementations provides functions for WASM module to be imported in order to to read and write into the shared memory.

    Host functions

    Additionally, the runtime supports functions to read external data such as blockchain & off-chain data sources. This works similarly as the memory management by providing functions to import in SDK to allow communication with the validator.

    I/O requests are encoded as JSON-RPC request to simplify serialization of method & params and allow extensibility.

    getBalance (CHAIN)

    Fetch the balance of a given address

    Request:

    {"method" => "getBalance", "params": {"hex": "0000..."}}

    Response:

     {"ok": {"value": {
    "uco": 1000000,
    "token": [
    {
    "tokenAddress": { "hex": "0000..." },
    "tokenId": 0,
    "amount": 10000000000
    }
    ]
    }}}

    getGenesisAddress (CHAIN)

    Fetch the genesis address of the transaction chain that contains a transaction at the address.

    If there is no transaction, it returns the given address.

    Request

    {"method": "getGenesisAddress", "params": {"hex": "0000..."}}

    Response:

    {"ok":{"value":{ "hex": "0000..."}}}

    getFirstTransactionAddress (CHAIN)

    Returns the first transaction's address of the transaction chain from the given address.

    Request

    {"method": "getFirstTransactionAddress", "params": {"hex": "0000..."}}

    Response:

    {"ok":{ "value":{ "hex": "0000..."}}}

    If there is no transaction, it raises an error.

    {"error": "not found"}

    getLastAddress (CHAIN)

    Returns the last transaction's address of the transaction chain from the given address.

    Request

    {"method": "getLastAddress", "params": {"hex": "0000..."}}

    Response:

    { "hex": "0000..."}

    If there is no transaction, it raises an error.

    {"error": "not found"}

    getPreviousAddress (CHAIN)

    Returns the last transaction's address of the transaction chain from the given public key.

    Request

    {"method": "getPreviousAddress", "params": {"hex": "0000..."}}

    Response:

    {"ok": {"value": {"hex": "0000..."}}}

    If the public key in invalid or there is not previous addresse associated, it returns an error:

    {"error": "invalid previous public key"}

    getGenesisPublicKey (CHAIN)

    Returns the genesis public key of the given public key.

    If the public key is invalid, it raises an error.

    Request

    {"method": "getGenesisPublicKey", "params": {"hex": "0000..."}}

    Response:

    { "ok": { "value": { "hex": "0000..."}} }

    If the public key doesn't exists, it returns an error.

    {"error": "not found"}

    getTransaction (CHAIN)

    Returns the transaction at the given address.

    Request

    {"method": "getTransaction", "params": {"hex": "0000..."}}

    Response:

    { 
    "ok": {
    "value": {
    "type": "...",
    "data": {
    "content": "",
    "code": "",
    "contract": {},
    "ledger": {
    "uco": { "transfers": [] },
    "token": { "transfers": [] }
    }
    },
    }
    }
    }

    If there is no transaction at address, it raises an error.

    {"error": "not found"}

    getLastTransaction (CHAIN)

    Returns the latest transaction of the chain that contains the transaction's address

    Request

    {"method": "getLastTransaction", "params": {"hex": "0000..."}}

    Response:

    { 
    "ok": {
    "value": {
    "type": "...",
    "data": {
    "content": "",
    "code": "",
    "contract": {},
    "ledger": {
    "uco": { "transfers": [] },
    "token": { "transfers": [] }
    }
    },
    }
    }
    }

    If there is no transaction at address, it raises an error.

    {"error": "not found"}

    callFunction (CONTRACT)

    Calls the exported function of the Smart Contract at the given contract address with given args and return the result value.

    It may return an error from the contract function execution.

    Request

    {
    "method": "callFunction",
    "params": {
    "address": {"hex": "0000..."},
    "functionName": "function_name",
    "args": []
    }
    }

    Response

    {"ok": {
    "value": ""
    }}
    {"error": ""}

    hmacWithStorageNonce (CRYPTO)

    Returns the HMAC of the given data using a hash function.

    It uses a key created from the contract seed and secret data known by nodes (storage nonce). The key created is deterministic and will always be the same for a contract.

    Request

    {
    "method": "hmacWithStorageNonce",
    "params": {
    "data": {"hex": data},
    "hashFunction": 0 // SHA256
    }
    }

    Response

    {"ok":{"value": {"hex": "..."}}}

    If the hash function is invalid, it returns an error:

    {"error": "Invalid hash function"}

    signWithRecovery (CRYPTO)

    Return a signature of the given hash using Secp256k1 recovery key capability.

    It uses a key created from the contract seed and secret data known by nodes (storage nonce). -The key created is deterministic and will always be the same for a contract.

    Request

    { "method": "signWithRecovery", "params": { "hex": data }}

    Response

    {
    "ok": {
    "value": {
    "r": { "hex": "..."},
    "s": { "hex": "..."},
    "v": 27
    }
    }
    }

    decryptWithStorageNonce (CRYPTO)

    Return decrypted data from the given ciphertext using the storage nonce private key.

    Request

    {"method": "decryptWithStorageNonce", "params": { "hex": "ciphertext"}}

    Response

    { "ok": {"value": "clear data"}}

    request (HTTP)

    Performs a HTTP request and returns a map with status (integer) and body (string).

    This status integer can be any HTTP status code.

    Requirements

    • The URL must use HTTPS protocol.
    • The response body's size must be less than 256KB.
    • The response must be received in less than 2 seconds.
    • The response must be idempotent (= identical every time it is called)
    • Only 1 call is allowed per execution.
    Disclaimer

    We discourage to call services that change their internal state directly (such as writing to a database or notifying a user). Because Archethic relies on atomic commitment of all storage nodes, it may happen that atomic commitment is not reached and the transaction resulting of a Smart Contract is not validated.

    Instead, you should notify the service of the transaction being validated. The service subscribes to that transaction via the GraphQL API, and once it receives a confirmation, it should act accordingly.

    Request

    Parameters:

    • url the url to fetch
    • method the HTTP method ("GET", "POST", "PUT", "DELETE" or "PATCH")
    • headers the HTTP headers
    • body the HTTP body
    {
    "method": "request",
    "params": {
    "body": body,
    "headers": headers,
    "method": method,
    "uri": uri
    }
    }

    Response

    {
    "ok": {
    "value": {
    "status": 200,
    "body": {}
    }
    }
    }

    The function raises if the requirements are not meet.

    {"error": "..."}

    requestMany (HTTP)

    Performs multiple HTTP requests and returns a list of map with status (integer) and body (string).

    See request for more details

    Request

    {
    "method": "requestMany",
    "params": [
    {
    "body": body,
    "headers": headers,
    "method": method,
    "uri": uri
    }
    ]
    }

    Response

    {
    "ok": {
    "value": [{
    "status": 200,
    "body": {}
    }]
    }
    }

    The function raises if the requirements are not meet.

    {"error": "..."}
    - +The key created is deterministic and will always be the same for a contract.

    Request

    { "method": "signWithRecovery", "params": { "hex": data }}

    Response

    {
    "ok": {
    "value": {
    "r": { "hex": "..."},
    "s": { "hex": "..."},
    "v": 27
    }
    }
    }

    decryptWithStorageNonce (CRYPTO)

    Return decrypted data from the given ciphertext using the storage nonce private key.

    Request

    {"method": "decryptWithStorageNonce", "params": { "hex": "ciphertext"}}

    Response

    { "ok": {"value": "clear data"}}

    request (HTTP)

    Performs a HTTP request and returns a map with status (integer) and body (string).

    This status integer can be any HTTP status code.

    Requirements

    • The URL must use HTTPS protocol.
    • The response body's size must be less than 256KB.
    • The response must be received in less than 2 seconds.
    • The response must be idempotent (= identical every time it is called)
    • Only 1 call is allowed per execution.
    Disclaimer

    We discourage to call services that change their internal state directly (such as writing to a database or notifying a user). Because Archethic relies on atomic commitment of all storage nodes, it may happen that atomic commitment is not reached and the transaction resulting of a Smart Contract is not validated.

    Instead, you should notify the service of the transaction being validated. The service subscribes to that transaction via the GraphQL API, and once it receives a confirmation, it should act accordingly.

    Request

    Parameters:

    • url the url to fetch
    • method the HTTP method ("GET", "POST", "PUT", "DELETE" or "PATCH")
    • headers the HTTP headers
    • body the HTTP body
    {
    "method": "request",
    "params": {
    "body": body,
    "headers": headers,
    "method": method,
    "uri": uri
    }
    }

    Response

    {
    "ok": {
    "value": {
    "status": 200,
    "body": {}
    }
    }
    }

    The function raises if the requirements are not meet.

    {"error": "..."}

    requestMany (HTTP)

    Performs multiple HTTP requests and returns a list of map with status (integer) and body (string).

    See request for more details

    Request

    {
    "method": "requestMany",
    "params": [
    {
    "body": body,
    "headers": headers,
    "method": method,
    "uri": uri
    }
    ]
    }

    Response

    {
    "ok": {
    "value": [{
    "status": 200,
    "body": {}
    }]
    }
    }

    The function raises if the requirements are not meet.

    {"error": "..."}
    + \ No newline at end of file diff --git a/build/smart-contracts/wasm/sdk/assemblyscript/index.html b/build/smart-contracts/wasm/sdk/assemblyscript/index.html index 15e1f803b..b4f4ed588 100644 --- a/build/smart-contracts/wasm/sdk/assemblyscript/index.html +++ b/build/smart-contracts/wasm/sdk/assemblyscript/index.html @@ -4,13 +4,13 @@ AssemblyScript | Archethic - +

    AssemblyScript

    info

    AssemblyScript is a TypeScript-like language targeting WebAssembly's feature set specifically, giving developers low-level control over their code.

    Its similarity with TypeScript makes it easy to compile to WebAssembly without learning a new language and -integrates with the existing Web ecosystem - no heavy toolchains to set up.

    AssemblyScript SDK designed for developing smart contracts on the Archethic Public Blockchain.

    Features

    • Peace of mind: Abstract WASM in/out complexity by providing a simple API and decorators
    • Integrated hooks: Reserved functions (onInit, onUpgrade) to leverage blockchain hooks
    • Typed language: Built on AssemblyScript, a TypeScript-like language
    • Build-in specification: Integrate a manifest generation to export types and ABI
    • Tooling: SDK provides CLI & Test framework to start in minutes smart contract development

    Installation

    Generate a new project by using the following commands

    npm create @archethicjs/create-ae-contract-as my-smart-contract
    cd my-smart-contract
    npm install

    Usage

    The SDK abstract communication with the WebAssembly host and provide a set of functions and classes.

    Action definition

    To define a action executed from a trigger coming from transaction or self-triggered, you have to create a exported function +integrates with the existing Web ecosystem - no heavy toolchains to set up.

    AssemblyScript SDK designed for developing smart contracts on the Archethic Public Blockchain.

    Features

    • Peace of mind: Abstract WASM in/out complexity by providing a simple API and decorators
    • Integrated hooks: Reserved functions (onInit, onUpgrade) to leverage blockchain hooks
    • Typed language: Built on AssemblyScript, a TypeScript-like language
    • Build-in specification: Integrate a manifest generation to export types and ABI
    • Tooling: SDK provides CLI & Test framework to start in minutes smart contract development

    Installation

    Generate a new project by using the following commands

    npm create @archethicjs/ae-contract-as my-smart-contract
    cd my-smart-contract
    npm install

    Usage

    The SDK abstract communication with the WebAssembly host and provide a set of functions and classes.

    Action definition

    To define a action executed from a trigger coming from transaction or self-triggered, you have to create a exported function annotated as @action with the corresponding trigger (TriggerType).

    The function must return ActionResult<T> object to return new state and/or new transaction.

    /assembly/index.ts
    @action(TriggerType.Interval, "0 0 * * *") // Executes daily at midnight
    export function tick(ctx: Context<State>): ActionResult<State> {
    // Create a new transaction with content "tick"
    return new ActionResult<State>().setTransaction(
    new TransactionBuilder()
    .setContent("tick")
    );
    }

    To use a self-triggered you have to pass a parameter to the @action decorator

    /assembly/index.ts
    @action(TriggerType.Interval, "0 0 * * *")
    export function tick(ctx: Context<State>): ActionResult<State> {
    return new ActionResult<State>().setTransaction(
    return new TransactionBuilder()
    .setContent("tick")
    )
    }

    TriggerType Options

    • Transaction: Executes the action when a transaction targets the smart contract.
    • Interval: Executes the action at specified time intervals. Requires a valid Crontab string as a parameter.
    • DateTime: Executes the action at a specific UNIX timestamp.
    • Oracle: Executes the action when an oracle transaction is replicated.

    Each of these triggers can be used to define targeted actions based on your specific requirements.

    Readonly functions definition

    Along with actions, we can defined readonly functions used to view some state data or do some computation without mutate the state. You can annotate your function with @publicFunction to expose them as readonly.

    /assembly/index.ts
    @publicFunction() // Expose this function as a readonly method
    export function getCounter(ctx: Context<State>): string {
    return `Current counter is ${ctx.state.counter}`;
    }

    Function parameters

    It's possible to accept arguments for the action and readonly function. In that case you have to use another context:

    • ContextWithParams<State, CustomParams>: This allow to get the arguments field in the Context class assigned
    • ContextWithTransaction<State>: : This allow to get the transaction field in the Context class assigned
    • ContextWithTransactionAndParams<State, CustomParams>: This allow to get the both arguments and transaction in the Context class assigned
    /assembly/index.ts
    class State {
    counter: u32 = 0;
    }

    class HelloParams {
    name!: string;
    }

    @action(TriggerType.Transaction)
    export function hello(ctx: ContextWithParams<State, HelloParams>): ActionResult<State> {
    const state = ctx.state
    state.counter++

    return new ActionResult<State>()
    .setState(state)
    .setTransaction(new TransactionBuilder().setContent(`Hello from ${ctx.arguments.name}`))
    }

    @publicFunction()
    export function counterStatus(ctx: Context<State>): string {
    return `Current counter is ${ctx.state.counter}`
    }

    @publicFunction()
    export function helloWorld(ctx: ContextWithParams<State, HelloParams>): string {
    return `Hello World from ${ctx.arguments.name}`
    }

    Transaction builder

    The SDK offers a transaction builder to simplify creation of transaction to be returned as result of an action.

    First import it:

    import { TransactionBuilder } from "@archethicjs/ae-contract-as";

    Then use it to create complex transaction:

    new TransactionBuilder()
    .setType(TransactionType.Transfer)
    .setContent("Any content")
    .addUCOTransfer(new Address("0000...."), 100000000)
    ...

    API

    • setType(type: TransactionType)
      Description: Defines the type of transaction.
      @@ -30,8 +30,8 @@ Then you could import them in the actions definition

      /assembly/counter.ts
      export updateCounter(state: State, increment: number): State {
      state.counter += increment;
      return state;
      }
      /assembly/index.ts
      import { updateCounter } from "./counter"

      @action(TriggerType.Transaction)
      export function inc(ctx: Context<State>): ActionResult<State> {
      const updatedState = updateCounter(ctx.state, 1);
      return new ActionResult<State>().setState(updatedState);
      }
      1. Input Validation
      • Validate inputs early to prevent unexpected behavior or crashes.
      • Use assertions or throw exceptions for invalid inputs.
      @action(TriggerType.Transaction)
      export function setName(ctx: ContextWithParams<State, SetParams>): ActionResult<State> {
      const name = ctx.arguments.name.trim();
      assert(name.length > 0, "Name cannot be empty");

      ctx.state.data.set("name", name);
      return new ActionResult<State>().setState(ctx.state);
      }
      1. Use Typed Classes for Inputs:

      Always define clear classes for function arguments to define a structured ABI

      class HelloParams {
      name!: string; // Use '!' to enforce this property as required
      }

      @action(TriggerType.Transaction)
      export function setName(ctx: ContextWithParams<State, HelloParams>): ActionResult<State> {
      return new ActionResult<State>().setTransaction(
      new TransactionBuilder()
      .setContent(ctx.arguments.name)
      )
      }

      // Do not
      @action(TriggerType.Transaction)
      export function setName(ctx: ContextWithParams<State, { name: string }>): ActionResult<State> {
      ...
      }
      1. Use Constants and Enums
      • Replace magic numbers or strings with constants or enums for clarity and maintainability.
      const MAX_RETRY_ATTEMPTS: u8 = 5;

      enum TransactionType {
      Transfer = 1,
      ContractCall = 2,
      }
      1. Secure Contract Interactions
      • When interacting with other contracts, validate responses and handle errors gracefully.
      • Avoid hardcoding addresses unless they are static or genesis addresses.
      const result = callFunction<NoArgs, u32>(address, "getBalance").unwrapWithDefault(0);
      if (result === 0) {
      throw new Error("Failed to fetch balance");
      }
      1. Avoid floating-point arithmetic

      The most reliable solution is to avoid floating-point numbers altogether, as they can lead to subtle discrepancies. Instead, use fixed-point arithmetic, which represents numbers as integers scaled by a constant factor (e.g., a fixed number of decimal places).

      • Representation: For example, represent currency values in the smallest possible value by using integers to avoid floating-point imprecision. UCO or tokens amount must be defined in 10^8 unit (100000000 for 1 UCO)
      • Precision: Choose an appropriate scale factor that matches the precision you need for your application (e.g., 1000 for millisecond precision or 100 for cent precision in financial applications).

      Example: If you want to represent 10.25 with two decimal places, store it as 1025 (integer) and scale it by 100.

      AssemblyScript provides i32, i64, u32, and u64 types for integer operations that can be used for these calculations.

      const scaleFactor = 1000;  // For 3 decimal places
      let a: i64 = 10250; // Represents 10.25 (scaled by 1000)
      let b: i64 = 15000; // Represents 15.00 (scaled by 1000)
      let sum: i64 = a + b; // Sum is 25750, representing 25.75 after dividing by scale factor

      i64 and u64 provide operations that work with large numbers. By using integer types in calculations, you ensure the contract behaves deterministically across all environments.

      Tests

      To run the suite test you can execute the following command.

      npm run test

      CLI

      Build

      To compile the project using the following command

      npm run build 

      By default the build command is targetting debug mode. This enables debug information in emitted binaries, usefull in development to help identifying the source of errorness while interacting with the WASM module. -For example, the compiler appends a name section to the binary, containing names of functions, globals, locals and so on. These names will show up in stack traces.

      This mode also generate *.wat file, to see the text representation of the wasm module in human readable format.

      Manifest generation

      After the build is successed, the manifest file will be generated with the corresponding ABI for the functions definitions, input/output and state types.

      /dist/manifest.json
      {
      "abi": {
      "state": {
      "counter": "u32"
      },
      "functions": {
      "hello": {
      "type": "action",
      "triggerType": "transaction",
      "input": {
      "name": "string"
      },
      },
      "helloWorld": {
      "type": "publicFunction",
      "input": {
      "name": "string"
      },
      "output": "string"
      }
      }
      }
      }

      Release mode

      To have a more production ready compilation, you can use the following command to compile for release

      npx aewasm build --mode release

      This will compile the WASM module with the minimal runtime overhead (without garbage collection) and optimize the module compilation for the size.

      Deploy

      Finally to deploy it to a live environment (local, testnet, mainnet), use the following command

      npx aewasm build --mode release && npx aewasm deploy -s <SEED> -e [ENDPOINT]
    - +For example, the compiler appends a name section to the binary, containing names of functions, globals, locals and so on. These names will show up in stack traces.

    This mode also generate *.wat file, to see the text representation of the wasm module in human readable format.

    Manifest generation

    After the build is successed, the manifest file will be generated with the corresponding ABI for the functions definitions, input/output and state types.

    /dist/manifest.json
    {
    "abi": {
    "state": {
    "counter": "u32"
    },
    "functions": {
    "hello": {
    "type": "action",
    "triggerType": "transaction",
    "input": {
    "name": "string"
    },
    },
    "helloWorld": {
    "type": "publicFunction",
    "input": {
    "name": "string"
    },
    "output": "string"
    }
    }
    }
    }

    Release mode

    To have a more production ready compilation, you can use the following command to compile for release

    npx aewasm build --mode release

    This will compile the WASM module with the minimal runtime overhead (without garbage collection) and optimize the module compilation for the size.

    Deploy

    Finally to deploy it to a live environment (local, testnet, mainnet), use the following command

    npx aewasm build --mode release && npx aewasm deploy -s <SEED> -e [ENDPOINT]
    + \ No newline at end of file diff --git a/build/testnet/index.html b/build/testnet/index.html index 3782155c3..d623002fd 100644 --- a/build/testnet/index.html +++ b/build/testnet/index.html @@ -4,13 +4,13 @@ Testnet | Archethic - +
    -

    Testnet

    Local

    To test and build on top of Archethic network, we encourage people to test with a local instance.

    Installation

    • Clone the repository:
    git clone https://github.com/archethic-foundation/archethic-node.git
    mix deps.get
    • Build web assets
    cd assets ; npm install; cd -
    • Start instance
    iex -S mix

    Get some funds

    To be able to fund some addresses, the development mode of the running enable the testnet faucet.

    1. Funding

      Browse to the http://localhost:4000/faucet and enter any address to send funds to.

      It should transfer 100 UCO to the given address.

    2. Check the balance

      Go to http://localhost:4000/explorer/transaction/{TYPE_YOUR_ADDRESS_IN_HEXADECIMAL}

      It should display 100 unspent outputs (in the "Ledger inputs" section)

    Public

    Public testnet is available at https://testnet.archethic.net

    Get some funds

    You can then go the faucet to get free UCOs to experiment the Archethic network

    - +

    Testnet

    Local

    To test and build on top of Archethic network, we encourage people to test with a local instance.

    Installation

    • Clone the repository:
    git clone https://github.com/archethic-foundation/archethic-node.git
    mix deps.get
    • Build web assets
    cd assets ; npm install; cd -
    • Start instance
    iex -S mix

    Get some funds

    To be able to fund some addresses, the development mode of the running enable the testnet faucet.

    1. Funding

      Browse to the http://localhost:4000/faucet and enter any address to send funds to.

      It should transfer 100 UCO to the given address.

    2. Check the balance

      Go to http://localhost:4000/explorer/transaction/{TYPE_YOUR_ADDRESS_IN_HEXADECIMAL}

      It should display 100 unspent outputs (in the "Ledger inputs" section)

    Public

    Public testnet is available at https://testnet.archethic.net

    Get some funds

    You can then go the faucet to get free UCOs to experiment the Archethic network

    + \ No newline at end of file diff --git a/category/api/index.html b/category/api/index.html index 69d585077..59b211101 100644 --- a/category/api/index.html +++ b/category/api/index.html @@ -4,13 +4,13 @@ API | Archethic - + - + \ No newline at end of file diff --git a/category/build/index.html b/category/build/index.html index d743ab578..23b51bc5c 100644 --- a/category/build/index.html +++ b/category/build/index.html @@ -4,13 +4,13 @@ Build | Archethic - + - + \ No newline at end of file diff --git a/category/clients/index.html b/category/clients/index.html index 148f315b8..32fd5c042 100644 --- a/category/clients/index.html +++ b/category/clients/index.html @@ -4,13 +4,13 @@ Clients | Archethic - + - + \ No newline at end of file diff --git a/category/dapp-development/index.html b/category/dapp-development/index.html index 33fb9b2b8..23aad0130 100644 --- a/category/dapp-development/index.html +++ b/category/dapp-development/index.html @@ -4,13 +4,13 @@ DApp development | Archethic - + - + \ No newline at end of file diff --git a/category/faq/index.html b/category/faq/index.html index 91df0a955..f5d82280e 100644 --- a/category/faq/index.html +++ b/category/faq/index.html @@ -4,13 +4,13 @@ FAQ | Archethic - + - + \ No newline at end of file diff --git a/category/graphql/index.html b/category/graphql/index.html index 21c4ed382..cfc303031 100644 --- a/category/graphql/index.html +++ b/category/graphql/index.html @@ -4,13 +4,13 @@ GraphQL | Archethic - + - + \ No newline at end of file diff --git a/category/participate/index.html b/category/participate/index.html index 1888f7e0c..408920a58 100644 --- a/category/participate/index.html +++ b/category/participate/index.html @@ -4,13 +4,13 @@ Participate | Archethic - + - + \ No newline at end of file diff --git a/category/sdk/index.html b/category/sdk/index.html index 9d426ab8c..78894a22a 100644 --- a/category/sdk/index.html +++ b/category/sdk/index.html @@ -4,13 +4,13 @@ SDK | Archethic - + - + \ No newline at end of file diff --git a/category/usage/index.html b/category/usage/index.html index 11d1c3f5a..af45da5d8 100644 --- a/category/usage/index.html +++ b/category/usage/index.html @@ -4,13 +4,13 @@ Usage | Archethic - + - + \ No newline at end of file diff --git a/category/wasm/index.html b/category/wasm/index.html index 2fd94232d..f511eff8f 100644 --- a/category/wasm/index.html +++ b/category/wasm/index.html @@ -4,13 +4,13 @@ WASM | Archethic - + - + \ No newline at end of file diff --git a/contributing/index.html b/contributing/index.html index afb5ecd54..e007b96a9 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -4,15 +4,15 @@ Contributing | Archethic - +

    Contributing

    This documentation is maintained by the Archethic Foundation. It's an open source project and aims to be the most extensive resources of knowledge on Archethic and its ecosystem.

    We welcome contributions from anyone and are grateful for even the smallest of improvement from typo issues, to proposals, to enhance explaination or create diagrams, etc. -Therefore, pull requests, discussions, and contributions from the community are encouraged.

    How to contribute

    You can contribute on the archethic-foundation/archethic-docs repository. The documentation is build with Docusaurus and each page is written in Markdown which is an easy to learn syntax extension to plain text that make creating links, rendering images and nice looking formatting example.

    Guidelines

    There are few basic ground-rules for contributing:

    1. No --force pushes or modifying the Git history
    2. Pull requests are preferred to issues, especially for small changes such as typos. Issues should be used for generic or broad-based changes or missing content. Suggestions and requests are encouraged.
    3. Please fork or use non-main branches.
    4. Significant modifications, even by contributors, ought to be subject to a pull request to solicit feedback from other contributors.
    5. Pull requests to solicit feedback are encouraged for any other non-trivial contribution but left to the discretion of the contributor.
    6. Contributors should attempt to adhere to the prevailing MarkDown style, language, and layout.
    7. Correct grammar should be used at all times. Pull requests with typos will not be merged until fixed.
    8. Care should be taken to remain as objective and informative as possible. There should be no editorializing, and external bias should not be present.

    Diagrams

    The documentation supports also diagram through the use or Mermaid which permits to create diagram with markdown code:

    Inserting this code:

    ```mermaid
    sequenceDiagram
       Alice->>John: Hello John, how are you?
       John-->>Alice: Great!
       Alice-)John: See you later!
    ```

    will output this diagram

    To help you design them you can leverage an editor to visualize the diagrams.

    - +Therefore, pull requests, discussions, and contributions from the community are encouraged.

    How to contribute

    You can contribute on the archethic-foundation/archethic-docs repository. The documentation is build with Docusaurus and each page is written in Markdown which is an easy to learn syntax extension to plain text that make creating links, rendering images and nice looking formatting example.

    Guidelines

    There are few basic ground-rules for contributing:

    1. No --force pushes or modifying the Git history
    2. Pull requests are preferred to issues, especially for small changes such as typos. Issues should be used for generic or broad-based changes or missing content. Suggestions and requests are encouraged.
    3. Please fork or use non-main branches.
    4. Significant modifications, even by contributors, ought to be subject to a pull request to solicit feedback from other contributors.
    5. Pull requests to solicit feedback are encouraged for any other non-trivial contribution but left to the discretion of the contributor.
    6. Contributors should attempt to adhere to the prevailing MarkDown style, language, and layout.
    7. Correct grammar should be used at all times. Pull requests with typos will not be merged until fixed.
    8. Care should be taken to remain as objective and informative as possible. There should be no editorializing, and external bias should not be present.

    Diagrams

    The documentation supports also diagram through the use or Mermaid which permits to create diagram with markdown code:

    Inserting this code:

    ```mermaid
    sequenceDiagram
       Alice->>John: Hello John, how are you?
       John-->>Alice: Great!
       Alice-)John: See you later!
    ```

    will output this diagram

    To help you design them you can leverage an editor to visualize the diagrams.

    + \ No newline at end of file diff --git a/index.html b/index.html index 987842866..3f278052a 100644 --- a/index.html +++ b/index.html @@ -4,13 +4,13 @@ Archethic - +

    Archethic

    Digital sovereignty at your fingertips

    Archethic gives back to humanity control over technology, and to each individual, control over their identity
    thanks to a truly decentralized and limitless P2P network

    You will find the complete reference of the Archethic network splitted into three main sections:

    Learn

    Discover Archethic, the TransactionChain, the new ARCH Consensus, why it helps to build the more secure and decentralized P2P network

    Participate

    Join the network and use existing solutions build on Archethic.

    Build

    Access documentation and guides to build on Archethic or to contribute to the core development

    FAQ

    Learn more about Archethic solutions by exploring our FAQ section.

    - + \ No newline at end of file diff --git a/learn/arch-consensus/index.html b/learn/arch-consensus/index.html index 693a3f3eb..c0650d5ad 100644 --- a/learn/arch-consensus/index.html +++ b/learn/arch-consensus/index.html @@ -4,14 +4,14 @@ ARCH consensus | Archethic - +

    ARCH consensus

    Archethic Blockchain is using a new consensus called ARCH (Atomic Rotating Commitment Heuristic) for an uncompromising consensus to support high scalability and high throughput.

    Archethic Blockchain is based on three properties:

    • Security: Each transaction is validated atomically
    • Data consistency: Algorithms ensure to access the latest write and maximum availability
    • Fault tolerance: Allow nodes to operate independently even in case of disaster

    ARCH consensus is defined by three concepts:

    • Atomic Commitment: The most absolute form a consensus which implies 100% of concordant responses for the acceptance or refusal of the transaction validation
    • Heuristic: Set of algorithms which manages the entire network, allowing to elect in a decentralized and coordinated way the nodes in charge to validate or store the transaction chains
    • Rotating: Node election is constantly changing. No nodes can predict which nodes will validate the transaction before its arrives.

    Atomic Commitment

    Archethic Blockchain is based on Hypergeometric distribution laws which from an unpredictable election and formal consensus make it possible to obtain with certainty (99.99999999%) the same answer by querying 197 nodes as would be obtained by querying 100 000 nodes.

    Therefore, it makes possible the consensus establishment with a small part of nodes and can resist to attacks of 90% of malicious nodes.

    The risk of related availability is ensured by a strict management of the disruptive nodes, which are banished after investigation of the origin of the disagreement.

    By supporting more 90% of malicious nodes into its network, ARCH consensus is above aeronautical or nuclear standard, thanks to the Atomic Commitment which request the total agreement of the validation nodes and from a Malicious Detection algorithm to detect the malicious nodes.

    Rotating Election

    Each rotating election is unpredictable, but still verifiable and reproducible. -The rotating algorithm sort a list of nodes based on:

    • Hash of transaction: Unpredictable until the transaction arrives
    • Daily nonce: Secret shared between the authorized nodes and renewed daily
    • Node public key: Last node public key

    The rotating election produces a proof, named: Proof of Election which can be verified by any other nodes to ensure the right election of nodes.

    From this algorithm, we get a list of nodes which can be filtered according to the constraints of the validation of the transaction.

    • P2P availability
    • Geographical distribution

    Workflow

    When a transaction is willing to be validated, its follows the given workflow:

    1. The transaction is received by any node (aka Welcome node)
    2. The Welcome Node determines the validation nodes from the Rotating Election algorithm and forward the transaction
    3. The validation nodes after receiving the transaction start some preliminary job to gather the context of the transaction:
      • Previous transaction
      • List of unspent outputs
    4. After the context building, the Cross Validation Nodes communicate to the Coordinator Node the list of storage nodes involved to gather this information.
    5. The Coordinator Node can build the Validation Stamp and compute the replication tree. Then it transmits them to the Cross Validation Nodes.
    6. The Cross Validation Nodes verify the content of the Validation Stamp, sign with or without inconsistencies, and send the Cross Validation Stamp to all the validation nodes involved.
    7. Once all the Cross Validation Stamps are received and if the Atomic Commitment is reached, the replication phase starts.
    8. Validation nodes send the transaction to the respective storage nodes:
    • Storage nodes responsible for the new transaction chain
    • Storage nodes responsible for the outputs of the transactions (transaction's movements addresses, recipients)
    • Storage nodes responsible for the Beacon Chain
    1. The storage for the new transaction chain will notify the validation nodes and the Welcome Node about the replication, and the Welcome Node will notify the client about it.
    - +The rotating algorithm sort a list of nodes based on:

    • Hash of transaction: Unpredictable until the transaction arrives
    • Daily nonce: Secret shared between the authorized nodes and renewed daily
    • Node public key: Last node public key

    The rotating election produces a proof, named: Proof of Election which can be verified by any other nodes to ensure the right election of nodes.

    From this algorithm, we get a list of nodes which can be filtered according to the constraints of the validation of the transaction.

    • P2P availability
    • Geographical distribution

    Workflow

    When a transaction is willing to be validated, its follows the given workflow:

    1. The transaction is received by any node (aka Welcome node)
    2. The Welcome Node determines the validation nodes from the Rotating Election algorithm and forward the transaction
    3. The validation nodes after receiving the transaction start some preliminary job to gather the context of the transaction:
      • Previous transaction
      • List of unspent outputs
    4. After the context building, the Cross Validation Nodes communicate to the Coordinator Node the list of storage nodes involved to gather this information.
    5. The Coordinator Node can build the Validation Stamp and compute the replication tree. Then it transmits them to the Cross Validation Nodes.
    6. The Cross Validation Nodes verify the content of the Validation Stamp, sign with or without inconsistencies, and send the Cross Validation Stamp to all the validation nodes involved.
    7. Once all the Cross Validation Stamps are received and if the Atomic Commitment is reached, the replication phase starts.
    8. Validation nodes send the transaction to the respective storage nodes:
    • Storage nodes responsible for the new transaction chain
    • Storage nodes responsible for the outputs of the transactions (transaction's movements addresses, recipients)
    • Storage nodes responsible for the Beacon Chain
    1. The storage for the new transaction chain will notify the validation nodes and the Welcome Node about the replication, and the Welcome Node will notify the client about it.
    + \ No newline at end of file diff --git a/learn/arch-consensus/proof-of-work/index.html b/learn/arch-consensus/proof-of-work/index.html index 99d53ea1b..2c74131ab 100644 --- a/learn/arch-consensus/proof-of-work/index.html +++ b/learn/arch-consensus/proof-of-work/index.html @@ -4,7 +4,7 @@ Proof of Work | Archethic - + @@ -12,8 +12,8 @@

    Proof of Work

    Others blockchains are using the concept of Proof of Work to ensure an unpredictable and pseudo random election of block validation (mining). But this technique requires a lot of energy consumption and can still be subject to exploit by HashRate control.

    Archethic Blockchain is using a new kind of Proof of Work to ensure the authenticity of the transaction origination devices. This allows the additional security requirements on transaction validation like:

    • prohibit any transaction even in case of key theft
    • allow user to consult their balance on any smartphone, but generate a transaction only on a trusted device
    • enable the organizers of an election to ensure biometric identity of a voter

    The Proof Of Work consists of finding the right public key associated to the Origin Signature of the transaction -from a list of public keys known by the network.

    This verification is performed during the Validation Stamp creation by the Coordinator Node and ensure the device is authorized to generate the transaction

    Just like any other actor into the system, devices will have their own transaction chain allowing them to update their keys.

    info

    Each origin device public keys are grouped by family which helps nodes to determine which set of keys, must be played to produce the Proof of Work. (i.e: software, usb, biometric).

    info

    Each origin device public key is encrypted and renewed by the network ensuring confidentiality and authenticity of devices.

    - +from a list of public keys known by the network.

    This verification is performed during the Validation Stamp creation by the Coordinator Node and ensure the device is authorized to generate the transaction

    Just like any other actor into the system, devices will have their own transaction chain allowing them to update their keys.

    info

    Each origin device public keys are grouped by family which helps nodes to determine which set of keys, must be played to produce the Proof of Work. (i.e: software, usb, biometric).

    info

    Each origin device public key is encrypted and renewed by the network ensuring confidentiality and authenticity of devices.

    + \ No newline at end of file diff --git a/learn/cryptography/hardware-root-of-trust/index.html b/learn/cryptography/hardware-root-of-trust/index.html index 0d7f01901..4ce2e67fc 100644 --- a/learn/cryptography/hardware-root-of-trust/index.html +++ b/learn/cryptography/hardware-root-of-trust/index.html @@ -4,13 +4,13 @@ Hardware Root of Trust | Archethic - +
    -

    Hardware Root of Trust

    What is hardware root of trust?

    A hardware root of trust is the foundation on which all secure operations of a computing system depend. It contains the keys used for cryptographic functions and enables a secure boot process. It is inherently trusted, and therefore must be secure by design. The most secure implementation of a root of trust is in hardware making it immune from malware attacks. As such, it can be a stand-alone security module or implemented as security module within a processor or system on chip (SoC) (source).

    Why hardware root of trust for Archethic?

    The ability to sustain the network even with more than 90% of malicious nodes effectively comes from 2 very important steps.

    • Identifying the malcious nodes effectively and preemptively.
    • Banish and effectively ban the malicious nodes.

    While the first part involves complex alogrithms implemented in the software layer, the second part involves uniquely tying node's identity to its hardware. This way, the malicious node, once identified and banished, cannot rejoin the network by changing its representive identity.

    This second part can be effectively achieved using the concept of hardware root of trust. With hardware root of trust, a unique keypair is injected in the into the wafer at the time of fabrication, thus tying the identity with this keypair. Once, this keypair is certified, the node cannot effectively use another keypair, once banished, thus eliminating identity forgery. This is, in principle, possible due to fact once a key-pair is injected, it cannot be changed for that particular hardware.

    Further, with this hardware root of trust, we can also ensure that no two nodes have the same public key tied to their identity. Thus, using hardware root of trust, contributes significantly to the increased miner security and makes the Archethic blockchain more resilient against bad actors.

    Implementation of Hardware Root of Trust (HRT)

    To implement hardware root of Trust, within Archethic ecosystem, two technologies have been used.

    • Trusted Platform Module (TPM 2.O)
    • Yubico Yubikey (PIV)

    Both of these technologies are based on Secure Element (SE) which are certified under Common Criteria (CC).

    Placement of HRT in Archethic Blockchain/Ecosystem

    Along with the initial software crypto library, the HRT is now the de-facto crypto engine for all the cryptographic operations carried out by Archethic miners. This includes signature (ECC), verification (ECC), encryption (AES), decryption (AES), hashing (SHA2/SHA3), etc.

    The Archethic node software delegates all the cryptography operations to the HRT libraries of TPM and Yubikey, which are specially developed for this purpose by Uniris.

    Given the latency constraints, a new hybrid mechanism have been developed involving usage of software crypto library and the HRT libraries (TPM/Yubikey). In this approach, the root of trust - crypto operation are still HRT based while the stem and branches will be software crypto library based.

    The advantages of this mechanism over pure HRT based mechanism is:

    • Possiblity of key aggregation
    • Freedom of using newer elliptic curves that are not yet supported by TPM/Yubikey.
    • Scalability without impacting security and performance.
    - +

    Hardware Root of Trust

    What is hardware root of trust?

    A hardware root of trust is the foundation on which all secure operations of a computing system depend. It contains the keys used for cryptographic functions and enables a secure boot process. It is inherently trusted, and therefore must be secure by design. The most secure implementation of a root of trust is in hardware making it immune from malware attacks. As such, it can be a stand-alone security module or implemented as security module within a processor or system on chip (SoC) (source).

    Why hardware root of trust for Archethic?

    The ability to sustain the network even with more than 90% of malicious nodes effectively comes from 2 very important steps.

    • Identifying the malcious nodes effectively and preemptively.
    • Banish and effectively ban the malicious nodes.

    While the first part involves complex alogrithms implemented in the software layer, the second part involves uniquely tying node's identity to its hardware. This way, the malicious node, once identified and banished, cannot rejoin the network by changing its representive identity.

    This second part can be effectively achieved using the concept of hardware root of trust. With hardware root of trust, a unique keypair is injected in the into the wafer at the time of fabrication, thus tying the identity with this keypair. Once, this keypair is certified, the node cannot effectively use another keypair, once banished, thus eliminating identity forgery. This is, in principle, possible due to fact once a key-pair is injected, it cannot be changed for that particular hardware.

    Further, with this hardware root of trust, we can also ensure that no two nodes have the same public key tied to their identity. Thus, using hardware root of trust, contributes significantly to the increased miner security and makes the Archethic blockchain more resilient against bad actors.

    Implementation of Hardware Root of Trust (HRT)

    To implement hardware root of Trust, within Archethic ecosystem, two technologies have been used.

    • Trusted Platform Module (TPM 2.O)
    • Yubico Yubikey (PIV)

    Both of these technologies are based on Secure Element (SE) which are certified under Common Criteria (CC).

    Placement of HRT in Archethic Blockchain/Ecosystem

    Along with the initial software crypto library, the HRT is now the de-facto crypto engine for all the cryptographic operations carried out by Archethic miners. This includes signature (ECC), verification (ECC), encryption (AES), decryption (AES), hashing (SHA2/SHA3), etc.

    The Archethic node software delegates all the cryptography operations to the HRT libraries of TPM and Yubikey, which are specially developed for this purpose by Uniris.

    Given the latency constraints, a new hybrid mechanism have been developed involving usage of software crypto library and the HRT libraries (TPM/Yubikey). In this approach, the root of trust - crypto operation are still HRT based while the stem and branches will be software crypto library based.

    The advantages of this mechanism over pure HRT based mechanism is:

    • Possiblity of key aggregation
    • Freedom of using newer elliptic curves that are not yet supported by TPM/Yubikey.
    • Scalability without impacting security and performance.
    + \ No newline at end of file diff --git a/learn/cryptography/index.html b/learn/cryptography/index.html index 7f9c36592..6881ed76d 100644 --- a/learn/cryptography/index.html +++ b/learn/cryptography/index.html @@ -4,7 +4,7 @@ Cryptography | Archethic - + @@ -14,8 +14,8 @@ Therefore, we don't have way to know which public key is used for a given transaction until a next one is coming.

    Origin Devices

    In order to build a transaction, we need to known multiple temporary private keys a key to provide a signature based on the previous private key and a signature based on an origin device private key. Origin device can be categorized in several families: software, hardware, biometrics. (See Proof of Work)

    So to be allowed to generate a transaction, the task of a quantum computer potentially capable of breaking private keys should be considerably more complex

    Adaptative

    In order to be backward compatible and to evolve the network as the cryptographic research progesses and to provide the choice of cryptographic algorithms to people, organizations or countries, Archethic is a versioned cryptography or metadata cryptography.

    While this word sounds complex, it's not hard to get it.

    Public keys

    Each public key is prepended by some additional bytes to inform some metadata or algorithm versioning. This includes:

    • a byte to indicate the elliptic curve used (i.e Ed25519, NIST, secp256k1)
    • a byte to indicate the origin of the generation (i.e software, hardware, ...)

    Hashes

    Like the public keys, cryptographic hashes are also versioned with a byte of to identify which algorithms is used (i.e SHA-256). -This information helps to determine the length of a hash and to perform some checks for the validition and for the encoding/decoding of the data.

    Transaction addresses

    While transaction addresses are often represented as hashes, Archethic provide a new level of information inside the transaction's address. A byte is prepending the hash with an information regarding the elliptic curve used to generate the public key related.

    You may be wondering why would we need this kind of information.

    So, in order to be really adaptative and based on the non-disclosure mechanism offered by the transaction chain, we need to know which elliptic was used for a previous transaction to be able to reproduce the previous public key.

    For example, imagine we have a transaction address encoded in that way, using a secp256k1 elliptic

    Hash algorithmDigest
    0101309F1C765967AC7
    info

    Reminder: a transaction address is the hash of the next public key

    For a new transaction coming after, if now, we want to use the ed25519 elliptic curve, we need to know which was used before. For this reason, we have two possibility:

    • keep an history of the previous transaction and curves (not really pratical and not scalable)
    • add a byte in front of each transaction's address to the curve used

    So with a new model:

    Curve typeHash algorithmDigest
    010101309F1C765967AC7

    Now we are able to compute the previous public key, with the curve secp256k1 and continues with new elliptic curve along the way.

    This will be even more pratical with On-Chain Decentralized Wallet (Keychain) to support multiple derived keys and custom algorithms.

    Default algorithms

    Except for hardware compatability issues (HSM, etc..), EdDSA signatures, Curve25519 and AES256 will be used by default on the network.

    - +This information helps to determine the length of a hash and to perform some checks for the validition and for the encoding/decoding of the data.

    Transaction addresses

    While transaction addresses are often represented as hashes, Archethic provide a new level of information inside the transaction's address. A byte is prepending the hash with an information regarding the elliptic curve used to generate the public key related.

    You may be wondering why would we need this kind of information.

    So, in order to be really adaptative and based on the non-disclosure mechanism offered by the transaction chain, we need to know which elliptic was used for a previous transaction to be able to reproduce the previous public key.

    For example, imagine we have a transaction address encoded in that way, using a secp256k1 elliptic

    Hash algorithmDigest
    0101309F1C765967AC7
    info

    Reminder: a transaction address is the hash of the next public key

    For a new transaction coming after, if now, we want to use the ed25519 elliptic curve, we need to know which was used before. For this reason, we have two possibility:

    • keep an history of the previous transaction and curves (not really pratical and not scalable)
    • add a byte in front of each transaction's address to the curve used

    So with a new model:

    Curve typeHash algorithmDigest
    010101309F1C765967AC7

    Now we are able to compute the previous public key, with the curve secp256k1 and continues with new elliptic curve along the way.

    This will be even more pratical with On-Chain Decentralized Wallet (Keychain) to support multiple derived keys and custom algorithms.

    Default algorithms

    Except for hardware compatability issues (HSM, etc..), EdDSA signatures, Curve25519 and AES256 will be used by default on the network.

    + \ No newline at end of file diff --git a/learn/decentralized-id/index.html b/learn/decentralized-id/index.html index f7e1f5f7e..906435c5e 100644 --- a/learn/decentralized-id/index.html +++ b/learn/decentralized-id/index.html @@ -4,14 +4,14 @@ Decentralized Identity | Archethic - +

    Decentralized Identity

    Identity

    Archethic was designed mainly to resolve one big issue that we are facing right now in the technology: provide an secure and easy way to identify ourselves.

    Decentralized identity avoids the need of entrusting one's identity to a third party, who might find itself in a conflict of interest and exploit our identity without our knowledge. -This person retains sole control of his/her identity, which is stored on a multitude of nodes ensuring its durability and integrity.

    Hence Archethic's decentralized identity is brought by the Archethic transaction chain which enables authorization, end to end encryption and upgradability in the decentralized network.

    The identity is or will be compatible and interoperable with others standard in the industry such as W3C DID, FIDO2, WebAuthn, etc.

    Password-less

    While digital identity is being standardized, we also designed a new way to connect and access this identy: password-less authentication.

    Embedded in the blockchain, on-chain wallet access allows anyone to identify themselves using several methods: biometric, hardware (usb, ledger), or event password. (We don't want to prevent passphrase to being use, just keep it as the lowest secure authentication method).

    For this reason we have created a Keychain, a new way to access our private keys for several services easily.

    The idea of an on-chain wallet, end to end encrypted wallet, makes the password-less possible in a near future.

    - +This person retains sole control of his/her identity, which is stored on a multitude of nodes ensuring its durability and integrity.

    Hence Archethic's decentralized identity is brought by the Archethic transaction chain which enables authorization, end to end encryption and upgradability in the decentralized network.

    The identity is or will be compatible and interoperable with others standard in the industry such as W3C DID, FIDO2, WebAuthn, etc.

    Password-less

    While digital identity is being standardized, we also designed a new way to connect and access this identy: password-less authentication.

    Embedded in the blockchain, on-chain wallet access allows anyone to identify themselves using several methods: biometric, hardware (usb, ledger), or event password. (We don't want to prevent passphrase to being use, just keep it as the lowest secure authentication method).

    For this reason we have created a Keychain, a new way to access our private keys for several services easily.

    The idea of an on-chain wallet, end to end encrypted wallet, makes the password-less possible in a near future.

    + \ No newline at end of file diff --git a/learn/decentralized-id/keychain/index.html b/learn/decentralized-id/keychain/index.html index 000dffdaf..8a3e24226 100644 --- a/learn/decentralized-id/keychain/index.html +++ b/learn/decentralized-id/keychain/index.html @@ -4,14 +4,14 @@ Keychain | Archethic - +

    Keychain

    Archethic's keychain is new concept to make wallet accessible, configurable and interoperable with several service providers and why not multi chains.

    It describes wallet which is stored encrypted on chain, as only you and the authorized access or person you allowed, to be able to decrypt and build transactions from it.

    Key generation

    Technically speaking, this wallet - also referenced as Decentralized Identity - is made up of randomly generated seed (root key) from which it's possible to generate all keys according to a path of derivation.

    So for any access to a service or an application, a key will be generated on the fly from the seed (root key) and the first public key associated with a service or an application.

    Thus allowing creating an infinite number of identities without even having to store related keys.

    End to end encryption

    While this wallet or keychain being on-chain, it still remains secure as no other party (at least non authorized) can access with service keys.

    This is possible as we are using end to end encryption and elliptic curve cryptography.

    Each keychain/wallet generated is embedded into a transaction encrypted using an AES key itself encrypted with a list of authorized keys or authenticated access (biometric, smartphone, USB, etc.)

    Once generated, we also create transactions for the access of this keychain. -So in other words, each access have its own transaction chain, where the keychain's location is encrypted as well.

    Then in order to retrieve or access your keychain, your authentication method should retrieve its transaction chain, then decrypt the keychain's location, download the keychain transaction and finally decrypt the keychain with the right AES key.

    This avoids disclosure of critical information and prevents unauthorized access.

    Standard compliance

    Archethic decentralized identity and keychain concepts is also compliant with industry standard in the field of online and digital identity.

    Then once created, the keychain embeds on-chain a representation of a W3C DID (Decentralized Identitifier) document which help the discovery of your key materials.

    It displays a JSON message with the list of public key you own and you allow other parties to interact with, such as your main Archethic public key or your Amazon public for example.

    This coupled with verifiable credentials and WebAuthn (Website authentication without password) make the complete usage of decentralized identity possible.

    Customization

    Because this wallet should be your digital identity security, we can customize the services and way the keys are generated.

    Each service in the keychain is joined with other customizable property:

    • derivation path: this will inform how the key will be generated. For example, the default one is m/650'/0/0 informing we are using Archethic derivation method (650 instead of the usual BIP44) and then the 0/0 indicates the first account and the first key of the chain.

    But nothing prevent to add something like: m/650'/Amazon/0 or m/650'/JohnDoeUCO@!/0

    • curve: this indicates during the derivate key which elliptic curve we want to use. (Ed25519, NIST, Bitcoin curve)

    • hash algorithm: this is used in the transaction address generation from the key produced, by default it's associated to sha256 but if you want higher security you could use something like sha3-512 o blake2b

    - +So in other words, each access have its own transaction chain, where the keychain's location is encrypted as well.

    Then in order to retrieve or access your keychain, your authentication method should retrieve its transaction chain, then decrypt the keychain's location, download the keychain transaction and finally decrypt the keychain with the right AES key.

    This avoids disclosure of critical information and prevents unauthorized access.

    Standard compliance

    Archethic decentralized identity and keychain concepts is also compliant with industry standard in the field of online and digital identity.

    Then once created, the keychain embeds on-chain a representation of a W3C DID (Decentralized Identitifier) document which help the discovery of your key materials.

    It displays a JSON message with the list of public key you own and you allow other parties to interact with, such as your main Archethic public key or your Amazon public for example.

    This coupled with verifiable credentials and WebAuthn (Website authentication without password) make the complete usage of decentralized identity possible.

    Customization

    Because this wallet should be your digital identity security, we can customize the services and way the keys are generated.

    Each service in the keychain is joined with other customizable property:

    • derivation path: this will inform how the key will be generated. For example, the default one is m/650'/0/0 informing we are using Archethic derivation method (650 instead of the usual BIP44) and then the 0/0 indicates the first account and the first key of the chain.

    But nothing prevent to add something like: m/650'/Amazon/0 or m/650'/JohnDoeUCO@!/0

    • curve: this indicates during the derivate key which elliptic curve we want to use. (Ed25519, NIST, Bitcoin curve)

    • hash algorithm: this is used in the transaction address generation from the key produced, by default it's associated to sha256 but if you want higher security you could use something like sha3-512 o blake2b

    + \ No newline at end of file diff --git a/learn/ecosystem/index.html b/learn/ecosystem/index.html index 5ee474673..1acf846f5 100644 --- a/learn/ecosystem/index.html +++ b/learn/ecosystem/index.html @@ -4,14 +4,14 @@ Ecosystem | Archethic - +

    Ecosystem

    The technical and functional parameters that make Archethic unique and ready for global adoption:

    Limitless network

    Archethic is outperforming the market standards with some key indicators:

    • a scalability >1 Million TPS
    • a validation time < 5 sec
    • capability to handle up to 90% maliciousness
    • 3.6 billion times less energy consumption than Bitcoin and 0.1% transaction fee
    Super Fast & Limitless

    Without impacting the global validation, the heuristic polymorphic replication provides a linear increase of the capacity (in storage and number of validations) allowing us to reach 1 MILLION TPS transactions per second.

    Safest

    Beyond just PoW (51%) or dBFT (66%), Archethic implements a consensus that can handle 90% of malicious miners and decentralized security based on the standards of aviation safety (fraud risk less than 10-9).

    Earth Friendly

    3.6 Billion times less energy consumption than Bitcoin by using the ARCH consensus based on heuristic miners' election and a polymorphic worldwide replication. Each transaction only needs 0.42w of energy.

    Unlimited applications

    Our blockchain platform aims to replace and to improve all current applications with a comprehensive and open ecosystem, allowing people to move from the trust imposed by centralized to a decentralized system.

    Decentralized Identity

    Your identity is your right. The security and threat issues that centralized systems pose helped us realize that self-sovereign identity is needed now more than ever.

    With Archethic, you can access your identity but no one owns it. -Have you ever wondered how many times your identity is exploited without your knowledge by centralized monopolies or even your favorite merchant site?

    The world wants you to believe that ownership doesn’t matter. We are here to change that narrative.

    Identity is not just about ownership but control and freedom.

    Archethic provides interoperable decentralized identity management using both the traditional key management as well as our crypto-biometrics key management solution.

    Enter the era of innovation and decentralized identity that is yours to own and control.

    Governance

    Archethic Foundation is a non-profit organization whose vision is the promotion of the Archethic Public Blockchain Protocol.

    It considers Archethic as a project – where a solid technical foundation is a key to winning the marathon race to global adoption. Its role is to sustainably deploy resources that are under control to support the long-term success of Archethic. This long-term success will only be possible with a vibrant decentralized ecosystem.

    To provide an inclusive, generously incentivized, and on-chain Governance, Archethic is based on those four pillars:

    • Decentralized Identity & Proof of Identity: An essential prerequisite for a human-inclusive governance in blockchain is the ability of the ecosystem to uniquely identify a person and to integrate that person into a relevant group.

    • Modifiable: Each algorithm can be updated through transactions allowing the network to version (git...) all updates, and also to force each update according to a specific governance (voting quorum, veto right...).

    • On-Chain Governance: The code used by the nodes is hosted by the Blockchain itself, so the network is certain that all the nodes will immediately apply the decided updates along with the ability to test the impact of a new feature in real-time.

    • Generous Incentives: Financing the work associated with updates, new features, and contributions is an essential element. The network has a reserve of one-third of the tokens for this purpose.

    Open enhancements

    We are an open-source and decentralized protocol which decision involves community votes and suggestions.

    In that sense, we have created Archethic Improvement Proposals (AEIPs) to offer opportunity to contribute in the project by proposing technical, informational and process-based enhancements.

    If you are interested, please take on the AEIP repository

    - +Have you ever wondered how many times your identity is exploited without your knowledge by centralized monopolies or even your favorite merchant site?

    The world wants you to believe that ownership doesn’t matter. We are here to change that narrative.

    Identity is not just about ownership but control and freedom.

    Archethic provides interoperable decentralized identity management using both the traditional key management as well as our crypto-biometrics key management solution.

    Enter the era of innovation and decentralized identity that is yours to own and control.

    Governance

    Archethic Foundation is a non-profit organization whose vision is the promotion of the Archethic Public Blockchain Protocol.

    It considers Archethic as a project – where a solid technical foundation is a key to winning the marathon race to global adoption. Its role is to sustainably deploy resources that are under control to support the long-term success of Archethic. This long-term success will only be possible with a vibrant decentralized ecosystem.

    To provide an inclusive, generously incentivized, and on-chain Governance, Archethic is based on those four pillars:

    • Decentralized Identity & Proof of Identity: An essential prerequisite for a human-inclusive governance in blockchain is the ability of the ecosystem to uniquely identify a person and to integrate that person into a relevant group.

    • Modifiable: Each algorithm can be updated through transactions allowing the network to version (git...) all updates, and also to force each update according to a specific governance (voting quorum, veto right...).

    • On-Chain Governance: The code used by the nodes is hosted by the Blockchain itself, so the network is certain that all the nodes will immediately apply the decided updates along with the ability to test the impact of a new feature in real-time.

    • Generous Incentives: Financing the work associated with updates, new features, and contributions is an essential element. The network has a reserve of one-third of the tokens for this purpose.

    Open enhancements

    We are an open-source and decentralized protocol which decision involves community votes and suggestions.

    In that sense, we have created Archethic Improvement Proposals (AEIPs) to offer opportunity to contribute in the project by proposing technical, informational and process-based enhancements.

    If you are interested, please take on the AEIP repository

    + \ No newline at end of file diff --git a/learn/fee/index.html b/learn/fee/index.html index 87e1df5d8..b1a69f08f 100644 --- a/learn/fee/index.html +++ b/learn/fee/index.html @@ -4,7 +4,7 @@ Transaction fees | Archethic - + @@ -15,8 +15,8 @@ To make it more fare, we apply a logarithmic progression, as the cost of replication might be reduced by the overlap of storage node election

  • Size of the transaction: each stored byte will cost 10-8 of the current UCO's price

  • Number of replicas

  • Smart contract execution fee:

    • Cost of resulting transaction: During transaction's validation, we simulate the output's transaction from a smart contract execution and apply a transaction fee calculation.
    • Complexity of the smart contract execution (Coming soon)
  • Overall formula:

    Transaction Fee = minimum fee (UCO's price)
    + fee for storage (size * nb of replicas)
    + fee for cost per recipients
    + fee for smart contract
    info

    Regular transfer of UCO to single person would cost around ~$0.01 (+/- additional information + nb of replicas)

    Important

    The $0.01 cost is static only as minimum fee for any transaction. Depending on the number of recipients, size, etc. the fee will increase, as it requires more work for the network

    Transaction's type particularities

    Network

    All the transactions with a transaction's type such as node, node shared secrets, oracle, beacon chain, etc. don't cost fee, as their intent is only for network management.

    Keychain

    Transactions to manage keychain for creation, updates or add new access don't cost fee, as this will be blockage to the adoption and there are just meant to ease the wallet management.

    Token

    Archethic supports a token mining through a given type of transaction token. Because during this step validation nodes have to perform some additional work to create new unspent transaction outputs (UTXOs) and deliver them (if multiple - for example in a collection creation).

    Hence an additional fee is computed based on the number of UTXO to create.

    • Fungible tokens: there will only cost the minimum fee: $0.01 - as it's like doing some UCO transfer

    • Non fungible tokens: These are tokens which each collection item have some unique properties and well identified. So a list of UTXO is created for each unique collection items. This creation will consume resources of computation, networking and storage.

    An additional fee is determined in that case through the following formula:

    (log10(number of utxos) + 1) * number of utxos * minimum fee

    So the transaction fee will gradually increase according of the number of unique token to create (= new UTXO)

    info

    Token definition allows to send at the time of minting to list of first recipients. -Hence, the rules to multiple transfers is applied to logarithmically increases the transaction's fee

    - +Hence, the rules to multiple transfers is applied to logarithmically increases the transaction's fee

    + \ No newline at end of file diff --git a/learn/governance/index.html b/learn/governance/index.html index 99802f90a..2cffcf7af 100644 --- a/learn/governance/index.html +++ b/learn/governance/index.html @@ -4,7 +4,7 @@ Governance | Archethic - + @@ -19,8 +19,8 @@ immediately apply the decided updates (via Elixir hot-reload modules and from the information stored in the "transaction content" area).

    The Archethic Blockchain is also equipped with the ability to test the impact of a new feature in real-time.

    Each update is stored in the form of a specific transaction chain allowing the network to version (git...) all updates, but also to force each update according to a specific governance (voting quorum, veto right...).

    Details

    Archethic Blockchain is using code proposals to have a way to upgrade current blockchain code in a automated and tested way.

    The idea behind the governance on Archethic blockchain is to be able to audit, test and apply code proposals in a automatic, indepedent and secure way across the deployed network.

    1. The process begins when a contributor creates a code proposal within a transaction. This code proposal will be checked to ensure that it follows the proper form (contains the correct fields for example).
    2. After the code proposal is verified, we start going over the details of the proposal and verifying that it contains correct version, valid upgrade terms and valid changes for example.
    3. When the code proposal is considered valid, and after gathering enough approvals from members of the technical council, we start the Continuous Integration phase. The role of this part is to check that the proposal passes the tests, security checks and code style.
    4. If the phase returns a success then we start the Continuous Deployment phase. The aim of this part is to test the proposal in a real world settings by deploying it into a testnet with various nodes performing multiple distinct functions.
    5. After the last phase succeeded, we launch the next phase which consists of upgrading the actual nodes to the new versions and finally rewarding all the actors that participated in the global process.

    Incentives

    Financing of the work associated with updates, new features, and contributions is an essential element. -The network has a reserve of one-third of the tokens (with progressive distribution constraints) for this purpose.

    - +The network has a reserve of one-third of the tokens (with progressive distribution constraints) for this purpose.

    + \ No newline at end of file diff --git a/learn/index.html b/learn/index.html index 8c2fb1c83..c2951a62a 100644 --- a/learn/index.html +++ b/learn/index.html @@ -4,15 +4,15 @@ Archethic introduction | Archethic - +

    Archethic introduction

    Archethic is the next generation of Blockchain which provides a truly decentralized limitless network, using TransactionChain and a new consensus named ARCH (Atomic Rotating Commitment Heuristic), to be the most secure and scalable decentralized network.


    Archethic's network is built to overcome the issues faced by other blockchain solutions:

    • Support of billions of transactions
    • Linear scalability
    • Low-energy consumption
    • Mass adoption
    • Low transaction fees

    This document aims to provide information and resources about the technology and the usage to build new decentralized applications on top of Archethic.

    Motivations

    Given the universal constraints both material and physical, billions of transactions cannot be integrated into a single branch of chained blocks.

    Similarly, regardless of the consensus method, it is not possible to ensure universal consensus on billions of transactions by polling all nodes of the network.

    Finally, the functioning of current distributed networks (P2P) is such that it is not possible to guarantee the freshness (consistency) of data on an asynchronous network, -unless the network is slowed down excessively by the calculation of the nonce of the block (PoW), as is the case with other blockchain networks.

    Innovations

    Archethic Blockchain solved this issues in the following way:

    TransactionChains
    Instead of chained blocks of transactions, each block is reduced to its atomic form.
    Therefore, each block contains only one transaction and each transaction will be chained in its own chain.
    Real Sharded Network
    Archethic is using sharding technology to ensure distribution of transaction processing and storage to provide a very high scalability.
    Next-generation consensus
    Archethic is using an universal consensus called ARCH based on Atomic Commitment using Heuristic Rotating election of a tiny set of validation nodes providing the highest level of security
    Optimized Replication and Self Repair
    Every transaction will be stored in a deterministic way on a set of nodes using a sharded storage layer.
    Thus, every node will autonomously know all the nodes for a given transaction and ease the network by only interrogating the closest elected nodes.
    Distributed network without bottleneck
    Archethic rebuilds the entire P2P layer to provide an efficient messaging between peers based on the Supervised Multicast using self discovery mechanism from incoming connection and network transactions.
    The system is able to maintain a qualified vision of the network while limiting the generation of requests.
    - +unless the network is slowed down excessively by the calculation of the nonce of the block (PoW), as is the case with other blockchain networks.

    Innovations

    Archethic Blockchain solved this issues in the following way:

    TransactionChains
    Instead of chained blocks of transactions, each block is reduced to its atomic form.
    Therefore, each block contains only one transaction and each transaction will be chained in its own chain.
    Real Sharded Network
    Archethic is using sharding technology to ensure distribution of transaction processing and storage to provide a very high scalability.
    Next-generation consensus
    Archethic is using an universal consensus called ARCH based on Atomic Commitment using Heuristic Rotating election of a tiny set of validation nodes providing the highest level of security
    Optimized Replication and Self Repair
    Every transaction will be stored in a deterministic way on a set of nodes using a sharded storage layer.
    Thus, every node will autonomously know all the nodes for a given transaction and ease the network by only interrogating the closest elected nodes.
    Distributed network without bottleneck
    Archethic rebuilds the entire P2P layer to provide an efficient messaging between peers based on the Supervised Multicast using self discovery mechanism from incoming connection and network transactions.
    The system is able to maintain a qualified vision of the network while limiting the generation of requests.
    + \ No newline at end of file diff --git a/learn/oracle-chain/index.html b/learn/oracle-chain/index.html index 49213dba9..0ab819642 100644 --- a/learn/oracle-chain/index.html +++ b/learn/oracle-chain/index.html @@ -4,13 +4,13 @@ OracleChain | Archethic - +
    -

    OracleChain

    Archethic Blockchain supports Off-Chain communication through a dedicated transaction chain called OracleChain.

    It aims to gather external data to be used inside the network or the smart contract layer.

    How is it work ?

    OracleChain behaves a bit like the BeaconChain except the transaction on the chain are generated every 10min but only when there is a new data updated.

    It's using a long-polling mechanism to get data from external sources and submit a transaction through ARCH Consensus.

    By using ARCH consensus, we ensure the atomic commitment of the data submitted and ensure validity of the information written into the transaction.

    Each node receives the new transaction from the OracleChain and can apply behaviors from this new data and notify smart contracts which depends on oracle updates.

    Services

    The list of services supported by the OracleChain:

    • UCO Price Feed: fetching UCO token price from Coingecko in USD/EUR currency and is used for the:
      • Transaction Fee algorithm
      • Auto reward of nodes which didn't receive enough mining rewards
    - +

    OracleChain

    Archethic Blockchain supports Off-Chain communication through a dedicated transaction chain called OracleChain.

    It aims to gather external data to be used inside the network or the smart contract layer.

    How is it work ?

    OracleChain behaves a bit like the BeaconChain except the transaction on the chain are generated every 10min but only when there is a new data updated.

    It's using a long-polling mechanism to get data from external sources and submit a transaction through ARCH Consensus.

    By using ARCH consensus, we ensure the atomic commitment of the data submitted and ensure validity of the information written into the transaction.

    Each node receives the new transaction from the OracleChain and can apply behaviors from this new data and notify smart contracts which depends on oracle updates.

    Services

    The list of services supported by the OracleChain:

    • UCO Price Feed: fetching UCO token price from Coingecko in USD/EUR currency and is used for the:
      • Transaction Fee algorithm
      • Auto reward of nodes which didn't receive enough mining rewards
    + \ No newline at end of file diff --git a/learn/p2p/bootstrapping/index.html b/learn/p2p/bootstrapping/index.html index dc85f855a..677a0db0e 100644 --- a/learn/p2p/bootstrapping/index.html +++ b/learn/p2p/bootstrapping/index.html @@ -4,15 +4,15 @@ Bootstrapping | Archethic - +

    Bootstrapping

    Archethic Blockchain by using Network Transaction and Supervised Multicast, requires some actions to be performed when a node is bootstrapping. These operations will ensure synchronization and P2P awareness.

    Joining

    When a node joins the network for the first time, it will request from a list of preconfigured nodes to reach (called "bootstrapping seeds"), the closest nodes from its position.

    Then, it will generate a first node transaction including as data: ip, port, protocol, reward address, key certificate (to ensure the key is coming from a secure element) -Once the network will attest and verify its transaction, the node will be able to start a SelfRepair process

    Updates

    When a node rejoins the network after some time, depending on if its previous data expired, it will generate a new transaction with the new information

    Synchronization

    Once the transaction is validated, the node will start by requesting the list of nodes.

    Then, it will start the Self-Repair sequence to get and synchronize the missing transactions and publish its end of sync to the network.

    By this way, the entire will know the existence the readiness of this node.

    - +Once the network will attest and verify its transaction, the node will be able to start a SelfRepair process

    Updates

    When a node rejoins the network after some time, depending on if its previous data expired, it will generate a new transaction with the new information

    Synchronization

    Once the transaction is validated, the node will start by requesting the list of nodes.

    Then, it will start the Self-Repair sequence to get and synchronize the missing transactions and publish its end of sync to the network.

    By this way, the entire will know the existence the readiness of this node.

    + \ No newline at end of file diff --git a/learn/p2p/index.html b/learn/p2p/index.html index e1f76b539..b87b65384 100644 --- a/learn/p2p/index.html +++ b/learn/p2p/index.html @@ -4,7 +4,7 @@ P2P | Archethic - + @@ -15,8 +15,8 @@ Then through this view, if the node is not considered as available it can pick another node to fetch an information, while data pushing will remain to check/recheck the availability over time.

    Network transaction chains

    Network transaction chains are a way to announce information to the network through consensus and replicated throw all the nodes.

    Other networks may leverage gossip for P2P information, Archethic uses transaction based node information for P2P connectivity and cryptography. So when a node joins/rejoins the network or when its IP/Port/Key changed, a new transaction is disseminated to all the nodes in the network after its validation.

    Then each node knows the entire list of nodes allowed to participate in the network through the use of Node transaction chains. To provide a high level of security and privacy, each connection is encrypted and authenticated by the first node public key known from the transaction chains.

    Beacons Chains

    BeaconChain is a sharded layer able to monitor the entire network and therefore able to snapshot and sample P2P availability/latencies to produce summaries each day to maintain a qualified vision of the network.

    The P2P availability can also be broadcasted to the network in a shorter time range (such a epoch/slot times) to provide a fresher node availability.

    Data propagation

    Archethic uses a sharding and distributed replication. -This property limits the number of information and messages sent through the network to reduce bandwidth and data traffic

    - +This property limits the number of information and messages sent through the network to reduce bandwidth and data traffic

    + \ No newline at end of file diff --git a/learn/p2p/self-repair/index.html b/learn/p2p/self-repair/index.html index ccd2dc0f2..c45776d06 100644 --- a/learn/p2p/self-repair/index.html +++ b/learn/p2p/self-repair/index.html @@ -4,15 +4,15 @@ Self Repair | Archethic - +

    Self Repair

    Archethic Blockchain is using a self-repair mechanism to be able to sync/re-sync missing transactions to be able to restore the state of a node.

    Because Archethic is using a multidimensional sharding, a node needs to execute a self-repair on multiple occasions, to ensure data availability and security:

    • When the node bootstraps
    • When a node goes offline
    • When the code and heuristic algorithms changes

    Identification

    To be able to determine which transactions are missing, for each cycle of repair, a date of last sync is persisted. -Therefore, we can decide from this date, the list of missing BeaconChain transactions to sync. (Reminder: BeaconChain summaries transactions across the entire network each day)

    The Self-Repair will then request BeaconChain storage pools to get the missing transactions from those missing days

    Synchronization

    Because we are using rotating election, nodes need to perform the Storage Node Election to determine if they need to store this transaction.

    In that case, we will get the list of existing storage nodes from the transaction's address to sync and request from the closest nodes the transaction to be replicated.

    Once finalized, a new last date of sync is persisted for the next cycle.

    - +Therefore, we can decide from this date, the list of missing BeaconChain transactions to sync. (Reminder: BeaconChain summaries transactions across the entire network each day)

    The Self-Repair will then request BeaconChain storage pools to get the missing transactions from those missing days

    Synchronization

    Because we are using rotating election, nodes need to perform the Storage Node Election to determine if they need to store this transaction.

    In that case, we will get the list of existing storage nodes from the transaction's address to sync and request from the closest nodes the transaction to be replicated.

    Once finalized, a new last date of sync is persisted for the next cycle.

    + \ No newline at end of file diff --git a/learn/patents/index.html b/learn/patents/index.html index f36e1152c..42345f12f 100644 --- a/learn/patents/index.html +++ b/learn/patents/index.html @@ -4,7 +4,7 @@ Patents | Archethic - + @@ -17,8 +17,8 @@ Ref: FR3049088 (A1)

    Method of securing transactions through knowledge and through cross-capabilities across a decentralized network

    Cryptographic process to cross-reference the knowledge and capabilities of the devices so as to prohibit any unauthorized operation, renew and permanently forfeit all cryptographic keys of all devices, remove correlation elements of time, value, and actors involved (privacy wheel), initialize cryptographic keys for a decentralized network without using an external device to the system, minimize the exposure of public keys related to private keys of the device, to reset a device and revoke a user.
    Ref: FR3049087 (A1)

    Biometrics

    Method of Biometric Authentication without disclosure through a decentralized network

    A method of not having to reveal all or part of the biometric measurements of an individual - integrating the compensations of the biometric measurements and lifelong morphological adaptability of an individual - never having to store any biometric data or any biometric measurement or a cryptographic key relating to an individual - making it possible to record several fingers of the same individual without disclosure and allowing operations without a network and without an individual having never used any device before.
    Ref: FR3049086 (A1)

    Biometric adaptive authentication device using ultrasound, photographs in visible light of contrast and infrared, without disclosure through a decentralized network

    A Biometric authentication device without any disclosure obtained from ultrasounds and photograph of the venous network of the finger, of the lateral fingerprint of the finger and configured to take a photograph of the infrared intrinsic emission of the finger, to check the heart rate and perform an analysis, Multireferential spectrometry of the finger.
    -Ref: FR3049090 (A1); CN108780501; CN109074478; US2019089539; WO2017162930

    Device for the reproducible positioning of at least one finger of an individual while taking the biometric measurements.

    Ref: FR3049093 (A1)

    Device for Biometric ultrasonic testing and vital signs verification.

    Ref: FR3049091 (A1)

    Device for biometric authentication and reliability of measurements by visible and infrared light photography, spectrometry, and differential analysis.

    Ref: FR3049092 (A1)

    Hardware

    Communication device for communicating with other devices and enabling nearby transactions and creating a mesh network.

    Ref: FR3049085 (A1)

    Mechanical and electrical coupling device to connect to a computer periphery without damaging the host system.

    Ref: FR3049121 (A1)

    - +Ref: FR3049090 (A1); CN108780501; CN109074478; US2019089539; WO2017162930

    Device for the reproducible positioning of at least one finger of an individual while taking the biometric measurements.

    Ref: FR3049093 (A1)

    Device for Biometric ultrasonic testing and vital signs verification.

    Ref: FR3049091 (A1)

    Device for biometric authentication and reliability of measurements by visible and infrared light photography, spectrometry, and differential analysis.

    Ref: FR3049092 (A1)

    Hardware

    Communication device for communicating with other devices and enabling nearby transactions and creating a mesh network.

    Ref: FR3049085 (A1)

    Mechanical and electrical coupling device to connect to a computer periphery without damaging the host system.

    Ref: FR3049121 (A1)

    + \ No newline at end of file diff --git a/learn/sharding/beacon-chain/explorer/index.html b/learn/sharding/beacon-chain/explorer/index.html index 4ebc46815..e5f7c9349 100644 --- a/learn/sharding/beacon-chain/explorer/index.html +++ b/learn/sharding/beacon-chain/explorer/index.html @@ -4,7 +4,7 @@ Beacon Explorer | Archethic - + @@ -14,8 +14,8 @@ One epoch may have many slots based on the slot timer interval. At each epoch a new transaction is emitted to have a summary of the entire epoch.

    Epoch interval may differ between mainnet, testnet or development. For instance mainnet epoch interval is daily while for testnet it is currently every minute, to ease integration and simulation of the network.

    So in this time interval beacon transactions are sealing the transaction in the current beacon summary transaction and replicates the transactions to other nodes.

    Subset

    Archethic Blockchain have 256 subsets, from 00 to FF [0-255] (two nibbles) as the byte capacity and the first byte of the transaction.

    Process to get transaction notifications

    Beacon Chain will store the transactions in slots and at the beacon summary time all those transactions are summarized and will be replicated among the beacon storage nodes which are elected as storage nodes.

    The day 1 will be the next beacon summary date from the first node enrollment date, which means, if the first node joins on 02/11/2021 10:00:00, the beacon chain date to pull will be 03/11/2021 00:00:00

    The explorer then exposes a pagination based on date, since we can easily reproduce the addresses through a deterministic address generation based on date.

    So from the day 1 until now, we can offer pagination over the beacon summaries.

    Because we are able to have a reproducible storage node election algorithm we can fetch data for a given date -for the right nodes.

    How to get transactions in realtime

    When a client is displaying the beacon chain explorer, a request is sent to the BeaconChain subset in charge of the current slot, to subscribe notifications about transactions replications.

    On the BeaconChain, once a transaction is replicated a subset will enlist it for the next slot to be persisted.

    Then we have the capability to notify subscribed clients (aka explorer nodes) the transaction completion.

    But because Archethic is using a rotating sharding implementation, the nodes involved for a given slot will change over the time, therefore behind the scenes the explorer will subscribe for each new slot to have the latest transactions in a soft real time fashion.

    - +for the right nodes.

    How to get transactions in realtime

    When a client is displaying the beacon chain explorer, a request is sent to the BeaconChain subset in charge of the current slot, to subscribe notifications about transactions replications.

    On the BeaconChain, once a transaction is replicated a subset will enlist it for the next slot to be persisted.

    Then we have the capability to notify subscribed clients (aka explorer nodes) the transaction completion.

    But because Archethic is using a rotating sharding implementation, the nodes involved for a given slot will change over the time, therefore behind the scenes the explorer will subscribe for each new slot to have the latest transactions in a soft real time fashion.

    + \ No newline at end of file diff --git a/learn/sharding/beacon-chain/index.html b/learn/sharding/beacon-chain/index.html index ac379cfad..9040e42c5 100644 --- a/learn/sharding/beacon-chain/index.html +++ b/learn/sharding/beacon-chain/index.html @@ -4,14 +4,14 @@ Beacon Chain | Archethic - +

    Beacon Chain

    Archethic Blockchain is using Sharding mechanism to ensure scalability in terms of storage and validation.

    But since there is no way in a well sharded and distributed network to know all the transaction in the system, -a Beacon Chain is used to keep a global synchronization and reference.

    Concepts

    Beacon Chain is used as tracer/marker of a global state but to face some scalability issue, Archethic Blockchain is using Sharding also for the Beacon Chain.

    Which means that the Beacon Chain is sharded and divided into subset defined by the transaction's address and a given date.

    For example: a transaction's address starting by 0F for a given day, will not be stored on the same subset as a transaction's address starting by 9F for the same day.

    Transaction tracking and timestamping

    Each time a transaction is validated, the validation nodes will send the transaction to the right Beacon Chain storage nodes, to transmit the address of the transaction and its timestamp.

    For each Beacon Chain interval, a new slot is generated referencing all the transaction during this interval.

    At the end of the day, a transaction chain is formed, and a last transaction is computed to generate a summary of the current day for a given subset.

    Because each transaction has its own storage nodes, Beacon Chains are balanced between the storage nodes to ensure a better scalability and distribution.

    Status and Network Coordinates of nodes

    Beacon Chains also contains network status of the nodes where the public key starts by the Beacon Chain subset.

    The storage nodes in each subset is in charge of:

    • checking the node availabilities
    • gathering networking information such as latency, bandwidth

    At the end of the day, a transaction is formed as well and a last transaction is computed to generate a summary of node availability and network coordinates

    Slot

    Each Beacon Chain is divided during the day into multiple slots, defined by interval (for instance every 10 min).

    Those slot contains the following information:

    • Transaction summaries: timestamping of the validated transactions
      • address: Transaction's address
      • timestamp: Transaction validation time
      • movements addresses: List of outputs addresses of the transaction
    • End of node synchronization: timestamping when a node finished its synchronization
      • node public key: Node's first public key
      • timestamp: Time when the node synchronization ended
    • P2P view:
      • availabilities: binary form of the availability of the sampled nodes for the given subset
      • network statistics: latency and bandwidth of the sampled nodes for the given subset
    - +a Beacon Chain is used to keep a global synchronization and reference.

    Concepts

    Beacon Chain is used as tracer/marker of a global state but to face some scalability issue, Archethic Blockchain is using Sharding also for the Beacon Chain.

    Which means that the Beacon Chain is sharded and divided into subset defined by the transaction's address and a given date.

    For example: a transaction's address starting by 0F for a given day, will not be stored on the same subset as a transaction's address starting by 9F for the same day.

    Transaction tracking and timestamping

    Each time a transaction is validated, the validation nodes will send the transaction to the right Beacon Chain storage nodes, to transmit the address of the transaction and its timestamp.

    For each Beacon Chain interval, a new slot is generated referencing all the transaction during this interval.

    At the end of the day, a transaction chain is formed, and a last transaction is computed to generate a summary of the current day for a given subset.

    Because each transaction has its own storage nodes, Beacon Chains are balanced between the storage nodes to ensure a better scalability and distribution.

    Status and Network Coordinates of nodes

    Beacon Chains also contains network status of the nodes where the public key starts by the Beacon Chain subset.

    The storage nodes in each subset is in charge of:

    • checking the node availabilities
    • gathering networking information such as latency, bandwidth

    At the end of the day, a transaction is formed as well and a last transaction is computed to generate a summary of node availability and network coordinates

    Slot

    Each Beacon Chain is divided during the day into multiple slots, defined by interval (for instance every 10 min).

    Those slot contains the following information:

    • Transaction summaries: timestamping of the validated transactions
      • address: Transaction's address
      • timestamp: Transaction validation time
      • movements addresses: List of outputs addresses of the transaction
    • End of node synchronization: timestamping when a node finished its synchronization
      • node public key: Node's first public key
      • timestamp: Time when the node synchronization ended
    • P2P view:
      • availabilities: binary form of the availability of the sampled nodes for the given subset
      • network statistics: latency and bandwidth of the sampled nodes for the given subset
    + \ No newline at end of file diff --git a/learn/sharding/index.html b/learn/sharding/index.html index db42ae379..0616ca707 100644 --- a/learn/sharding/index.html +++ b/learn/sharding/index.html @@ -4,7 +4,7 @@ Sharding | Archethic - + @@ -12,8 +12,8 @@

    Sharding

    To become an unlimited decentralized network, Archethic Blockchain is using a feature called Sharding, used to split processing and storage power to ensure a scalable system.

    Thanks to the Transaction Chain paradigm, transactions can be divided into chains, to ensure a concurrent processing as the opposite of traditional blockchains.

    Other new blockchain networks start to use Sharding but sometimes not in a complete form:

    • either storage
    • either validation

    Archethic Blockchain supports a complete sharding scheme for validation and for storage.

    Validation

    Each transaction is validated by a new set of rotating nodes.

    This ensures the distribution of validation and processing, to achieve a linear scalability and a high TPS.

    Because transaction are using the UTXO model, there is no reality out of the transaction, so the network is not subject to issues like:

    • cross shards synchronization
    • state channels communication

    To get the state of a transaction, only the transaction and the transaction inputs will be taken into consideration

    Storage

    After the validation of the transaction, validation nodes will be in charge to send the transaction to several pools of nodes:

    • Transaction Chain Storage Pool: All the transaction associated with the same chain must be replicated on the storage nodes associated with the new transaction's address.
    • I/O Storage Pool: Each validated transaction is replicated on the storage nodes associated with the addresses of the transaction input/outputs:
      • Transaction movements addresses storage pools
      • Node movements public key storage pools
      • Recipients addresses storage pools
    • Beacon Storage Pool: Each transaction address must be replicated on the storage nodes of the associated address subset See BeaconChain

    For each transaction, the Transaction Chain Storage Pool will change, assuring a completed distribution of nodes and the data replication. Nevertheless, nothing prevents the storage nodes to overlap within the chain.

    Rotating Election

    Like the validation nodes election, the storage nodes election is subject to a rotating election. -In other terms, each transaction will have its own shard and storage nodes.

    The storage node election is based on:

    • the address of the transaction
    • the storage nonce: a stable secret known by the network
    • the list of nodes

    This permits any node to perform this computation autonomously to reproduce this list and to request a transaction from the closest node.

    To ensure the best availability of the data, this list is refined by some criteria, such as:

    • P2P availability
    • Geographical distribution
    - +In other terms, each transaction will have its own shard and storage nodes.

    The storage node election is based on:

    • the address of the transaction
    • the storage nonce: a stable secret known by the network
    • the list of nodes

    This permits any node to perform this computation autonomously to reproduce this list and to request a transaction from the closest node.

    To ensure the best availability of the data, this list is refined by some criteria, such as:

    • P2P availability
    • Geographical distribution
    + \ No newline at end of file diff --git a/learn/sharding/replication-attestation/index.html b/learn/sharding/replication-attestation/index.html index 202039537..871df7116 100644 --- a/learn/sharding/replication-attestation/index.html +++ b/learn/sharding/replication-attestation/index.html @@ -4,7 +4,7 @@ Replication attestation | Archethic - + @@ -20,8 +20,8 @@ So for example, the replication can be splitted by levels: [ Main Chain ] -> [ Recipient Chains]

    Then the welcome node will be notified by a validation node with a given number of replica confirmations.

              V1
    / | \
    Chain: S1 S2 S3
    / | \
    Recipient Shards

    Client notifications

    When a transaction is submitted, the welcome node will transfer this transaction to the validation nodes and return a pending status to the client. The client would have to subscribe to notifications about the completion of the transaction. Once the transaction will be validated and the validation nodes by notifing the welcome will notify the clients asynchronously.

    Further improvements

    To reduce the overall size of the attestations and confirmations we can support signature aggregation or cosigning to embed a single transaction with a bitfield -to indicate which nodes signed the transaction replication, which will be signed over by a validation node.

    - +to indicate which nodes signed the transaction replication, which will be signed over by a validation node.

    + \ No newline at end of file diff --git a/learn/token/index.html b/learn/token/index.html index 4efcfe9ba..d16d75014 100644 --- a/learn/token/index.html +++ b/learn/token/index.html @@ -4,15 +4,15 @@ Tokens | Archethic - +

    Tokens

    Tokens is an important feature on Archethic. Nowadays, our world is transforming towards digitalisation and tokenization with new use cases and trends (royalties, collection, proof of ownerships, etc.)

    Archethic allows users to create and transaction with an unlimited-defined (custom) token natively.

    Native

    Archethic tokens are considered as native as for developers, there is no need to create smart contract to mint or transfer tokens.

    The transaction's structure supports - by design, asn extension of the ledger model (more than UCO-only transaction)

    All the layer of complexity have been removed to make them efficient and performant.

    Because of this, the transfer of tokens is as simple as a transfer of UCO (just UTXO), making it fast and cheap.

    Standardized

    Archethic's tokens are also unified through specifications to help implementers, developers and users to have a clear understanding of their definition.

    The complete specification is composed of many AEIPs:

    Creation

    In order to create a token, you have to:

    1. set the transaction's type to: token
    2. define in the transaction's content the token's json definition

    The JSON Schema is available on GitHub

    note

    As everything on Archethic, it is a good practice to create a new transaction chain for this token only.

    Fungible

    Example of a token that doesn't allow minting (may never be resupplied):

    {
    "supply": 100000000000, // 1000 tokens
    "decimals": 8, // 1 token == 10⁸
    "type": "fungible",
    "symbol": "TOKEN_SYMBOL",
    "name": "TOKEN_NAME",
    "properties": {"PROPERTY_NAME": "PROPERTY_VALUE"}
    }

    Example of a token that allows minting (may be resupplied later):

    {
    "allow_mint": true, // <------------
    "supply": 100000000000, // 100000 tokens
    "decimals": 6, // 1 token == 10⁶
    "type": "fungible",
    "symbol": "TOKEN_SYMBOL",
    "name": "TOKEN_NAME",
    "properties": {"PROPERTY_NAME": "PROPERTY_VALUE"}
    }

    Non-fungible

    There are 2 definitions for the NFT:

    1. either for a single token
    2. either for a collection of tokens
    info

    NFTs always have 8 decimals.

    Example of a NFT:

    {
    "supply": 100000000, // 1 token
    "type": "non-fungible",
    "name": "My NFT",
    "symbol": "MNFT",
    "properties": {
    "image": "base64 of the image",
    "description": "This is a NFT with an image"
    }
    }

    Example of a NFT Collection:

    {
    "supply": 300000000, // 3 tokens
    "type": "non-fungible",
    "name": "COLLETION NAME",
    "symbol": "COLLETION_SYMBOL",
    "properties": {"globalProperty": "value"},
    "collection": [
    {"image": "link"},
    {"image": "link"},
    {"image": "link"}
    ]
    }

    During the transaction validation, the miners will understand how to interpret this transaction and create the relative assets and UTXOs to make transfers possible right away.

    Resupply fungible tokens (AEIP-18)

    As mentioned above, fungible tokens may accept to be minted at any time. This transaction must be done in the same transaction chain of the referenced token (to prove ownership of the token) and it's type must be token.

    The JSON Schema is available on GitHub

    Here's an example of the token resupply transaction's content:

    {
    "aeip": [8, 18],
    "supply": 100000000000, // 1000 tokens if referenced token has decimals=8
    "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2"
    }

    Recipients (AEIP-19)

    When creating a token transaction (creation or resupply), it is also possible to specify a list of recipients that will receive all or some of the minted tokens. -In order to do so, a recipients field must specified in the transaction's content.

    Here's an example for a fungible token resupply:

    {
    "aeip": [8, 18, 19],
    "supply": 1000,
    "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2",
    "recipients": [
    {
    "to": "0000f1fd....",
    "amount": 100000000 // 1 token
    }
    ]
    }

    Here's another example for a non-fungible token creation:

    {
    "aeip": [2, 8, 19],
    "supply": 100000000, // 1 token
    "type": "non-fungible",
    "name": "My NFT",
    "symbol": "MNFT",
    "properties": {
    "image": "base64 of the image",
    "description": "This is a NFT with an image"
    },
    "recipients": [
    {
    "to": "0000f1fd....",
    "amount": 100000000 // 1 token
    }
    ]
    }

    Transfer

    Now that the tokens are created, there are few ways to move them around:

    1. Via a wallet (such as the Archethic Wallet)
    2. Via the send-transaction API
    3. Via a Smart Contract

    Example of a NFT transfer via the API:

    {
    "method": "send_transaction",
    "jsonrpc": "2.0",
    "id": 1,
    "params": {
    "transaction": {
    "version": 2,
    "type": "transfer",
    // [...]
    "data": {
    "ledger": {
    "token": {
    "transfers": [
    {
    "to": "0000ABCD...EF", // recipient's address
    "amount": 100000000, // 1 token
    "tokenAddress": "00001AC8...4F", // token definition address
    "tokenId": 1 // 1st token of the collection
    }
    ]
    }
    }
    }
    }
    }
    }

    Example of a transfer via a Smart Contract:

    Contract.add_token_transfer(token_address: 0x00001AC8...4F, to: 0x0000ABCD...EF, amount: 100000000)
    - +In order to do so, a recipients field must specified in the transaction's content.

    Here's an example for a fungible token resupply:

    {
    "aeip": [8, 18, 19],
    "supply": 1000,
    "token_reference": "0000C13373C96538B468CCDAB8F95FDC3744EBFA2CD36A81C3791B2A205705D9C3A2",
    "recipients": [
    {
    "to": "0000f1fd....",
    "amount": 100000000 // 1 token
    }
    ]
    }

    Here's another example for a non-fungible token creation:

    {
    "aeip": [2, 8, 19],
    "supply": 100000000, // 1 token
    "type": "non-fungible",
    "name": "My NFT",
    "symbol": "MNFT",
    "properties": {
    "image": "base64 of the image",
    "description": "This is a NFT with an image"
    },
    "recipients": [
    {
    "to": "0000f1fd....",
    "amount": 100000000 // 1 token
    }
    ]
    }

    Transfer

    Now that the tokens are created, there are few ways to move them around:

    1. Via a wallet (such as the Archethic Wallet)
    2. Via the send-transaction API
    3. Via a Smart Contract

    Example of a NFT transfer via the API:

    {
    "method": "send_transaction",
    "jsonrpc": "2.0",
    "id": 1,
    "params": {
    "transaction": {
    "version": 2,
    "type": "transfer",
    // [...]
    "data": {
    "ledger": {
    "token": {
    "transfers": [
    {
    "to": "0000ABCD...EF", // recipient's address
    "amount": 100000000, // 1 token
    "tokenAddress": "00001AC8...4F", // token definition address
    "tokenId": 1 // 1st token of the collection
    }
    ]
    }
    }
    }
    }
    }
    }

    Example of a transfer via a Smart Contract:

    Contract.add_token_transfer(token_address: 0x00001AC8...4F, to: 0x0000ABCD...EF, amount: 100000000)
    + \ No newline at end of file diff --git a/learn/transaction-chain/index.html b/learn/transaction-chain/index.html index 2ffb82ff9..a548c992f 100644 --- a/learn/transaction-chain/index.html +++ b/learn/transaction-chain/index.html @@ -4,7 +4,7 @@ Transaction chains | Archethic - + @@ -17,8 +17,8 @@ all unspent outputs will be reintegrated directly into the last transaction.

    Transaction structure

    Pending transaction

    A pending transaction is a transaction that does not have validation. Its structure is described as below:

    • Address: Corresponds to the hash of the public key of the transaction
    • Type: Defines the functional role of the transaction
    • Data: Contains all the operations to be performed (transfers, smart contracts, key authorizations, etc.)
      • Content: Can contain any kind of data. It can be used to host some data (HTML page, text, image, code, etc.)
      • Code: Defines the smart contract code to be interpreted by the node. More details on Smart-Contracts section.
      • Ledger: Defines several types of ledger operations
        • UCO: for the cryptocurrency transfers
        • Token: for non-financial transactions (intended for P2P uses - as tokens, loyalties, etc.)
      • Ownerships: Define some cryptographic authorizations and delegations
        • Authorized keys: list of authorized keys to be able to decrypt secrets
        • Secrets: Encrypted contents which can be decrypted by the authorized keys
      • Recipients: Additional recipients to target smart contracts
    • Previous public key: Corresponds to the public key associated to the previous transaction
    • Previous signature: Corresponds to the signature of the private key associated with the mentioned previous public key
    • Origin signature: Corresponds to the signature of the device or software that generated the transaction. This is used on the Proof Of Work mechanism and is a necessary condition of its validation.

    Validated transaction

    A validated transaction is a pending transaction completed with the validation proofs required by the Heuristic Algorithms. Those are defined by the given structure:

    • Validation Stamp: Stamp generated by the coordinator node
      • Proof of work: Corresponds to the public key matching the origin signature (More details on the Proof of Work section).
      • Proof of integrity: Proves the linkage of the previous transactions
      • Proof of election: Proves the validation node's rotating election and permit to reproduce it later (See Rotating Election)
      • Ledger operations: Contains all the ledger operations that will be taken into account by the network
        • fee: Transaction's fee
        • transaction movements: Issuer and resolved transaction movements
        • Unspent outputs: List of the remaining unspent outputs of the transaction chain after validation
      • Recipients: List of resolved addresses of the recipients
      • Errors: Any errors found in the validation (i.e. pending transaction error)
      • Signature: Cryptographic signature of the entire stamp by the coordinator's key
    • Cross validation stamps: To be considered as validated, the Validation Stamp must be joined as many Cross Validation Stamp as required by the Heuristic Algorithms. -They are signatures of the given validation stamp.
      • Node public key: Correspond to the node's public key which generate this Cross Validation Stamp's signature
      • Signature: Correspond to the signature of the Cross Validation Stamp for the mentioned public key
      • Inconsistencies: In case of inconsistencies or disagreement, it will contain a list of inconsistencies noted
    - +They are signatures of the given validation stamp.
    • Node public key: Correspond to the node's public key which generate this Cross Validation Stamp's signature
    • Signature: Correspond to the signature of the Cross Validation Stamp for the mentioned public key
    • Inconsistencies: In case of inconsistencies or disagreement, it will contain a list of inconsistencies noted
    + \ No newline at end of file diff --git a/learn/transaction-types/index.html b/learn/transaction-types/index.html index a3edd3cd0..c346e084c 100644 --- a/learn/transaction-types/index.html +++ b/learn/transaction-types/index.html @@ -4,13 +4,13 @@ Transaction types | Archethic - +
    -

    Transaction types

    The transaction's type is used to give a hint on what the transaction contains. Some types must respect some conditions.

    There are 2 categories of transaction types, the network transactions and the others:

    • network transactions: every nodes in the network must replicate them
    • others: only elected nodes must replicate them

    node (network)

    Only nodes are allowed to create a node transaction. It contains the information about a running node. It is sent when a node joins or when it changes its network configuration.

    node_shared_secrets (network)

    This daily (11:30pm) transaction provides a shared secret to all the running nodes.

    node_rewards (network)

    This daily (02:00am) transaction rewards the nodes by sending them some MUCOs based on their uptime.

    mint_rewards (network)

    This daily (02:00am) transaction mints some MUCOs. The amount minted is the same as the amount of UCO burned previous day.

    oracle (network)

    This transaction fetch some off-chain data and provides it in the content. It is sent every minutes. Please note that the oracle content may not always contain the same information. For example the UCO price is only sent if it changes.

    oracle_summary (network)

    This daily (00:00am) transaction aggregates all oracles transaction of the previous day.

    code_proposal (network)

    This transaction contains a diff (code change) to be applied on the nodes. It then need to be approved before it is applied.

    code_approval (network)

    This transaction is used to approve a code_proposal. Once a threshold is passed, the diff is applied to all nodes.

    origin (network)

    TODO

    keychain

    This transaction is created when creating a wallet. It is used to be able to receive/send UCOs and Tokens.

    keychain_access

    This transaction defines the authorization of a keychain.

    transfer

    This transaction contains either at least, one uco_transfer, one token_transfer or one recipient.

    token

    This transaction defines a Token.

    hosting

    This transaction is a AEWeb transaction. Read How it works for the details.

    data

    This transaction contains either a content or at least one ownership.

    contract

    This transaction contains a contract in the code or contract field.

    - +

    Transaction types

    The transaction's type is used to give a hint on what the transaction contains. Some types must respect some conditions.

    There are 2 categories of transaction types, the network transactions and the others:

    • network transactions: every nodes in the network must replicate them
    • others: only elected nodes must replicate them

    node (network)

    Only nodes are allowed to create a node transaction. It contains the information about a running node. It is sent when a node joins or when it changes its network configuration.

    node_shared_secrets (network)

    This daily (11:30pm) transaction provides a shared secret to all the running nodes.

    node_rewards (network)

    This daily (02:00am) transaction rewards the nodes by sending them some MUCOs based on their uptime.

    mint_rewards (network)

    This daily (02:00am) transaction mints some MUCOs. The amount minted is the same as the amount of UCO burned previous day.

    oracle (network)

    This transaction fetch some off-chain data and provides it in the content. It is sent every minutes. Please note that the oracle content may not always contain the same information. For example the UCO price is only sent if it changes.

    oracle_summary (network)

    This daily (00:00am) transaction aggregates all oracles transaction of the previous day.

    code_proposal (network)

    This transaction contains a diff (code change) to be applied on the nodes. It then need to be approved before it is applied.

    code_approval (network)

    This transaction is used to approve a code_proposal. Once a threshold is passed, the diff is applied to all nodes.

    origin (network)

    TODO

    keychain

    This transaction is created when creating a wallet. It is used to be able to receive/send UCOs and Tokens.

    keychain_access

    This transaction defines the authorization of a keychain.

    transfer

    This transaction contains either at least, one uco_transfer, one token_transfer or one recipient.

    token

    This transaction defines a Token.

    hosting

    This transaction is a AEWeb transaction. Read How it works for the details.

    data

    This transaction contains either a content or at least one ownership.

    contract

    This transaction contains a contract in the code or contract field.

    + \ No newline at end of file diff --git a/learn/uco/index.html b/learn/uco/index.html index dbe8c30bc..d03c6b9ef 100644 --- a/learn/uco/index.html +++ b/learn/uco/index.html @@ -4,13 +4,13 @@ UCO token | Archethic - +
    -

    UCO token

    Archethic, an open-source public blockchain is an infrastructure that is fuelled by its native cryptocurrency and should ideally scale to the sum of its individual nodes’ performance. It needs to be designed in such a way that it is a self-sustaining economy run by the people, for the people.

    UCO is based on the principle of controlled supply and creating demand.

    Fibonacci Golden Token Economics

    To achieve the objective of a self-sustaining crypto economy, the token distribution has been redefined. The transactions growth, users growth ans developers growth based on the set of commissioned applications has been analysed. The cost of running the nodes has been calculated and the adoption and incentivization has been designed to ensure the sustenance of nodes.


    - +

    UCO token

    Archethic, an open-source public blockchain is an infrastructure that is fuelled by its native cryptocurrency and should ideally scale to the sum of its individual nodes’ performance. It needs to be designed in such a way that it is a self-sustaining economy run by the people, for the people.

    UCO is based on the principle of controlled supply and creating demand.

    Fibonacci Golden Token Economics

    To achieve the objective of a self-sustaining crypto economy, the token distribution has been redefined. The transactions growth, users growth ans developers growth based on the set of commissioned applications has been analysed. The cost of running the nodes has been calculated and the adoption and incentivization has been designed to ensure the sustenance of nodes.


    + \ No newline at end of file diff --git a/markdown-page/index.html b/markdown-page/index.html index 7e0bc19ba..f9cf8fd84 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -4,13 +4,13 @@ Markdown page example | Archethic - +

    Markdown page example

    You don't need React to write simple standalone pages.

    - + \ No newline at end of file diff --git a/participate/DeFi/index.html b/participate/DeFi/index.html index 6014ceb8b..6f53d1e23 100644 --- a/participate/DeFi/index.html +++ b/participate/DeFi/index.html @@ -4,7 +4,7 @@ Tutoriel Archethic DeFi | Archethic - + @@ -38,8 +38,8 @@ color: #757575; } } -

    Welcome to the interactive guide for using the Archethic Bridge

    This tutorial will explain the following points:

    • Retrieve and create an Archethic Wallet
    • Withdraw your UCO ERC20 from a Centralized Exchange (CEx)
    • Transfer your UCO ERC20 to Archethic
    • Transfer your ETH to Polygon PoS
    • Transfer your WETH to Archethic


    - +

    Welcome to the interactive guide for using the Archethic Bridge

    This tutorial will explain the following points:

    • Retrieve and create an Archethic Wallet
    • Withdraw your UCO ERC20 from a Centralized Exchange (CEx)
    • Transfer your UCO ERC20 to Archethic
    • Transfer your ETH to Polygon PoS
    • Transfer your WETH to Archethic


    + \ No newline at end of file diff --git a/participate/aeweb/automation/index.html b/participate/aeweb/automation/index.html index e001e0d3a..629109849 100644 --- a/participate/aeweb/automation/index.html +++ b/participate/aeweb/automation/index.html @@ -4,14 +4,14 @@ Automate deployments | Archethic - +

    Automate deployments

    AEWeb's CLI is really simple to deploy websites from the command line and is handy on low-frequent deployment usage. -However, if you need to deploy often a website, the CLI might not be the great tool.

    To resolve this issue, we have planed a way to automate the deployment of your websites using Github's Actions.

    This is a simple automation that allow you to deploy to Archethic decentralized web hosting. Under the hood, it's running some part of the AEWeb CLI features.

    You can decide when your codebase will be deployed on Archethic, for instance foreach push or validated pull-request, or after each release.

    Check our Github Action to discover how to use it and leverage continuous deployment on Archethic.

    - +However, if you need to deploy often a website, the CLI might not be the great tool.

    To resolve this issue, we have planed a way to automate the deployment of your websites using Github's Actions.

    This is a simple automation that allow you to deploy to Archethic decentralized web hosting. Under the hood, it's running some part of the AEWeb CLI features.

    You can decide when your codebase will be deployed on Archethic, for instance foreach push or validated pull-request, or after each release.

    Check our Github Action to discover how to use it and leverage continuous deployment on Archethic.

    + \ No newline at end of file diff --git a/participate/aeweb/dns/index.html b/participate/aeweb/dns/index.html index 9979c9f45..ca2c43919 100644 --- a/participate/aeweb/dns/index.html +++ b/participate/aeweb/dns/index.html @@ -4,7 +4,7 @@ AEWeb - Domain names | Archethic - + @@ -17,8 +17,8 @@ and the key at: /etc/letsencrypt/live/example.com/privatekey.pem

    info

    We might notice the command gives the end of validity for the certificate. Before this date, you just have to reply the command to assert you still own the domain to get the new certificate and/or key.

    2. Add the certificate on chain

    You need to get the certificate and the private key associated.

    info

    The private key is necessary to sign/encrypt the webpages to match the certificates and be considered as valid. Only the nodes will have access to this key to allow the servers to use SSL communications.

    If you use the AEWeb CLI, we can perform this by running the command:

    aeweb deploy --seed XXX --path ./my_website --ssl-certificate ./cert.pem --ssl-key ./key.pem --endpoint https://mainnet.archethic.net 

    You're website transaction chain will then contains a Reference transaction with the ssl certificate in the content -and the private key end to end encrypted for the network.

    - +and the private key end to end encrypted for the network.

    + \ No newline at end of file diff --git a/participate/aeweb/how-it-works/index.html b/participate/aeweb/how-it-works/index.html index 1081ec903..26a3ee431 100644 --- a/participate/aeweb/how-it-works/index.html +++ b/participate/aeweb/how-it-works/index.html @@ -4,7 +4,7 @@ AEWeb - How it works | Archethic - + @@ -13,8 +13,8 @@ For example, you could have a website which contains: 3 files:

    • HTML page
    • Image
    • CSS

    3 transactions could be generated:

    1. Reference:
    {
    "aewebVersion": 1,
    "hashFunction": "sha-1",
    "metaData": {
    "index.html": {
    ...
    "addresses": ["0ac7fj..."]
    },
    "assets/app.css": {
    ...
    "addresses": ["0ac7fj..."]
    },
    "assets/image.jpg": {
    ...
    // image.jpg is too big to fit in a single data transaction
    "addresses": ["0ac7fj...", "1fb2ha..."]
    }
    }
    1. HTML + CSS + Image (chunked by 30%)
    // data transaction: "0ac7fj..."
    {
    "index.html": "...",
    "assets/app.css": "..."
    "assets/image.jpg": "..."
    }
    1. Image (remaining chunks)
    // data transaction: "1fb2ha..."
    {
    "assets/image.jpg": "..."
    }

    Content delivery

    On the other side, the transactions are validated and stored on the Archethic Blockchain. Any Archethic node exposes an API dedicated for the web hosting by AEWeb.

    This API takes a reference address as a parameter, and then proceeds to take the path of the file, just like any web server would do.

    https://mainnet.archethic.net/aeweb/0c19fd13......../image.jpg

    aeweb_CDN aeweb_CDN

    The welcome node will request the reference transaction download to its related shard. -It will parse the reference content and detect the transactions to download for the requested file.

    Once the file downloaded, the content will send back to the client and the browser will display the file.

    Because websites rendering is composed of multiple HTTP requests for each file, the browser will be able to understand the responses and display the website entirely - while leveraging a single reference on-chain.

    Good to know

    Once the website retrieved, the data will be cached locally. So, the next time the same person will visit the website, no data will be fetched again.

    This will be true until the website and the reference chain evolves.

    Website updates

    The first thing a node does when it receives an AEWeb request is to download the latest reference transaction from the chain. This behaviour allows a user to update its website and to keep the same URL.

    This means that updating a website is as simple as sending a new reference transaction!

    Website unpublication

    Introduced by AEIP-13, a website can be unpublished by sending the following reference transaction:

    {
    "aeip": [8, 13],
    "aewebVersion": 1,
    "publicationStatus": "UNPUBLISHED"
    }

    As long as this reference transaction is the latest, the nodes will not serve the website. An HTTP status code 410 is sent.

    Data is permanent

    The data from an unpublished website (and all previous version as a matter of fact) always remain in the blockchain. Here, we only disable the endpoint to access it.

    - +It will parse the reference content and detect the transactions to download for the requested file.

    Once the file downloaded, the content will send back to the client and the browser will display the file.

    Because websites rendering is composed of multiple HTTP requests for each file, the browser will be able to understand the responses and display the website entirely - while leveraging a single reference on-chain.

    Good to know

    Once the website retrieved, the data will be cached locally. So, the next time the same person will visit the website, no data will be fetched again.

    This will be true until the website and the reference chain evolves.

    Website updates

    The first thing a node does when it receives an AEWeb request is to download the latest reference transaction from the chain. This behaviour allows a user to update its website and to keep the same URL.

    This means that updating a website is as simple as sending a new reference transaction!

    Website unpublication

    Introduced by AEIP-13, a website can be unpublished by sending the following reference transaction:

    {
    "aeip": [8, 13],
    "aewebVersion": 1,
    "publicationStatus": "UNPUBLISHED"
    }

    As long as this reference transaction is the latest, the nodes will not serve the website. An HTTP status code 410 is sent.

    Data is permanent

    The data from an unpublished website (and all previous version as a matter of fact) always remain in the blockchain. Here, we only disable the endpoint to access it.

    + \ No newline at end of file diff --git a/participate/aeweb/index.html b/participate/aeweb/index.html index b3b346c55..cd70eed38 100644 --- a/participate/aeweb/index.html +++ b/participate/aeweb/index.html @@ -4,7 +4,7 @@ Archethic Web (aeHosting) | Archethic - + @@ -13,8 +13,8 @@ Existing solutions provides P2P and distributed hosting, but it can lack some important aspects such as ease-of-use, fully on-chain and trust.

    Easy

    Since its design, AEWeb motivation was to allow deployment of websites in just a few steps. No need to transform your website to match our solution. The website you developed and know will be the same one deployed.

    Your website will be transformed into transaction without additional work

    Security

    Web hosting solutions are either centralized and decentralized. The first doesn't provide security, as being centralized and subject to censorship. The latter would be quite often insecure because hosted out of the blockchain, like traditional P2P system (torrents, etc.)

    We wanted to make it completely secure and on-chain. Hence, each of the websites will first be validated across the Archethic network with the ARCH consensus capable to handle even 90% of maliciousness. While being validated, the websites will be stored and split geographically across the globe for highest data availability and security.

    Then each delivery of the websites will directly read the data on-chain to deliver to browsers and clients and provide a high confidence of the displayed website.

    Costly efficient

    There are rare situations when websites can be hosted on a blockchain due to its costs being based on virtual machine or high fee on a network.

    Transactions on Archethic are cost-efficient, so hosting websites on-chain will be a cheap solution regarding existing centralized and decentralized protocols.

    Because of the nature of Web3 and decentralized network, once a website is deployed there is no maintenance cost such as renting a VPS on a centralized system each month for a couple of bucks. As long as the website doesn't need to change, there will be not cost.

    info

    Example: a VPS can cost around $5/month to host any website. On Archethic a website of 1MB could cost around $2 (with UCO at: $1 and with 200 replicas).

    You might think it's more expensive, but the VPS was only a single instance. For the same data availability on centralized hosting you would have to pay around $500 + cost of maintenance

    Target

    Because of the Web is so wide, we have distinguished what AEWeb is capable to do or not.

    Website vs WebApp

    Website are usually not Web app.

    Websites are often simple static pages (HTML, stylesheets, images, scripts) to create beautiful frontend such a portal, showcase, corporate sites.

    On the other side Web app (Web Application) are far more complex and provide a complete suite of administration and back-office with authentication and databases.

    For now, AEWeb solution only provides website hosting. So any website which contains static files can be hosted on-chain.

    For more complex web applications, the front-end can still be hosted with AEWeb but the backend or business logic have to be managed in other ways, such as:

    • centralized servers and databases
    • blockchain dApp & smart contracts

    For instance, today a lot of web apps are leveraging SPA (Single Page Application) with front-end frameworks which are talking to external backend servers (fetching data, or authenticate users, etc.). -In that case, once the front-end page have been build from the SPA tooling, instead of being deployed on centralized servers, the generated static files could be hosted on Archethic through AEWeb tooling.

    Try out

    Graphical interface

    To test the user interface to deploy websites, visit the project by downloading the app to make webhosting no only for developers but for anyone which have static website to deploy.

    Developers

    You can try the CLI to help developers to test and deploy existing websites using terminal.

    Roadmap

    • Design
    • Blockchain integration
      • API
      • HTTPS & certificates
    • Command Line Interface (CLI)
      • File
      • Folder
      • Complete website
      • Keychain integration
    • User Interface
      • Web or Native application
    • Domain Name System (DNS)
      • DNSLink integration
      • Automation
    - +In that case, once the front-end page have been build from the SPA tooling, instead of being deployed on centralized servers, the generated static files could be hosted on Archethic through AEWeb tooling.

    Try out

    Graphical interface

    To test the user interface to deploy websites, visit the project by downloading the app to make webhosting no only for developers but for anyone which have static website to deploy.

    Developers

    You can try the CLI to help developers to test and deploy existing websites using terminal.

    Roadmap

    • Design
    • Blockchain integration
      • API
      • HTTPS & certificates
    • Command Line Interface (CLI)
      • File
      • Folder
      • Complete website
      • Keychain integration
    • User Interface
      • Web or Native application
    • Domain Name System (DNS)
      • DNSLink integration
      • Automation
    + \ No newline at end of file diff --git a/participate/aeweb/usage/aeweb-front/index.html b/participate/aeweb/usage/aeweb-front/index.html index cb7920304..28e8c96dd 100644 --- a/participate/aeweb/usage/aeweb-front/index.html +++ b/participate/aeweb/usage/aeweb-front/index.html @@ -4,7 +4,7 @@ AEWeb - Application Front End | Archethic - + @@ -13,8 +13,8 @@ Source code: https://github.com/archethic-foundation/aeweb

    This web application, built with Flutter, can be used to deploy and manage static sites to the Archethic Blockchain.

    tip

    Before reading the following tutorials, understand how AEWeb works.

    Tutorials

    Deploy for the first time my static site

    When you want to deploy a new static website on the Archethic blockchain, simply click on "New static site" in the main menu or the "+" icon in the section reserved for the list of your already deployed sites.

    A form will then appear, providing you with the necessary information for deploying your site:

    • The name of the website. This name will be used to declare the site in your decentralized keychain. (mandatory)
    • The archive file (with .zip, .7z, or .rar extension) containing the content of your website. (mandatory)
    • You can specify whether you want to include or exclude files listed in a .gitignore file. (optional)
    • The public certificate for your domain and the private key associated with the certificate. (optional)

    Once the required information is provided and the publication rules are accepted, you can initiate the deployment of your site.

    AEWeb will then prompt you, via your Archethic wallet, to:

    • Confirm the creation of the site in your keychain.
    • Sign the transaction(s) that contain the content of your site.
    • Sign the reference transaction of your site in the blockchain.
    • Then sign the transaction that allows transferring funds from your current account to the transaction chains that enable your site to function.

    The associated fees for the creation will be provided, and once accepted, your site will be permanently published on the blockchain.

    info

    In the beta version currently being deployed, a limit of 3 MB for a site has been set.


    Update my static site

    You can update your site by comparing the latest version hosted on the blockchain with a new archive containing your modifications. To do this, go to the context menu of the currently deployed version (the first row in the site versions table) and click on "Sync from local folder".

    After selecting the archive, the application will present you with information about the differences between the blockchain data and your archive. If you are satisfied with the information and agree to the publication rules, you can proceed with the update.

    The application will then prompt you to:

    • Sign, using your Archethic Wallet, the transaction(s) that contain the content of your new site version.
    • Sign the transaction to update the reference transaction of your site in the blockchain.
    • Then sign the transaction that allows transferring funds from your current account to the transaction chains that power your site.

    The associated fees for the update will be provided, and once accepted, a new version of your site will be published on the blockchain.

    Update the SSL certificate

    You can add and update the SSL certificate associated with your site. To do this, go to the context menu of the currently deployed version (the first row in the site versions table) and click on "Update the certificate".

    After selecting the public certificate for your domain and the private key associated with the certificate, the application will prompt you to:

    • Sign, using your Archethic Wallet, the transaction that will update the reference transaction of your site in the blockchain to include the certificate.
    • Then sign the transaction that allows transferring funds from your current account to the transaction chain of your site to update the reference transaction.

    The associated fees for the update will be provided, and once accepted, the certificate will be published in the content of the reference transaction, and the private key will be stored in a transaction secret.

    Unpublish my static site

    You can unpublish your static site to make it no longer accessible. -To do this, go to the context menu of the currently deployed version (the first row in the site versions table) and click on "Unpublish static site".

    After confirming your intention to unpublish your site, the application will prompt you to:

    • Sign, using your Archethic Wallet, the transaction that will update the reference transaction of your site in the blockchain to declare the unpublishing.
    • Then sign the transaction that allows transferring funds from your current account to the transaction chain of your site to update the reference transaction.

    The associated fees for unpublishing will be provided, and once accepted, the site will be unpublished.

    See my static site's informations

    For each online version and for each previous version of your website, you can access the following information by clicking on the three dots at the end of each line:

    • The file structure of your website that has been deployed on the blockchain.
    • The transactions containing the content of your files.

    Regarding the SSL certificate content, you can view it by clicking on the shield icon if you have deployed one. If the icon is red, it means that no certificate is available.

    Disconnect AEWeb

    When you want to disconnect the AEWeb application from your Archethic Wallet, simply click on the red disconnect button in the section describing the connected account and environment, and then confirm to return to the home screen.

    Roadmap

    • Add session management to the wallet to avoid entering the user's authentication for each transaction signature.
    • Enable direct management of the site's content from AEWeb instead of uploading an archive with all the contents.
    - +To do this, go to the context menu of the currently deployed version (the first row in the site versions table) and click on "Unpublish static site".

    After confirming your intention to unpublish your site, the application will prompt you to:

    • Sign, using your Archethic Wallet, the transaction that will update the reference transaction of your site in the blockchain to declare the unpublishing.
    • Then sign the transaction that allows transferring funds from your current account to the transaction chain of your site to update the reference transaction.

    The associated fees for unpublishing will be provided, and once accepted, the site will be unpublished.

    See my static site's informations

    For each online version and for each previous version of your website, you can access the following information by clicking on the three dots at the end of each line:

    • The file structure of your website that has been deployed on the blockchain.
    • The transactions containing the content of your files.

    Regarding the SSL certificate content, you can view it by clicking on the shield icon if you have deployed one. If the icon is red, it means that no certificate is available.

    Disconnect AEWeb

    When you want to disconnect the AEWeb application from your Archethic Wallet, simply click on the red disconnect button in the section describing the connected account and environment, and then confirm to return to the home screen.

    Roadmap

    • Add session management to the wallet to avoid entering the user's authentication for each transaction signature.
    • Enable direct management of the site's content from AEWeb instead of uploading an archive with all the contents.
    + \ No newline at end of file diff --git a/participate/aeweb/usage/cli/index.html b/participate/aeweb/usage/cli/index.html index 9ac38e257..6f23d725d 100644 --- a/participate/aeweb/usage/cli/index.html +++ b/participate/aeweb/usage/cli/index.html @@ -4,14 +4,14 @@ AEWeb - CLI | Archethic - +

    AEWeb CLI (Command-Line Interface)

    Repository: https://github.com/archethic-foundation/aeweb-cli

    This tool, built with NodeJS, can be used to deploy files and websites to the Archethic blockchain. -Once installed, as instructed in the README, the aeweb command is available.

    aeweb generate-address

    This command is used to generate an address from a seed.

    Use case

    You might use this on TestNet for example, to determine an address to use the faucet on.

    $ aeweb generate-address --seed myseedphrase --index 0
    00005da88a4adaf5b40c958a20db981bd168008e03efbb7fc9d35e11be182a0d3065

    aeweb deploy

    This command is used to deploy the content of a folder or a single file. It will create the transactions, estimate the fees and, after confirmation, will write the transactions on the network.

    Parameters:

    $ aeweb deploy --seed myseedphrase --endpoint https://testnet.archethic.net --path ./website
    Connecting to https://testnet.archethic.net
    Creating file structure and compress content...
    Creating transactions ...
    Estimating fees ...
    Total Fee Requirement would be : 2.58933391 UCO ( $ 0.23 | € 0.22), for 3 transactions.
    Do you want to continue. (yes/no) yes
    Sending 3 transactions...
    Transaction 1...
    Waiting transaction validation...
    Transaction confirmed !
    See transaction in explorer: https://testnet.archethic.net/explorer/transaction/000013c531...
    -----------
    Transaction 2...
    Waiting transaction validation...
    Transaction confirmed !
    See transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000a78a35...
    -----------
    Transaction 3...
    Waiting transaction validation...
    Transaction confirmed !
    See transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000f1126e...
    -----------
    Website is deployed at: https://testnet.archethic.net/api/web_hosting/00007d9167...
    There Can Be Only One

    There can only be a single deployment per seed. Which makes it possible to update it by running the exact same command. The endpoint of your deployment will not change.

    If you need to deploy another website, use another seed (and transfer funds to it via the Wallet app).

    - +Once installed, as instructed in the README, the aeweb command is available.

    aeweb generate-address

    This command is used to generate an address from a seed.

    Use case

    You might use this on TestNet for example, to determine an address to use the faucet on.

    $ aeweb generate-address --seed myseedphrase --index 0
    00005da88a4adaf5b40c958a20db981bd168008e03efbb7fc9d35e11be182a0d3065

    aeweb deploy

    This command is used to deploy the content of a folder or a single file. It will create the transactions, estimate the fees and, after confirmation, will write the transactions on the network.

    Parameters:

    $ aeweb deploy --seed myseedphrase --endpoint https://testnet.archethic.net --path ./website
    Connecting to https://testnet.archethic.net
    Creating file structure and compress content...
    Creating transactions ...
    Estimating fees ...
    Total Fee Requirement would be : 2.58933391 UCO ( $ 0.23 | € 0.22), for 3 transactions.
    Do you want to continue. (yes/no) yes
    Sending 3 transactions...
    Transaction 1...
    Waiting transaction validation...
    Transaction confirmed !
    See transaction in explorer: https://testnet.archethic.net/explorer/transaction/000013c531...
    -----------
    Transaction 2...
    Waiting transaction validation...
    Transaction confirmed !
    See transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000a78a35...
    -----------
    Transaction 3...
    Waiting transaction validation...
    Transaction confirmed !
    See transaction in explorer: https://testnet.archethic.net/explorer/transaction/0000f1126e...
    -----------
    Website is deployed at: https://testnet.archethic.net/api/web_hosting/00007d9167...
    There Can Be Only One

    There can only be a single deployment per seed. Which makes it possible to update it by running the exact same command. The endpoint of your deployment will not change.

    If you need to deploy another website, use another seed (and transfer funds to it via the Wallet app).

    + \ No newline at end of file diff --git a/participate/bridge/index.html b/participate/bridge/index.html index 1344b454e..00e4785f4 100644 --- a/participate/bridge/index.html +++ b/participate/bridge/index.html @@ -4,15 +4,15 @@ Archethic Bridge (aeBridge) | Archethic - +

    Archethic Bridge (aeBridge)

    Archethic has developed a decentralized and P2P bridge to facilitate the exchange of your UCO ERC20 tokens with other blockchains (e.g., Ethereum, Polygon, BSC) and to allow for a simple and secure exchange of assets in the most atomic way.

    Key concepts

    HTLC (Hash Time Lock Contract)

    Archethic's bridge relies on atomic swap technology to securely exchange assets in a peer-to-peer and cryptographic manner without intermediaries. It also allows for the reversal and refund of assets after a specified lock time period.

    This involves the use of specific contracts known as Hash Time Lock Contracts (HTLC), which lock your funds until a secret is revealed (similar to a secret box) or after a lock time period to provide refund capabilities. These contracts must be deployed on both chains involved in the swap.

    Both chains must be ready to transfer assets by revealing the private part of the secret encoded in the contracts, which enables the exchange. Once the secret is revealed on one chain, the other can proceed as the secret is now public.

    This atomic swap method ensures secure transfers between chains without a central pool holding all the assets. Instead, it relies on hard-coded recipients and rules within a one-time contract.

    Archethic's cross-chain verification

    While conventional atomic swaps rely on HTLC techniques for security through peer-to-peer and cryptographic approaches, Archethic enhances its atomic swap protocol by enabling data retrieval outside of the blockchain. This enhancement makes the process completely decentralized and strengthens the security model.

    Archethic's nodes can fetch transaction status on other chains, such as EVM blockchains, to establish the status of a swap with a strong consensus. Combining HTLC and Archethic's specific capabilities provides a high level of trust in the origin and reveal capabilities of any swap, relying on cryptography and cross-chain data retrieval.

    EVM to Archethic

    The process begins with a secret held by a client (in this case, the bridge's dApp) and its hash, which forms a lock upon revealing the secret.

    The user deploys an HTLC smart contract on the EVM blockchain through the bridge's EVM pool.

    This pool ensures the capacity of the swap's initiator, lock time period, and the recipient's address for the assets to be bridged.

    Similarly, the user must deploy a contract on Archethic under the same conditions while specifying the recipient wallet to receive the funds.

    Subsequently, a request is made to the Archethic's pool (which holds the wrapped tokens) to fill the HTLC.

    Because the tokens are wrapped on Archethic, the pool will mint new tokens after cross-chain verification (see Archethic's specific).

    The remaining step involves revealing the secret on EVM to transfer the funds to the bridge's recipient wallet and replicating this process on Archethic, ensuring that the action is executed on EVM blockchains through off-chain requests.

    This results in both counterparties receiving their funds, achieving parity in the bridged assets.

    Archethic to EVM

    To exchange assets from Archethic to EVM, the process follows a similar pattern but in reverse order. -However, a new feature is introduced in the smart contracts. Since EVM cannot request information outside the blockchain, steps are taken to ensure that an action has been performed on Archethic's side. Cryptography is employed to assert the action through a signature and provide non-repudiation proof for the Archethic's pool.

    In this scenario, the user creates an HTLC contract on Archethic and funds it with tokens (wrapped or native), specifying the recipient's wallet provided by Archethic's pool, without initially revealing the secret and its lock.

    The user then requests the Archethic's pool to obtain a secret, its hash, and a signature confirming the action's completion on Archethic's side.

    During this process, the Archethic's pool contacts the HTLC to update its conditions for the secret's reveal by inserting the generated secret's hash from the pool.

    On the other side, the user can request the EVM pool to create and provision an HTLC contract based on the proof provided by Archethic's pool regarding an existing and funded HTLC.

    The EVM pool can now create and transfer funds to this new contract.

    The remaining step is to reveal the secret. The user asks the Archethic's pool to reveal the secret within the HTLC and provide a signature for this action. At this point, the locked tokens will be burnt.

    With the secret revealed, the user can also reveal the secret on the EVM HTLC and provide the signature from Archethic's pool, unlocking the assets to the user's wallet registered within the contract.

    This process ensures that both counterparties receive their funds, achieving parity in the bridged assets.

    How to access

    This document aims to provide a comprehensive guide to using aeBridge, including an introduction to the necessary concepts, step-by-step guides for interacting with the platform, and technical references for deeper integration and development purposes.

    Audit of EVM Smart Contracts

    Our EVM smart contracts have been audited by Hacken, a recognized leader in blockchain security. The full audit report is available here.

    FAQ

    For further information, please refer to the FAQ.

    - +However, a new feature is introduced in the smart contracts. Since EVM cannot request information outside the blockchain, steps are taken to ensure that an action has been performed on Archethic's side. Cryptography is employed to assert the action through a signature and provide non-repudiation proof for the Archethic's pool.

    In this scenario, the user creates an HTLC contract on Archethic and funds it with tokens (wrapped or native), specifying the recipient's wallet provided by Archethic's pool, without initially revealing the secret and its lock.

    The user then requests the Archethic's pool to obtain a secret, its hash, and a signature confirming the action's completion on Archethic's side.

    During this process, the Archethic's pool contacts the HTLC to update its conditions for the secret's reveal by inserting the generated secret's hash from the pool.

    On the other side, the user can request the EVM pool to create and provision an HTLC contract based on the proof provided by Archethic's pool regarding an existing and funded HTLC.

    The EVM pool can now create and transfer funds to this new contract.

    The remaining step is to reveal the secret. The user asks the Archethic's pool to reveal the secret within the HTLC and provide a signature for this action. At this point, the locked tokens will be burnt.

    With the secret revealed, the user can also reveal the secret on the EVM HTLC and provide the signature from Archethic's pool, unlocking the assets to the user's wallet registered within the contract.

    This process ensures that both counterparties receive their funds, achieving parity in the bridged assets.

    How to access

    This document aims to provide a comprehensive guide to using aeBridge, including an introduction to the necessary concepts, step-by-step guides for interacting with the platform, and technical references for deeper integration and development purposes.

    Audit of EVM Smart Contracts

    Our EVM smart contracts have been audited by Hacken, a recognized leader in blockchain security. The full audit report is available here.

    FAQ

    For further information, please refer to the FAQ.

    + \ No newline at end of file diff --git a/participate/bridge/usage/index.html b/participate/bridge/usage/index.html index 6e9963b50..b18583756 100644 --- a/participate/bridge/usage/index.html +++ b/participate/bridge/usage/index.html @@ -4,7 +4,7 @@ aeBridge - Usage | Archethic - + @@ -13,8 +13,8 @@ Source code: https://github.com/archethic-foundation/bridge and https://github.com/archethic-foundation/bridge-contracts

    This Flutter-built web application enables seamless asset deposits and withdrawals.

    tip

    Before proceeding, familiarize yourself with Archethic's Bridge Key Concepts.

    Welcome Screen

    Upon accessing aeBridge, you are greeted with a welcome screen. To begin, click on the 'Bridge' button.

    Welcome Screen Bridge Button

    Application Menu

    A right-hand header menu provides links to essential information and application documentation. It includes an option to send logs to Archethic for troubleshooting purposes.

    Menu

    Feature Access

    The left-side menu grants access to various bridge functionalities:

    • Bridging between Archethic and EVM blockchains
    • Viewing local history, resume or refund options, and transaction logs
    • Refunding

    Menu Features

    Bridging Your Assets

    The bridge process involves multiple steps:

    1. Inputting information to initiate the transfer
    2. Confirming the entered details
    3. Executing the transfer, with progress tracking and transaction signing in both EVM and Archethic wallets

    Step 1: Initiating Transfer

    info

    Transfer steps remain consistent across all blockchain types and directions.

    Firstly, select the originating and target blockchains.

    Blockchain Selection

    caution

    Ensure both Archethic and your chosen EVM wallets are connected before blockchain selection. Refer to the FAQ for connectivity issues.

    tip

    Select an EVM blockchain as the source automatically sets Archethic as the target.

    Post-selection, a field appears for token selection from available options.

    Token Selection

    Next, enter the following information:

    • The destination address that will receive the bridged tokens (by default, the connected wallet address is filled in)
    • The amount you wish to bridge (before fees are deducted).

    Amount fill

    Step 2: Confirming Details

    On the confirmation screen, review:

    • Entered information summary
    • Fee details
    • Post-fee token quantity

    Confirmation Screen

    Step 3: Executing Transfer

    A transfer tracking popup guides you through the process, prompting for transaction confirmations in your wallets.

    Transfer Tracking

    note

    Transaction signing methods vary per EVM wallet.

    In the Archethic wallet, confirmation prompts automatically appear when necessary.

    Archethic Wallet Confirmation

    After some validations and a few seconds of waiting, a message will inform you that the transfer has completed successfully, and the bridged amount received in your wallet will be displayed

    Archethic Wallet Confirmation

    caution

    The transfer process halts if a transaction is declined or due to insufficient funds. However, it can be resumed later.

    Transfer Resumption

    note

    HTLC contract addresses are provided for ongoing process tracking.

    HTLC Information

    Local History and Management

    View transfer history, successful or otherwise, through the application's local history feature.

    caution

    This history is local to your device. Access is not available on other devices. And if you clear your browser's cache, this list will be emptied.

    History List

    Options Include:

    • Deleting local history
    • Filtering history entries

    History Filters

    Transfer Status Actions:

    • Remove transfers from local history
    • Resume interrupted transfers
    • Refund for interrupted transfers
    • Access transfer technical details for Archethic team analysis

    History Options

    Refund Process

    Retrieve your funds through the refund feature.

    Refund Form

    To retrieve your funds, you must wait 2 hours for the tokens to be released. -Additionally, you must always use the address of the source blockchain.

    Refund Process

    Upon wallet connection and address confirmation, refund eligibility and amount are displayed. Validate the refund to receive your funds, minus transaction fees.

    Refund Available

    Once the refund has been processed, you can find your funds in your wallet.

    Refund Ok


    - +Additionally, you must always use the address of the source blockchain.

    Refund Process

    Upon wallet connection and address confirmation, refund eligibility and amount are displayed. Validate the refund to receive your funds, minus transaction fees.

    Refund Available

    Once the refund has been processed, you can find your funds in your wallet.

    Refund Ok


    + \ No newline at end of file diff --git a/participate/cli/index.html b/participate/cli/index.html index 2ede39fce..edceff172 100644 --- a/participate/cli/index.html +++ b/participate/cli/index.html @@ -4,7 +4,7 @@ Archethic's CLI | Archethic - + @@ -14,8 +14,8 @@ UCO transfer tab

    You will then have a list of configured UCO transfers. Using the up and down keys, you can highlight a configured transfer and delete it by typing d.

    UCO transfer tab 2

    Token transfers

    The same logic applies to the token transfers tab. But you need to specify a token address and an token id.

    Token transfers tab

    Recipients

    The same logic also applies to the recipients tab which targets smart contract executions.

    Recipients tab

    Ownerships

    The ownership tab contains the information about the access you give to execute your transaction.

    info

    This will be needed if you want to create a smart contract.

    You can define several ownerships. Each ownership has

    • a secret
    • a list of authorization keys that get access to the secret.

    At least one of the ownership must have the seed as a secret and the storage nouce public key as an authorization key.

    You can press the Load Storage Nounce Public Key to automatically set the authorization key with the value of the storage nonce public key. (ie. for smart contract's creation key delegation)

    info

    You must have selected an endpoint in the main tab in order to load the storage nounce public key of the network you target.

    Ownerships tab

    Ownerhips tab 2

    Pressing the Add authorization key allows you to add a new authorization key that will get access to the secret. Once added to the list of autorized keys, you can highlight a key and press d to delete it.

    Once you’re done with the configuration, you can press the Add button to add the ownership configuration to the transaction.

    Ownerships tab 3

    And here also, if you want to delete a configured ownership, you can highlight it and press d.

    Content

    The content tab allows you to set the content of the transaction. Start typing to enter the edit mode of this tab and press esc if you want to exit the edit mode and navigate to another tab.

    Content tab

    Smart contract

    The smart contract tab allows you to set the smart contract of the transaction. Start typing to enter the edit mode of this tab and press esc if you want to exit the edit mode and navigate to another tab.

    Smart contract tab

    Sending the transaction

    When you’re done configuring the transaction, go back to the main tab and press the Add button.

    Sending transaction

    Keychain management

    The keychain management menu allows you to

    • create a keychain with a given seed
    • access a keychain
    • add and remove services from a keychain
    • send a keychain transaction for a specific service

    In any cases you will need to start by selecting the endpoint you want, that will automatically feed the URL of the endpoint. Then specify your access seed.

    Keychain management

    Creating a keychain

    If you press the Create keychain button, a new keychain will be created. And the seed you provided will be used to access it.

    Create a keychain

    Accessing a keychain

    Pressing the Access keychain button will give you access to the list of services associated with your keychain (one default uco service has been created). -Access a keychain

    Adding / removing a service

    If you go down to the service name field you can type a new service name and a default derivation path will be created. If you then press the Create Service, your new service will be displayed in the list of services.

    Add a service

    If you highlight a service and press d the service will be deleted.

    Create a transaction for a service

    If you highlight a specific service and press enter the highlighted will be selected.

    Create a transaction for a service

    If you then press the Create Transaction for Service button, you will get a new menu to create a transaction for the selected service.

    Main tab of create keychain transaction

    The mechanism to configure a keychain transaction for a service is the same as the one for a transaction (described above). Only a few configuration are not possible (like the endpoint, the seed, the index and the elliptic curve).

    CLI - Archethic Command Line Interpreter

    It is also possible to call the archethic cli tool using the command line.

    For details of available commands, you can

    • consult the readme of the corresponding github project.
    • display help with the command --help.

    Help command

    Contribution

    If you like this product and wish to contribute to its development, please visit our Github Page

    We are welcoming contributions in any forms (code, issues, documentation, ideas, question, etc.)

    - +Access a keychain

    Adding / removing a service

    If you go down to the service name field you can type a new service name and a default derivation path will be created. If you then press the Create Service, your new service will be displayed in the list of services.

    Add a service

    If you highlight a service and press d the service will be deleted.

    Create a transaction for a service

    If you highlight a specific service and press enter the highlighted will be selected.

    Create a transaction for a service

    If you then press the Create Transaction for Service button, you will get a new menu to create a transaction for the selected service.

    Main tab of create keychain transaction

    The mechanism to configure a keychain transaction for a service is the same as the one for a transaction (described above). Only a few configuration are not possible (like the endpoint, the seed, the index and the elliptic curve).

    CLI - Archethic Command Line Interpreter

    It is also possible to call the archethic cli tool using the command line.

    For details of available commands, you can

    • consult the readme of the corresponding github project.
    • display help with the command --help.

    Help command

    Contribution

    If you like this product and wish to contribute to its development, please visit our Github Page

    We are welcoming contributions in any forms (code, issues, documentation, ideas, question, etc.)

    + \ No newline at end of file diff --git a/participate/dex/Core Concepts/core_concepts_1/index.html b/participate/dex/Core Concepts/core_concepts_1/index.html index d1f6c1372..c8522c335 100644 --- a/participate/dex/Core Concepts/core_concepts_1/index.html +++ b/participate/dex/Core Concepts/core_concepts_1/index.html @@ -4,13 +4,13 @@ Swaps, Liquidity, Farming | Archethic - +
    -

    Swaps, Liquidity Pools, Farming

    Swaps

    Swaps on aeSwap allow users to exchange one token for another through an automated market maker (AMM) model. This process involves selecting tokens to swap, reviewing transaction details such as fees, price impact, and minimum received, and executing the swap. The AMM provides liquidity from various pools, ensuring traders can execute swaps instantly without needing a direct counterparty.

    Liquidity Pools

    Liquidity pools are the cornerstone of aeSwap, enabling the AMM mechanism. Users can add liquidity by depositing an equivalent value of two tokens, creating a market for those tokens to be traded. In return, liquidity providers receive LP (Liquidity Provider) tokens, representing their share of the pool and entitlement to a portion of the trading fees.

    Farming

    Yield farming on aeSwap rewards users for providing liquidity to selected pools. By depositing LP tokens into a farming contract, users can earn additional rewards, typically in the platform's native token. This incentivizes the provision of liquidity, contributing to the depth and stability of the market.

    - +

    Swaps, Liquidity Pools, Farming

    Swaps

    Swaps on aeSwap allow users to exchange one token for another through an automated market maker (AMM) model. This process involves selecting tokens to swap, reviewing transaction details such as fees, price impact, and minimum received, and executing the swap. The AMM provides liquidity from various pools, ensuring traders can execute swaps instantly without needing a direct counterparty.

    Liquidity Pools

    Liquidity pools are the cornerstone of aeSwap, enabling the AMM mechanism. Users can add liquidity by depositing an equivalent value of two tokens, creating a market for those tokens to be traded. In return, liquidity providers receive LP (Liquidity Provider) tokens, representing their share of the pool and entitlement to a portion of the trading fees.

    Farming

    Yield farming on aeSwap rewards users for providing liquidity to selected pools. By depositing LP tokens into a farming contract, users can earn additional rewards, typically in the platform's native token. This incentivizes the provision of liquidity, contributing to the depth and stability of the market.

    + \ No newline at end of file diff --git a/participate/dex/Core Concepts/core_concepts_2/index.html b/participate/dex/Core Concepts/core_concepts_2/index.html index 80dc256de..bd9cbe123 100644 --- a/participate/dex/Core Concepts/core_concepts_2/index.html +++ b/participate/dex/Core Concepts/core_concepts_2/index.html @@ -4,13 +4,13 @@ Financials, Fees, APR | Archethic - +
    -

    Financials: Fees, APR, Understanding Returns

    Fees

    aeSwap charges transaction fees for swaps and liquidity provision. These fees compensate liquidity providers for supplying capital and taking on the risk of impermanent loss. Fees are set as a percentage of the trade value and are directly added to the liquidity pool, proportionally benefitting all liquidity providers.

    info

    The fees breakdown is as follows: 0.25% for liquidity providers (LP), and a variable fee ranging from 0.1% to 0.25% for Archethic transactions, culminating in a total fee range of 0.35% to 0.5%.

    The fees section will be updated soon with more detailed information.

    APR and Understanding Returns

    The Annual Percentage Rate (APR) represents the rate of return on liquidity provision and farming over a year without accounting for compounding interest. It offers a straightforward picture of potential earnings from liquidity and farming activities. aeSwap's APR calculation takes into account the distribution of rewards and the impact of trading fees, providing a clear measure of profitability. Returns from liquidity provision come from trading fees and potentially, farming rewards.

    Liquidity providers must be aware of impermanent loss, a unique risk where the value of deposited assets could diverge from holding them outside the pool. Understanding these elements is crucial for assessing the overall profitability of participating in aeSwap.

    The returns on aeSwap are dynamic, depending on the yield farming activities and the amount in the liquidity pool. It is important to note that the APR is calculated from second to second, ensuring even the smallest units of time are considered in the profitability analysis.

    - +

    Financials: Fees, APR, Understanding Returns

    Fees

    aeSwap charges transaction fees for swaps and liquidity provision. These fees compensate liquidity providers for supplying capital and taking on the risk of impermanent loss. Fees are set as a percentage of the trade value and are directly added to the liquidity pool, proportionally benefitting all liquidity providers.

    info

    The fees breakdown is as follows: 0.25% for liquidity providers (LP), and a variable fee ranging from 0.1% to 0.25% for Archethic transactions, culminating in a total fee range of 0.35% to 0.5%.

    The fees section will be updated soon with more detailed information.

    APR and Understanding Returns

    The Annual Percentage Rate (APR) represents the rate of return on liquidity provision and farming over a year without accounting for compounding interest. It offers a straightforward picture of potential earnings from liquidity and farming activities. aeSwap's APR calculation takes into account the distribution of rewards and the impact of trading fees, providing a clear measure of profitability. Returns from liquidity provision come from trading fees and potentially, farming rewards.

    Liquidity providers must be aware of impermanent loss, a unique risk where the value of deposited assets could diverge from holding them outside the pool. Understanding these elements is crucial for assessing the overall profitability of participating in aeSwap.

    The returns on aeSwap are dynamic, depending on the yield farming activities and the amount in the liquidity pool. It is important to note that the APR is calculated from second to second, ensuring even the smallest units of time are considered in the profitability analysis.

    + \ No newline at end of file diff --git a/participate/dex/Core Concepts/core_concepts_3/index.html b/participate/dex/Core Concepts/core_concepts_3/index.html index 1341fb784..cea07c314 100644 --- a/participate/dex/Core Concepts/core_concepts_3/index.html +++ b/participate/dex/Core Concepts/core_concepts_3/index.html @@ -4,13 +4,13 @@ Security, Research & Math | Archethic - +
    -

    Security, Research & Math

    Research & Math

    aeSwap integrates comprehensive research and mathematical algorithms directly inspired by Uniswap V2, covering AMM models, smart contract security, blockchain technology, liquidity provision, pricing, and swap efficiency. This synergy ensures a secure trading environment, minimizes slippage, ensures fair asset valuation, and mitigates risks such as impermanent loss. Continuous analysis of market trends, attack vectors, and user behavior, along with rigorous testing and auditing of smart contracts, forms the backbone of the platform’s development, risk management strategies, and integrity. The adherence to these proven models and methodologies guarantees the highest standards of security and consistency in the platform's operations.

    The Mathematics of AMM and Constant Product Formula

    aeSwap, based on the Uniswap v2 model, employs the constant product formula to maintain pool liquidity and determine prices. This formula is represented as x * y = k, where:

    • x and y are the quantities of the two tokens in the liquidity pool.
    • k is a constant value.

    The constant product formula ensures that the total value in the pool remains constant after a trade, excluding fees. When a trade is executed, the product of the quantities of the two tokens stays the same, allowing the AMM to provide liquidity at any price level.

    Security Practices

    aeSwap adopts best practices in smart contract development and security, including regular audits by reputable firms, bug bounty programs, and transparent communication with the community. The security protocols and measures in place are directly taken from the proven and tested frameworks used in Uniswap V2. This adherence to established best practices, combined with user education on secure wallet management and interaction with DeFi platforms, further enhances the ecosystem's security posture, ensuring a safe and reliable environment for all users.

    - +

    Security, Research & Math

    Research & Math

    aeSwap integrates comprehensive research and mathematical algorithms directly inspired by Uniswap V2, covering AMM models, smart contract security, blockchain technology, liquidity provision, pricing, and swap efficiency. This synergy ensures a secure trading environment, minimizes slippage, ensures fair asset valuation, and mitigates risks such as impermanent loss. Continuous analysis of market trends, attack vectors, and user behavior, along with rigorous testing and auditing of smart contracts, forms the backbone of the platform’s development, risk management strategies, and integrity. The adherence to these proven models and methodologies guarantees the highest standards of security and consistency in the platform's operations.

    The Mathematics of AMM and Constant Product Formula

    aeSwap, based on the Uniswap v2 model, employs the constant product formula to maintain pool liquidity and determine prices. This formula is represented as x * y = k, where:

    • x and y are the quantities of the two tokens in the liquidity pool.
    • k is a constant value.

    The constant product formula ensures that the total value in the pool remains constant after a trade, excluding fees. When a trade is executed, the product of the quantities of the two tokens stays the same, allowing the AMM to provide liquidity at any price level.

    Security Practices

    aeSwap adopts best practices in smart contract development and security, including regular audits by reputable firms, bug bounty programs, and transparent communication with the community. The security protocols and measures in place are directly taken from the proven and tested frameworks used in Uniswap V2. This adherence to established best practices, combined with user education on secure wallet management and interaction with DeFi platforms, further enhances the ecosystem's security posture, ensuring a safe and reliable environment for all users.

    + \ No newline at end of file diff --git a/participate/dex/Guide_Usage/farming/index.html b/participate/dex/Guide_Usage/farming/index.html index a79dc8b82..a2cd30e8b 100644 --- a/participate/dex/Guide_Usage/farming/index.html +++ b/participate/dex/Guide_Usage/farming/index.html @@ -4,15 +4,15 @@ Farming | Archethic - +

    Farming

    Our new farming system is built around levels, each with a different reward distribution weight. The higher the level you choose, the longer the locking period for your liquidity pairs, but the greater the rewards you will earn.

    To achieve major milestones by 2026, we’ve revised our token distribution. Initially, we planned to distribute 9 million $UCO per year over 10 years, specifically allocated to staking.

    However, we will now distribute the tokens over 4 years to boost APR and liquidity. In the first farming phase over 2 months, we already distributed 2.5 million $UCO. Here is the planned token allocation for the coming years:

    • Year 1: 45 million UCO tokens
    • Year 2: 22.5 million UCO tokens
    • Year 3: 11.25 million UCO tokens
    • Year 4: 8.75 million UCO tokens

    You can manage the farming from the EARN menu or from pool aeETH/UCO card.

    Detailed Breakdown

    Deposits & Rewards

    Deposits begin on 25/07/2024, and rewards start on 01/08/2024.

    Level-Based System

    The new farming mechanism involves different levels, each offering a unique reward distribution weight. Higher levels require longer locking periods for your liquidity pairs, but they provide higher rewards and a better Annual Percentage Rate (APR). This system is recalculated in real time to ensure fairness.

    Locking Periods

    When depositing your LP tokens, you can choose from the following locking periods, each with specific conditions:

    • 1 week: 7 days lock period.
    • 1 month: 30 days lock period.
    • 3 months: 90 days lock period.
    • 6 months: 180 days lock period.
    • 1 year: 365 days lock period.
    • 2 years: 730 days lock period.
    • 3 years (default value): 1095 days lock period.

    Flexibility to Level Up

    UCO holders can choose to level up at any time. When leveling up, you can select a longer locking period than your current one. This resets the lock duration for your LP tokens to the new chosen period, but it also unlocks your current rewards. If you choose not to level up, both your LP tokens and rewards remain locked until the end of the current period.

    info

    Your level is based on the duration for which your assets are locked.
    Your level will therefore gradually decrease until it reaches Level 0 (= "available"), at which point you will be able to withdraw your LP tokens.

    Example: If you locked your assets for 3 years (Level 7) one year ago, your remaining lock time is now 2 years, so your holdings will automatically be adjusted to Level 6.

    Unlocking Rewards

    Rewards are tied to the LP tokens and will be released when the LP tokens are withdrawn at the end of the locking period. However, leveling up allows you to unlock and claim your rewards immediately while committing to a new locking period.

    Dashboard

    Farm Lock Dashboard

    When you click on the EARN menu, you are directed to the dedicated farming page related to the aeETH/UCO liquidity pool. The dashboard is divided into several sections:

    Liquidity pool section

    Farm Lock Dashboard - Liquidity pool section

    This section pertains to the liquidity pool linked with the farm and provides the following features:

    • Token Pair Display: Shows the pair of tokens involved in the pool.
    • Info Button: Allows you to view detailed information about the pool.
    • Add Button: Enables you to add liquidity directly to the pool.
    • Withdraw Button: Lets you withdraw your liquidity from the pool. -For more detailed information on managing liquidity pools, please refer to the liquidity pool documentation.

    Farm pool section

    Farm Lock Dashboard - Farm section

    This section contains information related to the farm. It describes the reward token (UCO) and displays the 3-year APR (please refer to the application for the exact percentage).

    There are three available functions:

    • Farm Legacy Info Button: Allows you to access the card containing information about the farm that was open between 05/17/2024 and 07/17/2024.
    • Add Button: Enables you to add LP tokens to the farm for a given period or on a flexible basis.
    • Farm Lock Info Button: Lets you view the information related to the farm.

    aeSwap offers a unique and engaging way to access detailed information about each farm through an interactive card. You can easily explore this card by clicking on the turn icon to "rotate" the view, revealing comprehensive details about the farms in a visually intuitive manner.

    Front View: Essential Farm Details

    Farm Lock Card - Front

    When viewing the front of the card, users are provided with a comprehensive overview designed to deliver essential information about each farm quickly and effectively:

    • Token Pair and Logos: The farm is represented by its token pair, accompanied by their logos when available, for straightforward identification.
    • Farm Address: Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the farm.
    • LP Token Address: Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the LP Token.
    • Reward Token: The specific token awarded as a reward in the farm is shown, informing users of the type of rewards they can expect.
    • Opening Period: Indicates the operational timeframe of the farm, letting users know when the farm is active for deposits and reward collection.
    • Remaining reward: Displays the remaining rewards in the farm.
    • Distributed Rewards: The total number of rewards that have been distributed to all participants so far, highlighting the farm's generosity and attractiveness.
    • Total Deposited LP Tokens: Indicates the total amount of LP tokens that have been deposited into the farm by all users, offering a perspective on the farm's scale and user participation.
    Back View: Additional Farm Insights

    Farm Lock Card - Back

    On this side of the card, users can explore parameters by level:

    • Holders: This corresponds to the number of positions held at the level.
    • Weight: The weight of the level.
    • LP Token Deposited: The number of LP tokens deposited at the level.

    Balances summary section

    This section provides an overview of your balances for the two tokens in the pool (aeETH and UCO), as well as your LP token balance.

    Farm Lock Dashboard - Balances section

    Farmed Tokens Summary section

    This section provides a comprehensive overview of your total investment in the farm, expressed in dollars. It includes a detailed breakdown of both the invested capital and the rewards that can be earned.

    Farm Lock Dashboard - Farmed Tokens Summary section

    Deposits table

    Farm Lock Dashboard - Deposist table

    The table displays all current deposits. The available information includes:

    • Amount: The number of LP tokens deposited.
    • Estimated Rewards: The current estimated rewards. This amount will increase over time until the end of the lock period. Rewards are calculated hourly.
    • Unlocks In: The remaining time before the LP tokens and associated rewards are released.
    • Level: Your current level. If your level is not at the maximum, you have the option to relock your LP tokens at any time for a period longer than the current one. Increasing the lock duration will raise your level.
    • APR: The estimated Annual Percentage Rate.
    • Level Up Button: Allows you to increase your level by relocking your LP tokens for a period longer than the current lock duration.
    • Withdraw Button: This feature is available when the lock period has ended or if the deposit was made on a flexible basis. It allows you to retrieve your LP tokens and send them back to your wallet. You can choose the amount to withdraw. If the maximum amount is withdrawn, the deposit entry disappears. If the amount is not fully withdrawn, rewards will be calculated on the remaining balance. When withdrawing, all calculated rewards for that deposit are provided to the user.
    • Claim Button: This feature is available when the lock period has ended or if the deposit was made on a flexible basis. It allows you to claim the rewards without affecting the number of deposited LP tokens.

    Interacting with Farms: Available Actions

    On aeSwap, participants have the flexibility to engage with farms through a variety of actions, each designed to suit different strategies and needs. Here’s a concise overview of the options available:

    Deposit LP Tokens: Users can lock their liquidity provider (LP) tokens in a farm to earn rewards. This action contributes to the farm's overall health and rewards the user with tokens based on the farm's current APR. Depositing increases the total value locked (TVL) in the farm and entitles the user to a portion of the rewards generated. The chosen locking period determines the APR percentage, with longer periods yielding higher returns. Once locked, users must wait until the end of the period to obtain their rewards, with no interim retrieval possible unless they choose to level up. This incentivizes users to commit to longer locking periods for more substantial rewards.

    Withdraw LP Tokens: When participants decide to retrieve their staked LP tokens from a farm, this action enables them to do so. Withdrawing allows users to claim back their tokens along with any rewards earned during the staking period. This action is crucial for managing your investments and realizing potential gains from the accumulation of rewards.

    Claim Rewards: Specifically for users who want to continue staking their LP tokens but wish to collect earned rewards, this action allows for the claiming of rewards without affecting the staked LP token balance. It is a flexible option for users looking to realize immediate gains while maintaining their position in the farm.

    Relock LP Tokens: The relock feature allows users to extend the locking period of their LP tokens beyond the initial commitment, effectively resetting the lock duration to a new, longer period. This action not only unlocks and makes available any accumulated rewards up to that point but also commits the user to a new locking period, which comes with a potentially higher APR.

    Detailed information for each action will be provided very soon.

    - +For more detailed information on managing liquidity pools, please refer to the liquidity pool documentation.

    Farm pool section

    Farm Lock Dashboard - Farm section

    This section contains information related to the farm. It describes the reward token (UCO) and displays the 3-year APR (please refer to the application for the exact percentage).

    There are three available functions:

    • Farm Legacy Info Button: Allows you to access the card containing information about the farm that was open between 05/17/2024 and 07/17/2024.
    • Add Button: Enables you to add LP tokens to the farm for a given period or on a flexible basis.
    • Farm Lock Info Button: Lets you view the information related to the farm.

    aeSwap offers a unique and engaging way to access detailed information about each farm through an interactive card. You can easily explore this card by clicking on the turn icon to "rotate" the view, revealing comprehensive details about the farms in a visually intuitive manner.

    Front View: Essential Farm Details

    Farm Lock Card - Front

    When viewing the front of the card, users are provided with a comprehensive overview designed to deliver essential information about each farm quickly and effectively:

    • Token Pair and Logos: The farm is represented by its token pair, accompanied by their logos when available, for straightforward identification.
    • Farm Address: Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the farm.
    • LP Token Address: Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the LP Token.
    • Reward Token: The specific token awarded as a reward in the farm is shown, informing users of the type of rewards they can expect.
    • Opening Period: Indicates the operational timeframe of the farm, letting users know when the farm is active for deposits and reward collection.
    • Remaining reward: Displays the remaining rewards in the farm.
    • Distributed Rewards: The total number of rewards that have been distributed to all participants so far, highlighting the farm's generosity and attractiveness.
    • Total Deposited LP Tokens: Indicates the total amount of LP tokens that have been deposited into the farm by all users, offering a perspective on the farm's scale and user participation.
    Back View: Additional Farm Insights

    Farm Lock Card - Back

    On this side of the card, users can explore parameters by level:

    • Holders: This corresponds to the number of positions held at the level.
    • Weight: The weight of the level.
    • LP Token Deposited: The number of LP tokens deposited at the level.

    Balances summary section

    This section provides an overview of your balances for the two tokens in the pool (aeETH and UCO), as well as your LP token balance.

    Farm Lock Dashboard - Balances section

    Farmed Tokens Summary section

    This section provides a comprehensive overview of your total investment in the farm, expressed in dollars. It includes a detailed breakdown of both the invested capital and the rewards that can be earned.

    Farm Lock Dashboard - Farmed Tokens Summary section

    Deposits table

    Farm Lock Dashboard - Deposist table

    The table displays all current deposits. The available information includes:

    • Amount: The number of LP tokens deposited.
    • Estimated Rewards: The current estimated rewards. This amount will increase over time until the end of the lock period. Rewards are calculated hourly.
    • Unlocks In: The remaining time before the LP tokens and associated rewards are released.
    • Level: Your current level. If your level is not at the maximum, you have the option to relock your LP tokens at any time for a period longer than the current one. Increasing the lock duration will raise your level.
    • APR: The estimated Annual Percentage Rate.
    • Level Up Button: Allows you to increase your level by relocking your LP tokens for a period longer than the current lock duration.
    • Withdraw Button: This feature is available when the lock period has ended or if the deposit was made on a flexible basis. It allows you to retrieve your LP tokens and send them back to your wallet. You can choose the amount to withdraw. If the maximum amount is withdrawn, the deposit entry disappears. If the amount is not fully withdrawn, rewards will be calculated on the remaining balance. When withdrawing, all calculated rewards for that deposit are provided to the user.
    • Claim Button: This feature is available when the lock period has ended or if the deposit was made on a flexible basis. It allows you to claim the rewards without affecting the number of deposited LP tokens.

    Interacting with Farms: Available Actions

    On aeSwap, participants have the flexibility to engage with farms through a variety of actions, each designed to suit different strategies and needs. Here’s a concise overview of the options available:

    Deposit LP Tokens: Users can lock their liquidity provider (LP) tokens in a farm to earn rewards. This action contributes to the farm's overall health and rewards the user with tokens based on the farm's current APR. Depositing increases the total value locked (TVL) in the farm and entitles the user to a portion of the rewards generated. The chosen locking period determines the APR percentage, with longer periods yielding higher returns. Once locked, users must wait until the end of the period to obtain their rewards, with no interim retrieval possible unless they choose to level up. This incentivizes users to commit to longer locking periods for more substantial rewards.

    Withdraw LP Tokens: When participants decide to retrieve their staked LP tokens from a farm, this action enables them to do so. Withdrawing allows users to claim back their tokens along with any rewards earned during the staking period. This action is crucial for managing your investments and realizing potential gains from the accumulation of rewards.

    Claim Rewards: Specifically for users who want to continue staking their LP tokens but wish to collect earned rewards, this action allows for the claiming of rewards without affecting the staked LP token balance. It is a flexible option for users looking to realize immediate gains while maintaining their position in the farm.

    Relock LP Tokens: The relock feature allows users to extend the locking period of their LP tokens beyond the initial commitment, effectively resetting the lock duration to a new, longer period. This action not only unlocks and makes available any accumulated rewards up to that point but also commits the user to a new locking period, which comes with a potentially higher APR.

    Detailed information for each action will be provided very soon.

    + \ No newline at end of file diff --git a/participate/dex/Guide_Usage/index.html b/participate/dex/Guide_Usage/index.html index 0f82b5dda..7d918ee50 100644 --- a/participate/dex/Guide_Usage/index.html +++ b/participate/dex/Guide_Usage/index.html @@ -4,14 +4,14 @@ Tutorial | Archethic - +

    aeSwap - Tutorial

    info

    aeSwap is a web application accessible through internet browsers and is compatible only with chrome extension or with desktop versions of the Archethic wallet, which include macOS, Linux, and Windows platforms.

    caution

    Ensure you have the appropriate version of the Archethic wallet installed on your system to interact with the application effectively. You can download the wallet from here.

    tip

    For optimal performance, use the latest version of your internet browser.

    Access:

    Source code: https://github.com/archethic-foundation/dex

    This Flutter-built web application enables swapping assets on-chain, adding liquidity, and accessing yield farming.

    tip

    Before proceeding, familiarize yourself with Archethic's DEX Key Concepts.

    Welcome Screen

    Upon accessing aeSwap, you are greeted with a welcome screen. To begin, click on the 'Go!' button.

    Welcome Screen
    -aeSwap Main Screen

    Application Menu

    A right-hand header menu provides links to essential information and application documentation. It includes an option to send logs to Archethic for troubleshooting purposes.

    Menu

    Feature Access

    The top menu grants access to various DEX functionalities:

    • Swapping assets
    • Listing Pools / Adding or removing Liquidity
    • Farming

    Menu Features

    - +aeSwap Main Screen

    Application Menu

    A right-hand header menu provides links to essential information and application documentation. It includes an option to send logs to Archethic for troubleshooting purposes.

    Menu

    Feature Access

    The top menu grants access to various DEX functionalities:

    • Swapping assets
    • Listing Pools / Adding or removing Liquidity
    • Farming

    Menu Features

    + \ No newline at end of file diff --git a/participate/dex/Guide_Usage/liquidity_pool/index.html b/participate/dex/Guide_Usage/liquidity_pool/index.html index 28909cb5d..abc4b16ec 100644 --- a/participate/dex/Guide_Usage/liquidity_pool/index.html +++ b/participate/dex/Guide_Usage/liquidity_pool/index.html @@ -4,7 +4,7 @@ Liquidity Pool | Archethic - + @@ -13,8 +13,8 @@ If the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm the creation" button to move forward in the process.

    Add pool confirm

    Wallet Validations for Liquidity Transactions

    The creation of the pool and addition of liquidity to the pool necessitate two separate validations within your Archethic wallet:

    Transaction Confirmation: You will need to approve two transactions – one for creating the pool and another for adding liquidity to it.

    Transaction Addresses: Upon successful completion of these transactions, you will be provided with their addresses. These addresses allow you to verify the transactions on the blockchain, ensuring transparency and security in your operations.

    Add pool end

    aeSwap offers a unique and engaging way to access detailed information about each liquidity pool through an interactive card. You can easily explore this card by clicking on the turn icon to "rotate" the view, revealing comprehensive details about the pools in a visually intuitive manner.

    Front View: Essential Pool Details

    Pool List Front

    When viewing the front of the card, users are presented with a rich set of information designed to provide a quick and informative snapshot of each pool:

    • Token Pair and Logos: Each pool is represented by its pair of tokens, accompanied by their logos when available, for easy identification.
    • Verification Status: A green icon signifies that the pool has been officially verified by Archethic, indicating a layer of trust and security.
    • Personal Liquidity Contribution: If you have added liquidity to a pool, a yellow star icon will highlight your participation, making it easy to track your investments.
    • Total Value Locked (TVL): The TVL is displayed in dollars, offering a clear view of the pool's size and the total capital invested.
    • Annual Percentage Rate (APR) Over 24 Hours: The APR is displayed to indicate the potential return on investment over a year, based on the pool’s performance during the last 24 hours. This provides a quick snapshot of profitability to help users assess the attractiveness of investing in the pool.
    • Trading Dynamics: Detailed statistics on trading volume and fees collected over the last 24 hours and cumulatively are provided to give users insights into the pool's activity and profitability.

    Back View: Exploring Pool Details

    Pool List Back

    You can find in this side of the card:

    • Pool Address: Displayed prominently for easy reference. Accompanying the address, an icon for quick copying allows users to easily share or save the address. - Additionally, a separate icon links directly to the blockchain explorer, where users can delve into full details and analytics of the pool.
    • Token Holdings: This section lists the exact number of tokens currently deposited within the pool, providing a clear view of the pool's liquidity depth.
    • Swap Fee Percentage: The fee charged for swap transactions within this particular pool is displayed as a percentage. This fee contributes to the rewards earned by liquidity providers, representing an essential metric for potential and current investors.

    Interacting with Pools: Available Actions

    On aeSwap, participants have the flexibility to engage with liquidity pools through a variety of actions, each designed to suit different strategies and needs. Here’s a concise overview of the options available:

    Exchange Pool Tokens: Users can swap tokens within a pool, utilizing the liquidity available to exchange one token for another. This action is fundamental to the operation of a DEX, allowing users to seamlessly trade assets at current market rates determined by the pool's liquidity and token ratio.

    Add Liquidity: If you're looking to contribute to a pool, this action enables you to deposit your tokens into the pool. Adding liquidity increases the pool's total value locked (TVL) and, in return, you receive liquidity provider (LP) tokens. These LP tokens represent your share of the pool and entitle you to a portion of the trading fees generated by the pool's activity.

    Remove Liquidity: When you wish to retrieve your deposited tokens from a pool, this action allows you to do so. By returning your LP tokens, you can claim back your share of the pool, along with any accrued fees, based on the current ratio of tokens within the pool. This action is essential for managing your investments and realizing potential gains from fee accumulation.

    Fees

    For enhancing %APR, liquidity, and volume, all fees are returned to LP suppliers: 0.3% LP provider fee, 0% protocol fee.

    Specificity of the aeETH / UCO pair

    Archethic offers a specific aeETH/UCO pool featuring a new farming mechanism designed to reward long-term commitment. This update provides UCO holders with flexible levels and the potential for higher rewards through a tiered system, reinforcing our mission to support sustained engagement with our project.

    With our new Leveling System on the aeETH/UCO pool, we’ve removed LP provider fees on this pool: 0.3% Protocol Fees, 0% LP Provider Fees on the aeETH/UCO pool.

    Pool aeETH/UCO

    For the specific aeETH/UCO pool, the displayed information is unique:

    3-Year APR of the Associated Farm: Instead of showing the fees collected by the pool, we display the 3-year APR of the farm associated with the pool. A link is provided to allow users to access the farm directly.

    Add Liquidity

    Enhancing your portfolio by adding liquidity to a pool is a straightforward process designed for ease of use and efficiency. Here's how you can contribute to the liquidity of your chosen pool:

    Step 1: Adding Liquidity: Essential Information

    Add liquidity form

    Entering Token Amounts: Begin by inputting the amount of one of the two tokens in the pool's pair. The system will automatically calculate the necessary amount of the second token based on the current pool ratio, ensuring your contribution maintains the pool's balance.

    Slippage Tolerance Configuration: To manage the impact of price fluctuations during your transaction, click on the wheel icon next to "slippage tolerance." Slippage occurs when the price at which your transaction is executed differs from the price when you submitted it. Adjusting your slippage tolerance allows you to control the maximum price variation you're willing to accept.

    Transaction Details: Once you've set the amounts, the system will display information about your transaction:

    • Minimum Token Amounts: The least amount of each token that will be added to the pool, considering slippage and transaction timing.
    • Estimated LP Tokens: An estimation of how many liquidity provider (LP) tokens you'll receive in return. These tokens represent your share of the pool and your entitlement to a portion of the trading fees.

    Add Liquidity: Click the "Add liquidity" button to finalize your contribution. This action initiates the transaction and adds your tokens to the pool.

    Pre-transaction Validations

    Before adding liquidity, the system performs a vital check to ensure:

    • Token Availability: Verifies that the necessary tokens are available in your wallet for the liquidity addition.
    info

    When adding liquidity involving UCO (the native token of the Archethic Public Blockchain), the system automatically calculates and reserves the necessary amount for transaction fees associated with liquidity addition. As a result, the maximum amount of UCO that can be allocated is less than your total UCO balance to accommodate these costs.

    Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps

    After you submit the liquidity addition form by clicking the "Add liquidity" button, you will be directed to a confirmation screen. This screen serves a critical role in the liquidity addition process, enabling you to:

    • Review Token Ratio: Examine the initial ratio between the two tokens in your new pool to ensure it aligns with your expectations.
    • Balance Verification: Check your account balances before and after liquidity is added to understand the impact of your transaction. If the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm the creation" button to move forward in the process.

    Add liquidity confirm

    Wallet Validations for Liquidity Transactions

    The addition of liquidity to the pool necessitates two separate validations within your Archethic wallet:

    Transaction Confirmation: You will need to approve 1 transaction.

    Transaction Address: Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation.

    Add liquidity end

    Remove Liquidity

    Withdrawing your liquidity from a pool is a flexible process that can be initiated at any time, allowing you to reclaim all or a portion of your deposited tokens.

    Step 1: Removing Liquidity: Essential Information

    The process begins with the user entering the amount of LP (Liquidity Provider) tokens they wish to redeem. This action is facilitated through a user-friendly form designed to make the withdrawal process as straightforward as possible.

    Remove liquidity form

    Entering LP Token Amounts: The amount of LP tokens you wish to use for the withdrawal. LP tokens represent your share of the pool's total liquidity.

    Transaction Details: Once you've set the amount, the system will display information about your transaction:

    • Amounts of token to get back: This crucial piece of information tells you exactly how many of each token in the pool you will receive in return for the specified amount of LP tokens. This is calculated based on the current ratio of tokens within the pool and the total amount of liquidity you're choosing to withdraw. By presenting these details, the system aims to provide users with a clear understanding of the outcome of their liquidity removal transaction, allowing for precise and confident decision-making.

    Remove Liquidity: Click the "Remove liquidity" button to finalize your withdrawal. This action initiates the transaction, removes (or "burns") your LP tokens from circulation, and the corresponding amount of the original tokens you provided as liquidity will be returned to you. The exact amounts are calculated according to the current liquidity ratio within the pool and the total number of LP tokens you are redeeming.

    Pre-transaction Validations

    Before removing liquidity, the system performs a vital check to ensure:

    • Token Availability: Verifies that the necessary LP tokens are available in your wallet for the liquidity removal.

    Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps

    After you submit the liquidity removal form by clicking the "Remove liquidity" button, you will be directed to a confirmation screen. This screen serves a critical role in the liquidity removal process, enabling you to:

    • Balance Verification: Check your account balances before and after liquidity is removed to understand the impact of your transaction. -If the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm" button to move forward in the process.

    Remove liquidity confirm

    Wallet Validations for Liquidity Transactions

    Transaction Confirmation: You will need to approve 1 transaction.

    Transaction Address: Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation.

    Remove liquidity end

    - +If the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm" button to move forward in the process.

    Remove liquidity confirm

    Wallet Validations for Liquidity Transactions

    Transaction Confirmation: You will need to approve 1 transaction.

    Transaction Address: Upon successful completion of this transaction, you will be provided with the address. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation.

    Remove liquidity end

    + \ No newline at end of file diff --git a/participate/dex/Guide_Usage/swap/index.html b/participate/dex/Guide_Usage/swap/index.html index d91f12f16..d14460a64 100644 --- a/participate/dex/Guide_Usage/swap/index.html +++ b/participate/dex/Guide_Usage/swap/index.html @@ -4,14 +4,14 @@ Swap | Archethic - +

    Swap

    Swapping Your Tokens

    aeSwap involves multiple steps:

    1. Inputting information to initiate the swap
    2. Confirming the entered details
    3. Executing the swap, with progress tracking and transaction signing in the Archethic wallet

    Step 1: Swap - Essential Information

    Swap form

    Select tokens to swap: Click on "Select a token" to access a popup with token info

    Token Selection

    Entering Token Amount to swap: Begin by inputting the amount of one of the two tokens in the pool's pair. The system will automatically calculate the necessary amount of the second token based on the current pool ratio.

    Slippage Tolerance Configuration: To manage the impact of price fluctuations during your transaction, click on the wheel icon next to "slippage tolerance." Slippage occurs when the price at which your transaction is executed differs from the price when you submitted it. Adjusting your slippage tolerance allows you to control the maximum price variation you're willing to accept.

    Transaction Details: Once you've set the amounts, the system will display information about your transaction:

    • Fees: Displayed prominently, this includes the fees charged by liquidity providers for facilitating the swap, as well as any operating costs associated with using the Archethic Public Blockchain. These fees are integral to the transaction cost and contribute to the rewards for liquidity providers.
    • Price Impact: The system calculates and shows the price impact of your transaction, which is the effect your trade will have on the pool's price for the token pair. The price impact is a crucial metric for understanding how the size of your transaction relative to the pool's liquidity can alter the price of the tokens you are trading. A significant transaction in a pool with limited liquidity can lead to a higher price impact.
      info

      If the price impact exceeds certain thresholds (greater than 1% or 5%), the system issues a warning. This is to alert you that your transaction could significantly alter market prices, potentially leading to less favorable trade conditions.

    • Minimum received: This figure represents the least amount you can expect to receive as a result of your transaction, taking into account slippage and fees. It ensures that you are aware of the worst-case scenario based on the current market conditions and your specified slippage tolerance.
    • Current TVL of the Pool: The Total Value Locked (TVL) in the pool is provided, giving you an idea of the pool's size and liquidity. A larger TVL indicates a more significant pool, which generally leads to lower price impact from individual transactions.
    • Current Token Ratio: Lastly, you will see the current ratio of tokens in the pool. This ratio is vital for understanding the liquidity dynamics and potential price movements within the pool.

    Swap: Click the "Swap" button to finalize your swap. This action initiates the transaction and swaps your tokens.

    Pre-transaction Validations

    Before swapping, the system performs a vital check to ensure:

    • Token Availability: Verifies that the necessary token to swap is available in your wallet.
    info

    When swapping involving UCO (the native token of the Archethic Public Blockchain), the system automatically calculates and reserves the necessary amount for transaction fees associated with liquidity addition. As a result, the maximum amount of UCO that can be allocated is less than your total UCO balance to accommodate these costs.

    Step 2: Finalizing swap: Confirmation and Validation Steps

    After you submit the swap form by clicking the "Swap" button, you will be directed to a confirmation screen. This screen serves a critical role in the swap process, enabling you to:

    • Minimum received
    • Balances Verification: Check your account balances before and after the swap to understand the impact of your transaction.
    • Fees
    • Price impact -If the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm swap" button to move forward in the process.

    Swap confirm

    Wallet Validations for Swap Transaction

    Transaction Confirmation: You will need to approve 1 transaction.

    Transaction Address: Upon successful completion of this transaction, you will be provided with the address and the amount swapped. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation.

    Swap end

    - +If the details align with your intentions and you are content with the proposed setup, proceed by clicking on the "Confirm swap" button to move forward in the process.

    Swap confirm

    Wallet Validations for Swap Transaction

    Transaction Confirmation: You will need to approve 1 transaction.

    Transaction Address: Upon successful completion of this transaction, you will be provided with the address and the amount swapped. This address allows you to verify the transaction on the blockchain, ensuring transparency and security in your operation.

    Swap end

    + \ No newline at end of file diff --git a/participate/dex/Overview/ecosystem_participants/index.html b/participate/dex/Overview/ecosystem_participants/index.html index 67397defd..4d384cc8d 100644 --- a/participate/dex/Overview/ecosystem_participants/index.html +++ b/participate/dex/Overview/ecosystem_participants/index.html @@ -4,13 +4,13 @@ Ecosystem Participants | Archethic - +
    -

    Ecosystem Participants

    The aeSwap ecosystem, built on the Archethic Public Blockchain, introduces a decentralized finance (DeFi) environment that is supported by three primary types of participants: liquidity providers, traders, and developers. Each group plays a crucial role in the ecosystem's functionality and growth, contributing to a vibrant and dynamic DeFi landscape.

    Liquidity Providers (LPs)

    Liquidity providers are pivotal to the aeSwap ecosystem, offering their assets to the pools and in return, they receive LP tokens. These participants can be categorized as:

    • Passive LPs: Individuals or entities that contribute their tokens to liquidity pools to earn fees from trading activities without active management.
    • Professional LPs: Those who engage in liquidity provision as their main strategy, often utilizing advanced tools and methodologies to optimize their returns across various DeFi platforms.
    • Token Projects: Projects that provide liquidity for their own tokens to ensure a stable and liquid market, facilitating easier exchange and integration within the wider DeFi ecosystem.
    • Innovative LPs: Pioneers exploring new models of liquidity provision, such as incentivized liquidity positions, using liquidity as collateral, among other experimental approaches.

    Traders

    Traders interact with aeSwap to exchange tokens, leveraging the liquidity provided by LPs. Traders are essential for maintaining the dynamic pricing mechanism of the DEX and can be classified into:

    • Speculators: Users who rely on community tools and insights to make trades based on market trends and predictions.
    • Arbitrageurs: Participants who seek to profit from price discrepancies across different exchanges, thereby contributing to market efficiency.
    • DApp Users: Individuals purchasing tokens for use within various applications on the Archethic Public Blockchain and wider DeFi landscape.
    • Smart Contract Integrators: Developers or projects that implement aeSwap's functionalities within their contracts for purposes such as decentralized exchanges (DEXes), aggregators, or other DeFi services.

    Developers

    Developers are the backbone of the aeSwap ecosystem, innovating and creating new applications that integrate with or build upon aeSwap's functionalities. This includes:

    • Interface and Frontend Developers: Those who create user-friendly interfaces and applications to access aeSwap's services, ranging from basic trading interfaces to complex DeFi platforms.
    • Smart Contract Developers: Innovators who utilize aeSwap's smart contracts to develop new DeFi products, tools, and services, contributing to the ecosystem's growth and diversification.
    • Wallet and DApp Integrators: Projects that incorporate aeSwap functionalities into wallets or other decentralized applications, enhancing user experience and utility.

    Together, these participants form a symbiotic relationship that drives the growth, innovation, and stability of the aeSwap ecosystem, making it a cornerstone of the Archethic Public Blockchain's DeFi offering.

    - +

    Ecosystem Participants

    The aeSwap ecosystem, built on the Archethic Public Blockchain, introduces a decentralized finance (DeFi) environment that is supported by three primary types of participants: liquidity providers, traders, and developers. Each group plays a crucial role in the ecosystem's functionality and growth, contributing to a vibrant and dynamic DeFi landscape.

    Liquidity Providers (LPs)

    Liquidity providers are pivotal to the aeSwap ecosystem, offering their assets to the pools and in return, they receive LP tokens. These participants can be categorized as:

    • Passive LPs: Individuals or entities that contribute their tokens to liquidity pools to earn fees from trading activities without active management.
    • Professional LPs: Those who engage in liquidity provision as their main strategy, often utilizing advanced tools and methodologies to optimize their returns across various DeFi platforms.
    • Token Projects: Projects that provide liquidity for their own tokens to ensure a stable and liquid market, facilitating easier exchange and integration within the wider DeFi ecosystem.
    • Innovative LPs: Pioneers exploring new models of liquidity provision, such as incentivized liquidity positions, using liquidity as collateral, among other experimental approaches.

    Traders

    Traders interact with aeSwap to exchange tokens, leveraging the liquidity provided by LPs. Traders are essential for maintaining the dynamic pricing mechanism of the DEX and can be classified into:

    • Speculators: Users who rely on community tools and insights to make trades based on market trends and predictions.
    • Arbitrageurs: Participants who seek to profit from price discrepancies across different exchanges, thereby contributing to market efficiency.
    • DApp Users: Individuals purchasing tokens for use within various applications on the Archethic Public Blockchain and wider DeFi landscape.
    • Smart Contract Integrators: Developers or projects that implement aeSwap's functionalities within their contracts for purposes such as decentralized exchanges (DEXes), aggregators, or other DeFi services.

    Developers

    Developers are the backbone of the aeSwap ecosystem, innovating and creating new applications that integrate with or build upon aeSwap's functionalities. This includes:

    • Interface and Frontend Developers: Those who create user-friendly interfaces and applications to access aeSwap's services, ranging from basic trading interfaces to complex DeFi platforms.
    • Smart Contract Developers: Innovators who utilize aeSwap's smart contracts to develop new DeFi products, tools, and services, contributing to the ecosystem's growth and diversification.
    • Wallet and DApp Integrators: Projects that incorporate aeSwap functionalities into wallets or other decentralized applications, enhancing user experience and utility.

    Together, these participants form a symbiotic relationship that drives the growth, innovation, and stability of the aeSwap ecosystem, making it a cornerstone of the Archethic Public Blockchain's DeFi offering.

    + \ No newline at end of file diff --git a/participate/dex/Overview/glossary/index.html b/participate/dex/Overview/glossary/index.html index cd222d145..1529a3900 100644 --- a/participate/dex/Overview/glossary/index.html +++ b/participate/dex/Overview/glossary/index.html @@ -4,13 +4,13 @@ Glossary | Archethic - +
    -

    Glossary

    aeSwap

    A decentralized exchange platform built on the Archethic Public Blockchain, leveraging the AMM model for swapping tokens, adding liquidity, and yield farming.

    Automated Market Maker (AMM)

    An AMM is a type of decentralized exchange protocol that relies on a mathematical formula to price assets. Instead of using a traditional order book, it automates the process of providing liquidity to pools of two or more tokens, from which users can trade.

    Liquidity Addition

    The process of depositing tokens into a pool to increase its liquidity. Users receive LP tokens in return, representing their share of the pool.

    Liquidity Provider (LP)

    A user who deposits an equivalent value of two tokens into a pool, facilitating trading by providing liquidity. LPs are compensated with transaction fees and potentially other rewards.

    Liquidity Removal

    The process of redeeming LP tokens to withdraw liquidity from a pool. Users receive a proportional amount of the pool's tokens based on their share.

    Pool

    A smart contract that holds reserves of two or more tokens and allows users to trade between these tokens. The pool's liquidity is provided by liquidity providers who deposit an equivalent value of two tokens.

    Price Impact

    The effect a trade will have on the price of a token in a pool. Large trades in relation to the pool's size can have a significant price impact, affecting the trade's execution price.

    Slippage

    The difference in price between when a trade is submitted and when it is executed, due to changes in a pool's liquidity in that interval. Users can set a slippage tolerance to protect against excessive price movement.

    Swap

    The action of trading one token for another within the aeSwap ecosystem. Swaps are executed against the liquidity available in pools and are subject to fees and slippage.

    Total Value Locked (TVL)

    The total amount of assets that are currently staked or locked in a protocol, indicating its size and health. In aeSwap, it refers to the total value of tokens locked in all liquidity pools.

    Yield Farming

    A strategy where users stake or lend crypto assets in order to receive returns or rewards. In the context of aeSwap, this involves participating in liquidity provision and potentially other incentivized activities.

    This glossary provides a foundational understanding of key concepts within the aeSwap ecosystem, facilitating a clearer comprehension of the platform's functionalities and operations.

    - +

    Glossary

    aeSwap

    A decentralized exchange platform built on the Archethic Public Blockchain, leveraging the AMM model for swapping tokens, adding liquidity, and yield farming.

    Automated Market Maker (AMM)

    An AMM is a type of decentralized exchange protocol that relies on a mathematical formula to price assets. Instead of using a traditional order book, it automates the process of providing liquidity to pools of two or more tokens, from which users can trade.

    Liquidity Addition

    The process of depositing tokens into a pool to increase its liquidity. Users receive LP tokens in return, representing their share of the pool.

    Liquidity Provider (LP)

    A user who deposits an equivalent value of two tokens into a pool, facilitating trading by providing liquidity. LPs are compensated with transaction fees and potentially other rewards.

    Liquidity Removal

    The process of redeeming LP tokens to withdraw liquidity from a pool. Users receive a proportional amount of the pool's tokens based on their share.

    Pool

    A smart contract that holds reserves of two or more tokens and allows users to trade between these tokens. The pool's liquidity is provided by liquidity providers who deposit an equivalent value of two tokens.

    Price Impact

    The effect a trade will have on the price of a token in a pool. Large trades in relation to the pool's size can have a significant price impact, affecting the trade's execution price.

    Slippage

    The difference in price between when a trade is submitted and when it is executed, due to changes in a pool's liquidity in that interval. Users can set a slippage tolerance to protect against excessive price movement.

    Swap

    The action of trading one token for another within the aeSwap ecosystem. Swaps are executed against the liquidity available in pools and are subject to fees and slippage.

    Total Value Locked (TVL)

    The total amount of assets that are currently staked or locked in a protocol, indicating its size and health. In aeSwap, it refers to the total value of tokens locked in all liquidity pools.

    Yield Farming

    A strategy where users stake or lend crypto assets in order to receive returns or rewards. In the context of aeSwap, this involves participating in liquidity provision and potentially other incentivized activities.

    This glossary provides a foundational understanding of key concepts within the aeSwap ecosystem, facilitating a clearer comprehension of the platform's functionalities and operations.

    + \ No newline at end of file diff --git a/participate/dex/Overview/protocol_overview/index.html b/participate/dex/Overview/protocol_overview/index.html index 1d87dfdd8..ccb4a5d40 100644 --- a/participate/dex/Overview/protocol_overview/index.html +++ b/participate/dex/Overview/protocol_overview/index.html @@ -4,13 +4,13 @@ Protocol Overview | Archethic - +
    -

    Protocol Overview

    Introduction

    aeSwap is an innovative decentralized exchange (DEX) operating on the Archethic Public Blockchain, leveraging the Automated Market Maker (AMM) model to facilitate on-chain asset swaps, liquidity provision, and yield farming opportunities. Built with the goal of enhancing the decentralized finance (DeFi) ecosystem, aeSwap emphasizes security, decentralization, and low transaction costs, offering a robust platform for DeFi activities without the need for trusted intermediaries.

    The AMM Model

    At the core of aeSwap is the AMM model, which enables the automatic trading of digital assets using liquidity pools rather than traditional market orders. Each liquidity pool on aeSwap contains reserves of two tokens and operates according to a set formula to ensure liquidity and facilitate trades.

    Participating in aeSwap

    • Liquidity Providers (LPs) can add their tokens to the liquidity pools, receiving LP tokens in return. These LP tokens represent their share of the pool and entitle them to a portion of the trading fees generated by the pool's activity.
    • Traders use aeSwap to swap between different tokens. Each trade incurs a nominal fee, part of which is added to the pool reserves, thus benefiting the liquidity providers.
    • Developers can integrate aeSwap's functionalities into their applications, utilizing its open-source smart contracts and APIs for building decentralized apps on the Archethic Public Blockchain.

    Ensuring Fair and Secure Trading

    aeSwap utilizes a unique algorithm to determine the price of tokens in each pool, ensuring that trades are executed close to the market rates. This system also provides protection against significant price impacts, ensuring a stable DeFi environment.

    Rewards and Yield Farming

    Participants can earn rewards through yield farming by providing liquidity to selected pools. aeSwap's design encourages long-term liquidity provision and sustainable yield generation, with rewards distributed in UCO tokens, the native cryptocurrency of the Archethic Public Blockchain.

    The Mathematics of AMM and Constant Product Formula

    aeSwap, based on the Uniswap v2 model, employs the constant product formula to maintain pool liquidity and determine prices. This formula is represented as x * y = k, where:

    • x and y are the quantities of the two tokens in the liquidity pool.
    • k is a constant value.

    The constant product formula ensures that the total value in the pool remains constant after a trade, excluding fees. When a trade is executed, the product of the quantities of the two tokens stays the same, allowing the AMM to provide liquidity at any price level.

    Example Calculation

    If a liquidity pool contains Token A and Token B with amounts a and b respectively, and a trader wants to swap an amount Δa of Token A for Token B, the constant product formula ab = k must still hold post-trade. The amount of Token B received, Δb, can be calculated by rearranging the formula to find the new balance of Token B that maintains k.

    Price Impact and Slippage

    The constant product mechanism also inherently limits the price impact of trades, ensuring that larger trades have a proportionally higher impact on price. This helps protect against market manipulation and ensures fair trading conditions.

    Conclusion and Further Exploration

    aeSwap represents a significant advancement in the DeFi space, offering a decentralized platform for trading, liquidity provision, and yield farming on the Archethic Public Blockchain. Its innovative use of the AMM model, combined with a focus on security and user experience, positions aeSwap as a key player in the decentralized finance ecosystem.

    For a deeper understanding of aeSwap's functionalities and to start participating in the Archethic DeFi ecosystem, refer to our detailed [Usage Guides](/participate/dex/Guide Usage/usage_overview).

    - +

    Protocol Overview

    Introduction

    aeSwap is an innovative decentralized exchange (DEX) operating on the Archethic Public Blockchain, leveraging the Automated Market Maker (AMM) model to facilitate on-chain asset swaps, liquidity provision, and yield farming opportunities. Built with the goal of enhancing the decentralized finance (DeFi) ecosystem, aeSwap emphasizes security, decentralization, and low transaction costs, offering a robust platform for DeFi activities without the need for trusted intermediaries.

    The AMM Model

    At the core of aeSwap is the AMM model, which enables the automatic trading of digital assets using liquidity pools rather than traditional market orders. Each liquidity pool on aeSwap contains reserves of two tokens and operates according to a set formula to ensure liquidity and facilitate trades.

    Participating in aeSwap

    • Liquidity Providers (LPs) can add their tokens to the liquidity pools, receiving LP tokens in return. These LP tokens represent their share of the pool and entitle them to a portion of the trading fees generated by the pool's activity.
    • Traders use aeSwap to swap between different tokens. Each trade incurs a nominal fee, part of which is added to the pool reserves, thus benefiting the liquidity providers.
    • Developers can integrate aeSwap's functionalities into their applications, utilizing its open-source smart contracts and APIs for building decentralized apps on the Archethic Public Blockchain.

    Ensuring Fair and Secure Trading

    aeSwap utilizes a unique algorithm to determine the price of tokens in each pool, ensuring that trades are executed close to the market rates. This system also provides protection against significant price impacts, ensuring a stable DeFi environment.

    Rewards and Yield Farming

    Participants can earn rewards through yield farming by providing liquidity to selected pools. aeSwap's design encourages long-term liquidity provision and sustainable yield generation, with rewards distributed in UCO tokens, the native cryptocurrency of the Archethic Public Blockchain.

    The Mathematics of AMM and Constant Product Formula

    aeSwap, based on the Uniswap v2 model, employs the constant product formula to maintain pool liquidity and determine prices. This formula is represented as x * y = k, where:

    • x and y are the quantities of the two tokens in the liquidity pool.
    • k is a constant value.

    The constant product formula ensures that the total value in the pool remains constant after a trade, excluding fees. When a trade is executed, the product of the quantities of the two tokens stays the same, allowing the AMM to provide liquidity at any price level.

    Example Calculation

    If a liquidity pool contains Token A and Token B with amounts a and b respectively, and a trader wants to swap an amount Δa of Token A for Token B, the constant product formula ab = k must still hold post-trade. The amount of Token B received, Δb, can be calculated by rearranging the formula to find the new balance of Token B that maintains k.

    Price Impact and Slippage

    The constant product mechanism also inherently limits the price impact of trades, ensuring that larger trades have a proportionally higher impact on price. This helps protect against market manipulation and ensures fair trading conditions.

    Conclusion and Further Exploration

    aeSwap represents a significant advancement in the DeFi space, offering a decentralized platform for trading, liquidity provision, and yield farming on the Archethic Public Blockchain. Its innovative use of the AMM model, combined with a focus on security and user experience, positions aeSwap as a key player in the decentralized finance ecosystem.

    For a deeper understanding of aeSwap's functionalities and to start participating in the Archethic DeFi ecosystem, refer to our detailed [Usage Guides](/participate/dex/Guide Usage/usage_overview).

    + \ No newline at end of file diff --git a/participate/dex/Overview/smart_contracts/farm-lock/index.html b/participate/dex/Overview/smart_contracts/farm-lock/index.html index 99e445df2..072c4f9bf 100644 --- a/participate/dex/Overview/smart_contracts/farm-lock/index.html +++ b/participate/dex/Overview/smart_contracts/farm-lock/index.html @@ -4,7 +4,7 @@ Farm Lock Smart Contract | Archethic - + @@ -13,8 +13,8 @@ For example a deposit at 12:03 and another one at 12:57 will both be rounded to 12:00 and they will both start earning at 13:00.

    The calculation is triggered either:

    • by a scheduler contract that calls the calculate_rewards actions every hours.
    • by a deposit/claim/withdraw/relock action.

    There is at most 1 calculation per hour.

    State

    The state is composed of these properties:

    • last_calculation_timestamp the date of the last calculation
    • deposits state of the deposits at the moment of last calculation (level and reward_amount will change over time).
    • lp_tokens_deposited amount of tokens deposited at the moment of last calculation
    • lp_tokens_deposited_by_level amount of tokens deposited grouped by level at the moment of last calculation

    Calculations

    When entering the calculate_new_rewards function, we check how much hours need to be calculated (should mostly be 1). Then for every hour:

    rewardsToAllocateForThisHour = rewardsRemainingAtTheEndOfYear  * (3600 / numberOfSecondsRemainingUtilEndOfYear)
    levelRatio = (tokensAmountAtThisLevel * weightOfThisLevel) / sumOfAllWeightedTokens
    depositRatioOnItsLevel = (depositTokensAmount * weightOfThisLevel) / (tokensAmountAtThisLevel * weightOfThisLevel)
    reward = rewardsToAllocateForThisHour * depositRatioOnItsLevel * levelRatio

    An example

    Let's take a simple scenario so we can do the maths easily.

    Imagine the farm starts (year=1) with these 3 deposits:

    1. 1000 UCO at level 7
    2. 1000 UCO at level 3
    3. 1000 UCO at level 3

    To calculate the rewards of the 1st deposit:

    rewardsToAllocateForThisHour = 45_000_000  * (3600 / 31536000) // 5136.986301369863
    levelRatio = (1000 * 0.453) / 539 // 0.8404452690166976
    depositRatioOnItsLevel = (1000 * 0.453) / (1000 * 0.453) // 1
    reward = 5136.986301369863 * 1 * 0.8404452690166976 // 4317.355833989885

    Until the state change (year change/level change/deposit/withdraw/relock), the first deposit will be rewarded of 4317.35583398 UCO every hours.

    Giveaways

    If the contract have more balance than it's supposed to, the tokens are rewarded linearly over the entire farm's duration. Example, if someone sends 35040 UCO (= farm's duration in hours) to the farm, there will be 1 more UCO rewarded every hours. -Nothing is wasted.

    - +Nothing is wasted.

    + \ No newline at end of file diff --git a/participate/dex/Overview/smart_contracts/index.html b/participate/dex/Overview/smart_contracts/index.html index 6715bb7c6..e688439bf 100644 --- a/participate/dex/Overview/smart_contracts/index.html +++ b/participate/dex/Overview/smart_contracts/index.html @@ -4,13 +4,13 @@ Smart Contracts | Archethic - + - + + \ No newline at end of file diff --git a/participate/dex/index.html b/participate/dex/index.html index 0fca81641..615201618 100644 --- a/participate/dex/index.html +++ b/participate/dex/index.html @@ -4,13 +4,13 @@ Archethic DEX (aeSwap) | Archethic - +
    -

    aeSwap DEX Documentation

    Welcome to aeSwap, the decentralized exchange (DEX) platform powered by the Archethic Public Blockchain.

    aeSwap utilizes an Automated Market Maker (AMM) model to facilitate seamless swapping of assets, liquidity provision, and access to yield farming opportunities for users.

    Designed with security, low transaction fees, and a high-quality user experience in mind, aeSwap represents a cornerstone of the Archethic Decentralized Finance (DeFi) ecosystem.

    What is a Decentralized Exchange (DEX)?

    A Decentralized Exchange (DEX) is a type of cryptocurrency exchange that operates without a central governing body, allowing users to conduct peer-to-peer transactions directly from their wallets. Unlike traditional exchanges, DEXs do not hold user funds, positions, or information, and transactions are facilitated through smart contracts on a blockchain.

    DEXs offer a higher degree of privacy and security compared to centralized exchanges, as they do not require users to transfer their assets to the exchange before trading. This mitigates the risk of hacking, fraud, and mismanagement that can occur with centralized platforms.

    Key Features of aeSwap

    • Swapping Tokens: Users can easily swap between different tokens on the Archethic Public Blockchain, with the platform automatically calculating the best available rates.
    • Adding Liquidity: Participants can provide liquidity to various pools by depositing token pairs, thereby facilitating trading on the platform and earning transaction fees as rewards.
    • Removing Liquidity: Liquidity providers can withdraw their deposited tokens from liquidity pools, along with any earned fees, at any time.
    • Yield Farming: Users can engage in yield farming strategies to earn additional rewards by providing liquidity to selected pools.
    • Security: Built on the highly secure Archethic Public Blockchain, aeSwap offers robust protection against common security threats in the DeFi space.
    • Low Fees: Thanks to the efficiency of the Archethic Public Blockchain, transaction fees on aeSwap are kept to a minimum, enhancing profitability for users.
    • Seamless Experience: The platform's user interface is designed for ease of use, making it accessible to both beginners and experienced DeFi enthusiasts.

    aeSwap leverages the unique features of the Archethic Public Blockchain to provide a decentralized trading platform that is not only efficient and cost-effective but also open and accessible to a wide range of users, from casual traders to serious DeFi participants.

    How to access

    This document aims to provide a comprehensive guide to using aeSwap, including an introduction to the necessary concepts, step-by-step guides for interacting with the platform, and technical references for deeper integration and development purposes.

    FAQ

    For further information, please refer to the FAQ.

    - +

    aeSwap DEX Documentation

    Welcome to aeSwap, the decentralized exchange (DEX) platform powered by the Archethic Public Blockchain.

    aeSwap utilizes an Automated Market Maker (AMM) model to facilitate seamless swapping of assets, liquidity provision, and access to yield farming opportunities for users.

    Designed with security, low transaction fees, and a high-quality user experience in mind, aeSwap represents a cornerstone of the Archethic Decentralized Finance (DeFi) ecosystem.

    What is a Decentralized Exchange (DEX)?

    A Decentralized Exchange (DEX) is a type of cryptocurrency exchange that operates without a central governing body, allowing users to conduct peer-to-peer transactions directly from their wallets. Unlike traditional exchanges, DEXs do not hold user funds, positions, or information, and transactions are facilitated through smart contracts on a blockchain.

    DEXs offer a higher degree of privacy and security compared to centralized exchanges, as they do not require users to transfer their assets to the exchange before trading. This mitigates the risk of hacking, fraud, and mismanagement that can occur with centralized platforms.

    Key Features of aeSwap

    • Swapping Tokens: Users can easily swap between different tokens on the Archethic Public Blockchain, with the platform automatically calculating the best available rates.
    • Adding Liquidity: Participants can provide liquidity to various pools by depositing token pairs, thereby facilitating trading on the platform and earning transaction fees as rewards.
    • Removing Liquidity: Liquidity providers can withdraw their deposited tokens from liquidity pools, along with any earned fees, at any time.
    • Yield Farming: Users can engage in yield farming strategies to earn additional rewards by providing liquidity to selected pools.
    • Security: Built on the highly secure Archethic Public Blockchain, aeSwap offers robust protection against common security threats in the DeFi space.
    • Low Fees: Thanks to the efficiency of the Archethic Public Blockchain, transaction fees on aeSwap are kept to a minimum, enhancing profitability for users.
    • Seamless Experience: The platform's user interface is designed for ease of use, making it accessible to both beginners and experienced DeFi enthusiasts.

    aeSwap leverages the unique features of the Archethic Public Blockchain to provide a decentralized trading platform that is not only efficient and cost-effective but also open and accessible to a wide range of users, from casual traders to serious DeFi participants.

    How to access

    This document aims to provide a comprehensive guide to using aeSwap, including an introduction to the necessary concepts, step-by-step guides for interacting with the platform, and technical references for deeper integration and development purposes.

    FAQ

    For further information, please refer to the FAQ.

    + \ No newline at end of file diff --git a/participate/wallet/dapps-communication/index.html b/participate/wallet/dapps-communication/index.html index 68e523ec6..2b0eb04df 100644 --- a/participate/wallet/dapps-communication/index.html +++ b/participate/wallet/dapps-communication/index.html @@ -4,13 +4,13 @@ Communication with DApps | Archethic - +
    -

    Communication with DApps

    caution

    This documentation aims to get an in-depth understanding of the Archethic Wallet RPC protocol.

    If you are more interested in DApp development, check these documents.

    In the blockchain ecosystem, decentralized applications (dApps) are becoming increasingly popular. To enable reliable and secure communication between these applications and the blockchain, Archethic has developed a communication protocol with its Archethic Wallet application. This protocol allows dApps to delegate secure communication with the blockchain to the wallet and to protect private information within the wallet (seed, private keys) without exposing it to the dApps.

    Point of view on usage

    When a dApp wants to perform a transaction that requires the use of private keys, it must call on the user’s wallet to protect this information and avoid unauthorized exposure. There are several ways to do this:

    The dApp can solicit the wallet in a “covert” manner without requiring the user’s intervention. For example, it can retrieve information about the current account or services available in the decentralized wallet.

    1

    The dApp can also listen to the wallet and adapt itself according to the actions performed in it. For example, a change in the current account in the wallet may result in a change in the current account in the dApp.

    2

    Finally, the dApp can solicit the wallet and ask the user to confirm an action. For example, this could be the signing of a transaction.

    3

    Technical point of view

    In order not to limit the platforms, Archethic has implemented two protocols to allow an easy integration of its wallet with dApps:

    • For Desktop and Web Client platforms, Archethic uses the Local RPC server protocol. A WebSocket server is provided by Archethic Wallet, using the JSON-RPC 2.0 protocol. DApp developers can use the Dart or JS coded communication libraries provided by Archethic to easily integrate this functionality into their dApp.
    • For Mobile platforms, Archethic uses DeepLinks via an HTTPS URL to enable communication between the dApp and the Archethic wallet.

    For the Dart and Flutter part, these protocols have been implemented within the “Archethic Wallet Client” (AWC) communication library, which therefore allows Dapps to communicate with the Archethic wallet through a unified interface.

    4

    AWC supports several API methods, including signing and sending transactions to the Archethic blockchain, retrieving the wallet’s endpoint URL, retrieving accounts available on the wallet, adding services to the keychain, and more.

    Using AWC allows Dapps developers to focus on developing their application rather than managing communication with the wallet and blockchain. The solution is also cross-platform (macOS, iOS, Android, Web, Windows, Linux), which facilitates the interaction between users and the blockchain and avoids forcing developers to develop their Dapps on a specific platform.

    It is worth noting that for the JS part, developers can find the interfaces directly in the “libjs” library of Archethic. This greatly facilitates the integration of the wallet with dApps written in JavaScript.

    5

    In conclusion

    The communication protocol developed by Archethic allows an easy and secure interaction between dApps and the blockchain by delegating the communication to the user’s wallet. The integration methods proposed are simple and efficient, especially thanks to the “Archethic Wallet Client” (AWC) communication library which facilitates the use of the API. Developers can focus on developing their application without having to manage communication with the wallet and the blockchain. This cross-platform solution is therefore a wise choice for developers who want to write dApps that are compatible with different platforms. Finally, the availability of interfaces in the “libjs” library also facilitates integration for developers of applications written in JavaScript.

    Find more information at the following links.

    - +

    Communication with DApps

    caution

    This documentation aims to get an in-depth understanding of the Archethic Wallet RPC protocol.

    If you are more interested in DApp development, check these documents.

    In the blockchain ecosystem, decentralized applications (dApps) are becoming increasingly popular. To enable reliable and secure communication between these applications and the blockchain, Archethic has developed a communication protocol with its Archethic Wallet application. This protocol allows dApps to delegate secure communication with the blockchain to the wallet and to protect private information within the wallet (seed, private keys) without exposing it to the dApps.

    Point of view on usage

    When a dApp wants to perform a transaction that requires the use of private keys, it must call on the user’s wallet to protect this information and avoid unauthorized exposure. There are several ways to do this:

    The dApp can solicit the wallet in a “covert” manner without requiring the user’s intervention. For example, it can retrieve information about the current account or services available in the decentralized wallet.

    1

    The dApp can also listen to the wallet and adapt itself according to the actions performed in it. For example, a change in the current account in the wallet may result in a change in the current account in the dApp.

    2

    Finally, the dApp can solicit the wallet and ask the user to confirm an action. For example, this could be the signing of a transaction.

    3

    Technical point of view

    In order not to limit the platforms, Archethic has implemented two protocols to allow an easy integration of its wallet with dApps:

    • For Desktop and Web Client platforms, Archethic uses the Local RPC server protocol. A WebSocket server is provided by Archethic Wallet, using the JSON-RPC 2.0 protocol. DApp developers can use the Dart or JS coded communication libraries provided by Archethic to easily integrate this functionality into their dApp.
    • For Mobile platforms, Archethic uses DeepLinks via an HTTPS URL to enable communication between the dApp and the Archethic wallet.

    For the Dart and Flutter part, these protocols have been implemented within the “Archethic Wallet Client” (AWC) communication library, which therefore allows Dapps to communicate with the Archethic wallet through a unified interface.

    4

    AWC supports several API methods, including signing and sending transactions to the Archethic blockchain, retrieving the wallet’s endpoint URL, retrieving accounts available on the wallet, adding services to the keychain, and more.

    Using AWC allows Dapps developers to focus on developing their application rather than managing communication with the wallet and blockchain. The solution is also cross-platform (macOS, iOS, Android, Web, Windows, Linux), which facilitates the interaction between users and the blockchain and avoids forcing developers to develop their Dapps on a specific platform.

    It is worth noting that for the JS part, developers can find the interfaces directly in the “libjs” library of Archethic. This greatly facilitates the integration of the wallet with dApps written in JavaScript.

    5

    In conclusion

    The communication protocol developed by Archethic allows an easy and secure interaction between dApps and the blockchain by delegating the communication to the user’s wallet. The integration methods proposed are simple and efficient, especially thanks to the “Archethic Wallet Client” (AWC) communication library which facilitates the use of the API. Developers can focus on developing their application without having to manage communication with the wallet and the blockchain. This cross-platform solution is therefore a wise choice for developers who want to write dApps that are compatible with different platforms. Finally, the availability of interfaces in the “libjs” library also facilitates integration for developers of applications written in JavaScript.

    Find more information at the following links.

    + \ No newline at end of file diff --git a/participate/wallet/index.html b/participate/wallet/index.html index abe4ce11c..d1df4d081 100644 --- a/participate/wallet/index.html +++ b/participate/wallet/index.html @@ -4,7 +4,7 @@ Archethic Wallet (aeWallet) | Archethic - + @@ -16,8 +16,8 @@ Finally, for OTP via Yubicloud: Yubico OTP is a simple yet strong authentication mechanism that is supported by all YubiKeys out of the box. Yubico OTP can be used as the second factor in a 2-factor authentication scheme or on its own, providing 1-factor authentication. YubiCloud is the name of Yubico’s web service for verifying OTPs. Before using YubiCloud, you need to get an API key from here - it is quick, free and helps us in preventing misuse of YubiCloud.

    Data store

    Archethic Wallet stores a set of information so that the application is functional in both online and offline mode.

    The first group of information represents the globally available user preferences:

    • First Launch: Allows to know if this is the first launch of the application in order to clear the keystore for iOS. Indeed, iOS key store is persistent, so if this is first launch then we will clear the keystore.
    • Authentification Method: Allows to know which authentication mode is used (PIN, password, YubiKey, biometrics).
    • Current Currency: Allows you to know what currency is used in the application.
    • Current Language: Allows you to know which language is used in the application.
    • Current Primary Setting: Allows to know if the currency displayed in priority is Fiat or Crypto.
    • Current Network: Allows to know if the wallet is connected to mainnet, testnet or to a local node whose endpoint is recorded in the following information.
    • Current Network Endpoint: Allows to know the address of the local node.
    • Current Theme: Allows to know which theme is used in the application.
    • Lock: Allows to know if it is necessary to authenticate at the launching of the application.
    • Lock Timeout: Allows to know after how long the application requires authentication at its launch if the user has left the application open to browse for another one for example.
    • Auto Lock Date: Contains the timestamp of the last autolock.
    • Privacy Mask: Hides or unhides the application when switching applications
    • Pin Pad Shuffle: Allows you to determine whether the PIN code keyboard should be shuffled when entering.
    • Last Interaction Date: Records the timestamp of the last interaction with the application to calculate the duration of inactivity.
    • Has Shown Root Warning: Finds out whether the user has been informed that the device has been rooted.
    • Show Balances: Allows you to determine if the financial information should be displayed.
    • Show Price Chart: Allows you to determine whether the graph and indicators of the UCO price chart should be displayed.
    • Price Chart Scale: Current scale of the price chart.
    • Active Vibrations: Allows to know if at each action, a small vibration is emitted on the mobiles.
    • Active Notifications: Allows to know if the notifications of reception of UCO are active or not.
    • Active RPC Server: Allows DApps connect to the wallet to get informations or send/sign transactions.
    • Language Seed: Allows to know if the seed phrase is composed of French or English words.
    • Current Version: Current version of the wallet app installed.
    • Main Screen Current Page: Current page selected on the main screen.
    • Current version: Current version of the installed application.

    The second group of information represents the sensitive elements related to security:

    • Seed: Allows to store the wallet seed needed to perform transactions on the Archethic blockchain.
    • PIN: Allows to store the PIN code in case this authentication method has been chosen.
    • Password: Allows to keep the password in case this authentication method has been chosen.
    • Yubicloud ID and API Key: Allows to keep the authentication information for the management of the OTP with the YubiKey in case this authentication method has been chosen. This information is stored securely.
    • Keychain secured informations: Keychain's informations like keychain's seed, keychain's version and the associated list of services.
    • And finally, a secure 256-bit (32 bytes) encryption key to secure data on the disk.
    info

    Remember that Archethic will never pass on your data to a third party or use your data in any other way than that offered by the application

    In the case of user preference data, we made the choice to store it in a local database Hive rather than the Flutter object SharedPreferences for performance reasons. All the information is available in this medium article. These data are stored in clear text because they are not sensitive.

    On the other hand, the information related to security management must be protected. Here again, Hive is used but the stored values are encrypted. Hive provides a helper function to generate a secure encryption key using the Fortuna random number generator. -The key is stored base64 encoded in a secure space via the FlutterSecureStorage library.

    Interactions with the Archethic blockchain

    Based on the Archethic JS SDK, a SDK has been developed in dart and is maintained by the Archethic teams in order to offer internal or community-developed Flutter DApps to interact with the Archethic Blockchain.

    This open-source SDK "archethic_lib_dart", available on GitHub, can be added as dependencies in Dart or Flutter projects via the Flutter libraries and packages sharing site Pub.dev.

    Setup

    Pre-requisites

    • Flutter 3.24+
    • Dart 3.5+

    Instructions

    • Download the repo into a folder
    • Goto the folder and from terminal run flutter pub get to get the packages
    • Once packages are installed
      • You can build and run the program for emulator from VSCode Flutter SDK Tools
      • You can build for android emulator if already installed.
    • Once the packages and installed and application is built
    • Run the program with flutter run
    - +The key is stored base64 encoded in a secure space via the FlutterSecureStorage library.

    Interactions with the Archethic blockchain

    Based on the Archethic JS SDK, a SDK has been developed in dart and is maintained by the Archethic teams in order to offer internal or community-developed Flutter DApps to interact with the Archethic Blockchain.

    This open-source SDK "archethic_lib_dart", available on GitHub, can be added as dependencies in Dart or Flutter projects via the Flutter libraries and packages sharing site Pub.dev.

    Setup

    Pre-requisites

    • Flutter 3.24+
    • Dart 3.5+

    Instructions

    • Download the repo into a folder
    • Goto the folder and from terminal run flutter pub get to get the packages
    • Once packages are installed
      • You can build and run the program for emulator from VSCode Flutter SDK Tools
      • You can build for android emulator if already installed.
    • Once the packages and installed and application is built
    • Run the program with flutter run
    + \ No newline at end of file diff --git a/schema/index.html b/schema/index.html index d11ee4830..ef773dc3e 100644 --- a/schema/index.html +++ b/schema/index.html @@ -4,13 +4,13 @@ Schema Documentation | Archethic - +
    -

    Schema Documentation

    This documentation has been automatically generated from the GraphQL schema.

    Use the docs in the sidebar to find out how to use the schema:

    • Allowed operations: queries and mutations.
    • Schema-defined types: scalars, objects, enums, interfaces, unions, and input objects.
    Generated on 6/20/2024, 4:15:30 PM.
    - +

    Schema Documentation

    This documentation has been automatically generated from the GraphQL schema.

    Use the docs in the sidebar to find out how to use the schema:

    • Allowed operations: queries and mutations.
    • Schema-defined types: scalars, objects, enums, interfaces, unions, and input objects.
    Generated on 6/20/2024, 4:15:30 PM.
    + \ No newline at end of file diff --git a/search-index-docs-default-current.json b/search-index-docs-default-current.json index dda8f4072..93dbb8953 100644 --- a/search-index-docs-default-current.json +++ b/search-index-docs-default-current.json @@ -1 +1 @@ -{"documents":[{"id":2,"pageTitle":"include","sectionTitle":"include","sectionRoute":"/build/api/schema/directives/include","type":"docs"},{"id":3,"pageTitle":"include","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/directives/include#arguments","type":"docs"},{"id":4,"pageTitle":"skip","sectionTitle":"skip","sectionRoute":"/build/api/schema/directives/skip","type":"docs"},{"id":5,"pageTitle":"skip","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/directives/skip#arguments","type":"docs"},{"id":6,"pageTitle":"ErrorContext","sectionTitle":"ErrorContext","sectionRoute":"/build/api/schema/enums/error-context","type":"docs"},{"id":7,"pageTitle":"ErrorContext","sectionTitle":"Values","sectionRoute":"/build/api/schema/enums/error-context#values","type":"docs"},{"id":8,"pageTitle":"ErrorContext","sectionTitle":"Member of","sectionRoute":"/build/api/schema/enums/error-context#member-of","type":"docs"},{"id":9,"pageTitle":"SortOrder","sectionTitle":"SortOrder","sectionRoute":"/build/api/schema/enums/sort-order","type":"docs"},{"id":10,"pageTitle":"SortOrder","sectionTitle":"Values","sectionRoute":"/build/api/schema/enums/sort-order#values","type":"docs"},{"id":11,"pageTitle":"SortOrder","sectionTitle":"Member of","sectionRoute":"/build/api/schema/enums/sort-order#member-of","type":"docs"},{"id":12,"pageTitle":"AuthorizedKey","sectionTitle":"AuthorizedKey","sectionRoute":"/build/api/schema/objects/authorized-key","type":"docs"},{"id":13,"pageTitle":"AuthorizedKey","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/authorized-key#fields","type":"docs"},{"id":14,"pageTitle":"AuthorizedKey","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/authorized-key#member-of","type":"docs"},{"id":15,"pageTitle":"Balance","sectionTitle":"Balance","sectionRoute":"/build/api/schema/objects/balance","type":"docs"},{"id":16,"pageTitle":"Balance","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/balance#fields","type":"docs"},{"id":17,"pageTitle":"Balance","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/balance#returned-by","type":"docs"},{"id":18,"pageTitle":"Balance","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/balance#member-of","type":"docs"},{"id":19,"pageTitle":"BeaconChainSummary","sectionTitle":"BeaconChainSummary","sectionRoute":"/build/api/schema/objects/beacon-chain-summary","type":"docs"},{"id":20,"pageTitle":"BeaconChainSummary","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/beacon-chain-summary#fields","type":"docs"},{"id":21,"pageTitle":"BeaconChainSummary","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/beacon-chain-summary#returned-by","type":"docs"},{"id":22,"pageTitle":"ConsumedInputs","sectionTitle":"ConsumedInputs","sectionRoute":"/build/api/schema/objects/consumed-inputs","type":"docs"},{"id":23,"pageTitle":"ConsumedInputs","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/consumed-inputs#fields","type":"docs"},{"id":24,"pageTitle":"ConsumedInputs","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/consumed-inputs#member-of","type":"docs"},{"id":25,"pageTitle":"CrossValidationStamp","sectionTitle":"CrossValidationStamp","sectionRoute":"/build/api/schema/objects/cross-validation-stamp","type":"docs"},{"id":26,"pageTitle":"CrossValidationStamp","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/cross-validation-stamp#fields","type":"docs"},{"id":27,"pageTitle":"CrossValidationStamp","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/cross-validation-stamp#member-of","type":"docs"},{"id":28,"pageTitle":"Data","sectionTitle":"Data","sectionRoute":"/build/api/schema/objects/data","type":"docs"},{"id":29,"pageTitle":"Data","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/data#fields","type":"docs"},{"id":30,"pageTitle":"Data","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/data#member-of","type":"docs"},{"id":31,"pageTitle":"Endpoint","sectionTitle":"Endpoint","sectionRoute":"/build/api/schema/objects/endpoint","type":"docs"},{"id":32,"pageTitle":"Endpoint","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/endpoint#fields","type":"docs"},{"id":33,"pageTitle":"Endpoint","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/endpoint#returned-by","type":"docs"},{"id":34,"pageTitle":"ErrorDetails","sectionTitle":"ErrorDetails","sectionRoute":"/build/api/schema/objects/error-details","type":"docs"},{"id":35,"pageTitle":"ErrorDetails","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/error-details#fields","type":"docs"},{"id":36,"pageTitle":"ErrorDetails","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/error-details#member-of","type":"docs"},{"id":37,"pageTitle":"Ledger","sectionTitle":"Ledger","sectionRoute":"/build/api/schema/objects/ledger","type":"docs"},{"id":38,"pageTitle":"Ledger","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/ledger#fields","type":"docs"},{"id":39,"pageTitle":"Ledger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/ledger#member-of","type":"docs"},{"id":40,"pageTitle":"LedgerOperations","sectionTitle":"LedgerOperations","sectionRoute":"/build/api/schema/objects/ledger-operations","type":"docs"},{"id":41,"pageTitle":"LedgerOperations","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/ledger-operations#fields","type":"docs"},{"id":42,"pageTitle":"LedgerOperations","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/ledger-operations#member-of","type":"docs"},{"id":43,"pageTitle":"Node","sectionTitle":"Node","sectionRoute":"/build/api/schema/objects/node","type":"docs"},{"id":44,"pageTitle":"Node","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/node#fields","type":"docs"},{"id":45,"pageTitle":"Node","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/node#returned-by","type":"docs"},{"id":46,"pageTitle":"OracleData","sectionTitle":"OracleData","sectionRoute":"/build/api/schema/objects/oracle-data","type":"docs"},{"id":47,"pageTitle":"OracleData","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/oracle-data#fields","type":"docs"},{"id":48,"pageTitle":"OracleData","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/oracle-data#returned-by","type":"docs"},{"id":49,"pageTitle":"OracleServices","sectionTitle":"OracleServices","sectionRoute":"/build/api/schema/objects/oracle-services","type":"docs"},{"id":50,"pageTitle":"OracleServices","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/oracle-services#fields","type":"docs"},{"id":51,"pageTitle":"OracleServices","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/oracle-services#member-of","type":"docs"},{"id":52,"pageTitle":"Ownership","sectionTitle":"Ownership","sectionRoute":"/build/api/schema/objects/ownership","type":"docs"},{"id":53,"pageTitle":"Ownership","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/ownership#fields","type":"docs"},{"id":54,"pageTitle":"Ownership","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/ownership#member-of","type":"docs"},{"id":55,"pageTitle":"Recipient","sectionTitle":"Recipient","sectionRoute":"/build/api/schema/objects/recipient","type":"docs"},{"id":56,"pageTitle":"Recipient","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/recipient#fields","type":"docs"},{"id":57,"pageTitle":"Recipient","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/recipient#member-of","type":"docs"},{"id":58,"pageTitle":"SharedSecrets","sectionTitle":"SharedSecrets","sectionRoute":"/build/api/schema/objects/shared-secrets","type":"docs"},{"id":59,"pageTitle":"SharedSecrets","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/shared-secrets#fields","type":"docs"},{"id":60,"pageTitle":"SharedSecrets","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/shared-secrets#returned-by","type":"docs"},{"id":61,"pageTitle":"Token","sectionTitle":"Token","sectionRoute":"/build/api/schema/objects/token","type":"docs"},{"id":62,"pageTitle":"Token","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token#fields","type":"docs"},{"id":63,"pageTitle":"Token","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/token#returned-by","type":"docs"},{"id":64,"pageTitle":"TokenBalance","sectionTitle":"TokenBalance","sectionRoute":"/build/api/schema/objects/token-balance","type":"docs"},{"id":65,"pageTitle":"TokenBalance","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token-balance#fields","type":"docs"},{"id":66,"pageTitle":"TokenBalance","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/token-balance#member-of","type":"docs"},{"id":67,"pageTitle":"TokenLedger","sectionTitle":"TokenLedger","sectionRoute":"/build/api/schema/objects/token-ledger","type":"docs"},{"id":68,"pageTitle":"TokenLedger","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token-ledger#fields","type":"docs"},{"id":69,"pageTitle":"TokenLedger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/token-ledger#member-of","type":"docs"},{"id":70,"pageTitle":"TokenTransfer","sectionTitle":"TokenTransfer","sectionRoute":"/build/api/schema/objects/token-transfer","type":"docs"},{"id":71,"pageTitle":"TokenTransfer","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token-transfer#fields","type":"docs"},{"id":72,"pageTitle":"TokenTransfer","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/token-transfer#member-of","type":"docs"},{"id":73,"pageTitle":"Transaction","sectionTitle":"Transaction","sectionRoute":"/build/api/schema/objects/transaction","type":"docs"},{"id":74,"pageTitle":"Transaction","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction#fields","type":"docs"},{"id":75,"pageTitle":"Transaction","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction#returned-by","type":"docs"},{"id":76,"pageTitle":"TransactionAttestation","sectionTitle":"TransactionAttestation","sectionRoute":"/build/api/schema/objects/transaction-attestation","type":"docs"},{"id":77,"pageTitle":"TransactionAttestation","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-attestation#fields","type":"docs"},{"id":78,"pageTitle":"TransactionAttestation","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction-attestation#returned-by","type":"docs"},{"id":83,"pageTitle":"TransactionError","sectionTitle":"TransactionError","sectionRoute":"/build/api/schema/objects/transaction-error","type":"docs"},{"id":84,"pageTitle":"TransactionError","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-error#fields","type":"docs"},{"id":85,"pageTitle":"TransactionError","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction-error#returned-by","type":"docs"},{"id":79,"pageTitle":"TransactionInput","sectionTitle":"TransactionInput","sectionRoute":"/build/api/schema/objects/transaction-input","type":"docs"},{"id":80,"pageTitle":"TransactionInput","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-input#fields","type":"docs"},{"id":81,"pageTitle":"TransactionInput","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction-input#returned-by","type":"docs"},{"id":82,"pageTitle":"TransactionInput","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/transaction-input#member-of","type":"docs"},{"id":86,"pageTitle":"TransactionMovement","sectionTitle":"TransactionMovement","sectionRoute":"/build/api/schema/objects/transaction-movement","type":"docs"},{"id":87,"pageTitle":"TransactionMovement","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-movement#fields","type":"docs"},{"id":88,"pageTitle":"TransactionMovement","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/transaction-movement#member-of","type":"docs"},{"id":89,"pageTitle":"TransactionSummary","sectionTitle":"TransactionSummary","sectionRoute":"/build/api/schema/objects/transaction-summary","type":"docs"},{"id":90,"pageTitle":"TransactionSummary","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-summary#fields","type":"docs"},{"id":91,"pageTitle":"TransactionSummary","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/transaction-summary#member-of","type":"docs"},{"id":92,"pageTitle":"UcoData","sectionTitle":"UcoData","sectionRoute":"/build/api/schema/objects/uco-data","type":"docs"},{"id":93,"pageTitle":"UcoData","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/uco-data#fields","type":"docs"},{"id":94,"pageTitle":"UcoData","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/uco-data#member-of","type":"docs"},{"id":95,"pageTitle":"UcoLedger","sectionTitle":"UcoLedger","sectionRoute":"/build/api/schema/objects/uco-ledger","type":"docs"},{"id":96,"pageTitle":"UcoLedger","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/uco-ledger#fields","type":"docs"},{"id":97,"pageTitle":"UcoLedger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/uco-ledger#member-of","type":"docs"},{"id":102,"pageTitle":"UcoTransfer","sectionTitle":"UcoTransfer","sectionRoute":"/build/api/schema/objects/uco-transfer","type":"docs"},{"id":103,"pageTitle":"UcoTransfer","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/uco-transfer#fields","type":"docs"},{"id":104,"pageTitle":"UcoTransfer","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/uco-transfer#member-of","type":"docs"},{"id":98,"pageTitle":"UnspentOutput","sectionTitle":"UnspentOutput","sectionRoute":"/build/api/schema/objects/unspent-output","type":"docs"},{"id":99,"pageTitle":"UnspentOutput","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/unspent-output#fields","type":"docs"},{"id":100,"pageTitle":"UnspentOutput","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/unspent-output#returned-by","type":"docs"},{"id":101,"pageTitle":"UnspentOutput","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/unspent-output#member-of","type":"docs"},{"id":105,"pageTitle":"ValidationStamp","sectionTitle":"ValidationStamp","sectionRoute":"/build/api/schema/objects/validation-stamp","type":"docs"},{"id":106,"pageTitle":"ValidationStamp","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/validation-stamp#fields","type":"docs"},{"id":107,"pageTitle":"ValidationStamp","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/validation-stamp#member-of","type":"docs"},{"id":108,"pageTitle":"Version","sectionTitle":"Version","sectionRoute":"/build/api/schema/objects/version","type":"docs"},{"id":109,"pageTitle":"Version","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/version#fields","type":"docs"},{"id":110,"pageTitle":"Version","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/version#returned-by","type":"docs"},{"id":111,"pageTitle":"balance","sectionTitle":"balance","sectionRoute":"/build/api/schema/queries/balance","type":"docs"},{"id":112,"pageTitle":"balance","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/balance#arguments","type":"docs"},{"id":113,"pageTitle":"balance","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/balance#type","type":"docs"},{"id":114,"pageTitle":"beaconChainSummary","sectionTitle":"beaconChainSummary","sectionRoute":"/build/api/schema/queries/beacon-chain-summary","type":"docs"},{"id":115,"pageTitle":"beaconChainSummary","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/beacon-chain-summary#arguments","type":"docs"},{"id":116,"pageTitle":"beaconChainSummary","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/beacon-chain-summary#type","type":"docs"},{"id":117,"pageTitle":"chainUnspentOutputs","sectionTitle":"chainUnspentOutputs","sectionRoute":"/build/api/schema/queries/chain-unspent-outputs","type":"docs"},{"id":118,"pageTitle":"chainUnspentOutputs","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/chain-unspent-outputs#arguments","type":"docs"},{"id":119,"pageTitle":"chainUnspentOutputs","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/chain-unspent-outputs#type","type":"docs"},{"id":120,"pageTitle":"genesisAddress","sectionTitle":"genesisAddress","sectionRoute":"/build/api/schema/queries/genesis-address","type":"docs"},{"id":121,"pageTitle":"genesisAddress","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/genesis-address#arguments","type":"docs"},{"id":122,"pageTitle":"genesisAddress","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/genesis-address#type","type":"docs"},{"id":123,"pageTitle":"lastTransaction","sectionTitle":"lastTransaction","sectionRoute":"/build/api/schema/queries/last-transaction","type":"docs"},{"id":124,"pageTitle":"lastTransaction","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/last-transaction#arguments","type":"docs"},{"id":125,"pageTitle":"lastTransaction","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/last-transaction#type","type":"docs"},{"id":126,"pageTitle":"nearestEndpoints","sectionTitle":"nearestEndpoints","sectionRoute":"/build/api/schema/queries/nearest-endpoints","type":"docs"},{"id":127,"pageTitle":"nearestEndpoints","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/nearest-endpoints#type","type":"docs"},{"id":128,"pageTitle":"networkTransactions","sectionTitle":"networkTransactions","sectionRoute":"/build/api/schema/queries/network-transactions","type":"docs"},{"id":129,"pageTitle":"networkTransactions","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/network-transactions#arguments","type":"docs"},{"id":130,"pageTitle":"networkTransactions","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/network-transactions#type","type":"docs"},{"id":131,"pageTitle":"nodes","sectionTitle":"nodes","sectionRoute":"/build/api/schema/queries/nodes","type":"docs"},{"id":132,"pageTitle":"nodes","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/nodes#type","type":"docs"},{"id":133,"pageTitle":"oracleData","sectionTitle":"oracleData","sectionRoute":"/build/api/schema/queries/oracle-data","type":"docs"},{"id":134,"pageTitle":"oracleData","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/oracle-data#arguments","type":"docs"},{"id":135,"pageTitle":"oracleData","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/oracle-data#type","type":"docs"},{"id":139,"pageTitle":"sharedSecrets","sectionTitle":"sharedSecrets","sectionRoute":"/build/api/schema/queries/shared-secrets","type":"docs"},{"id":140,"pageTitle":"sharedSecrets","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/shared-secrets#type","type":"docs"},{"id":136,"pageTitle":"token","sectionTitle":"token","sectionRoute":"/build/api/schema/queries/token","type":"docs"},{"id":137,"pageTitle":"token","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/token#arguments","type":"docs"},{"id":138,"pageTitle":"token","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/token#type","type":"docs"},{"id":141,"pageTitle":"transaction","sectionTitle":"transaction","sectionRoute":"/build/api/schema/queries/transaction","type":"docs"},{"id":142,"pageTitle":"transaction","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transaction#arguments","type":"docs"},{"id":143,"pageTitle":"transaction","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transaction#type","type":"docs"},{"id":147,"pageTitle":"transactionChain","sectionTitle":"transactionChain","sectionRoute":"/build/api/schema/queries/transaction-chain","type":"docs"},{"id":148,"pageTitle":"transactionChain","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transaction-chain#arguments","type":"docs"},{"id":149,"pageTitle":"transactionChain","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transaction-chain#type","type":"docs"},{"id":144,"pageTitle":"transactionInputs","sectionTitle":"transactionInputs","sectionRoute":"/build/api/schema/queries/transaction-inputs","type":"docs"},{"id":145,"pageTitle":"transactionInputs","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transaction-inputs#arguments","type":"docs"},{"id":146,"pageTitle":"transactionInputs","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transaction-inputs#type","type":"docs"},{"id":150,"pageTitle":"transactions","sectionTitle":"transactions","sectionRoute":"/build/api/schema/queries/transactions","type":"docs"},{"id":151,"pageTitle":"transactions","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transactions#arguments","type":"docs"},{"id":152,"pageTitle":"transactions","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transactions#type","type":"docs"},{"id":153,"pageTitle":"version","sectionTitle":"version","sectionRoute":"/build/api/schema/queries/version","type":"docs"},{"id":154,"pageTitle":"version","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/version#type","type":"docs"},{"id":155,"pageTitle":"Address","sectionTitle":"Address","sectionRoute":"/build/api/schema/scalars/address","type":"docs"},{"id":156,"pageTitle":"Address","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/scalars/address#returned-by","type":"docs"},{"id":157,"pageTitle":"Address","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/address#member-of","type":"docs"},{"id":160,"pageTitle":"Boolean","sectionTitle":"Boolean","sectionRoute":"/build/api/schema/scalars/boolean","type":"docs"},{"id":161,"pageTitle":"Boolean","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/boolean#member-of","type":"docs"},{"id":158,"pageTitle":"Content","sectionTitle":"Content","sectionRoute":"/build/api/schema/scalars/content","type":"docs"},{"id":159,"pageTitle":"Content","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/content#member-of","type":"docs"},{"id":162,"pageTitle":"ErrorData","sectionTitle":"ErrorData","sectionRoute":"/build/api/schema/scalars/error-data","type":"docs"},{"id":163,"pageTitle":"ErrorData","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/error-data#member-of","type":"docs"},{"id":164,"pageTitle":"Float","sectionTitle":"Float","sectionRoute":"/build/api/schema/scalars/float","type":"docs"},{"id":165,"pageTitle":"Float","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/float#member-of","type":"docs"},{"id":168,"pageTitle":"Hash","sectionTitle":"Hash","sectionRoute":"/build/api/schema/scalars/hash","type":"docs"},{"id":169,"pageTitle":"Hash","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/hash#member-of","type":"docs"},{"id":166,"pageTitle":"Hex","sectionTitle":"Hex","sectionRoute":"/build/api/schema/scalars/hex","type":"docs"},{"id":167,"pageTitle":"Hex","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/hex#member-of","type":"docs"},{"id":170,"pageTitle":"Int","sectionTitle":"Int","sectionRoute":"/build/api/schema/scalars/int","type":"docs"},{"id":171,"pageTitle":"Int","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/int#member-of","type":"docs"},{"id":172,"pageTitle":"NonNegInteger","sectionTitle":"NonNegInteger","sectionRoute":"/build/api/schema/scalars/non-neg-integer","type":"docs"},{"id":173,"pageTitle":"NonNegInteger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/non-neg-integer#member-of","type":"docs"},{"id":174,"pageTitle":"P2pAvailabilities","sectionTitle":"P2pAvailabilities","sectionRoute":"/build/api/schema/scalars/p2-p-availabilities","type":"docs"},{"id":175,"pageTitle":"P2pAvailabilities","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/p2-p-availabilities#member-of","type":"docs"},{"id":178,"pageTitle":"PosInteger","sectionTitle":"PosInteger","sectionRoute":"/build/api/schema/scalars/pos-integer","type":"docs"},{"id":179,"pageTitle":"PosInteger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/pos-integer#member-of","type":"docs"},{"id":176,"pageTitle":"PublicKey","sectionTitle":"PublicKey","sectionRoute":"/build/api/schema/scalars/public-key","type":"docs"},{"id":177,"pageTitle":"PublicKey","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/public-key#member-of","type":"docs"},{"id":180,"pageTitle":"RecipientArgs","sectionTitle":"RecipientArgs","sectionRoute":"/build/api/schema/scalars/recipient-args","type":"docs"},{"id":181,"pageTitle":"RecipientArgs","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/recipient-args#member-of","type":"docs"},{"id":182,"pageTitle":"Sha256Hash","sectionTitle":"Sha256Hash","sectionRoute":"/build/api/schema/scalars/sha-256-hash","type":"docs"},{"id":183,"pageTitle":"Sha256Hash","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/sha-256-hash#member-of","type":"docs"},{"id":184,"pageTitle":"State","sectionTitle":"State","sectionRoute":"/build/api/schema/scalars/state","type":"docs"},{"id":185,"pageTitle":"State","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/state#member-of","type":"docs"},{"id":186,"pageTitle":"String","sectionTitle":"String","sectionRoute":"/build/api/schema/scalars/string","type":"docs"},{"id":187,"pageTitle":"String","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/string#member-of","type":"docs"},{"id":188,"pageTitle":"Timestamp","sectionTitle":"Timestamp","sectionRoute":"/build/api/schema/scalars/timestamp","type":"docs"},{"id":189,"pageTitle":"Timestamp","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/timestamp#member-of","type":"docs"},{"id":190,"pageTitle":"TokenProperties","sectionTitle":"TokenProperties","sectionRoute":"/build/api/schema/scalars/token-properties","type":"docs"},{"id":191,"pageTitle":"TokenProperties","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/token-properties#member-of","type":"docs"},{"id":192,"pageTitle":"TransactionType","sectionTitle":"TransactionType","sectionRoute":"/build/api/schema/scalars/transaction-type","type":"docs"},{"id":193,"pageTitle":"TransactionType","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/transaction-type#member-of","type":"docs"},{"id":194,"pageTitle":"VersionedHash","sectionTitle":"VersionedHash","sectionRoute":"/build/api/schema/scalars/versioned-hash","type":"docs"},{"id":195,"pageTitle":"VersionedHash","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/versioned-hash#member-of","type":"docs"},{"id":196,"pageTitle":"oracleUpdate","sectionTitle":"oracleUpdate","sectionRoute":"/build/api/schema/subscriptions/oracle-update","type":"docs"},{"id":197,"pageTitle":"oracleUpdate","sectionTitle":"Type","sectionRoute":"/build/api/schema/subscriptions/oracle-update#type","type":"docs"},{"id":198,"pageTitle":"transactionConfirmed","sectionTitle":"transactionConfirmed","sectionRoute":"/build/api/schema/subscriptions/transaction-confirmed","type":"docs"},{"id":199,"pageTitle":"transactionConfirmed","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/subscriptions/transaction-confirmed#arguments","type":"docs"},{"id":200,"pageTitle":"transactionConfirmed","sectionTitle":"Type","sectionRoute":"/build/api/schema/subscriptions/transaction-confirmed#type","type":"docs"},{"id":207,"pageTitle":"transactionError","sectionTitle":"transactionError","sectionRoute":"/build/api/schema/subscriptions/transaction-error","type":"docs"},{"id":208,"pageTitle":"transactionError","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/subscriptions/transaction-error#arguments","type":"docs"},{"id":209,"pageTitle":"transactionError","sectionTitle":"Type","sectionRoute":"/build/api/schema/subscriptions/transaction-error#type","type":"docs"},{"id":201,"pageTitle":"","sectionTitle":"Introduction","sectionRoute":"/build/clients/ledger-wallet/","type":"docs"},{"id":202,"pageTitle":"","sectionTitle":"Synopsis","sectionRoute":"/build/clients/ledger-wallet/#synopsis","type":"docs"},{"id":203,"pageTitle":"","sectionTitle":"Prerequisites","sectionRoute":"/build/clients/ledger-wallet/#prerequisites","type":"docs"},{"id":204,"pageTitle":"","sectionTitle":"Installation Instructions","sectionRoute":"/build/clients/ledger-wallet/#installation-instructions","type":"docs"},{"id":205,"pageTitle":"","sectionTitle":"Testing","sectionRoute":"/build/clients/ledger-wallet/#testing","type":"docs"},{"id":206,"pageTitle":"","sectionTitle":"Demo","sectionRoute":"/build/clients/ledger-wallet/#demo","type":"docs"},{"id":210,"pageTitle":"Ledger Application API","sectionTitle":"Ledger Application API","sectionRoute":"/build/clients/ledger-wallet/api","type":"docs"},{"id":211,"pageTitle":"Ledger Application API","sectionTitle":"GET VERSION","sectionRoute":"/build/clients/ledger-wallet/api#get-version","type":"docs"},{"id":212,"pageTitle":"Ledger Application API","sectionTitle":"GET DEVICE ORIGIN PUBLIC KEY","sectionRoute":"/build/clients/ledger-wallet/api#get-device-origin-public-key","type":"docs"},{"id":213,"pageTitle":"Ledger Application API","sectionTitle":"GET ARCHETHIC ADDRESS","sectionRoute":"/build/clients/ledger-wallet/api#get-archethic-address","type":"docs"},{"id":214,"pageTitle":"Ledger Application API","sectionTitle":"SIGN TRANSACTION","sectionRoute":"/build/clients/ledger-wallet/api#sign-transaction","type":"docs"},{"id":215,"pageTitle":"ADPU commands","sectionTitle":"ADPU commands","sectionRoute":"/build/clients/ledger-wallet/commands","type":"docs"},{"id":216,"pageTitle":"ADPU commands","sectionTitle":"APDU commands","sectionRoute":"/build/clients/ledger-wallet/commands#apdu-commands","type":"docs"},{"id":217,"pageTitle":"ADPU commands","sectionTitle":"Get Origin Public Key","sectionRoute":"/build/clients/ledger-wallet/commands#get-origin-public-key","type":"docs"},{"id":218,"pageTitle":"ADPU commands","sectionTitle":"Get Archethic Account Address","sectionRoute":"/build/clients/ledger-wallet/commands#get-archethic-account-address","type":"docs"},{"id":219,"pageTitle":"ADPU commands","sectionTitle":"Get Signature","sectionRoute":"/build/clients/ledger-wallet/commands#get-signature","type":"docs"},{"id":220,"pageTitle":"Archethic's wallet access","sectionTitle":"Archethic's wallet access","sectionRoute":"/build/clients/wallet-access","type":"docs"},{"id":221,"pageTitle":"Archethic's wallet access","sectionTitle":"Access enrollment","sectionRoute":"/build/clients/wallet-access#access-enrollment","type":"docs"},{"id":222,"pageTitle":"Archethic's wallet access","sectionTitle":"Keychain retrieval","sectionRoute":"/build/clients/wallet-access#keychain-retrieval","type":"docs"},{"id":223,"pageTitle":"Archethic's wallet specification","sectionTitle":"Archethic's wallet specification","sectionRoute":"/build/clients/wallet-spec","type":"docs"},{"id":224,"pageTitle":"Archethic's wallet specification","sectionTitle":"Glossary","sectionRoute":"/build/clients/wallet-spec#glossary","type":"docs"},{"id":225,"pageTitle":"Archethic's wallet specification","sectionTitle":"Cryptography","sectionRoute":"/build/clients/wallet-spec#cryptography","type":"docs"},{"id":226,"pageTitle":"Archethic's wallet specification","sectionTitle":"Derivation path","sectionRoute":"/build/clients/wallet-spec#derivation-path","type":"docs"},{"id":227,"pageTitle":"Archethic's wallet specification","sectionTitle":"Key derivation","sectionRoute":"/build/clients/wallet-spec#key-derivation","type":"docs"},{"id":228,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encryption","sectionRoute":"/build/clients/wallet-spec#encryption","type":"docs"},{"id":229,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding","sectionRoute":"/build/clients/wallet-spec#encoding","type":"docs"},{"id":230,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding of wallet","sectionRoute":"/build/clients/wallet-spec#encoding-of-wallet","type":"docs"},{"id":231,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding of Curve Types","sectionRoute":"/build/clients/wallet-spec#encoding-of-curve-types","type":"docs"},{"id":232,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding of Hash Types","sectionRoute":"/build/clients/wallet-spec#encoding-of-hash-types","type":"docs"},{"id":233,"pageTitle":"Archethic's wallet specification","sectionTitle":"Transaction representation","sectionRoute":"/build/clients/wallet-spec#transaction-representation","type":"docs"},{"id":234,"pageTitle":"Archethic's wallet specification","sectionTitle":"Format","sectionRoute":"/build/clients/wallet-spec#format","type":"docs"},{"id":235,"pageTitle":"Archethic's wallet specification","sectionTitle":"Public Key Format","sectionRoute":"/build/clients/wallet-spec#public-key-format","type":"docs"},{"id":236,"pageTitle":"Archethic's wallet specification","sectionTitle":"Account Address Format","sectionRoute":"/build/clients/wallet-spec#account-address-format","type":"docs"},{"id":237,"pageTitle":"Core development","sectionTitle":"Core development","sectionRoute":"/build/core/","type":"docs"},{"id":238,"pageTitle":"Core development","sectionTitle":"Technology Stack","sectionRoute":"/build/core/#technology-stack","type":"docs"},{"id":239,"pageTitle":"Core development","sectionTitle":"Why Elixir ?","sectionRoute":"/build/core/#why-elixir-","type":"docs"},{"id":240,"pageTitle":"Core development","sectionTitle":"Why C ?","sectionRoute":"/build/core/#why-c-","type":"docs"},{"id":241,"pageTitle":"Core development","sectionTitle":"Structure","sectionRoute":"/build/core/#structure","type":"docs"},{"id":242,"pageTitle":"Account","sectionTitle":"Account","sectionRoute":"/build/core/account","type":"docs"},{"id":243,"pageTitle":"Account","sectionTitle":"UCO","sectionRoute":"/build/core/account#uco","type":"docs"},{"id":244,"pageTitle":"Account","sectionTitle":"Ledger","sectionRoute":"/build/core/account#ledger","type":"docs"},{"id":245,"pageTitle":"Account","sectionTitle":"Index","sectionRoute":"/build/core/account#index","type":"docs"},{"id":246,"pageTitle":"Account","sectionTitle":"Token","sectionRoute":"/build/core/account#token","type":"docs"},{"id":247,"pageTitle":"Account","sectionTitle":"Ledger","sectionRoute":"/build/core/account#ledger-1","type":"docs"},{"id":248,"pageTitle":"Account","sectionTitle":"Index","sectionRoute":"/build/core/account#index-1","type":"docs"},{"id":249,"pageTitle":"Account","sectionTitle":"Loading","sectionRoute":"/build/core/account#loading","type":"docs"},{"id":250,"pageTitle":"BeaconChain","sectionTitle":"BeaconChain","sectionRoute":"/build/core/beacon-chain/","type":"docs"},{"id":251,"pageTitle":"BeaconChain","sectionTitle":"Subsets","sectionRoute":"/build/core/beacon-chain/#subsets","type":"docs"},{"id":252,"pageTitle":"BeaconChain","sectionTitle":"Timers and schedulers","sectionRoute":"/build/core/beacon-chain/#timers-and-schedulers","type":"docs"},{"id":253,"pageTitle":"BeaconChain","sectionTitle":"Transaction loading","sectionRoute":"/build/core/beacon-chain/#transaction-loading","type":"docs"},{"id":254,"pageTitle":"BeaconChain","sectionTitle":"Supervisor","sectionRoute":"/build/core/beacon-chain/#supervisor","type":"docs"},{"id":255,"pageTitle":"P2P availability sampling","sectionTitle":"P2P availability sampling","sectionRoute":"/build/core/beacon-chain/p2p-sampling","type":"docs"},{"id":256,"pageTitle":"P2P availability sampling","sectionTitle":"Heartbeat","sectionRoute":"/build/core/beacon-chain/p2p-sampling#heartbeat","type":"docs"},{"id":257,"pageTitle":"P2P availability sampling","sectionTitle":"Aggregation","sectionRoute":"/build/core/beacon-chain/p2p-sampling#aggregation","type":"docs"},{"id":258,"pageTitle":"Bootstrap","sectionTitle":"Bootstrap","sectionRoute":"/build/core/bootstrap","type":"docs"},{"id":259,"pageTitle":"Bootstrap","sectionTitle":"Network initizialiation","sectionRoute":"/build/core/bootstrap#network-initizialiation","type":"docs"},{"id":260,"pageTitle":"Bootstrap","sectionTitle":"First node bootstrapping","sectionRoute":"/build/core/bootstrap#first-node-bootstrapping","type":"docs"},{"id":261,"pageTitle":"Bootstrap","sectionTitle":"Next time bootstraps","sectionRoute":"/build/core/bootstrap#next-time-bootstraps","type":"docs"},{"id":287,"pageTitle":"Cryptography","sectionTitle":"Cryptography","sectionRoute":"/build/core/cryptography/","type":"docs"},{"id":288,"pageTitle":"Cryptography","sectionTitle":"Node Keystore","sectionRoute":"/build/core/cryptography/#node-keystore","type":"docs"},{"id":289,"pageTitle":"Cryptography","sectionTitle":"Node Shared Secrets Keystore","sectionRoute":"/build/core/cryptography/#node-shared-secrets-keystore","type":"docs"},{"id":262,"pageTitle":"TPM Implementation","sectionTitle":"TPM Implementation","sectionRoute":"/build/core/cryptography/tpm","type":"docs"},{"id":263,"pageTitle":"TPM Implementation","sectionTitle":"Global Variables","sectionRoute":"/build/core/cryptography/tpm#global-variables","type":"docs"},{"id":264,"pageTitle":"TPM Implementation","sectionTitle":"void keyToASN():","sectionRoute":"/build/core/cryptography/tpm#void-keytoasn","type":"docs"},{"id":265,"pageTitle":"TPM Implementation","sectionTitle":"void signToASN(BYTE r, INT sizeR, BYTE s, INT sizeS, INT *asnSignSize)","sectionRoute":"/build/core/cryptography/tpm#void-signtoasnbyte-r-int-sizer-byte-s-int-sizes-int-asnsignsize","type":"docs"},{"id":266,"pageTitle":"TPM Implementation","sectionTitle":"void generatePublicKey(INT keyIndex)","sectionRoute":"/build/core/cryptography/tpm#void-generatepublickeyint-keyindex","type":"docs"},{"id":267,"pageTitle":"TPM Implementation","sectionTitle":"setRootKey()","sectionRoute":"/build/core/cryptography/tpm#setrootkey","type":"docs"},{"id":268,"pageTitle":"TPM Implementation","sectionTitle":"updateHandlesIndexes()","sectionRoute":"/build/core/cryptography/tpm#updatehandlesindexes","type":"docs"},{"id":269,"pageTitle":"TPM Implementation","sectionTitle":"initializeTPM(INT keyIndex):","sectionRoute":"/build/core/cryptography/tpm#initializetpmint-keyindex","type":"docs"},{"id":270,"pageTitle":"TPM Implementation","sectionTitle":"getKeyIndex():","sectionRoute":"/build/core/cryptography/tpm#getkeyindex","type":"docs"},{"id":271,"pageTitle":"TPM Implementation","sectionTitle":"setKeyIndex(INT keyIndex):","sectionRoute":"/build/core/cryptography/tpm#setkeyindexint-keyindex","type":"docs"},{"id":272,"pageTitle":"TPM Implementation","sectionTitle":"getPublicKey(INT keyIndex, INT *publicKeySize):","sectionRoute":"/build/core/cryptography/tpm#getpublickeyint-keyindex-int-publickeysize","type":"docs"},{"id":273,"pageTitle":"TPM Implementation","sectionTitle":"signECDSA(INT keyIndex, BYTE hashToSign, INT eccSignSize, bool increment):","sectionRoute":"/build/core/cryptography/tpm#signecdsaint-keyindex-byte-hashtosign-int-eccsignsize-bool-increment","type":"docs"},{"id":274,"pageTitle":"TPM Implementation","sectionTitle":"getECDHPoint(INT keyIndex, BYTE *euphemeralKey):","sectionRoute":"/build/core/cryptography/tpm#getecdhpointint-keyindex-byte-euphemeralkey","type":"docs"},{"id":290,"pageTitle":"Yubikey implementation","sectionTitle":"Yubikey implementation","sectionRoute":"/build/core/cryptography/yubikey","type":"docs"},{"id":291,"pageTitle":"Yubikey implementation","sectionTitle":"initializeYK() :","sectionRoute":"/build/core/cryptography/yubikey#initializeyk-","type":"docs"},{"id":292,"pageTitle":"Yubikey implementation","sectionTitle":"bool checkYK():","sectionRoute":"/build/core/cryptography/yubikey#bool-checkyk","type":"docs"},{"id":293,"pageTitle":"Yubikey implementation","sectionTitle":"verifyPinYK():","sectionRoute":"/build/core/cryptography/yubikey#verifypinyk","type":"docs"},{"id":294,"pageTitle":"Yubikey implementation","sectionTitle":"authenticateYK():","sectionRoute":"/build/core/cryptography/yubikey#authenticateyk","type":"docs"},{"id":295,"pageTitle":"Yubikey implementation","sectionTitle":"fetchKey(keyIndex):","sectionRoute":"/build/core/cryptography/yubikey#fetchkeykeyindex","type":"docs"},{"id":296,"pageTitle":"Yubikey implementation","sectionTitle":"generateKey(ykIndex):","sectionRoute":"/build/core/cryptography/yubikey#generatekeyykindex","type":"docs"},{"id":297,"pageTitle":"Yubikey implementation","sectionTitle":"generateCertificate(ykIndex):","sectionRoute":"/build/core/cryptography/yubikey#generatecertificateykindex","type":"docs"},{"id":298,"pageTitle":"Yubikey implementation","sectionTitle":"getYKIndex():","sectionRoute":"/build/core/cryptography/yubikey#getykindex","type":"docs"},{"id":299,"pageTitle":"Yubikey implementation","sectionTitle":"saveIndex(ykIndex, archethicIndex):","sectionRoute":"/build/core/cryptography/yubikey#saveindexykindex-archethicindex","type":"docs"},{"id":300,"pageTitle":"Yubikey implementation","sectionTitle":"signECDSA(hashtoSign, ykIndex):","sectionRoute":"/build/core/cryptography/yubikey#signecdsahashtosign-ykindex","type":"docs"},{"id":301,"pageTitle":"Yubikey implementation","sectionTitle":"getECDHPoint(ykIndex, euphermerakley) :","sectionRoute":"/build/core/cryptography/yubikey#getecdhpointykindex-euphermerakley-","type":"docs"},{"id":302,"pageTitle":"Yubikey implementation","sectionTitle":"getArchEthicIndex():","sectionRoute":"/build/core/cryptography/yubikey#getarchethicindex","type":"docs"},{"id":303,"pageTitle":"Yubikey implementation","sectionTitle":"incrementIndex():","sectionRoute":"/build/core/cryptography/yubikey#incrementindex","type":"docs"},{"id":304,"pageTitle":"Yubikey implementation","sectionTitle":"getRootKey():","sectionRoute":"/build/core/cryptography/yubikey#getrootkey","type":"docs"},{"id":305,"pageTitle":"Yubikey implementation","sectionTitle":"getCurrentKey(publicKeySize):","sectionRoute":"/build/core/cryptography/yubikey#getcurrentkeypublickeysize","type":"docs"},{"id":306,"pageTitle":"Yubikey implementation","sectionTitle":"getNextKey( publicKeySize):","sectionRoute":"/build/core/cryptography/yubikey#getnextkey-publickeysize","type":"docs"},{"id":307,"pageTitle":"Yubikey implementation","sectionTitle":"getPastKey(archEthicIndex, publicKeySize):","sectionRoute":"/build/core/cryptography/yubikey#getpastkeyarchethicindex-publickeysize","type":"docs"},{"id":308,"pageTitle":"Yubikey implementation","sectionTitle":"getRootCertificate( certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getrootcertificate-certificatesize","type":"docs"},{"id":309,"pageTitle":"Yubikey implementation","sectionTitle":"getCurrentCertificate(certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getcurrentcertificatecertificatesize","type":"docs"},{"id":310,"pageTitle":"Yubikey implementation","sectionTitle":"getNextCertificate(certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getnextcertificatecertificatesize","type":"docs"},{"id":311,"pageTitle":"Yubikey implementation","sectionTitle":"getPastCertificate(archEthicIndex, certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getpastcertificatearchethicindex-certificatesize","type":"docs"},{"id":312,"pageTitle":"Yubikey implementation","sectionTitle":"signCurrentKey(hashToSign, eccSignSize):","sectionRoute":"/build/core/cryptography/yubikey#signcurrentkeyhashtosign-eccsignsize","type":"docs"},{"id":313,"pageTitle":"Yubikey implementation","sectionTitle":"signPastKey(archEthicIndex, hashToSign, eccSignSize):","sectionRoute":"/build/core/cryptography/yubikey#signpastkeyarchethicindex-hashtosign-eccsignsize","type":"docs"},{"id":314,"pageTitle":"Yubikey implementation","sectionTitle":"ecdhCurrentKey(euphemeralKey, eccPointSize):","sectionRoute":"/build/core/cryptography/yubikey#ecdhcurrentkeyeuphemeralkey-eccpointsize","type":"docs"},{"id":315,"pageTitle":"Yubikey implementation","sectionTitle":"ecdhPastKey( archEthicIndex, euphemeralKey, eccPointSize):","sectionRoute":"/build/core/cryptography/yubikey#ecdhpastkey-archethicindex-euphemeralkey-eccpointsize","type":"docs"},{"id":275,"pageTitle":"Archethic's database","sectionTitle":"Archethic's database","sectionRoute":"/build/core/database","type":"docs"},{"id":276,"pageTitle":"Archethic's database","sectionTitle":"Rationale","sectionRoute":"/build/core/database#rationale","type":"docs"},{"id":277,"pageTitle":"Archethic's database","sectionTitle":"Log Structured Merge","sectionRoute":"/build/core/database#log-structured-merge","type":"docs"},{"id":278,"pageTitle":"Archethic's database","sectionTitle":"Log Structured Hash Tables","sectionRoute":"/build/core/database#log-structured-hash-tables","type":"docs"},{"id":279,"pageTitle":"Archethic's database","sectionTitle":"Our approach","sectionRoute":"/build/core/database#our-approach","type":"docs"},{"id":280,"pageTitle":"Archethic's database","sectionTitle":"Design","sectionRoute":"/build/core/database#design","type":"docs"},{"id":281,"pageTitle":"Archethic's database","sectionTitle":"Chains storage","sectionRoute":"/build/core/database#chains-storage","type":"docs"},{"id":282,"pageTitle":"Archethic's database","sectionTitle":"Chain indexing","sectionRoute":"/build/core/database#chain-indexing","type":"docs"},{"id":283,"pageTitle":"Archethic's database","sectionTitle":"Chain reader","sectionRoute":"/build/core/database#chain-reader","type":"docs"},{"id":284,"pageTitle":"Archethic's database","sectionTitle":"Write path","sectionRoute":"/build/core/database#write-path","type":"docs"},{"id":285,"pageTitle":"Archethic's database","sectionTitle":"Read path","sectionRoute":"/build/core/database#read-path","type":"docs"},{"id":286,"pageTitle":"Archethic's database","sectionTitle":"Additional of-chain storage","sectionRoute":"/build/core/database#additional-of-chain-storage","type":"docs"},{"id":316,"pageTitle":"Election","sectionTitle":"Election","sectionRoute":"/build/core/election","type":"docs"},{"id":317,"pageTitle":"Election","sectionTitle":"Heuristic constraints","sectionRoute":"/build/core/election#heuristic-constraints","type":"docs"},{"id":318,"pageTitle":"Election","sectionTitle":"Low-Level integrations","sectionRoute":"/build/core/election#low-level-integrations","type":"docs"},{"id":319,"pageTitle":"Election","sectionTitle":"Hypergeomtric distribution","sectionRoute":"/build/core/election#hypergeomtric-distribution","type":"docs"},{"id":320,"pageTitle":"Code Proposals","sectionTitle":"Code Proposals","sectionRoute":"/build/core/governance/code-proposals","type":"docs"},{"id":321,"pageTitle":"CD","sectionTitle":"CD","sectionRoute":"/build/core/governance/code-proposals-cd","type":"docs"},{"id":322,"pageTitle":"CI","sectionTitle":"CI","sectionRoute":"/build/core/governance/code-proposals-ci","type":"docs"},{"id":323,"pageTitle":"Mining","sectionTitle":"Mining","sectionRoute":"/build/core/mining/","type":"docs"},{"id":324,"pageTitle":"Mining","sectionTitle":"Standalone validation workflow","sectionRoute":"/build/core/mining/#standalone-validation-workflow","type":"docs"},{"id":325,"pageTitle":"Mining","sectionTitle":"Distributed validation","sectionRoute":"/build/core/mining/#distributed-validation","type":"docs"},{"id":326,"pageTitle":"Mining","sectionTitle":"Worflow","sectionRoute":"/build/core/mining/#worflow","type":"docs"},{"id":327,"pageTitle":"Mining","sectionTitle":"FSM","sectionRoute":"/build/core/mining/#fsm","type":"docs"},{"id":328,"pageTitle":"Proof of Work algorithm","sectionTitle":"Proof of Work algorithm","sectionRoute":"/build/core/mining/proof-of-work","type":"docs"},{"id":329,"pageTitle":"Proof of Work algorithm","sectionTitle":"Origin public key candidates","sectionRoute":"/build/core/mining/proof-of-work#origin-public-key-candidates","type":"docs"},{"id":330,"pageTitle":"Proof of Work algorithm","sectionTitle":"Lookup","sectionRoute":"/build/core/mining/proof-of-work#lookup","type":"docs"},{"id":331,"pageTitle":"Transaction context retrieval","sectionTitle":"Transaction context retrieval","sectionRoute":"/build/core/mining/transaction-context","type":"docs"},{"id":332,"pageTitle":"Transaction context retrieval","sectionTitle":"Retrieval","sectionRoute":"/build/core/mining/transaction-context#retrieval","type":"docs"},{"id":333,"pageTitle":"Transaction context retrieval","sectionTitle":"Node distribution","sectionRoute":"/build/core/mining/transaction-context#node-distribution","type":"docs"},{"id":335,"pageTitle":"Pending transaction validation","sectionTitle":"Pending transaction validation","sectionRoute":"/build/core/mining/transaction-validation","type":"docs"},{"id":336,"pageTitle":"Pending transaction validation","sectionTitle":"Smart contract verification","sectionRoute":"/build/core/mining/transaction-validation#smart-contract-verification","type":"docs"},{"id":337,"pageTitle":"Pending transaction validation","sectionTitle":"Transaction type verification","sectionRoute":"/build/core/mining/transaction-validation#transaction-type-verification","type":"docs"},{"id":338,"pageTitle":"Pending transaction validation","sectionTitle":"Node transaction verification","sectionRoute":"/build/core/mining/transaction-validation#node-transaction-verification","type":"docs"},{"id":339,"pageTitle":"Pending transaction validation","sectionTitle":"Node shared secrets transaction verification","sectionRoute":"/build/core/mining/transaction-validation#node-shared-secrets-transaction-verification","type":"docs"},{"id":340,"pageTitle":"Pending transaction validation","sectionTitle":"Token transaction verification","sectionRoute":"/build/core/mining/transaction-validation#token-transaction-verification","type":"docs"},{"id":341,"pageTitle":"Pending transaction validation","sectionTitle":"Oracle transaction verification","sectionRoute":"/build/core/mining/transaction-validation#oracle-transaction-verification","type":"docs"},{"id":342,"pageTitle":"Pending transaction validation","sectionTitle":"OracleSummary transaction verification","sectionRoute":"/build/core/mining/transaction-validation#oraclesummary-transaction-verification","type":"docs"},{"id":343,"pageTitle":"Pending transaction validation","sectionTitle":"Code proposal transaction verification","sectionRoute":"/build/core/mining/transaction-validation#code-proposal-transaction-verification","type":"docs"},{"id":344,"pageTitle":"Pending transaction validation","sectionTitle":"Code approval transaction verification","sectionRoute":"/build/core/mining/transaction-validation#code-approval-transaction-verification","type":"docs"},{"id":334,"pageTitle":"OracleChain","sectionTitle":"OracleChain","sectionRoute":"/build/core/oracle-chain/","type":"docs"},{"id":345,"pageTitle":"OracleChain Memory Tables","sectionTitle":"OracleChain Memory Tables","sectionRoute":"/build/core/oracle-chain/memory-table","type":"docs"},{"id":346,"pageTitle":"OracleChain Scheduler","sectionTitle":"OracleChain Scheduler","sectionRoute":"/build/core/oracle-chain/scheduler","type":"docs"},{"id":347,"pageTitle":"Oracle Chain Service","sectionTitle":"Oracle Chain Service","sectionRoute":"/build/core/oracle-chain/service","type":"docs"},{"id":348,"pageTitle":"Oracle Chain Service","sectionTitle":"Behavior","sectionRoute":"/build/core/oracle-chain/service#behavior","type":"docs"},{"id":349,"pageTitle":"Oracle Chain Service","sectionTitle":"Example","sectionRoute":"/build/core/oracle-chain/service#example","type":"docs"},{"id":350,"pageTitle":"Oracle Chain Service","sectionTitle":"Configuration","sectionRoute":"/build/core/oracle-chain/service#configuration","type":"docs"},{"id":351,"pageTitle":"P2P","sectionTitle":"P2P","sectionRoute":"/build/core/p2p/","type":"docs"},{"id":352,"pageTitle":"Messaging","sectionTitle":"Messaging","sectionRoute":"/build/core/p2p/messaging","type":"docs"},{"id":353,"pageTitle":"Messaging","sectionTitle":"Stream Multiplexer","sectionRoute":"/build/core/p2p/messaging#stream-multiplexer","type":"docs"},{"id":354,"pageTitle":"Messaging","sectionTitle":"Binary Protocol","sectionRoute":"/build/core/p2p/messaging#binary-protocol","type":"docs"},{"id":355,"pageTitle":"Messaging","sectionTitle":"Message envelop","sectionRoute":"/build/core/p2p/messaging#message-envelop","type":"docs"},{"id":364,"pageTitle":"Node","sectionTitle":"Node","sectionRoute":"/build/core/p2p/node","type":"docs"},{"id":365,"pageTitle":"Node","sectionTitle":"Data structure","sectionRoute":"/build/core/p2p/node#data-structure","type":"docs"},{"id":366,"pageTitle":"Node","sectionTitle":"P2P tables view","sectionRoute":"/build/core/p2p/node#p2p-tables-view","type":"docs"},{"id":367,"pageTitle":"Node","sectionTitle":"Discovery table","sectionRoute":"/build/core/p2p/node#discovery-table","type":"docs"},{"id":368,"pageTitle":"Node","sectionTitle":"Availability lookup table","sectionRoute":"/build/core/p2p/node#availability-lookup-table","type":"docs"},{"id":369,"pageTitle":"Node","sectionTitle":"Authorized nodes table","sectionRoute":"/build/core/p2p/node#authorized-nodes-table","type":"docs"},{"id":370,"pageTitle":"Node","sectionTitle":"Nodes key lookup table","sectionRoute":"/build/core/p2p/node#nodes-key-lookup-table","type":"docs"},{"id":356,"pageTitle":"Howto create a DApp","sectionTitle":"Howto create a DApp","sectionRoute":"/build/dapp/","type":"docs"},{"id":357,"pageTitle":"Howto create a DApp","sectionTitle":"Introduction","sectionRoute":"/build/dapp/#introduction","type":"docs"},{"id":358,"pageTitle":"Howto create a DApp","sectionTitle":"Communication Channels","sectionRoute":"/build/dapp/#communication-channels","type":"docs"},{"id":359,"pageTitle":"Howto create a DApp","sectionTitle":"Tools and Libraries","sectionRoute":"/build/dapp/#tools-and-libraries","type":"docs"},{"id":371,"pageTitle":"Connecting aeWallet","sectionTitle":"Connecting aeWallet","sectionRoute":"/build/dapp/connecting","type":"docs"},{"id":360,"pageTitle":"FAQ","sectionTitle":"FAQ","sectionRoute":"/build/dapp/faq","type":"docs"},{"id":361,"pageTitle":"FAQ","sectionTitle":"How to test a WebSocket connection locally?","sectionRoute":"/build/dapp/faq#how-to-test-a-websocket-connection-locally","type":"docs"},{"id":362,"pageTitle":"FAQ","sectionTitle":"Which browsers are supported?","sectionRoute":"/build/dapp/faq#which-browsers-are-supported","type":"docs"},{"id":363,"pageTitle":"FAQ","sectionTitle":"Deeplink RPC limitations","sectionRoute":"/build/dapp/faq#deeplink-rpc-limitations","type":"docs"},{"id":372,"pageTitle":"Getting started","sectionTitle":"Getting started","sectionRoute":"/build/dapp/getting-started","type":"docs"},{"id":373,"pageTitle":"RPC Commands","sectionTitle":"RPC Commands","sectionRoute":"/build/dapp/rpc-commands","type":"docs"},{"id":374,"pageTitle":"RPC Commands","sectionTitle":"get_endpoint","sectionRoute":"/build/dapp/rpc-commands#get_endpoint","type":"docs"},{"id":375,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request","type":"docs"},{"id":376,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response","type":"docs"},{"id":377,"pageTitle":"RPC Commands","sectionTitle":"refresh_current_account","sectionRoute":"/build/dapp/rpc-commands#refresh_current_account","type":"docs"},{"id":378,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-1","type":"docs"},{"id":379,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-1","type":"docs"},{"id":380,"pageTitle":"RPC Commands","sectionTitle":"get_accounts","sectionRoute":"/build/dapp/rpc-commands#get_accounts","type":"docs"},{"id":381,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-2","type":"docs"},{"id":382,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-2","type":"docs"},{"id":383,"pageTitle":"RPC Commands","sectionTitle":"send_transaction","sectionRoute":"/build/dapp/rpc-commands#send_transaction","type":"docs"},{"id":384,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-3","type":"docs"},{"id":385,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-3","type":"docs"},{"id":386,"pageTitle":"RPC Commands","sectionTitle":"add_service","sectionRoute":"/build/dapp/rpc-commands#add_service","type":"docs"},{"id":387,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-4","type":"docs"},{"id":388,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-4","type":"docs"},{"id":389,"pageTitle":"RPC Commands","sectionTitle":"remove_service","sectionRoute":"/build/dapp/rpc-commands#remove_service","type":"docs"},{"id":390,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-5","type":"docs"},{"id":391,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-5","type":"docs"},{"id":392,"pageTitle":"RPC Commands","sectionTitle":"get_services_from_keychain","sectionRoute":"/build/dapp/rpc-commands#get_services_from_keychain","type":"docs"},{"id":393,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-6","type":"docs"},{"id":394,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-6","type":"docs"},{"id":395,"pageTitle":"RPC Commands","sectionTitle":"keychain_derive_keypair","sectionRoute":"/build/dapp/rpc-commands#keychain_derive_keypair","type":"docs"},{"id":396,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-7","type":"docs"},{"id":397,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-7","type":"docs"},{"id":398,"pageTitle":"RPC Commands","sectionTitle":"keychain_derive_address","sectionRoute":"/build/dapp/rpc-commands#keychain_derive_address","type":"docs"},{"id":399,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-8","type":"docs"},{"id":400,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-8","type":"docs"},{"id":401,"pageTitle":"RPC Commands","sectionTitle":"get_current_account","sectionRoute":"/build/dapp/rpc-commands#get_current_account","type":"docs"},{"id":402,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-9","type":"docs"},{"id":403,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-9","type":"docs"},{"id":404,"pageTitle":"RPC Commands","sectionTitle":"sign_transactions","sectionRoute":"/build/dapp/rpc-commands#sign_transactions","type":"docs"},{"id":405,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-10","type":"docs"},{"id":406,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-10","type":"docs"},{"id":407,"pageTitle":"RPC Commands","sectionTitle":"sign_payloads","sectionRoute":"/build/dapp/rpc-commands#sign_payloads","type":"docs"},{"id":408,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-11","type":"docs"},{"id":409,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-11","type":"docs"},{"id":410,"pageTitle":"RPC Commands","sectionTitle":"subscribe_account","sectionRoute":"/build/dapp/rpc-commands#subscribe_account","type":"docs"},{"id":411,"pageTitle":"RPC Commands","sectionTitle":"Subscription","sectionRoute":"/build/dapp/rpc-commands#subscription","type":"docs"},{"id":412,"pageTitle":"RPC Commands","sectionTitle":"Notifications","sectionRoute":"/build/dapp/rpc-commands#notifications","type":"docs"},{"id":413,"pageTitle":"RPC Commands","sectionTitle":"subscribe_current_account","sectionRoute":"/build/dapp/rpc-commands#subscribe_current_account","type":"docs"},{"id":414,"pageTitle":"RPC Commands","sectionTitle":"Subscription","sectionRoute":"/build/dapp/rpc-commands#subscription-1","type":"docs"},{"id":415,"pageTitle":"RPC Commands","sectionTitle":"Notifications","sectionRoute":"/build/dapp/rpc-commands#notifications-1","type":"docs"},{"id":416,"pageTitle":"Signing transaction","sectionTitle":"Signing transaction","sectionRoute":"/build/dapp/signing-transaction","type":"docs"},{"id":418,"pageTitle":"Watching account","sectionTitle":"Watching account","sectionRoute":"/build/dapp/watch-balance","type":"docs"},{"id":417,"pageTitle":"SDK","sectionTitle":"SDK","sectionRoute":"/build/sdk/","type":"docs"},{"id":419,"pageTitle":"Dart SDK","sectionTitle":"Dart SDK","sectionRoute":"/build/sdk/dart","type":"docs"},{"id":420,"pageTitle":"Go SDK","sectionTitle":"Go SDK","sectionRoute":"/build/sdk/go","type":"docs"},{"id":421,"pageTitle":"Javascript SDK","sectionTitle":"Javascript SDK","sectionRoute":"/build/sdk/js","type":"docs"},{"id":447,"pageTitle":"Smart Contracts","sectionTitle":"Smart Contracts","sectionRoute":"/build/smart-contracts/","type":"docs"},{"id":448,"pageTitle":"Smart Contracts","sectionTitle":"Autonomous","sectionRoute":"/build/smart-contracts/#autonomous","type":"docs"},{"id":449,"pageTitle":"Smart Contracts","sectionTitle":"Modifiable","sectionRoute":"/build/smart-contracts/#modifiable","type":"docs"},{"id":450,"pageTitle":"Smart Contracts","sectionTitle":"Secured","sectionRoute":"/build/smart-contracts/#secured","type":"docs"},{"id":451,"pageTitle":"Smart Contracts","sectionTitle":"State management","sectionRoute":"/build/smart-contracts/#state-management","type":"docs"},{"id":422,"pageTitle":"Smart Contracts - Fees","sectionTitle":"Smart Contracts - Fees","sectionRoute":"/build/smart-contracts/fees","type":"docs"},{"id":423,"pageTitle":"Interpreter Language","sectionTitle":"Interpreter Language","sectionRoute":"/build/smart-contracts/language/","type":"docs"},{"id":424,"pageTitle":"Interpreter Language","sectionTitle":"Version attribute","sectionRoute":"/build/smart-contracts/language/#version-attribute","type":"docs"},{"id":425,"pageTitle":"Interpreter Language","sectionTitle":"Basic Types","sectionRoute":"/build/smart-contracts/language/#basic-types","type":"docs"},{"id":426,"pageTitle":"Interpreter Language","sectionTitle":"Hexadecimals","sectionRoute":"/build/smart-contracts/language/#hexadecimals","type":"docs"},{"id":427,"pageTitle":"Interpreter Language","sectionTitle":"ASCII character in string","sectionRoute":"/build/smart-contracts/language/#ascii-character-in-string","type":"docs"},{"id":428,"pageTitle":"Interpreter Language","sectionTitle":"Comparaison","sectionRoute":"/build/smart-contracts/language/#comparaison","type":"docs"},{"id":429,"pageTitle":"Interpreter Language","sectionTitle":"Arithmetic","sectionRoute":"/build/smart-contracts/language/#arithmetic","type":"docs"},{"id":430,"pageTitle":"Interpreter Language","sectionTitle":"Ranges","sectionRoute":"/build/smart-contracts/language/#ranges","type":"docs"},{"id":431,"pageTitle":"Interpreter Language","sectionTitle":"Loop","sectionRoute":"/build/smart-contracts/language/#loop","type":"docs"},{"id":432,"pageTitle":"Interpreter Language","sectionTitle":"Variables & Scopes","sectionRoute":"/build/smart-contracts/language/#variables--scopes","type":"docs"},{"id":433,"pageTitle":"Interpreter Language","sectionTitle":"Lists","sectionRoute":"/build/smart-contracts/language/#lists","type":"docs"},{"id":434,"pageTitle":"Interpreter Language","sectionTitle":"Maps","sectionRoute":"/build/smart-contracts/language/#maps","type":"docs"},{"id":435,"pageTitle":"Interpreter Language","sectionTitle":"Functions","sectionRoute":"/build/smart-contracts/language/#functions","type":"docs"},{"id":436,"pageTitle":"Interpreter Language","sectionTitle":"Internal Functions","sectionRoute":"/build/smart-contracts/language/#internal-functions","type":"docs"},{"id":437,"pageTitle":"Interpreter Language","sectionTitle":"Exported Functions","sectionRoute":"/build/smart-contracts/language/#exported-functions","type":"docs"},{"id":438,"pageTitle":"Interpreter Language","sectionTitle":"Library","sectionRoute":"/build/smart-contracts/language/#library","type":"docs"},{"id":439,"pageTitle":"Interpreter Language","sectionTitle":"Errors","sectionRoute":"/build/smart-contracts/language/#errors","type":"docs"},{"id":440,"pageTitle":"Interpreter Language","sectionTitle":"Reserved keywords","sectionRoute":"/build/smart-contracts/language/#reserved-keywords","type":"docs"},{"id":441,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Smart Contracts - Actions block","sectionRoute":"/build/smart-contracts/language/actions","type":"docs"},{"id":442,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Global variables","sectionRoute":"/build/smart-contracts/language/actions#global-variables","type":"docs"},{"id":443,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Named action arguments","sectionRoute":"/build/smart-contracts/language/actions#named-action-arguments","type":"docs"},{"id":444,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Generating the next transaction","sectionRoute":"/build/smart-contracts/language/actions#generating-the-next-transaction","type":"docs"},{"id":445,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Appendix 1: The transaction map","sectionRoute":"/build/smart-contracts/language/actions#appendix-1-the-transaction-map","type":"docs"},{"id":452,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Smart Contracts - Condition block","sectionRoute":"/build/smart-contracts/language/condition","type":"docs"},{"id":453,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Boolean expressions","sectionRoute":"/build/smart-contracts/language/condition#boolean-expressions","type":"docs"},{"id":454,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Rules","sectionRoute":"/build/smart-contracts/language/condition#rules","type":"docs"},{"id":455,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Condition inherit","sectionRoute":"/build/smart-contracts/language/condition#condition-inherit","type":"docs"},{"id":456,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Examples","sectionRoute":"/build/smart-contracts/language/condition#examples","type":"docs"},{"id":457,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Condition triggered by a transaction","sectionRoute":"/build/smart-contracts/language/condition#condition-triggered-by-a-transaction","type":"docs"},{"id":458,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Examples","sectionRoute":"/build/smart-contracts/language/condition#examples-1","type":"docs"},{"id":459,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Condition triggered by an oracle","sectionRoute":"/build/smart-contracts/language/condition#condition-triggered-by-an-oracle","type":"docs"},{"id":460,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Examples","sectionRoute":"/build/smart-contracts/language/condition#examples-2","type":"docs"},{"id":446,"pageTitle":"Smart Contracts (Legacy)","sectionTitle":"Smart Contracts (Legacy)","sectionRoute":"/build/smart-contracts/language/legacy/","type":"docs"},{"id":461,"pageTitle":"Smart Contract examples","sectionTitle":"Smart Contract examples","sectionRoute":"/build/smart-contracts/language/legacy/examples","type":"docs"},{"id":462,"pageTitle":"Smart Contract examples","sectionTitle":"Recurrent transfer","sectionRoute":"/build/smart-contracts/language/legacy/examples#recurrent-transfer","type":"docs"},{"id":463,"pageTitle":"Smart Contract examples","sectionTitle":"ICO / Crowdfunding","sectionRoute":"/build/smart-contracts/language/legacy/examples#ico--crowdfunding","type":"docs"},{"id":468,"pageTitle":"Smart Contract Language","sectionTitle":"Smart Contract Language","sectionRoute":"/build/smart-contracts/language/legacy/language","type":"docs"},{"id":469,"pageTitle":"Smart Contract Language","sectionTitle":"Triggers/Actions","sectionRoute":"/build/smart-contracts/language/legacy/language#triggersactions","type":"docs"},{"id":470,"pageTitle":"Smart Contract Language","sectionTitle":"Conditions","sectionRoute":"/build/smart-contracts/language/legacy/language#conditions","type":"docs"},{"id":471,"pageTitle":"Smart Contract Language","sectionTitle":"Global variables","sectionRoute":"/build/smart-contracts/language/legacy/language#global-variables","type":"docs"},{"id":472,"pageTitle":"Smart Contract Language","sectionTitle":"Functions","sectionRoute":"/build/smart-contracts/language/legacy/language#functions","type":"docs"},{"id":473,"pageTitle":"Smart Contract Language","sectionTitle":"Utilities","sectionRoute":"/build/smart-contracts/language/legacy/language#utilities","type":"docs"},{"id":474,"pageTitle":"Smart Contract Language","sectionTitle":"Statements","sectionRoute":"/build/smart-contracts/language/legacy/language#statements","type":"docs"},{"id":464,"pageTitle":"Smart Contracts - Library","sectionTitle":"Smart Contracts - Library","sectionRoute":"/build/smart-contracts/language/library/","type":"docs"},{"id":465,"pageTitle":"Smart Contracts - Library","sectionTitle":"Function's arity","sectionRoute":"/build/smart-contracts/language/library/#functions-arity","type":"docs"},{"id":466,"pageTitle":"Smart Contracts - Library","sectionTitle":"Tagged functions","sectionRoute":"/build/smart-contracts/language/library/#tagged-functions","type":"docs"},{"id":467,"pageTitle":"Smart Contracts - Library","sectionTitle":"Modules list","sectionRoute":"/build/smart-contracts/language/library/#modules-list","type":"docs"},{"id":502,"pageTitle":"Chain module","sectionTitle":"Chain module","sectionRoute":"/build/smart-contracts/language/library/chain","type":"docs"},{"id":503,"pageTitle":"Chain module","sectionTitle":"get_genesis_address/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_genesis_address1-io","type":"docs"},{"id":504,"pageTitle":"Chain module","sectionTitle":"get_first_transaction_address/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_first_transaction_address1-io","type":"docs"},{"id":505,"pageTitle":"Chain module","sectionTitle":"get_genesis_public_key/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_genesis_public_key1-io","type":"docs"},{"id":506,"pageTitle":"Chain module","sectionTitle":"get_burn_address/0","sectionRoute":"/build/smart-contracts/language/library/chain#get_burn_address0","type":"docs"},{"id":507,"pageTitle":"Chain module","sectionTitle":"get_transaction/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_transaction1--io","type":"docs"},{"id":508,"pageTitle":"Chain module","sectionTitle":"get_last_address/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_last_address1-io","type":"docs"},{"id":509,"pageTitle":"Chain module","sectionTitle":"get_last_transaction/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_last_transaction1-io","type":"docs"},{"id":510,"pageTitle":"Chain module","sectionTitle":"get_previous_address/1","sectionRoute":"/build/smart-contracts/language/library/chain#get_previous_address1","type":"docs"},{"id":511,"pageTitle":"Chain module","sectionTitle":"get_balance/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_balance1-io","type":"docs"},{"id":512,"pageTitle":"Chain module","sectionTitle":"get_uco_balance/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_uco_balance1-io","type":"docs"},{"id":513,"pageTitle":"Chain module","sectionTitle":"get_token_balance/2 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_token_balance2-io","type":"docs"},{"id":514,"pageTitle":"Chain module","sectionTitle":"get_token_balance/3 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_token_balance3-io","type":"docs"},{"id":515,"pageTitle":"Chain module","sectionTitle":"get_tokens_balance/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_tokens_balance1-io","type":"docs"},{"id":516,"pageTitle":"Chain module","sectionTitle":"get_tokens_balance/2 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_tokens_balance2-io","type":"docs"},{"id":475,"pageTitle":"Code module","sectionTitle":"Code module","sectionRoute":"/build/smart-contracts/language/library/code","type":"docs"},{"id":476,"pageTitle":"Code module","sectionTitle":"is_same?/2","sectionRoute":"/build/smart-contracts/language/library/code#is_same2","type":"docs"},{"id":477,"pageTitle":"Code module","sectionTitle":"is_valid?/1","sectionRoute":"/build/smart-contracts/language/library/code#is_valid1","type":"docs"},{"id":478,"pageTitle":"Contract module","sectionTitle":"Contract module","sectionRoute":"/build/smart-contracts/language/library/contract","type":"docs"},{"id":479,"pageTitle":"Contract module","sectionTitle":"call_function/3 [I/O]","sectionRoute":"/build/smart-contracts/language/library/contract#call_function3-io","type":"docs"},{"id":480,"pageTitle":"Contract module","sectionTitle":"set_type/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#set_type1-transaction","type":"docs"},{"id":481,"pageTitle":"Contract module","sectionTitle":"set_content/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#set_content1-transaction","type":"docs"},{"id":482,"pageTitle":"Contract module","sectionTitle":"set_code/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#set_code1-transaction","type":"docs"},{"id":483,"pageTitle":"Contract module","sectionTitle":"add_uco_transfer/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_uco_transfer1-transaction","type":"docs"},{"id":484,"pageTitle":"Contract module","sectionTitle":"add_uco_transfers/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_uco_transfers1-transaction","type":"docs"},{"id":485,"pageTitle":"Contract module","sectionTitle":"add_token_transfer/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_token_transfer1-transaction","type":"docs"},{"id":486,"pageTitle":"Contract module","sectionTitle":"add_token_transfers/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_token_transfers1-transaction","type":"docs"},{"id":487,"pageTitle":"Contract module","sectionTitle":"add_ownership/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_ownership1-transaction","type":"docs"},{"id":488,"pageTitle":"Contract module","sectionTitle":"add_ownerships/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_ownerships1-transaction","type":"docs"},{"id":489,"pageTitle":"Contract module","sectionTitle":"add_recipient/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_recipient1-transaction","type":"docs"},{"id":490,"pageTitle":"Contract module","sectionTitle":"add_recipients/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_recipients1-transaction","type":"docs"},{"id":491,"pageTitle":"Crypto module","sectionTitle":"Crypto module","sectionRoute":"/build/smart-contracts/language/library/crypto","type":"docs"},{"id":492,"pageTitle":"Crypto module","sectionTitle":"hash/1","sectionRoute":"/build/smart-contracts/language/library/crypto#hash1","type":"docs"},{"id":493,"pageTitle":"Crypto module","sectionTitle":"hash/2","sectionRoute":"/build/smart-contracts/language/library/crypto#hash2","type":"docs"},{"id":494,"pageTitle":"Crypto module","sectionTitle":"hmac/1","sectionRoute":"/build/smart-contracts/language/library/crypto#hmac1","type":"docs"},{"id":495,"pageTitle":"Crypto module","sectionTitle":"hmac/2","sectionRoute":"/build/smart-contracts/language/library/crypto#hmac2","type":"docs"},{"id":496,"pageTitle":"Crypto module","sectionTitle":"hmac/3","sectionRoute":"/build/smart-contracts/language/library/crypto#hmac3","type":"docs"},{"id":497,"pageTitle":"Crypto module","sectionTitle":"sign_with_recovery/1","sectionRoute":"/build/smart-contracts/language/library/crypto#sign_with_recovery1","type":"docs"},{"id":498,"pageTitle":"Crypto module","sectionTitle":"decrypt_with_storage_nonce/1","sectionRoute":"/build/smart-contracts/language/library/crypto#decrypt_with_storage_nonce1","type":"docs"},{"id":499,"pageTitle":"Evm module","sectionTitle":"Evm module","sectionRoute":"/build/smart-contracts/language/library/evm","type":"docs"},{"id":500,"pageTitle":"Evm module","sectionTitle":"abi_encode/2","sectionRoute":"/build/smart-contracts/language/library/evm#abi_encode2","type":"docs"},{"id":501,"pageTitle":"Evm module","sectionTitle":"abi_decode/2","sectionRoute":"/build/smart-contracts/language/library/evm#abi_decode2","type":"docs"},{"id":517,"pageTitle":"Http module","sectionTitle":"Http module","sectionRoute":"/build/smart-contracts/language/library/http","type":"docs"},{"id":518,"pageTitle":"Http module","sectionTitle":"request/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request1-io","type":"docs"},{"id":519,"pageTitle":"Http module","sectionTitle":"request/2 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request2-io","type":"docs"},{"id":520,"pageTitle":"Http module","sectionTitle":"request/3 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request3-io","type":"docs"},{"id":521,"pageTitle":"Http module","sectionTitle":"request/4 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request4-io","type":"docs"},{"id":522,"pageTitle":"Http module","sectionTitle":"request_many/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request_many1-io","type":"docs"},{"id":547,"pageTitle":"Json module","sectionTitle":"Json module","sectionRoute":"/build/smart-contracts/language/library/json","type":"docs"},{"id":548,"pageTitle":"Json module","sectionTitle":"path_extract/2","sectionRoute":"/build/smart-contracts/language/library/json#path_extract2","type":"docs"},{"id":549,"pageTitle":"Json module","sectionTitle":"path_match?/2","sectionRoute":"/build/smart-contracts/language/library/json#path_match2","type":"docs"},{"id":550,"pageTitle":"Json module","sectionTitle":"to_string/1","sectionRoute":"/build/smart-contracts/language/library/json#to_string1","type":"docs"},{"id":551,"pageTitle":"Json module","sectionTitle":"parse/1","sectionRoute":"/build/smart-contracts/language/library/json#parse1","type":"docs"},{"id":552,"pageTitle":"Json module","sectionTitle":"is_valid?/1","sectionRoute":"/build/smart-contracts/language/library/json#is_valid1","type":"docs"},{"id":523,"pageTitle":"List module","sectionTitle":"List module","sectionRoute":"/build/smart-contracts/language/library/list","type":"docs"},{"id":524,"pageTitle":"List module","sectionTitle":"at/2","sectionRoute":"/build/smart-contracts/language/library/list#at2","type":"docs"},{"id":525,"pageTitle":"List module","sectionTitle":"size/1","sectionRoute":"/build/smart-contracts/language/library/list#size1","type":"docs"},{"id":526,"pageTitle":"List module","sectionTitle":"in?/2","sectionRoute":"/build/smart-contracts/language/library/list#in2","type":"docs"},{"id":527,"pageTitle":"List module","sectionTitle":"empty?/1","sectionRoute":"/build/smart-contracts/language/library/list#empty1","type":"docs"},{"id":528,"pageTitle":"List module","sectionTitle":"concat/2","sectionRoute":"/build/smart-contracts/language/library/list#concat2","type":"docs"},{"id":529,"pageTitle":"List module","sectionTitle":"append/2","sectionRoute":"/build/smart-contracts/language/library/list#append2","type":"docs"},{"id":530,"pageTitle":"List module","sectionTitle":"prepend/2","sectionRoute":"/build/smart-contracts/language/library/list#prepend2","type":"docs"},{"id":531,"pageTitle":"List module","sectionTitle":"join/2","sectionRoute":"/build/smart-contracts/language/library/list#join2","type":"docs"},{"id":532,"pageTitle":"List module","sectionTitle":"sort/1","sectionRoute":"/build/smart-contracts/language/library/list#sort1","type":"docs"},{"id":533,"pageTitle":"List module","sectionTitle":"sort_by/2","sectionRoute":"/build/smart-contracts/language/library/list#sort_by2","type":"docs"},{"id":534,"pageTitle":"List module","sectionTitle":"uniq/1","sectionRoute":"/build/smart-contracts/language/library/list#uniq1","type":"docs"},{"id":535,"pageTitle":"List module","sectionTitle":"reverse/1","sectionRoute":"/build/smart-contracts/language/library/list#reverse1","type":"docs"},{"id":536,"pageTitle":"List module","sectionTitle":"set_at/3","sectionRoute":"/build/smart-contracts/language/library/list#set_at3","type":"docs"},{"id":537,"pageTitle":"List module","sectionTitle":"delete_at/3","sectionRoute":"/build/smart-contracts/language/library/list#delete_at3","type":"docs"},{"id":538,"pageTitle":"Map module","sectionTitle":"Map module","sectionRoute":"/build/smart-contracts/language/library/map","type":"docs"},{"id":539,"pageTitle":"Map module","sectionTitle":"new/0","sectionRoute":"/build/smart-contracts/language/library/map#new0","type":"docs"},{"id":540,"pageTitle":"Map module","sectionTitle":"size/1","sectionRoute":"/build/smart-contracts/language/library/map#size1","type":"docs"},{"id":541,"pageTitle":"Map module","sectionTitle":"get/2","sectionRoute":"/build/smart-contracts/language/library/map#get2","type":"docs"},{"id":542,"pageTitle":"Map module","sectionTitle":"get/3","sectionRoute":"/build/smart-contracts/language/library/map#get3","type":"docs"},{"id":543,"pageTitle":"Map module","sectionTitle":"set/3","sectionRoute":"/build/smart-contracts/language/library/map#set3","type":"docs"},{"id":544,"pageTitle":"Map module","sectionTitle":"keys/1","sectionRoute":"/build/smart-contracts/language/library/map#keys1","type":"docs"},{"id":545,"pageTitle":"Map module","sectionTitle":"values/1","sectionRoute":"/build/smart-contracts/language/library/map#values1","type":"docs"},{"id":546,"pageTitle":"Map module","sectionTitle":"delete/2","sectionRoute":"/build/smart-contracts/language/library/map#delete2","type":"docs"},{"id":553,"pageTitle":"Math module","sectionTitle":"Math module","sectionRoute":"/build/smart-contracts/language/library/math","type":"docs"},{"id":554,"pageTitle":"Math module","sectionTitle":"pow/2","sectionRoute":"/build/smart-contracts/language/library/math#pow2","type":"docs"},{"id":555,"pageTitle":"Math module","sectionTitle":"trunc/1","sectionRoute":"/build/smart-contracts/language/library/math#trunc1","type":"docs"},{"id":556,"pageTitle":"Math module","sectionTitle":"sqrt/1","sectionRoute":"/build/smart-contracts/language/library/math#sqrt1","type":"docs"},{"id":557,"pageTitle":"Math module","sectionTitle":"rem/2","sectionRoute":"/build/smart-contracts/language/library/math#rem2","type":"docs"},{"id":563,"pageTitle":"Regex module","sectionTitle":"Regex module","sectionRoute":"/build/smart-contracts/language/library/regex","type":"docs"},{"id":564,"pageTitle":"Regex module","sectionTitle":"extract/2","sectionRoute":"/build/smart-contracts/language/library/regex#extract2","type":"docs"},{"id":565,"pageTitle":"Regex module","sectionTitle":"match?/2","sectionRoute":"/build/smart-contracts/language/library/regex#match2","type":"docs"},{"id":566,"pageTitle":"Regex module","sectionTitle":"scan/2","sectionRoute":"/build/smart-contracts/language/library/regex#scan2","type":"docs"},{"id":558,"pageTitle":"State module","sectionTitle":"State module","sectionRoute":"/build/smart-contracts/language/library/state","type":"docs"},{"id":559,"pageTitle":"State module","sectionTitle":"get/1","sectionRoute":"/build/smart-contracts/language/library/state#get1","type":"docs"},{"id":560,"pageTitle":"State module","sectionTitle":"get/2","sectionRoute":"/build/smart-contracts/language/library/state#get2","type":"docs"},{"id":561,"pageTitle":"State module","sectionTitle":"set/2","sectionRoute":"/build/smart-contracts/language/library/state#set2","type":"docs"},{"id":562,"pageTitle":"State module","sectionTitle":"delete/1","sectionRoute":"/build/smart-contracts/language/library/state#delete1","type":"docs"},{"id":569,"pageTitle":"String module","sectionTitle":"String module","sectionRoute":"/build/smart-contracts/language/library/string","type":"docs"},{"id":570,"pageTitle":"String module","sectionTitle":"size/1","sectionRoute":"/build/smart-contracts/language/library/string#size1","type":"docs"},{"id":571,"pageTitle":"String module","sectionTitle":"in?/2","sectionRoute":"/build/smart-contracts/language/library/string#in2","type":"docs"},{"id":572,"pageTitle":"String module","sectionTitle":"to_number/1","sectionRoute":"/build/smart-contracts/language/library/string#to_number1","type":"docs"},{"id":573,"pageTitle":"String module","sectionTitle":"from_number/1","sectionRoute":"/build/smart-contracts/language/library/string#from_number1","type":"docs"},{"id":574,"pageTitle":"String module","sectionTitle":"to_hex/1","sectionRoute":"/build/smart-contracts/language/library/string#to_hex1","type":"docs"},{"id":575,"pageTitle":"String module","sectionTitle":"to_uppercase/1","sectionRoute":"/build/smart-contracts/language/library/string#to_uppercase1","type":"docs"},{"id":576,"pageTitle":"String module","sectionTitle":"to_lowercase/1","sectionRoute":"/build/smart-contracts/language/library/string#to_lowercase1","type":"docs"},{"id":567,"pageTitle":"Time module","sectionTitle":"Time module","sectionRoute":"/build/smart-contracts/language/library/time","type":"docs"},{"id":568,"pageTitle":"Time module","sectionTitle":"now/0","sectionRoute":"/build/smart-contracts/language/library/time#now0","type":"docs"},{"id":577,"pageTitle":"Token module","sectionTitle":"Token module","sectionRoute":"/build/smart-contracts/language/library/token","type":"docs"},{"id":578,"pageTitle":"Token module","sectionTitle":"fetch_id_from_address/1 [I/O] (DEPRECATED)","sectionRoute":"/build/smart-contracts/language/library/token#fetch_id_from_address1-io-deprecated","type":"docs"},{"id":579,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Smart Contracts - Triggers","sectionRoute":"/build/smart-contracts/language/triggers","type":"docs"},{"id":580,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered by a transaction","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-by-a-transaction","type":"docs"},{"id":581,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered by a transaction with a named action","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-by-a-transaction-with-a-named-action","type":"docs"},{"id":582,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered at a specific date and time","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-at-a-specific-date-and-time","type":"docs"},{"id":583,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered at a specific interval","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-at-a-specific-interval","type":"docs"},{"id":584,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered on every Oracle transaction","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-on-every-oracle-transaction","type":"docs"},{"id":585,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Multiple triggers","sectionRoute":"/build/smart-contracts/language/triggers#multiple-triggers","type":"docs"},{"id":586,"pageTitle":"Getting Started","sectionTitle":"Getting Started","sectionRoute":"/build/smart-contracts/wasm/getting-started","type":"docs"},{"id":587,"pageTitle":"Getting Started","sectionTitle":"Setup","sectionRoute":"/build/smart-contracts/wasm/getting-started#setup","type":"docs"},{"id":588,"pageTitle":"Getting Started","sectionTitle":"Prerequisites","sectionRoute":"/build/smart-contracts/wasm/getting-started#prerequisites","type":"docs"},{"id":589,"pageTitle":"Getting Started","sectionTitle":"Create a new project","sectionRoute":"/build/smart-contracts/wasm/getting-started#create-a-new-project","type":"docs"},{"id":590,"pageTitle":"Getting Started","sectionTitle":"Install SDK","sectionRoute":"/build/smart-contracts/wasm/getting-started#install-sdk","type":"docs"},{"id":591,"pageTitle":"Getting Started","sectionTitle":"Writing your first contract","sectionRoute":"/build/smart-contracts/wasm/getting-started#writing-your-first-contract","type":"docs"},{"id":592,"pageTitle":"Getting Started","sectionTitle":"Test & Simulation","sectionRoute":"/build/smart-contracts/wasm/getting-started#test--simulation","type":"docs"},{"id":593,"pageTitle":"Getting Started","sectionTitle":"Simulate state","sectionRoute":"/build/smart-contracts/wasm/getting-started#simulate-state","type":"docs"},{"id":594,"pageTitle":"Getting Started","sectionTitle":"Simulate constants","sectionRoute":"/build/smart-contracts/wasm/getting-started#simulate-constants","type":"docs"},{"id":595,"pageTitle":"Getting Started","sectionTitle":"Mock Blockchain Calls","sectionRoute":"/build/smart-contracts/wasm/getting-started#mock-blockchain-calls","type":"docs"},{"id":596,"pageTitle":"Getting Started","sectionTitle":"Deployment","sectionRoute":"/build/smart-contracts/wasm/getting-started#deployment","type":"docs"},{"id":597,"pageTitle":"Getting Started","sectionTitle":"Upgrading Contracts","sectionRoute":"/build/smart-contracts/wasm/getting-started#upgrading-contracts","type":"docs"},{"id":604,"pageTitle":"WASM Runtime","sectionTitle":"WASM Runtime","sectionRoute":"/build/smart-contracts/wasm/runtime","type":"docs"},{"id":605,"pageTitle":"WASM Runtime","sectionTitle":"Communication","sectionRoute":"/build/smart-contracts/wasm/runtime#communication","type":"docs"},{"id":606,"pageTitle":"WASM Runtime","sectionTitle":"Manifest","sectionRoute":"/build/smart-contracts/wasm/runtime#manifest","type":"docs"},{"id":607,"pageTitle":"WASM Runtime","sectionTitle":"Reserved types","sectionRoute":"/build/smart-contracts/wasm/runtime#reserved-types","type":"docs"},{"id":608,"pageTitle":"WASM Runtime","sectionTitle":"Hooks (Reserved functions)","sectionRoute":"/build/smart-contracts/wasm/runtime#hooks-reserved-functions","type":"docs"},{"id":609,"pageTitle":"WASM Runtime","sectionTitle":"Memory management","sectionRoute":"/build/smart-contracts/wasm/runtime#memory-management","type":"docs"},{"id":610,"pageTitle":"WASM Runtime","sectionTitle":"Host functions","sectionRoute":"/build/smart-contracts/wasm/runtime#host-functions","type":"docs"},{"id":611,"pageTitle":"WASM Runtime","sectionTitle":"getBalance (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getbalance-chain","type":"docs"},{"id":612,"pageTitle":"WASM Runtime","sectionTitle":"getGenesisAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getgenesisaddress-chain","type":"docs"},{"id":613,"pageTitle":"WASM Runtime","sectionTitle":"getFirstTransactionAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getfirsttransactionaddress-chain","type":"docs"},{"id":614,"pageTitle":"WASM Runtime","sectionTitle":"getLastAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getlastaddress-chain","type":"docs"},{"id":615,"pageTitle":"WASM Runtime","sectionTitle":"getPreviousAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getpreviousaddress-chain","type":"docs"},{"id":616,"pageTitle":"WASM Runtime","sectionTitle":"getGenesisPublicKey (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getgenesispublickey-chain","type":"docs"},{"id":617,"pageTitle":"WASM Runtime","sectionTitle":"getTransaction (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#gettransaction-chain","type":"docs"},{"id":618,"pageTitle":"WASM Runtime","sectionTitle":"getLastTransaction (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getlasttransaction-chain","type":"docs"},{"id":619,"pageTitle":"WASM Runtime","sectionTitle":"callFunction (CONTRACT)","sectionRoute":"/build/smart-contracts/wasm/runtime#callfunction-contract","type":"docs"},{"id":620,"pageTitle":"WASM Runtime","sectionTitle":"hmacWithStorageNonce (CRYPTO)","sectionRoute":"/build/smart-contracts/wasm/runtime#hmacwithstoragenonce-crypto","type":"docs"},{"id":621,"pageTitle":"WASM Runtime","sectionTitle":"signWithRecovery (CRYPTO)","sectionRoute":"/build/smart-contracts/wasm/runtime#signwithrecovery-crypto","type":"docs"},{"id":622,"pageTitle":"WASM Runtime","sectionTitle":"decryptWithStorageNonce (CRYPTO)","sectionRoute":"/build/smart-contracts/wasm/runtime#decryptwithstoragenonce-crypto","type":"docs"},{"id":623,"pageTitle":"WASM Runtime","sectionTitle":"request (HTTP)","sectionRoute":"/build/smart-contracts/wasm/runtime#request-http","type":"docs"},{"id":624,"pageTitle":"WASM Runtime","sectionTitle":"requestMany (HTTP)","sectionRoute":"/build/smart-contracts/wasm/runtime#requestmany-http","type":"docs"},{"id":625,"pageTitle":"AssemblyScript","sectionTitle":"AssemblyScript","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript","type":"docs"},{"id":626,"pageTitle":"AssemblyScript","sectionTitle":"Features","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#features","type":"docs"},{"id":627,"pageTitle":"AssemblyScript","sectionTitle":"Installation","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#installation","type":"docs"},{"id":628,"pageTitle":"AssemblyScript","sectionTitle":"Usage","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#usage","type":"docs"},{"id":629,"pageTitle":"AssemblyScript","sectionTitle":"Action definition","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#action-definition","type":"docs"},{"id":630,"pageTitle":"AssemblyScript","sectionTitle":"TriggerType Options","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#triggertype-options","type":"docs"},{"id":631,"pageTitle":"AssemblyScript","sectionTitle":"Readonly functions definition","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#readonly-functions-definition","type":"docs"},{"id":632,"pageTitle":"AssemblyScript","sectionTitle":"Function parameters","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#function-parameters","type":"docs"},{"id":633,"pageTitle":"AssemblyScript","sectionTitle":"Transaction builder","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#transaction-builder","type":"docs"},{"id":634,"pageTitle":"AssemblyScript","sectionTitle":"Library (Host functions)","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#library-host-functions","type":"docs"},{"id":635,"pageTitle":"AssemblyScript","sectionTitle":"Errors","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#errors","type":"docs"},{"id":636,"pageTitle":"AssemblyScript","sectionTitle":"Binaries","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#binaries","type":"docs"},{"id":637,"pageTitle":"AssemblyScript","sectionTitle":"Best pratices","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#best-pratices","type":"docs"},{"id":638,"pageTitle":"AssemblyScript","sectionTitle":"Tests","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#tests","type":"docs"},{"id":639,"pageTitle":"AssemblyScript","sectionTitle":"CLI","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#cli","type":"docs"},{"id":640,"pageTitle":"AssemblyScript","sectionTitle":"Build","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#build","type":"docs"},{"id":641,"pageTitle":"AssemblyScript","sectionTitle":"Deploy","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#deploy","type":"docs"},{"id":598,"pageTitle":"Testnet","sectionTitle":"Testnet","sectionRoute":"/build/testnet","type":"docs"},{"id":599,"pageTitle":"Testnet","sectionTitle":"Local","sectionRoute":"/build/testnet#local","type":"docs"},{"id":600,"pageTitle":"Testnet","sectionTitle":"Installation","sectionRoute":"/build/testnet#installation","type":"docs"},{"id":601,"pageTitle":"Testnet","sectionTitle":"Get some funds","sectionRoute":"/build/testnet#get-some-funds","type":"docs"},{"id":602,"pageTitle":"Testnet","sectionTitle":"Public","sectionRoute":"/build/testnet#public","type":"docs"},{"id":603,"pageTitle":"Testnet","sectionTitle":"Get some funds","sectionRoute":"/build/testnet#get-some-funds-1","type":"docs"},{"id":642,"pageTitle":"","sectionTitle":"🗃️ GraphQL","sectionRoute":"/category/api","type":"docs"},{"id":643,"pageTitle":"","sectionTitle":"🗃️ Clients","sectionRoute":"/category/build","type":"docs"},{"id":644,"pageTitle":"","sectionTitle":"🗃️ API","sectionRoute":"/category/build","type":"docs"},{"id":645,"pageTitle":"","sectionTitle":"🗃️ Core development","sectionRoute":"/category/build","type":"docs"},{"id":646,"pageTitle":"","sectionTitle":"🗃️ DApp development","sectionRoute":"/category/build","type":"docs"},{"id":647,"pageTitle":"","sectionTitle":"🗃️ SDK","sectionRoute":"/category/build","type":"docs"},{"id":648,"pageTitle":"","sectionTitle":"🗃️ Smart Contracts","sectionRoute":"/category/build","type":"docs"},{"id":649,"pageTitle":"","sectionTitle":"📄️ Testnet","sectionRoute":"/category/build","type":"docs"},{"id":650,"pageTitle":"","sectionTitle":"🗃️ Ledger wallet","sectionRoute":"/category/clients","type":"docs"},{"id":651,"pageTitle":"","sectionTitle":"📄️ Archethic's wallet access","sectionRoute":"/category/clients","type":"docs"},{"id":652,"pageTitle":"","sectionTitle":"📄️ Archethic's wallet specification","sectionRoute":"/category/clients","type":"docs"},{"id":653,"pageTitle":"","sectionTitle":"📄️ Introduction","sectionRoute":"/category/dapp-development","type":"docs"},{"id":654,"pageTitle":"","sectionTitle":"📄️ Getting started","sectionRoute":"/category/dapp-development","type":"docs"},{"id":655,"pageTitle":"","sectionTitle":"📄️ Connecting aeWallet","sectionRoute":"/category/dapp-development","type":"docs"},{"id":656,"pageTitle":"","sectionTitle":"📄️ Watching account","sectionRoute":"/category/dapp-development","type":"docs"},{"id":657,"pageTitle":"","sectionTitle":"📄️ Signing transaction","sectionRoute":"/category/dapp-development","type":"docs"},{"id":658,"pageTitle":"","sectionTitle":"📄️ RPC Commands","sectionRoute":"/category/dapp-development","type":"docs"},{"id":659,"pageTitle":"","sectionTitle":"📄️ FAQ","sectionRoute":"/category/dapp-development","type":"docs"},{"id":660,"pageTitle":"","sectionTitle":"📄️ aeHosting","sectionRoute":"/category/faq","type":"docs"},{"id":661,"pageTitle":"","sectionTitle":"📄️ aeBridge","sectionRoute":"/category/faq","type":"docs"},{"id":662,"pageTitle":"","sectionTitle":"📄️ aeSwap","sectionRoute":"/category/faq","type":"docs"},{"id":663,"pageTitle":"","sectionTitle":"📄️ Migration of ERC-20 UCO Tokens","sectionRoute":"/category/faq","type":"docs"},{"id":664,"pageTitle":"","sectionTitle":"📄️ aeWallet","sectionRoute":"/category/faq","type":"docs"},{"id":665,"pageTitle":"","sectionTitle":"📄️ Schema Documentation","sectionRoute":"/category/graphql","type":"docs"},{"id":666,"pageTitle":"","sectionTitle":"🗃️ Directives","sectionRoute":"/category/graphql","type":"docs"},{"id":667,"pageTitle":"","sectionTitle":"🗃️ Enums","sectionRoute":"/category/graphql","type":"docs"},{"id":668,"pageTitle":"","sectionTitle":"🗃️ Objects","sectionRoute":"/category/graphql","type":"docs"},{"id":669,"pageTitle":"","sectionTitle":"🗃️ Queries","sectionRoute":"/category/graphql","type":"docs"},{"id":670,"pageTitle":"","sectionTitle":"🗃️ Scalars","sectionRoute":"/category/graphql","type":"docs"},{"id":671,"pageTitle":"","sectionTitle":"🗃️ Subscriptions","sectionRoute":"/category/graphql","type":"docs"},{"id":672,"pageTitle":"","sectionTitle":"📄️ Tutoriel Archethic DeFi","sectionRoute":"/category/participate","type":"docs"},{"id":673,"pageTitle":"","sectionTitle":"🗃️ Archethic Web (aeHosting)","sectionRoute":"/category/participate","type":"docs"},{"id":674,"pageTitle":"","sectionTitle":"🗃️ Archethic Bridge (aeBridge)","sectionRoute":"/category/participate","type":"docs"},{"id":675,"pageTitle":"","sectionTitle":"📄️ Archethic's CLI","sectionRoute":"/category/participate","type":"docs"},{"id":676,"pageTitle":"","sectionTitle":"🗃️ Archethic DEX (aeSwap)","sectionRoute":"/category/participate","type":"docs"},{"id":677,"pageTitle":"","sectionTitle":"🗃️ Archethic Wallet (aeWallet)","sectionRoute":"/category/participate","type":"docs"},{"id":678,"pageTitle":"","sectionTitle":"📄️ AssemblyScript","sectionRoute":"/category/sdk","type":"docs"},{"id":679,"pageTitle":"","sectionTitle":"📄️ CLI","sectionRoute":"/category/usage","type":"docs"},{"id":680,"pageTitle":"","sectionTitle":"📄️ AEWeb Front End","sectionRoute":"/category/usage","type":"docs"},{"id":681,"pageTitle":"","sectionTitle":"📄️ Runtime","sectionRoute":"/category/wasm","type":"docs"},{"id":682,"pageTitle":"","sectionTitle":"📄️ Getting Started","sectionRoute":"/category/wasm","type":"docs"},{"id":683,"pageTitle":"","sectionTitle":"🗃️ SDK","sectionRoute":"/category/wasm","type":"docs"},{"id":684,"pageTitle":"Contributing","sectionTitle":"Contributing","sectionRoute":"/contributing","type":"docs"},{"id":685,"pageTitle":"Contributing","sectionTitle":"How to contribute","sectionRoute":"/contributing#how-to-contribute","type":"docs"},{"id":686,"pageTitle":"Contributing","sectionTitle":"Guidelines","sectionRoute":"/contributing#guidelines","type":"docs"},{"id":687,"pageTitle":"Contributing","sectionTitle":"Diagrams","sectionRoute":"/contributing#diagrams","type":"docs"},{"id":688,"pageTitle":"aeHosting","sectionTitle":"aeHosting","sectionRoute":"/FAQ/aeweb","type":"docs"},{"id":689,"pageTitle":"aeHosting","sectionTitle":"General","sectionRoute":"/FAQ/aeweb#general","type":"docs"},{"id":690,"pageTitle":"aeHosting","sectionTitle":" How do I redirect my domain names to my websites deployed on the Archethic Blockchain?","sectionRoute":"/FAQ/aeweb#-how-do-i-redirect-my-domain-names-to-my-websites-deployed-on-the-archethic-blockchain","type":"docs"},{"id":691,"pageTitle":"aeHosting","sectionTitle":"What is the purpose of a .gitignore file?","sectionRoute":"/FAQ/aeweb#what-is-the-purpose-of-a-gitignore-file","type":"docs"},{"id":692,"pageTitle":"aeHosting","sectionTitle":"When using the Archethic wallet's \"link to a file hosted on AEWeb\" option to create an NFT with an image, does it require sending funds to the newly created address using AEWeb CLI?","sectionRoute":"/FAQ/aeweb#when-using-the-archethic-wallets-link-to-a-file-hosted-on-aeweb-option-to-create-an-nft-with-an-image-does-it-require-sending-funds-to-the-newly-created-address-using-aeweb-cli","type":"docs"},{"id":693,"pageTitle":"aeBridge","sectionTitle":"aeBridge","sectionRoute":"/FAQ/bridge-2-ways","type":"docs"},{"id":694,"pageTitle":"aeBridge","sectionTitle":"General","sectionRoute":"/FAQ/bridge-2-ways#general","type":"docs"},{"id":695,"pageTitle":"aeBridge","sectionTitle":"What is Archethic Bridge?","sectionRoute":"/FAQ/bridge-2-ways#what-is-archethic-bridge","type":"docs"},{"id":696,"pageTitle":"aeBridge","sectionTitle":"How to access the Archethic Bridge ?","sectionRoute":"/FAQ/bridge-2-ways#how-to-access-the-archethic-bridge-","type":"docs"},{"id":697,"pageTitle":"aeBridge","sectionTitle":"Which blockchain is better to bridge my UCOs?","sectionRoute":"/FAQ/bridge-2-ways#which-blockchain-is-better-to-bridge-my-ucos","type":"docs"},{"id":698,"pageTitle":"aeBridge","sectionTitle":"What blockchains does the Archethic Bridge support?","sectionRoute":"/FAQ/bridge-2-ways#what-blockchains-does-the-archethic-bridge-support","type":"docs"},{"id":699,"pageTitle":"aeBridge","sectionTitle":"Is the Archethic Bridge available on mobile devices?","sectionRoute":"/FAQ/bridge-2-ways#is-the-archethic-bridge-available-on-mobile-devices","type":"docs"},{"id":700,"pageTitle":"aeBridge","sectionTitle":"What is an EVM wallet?","sectionRoute":"/FAQ/bridge-2-ways#what-is-an-evm-wallet","type":"docs"},{"id":701,"pageTitle":"aeBridge","sectionTitle":"How is the price of $UCO estimated?","sectionRoute":"/FAQ/bridge-2-ways#how-is-the-price-of-uco-estimated","type":"docs"},{"id":702,"pageTitle":"aeBridge","sectionTitle":"How long is the predetermined time?","sectionRoute":"/FAQ/bridge-2-ways#how-long-is-the-predetermined-time","type":"docs"},{"id":703,"pageTitle":"aeBridge","sectionTitle":"Is the bridge audited?","sectionRoute":"/FAQ/bridge-2-ways#is-the-bridge-audited","type":"docs"},{"id":704,"pageTitle":"aeBridge","sectionTitle":"Key Concepts","sectionRoute":"/FAQ/bridge-2-ways#key-concepts","type":"docs"},{"id":705,"pageTitle":"aeBridge","sectionTitle":"What is an HTLC (Hash Time Lock Contract) in the context of Archethic's bridge?","sectionRoute":"/FAQ/bridge-2-ways#what-is-an-htlc-hash-time-lock-contract-in-the-context-of-archethics-bridge","type":"docs"},{"id":706,"pageTitle":"aeBridge","sectionTitle":"How does Archethic's cross-chain verification work?","sectionRoute":"/FAQ/bridge-2-ways#how-does-archethics-cross-chain-verification-work","type":"docs"},{"id":707,"pageTitle":"aeBridge","sectionTitle":"Specifics of Bridging","sectionRoute":"/FAQ/bridge-2-ways#specifics-of-bridging","type":"docs"},{"id":708,"pageTitle":"aeBridge","sectionTitle":"How does the process of bridging from EVM to Archethic work?","sectionRoute":"/FAQ/bridge-2-ways#how-does-the-process-of-bridging-from-evm-to-archethic-work","type":"docs"},{"id":709,"pageTitle":"aeBridge","sectionTitle":"What is the process for bridging from Archethic to EVM?","sectionRoute":"/FAQ/bridge-2-ways#what-is-the-process-for-bridging-from-archethic-to-evm","type":"docs"},{"id":710,"pageTitle":"aeBridge","sectionTitle":"Wallet","sectionRoute":"/FAQ/bridge-2-ways#wallet","type":"docs"},{"id":711,"pageTitle":"aeBridge","sectionTitle":"I’m using the Mainnet network in the Wallet, how can I switch on the Testnet?","sectionRoute":"/FAQ/bridge-2-ways#im-using-the-mainnet-network-in-the-wallet-how-can-i-switch-on-the-testnet","type":"docs"},{"id":712,"pageTitle":"aeBridge","sectionTitle":"Why can't I connect to the Archethic wallet with my Brave browser?","sectionRoute":"/FAQ/bridge-2-ways#why-cant-i-connect-to-the-archethic-wallet-with-my-brave-browser","type":"docs"},{"id":713,"pageTitle":"aeBridge","sectionTitle":"Issues management","sectionRoute":"/FAQ/bridge-2-ways#issues-management","type":"docs"},{"id":714,"pageTitle":"aeBridge","sectionTitle":"What happens if a problem occurs, or I refuse a transaction during the transfer?","sectionRoute":"/FAQ/bridge-2-ways#what-happens-if-a-problem-occurs-or-i-refuse-a-transaction-during-the-transfer","type":"docs"},{"id":715,"pageTitle":"aeBridge","sectionTitle":"If I sent the tokens to a wrong Mainnet address, what to do?","sectionRoute":"/FAQ/bridge-2-ways#if-i-sent-the-tokens-to-a-wrong-mainnet-address-what-to-do","type":"docs"},{"id":716,"pageTitle":"aeBridge","sectionTitle":"Can I help the developers analyze the problems?","sectionRoute":"/FAQ/bridge-2-ways#can-i-help-the-developers-analyze-the-problems","type":"docs"},{"id":717,"pageTitle":"aeBridge","sectionTitle":"While a bridge from Archethic to EVM Blockchain, I have an error '1405'","sectionRoute":"/FAQ/bridge-2-ways#while-a-bridge-from-archethic-to-evm-blockchain-i-have-an-error-1405","type":"docs"},{"id":718,"pageTitle":"aeBridge","sectionTitle":"The bridge does not recognize my EVM wallet. What should I do?","sectionRoute":"/FAQ/bridge-2-ways#the-bridge-does-not-recognize-my-evm-wallet-what-should-i-do","type":"docs"},{"id":719,"pageTitle":"aeSwap","sectionTitle":"aeSwap","sectionRoute":"/FAQ/dex","type":"docs"},{"id":720,"pageTitle":"aeSwap","sectionTitle":"General","sectionRoute":"/FAQ/dex#general","type":"docs"},{"id":721,"pageTitle":"aeSwap","sectionTitle":"How to access the Archethic DEX named aeSwap ?","sectionRoute":"/FAQ/dex#how-to-access-the-archethic-dex-named-aeswap-","type":"docs"},{"id":722,"pageTitle":"aeSwap","sectionTitle":"Is the Archethic DEX available on mobile devices?","sectionRoute":"/FAQ/dex#is-the-archethic-dex-available-on-mobile-devices","type":"docs"},{"id":723,"pageTitle":"aeSwap","sectionTitle":"How is the price of UCO estimated?","sectionRoute":"/FAQ/dex#how-is-the-price-of-uco-estimated","type":"docs"},{"id":724,"pageTitle":"aeSwap","sectionTitle":"What web browsers are not supported?","sectionRoute":"/FAQ/dex#what-web-browsers-are-not-supported","type":"docs"},{"id":725,"pageTitle":"aeSwap","sectionTitle":"Why is a small quantity of liquidity pool shares removed when the first liquidity is added to a pool on Archethic?","sectionRoute":"/FAQ/dex#why-is-a-small-quantity-of-liquidity-pool-shares-removed-when-the-first-liquidity-is-added-to-a-pool-on-archethic","type":"docs"},{"id":726,"pageTitle":"aeSwap","sectionTitle":"What does APR (24h) mean in the pool information?","sectionRoute":"/FAQ/dex#what-does-apr-24h-mean-in-the-pool-information","type":"docs"},{"id":727,"pageTitle":"aeSwap","sectionTitle":"Wallet","sectionRoute":"/FAQ/dex#wallet","type":"docs"},{"id":728,"pageTitle":"aeSwap","sectionTitle":"I’m using the Mainnet network in the Wallet, how can I switch on the Testnet?","sectionRoute":"/FAQ/dex#im-using-the-mainnet-network-in-the-wallet-how-can-i-switch-on-the-testnet","type":"docs"},{"id":729,"pageTitle":"aeSwap","sectionTitle":"Why can't I connect to the Archethic wallet with my Brave browser?","sectionRoute":"/FAQ/dex#why-cant-i-connect-to-the-archethic-wallet-with-my-brave-browser","type":"docs"},{"id":736,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"Migration of ERC-20 UCO Tokens","sectionRoute":"/FAQ/migration-erc-token","type":"docs"},{"id":737,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"General","sectionRoute":"/FAQ/migration-erc-token#general","type":"docs"},{"id":738,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":" Why Archethic migrates his ERC20 UCO Token? ","sectionRoute":"/FAQ/migration-erc-token#-why-archethic-migrates-his-erc20-uco-token-","type":"docs"},{"id":739,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"How do I migrate my V1 tokens to V2?","sectionRoute":"/FAQ/migration-erc-token#how-do-i-migrate-my-v1-tokens-to-v2","type":"docs"},{"id":740,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"If I have 3000 UCO in V1, how many UCO will I receive in V2?","sectionRoute":"/FAQ/migration-erc-token#if-i-have-3000-uco-in-v1-how-many-uco-will-i-receive-in-v2","type":"docs"},{"id":741,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"How much does the migration cost the user?","sectionRoute":"/FAQ/migration-erc-token#how-much-does-the-migration-cost-the-user","type":"docs"},{"id":742,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"I have UCO with more than 8 decimal places; does this have an impact?","sectionRoute":"/FAQ/migration-erc-token#i-have-uco-with-more-than-8-decimal-places-does-this-have-an-impact","type":"docs"},{"id":730,"pageTitle":"aeWallet","sectionTitle":"aeWallet","sectionRoute":"/FAQ/wallet","type":"docs"},{"id":731,"pageTitle":"aeWallet","sectionTitle":"General","sectionRoute":"/FAQ/wallet#general","type":"docs"},{"id":732,"pageTitle":"aeWallet","sectionTitle":" How to create a wallet on the Archethic blockchain?","sectionRoute":"/FAQ/wallet#-how-to-create-a-wallet-on-the-archethic-blockchain","type":"docs"},{"id":733,"pageTitle":"aeWallet","sectionTitle":" How to retrieve the address of my Archethic wallet?","sectionRoute":"/FAQ/wallet#-how-to-retrieve-the-address-of-my-archethic-wallet","type":"docs"},{"id":734,"pageTitle":"aeWallet","sectionTitle":"Troubleshooting","sectionRoute":"/FAQ/wallet#troubleshooting","type":"docs"},{"id":735,"pageTitle":"aeWallet","sectionTitle":"The Archethic wallet won't start or opens to a black or white screen","sectionRoute":"/FAQ/wallet#the-archethic-wallet-wont-start-or-opens-to-a-black-or-white-screen","type":"docs"},{"id":743,"pageTitle":"Archethic introduction","sectionTitle":"Archethic introduction","sectionRoute":"/learn/","type":"docs"},{"id":744,"pageTitle":"Archethic introduction","sectionTitle":"Motivations","sectionRoute":"/learn/#motivations","type":"docs"},{"id":745,"pageTitle":"Archethic introduction","sectionTitle":"Innovations","sectionRoute":"/learn/#innovations","type":"docs"},{"id":746,"pageTitle":"ARCH consensus","sectionTitle":"ARCH consensus","sectionRoute":"/learn/arch-consensus/","type":"docs"},{"id":747,"pageTitle":"ARCH consensus","sectionTitle":"Atomic Commitment","sectionRoute":"/learn/arch-consensus/#atomic-commitment","type":"docs"},{"id":748,"pageTitle":"ARCH consensus","sectionTitle":"Rotating Election","sectionRoute":"/learn/arch-consensus/#rotating-election","type":"docs"},{"id":749,"pageTitle":"ARCH consensus","sectionTitle":"Workflow","sectionRoute":"/learn/arch-consensus/#workflow","type":"docs"},{"id":750,"pageTitle":"Proof of Work","sectionTitle":"Proof of Work","sectionRoute":"/learn/arch-consensus/proof-of-work","type":"docs"},{"id":751,"pageTitle":"Cryptography","sectionTitle":"Cryptography","sectionRoute":"/learn/cryptography/","type":"docs"},{"id":752,"pageTitle":"Cryptography","sectionTitle":"Quantum-Safe","sectionRoute":"/learn/cryptography/#quantum-safe","type":"docs"},{"id":753,"pageTitle":"Cryptography","sectionTitle":"Non-Discolure of public keys","sectionRoute":"/learn/cryptography/#non-discolure-of-public-keys","type":"docs"},{"id":754,"pageTitle":"Cryptography","sectionTitle":"Origin Devices","sectionRoute":"/learn/cryptography/#origin-devices","type":"docs"},{"id":755,"pageTitle":"Cryptography","sectionTitle":"Adaptative","sectionRoute":"/learn/cryptography/#adaptative","type":"docs"},{"id":756,"pageTitle":"Cryptography","sectionTitle":"Public keys","sectionRoute":"/learn/cryptography/#public-keys","type":"docs"},{"id":757,"pageTitle":"Cryptography","sectionTitle":"Hashes","sectionRoute":"/learn/cryptography/#hashes","type":"docs"},{"id":758,"pageTitle":"Cryptography","sectionTitle":"Transaction addresses","sectionRoute":"/learn/cryptography/#transaction-addresses","type":"docs"},{"id":759,"pageTitle":"Cryptography","sectionTitle":"Default algorithms","sectionRoute":"/learn/cryptography/#default-algorithms","type":"docs"},{"id":760,"pageTitle":"Hardware Root of Trust","sectionTitle":"Hardware Root of Trust","sectionRoute":"/learn/cryptography/hardware-root-of-trust","type":"docs"},{"id":761,"pageTitle":"Hardware Root of Trust","sectionTitle":"What is hardware root of trust?","sectionRoute":"/learn/cryptography/hardware-root-of-trust#what-is-hardware-root-of-trust","type":"docs"},{"id":762,"pageTitle":"Hardware Root of Trust","sectionTitle":"Why hardware root of trust for Archethic?","sectionRoute":"/learn/cryptography/hardware-root-of-trust#why-hardware-root-of-trust-for-archethic","type":"docs"},{"id":763,"pageTitle":"Hardware Root of Trust","sectionTitle":"Implementation of Hardware Root of Trust (HRT)","sectionRoute":"/learn/cryptography/hardware-root-of-trust#implementation-of-hardware-root-of-trust-hrt","type":"docs"},{"id":764,"pageTitle":"Hardware Root of Trust","sectionTitle":"Placement of HRT in Archethic Blockchain/Ecosystem","sectionRoute":"/learn/cryptography/hardware-root-of-trust#placement-of-hrt-in-archethic-blockchainecosystem","type":"docs"},{"id":765,"pageTitle":"Decentralized Identity","sectionTitle":"Decentralized Identity","sectionRoute":"/learn/decentralized-id/","type":"docs"},{"id":766,"pageTitle":"Decentralized Identity","sectionTitle":"Identity","sectionRoute":"/learn/decentralized-id/#identity","type":"docs"},{"id":767,"pageTitle":"Decentralized Identity","sectionTitle":"Password-less","sectionRoute":"/learn/decentralized-id/#password-less","type":"docs"},{"id":768,"pageTitle":"Keychain","sectionTitle":"Keychain","sectionRoute":"/learn/decentralized-id/keychain","type":"docs"},{"id":769,"pageTitle":"Keychain","sectionTitle":"Key generation","sectionRoute":"/learn/decentralized-id/keychain#key-generation","type":"docs"},{"id":770,"pageTitle":"Keychain","sectionTitle":"End to end encryption","sectionRoute":"/learn/decentralized-id/keychain#end-to-end-encryption","type":"docs"},{"id":771,"pageTitle":"Keychain","sectionTitle":"Standard compliance","sectionRoute":"/learn/decentralized-id/keychain#standard-compliance","type":"docs"},{"id":772,"pageTitle":"Keychain","sectionTitle":"Customization","sectionRoute":"/learn/decentralized-id/keychain#customization","type":"docs"},{"id":773,"pageTitle":"Ecosystem","sectionTitle":"Ecosystem","sectionRoute":"/learn/ecosystem","type":"docs"},{"id":774,"pageTitle":"Ecosystem","sectionTitle":"Limitless network","sectionRoute":"/learn/ecosystem#limitless-network","type":"docs"},{"id":775,"pageTitle":"Ecosystem","sectionTitle":"Unlimited applications","sectionRoute":"/learn/ecosystem#unlimited-applications","type":"docs"},{"id":776,"pageTitle":"Ecosystem","sectionTitle":"Decentralized Identity","sectionRoute":"/learn/ecosystem#decentralized-identity","type":"docs"},{"id":777,"pageTitle":"Ecosystem","sectionTitle":"Governance","sectionRoute":"/learn/ecosystem#governance","type":"docs"},{"id":778,"pageTitle":"Ecosystem","sectionTitle":"Open enhancements","sectionRoute":"/learn/ecosystem#open-enhancements","type":"docs"},{"id":779,"pageTitle":"Transaction fees","sectionTitle":"Transaction fees","sectionRoute":"/learn/fee","type":"docs"},{"id":780,"pageTitle":"Transaction fees","sectionTitle":"Calculation","sectionRoute":"/learn/fee#calculation","type":"docs"},{"id":781,"pageTitle":"Transaction fees","sectionTitle":"Transaction's type particularities","sectionRoute":"/learn/fee#transactions-type-particularities","type":"docs"},{"id":782,"pageTitle":"Transaction fees","sectionTitle":"Network","sectionRoute":"/learn/fee#network","type":"docs"},{"id":783,"pageTitle":"Transaction fees","sectionTitle":"Keychain","sectionRoute":"/learn/fee#keychain","type":"docs"},{"id":784,"pageTitle":"Transaction fees","sectionTitle":"Token","sectionRoute":"/learn/fee#token","type":"docs"},{"id":785,"pageTitle":"Governance","sectionTitle":"Governance","sectionRoute":"/learn/governance/","type":"docs"},{"id":786,"pageTitle":"Governance","sectionTitle":"Decentralized Identity & Proof of Identity","sectionRoute":"/learn/governance/#decentralized-identity--proof-of-identity","type":"docs"},{"id":787,"pageTitle":"Governance","sectionTitle":"Code «On-Chain»","sectionRoute":"/learn/governance/#code-on-chain","type":"docs"},{"id":788,"pageTitle":"Governance","sectionTitle":"Introduction","sectionRoute":"/learn/governance/#introduction","type":"docs"},{"id":789,"pageTitle":"Governance","sectionTitle":"Details","sectionRoute":"/learn/governance/#details","type":"docs"},{"id":790,"pageTitle":"Governance","sectionTitle":"Incentives","sectionRoute":"/learn/governance/#incentives","type":"docs"},{"id":800,"pageTitle":"OracleChain","sectionTitle":"OracleChain","sectionRoute":"/learn/oracle-chain","type":"docs"},{"id":801,"pageTitle":"OracleChain","sectionTitle":"How is it work ?","sectionRoute":"/learn/oracle-chain#how-is-it-work-","type":"docs"},{"id":802,"pageTitle":"OracleChain","sectionTitle":"Services","sectionRoute":"/learn/oracle-chain#services","type":"docs"},{"id":791,"pageTitle":"P2P","sectionTitle":"P2P","sectionRoute":"/learn/p2p/","type":"docs"},{"id":792,"pageTitle":"P2P","sectionTitle":"Existing solutions","sectionRoute":"/learn/p2p/#existing-solutions","type":"docs"},{"id":793,"pageTitle":"P2P","sectionTitle":"Gossip","sectionRoute":"/learn/p2p/#gossip","type":"docs"},{"id":794,"pageTitle":"P2P","sectionTitle":"Broadcast","sectionRoute":"/learn/p2p/#broadcast","type":"docs"},{"id":795,"pageTitle":"P2P","sectionTitle":"Archethic's way","sectionRoute":"/learn/p2p/#archethics-way","type":"docs"},{"id":796,"pageTitle":"P2P","sectionTitle":"Transaction Validation Process","sectionRoute":"/learn/p2p/#transaction-validation-process","type":"docs"},{"id":797,"pageTitle":"P2P","sectionTitle":"Network transaction chains","sectionRoute":"/learn/p2p/#network-transaction-chains","type":"docs"},{"id":798,"pageTitle":"P2P","sectionTitle":"Beacons Chains","sectionRoute":"/learn/p2p/#beacons-chains","type":"docs"},{"id":799,"pageTitle":"P2P","sectionTitle":"Data propagation","sectionRoute":"/learn/p2p/#data-propagation","type":"docs"},{"id":803,"pageTitle":"Bootstrapping","sectionTitle":"Bootstrapping","sectionRoute":"/learn/p2p/bootstrapping","type":"docs"},{"id":804,"pageTitle":"Bootstrapping","sectionTitle":"Joining","sectionRoute":"/learn/p2p/bootstrapping#joining","type":"docs"},{"id":805,"pageTitle":"Bootstrapping","sectionTitle":"Updates","sectionRoute":"/learn/p2p/bootstrapping#updates","type":"docs"},{"id":806,"pageTitle":"Bootstrapping","sectionTitle":"Synchronization","sectionRoute":"/learn/p2p/bootstrapping#synchronization","type":"docs"},{"id":807,"pageTitle":"Self Repair","sectionTitle":"Self Repair","sectionRoute":"/learn/p2p/self-repair","type":"docs"},{"id":808,"pageTitle":"Self Repair","sectionTitle":"Identification","sectionRoute":"/learn/p2p/self-repair#identification","type":"docs"},{"id":809,"pageTitle":"Self Repair","sectionTitle":"Synchronization","sectionRoute":"/learn/p2p/self-repair#synchronization","type":"docs"},{"id":810,"pageTitle":"Patents","sectionTitle":"Patents","sectionRoute":"/learn/patents","type":"docs"},{"id":811,"pageTitle":"Patents","sectionTitle":"11 patents to build a new ecosystem","sectionRoute":"/learn/patents#11-patents-to-build-a-new-ecosystem","type":"docs"},{"id":812,"pageTitle":"Patents","sectionTitle":"Archethic, a Humanitarian and Community Project","sectionRoute":"/learn/patents#archethic-a-humanitarian-and-community-project","type":"docs"},{"id":813,"pageTitle":"Patents","sectionTitle":"List of patents","sectionRoute":"/learn/patents#list-of-patents","type":"docs"},{"id":814,"pageTitle":"Patents","sectionTitle":"Blockchain","sectionRoute":"/learn/patents#blockchain","type":"docs"},{"id":815,"pageTitle":"Patents","sectionTitle":"Biometrics","sectionRoute":"/learn/patents#biometrics","type":"docs"},{"id":816,"pageTitle":"Patents","sectionTitle":"Hardware","sectionRoute":"/learn/patents#hardware","type":"docs"},{"id":817,"pageTitle":"Sharding","sectionTitle":"Sharding","sectionRoute":"/learn/sharding/","type":"docs"},{"id":818,"pageTitle":"Sharding","sectionTitle":"Validation","sectionRoute":"/learn/sharding/#validation","type":"docs"},{"id":819,"pageTitle":"Sharding","sectionTitle":"Storage","sectionRoute":"/learn/sharding/#storage","type":"docs"},{"id":820,"pageTitle":"Sharding","sectionTitle":"Rotating Election","sectionRoute":"/learn/sharding/#rotating-election","type":"docs"},{"id":821,"pageTitle":"Beacon Chain","sectionTitle":"Beacon Chain","sectionRoute":"/learn/sharding/beacon-chain/","type":"docs"},{"id":822,"pageTitle":"Beacon Chain","sectionTitle":"Concepts","sectionRoute":"/learn/sharding/beacon-chain/#concepts","type":"docs"},{"id":823,"pageTitle":"Beacon Chain","sectionTitle":"Transaction tracking and timestamping","sectionRoute":"/learn/sharding/beacon-chain/#transaction-tracking-and-timestamping","type":"docs"},{"id":824,"pageTitle":"Beacon Chain","sectionTitle":"Status and Network Coordinates of nodes","sectionRoute":"/learn/sharding/beacon-chain/#status-and-network-coordinates-of-nodes","type":"docs"},{"id":825,"pageTitle":"Beacon Chain","sectionTitle":"Slot","sectionRoute":"/learn/sharding/beacon-chain/#slot","type":"docs"},{"id":826,"pageTitle":"Beacon Explorer","sectionTitle":"Beacon Explorer","sectionRoute":"/learn/sharding/beacon-chain/explorer","type":"docs"},{"id":827,"pageTitle":"Beacon Explorer","sectionTitle":"Concepts","sectionRoute":"/learn/sharding/beacon-chain/explorer#concepts","type":"docs"},{"id":828,"pageTitle":"Beacon Explorer","sectionTitle":"Slot","sectionRoute":"/learn/sharding/beacon-chain/explorer#slot","type":"docs"},{"id":829,"pageTitle":"Beacon Explorer","sectionTitle":"Epoch","sectionRoute":"/learn/sharding/beacon-chain/explorer#epoch","type":"docs"},{"id":830,"pageTitle":"Beacon Explorer","sectionTitle":"Subset","sectionRoute":"/learn/sharding/beacon-chain/explorer#subset","type":"docs"},{"id":831,"pageTitle":"Beacon Explorer","sectionTitle":"Process to get transaction notifications","sectionRoute":"/learn/sharding/beacon-chain/explorer#process-to-get-transaction-notifications","type":"docs"},{"id":832,"pageTitle":"Beacon Explorer","sectionTitle":"How to get transactions in realtime","sectionRoute":"/learn/sharding/beacon-chain/explorer#how-to-get-transactions-in-realtime","type":"docs"},{"id":833,"pageTitle":"Replication attestation","sectionTitle":"Replication attestation","sectionRoute":"/learn/sharding/replication-attestation","type":"docs"},{"id":834,"pageTitle":"Replication attestation","sectionTitle":"Heuristic solution","sectionRoute":"/learn/sharding/replication-attestation#heuristic-solution","type":"docs"},{"id":835,"pageTitle":"Replication attestation","sectionTitle":"Nested replications","sectionRoute":"/learn/sharding/replication-attestation#nested-replications","type":"docs"},{"id":836,"pageTitle":"Replication attestation","sectionTitle":"Client notifications","sectionRoute":"/learn/sharding/replication-attestation#client-notifications","type":"docs"},{"id":837,"pageTitle":"Replication attestation","sectionTitle":"Further improvements","sectionRoute":"/learn/sharding/replication-attestation#further-improvements","type":"docs"},{"id":843,"pageTitle":"Tokens","sectionTitle":"Tokens","sectionRoute":"/learn/token","type":"docs"},{"id":844,"pageTitle":"Tokens","sectionTitle":"Native","sectionRoute":"/learn/token#native","type":"docs"},{"id":845,"pageTitle":"Tokens","sectionTitle":"Standardized","sectionRoute":"/learn/token#standardized","type":"docs"},{"id":846,"pageTitle":"Tokens","sectionTitle":"Creation","sectionRoute":"/learn/token#creation","type":"docs"},{"id":847,"pageTitle":"Tokens","sectionTitle":"Fungible","sectionRoute":"/learn/token#fungible","type":"docs"},{"id":848,"pageTitle":"Tokens","sectionTitle":"Non-fungible","sectionRoute":"/learn/token#non-fungible","type":"docs"},{"id":849,"pageTitle":"Tokens","sectionTitle":"Resupply fungible tokens (AEIP-18)","sectionRoute":"/learn/token#resupply-fungible-tokens-aeip-18","type":"docs"},{"id":850,"pageTitle":"Tokens","sectionTitle":"Recipients (AEIP-19)","sectionRoute":"/learn/token#recipients-aeip-19","type":"docs"},{"id":851,"pageTitle":"Tokens","sectionTitle":"Transfer","sectionRoute":"/learn/token#transfer","type":"docs"},{"id":838,"pageTitle":"Transaction chains","sectionTitle":"Transaction chains","sectionRoute":"/learn/transaction-chain","type":"docs"},{"id":839,"pageTitle":"Transaction chains","sectionTitle":"Principles","sectionRoute":"/learn/transaction-chain#principles","type":"docs"},{"id":840,"pageTitle":"Transaction chains","sectionTitle":"Transaction structure","sectionRoute":"/learn/transaction-chain#transaction-structure","type":"docs"},{"id":841,"pageTitle":"Transaction chains","sectionTitle":"Pending transaction","sectionRoute":"/learn/transaction-chain#pending-transaction","type":"docs"},{"id":842,"pageTitle":"Transaction chains","sectionTitle":"Validated transaction","sectionRoute":"/learn/transaction-chain#validated-transaction","type":"docs"},{"id":852,"pageTitle":"Transaction types","sectionTitle":"Transaction types","sectionRoute":"/learn/transaction-types","type":"docs"},{"id":853,"pageTitle":"Transaction types","sectionTitle":"node (network)","sectionRoute":"/learn/transaction-types#node-network","type":"docs"},{"id":854,"pageTitle":"Transaction types","sectionTitle":"node_shared_secrets (network)","sectionRoute":"/learn/transaction-types#node_shared_secrets-network","type":"docs"},{"id":855,"pageTitle":"Transaction types","sectionTitle":"node_rewards (network)","sectionRoute":"/learn/transaction-types#node_rewards-network","type":"docs"},{"id":856,"pageTitle":"Transaction types","sectionTitle":"mint_rewards (network)","sectionRoute":"/learn/transaction-types#mint_rewards-network","type":"docs"},{"id":857,"pageTitle":"Transaction types","sectionTitle":"oracle (network)","sectionRoute":"/learn/transaction-types#oracle-network","type":"docs"},{"id":858,"pageTitle":"Transaction types","sectionTitle":"oracle_summary (network)","sectionRoute":"/learn/transaction-types#oracle_summary-network","type":"docs"},{"id":859,"pageTitle":"Transaction types","sectionTitle":"code_proposal (network)","sectionRoute":"/learn/transaction-types#code_proposal-network","type":"docs"},{"id":860,"pageTitle":"Transaction types","sectionTitle":"code_approval (network)","sectionRoute":"/learn/transaction-types#code_approval-network","type":"docs"},{"id":861,"pageTitle":"Transaction types","sectionTitle":"origin (network)","sectionRoute":"/learn/transaction-types#origin-network","type":"docs"},{"id":862,"pageTitle":"Transaction types","sectionTitle":"keychain","sectionRoute":"/learn/transaction-types#keychain","type":"docs"},{"id":863,"pageTitle":"Transaction types","sectionTitle":"keychain_access","sectionRoute":"/learn/transaction-types#keychain_access","type":"docs"},{"id":864,"pageTitle":"Transaction types","sectionTitle":"transfer","sectionRoute":"/learn/transaction-types#transfer","type":"docs"},{"id":865,"pageTitle":"Transaction types","sectionTitle":"token","sectionRoute":"/learn/transaction-types#token","type":"docs"},{"id":866,"pageTitle":"Transaction types","sectionTitle":"hosting","sectionRoute":"/learn/transaction-types#hosting","type":"docs"},{"id":867,"pageTitle":"Transaction types","sectionTitle":"data","sectionRoute":"/learn/transaction-types#data","type":"docs"},{"id":868,"pageTitle":"Transaction types","sectionTitle":"contract","sectionRoute":"/learn/transaction-types#contract","type":"docs"},{"id":869,"pageTitle":"UCO token","sectionTitle":"UCO token","sectionRoute":"/learn/uco","type":"docs"},{"id":870,"pageTitle":"UCO token","sectionTitle":"Fibonacci Golden Token Economics","sectionRoute":"/learn/uco#fibonacci-golden-token-economics","type":"docs"},{"id":877,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Archethic Web (aeHosting)","sectionRoute":"/participate/aeweb/","type":"docs"},{"id":878,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Motivations","sectionRoute":"/participate/aeweb/#motivations","type":"docs"},{"id":879,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Easy","sectionRoute":"/participate/aeweb/#easy","type":"docs"},{"id":880,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Security","sectionRoute":"/participate/aeweb/#security","type":"docs"},{"id":881,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Costly efficient","sectionRoute":"/participate/aeweb/#costly-efficient","type":"docs"},{"id":882,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Target","sectionRoute":"/participate/aeweb/#target","type":"docs"},{"id":883,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Try out","sectionRoute":"/participate/aeweb/#try-out","type":"docs"},{"id":884,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Graphical interface","sectionRoute":"/participate/aeweb/#graphical-interface","type":"docs"},{"id":885,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Developers","sectionRoute":"/participate/aeweb/#developers","type":"docs"},{"id":886,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Roadmap","sectionRoute":"/participate/aeweb/#roadmap","type":"docs"},{"id":887,"pageTitle":"Automate deployments","sectionTitle":"Automate deployments","sectionRoute":"/participate/aeweb/automation","type":"docs"},{"id":871,"pageTitle":"AEWeb - Domain names","sectionTitle":"AEWeb - Domain names","sectionRoute":"/participate/aeweb/dns","type":"docs"},{"id":872,"pageTitle":"AEWeb - Domain names","sectionTitle":"DNSLink","sectionRoute":"/participate/aeweb/dns#dnslink","type":"docs"},{"id":873,"pageTitle":"AEWeb - Domain names","sectionTitle":"Hosting provider integration","sectionRoute":"/participate/aeweb/dns#hosting-provider-integration","type":"docs"},{"id":874,"pageTitle":"AEWeb - Domain names","sectionTitle":"SSL","sectionRoute":"/participate/aeweb/dns#ssl","type":"docs"},{"id":875,"pageTitle":"AEWeb - Domain names","sectionTitle":"1. Get the certificate","sectionRoute":"/participate/aeweb/dns#1-get-the-certificate","type":"docs"},{"id":876,"pageTitle":"AEWeb - Domain names","sectionTitle":"2. Add the certificate on chain","sectionRoute":"/participate/aeweb/dns#2-add-the-certificate-on-chain","type":"docs"},{"id":888,"pageTitle":"AEWeb - How it works","sectionTitle":"AEWeb - How it works","sectionRoute":"/participate/aeweb/how-it-works","type":"docs"},{"id":889,"pageTitle":"AEWeb - How it works","sectionTitle":"Transaction building","sectionRoute":"/participate/aeweb/how-it-works#transaction-building","type":"docs"},{"id":890,"pageTitle":"AEWeb - How it works","sectionTitle":"Content delivery","sectionRoute":"/participate/aeweb/how-it-works#content-delivery","type":"docs"},{"id":891,"pageTitle":"AEWeb - How it works","sectionTitle":"Website updates","sectionRoute":"/participate/aeweb/how-it-works#website-updates","type":"docs"},{"id":892,"pageTitle":"AEWeb - How it works","sectionTitle":"Website unpublication","sectionRoute":"/participate/aeweb/how-it-works#website-unpublication","type":"docs"},{"id":893,"pageTitle":"","sectionTitle":"AEWeb Front end","sectionRoute":"/participate/aeweb/usage/aeweb-front","type":"docs"},{"id":894,"pageTitle":"","sectionTitle":"Tutorials","sectionRoute":"/participate/aeweb/usage/aeweb-front#tutorials","type":"docs"},{"id":895,"pageTitle":"","sectionTitle":"Deploy for the first time my static site","sectionRoute":"/participate/aeweb/usage/aeweb-front#deploy-for-the-first-time-my-static-site","type":"docs"},{"id":896,"pageTitle":"","sectionTitle":"Update my static site","sectionRoute":"/participate/aeweb/usage/aeweb-front#update-my-static-site","type":"docs"},{"id":897,"pageTitle":"","sectionTitle":"Update the SSL certificate","sectionRoute":"/participate/aeweb/usage/aeweb-front#update-the-ssl-certificate","type":"docs"},{"id":898,"pageTitle":"","sectionTitle":"Unpublish my static site","sectionRoute":"/participate/aeweb/usage/aeweb-front#unpublish-my-static-site","type":"docs"},{"id":899,"pageTitle":"","sectionTitle":"See my static site's informations","sectionRoute":"/participate/aeweb/usage/aeweb-front#see-my-static-sites-informations","type":"docs"},{"id":900,"pageTitle":"","sectionTitle":"Disconnect AEWeb","sectionRoute":"/participate/aeweb/usage/aeweb-front#disconnect-aeweb","type":"docs"},{"id":901,"pageTitle":"","sectionTitle":"Roadmap","sectionRoute":"/participate/aeweb/usage/aeweb-front#roadmap","type":"docs"},{"id":902,"pageTitle":"","sectionTitle":"AEWeb CLI (Command-Line Interface)","sectionRoute":"/participate/aeweb/usage/cli","type":"docs"},{"id":903,"pageTitle":"","sectionTitle":"aeweb generate-address","sectionRoute":"/participate/aeweb/usage/cli#aeweb-generate-address","type":"docs"},{"id":904,"pageTitle":"","sectionTitle":"aeweb deploy","sectionRoute":"/participate/aeweb/usage/cli#aeweb-deploy","type":"docs"},{"id":905,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Archethic Bridge (aeBridge)","sectionRoute":"/participate/bridge/","type":"docs"},{"id":906,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Key concepts","sectionRoute":"/participate/bridge/#key-concepts","type":"docs"},{"id":907,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"HTLC (Hash Time Lock Contract)","sectionRoute":"/participate/bridge/#htlc-hash-time-lock-contract","type":"docs"},{"id":908,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Archethic's cross-chain verification","sectionRoute":"/participate/bridge/#archethics-cross-chain-verification","type":"docs"},{"id":909,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"EVM to Archethic","sectionRoute":"/participate/bridge/#evm-to-archethic","type":"docs"},{"id":910,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Archethic to EVM","sectionRoute":"/participate/bridge/#archethic-to-evm","type":"docs"},{"id":911,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"How to access","sectionRoute":"/participate/bridge/#how-to-access","type":"docs"},{"id":912,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Audit of EVM Smart Contracts","sectionRoute":"/participate/bridge/#audit-of-evm-smart-contracts","type":"docs"},{"id":913,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"FAQ","sectionRoute":"/participate/bridge/#faq","type":"docs"},{"id":914,"pageTitle":"","sectionTitle":"aeBridge - Tutorial","sectionRoute":"/participate/bridge/usage","type":"docs"},{"id":915,"pageTitle":"","sectionTitle":"Welcome Screen","sectionRoute":"/participate/bridge/usage#welcome-screen","type":"docs"},{"id":916,"pageTitle":"","sectionTitle":"Application Menu","sectionRoute":"/participate/bridge/usage#application-menu","type":"docs"},{"id":917,"pageTitle":"","sectionTitle":"Feature Access","sectionRoute":"/participate/bridge/usage#feature-access","type":"docs"},{"id":918,"pageTitle":"","sectionTitle":"Bridging Your Assets","sectionRoute":"/participate/bridge/usage#bridging-your-assets","type":"docs"},{"id":919,"pageTitle":"","sectionTitle":"Step 1: Initiating Transfer","sectionRoute":"/participate/bridge/usage#step-1-initiating-transfer","type":"docs"},{"id":920,"pageTitle":"","sectionTitle":"Step 2: Confirming Details","sectionRoute":"/participate/bridge/usage#step-2-confirming-details","type":"docs"},{"id":921,"pageTitle":"","sectionTitle":"Step 3: Executing Transfer","sectionRoute":"/participate/bridge/usage#step-3-executing-transfer","type":"docs"},{"id":922,"pageTitle":"","sectionTitle":"Local History and Management","sectionRoute":"/participate/bridge/usage#local-history-and-management","type":"docs"},{"id":923,"pageTitle":"","sectionTitle":"Options Include:","sectionRoute":"/participate/bridge/usage#options-include","type":"docs"},{"id":924,"pageTitle":"","sectionTitle":"Transfer Status Actions:","sectionRoute":"/participate/bridge/usage#transfer-status-actions","type":"docs"},{"id":925,"pageTitle":"","sectionTitle":"Refund Process","sectionRoute":"/participate/bridge/usage#refund-process","type":"docs"},{"id":926,"pageTitle":"Archethic's CLI","sectionTitle":"Archethic's CLI","sectionRoute":"/participate/cli/","type":"docs"},{"id":927,"pageTitle":"Archethic's CLI","sectionTitle":"Installation","sectionRoute":"/participate/cli/#installation","type":"docs"},{"id":928,"pageTitle":"Archethic's CLI","sectionTitle":"Generate address","sectionRoute":"/participate/cli/#generate-address","type":"docs"},{"id":929,"pageTitle":"Archethic's CLI","sectionTitle":"Build and send transaction","sectionRoute":"/participate/cli/#build-and-send-transaction","type":"docs"},{"id":930,"pageTitle":"Archethic's CLI","sectionTitle":"UCO transfers","sectionRoute":"/participate/cli/#uco-transfers","type":"docs"},{"id":931,"pageTitle":"Archethic's CLI","sectionTitle":"Token transfers","sectionRoute":"/participate/cli/#token-transfers","type":"docs"},{"id":932,"pageTitle":"Archethic's CLI","sectionTitle":"Recipients","sectionRoute":"/participate/cli/#recipients","type":"docs"},{"id":933,"pageTitle":"Archethic's CLI","sectionTitle":"Content","sectionRoute":"/participate/cli/#content","type":"docs"},{"id":934,"pageTitle":"Archethic's CLI","sectionTitle":"Smart contract","sectionRoute":"/participate/cli/#smart-contract","type":"docs"},{"id":935,"pageTitle":"Archethic's CLI","sectionTitle":"Sending the transaction","sectionRoute":"/participate/cli/#sending-the-transaction","type":"docs"},{"id":936,"pageTitle":"Archethic's CLI","sectionTitle":"Keychain management","sectionRoute":"/participate/cli/#keychain-management","type":"docs"},{"id":937,"pageTitle":"Archethic's CLI","sectionTitle":"Creating a keychain","sectionRoute":"/participate/cli/#creating-a-keychain","type":"docs"},{"id":938,"pageTitle":"Archethic's CLI","sectionTitle":"Accessing a keychain","sectionRoute":"/participate/cli/#accessing-a-keychain","type":"docs"},{"id":939,"pageTitle":"Archethic's CLI","sectionTitle":"Adding / removing a service","sectionRoute":"/participate/cli/#adding--removing-a-service","type":"docs"},{"id":940,"pageTitle":"Archethic's CLI","sectionTitle":"Create a transaction for a service","sectionRoute":"/participate/cli/#create-a-transaction-for-a-service","type":"docs"},{"id":941,"pageTitle":"Archethic's CLI","sectionTitle":"CLI - Archethic Command Line Interpreter","sectionRoute":"/participate/cli/#cli---archethic-command-line-interpreter","type":"docs"},{"id":942,"pageTitle":"Archethic's CLI","sectionTitle":"Contribution","sectionRoute":"/participate/cli/#contribution","type":"docs"},{"id":948,"pageTitle":"Tutoriel Archethic DeFi","sectionTitle":"Tutoriel Archethic DeFi","sectionRoute":"/participate/DeFi/","type":"docs"},{"id":949,"pageTitle":"Tutoriel Archethic DeFi","sectionTitle":"Welcome to the interactive guide for using the Archethic Bridge","sectionRoute":"/participate/DeFi/","type":"docs"},{"id":950,"pageTitle":"Tutoriel Archethic DeFi","sectionTitle":"This tutorial will explain the following points:","sectionRoute":"/participate/DeFi/","type":"docs"},{"id":943,"pageTitle":"","sectionTitle":"aeSwap DEX Documentation","sectionRoute":"/participate/dex/","type":"docs"},{"id":944,"pageTitle":"","sectionTitle":"What is a Decentralized Exchange (DEX)?","sectionRoute":"/participate/dex/#what-is-a-decentralized-exchange-dex","type":"docs"},{"id":945,"pageTitle":"","sectionTitle":"Key Features of aeSwap","sectionRoute":"/participate/dex/#key-features-of-aeswap","type":"docs"},{"id":946,"pageTitle":"","sectionTitle":"How to access","sectionRoute":"/participate/dex/#how-to-access","type":"docs"},{"id":947,"pageTitle":"","sectionTitle":"FAQ","sectionRoute":"/participate/dex/#faq","type":"docs"},{"id":951,"pageTitle":"","sectionTitle":"Swaps, Liquidity Pools, Farming","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1","type":"docs"},{"id":952,"pageTitle":"","sectionTitle":"Swaps","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1#swaps","type":"docs"},{"id":953,"pageTitle":"","sectionTitle":"Liquidity Pools","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1#liquidity-pools","type":"docs"},{"id":954,"pageTitle":"","sectionTitle":"Farming","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1#farming","type":"docs"},{"id":955,"pageTitle":"","sectionTitle":"Financials: Fees, APR, Understanding Returns","sectionRoute":"/participate/dex/Core Concepts/core_concepts_2","type":"docs"},{"id":956,"pageTitle":"","sectionTitle":"Fees","sectionRoute":"/participate/dex/Core Concepts/core_concepts_2#fees","type":"docs"},{"id":957,"pageTitle":"","sectionTitle":"APR and Understanding Returns","sectionRoute":"/participate/dex/Core Concepts/core_concepts_2#apr-and-understanding-returns","type":"docs"},{"id":958,"pageTitle":"","sectionTitle":"Security, Research & Math","sectionRoute":"/participate/dex/Core Concepts/core_concepts_3","type":"docs"},{"id":959,"pageTitle":"","sectionTitle":"Research & Math","sectionRoute":"/participate/dex/Core Concepts/core_concepts_3#research--math","type":"docs"},{"id":960,"pageTitle":"","sectionTitle":"The Mathematics of AMM and Constant Product Formula","sectionRoute":"/participate/dex/Core Concepts/core_concepts_3#the-mathematics-of-amm-and-constant-product-formula","type":"docs"},{"id":961,"pageTitle":"","sectionTitle":"aeSwap - Tutorial","sectionRoute":"/participate/dex/Guide_Usage/","type":"docs"},{"id":962,"pageTitle":"","sectionTitle":"Welcome Screen","sectionRoute":"/participate/dex/Guide_Usage/#welcome-screen","type":"docs"},{"id":963,"pageTitle":"","sectionTitle":"Application Menu","sectionRoute":"/participate/dex/Guide_Usage/#application-menu","type":"docs"},{"id":964,"pageTitle":"","sectionTitle":"Feature Access","sectionRoute":"/participate/dex/Guide_Usage/#feature-access","type":"docs"},{"id":965,"pageTitle":"","sectionTitle":"Farming","sectionRoute":"/participate/dex/Guide_Usage/farming","type":"docs"},{"id":966,"pageTitle":"","sectionTitle":"Detailed Breakdown","sectionRoute":"/participate/dex/Guide_Usage/farming#detailed-breakdown","type":"docs"},{"id":967,"pageTitle":"","sectionTitle":"Deposits & Rewards","sectionRoute":"/participate/dex/Guide_Usage/farming#deposits--rewards","type":"docs"},{"id":968,"pageTitle":"","sectionTitle":"Level-Based System","sectionRoute":"/participate/dex/Guide_Usage/farming#level-based-system","type":"docs"},{"id":969,"pageTitle":"","sectionTitle":"Locking Periods","sectionRoute":"/participate/dex/Guide_Usage/farming#locking-periods","type":"docs"},{"id":970,"pageTitle":"","sectionTitle":"Flexibility to Level Up","sectionRoute":"/participate/dex/Guide_Usage/farming#flexibility-to-level-up","type":"docs"},{"id":971,"pageTitle":"","sectionTitle":"Unlocking Rewards","sectionRoute":"/participate/dex/Guide_Usage/farming#unlocking-rewards","type":"docs"},{"id":972,"pageTitle":"","sectionTitle":"Dashboard","sectionRoute":"/participate/dex/Guide_Usage/farming#dashboard","type":"docs"},{"id":973,"pageTitle":"","sectionTitle":"Liquidity pool section","sectionRoute":"/participate/dex/Guide_Usage/farming#liquidity-pool-section","type":"docs"},{"id":974,"pageTitle":"","sectionTitle":"Farm pool section","sectionRoute":"/participate/dex/Guide_Usage/farming#farm-pool-section","type":"docs"},{"id":975,"pageTitle":"","sectionTitle":"Balances summary section","sectionRoute":"/participate/dex/Guide_Usage/farming#balances-summary-section","type":"docs"},{"id":976,"pageTitle":"","sectionTitle":"Farmed Tokens Summary section","sectionRoute":"/participate/dex/Guide_Usage/farming#farmed-tokens-summary-section","type":"docs"},{"id":977,"pageTitle":"","sectionTitle":"Deposits table","sectionRoute":"/participate/dex/Guide_Usage/farming#deposits-table","type":"docs"},{"id":978,"pageTitle":"","sectionTitle":"Interacting with Farms: Available Actions","sectionRoute":"/participate/dex/Guide_Usage/farming#interacting-with-farms-available-actions","type":"docs"},{"id":979,"pageTitle":"Liquidity Pool","sectionTitle":"Liquidity Pool","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool","type":"docs"},{"id":980,"pageTitle":"Liquidity Pool","sectionTitle":"Create a pool and add liquidity","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#create-a-pool-and-add-liquidity","type":"docs"},{"id":981,"pageTitle":"Liquidity Pool","sectionTitle":"Step 1: Creating a Liquidity Pool: Essential Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-1-creating-a-liquidity-pool-essential-information","type":"docs"},{"id":982,"pageTitle":"Liquidity Pool","sectionTitle":"Step 2: Finalizing Pool Creation: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-2-finalizing-pool-creation-confirmation-and-validation-steps","type":"docs"},{"id":983,"pageTitle":"Liquidity Pool","sectionTitle":"Navigating Pool Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#navigating-pool-information","type":"docs"},{"id":984,"pageTitle":"Liquidity Pool","sectionTitle":"Front View: Essential Pool Details","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#front-view-essential-pool-details","type":"docs"},{"id":985,"pageTitle":"Liquidity Pool","sectionTitle":"Back View: Exploring Pool Details","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#back-view-exploring-pool-details","type":"docs"},{"id":986,"pageTitle":"Liquidity Pool","sectionTitle":"Interacting with Pools: Available Actions","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#interacting-with-pools-available-actions","type":"docs"},{"id":987,"pageTitle":"Liquidity Pool","sectionTitle":"Fees","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#fees","type":"docs"},{"id":988,"pageTitle":"Liquidity Pool","sectionTitle":"Specificity of the aeETH / UCO pair","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#specificity-of-the-aeeth--uco-pair","type":"docs"},{"id":989,"pageTitle":"Liquidity Pool","sectionTitle":"Add Liquidity","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#add-liquidity","type":"docs"},{"id":990,"pageTitle":"Liquidity Pool","sectionTitle":"Step 1: Adding Liquidity: Essential Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-1-adding-liquidity-essential-information","type":"docs"},{"id":991,"pageTitle":"Liquidity Pool","sectionTitle":"Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-2-finalizing-liquidity-addition-confirmation-and-validation-steps","type":"docs"},{"id":992,"pageTitle":"Liquidity Pool","sectionTitle":"Remove Liquidity","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#remove-liquidity","type":"docs"},{"id":993,"pageTitle":"Liquidity Pool","sectionTitle":"Step 1: Removing Liquidity: Essential Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-1-removing-liquidity-essential-information","type":"docs"},{"id":994,"pageTitle":"Liquidity Pool","sectionTitle":"Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-2-finalizing-liquidity-removal-confirmation-and-validation-steps","type":"docs"},{"id":995,"pageTitle":"Swap","sectionTitle":"Swap","sectionRoute":"/participate/dex/Guide_Usage/swap","type":"docs"},{"id":996,"pageTitle":"Swap","sectionTitle":"Swapping Your Tokens","sectionRoute":"/participate/dex/Guide_Usage/swap#swapping-your-tokens","type":"docs"},{"id":997,"pageTitle":"Swap","sectionTitle":"Step 1: Swap - Essential Information","sectionRoute":"/participate/dex/Guide_Usage/swap#step-1-swap---essential-information","type":"docs"},{"id":998,"pageTitle":"Swap","sectionTitle":"Step 2: Finalizing swap: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/swap#step-2-finalizing-swap-confirmation-and-validation-steps","type":"docs"},{"id":999,"pageTitle":"","sectionTitle":"Ecosystem Participants","sectionRoute":"/participate/dex/Overview/ecosystem_participants","type":"docs"},{"id":1000,"pageTitle":"","sectionTitle":"Liquidity Providers (LPs)","sectionRoute":"/participate/dex/Overview/ecosystem_participants#liquidity-providers-lps","type":"docs"},{"id":1001,"pageTitle":"","sectionTitle":"Traders","sectionRoute":"/participate/dex/Overview/ecosystem_participants#traders","type":"docs"},{"id":1002,"pageTitle":"","sectionTitle":"Developers","sectionRoute":"/participate/dex/Overview/ecosystem_participants#developers","type":"docs"},{"id":1003,"pageTitle":"","sectionTitle":"Glossary","sectionRoute":"/participate/dex/Overview/glossary","type":"docs"},{"id":1004,"pageTitle":"","sectionTitle":"aeSwap","sectionRoute":"/participate/dex/Overview/glossary#aeswap","type":"docs"},{"id":1005,"pageTitle":"","sectionTitle":"Automated Market Maker (AMM)","sectionRoute":"/participate/dex/Overview/glossary#automated-market-maker-amm","type":"docs"},{"id":1006,"pageTitle":"","sectionTitle":"Liquidity Addition","sectionRoute":"/participate/dex/Overview/glossary#liquidity-addition","type":"docs"},{"id":1007,"pageTitle":"","sectionTitle":"Liquidity Provider (LP)","sectionRoute":"/participate/dex/Overview/glossary#liquidity-provider-lp","type":"docs"},{"id":1008,"pageTitle":"","sectionTitle":"Liquidity Removal","sectionRoute":"/participate/dex/Overview/glossary#liquidity-removal","type":"docs"},{"id":1009,"pageTitle":"","sectionTitle":"Pool","sectionRoute":"/participate/dex/Overview/glossary#pool","type":"docs"},{"id":1010,"pageTitle":"","sectionTitle":"Price Impact","sectionRoute":"/participate/dex/Overview/glossary#price-impact","type":"docs"},{"id":1011,"pageTitle":"","sectionTitle":"Slippage","sectionRoute":"/participate/dex/Overview/glossary#slippage","type":"docs"},{"id":1012,"pageTitle":"","sectionTitle":"Swap","sectionRoute":"/participate/dex/Overview/glossary#swap","type":"docs"},{"id":1013,"pageTitle":"","sectionTitle":"Total Value Locked (TVL)","sectionRoute":"/participate/dex/Overview/glossary#total-value-locked-tvl","type":"docs"},{"id":1014,"pageTitle":"","sectionTitle":"Yield Farming","sectionRoute":"/participate/dex/Overview/glossary#yield-farming","type":"docs"},{"id":1015,"pageTitle":"Protocol Overview","sectionTitle":"Protocol Overview","sectionRoute":"/participate/dex/Overview/protocol_overview","type":"docs"},{"id":1016,"pageTitle":"Protocol Overview","sectionTitle":"Introduction","sectionRoute":"/participate/dex/Overview/protocol_overview#introduction","type":"docs"},{"id":1017,"pageTitle":"Protocol Overview","sectionTitle":"The AMM Model","sectionRoute":"/participate/dex/Overview/protocol_overview#the-amm-model","type":"docs"},{"id":1018,"pageTitle":"Protocol Overview","sectionTitle":"Participating in aeSwap","sectionRoute":"/participate/dex/Overview/protocol_overview#participating-in-aeswap","type":"docs"},{"id":1019,"pageTitle":"Protocol Overview","sectionTitle":"Ensuring Fair and Secure Trading","sectionRoute":"/participate/dex/Overview/protocol_overview#ensuring-fair-and-secure-trading","type":"docs"},{"id":1020,"pageTitle":"Protocol Overview","sectionTitle":"Rewards and Yield Farming","sectionRoute":"/participate/dex/Overview/protocol_overview#rewards-and-yield-farming","type":"docs"},{"id":1021,"pageTitle":"Protocol Overview","sectionTitle":"The Mathematics of AMM and Constant Product Formula","sectionRoute":"/participate/dex/Overview/protocol_overview#the-mathematics-of-amm-and-constant-product-formula","type":"docs"},{"id":1022,"pageTitle":"Protocol Overview","sectionTitle":"Example Calculation","sectionRoute":"/participate/dex/Overview/protocol_overview#example-calculation","type":"docs"},{"id":1023,"pageTitle":"Protocol Overview","sectionTitle":"Price Impact and Slippage","sectionRoute":"/participate/dex/Overview/protocol_overview#price-impact-and-slippage","type":"docs"},{"id":1024,"pageTitle":"Protocol Overview","sectionTitle":"Conclusion and Further Exploration","sectionRoute":"/participate/dex/Overview/protocol_overview#conclusion-and-further-exploration","type":"docs"},{"id":1025,"pageTitle":"Smart Contracts","sectionTitle":"Smart Contracts","sectionRoute":"/participate/dex/Overview/smart_contracts/","type":"docs"},{"id":1038,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Farm Lock Smart Contract","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock","type":"docs"},{"id":1039,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Rewards","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#rewards","type":"docs"},{"id":1040,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Weights","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#weights","type":"docs"},{"id":1041,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Rewards are calculated every hours","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#rewards-are-calculated-every-hours","type":"docs"},{"id":1042,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"State","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#state","type":"docs"},{"id":1043,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Calculations","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#calculations","type":"docs"},{"id":1044,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"An example","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#an-example","type":"docs"},{"id":1045,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Giveaways","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#giveaways","type":"docs"},{"id":1026,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Archethic Wallet (aeWallet)","sectionRoute":"/participate/wallet/","type":"docs"},{"id":1027,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Features","sectionRoute":"/participate/wallet/#features","type":"docs"},{"id":1028,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"How to download the app","sectionRoute":"/participate/wallet/#how-to-download-the-app","type":"docs"},{"id":1029,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Framework","sectionRoute":"/participate/wallet/#framework","type":"docs"},{"id":1030,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Seed","sectionRoute":"/participate/wallet/#seed","type":"docs"},{"id":1031,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Securing the application","sectionRoute":"/participate/wallet/#securing-the-application","type":"docs"},{"id":1032,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Data store","sectionRoute":"/participate/wallet/#data-store","type":"docs"},{"id":1033,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Interactions with the Archethic blockchain","sectionRoute":"/participate/wallet/#interactions-with-the-archethic-blockchain","type":"docs"},{"id":1034,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Setup","sectionRoute":"/participate/wallet/#setup","type":"docs"},{"id":1035,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Pre-requisites","sectionRoute":"/participate/wallet/#pre-requisites","type":"docs"},{"id":1036,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Instructions","sectionRoute":"/participate/wallet/#instructions","type":"docs"},{"id":1046,"pageTitle":"Communication with DApps","sectionTitle":"Communication with DApps","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1047,"pageTitle":"Communication with DApps","sectionTitle":"Point of view on usage","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1048,"pageTitle":"Communication with DApps","sectionTitle":"Technical point of view","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1049,"pageTitle":"Communication with DApps","sectionTitle":"In conclusion","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1037,"pageTitle":"Schema Documentation","sectionTitle":"Schema Documentation","sectionRoute":"/schema","type":"docs"}],"index":{"version":"2.3.9","fields":["title","content"],"fieldVectors":[["title/2",[0,3.54]],["content/2",[0,4.595,1,6.456,2,7.743,3,4.762,4,7.743,5,4.378,6,4.669,7,5.045,8,1.561,9,7.743,10,7.743]],["title/3",[5,4.261]],["content/3",[0,4.172,6,5.356,7,5.788,8,1.23,11,9.634,12,4.939,13,5.939,14,3.87]],["title/4",[15,6.804]],["content/4",[1,6.456,2,7.743,3,4.762,4,7.743,5,4.378,6,4.669,7,5.045,8,1.561,9,7.743,10,7.743,15,8.832]],["title/5",[5,4.261]],["content/5",[6,5.356,7,5.788,8,1.23,12,4.939,13,5.939,14,3.87,15,8.018,16,9.634]],["title/6",[17,6.804]],["content/6",[8,1.46,17,7.889,18,1.441,19,5.168,20,5.695,21,6.196,22,9.479,23,9.479]],["title/7",[24,3.044]],["content/7",[18,1.514,25,9.96,26,6.619,27,9.96,28,3.241,29,7.984]],["title/8",[30,3.836]],["content/8",[31,7.509,32,3.858]],["title/9",[33,6.804]],["content/9",[8,1.393,21,5.734,24,3.267,33,9.077,34,3.312,35,4.294,36,4.653,37,4.498,38,9.495,39,10.906]],["title/10",[24,3.044]],["content/10",[35,5.765,40,9.96,41,9.96,42,9.96,43,9.96]],["title/11",[30,3.836]],["content/11",[44,7.361,45,5.047]],["title/12",[46,6.166]],["content/12",[8,1.243,34,2.774,46,7.343,47,4.912,48,3.318,49,3.342,50,3.831,51,5.229,52,3.129,53,6.264,54,4.971,55,2.232,56,7.35,57,3.68,58,5.71]],["title/13",[3,3.668]],["content/13",[8,1.475,14,4.639,57,4.823,58,5.651,59,9.634,60,9.634]],["title/14",[30,3.836]],["content/14",[32,3.858,61,6.195]],["title/15",[62,3.972]],["content/15",[0,3.536,8,1.331,34,3.082,55,2.48,62,6.073,63,4.152,64,4.183,65,3.451,66,6.159,67,3.884]],["title/16",[3,3.668]],["content/16",[8,1.46,14,3.808,32,3.423,66,7.15,67,4.51,68,9.479,69,3.257,70,8.253]],["title/17",[71,2.39]],["content/17",[45,5.047,62,5.191]],["title/18",[30,3.836]],["content/18",[18,1.624,32,3.858]],["title/19",[72,5.746]],["content/19",[8,1.385,34,2.74,55,2.205,67,4.593,72,5.103,73,5.315,74,2.814,75,4.077,76,4.824,77,5.002,78,3.921,79,7.259,80,8.035,81,7.259,82,3.663,83,6.786,84,4.475,85,4.745,86,6.042,87,5.337,88,3.218]],["title/20",[3,3.668]],["content/20",[8,1.608,14,4.955,32,2.59,67,4.556,69,2.464,80,5.968,82,3.618,83,5.04,85,4.687,87,5.272,89,7.171,90,7.171,91,7.171,92,7.171,93,7.171,94,7.171,95,7.171]],["title/21",[71,2.39]],["content/21",[45,5.047,72,7.509]],["title/22",[96,5.871]],["content/22",[0,2.105,8,1.321,18,1.105,34,1.835,55,2.935,64,1.771,65,3.382,67,4.143,78,2.626,82,4.394,88,3.223,96,5.222,97,2.676,98,4.483,99,2.329,100,4.536,101,3.64,102,4.823,103,2.282,104,2.597,105,4.368,106,3.231,107,3.038,108,1.963,109,4.265,110,4.233,111,2.651,112,1.547,113,2.535,114,1.677,115,1.371,116,4.483,117,3.574,118,3.492,119,1.748]],["title/23",[3,3.668]],["content/23",[8,1.621,14,5.099,67,5.037,82,3.491,102,3.225,104,2.512,119,2.488,120,6.918,121,6.918,122,6.918,123,6.918,124,6.918,125,6.918,126,6.918,127,6.918]],["title/24",[30,3.836]],["content/24",[32,3.858,128,7.854]],["title/25",[129,6.345]],["content/25",[0,3.105,8,1.223,34,2.707,48,3.264,49,2.648,55,2.178,57,3.59,58,4.206,129,7.432,130,4.765,131,4.002,132,7.677,133,5.984,134,2.791,135,5.129,136,5.565,137,7.171]],["title/26",[3,3.668]],["content/26",[8,1.475,14,4.639,57,4.823,58,5.651,138,9.634,139,9.634]],["title/27",[30,3.836]],["content/27",[18,1.624,32,3.858]],["title/28",[112,2.601]],["content/28",[0,2.295,8,0.989,12,2.717,18,1.178,34,2,47,2.674,48,1.806,49,1.465,51,2.539,55,1.609,61,5.845,63,4.659,69,2.663,101,3.88,104,1.424,112,2.915,114,2.673,115,2.185,119,2.787,140,5.299,141,3.04,142,3.318,143,3.474,144,5.447,145,4.162,146,4.113,147,4.614,148,2.889,149,4.614,150,2.097,151,3.267,152,5.126,153,4.411,154,2.74,155,5.299]],["title/29",[3,3.668]],["content/29",[8,1.586,14,4.385,32,3.942,61,4.262,63,3.738,69,3.75,104,1.975,119,2.643,145,3.339,152,3.738,156,7.35,157,7.35,158,7.35,159,7.35,160,7.35,161,7.35]],["title/30",[30,3.836]],["content/30",[18,1.624,32,3.858]],["title/31",[162,4.741]],["content/31",[8,1.406,28,2.898,34,3.362,55,2.705,67,4.237,119,3.202,136,6.912,162,6.929,163,6.396,164,6.396]],["title/32",[3,3.668]],["content/32",[8,1.475,14,4.639,67,4.583,119,3.464,165,9.634,166,9.634]],["title/33",[71,2.39]],["content/33",[45,5.047,167,9.301]],["title/34",[168,6.166]],["content/34",[8,1.419,19,4.93,55,2.746,67,4.302,112,2.877,119,3.252,143,3.429,168,6.821,169,4.426,170,7.526,171,5.244]],["title/35",[3,3.668]],["content/35",[8,1.536,14,4.833,67,4.302,119,3.252,170,7.526,172,9.042,173,9.042,174,9.042]],["title/36",[30,3.836]],["content/36",[31,7.509,32,3.858]],["title/37",[63,4.157]],["content/37",[8,1.406,34,3.362,55,2.705,63,6.077,64,3.244,65,2.676,175,4.643,176,3.75,177,6.912,178,6.912]],["title/38",[3,3.668]],["content/38",[8,1.475,32,4.17,177,7.477,178,7.477,179,9.634,180,9.634]],["title/39",[30,3.836]],["content/39",[32,3.858,112,3.399]],["title/40",[128,6.01]],["content/40",[0,3.031,8,1.203,18,1.619,34,2.642,55,2.126,63,3.56,67,3.33,96,6.768,101,3.505,128,6.928,142,2.997,175,3.649,176,2.948,181,5.028,182,5.973,183,5.593,184,4.259,185,4.87,186,7.108,187,6.493]],["title/41",[3,3.668]],["content/41",[8,1.545,14,3.28,32,4.147,67,3.884,69,3.945,96,5.864,186,6.159,187,5.626,188,8.165,189,8.165,190,8.165,191,8.165]],["title/42",[30,3.836]],["content/42",[32,3.858,192,7.361]],["title/43",[134,2.382]],["content/43",[7,5.528,8,1.175,28,2.199,34,2.551,47,3.41,55,2.053,58,6.137,67,3.216,82,4.643,104,1.816,119,3.762,134,3.049,163,4.854,164,4.854,193,6.759,194,2.551,195,6.759,196,4.285,197,6.759,198,6.759,199,6.232,200,6.759,201,6.232,202,6.759,203,6.759]],["title/44",[3,3.668]],["content/44",[7,4.847,8,1.642,14,5.165,58,5.546,67,2.665,82,4.071,104,1.505,119,3.4,196,3.551,204,5.602,205,5.602,206,5.602,207,5.602,208,5.602,209,5.602,210,5.602,211,5.602,212,5.602,213,5.602,214,5.602,215,5.602,216,5.602]],["title/45",[71,2.39]],["content/45",[45,5.047,134,3.113]],["title/46",[217,5.746]],["content/46",[8,1.419,34,3.413,55,2.746,82,5.607,112,2.877,217,7.811,218,4.839,219,3.985,220,7.249]],["title/47",[3,3.668]],["content/47",[8,1.475,14,3.87,32,3.479,82,4.861,220,7.723,221,9.634,222,8.883]],["title/48",[71,2.39]],["content/48",[8,1.294,45,4.787,217,7.122,223,8.821,224,6.245]],["title/49",[220,6.553]],["content/49",[8,1.489,55,2.975,64,3.568,220,7.852,225,5.884,226,7.852]],["title/50",[3,3.668]],["content/50",[8,1.316,32,3.723,226,8.264,227,10.309]],["title/51",[30,3.836]],["content/51",[32,3.858,217,7.509]],["title/52",[61,4.741]],["content/52",[8,1.343,34,3.125,46,6.245,47,4.178,48,2.822,49,2.289,51,5.537,53,5.328,55,2.515,57,4.145,61,6.099,228,4.353,229,3.994,230,8.28]],["title/53",[3,3.668]],["content/53",[8,1.46,14,3.808,32,3.423,46,7.15,57,4.746,69,3.257,231,9.479,232,9.479]],["title/54",[30,3.836]],["content/54",[8,1.294,32,4.297,65,3.045,112,3.224]],["title/55",[152,4.157]],["content/55",[8,1.38,34,3.263,55,2.625,57,4.328,103,4.057,104,2.322,114,2.982,115,2.437,119,3.108,152,5.496,233,3.64,234,6.709,235,7.194]],["title/56",[3,3.668]],["content/56",[8,1.536,14,4.833,57,4.527,119,3.252,235,7.526,236,9.042,237,9.042,238,9.042]],["title/57",[30,3.836]],["content/57",[32,3.858,112,3.399]],["title/58",[239,6.166]],["content/58",[0,3.144,8,1.233,34,2.74,47,3.663,48,3.698,49,2.999,50,3.784,51,3.477,53,4.671,55,2.205,58,4.258,112,2.31,114,2.504,115,2.046,134,2.116,239,7.282,240,3.817,241,2.633,242,3.43,243,4.536,244,6.042,245,7.259]],["title/59",[3,3.668]],["content/59",[8,1.316,14,4.141,58,6.047,246,10.309]],["title/60",[71,2.39]],["content/60",[45,5.047,239,8.058]],["title/61",[65,2.457]],["content/61",[0,2.055,8,0.912,34,1.791,47,2.394,48,1.617,49,1.312,51,2.273,55,2.9,61,5.537,65,3.654,67,3.396,69,2.453,74,1.383,104,1.918,105,4.289,119,3.433,149,4.131,150,1.878,151,2.925,247,3.682,248,5.221,249,3.875,250,6.661,251,5.804,252,6.309,253,2.183,254,5.736,255,5.61,256,2.751,257,3.209,258,5.941]],["title/62",[3,3.668]],["content/62",[8,1.624,14,5.045,32,2.236,61,3.59,67,4.12,69,2.976,104,1.663,119,3.891,258,7.208,259,6.191,260,6.191,261,6.191,262,6.191,263,6.191,264,6.191,265,6.191,266,6.191,267,6.191,268,6.191]],["title/63",[71,2.39]],["content/63",[45,5.047,65,3.211]],["title/64",[66,6.166]],["content/64",[0,3.223,8,1.253,34,2.809,55,2.26,62,3.616,63,3.785,65,3.746,66,7.404,67,4.67,100,5.154,104,2.951,105,5.897,118,5.345]],["title/65",[3,3.668]],["content/65",[8,1.536,14,4.833,67,5.286,104,2.429,269,9.042,270,9.042,271,9.042]],["title/66",[30,3.836]],["content/66",[32,3.858,62,5.191]],["title/67",[177,6.345]],["content/67",[8,1.419,34,3.413,55,2.746,63,4.599,64,3.294,142,4.758,176,3.808,177,8.624,272,7.018]],["title/68",[3,3.668]],["content/68",[8,1.294,32,3.659,69,3.481,272,7.863,273,10.131]],["title/69",[30,3.836]],["content/69",[32,3.858,63,5.433]],["title/70",[272,6.345]],["content/70",[8,1.38,34,3.263,55,2.625,67,5.141,100,4.057,101,4.328,104,2.903,117,6.355,118,6.208,142,3.701,272,8.387]],["title/71",[3,3.668]],["content/71",[8,1.569,14,4.936,67,5.094,104,2.877,274,8.519,275,8.519,276,8.519,277,8.519]],["title/72",[30,3.836]],["content/72",[32,3.858,177,8.291]],["title/73",[18,1.243]],["content/73",[8,1.283,18,1.527,28,2.036,34,2.362,55,2.65,57,4.368,58,3.67,62,4.24,67,4.151,84,3.857,85,4.09,86,5.207,87,4.6,88,2.774,97,3.444,104,2.699,112,2.776,119,2.25,129,6.772,192,6.012,278,4.719,279,1.349,280,6.257,281,4.026,282,5.769,283,6.257,284,5.769,285,5.769]],["title/74",[3,3.668]],["content/74",[8,1.641,14,4.899,32,3.817,57,3.78,58,3,62,2.486,67,3.592,69,2.594,85,3.344,87,3.761,104,2.029,112,1.628,119,1.839,129,3.97,192,3.525,281,3.291,286,4.257,287,5.115,288,5.115,289,5.115,290,5.115,291,5.115,292,5.115,293,5.115,294,5.115,295,5.115,296,5.115,297,5.115,298,5.115,299,5.115,300,5.115]],["title/75",[71,2.39]],["content/75",[8,1.585,18,1.658,44,6.045,45,6.033,301,7.302,302,7.033]],["title/76",[303,6.345]],["content/76",[8,1.253,18,1.132,34,2.809,55,2.26,67,4.67,104,2.637,131,2.588,303,7.618,304,7.216,305,5.776,306,3.34,307,4.946,308,3.591,309,3.983,310,3.816,311,2.975,312,4.946,313,2.975,314,4.097,315,6.194,316,6.194]],["title/77",[3,3.668]],["content/77",[8,1.536,14,4.833,67,5.286,104,2.429,317,9.042,318,9.042,319,9.042]],["title/78",[71,2.39]],["content/78",[224,6.585,320,8.891]],["title/83",[31,5.746]],["content/83",[8,1.367,17,7.09,19,5.838,20,5.118,31,7.527,34,3.216,55,2.587,104,2.877,119,3.064,168,6.426,321,5.988,322,7.09]],["title/84",[3,3.668]],["content/84",[3,3.517,8,1.521,14,4.079,17,6.524,21,5.124,32,2.831,104,2.106,119,2.819,168,5.913,321,5.51,322,8.451,323,7.227,324,7.839,325,7.839,326,7.839,327,7.839,328,5.63]],["title/85",[71,2.39]],["content/85",[31,7.509,224,6.585]],["title/79",[281,5.26]],["content/79",[0,2.403,7,3.334,8,1.023,18,1.218,34,2.095,55,3.128,65,3.42,67,3.812,78,2.997,82,4.745,97,5.177,99,2.658,100,4.833,101,4.011,104,2.767,105,4.814,106,3.688,107,3.468,108,2.241,117,4.08,118,3.985,119,1.995,281,5.156,329,5.116,330,7.299,331,3.025,332,1.987]],["title/80",[3,3.668]],["content/80",[7,4.361,8,1.613,14,5.075,67,4.593,82,3.663,104,2.594,119,2.61,333,7.259,334,7.259,335,7.259,336,7.259,337,7.259,338,7.259,339,7.259]],["title/81",[71,2.39]],["content/81",[45,5.047,281,6.874]],["title/82",[30,3.836]],["content/82",[18,1.624,32,3.858]],["title/86",[186,6.166]],["content/86",[0,2.738,8,1.122,18,0.961,34,2.387,55,3.316,63,3.216,65,3.57,67,4.182,100,4.742,101,4.401,104,2.934,105,5.281,106,4.202,107,3.952,117,4.649,118,4.542,119,2.274,142,2.708,152,3.216,181,4.542,186,6.63,340,6.324]],["title/87",[3,3.668]],["content/87",[8,1.589,14,5,67,4.915,104,2.776,119,2.896,341,8.053,342,8.053,343,8.053,344,8.053,345,8.053]],["title/88",[30,3.836]],["content/88",[32,3.858,128,7.854]],["title/89",[83,5.746]],["content/89",[8,1.286,18,1.531,34,2.92,55,3.057,67,3.68,75,4.344,82,5.08,83,5.438,104,3.007,119,2.782,185,3.537,346,5.556,347,5.556,348,6.735,349,7.736,350,7.736,351,6.004]],["title/90",[3,3.668]],["content/90",[8,1.597,14,5.026,67,3.586,69,2.59,82,3.803,104,2.659,119,2.711,351,5.85,352,7.538,353,7.538,354,7.538,355,7.538,356,7.538,357,7.538]],["title/91",[30,3.836]],["content/91",[32,3.858,72,7.509]],["title/92",[226,6.553]],["content/92",[8,1.46,55,2.879,196,7.249,225,5.695,226,7.599,358,8.74,359,8.74]],["title/93",[3,3.668]],["content/93",[8,1.475,14,4.639,196,7.32,360,9.634,361,9.634]],["title/94",[30,3.836]],["content/94",[32,3.858,220,8.564]],["title/95",[178,6.345]],["content/95",[8,1.419,34,3.413,55,2.746,63,4.599,64,3.294,142,4.758,176,3.808,178,8.624,362,7.018]],["title/96",[3,3.668]],["content/96",[8,1.294,32,3.659,69,3.481,362,7.863,363,10.131]],["title/97",[30,3.836]],["content/97",[32,3.858,63,5.433]],["title/102",[362,6.345]],["content/102",[8,1.432,34,3.467,55,2.789,67,4.369,100,4.31,101,4.598,104,2.467,142,3.932,362,8.707]],["title/103",[3,3.668]],["content/103",[8,1.475,14,4.639,67,4.583,104,2.588,364,9.634,365,9.634]],["title/104",[30,3.836]],["content/104",[32,3.858,178,8.291]],["title/98",[187,5.633]],["content/98",[0,2.274,8,1.281,18,1.17,34,1.983,55,3.048,64,1.913,65,3.467,67,3.662,78,2.837,82,4.598,99,2.516,100,4.71,101,3.854,102,4.981,104,2.696,105,4.625,106,3.49,107,3.282,108,2.121,109,3.081,110,4.573,114,1.812,115,1.481,117,3.861,118,3.772,119,1.889,182,3.329,183,3.117,184,3.195,187,5.304]],["title/99",[3,3.668]],["content/99",[8,1.613,14,5.075,67,4.593,82,3.663,102,3.384,104,2.594,119,2.61,366,7.259,367,7.259,368,7.259,369,7.259,370,7.259,371,7.259,372,7.259]],["title/100",[71,2.39]],["content/100",[45,5.047,373,8.291]],["title/101",[30,3.836]],["content/101",[32,3.858,128,7.854]],["title/105",[192,5.633]],["content/105",[0,2.449,8,1.037,18,1.445,34,2.135,48,1.928,49,1.564,55,1.718,57,2.831,58,3.317,63,2.876,67,2.691,82,4.099,88,3.601,111,4.429,116,5.215,128,5.972,131,2.825,132,4.534,135,4.943,151,5.86,175,4.235,176,3.421,192,5.597,374,5.972,375,2.876,376,3.758,377,3.055,378,4.165,379,2.709,380,2.831,381,5.656,382,4.707,383,5.656]],["title/106",[3,3.668]],["content/106",[8,1.603,14,4.917,32,2.758,57,3.823,58,4.479,67,3.633,82,3.853,128,5.613,382,6.355,384,7.636,385,7.636,386,7.636,387,7.636,388,7.636,389,7.636]],["title/107",[30,3.836]],["content/107",[18,1.624,32,3.858]],["title/108",[88,3.624]],["content/108",[8,1.367,18,1.628,34,3.216,55,2.587,88,5.192,111,5.838,119,4.211,143,4.061]],["title/109",[3,3.668]],["content/109",[8,1.536,14,4.833,119,4.326,390,9.042,391,9.042,392,9.042]],["title/110",[71,2.39]],["content/110",[45,5.047,88,4.736]],["title/111",[62,3.972]],["content/111",[8,1.12,18,1.334,28,2.855,45,4.145,62,5.767,74,2.557,104,3.189,393,5.088,394,5.734,395,5.338]],["title/112",[5,4.261]],["content/112",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,396,9.96]],["title/113",[55,2.483]],["content/113",[0,3.857,32,3.216,34,3.362,62,6.232,63,4.529,64,4.01,65,3.308]],["title/114",[72,5.746]],["content/114",[8,1.104,24,4.024,28,2.813,45,4.084,72,7.596,73,4.758,74,2.519,75,4.854,82,5.452,108,3.49,397,3.765,398,4.585]],["title/115",[5,4.261]],["content/115",[8,1.316,14,4.141,82,5.201,399,10.309]],["title/116",[55,2.483]],["content/116",[32,3.317,34,3.467,72,6.455,73,6.175,74,3.269,75,5.157,76,6.103,77,6.328,78,4.96]],["title/117",[373,6.345]],["content/117",[8,1.043,28,2.657,45,3.858,74,3.038,84,5.033,85,5.337,86,6.795,104,3.25,182,5.176,183,4.846,187,5.626,248,4.968,351,6.337,373,6.337,400,4.256]],["title/118",[5,4.261]],["content/118",[8,1.515,12,4.498,13,5.408,14,4.768,85,5.734,104,2.357,351,6.809,401,8.773,402,8.773,403,8.773]],["title/119",[55,2.483]],["content/119",[0,2.626,8,1.09,18,1.298,32,2.19,34,2.289,55,2.592,64,2.209,65,3.619,78,3.275,82,3.059,99,2.905,100,4.636,101,4.273,102,4.605,104,2.293,105,5.128,106,4.029,107,3.789,108,2.448,109,3.556,110,5.279,114,2.092,115,1.709,182,3.844,183,3.599,184,3.689,187,5.881]],["title/120",[404,6.01]],["content/120",[8,1.173,18,1.396,28,2.988,45,4.339,104,3.389,248,5.587,393,5.326,404,6.751]],["title/121",[5,4.261]],["content/121",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,405,9.96]],["title/122",[55,2.483]],["content/122",[14,3.943,26,7.299,34,2.809,55,2.26,104,3.349,119,2.676,406,3.67,407,5.232,408,4.269,409,3.381,410,5.966,411,4.058,412,5.232,413,4.718,414,4.651,415,3.643,416,4.02,417,5.776]],["title/123",[301,6.804]],["content/123",[8,1.173,18,1.706,28,2.988,45,4.339,104,3.254,301,7.643,393,5.326,398,4.871]],["title/124",[5,4.261]],["content/124",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,418,9.96]],["title/125",[55,2.483]],["content/125",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/126",[167,7.117]],["content/126",[69,3.31,134,2.808,162,6.697,163,6.919,167,8.388,419,8.883,420,9.634]],["title/127",[55,2.483]],["content/127",[28,3.187,32,3.537,34,3.697,136,7.602,162,7.222]],["title/128",[302,6.553]],["content/128",[8,1.155,18,1.689,28,2.942,45,4.272,55,3.375,69,3.107,85,5.911,302,7.249,421,5.818,422,7.018]],["title/129",[5,4.261]],["content/129",[8,1.446,12,4.783,13,5.751,14,4.55,85,6.098,422,7.24,423,9.329,424,9.329]],["title/130",[55,2.483]],["content/130",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/131",[134,2.382]],["content/131",[28,3.241,69,3.422,134,3.655,425,9.183]],["title/132",[55,2.483]],["content/132",[28,3.241,32,3.597,34,3.76,134,3.655]],["title/133",[217,5.746]],["content/133",[8,1.137,24,4.099,28,2.898,45,4.208,82,5.554,108,3.596,217,7.738,218,4.766,397,3.879,398,4.724]],["title/134",[5,4.261]],["content/134",[8,1.316,14,4.141,82,5.201,222,9.505]],["title/135",[55,2.483]],["content/135",[32,3.597,34,3.76,112,3.169,217,8.28,218,5.331]],["title/139",[239,6.166]],["content/139",[28,3.135,45,4.552,48,3.284,49,2.664,239,8.71,242,4.552,243,6.021]],["title/140",[55,2.483]],["content/140",[0,3.307,32,2.758,34,2.882,47,3.853,48,3.791,49,3.075,50,3.98,51,3.658,53,4.913,112,2.43,114,2.634,115,2.153,134,2.225,239,7.529,240,4.015,241,2.769,242,3.608,243,4.772,244,6.355]],["title/136",[65,2.457]],["content/136",[8,1.191,28,3.035,45,4.408,65,3.404,104,3.043,112,2.968,393,5.41,426,7.478]],["title/137",[5,4.261]],["content/137",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,427,9.96]],["title/138",[55,2.483]],["content/138",[0,2.497,32,2.083,34,2.177,47,2.91,48,1.966,49,1.594,51,2.762,55,2.501,61,4.777,65,3.811,69,2.83,74,1.681,104,1.549,105,3.464,149,5.02,150,2.282,151,3.555,247,4.476,248,5.011,249,3.719,250,6.393,251,5.571,252,6.056,253,2.653,254,5.773,255,5.384,256,3.344,257,3.9]],["title/141",[18,1.243]],["content/141",[8,1.21,18,1.867,28,3.084,45,4.479,104,3.073,393,5.497]],["title/142",[5,4.261]],["content/142",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,286,8.289]],["title/143",[55,2.483]],["content/143",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/147",[44,5.633]],["content/147",[8,1.104,18,1.643,28,2.813,33,7.194,35,4.231,44,5.956,45,4.084,74,2.519,82,4.362,104,3.167,393,5.013,428,8.644]],["title/148",[5,4.261]],["content/148",[8,1.553,12,4.245,13,5.104,14,4.643,21,5.412,33,6.891,82,4.178,104,2.826,429,8.28,430,8.28,431,8.28,432,8.28]],["title/149",[55,2.483]],["content/149",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/144",[281,5.26]],["content/144",[8,1.104,18,1.314,28,2.813,45,4.084,69,2.97,84,5.329,85,5.65,86,7.194,87,6.355,97,4.758,104,3.167,281,6.953]],["title/145",[5,4.261]],["content/145",[8,1.515,12,4.498,13,5.408,14,4.768,85,5.734,87,6.45,104,2.357,433,8.773,434,8.773,435,8.773]],["title/146",[55,2.483]],["content/146",[0,2.799,18,1.357,32,2.334,34,2.44,55,2.71,65,3.594,78,3.491,82,3.261,97,5.626,99,3.096,100,4.797,101,4.467,104,2.397,105,5.361,106,4.295,107,4.039,108,2.609,281,5.742,329,5.958,330,6.926,331,3.523,332,2.314]],["title/150",[18,1.243]],["content/150",[8,1.173,18,1.842,28,2.988,45,4.339,85,6.003,306,4.121,393,5.326,421,5.909,436,4.528]],["title/151",[5,4.261]],["content/151",[8,1.316,14,4.141,85,6.738,437,10.309]],["title/152",[55,2.483]],["content/152",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/153",[88,3.624]],["content/153",[18,1.489,69,3.365,88,5.521,111,5.34,143,3.714]],["title/154",[55,2.483]],["content/154",[18,1.465,32,3.479,34,3.637,88,5.482,111,5.253,143,3.653]],["title/155",[104,2.196]],["content/155",[14,3.943,26,7.299,34,2.809,55,2.26,104,3.349,119,2.676,406,3.67,407,5.232,408,4.269,409,3.381,410,5.966,411,4.058,412,5.232,413,4.718,414,4.651,415,3.643,416,4.02,417,5.776]],["title/156",[71,2.39]],["content/156",[45,5.047,404,7.854]],["title/157",[30,3.836]],["content/157",[8,1.69,18,1.085,31,5.018,32,4.543,44,3.269,45,5.427,62,2.305,65,2.145,66,3.579,83,3.335,96,3.407,112,1.51,134,1.383,186,3.579,187,3.269,224,4.401,272,3.682,281,4.593,301,3.949,303,3.682,320,3.949,362,3.682,373,3.682,404,3.488]],["title/160",[7,4.911]],["content/160",[6,5.356,7,6.938,14,4.639,34,3.637,55,2.926,438,6.199]],["title/161",[30,3.836]],["content/161",[0,3.977,1,6.825,8,1.547,15,7.643,32,4.051,134,2.676,281,5.909]],["title/158",[145,3.714]],["content/158",[14,4.302,18,1.295,34,3.216,55,2.587,144,5.988,145,5.582,439,4.997,440,4.834,441,6.829,442,7.855,443,5.252,444,6.118]],["title/159",[30,3.836]],["content/159",[32,3.858,112,3.399]],["title/162",[170,6.804]],["content/162",[13,5.661,14,3.689,19,5.007,55,2.789,69,3.155,71,2.685,78,4.96,119,3.302,170,7.643,253,4.226,445,4.598]],["title/163",[30,3.836]],["content/163",[32,3.858,168,8.058]],["title/164",[196,5.182]],["content/164",[14,4.381,24,3.267,34,3.312,55,2.664,196,6.914,446,4.294,447,6.809,448,6.809,449,8.089,450,4.783,451,8.773,452,8.773]],["title/165",[30,3.836]],["content/165",[8,1.294,32,4.297,134,2.953,226,8.122]],["title/168",[379,3.916]],["content/168",[14,3.668,26,6.912,28,2.174,34,2.523,55,2.029,119,2.403,257,4.519,279,1.441,332,2.393,379,5.925,407,4.697,408,3.833,409,3.036,410,5.357,411,3.643,412,4.697,413,4.236,414,4.176,415,4.469,416,3.609,417,5.187,450,3.643,453,4.236,454,1.453,455,3.609]],["title/169",[30,3.836]],["content/169",[8,1.294,32,4.297,83,7.122,192,6.981]],["title/166",[57,4.093]],["content/166",[14,4.685,34,3.697,55,2.975,57,5.839,144,6.885]],["title/167",[30,3.836]],["content/167",[8,1.61,18,1.277,32,4.649,46,6.334,61,4.87,129,6.518,152,4.271,192,5.786]],["title/170",[67,3.889]],["content/170",[12,4.186,14,4.188,24,3.882,34,3.935,55,2.48,67,5.463,446,3.996,449,7.528,456,8.165,457,8.165,458,4.256,459,10.424,460,2.739]],["title/171",[30,3.836]],["content/171",[8,1.682,18,0.844,32,4.78,62,2.696,65,1.668,66,4.186,72,3.901,83,3.901,96,3.985,128,4.08,134,1.617,162,3.218,168,4.186,186,4.186,187,3.823,192,3.823,272,4.307,281,3.571,303,4.307,362,4.307]],["title/172",[87,6.01]],["content/172",[12,5.751,14,4.507,34,3.467,55,2.789,87,6.751,253,4.226,461,10.343,462,5.909]],["title/173",[30,3.836]],["content/173",[45,5.047,281,6.874]],["title/174",[80,6.804]],["content/174",[14,4.215,80,8.733,225,6.304]],["title/175",[30,3.836]],["content/175",[32,3.858,72,7.509]],["title/178",[85,5.343]],["content/178",[14,4.594,34,3.578,55,2.879,85,6.196,253,4.362,462,6.099,463,7.475]],["title/179",[30,3.836]],["content/179",[8,1.547,18,1.396,45,5.961,281,5.909,302,7.362,373,7.128]],["title/176",[58,4.795]],["content/176",[14,3.911,26,7.254,34,2.774,48,3.318,49,2.691,55,2.232,58,6.402,104,1.975,119,2.643,407,5.166,408,4.215,409,3.339,410,5.892,411,4.007,412,5.166,413,4.659,414,4.593,415,3.597,416,3.97,417,5.704]],["title/177",[30,3.836]],["content/177",[8,1.61,18,1.277,32,4.649,46,6.334,129,6.518,134,2.447,192,5.786,239,6.334]],["title/180",[235,6.804]],["content/180",[14,3.808,34,3.578,103,4.449,152,4.821,233,3.992,234,8.876,235,7.889,249,4.28]],["title/181",[30,3.836]],["content/181",[32,3.858,152,5.433]],["title/182",[351,6.345]],["content/182",[14,4.215,225,6.304,351,8.143]],["title/183",[30,3.836]],["content/183",[8,1.294,32,3.659,45,4.787,83,7.122,373,7.863]],["title/184",[102,3.811]],["content/184",[14,3.935,34,3.697,102,5.806,114,3.379,115,2.761]],["title/185",[30,3.836]],["content/185",[8,1.294,32,4.297,96,7.276,187,6.981]],["title/186",[119,2.94]],["content/186",[14,4.044,34,4.225,55,3.057,112,2.462,119,4.025,146,6.004,443,4.769,454,1.682,464,7.736,465,7.736,466,4.769,467,6.438,468,6.735,469,5.141,470,4.14,471,6.438,472,6.004]],["title/187",[30,3.836]],["content/187",[8,1.672,18,0.951,31,4.398,32,4.761,65,1.88,83,4.398,88,2.774,96,4.493,112,1.991,134,1.823,152,3.182,162,3.628,168,4.719,186,4.719,187,4.311,281,4.026]],["title/188",[82,4.125]],["content/188",[14,4.594,34,3.578,55,2.879,82,6.196,473,8.253,474,5.626]],["title/189",[30,3.836]],["content/189",[8,1.66,32,4.584,44,4.767,45,5.003,72,6.571,83,4.863,96,4.968,134,2.016,187,4.767,192,4.767,217,6.571,281,4.451]],["title/190",[258,6.804]],["content/190",[14,4.001,34,3.76,254,5.984,258,9.803,426,7.984]],["title/191",[30,3.836]],["content/191",[32,3.858,65,3.211]],["title/192",[422,6.345]],["content/192",[14,4.639,18,1.465,34,3.637,55,3.507,422,8.963]],["title/193",[30,3.836]],["content/193",[45,5.047,302,8.564]],["title/194",[382,6.804]],["content/194",[14,3.668,26,6.912,28,2.174,34,2.523,55,2.029,119,2.403,257,4.519,279,1.441,332,2.393,379,5.788,382,5.562,407,4.697,408,3.833,409,3.036,410,5.357,411,3.643,412,4.697,413,4.236,414,4.176,415,4.469,416,3.609,417,5.187,450,3.643,453,4.236,454,1.453,455,3.609]],["title/195",[30,3.836]],["content/195",[32,3.858,192,7.361]],["title/196",[223,7.117]],["content/196",[112,3.066,217,6.772,218,5.156,223,8.388,306,4.323,475,7.267,476,6.402,477,3.232]],["title/197",[55,2.483]],["content/197",[32,3.597,34,3.76,112,3.169,217,8.28,218,5.331]],["title/198",[320,6.804]],["content/198",[8,1.155,18,1.375,104,2.986,134,2.635,303,7.018,306,4.058,320,7.526,475,6.821,476,6.009,478,6.821,479,5.818]],["title/199",[5,4.261]],["content/199",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,480,9.96]],["title/200",[55,2.483]],["content/200",[18,1.259,32,2.99,34,3.125,131,2.88,303,8.162,304,7.732,305,6.426,306,3.715,307,5.502,308,3.994,309,4.431,310,4.245,311,3.31,312,5.502,313,3.31,314,4.558]],["title/207",[31,5.746]],["content/207",[8,1.21,18,1.441,19,5.168,31,8.038,104,3.073,475,7.15,476,6.299]],["title/208",[5,4.261]],["content/208",[8,1.272,12,5.107,13,6.14,14,4.001,104,2.676,323,9.183]],["title/209",[55,2.483]],["content/209",[19,5.524,31,8.363,32,3.659,34,3.824]],["title/201",[481,5.26]],["content/201",[0,1.962,18,0.689,35,2.217,49,0.743,52,1.929,55,1.376,63,3.914,64,0.979,101,2.268,112,1.441,134,1.32,154,1.389,242,1.27,279,0.579,306,1.206,313,2.347,332,0.962,397,1.171,446,1.315,454,0.985,458,1.401,478,2.027,482,3.034,483,4.436,484,3.426,485,2.112,486,1.279,487,2.027,488,1.389,489,2.34,490,1.852,491,3.33,492,2.514,493,1.096,494,1.976,495,1.401,496,2.154,497,3.064,498,4.141,499,1.465,500,1.541,501,1.818,502,1.818,503,4.177,504,4.157,505,1.12,506,3.632,507,1.465,508,1.615,509,1.615,510,1.315,511,2.478,512,1.93,513,2.362,514,1.576,515,1.68,516,1.635,517,1.221,518,2.688,519,2.155,520,1.595,521,1.279,522,2.237,523,1.68,524,1.12,525,2.478,526,1.199,527,1.541,528,2.086,529,1.206,530,3.944,531,2.887,532,1.93,533,2.027,534,2.688,535,3.451,536,3.064,537,1.818,538,0.946,539,1.325,540,3.902,541,2.027,542,2.237,543,1.93,544,4.53,545,1.279,546,1.306,547,2.688,548,3.417,549,3.121,550,2.34,551,1.479,552,1.509,553,2.237,554,2.478,555,2.478,556,1.757,557,1.306,558,2.027,559,1.426,560,2.688]],["title/202",[561,8.175]],["content/202",[12,2.872,48,1.909,63,5.261,64,2.041,99,2.684,279,2.039,308,2.703,328,4.023,332,2.006,484,1.816,492,2.399,504,4.357,508,5.68,513,4.206,524,2.334,535,4.039,540,3.723,550,8.232,551,4.441,553,4.662,562,2.971,563,2.872,564,4.118,565,2.896,566,3.789,567,3.551,568,4.206,569,4.348,570,4.225,571,5.602,572,4.023,573,3.179,574,2.262,575,4.877,576,4.877,577,5.165,578,4.225,579,3.286]],["title/203",[580,6.553]],["content/203",[8,0.715,48,1.909,63,5.261,88,2.483,279,1.208,313,2.239,332,2.006,395,4.908,484,1.816,501,3.789,502,3.789,504,4.357,508,3.365,510,2.742,511,7.438,512,5.794,521,2.665,529,2.514,530,4.877,535,2.805,540,3.723,550,4.877,553,4.662,557,2.722,569,4.348,574,2.262,581,2.44,582,2.594,583,5.671,584,4.118,585,3.605,586,3.146,587,2.412,588,2.742,589,2.665,590,4.225,591,5.602,592,2.896,593,5.602,594,4.679,595,3.723,596,4.662,597,5.602]],["title/204",[594,3.755,598,5.389]],["content/204",[454,1.852,514,4.997,537,5.762,543,6.118,565,4.404,594,4.94,599,7.417,600,5.953,601,8.519,602,7.527,603,5.87,604,4.886,605,5.4,606,7.855]],["title/205",[510,4.001]],["content/205",[8,1.611,454,1.997,606,8.467,607,6.328,608,9.183,609,9.183,610,9.183,611,9.183]],["title/206",[612,7.537]],["content/206",[18,1.161,48,2.603,49,2.111,64,2.781,104,2.051,108,3.083,135,3.633,142,3.269,176,3.215,377,4.124,458,3.98,484,2.475,524,3.181,612,7.04,613,5.759,614,4.532,615,4.913,616,6.648,617,4.333,618,5.367,619,4.479,620,4.772,621,3.115,622,5.926]],["title/210",[63,2.726,531,2.245,623,3.074]],["content/210",[279,2.112,530,8.527,540,6.509,543,7.034,573,5.558,624,5.242,625,9.794]],["title/211",[88,3.624]],["content/211",[8,1.321,13,2.371,20,3.648,63,3.088,67,1.83,71,1.125,88,3.787,97,2.117,112,1.224,135,1.83,143,1.458,183,2.283,332,1.377,462,2.475,504,2.077,507,2.097,526,2.708,531,1.611,538,1.354,581,1.675,604,2.206,617,2.182,621,1.569,626,2.005,627,3.846,628,3.846,629,4.58,630,5.053,631,4.58,632,6.261,633,3.201,634,5.053,635,3.201,636,3.201,637,5.598,638,4.712,639,2.261,640,5.286,641,1.83,642,4.36,643,2.65,644,3.348,645,3.846,646,1.726,647,3.846,648,7.741,649,5.598,650,2.901,651,1.972,652,2.371,653,2.514,654,6.071,655,2.692,656,6.071,657,1.537,658,3.546,659,1.695,660,3.846,661,2.117,662,3.846,663,3.846,664,2.869,665,3.482,666,2.629,667,3.546,668,3.846]],["title/212",[48,1.559,49,1.264,377,2.47,504,2.47]],["content/212",[8,1.051,13,2.961,24,0.766,48,2.232,49,2.578,55,2.356,58,3.381,63,2.443,64,0.75,65,0.619,67,0.979,71,1.404,103,1.69,104,0.553,113,1.073,135,1.714,175,1.073,176,0.867,229,2.317,306,0.924,332,0.737,377,3.113,397,0.896,409,0.935,411,1.122,413,1.305,439,2.113,454,0.448,455,1.112,474,1.222,498,2.885,504,3.113,507,1.122,520,2.138,524,0.857,538,2.537,573,1.168,581,1.569,585,1.324,586,1.156,587,0.886,617,1.168,626,1.073,629,1.552,630,4.797,631,1.552,632,1.713,633,1.713,634,1.713,635,1.713,636,1.713,642,1.478,643,1.418,655,2.129,657,2.304,659,1.587,669,2.058,670,2.058,671,4.005,672,3.03,673,2.058,674,2.058,675,2.058,676,2.058,677,1.447,678,2.058,679,1.792,680,2.058,681,1.792,682,5.763,683,1.305,684,1.578,685,5.145,686,3.421,687,2.998,688,2.002,689,1.792,690,1.898,691,3.666,692,1.792,693,2.058,694,4.803,695,2.191,696,2.058,697,2.058,698,0.907,699,2.058,700,4.803,701,2.998,702,2.058,703,2.058,704,2.058,705,4.181,706,2.058,707,1.65,708,2.058,709,2.058,710,4.181,711,1.898,712,1.714,713,2.058,714,1.776,715,1.447,716,2.058,717,3.602,718,2.058,719,1.345,720,0.683,721,1.324,722,3.602,723,1.713,724,2.058,725,1.792,726,1.792,727,2.998,728,1.713,729,1.478,730,2.058,731,1.513,732,2.058,733,1.597,734,2.058,735,1.324]],["title/213",[104,1.74,279,1.396]],["content/213",[0,0.828,8,0.797,13,1.178,35,0.935,36,1.014,49,0.933,50,0.996,51,0.916,53,2.172,55,0.58,58,3.208,63,0.972,67,0.909,71,1.826,104,1.853,112,1.074,113,0.996,135,3.28,176,0.805,229,0.922,251,2.282,279,1.179,306,0.858,332,1.208,379,1.617,393,1.108,413,1.212,439,1.121,447,2.619,455,4.283,484,2.57,507,1.042,526,0.852,529,0.858,538,1.926,549,1.317,581,0.832,589,0.909,617,1.085,626,0.996,629,1.442,630,6.946,631,1.442,632,5.197,633,1.591,634,2.809,635,1.591,636,1.591,641,0.909,642,1.373,648,1.591,659,0.842,661,2.495,671,1.876,679,1.664,684,2.396,686,2.003,691,0.903,698,1.487,705,2.938,707,4.384,710,1.664,711,1.762,723,1.591,727,1.591,735,1.23,736,1.911,737,1.532,738,1.591,739,1.532,740,1.911,741,1.911,742,1.762,743,1.317,744,2.69,745,1.762,746,1.762,747,3.112,748,1.762,749,1.762,750,3.112,751,3.112,752,5.757,753,2.809,754,3.112,755,1.442,756,1.762,757,1.073,758,1.762,759,1.762,760,1.483,761,4.824,762,4.178,763,1.762,764,1.762,765,3.112,766,3.112,767,1.317,768,1.664,769,4.762,770,3.185,771,1.762,772,1.762,773,0.996,774,1.762,775,1.532,776,1.762,777,1.163,778,1.664,779,1.762,780,1.762,781,1.664,782,3.112,783,2.938,784,2.372,785,1.664,786,1.762,787,1.762,788,1.483,789,1.591,790,1.163,791,1.343,792,1.664,793,1.317,794,1.762,795,1.762,796,3.04,797,3.112,798,1.762,799,1.762,800,1.762,801,1.762,802,1.664,803,1.762,804,1.762,805,2.705,806,3.112,807,3.112,808,3.112,809,1.762,810,1.911,811,1.911,812,1.911,813,1.911]],["title/214",[18,0.984,446,3.169]],["content/214",[8,1.254,18,0.513,35,0.652,36,0.707,48,0.454,49,0.368,51,0.638,53,1.569,58,2.447,67,0.634,71,1.754,100,1.583,104,1.611,112,0.424,130,1.621,135,3.459,145,0.605,152,0.677,176,1.027,196,0.844,229,1.627,251,0.901,279,0.526,306,0.598,332,0.477,379,2.329,380,0.667,393,0.772,409,0.605,411,0.726,413,2.138,440,1.384,446,0.652,447,1.893,455,3.927,460,0.447,466,0.821,484,2.097,507,0.726,524,0.555,526,0.594,529,0.598,538,1.188,549,0.918,553,1.109,557,1.185,581,0.58,617,1.384,618,0.936,621,1.376,626,0.694,629,1.005,630,8.172,631,1.005,632,3.472,633,1.109,634,2.03,635,1.109,636,1.109,638,1.893,641,0.634,642,3.492,648,3.472,649,2.248,653,3.178,659,1.486,661,1.856,667,1.228,671,0.74,679,1.16,684,1.827,698,1.075,705,2.936,707,3.344,710,1.16,712,0.634,714,1.202,723,1.109,735,0.857,737,1.068,739,1.068,742,1.228,743,0.918,744,2.002,745,1.228,746,2.248,747,2.248,748,1.228,749,1.228,750,2.248,751,2.248,752,5.04,753,1.109,754,2.248,755,1.005,756,1.228,757,0.748,758,1.228,759,1.228,761,3.936,762,2.248,763,1.228,764,1.228,765,2.248,766,2.248,767,0.918,768,1.16,769,3.632,770,2.371,771,1.228,772,1.228,773,0.694,774,1.228,775,1.955,776,1.228,777,0.81,778,1.16,779,1.228,780,1.228,781,1.16,782,2.248,783,2.123,784,2.371,785,1.16,786,1.228,787,1.228,788,1.034,789,1.109,790,0.81,791,0.936,792,1.16,793,0.918,794,1.228,795,1.228,796,1.875,797,2.248,798,1.228,799,1.228,800,1.228,801,1.228,802,1.16,803,1.228,804,1.228,805,1.955,806,2.248,807,2.248,808,2.248,809,1.228,814,1.332,815,1.332,816,0.764,817,1.228,818,1.332,819,1.332,820,2.439,821,1.109,822,1.332,823,1.109,824,1.228,825,1.332,826,1.332,827,0.74,828,1.332,829,1.068,830,1.332,831,1.332,832,1.332,833,2.439,834,1.332,835,2.439,836,1.332,837,1.332,838,1.332,839,3.373,840,2.439,841,1.332,842,1.332,843,1.332,844,1.332,845,1.332,846,1.332,847,1.332,848,1.332,849,0.832,850,1.332,851,1.034,852,1.332,853,1.332,854,4.171,855,2.439,856,1.332,857,0.957,858,0.871,859,0.885,860,1.16,861,3.373,862,1.332,863,0.936,864,0.871,865,1.332,866,1.332,867,0.8,868,1.332]],["title/215",[565,3.347,869,6.475]],["content/215",[]],["title/216",[565,3.347,638,5.025]],["content/216",[]],["title/217",[48,1.827,49,1.482,377,2.895]],["content/217",[8,1.586,48,2.505,49,2.032,377,3.97,409,3.339,455,3.97,565,3.799,629,5.544,631,5.544,638,7.555,726,6.399,737,5.892,738,6.117,796,4.086,870,6.399,871,6.399,872,10.064,873,5.279,874,6.776]],["title/218",[104,1.44,279,1.156,691,2.533]],["content/218",[8,1.556,104,1.699,279,1.364,409,2.873,455,6.416,460,2.949,565,3.269,629,4.77,631,4.77,638,6.822,661,3.481,691,2.988,707,5.069,727,5.263,737,5.069,738,5.263,739,5.069,796,3.516,805,5.069,870,5.506,871,5.506,873,4.542,875,6.324,876,6.324,877,5.506,878,5.506,879,5.831]],["title/219",[135,3.889]],["content/219",[8,1.529,48,2.025,49,2.326,135,4.003,409,2.699,455,6.289,460,2.823,520,3.526,629,4.481,631,4.481,638,4.611,661,3.27,707,4.762,721,3.823,737,4.762,738,4.944,739,4.762,805,4.762,817,5.478,870,5.172,871,5.172,873,4.267,877,5.172,878,5.172,880,8.413,881,5.941,882,4.611,883,4.762,884,4.944,885,4.368,886,5.478]],["title/220",[484,1.738,505,2.233,535,2.684]],["content/220",[18,1.367,47,4.537,50,4.687,241,2.37,279,1.409,306,2.932,313,2.612,454,1.421,470,3.497,482,2.126,484,3.332,505,4.283,529,2.932,618,4.593,666,3.894,686,3.878,743,4.502,887,4.693,888,4.307,889,2.489,890,3.708,891,4.856,892,4.083,893,4.929,894,4.502,895,3.878,896,3.708]],["title/221",[505,2.697,897,5.637]],["content/221",[18,1.445,47,4.099,48,3.24,49,2.873,50,5.416,51,2.709,69,1.943,74,1.648,104,2.183,112,1.8,141,3.244,306,2.538,406,4.006,477,3.189,484,2.633,504,4.388,505,3.384,531,3.402,684,2.478,888,3.891,898,4.472,899,4.266,900,3.095,901,5.656,902,5.834,903,4.534,904,4.158,905,3.897]],["title/222",[400,3.375,888,3.102]],["content/222",[18,1.279,28,1.933,35,2.908,47,2.998,49,2.937,50,3.097,53,6.836,104,1.596,176,2.502,308,2.866,332,3.013,400,4.386,406,2.929,484,1.926,504,5.276,505,2.475,520,3.526,531,4.091,557,2.887,671,3.303,672,3.124,888,5.089,891,3.209,896,3.371,902,4.267,906,5.172,907,3.883,908,3.823,909,5.478,910,4.944]],["title/223",[397,2.335,484,1.738,535,2.684]],["content/223",[8,0.751,18,0.894,47,2.968,48,2.005,49,2.31,50,4.355,69,2.87,74,2.435,219,2.592,257,5.65,279,1.801,306,3.748,454,1.279,470,3.148,482,1.914,483,3.785,484,3.149,485,2.742,505,2.45,524,2.45,529,3.748,618,4.134,671,4.644,672,3.093,701,4.895,887,4.224,888,4.654,911,3.534,912,3.411,913,3.238,914,5.882,915,2.689,916,3.411,917,3.238]],["title/224",[918,7.117]],["content/224",[8,1.568,48,2.977,49,3.091,50,4.553,104,1.075,279,0.863,377,4.17,454,1.899,484,1.298,504,4.17,520,3.718,618,2.814,691,1.891,725,5.455,733,4.863,796,5.589,874,3.691,877,3.485,878,3.485,879,3.691,886,3.691,919,7.118,920,8.052,921,7.604,922,5.777,923,5.777,924,5.777,925,5.777,926,5.777,927,3.691,928,3.691,929,4.003,930,7.118,931,2.576,932,3.691,933,4.003]],["title/225",[895,4.852]],["content/225",[]],["title/226",[671,3.599,916,3.755]],["content/226",[18,1.488,49,2.444,64,1.816,74,2.852,104,1.99,253,2.294,279,1.906,309,2.668,332,1.785,397,2.171,454,2.128,482,1.622,485,2.324,535,2.496,582,2.309,655,2.21,659,2.197,671,5.44,681,4.34,691,2.356,698,2.197,888,3.549,895,2.959,900,1.899,916,2.891,917,4.078,934,4.985,935,5.75,936,4.149,937,4.597,938,4.597,939,3.76,940,4.985,941,3.76,942,3.313,943,7.408,944,4.985,945,2.924,946,4.985,947,3.996,948,2.959,949,3.435,950,4.597,951,2.891]],["title/227",[49,1.79,671,3.599]],["content/227",[8,1.238,35,1.8,36,1.951,48,1.997,49,2.812,52,3.11,58,2.157,74,1.708,104,0.988,219,1.621,253,1.692,328,4.209,347,4.209,379,2.807,398,1.951,406,2.89,416,1.986,450,2.005,454,1.274,455,1.986,492,1.575,520,4.945,548,2.774,549,2.534,557,1.787,671,6.201,672,1.934,684,1.611,686,3.478,698,3.672,701,3.061,720,1.22,735,3.771,757,2.065,761,2.238,784,2.585,788,4.548,858,3.83,903,2.948,915,1.682,916,5.277,935,2.854,936,3.061,937,3.391,952,1.986,953,2.704,954,2.948,955,3.391,956,1.856,957,2.21,958,3.678,959,3.678,960,2.774,961,2.585,962,5.86,963,3.678,964,3.678,965,3.678,966,3.678,967,3.678,968,3.678,969,2.487,970,3.678]],["title/228",[50,4.261]],["content/228",[8,1.388,35,1.079,47,3.05,48,2.06,49,2.726,50,6.002,53,2.461,103,1.035,112,1.611,176,0.928,279,0.825,306,1.716,309,1.18,313,0.881,378,2.596,411,2.085,415,1.079,447,1.711,454,1.63,455,5.177,482,1.244,484,3.007,529,0.989,549,2.635,581,0.96,618,2.688,671,1.226,686,3.587,725,1.919,735,2.461,755,2.885,769,3.329,770,5.656,781,5.262,783,1.919,785,3.329,790,2.327,796,2.815,864,1.441,888,1.056,894,3.489,895,1.308,902,2.747,919,4.669,920,7.852,921,3.329,922,2.033,923,4.669,924,5.573,925,2.033,926,5.573,927,2.033,928,2.033,930,3.526,932,2.033,935,4.691,971,3.526,972,2.205,973,1.711,974,2.205,975,2.033,976,2.315,977,3.824,978,2.205,979,2.205,980,2.033,981,1.465,982,1.835,983,1.835,984,2.205,985,2.205,986,2.205,987,2.205,988,2.205,989,2.205,990,2.205,991,2.205]],["title/229",[796,4.545]],["content/229",[50,5.192,411,5.43,414,6.224,484,3.229,588,4.875,796,5.537]],["title/230",[484,2.099,796,3.599]],["content/230",[8,1.106,55,2.63,88,2.744,219,4.402,249,3.91,379,2.966,416,4.678,455,6.871,460,3.959,642,4.446,661,3.408,671,4.815,672,4.554,686,3.674,916,5.023,992,5.152,993,8.008]],["title/231",[55,1.628,686,3.181,796,2.98]],["content/231",[3,3.768,57,4.204,455,4.536,460,3.56,529,3.768,587,3.616,621,3.426,659,3.701,686,4.984,723,6.989,796,4.669,976,3.84,994,5.489,995,6.989,996,8.398,997,6.989]],["title/232",[55,1.628,379,2.568,796,2.98]],["content/232",[3,3.382,57,3.774,379,3.611,455,4.071,460,3.321,526,3.362,529,3.382,587,3.246,621,3.075,659,3.322,661,4.149,775,6.043,784,5.298,796,4.19,805,6.043,821,6.274,823,6.274,976,3.446,994,4.927,998,9.898,999,9.898,1000,6.563]],["title/233",[18,0.984,1001,4.551]],["content/233",[8,0.963,18,1.146,47,4.994,48,3.767,49,3.459,50,5.761,51,4.742,61,4.371,112,2.398,377,4.071,484,2.443,504,4.071,902,5.414,1002,5.098]],["title/234",[411,4.457]],["content/234",[]],["title/235",[48,1.827,49,1.482,411,2.922]],["content/235",[3,2.315,48,1.759,49,2.494,55,2.308,57,2.583,63,2.624,105,4.565,134,2.629,257,3.49,377,4.872,455,5.729,460,3.339,484,3.226,497,3.49,498,4.565,501,3.49,502,3.49,526,2.301,540,3.429,587,2.222,588,2.526,618,3.627,621,2.105,655,2.288,659,2.274,661,2.841,686,4.51,796,2.869,896,2.928,976,2.359,993,4.137,994,3.373,1003,3.794,1004,4.137,1005,6.616,1006,3.225,1007,5.16,1008,2.898,1009,3.555,1010,3.139]],["title/236",[104,1.44,411,2.922,691,2.533]],["content/236",[55,2.26,88,3.299,104,2,279,1.605,379,4.702,397,3.242,411,4.058,415,4.804,454,1.618,455,5.932,458,3.88,460,3.293,562,3.948,686,5.826,969,5.033,976,3.403,993,5.966,1011,6.194,1012,6.194,1013,7.443]],["title/237",[574,2.614,1014,4.551]],["content/237",[134,2.953,279,2.185,536,6.852,543,7.276,1015,5.422]],["title/238",[1016,4.303,1017,5.637]],["content/238",[8,1.104,28,2.813,134,2.519,279,1.864,454,1.879,482,2.813,533,6.52,1018,6.709,1019,6.709,1020,6.52,1021,4.905,1022,5.956,1023,5.745,1024,6.709,1025,3.952]],["title/239",[8,0.827,1019,5.025]],["content/239",[28,0.934,36,1.523,74,0.837,102,1.338,103,1.347,112,1.524,134,0.837,143,2.726,171,1.665,241,1.041,305,2.228,311,1.148,312,1.908,375,1.46,376,1.908,454,0.624,482,0.934,497,3.238,499,1.565,500,1.647,531,1.202,538,1.686,562,2.54,574,1.933,582,1.33,592,1.484,600,3.424,622,2.228,626,1.497,641,1.366,646,3.225,657,1.148,688,2.662,691,1.356,720,2.384,757,1.612,777,1.747,859,1.908,891,3.327,898,1.58,942,1.908,973,2.228,1016,1.908,1019,6.2,1020,2.166,1021,1.629,1022,1.978,1023,1.908,1026,2.166,1027,3.182,1028,2.952,1029,1.665,1030,4.169,1031,4.788,1032,3.238,1033,3.238,1034,3.366,1035,1.551,1036,4.169,1037,3.716,1038,4.275,1039,2.228,1040,2.871,1041,2.871,1042,2.228,1043,2.228,1044,2.389,1045,1.523,1046,2.647,1047,2.871,1048,1.665,1049,2.228,1050,2.871,1051,2.871,1052,1.366,1053,4.415,1054,1.725,1055,1.908,1056,2.301,1057,2.871,1058,2.647,1059,1.77,1060,3.366,1061,3.904,1062,2.647,1063,1.794,1064,2.228,1065,2.228,1066,2.647,1067,6.159,1068,2.871,1069,1.497,1070,2.389,1071,1.647,1072,2.301,1073,2.062,1074,2.647,1075,2.5,1076,1.565,1077,2.647,1078,2.5,1079,2.018,1080,2.5,1081,1.794,1082,2.5,1083,2.647,1084,2.062,1085,2.166,1086,1.908,1087,1.405]],["title/240",[8,0.827,533,4.884]],["content/240",[154,3.999,176,3.258,454,1.682,498,4.648,528,6.004,533,7.594,546,3.759,646,3.471,657,3.092,905,5.33,951,4.486,1009,5.33,1021,4.39,1048,4.486,1084,5.556,1088,7.736,1089,6.201,1090,7.736,1091,5.687,1092,5.556,1093,4.978,1094,5.33]],["title/241",[113,4.261]],["content/241",[20,5.695,143,3.595,312,6.299,409,4.307,492,4.059,620,5.924,1095,6.969,1096,6.531,1097,7.599]],["title/242",[691,3.862]],["content/242",[62,3.759,101,3.873,109,4.538,112,2.462,134,2.255,279,1.668,400,4.033,454,1.682,505,3.223,595,5.141,691,3.655,720,2.566,858,5.056,951,4.486,1023,5.141,1055,5.141,1098,4.344,1099,7.736,1100,4.769,1101,4.301,1102,6.438,1103,6.201,1104,4.834]],["title/243",[64,2.978]],["content/243",[35,3.597,45,3.473,52,3.129,62,3.571,64,3.976,69,2.525,97,4.046,104,1.975,109,6.402,182,4.659,194,2.774,307,4.884,330,5.704,477,2.466,538,2.588,655,3.258,664,3.473,720,2.437,867,4.416,1100,4.531,1101,5.412,1105,6.776]],["title/244",[63,4.157]],["content/244",[8,1.12,78,4.738,100,4.117,109,5.146,152,4.462,256,5.088,330,6.809,698,3.866,913,4.829,1106,3.238,1107,6.617,1108,7.302,1109,8.773,1110,6.809]],["title/245",[698,3.602]],["content/245",[52,3.972,109,5.472,152,5.76,400,4.863,698,4.111,720,3.094,1101,5.186,1110,8.79]],["title/246",[65,2.457]],["content/246",[35,3.51,45,3.388,52,3.053,62,3.484,65,3.24,69,2.464,97,3.947,104,1.927,109,6.324,182,4.546,194,2.707,307,4.765,330,5.565,477,2.406,512,5.15,538,2.525,655,3.179,664,3.388,720,2.378,867,4.308,1100,4.42,1101,5.324,1105,6.611,1111,7.171]],["title/247",[63,4.157]],["content/247",[8,1.088,65,2.56,78,4.601,100,3.998,104,2.289,109,4.997,152,4.333,256,4.94,330,6.612,698,3.754,913,4.69,1106,3.144,1107,6.426,1108,7.09,1110,6.612,1112,8.519]],["title/248",[698,3.602]],["content/248",[52,3.85,65,2.718,104,2.429,109,5.304,152,5.651,400,4.714,698,3.985,720,2.999,1101,5.027,1110,8.624]],["title/249",[595,5.432]],["content/249",[18,1.724,74,2.016,109,4.058,134,2.724,152,3.518,242,3.269,306,3.104,314,3.808,477,2.321,595,7.036,646,3.104,698,3.049,891,3.737,1048,5.421,1100,4.265,1101,5.197,1113,4.679,1114,7.78,1115,3.968,1116,3.123,1117,6.023,1118,4.522,1119,4.451]],["title/250",[1120,5.343]],["content/250",[28,2.732,37,4.306,279,1.811,307,5.581,486,3.995,521,3.995,538,2.957,562,4.454,657,3.357,720,2.785,1038,4.494,1115,4.817,1120,5.489,1121,4.984,1122,6.174,1123,5.045,1124,3.864]],["title/251",[1125,4.911]],["content/251",[18,1.494,48,1.714,49,1.39,57,2.517,73,4.104,75,4.989,131,1.749,134,2.589,144,5.24,194,1.898,229,2.426,310,2.578,314,2.768,409,2.284,476,4.954,477,1.687,492,2.153,517,2.284,529,2.256,587,3.825,589,2.392,646,3.345,659,2.216,664,2.376,712,2.392,900,2.84,913,2.768,1028,3.099,1045,2.667,1095,3.696,1106,1.856,1120,6.423,1121,4.424,1125,5.903,1126,3.902,1127,4.185,1128,5.028,1129,2.949,1130,3.902,1131,2.853,1132,4.726,1133,2.768]],["title/252",[1134,5.637,1135,4.551]],["content/252",[73,4.875,75,4.973,78,3.453,108,2.581,134,1.863,331,3.485,332,2.289,380,3.2,486,4.213,495,3.332,587,2.752,657,2.555,714,3.152,720,2.12,956,3.225,1048,5.136,1106,3.269,1120,4.178,1125,5.321,1129,5.195,1134,9.551,1135,4.493,1136,3.995,1137,4.323,1138,5.789,1139,5.388,1140,5.565]],["title/253",[18,0.984,595,4.303]],["content/253",[18,1.028,75,3.796,76,4.492,104,1.816,131,2.351,134,1.97,135,3.216,169,3.308,176,2.846,304,4.969,310,3.465,311,2.702,314,3.721,406,4.538,517,3.071,582,3.13,588,3.308,595,6.115,951,3.92,1008,3.796,1103,5.418,1104,5.751,1120,4.418,1129,3.965,1141,5.098,1142,5.098,1143,4.112,1144,3.965,1145,6.759,1146,6.759,1147,5.098]],["title/254",[1066,7.537]],["content/254",[486,4.583,646,4.323,655,4.271,1048,5.587,1053,8.883,1122,7.083,1148,8.388,1149,7.723]],["title/255",[194,2.023,1045,2.843,1150,4.297]],["content/255",[73,5.135,134,2.719,176,3.929,409,4.238,1106,3.443,1113,6.309,1125,5.605,1151,7.478,1152,5.186,1153,8.601]],["title/256",[1154,8.175]],["content/256",[18,1.307,52,4.586,73,3.372,74,1.785,134,2.506,176,2.58,194,3.245,310,3.141,331,3.34,380,3.067,436,3.021,444,4.4,454,1.332,506,4.911,516,3.727,581,2.668,588,2.999,644,5.334,657,2.449,1045,3.25,1125,5.165,1129,3.593,1139,3.727,1150,7.963,1155,3.829,1156,4.504,1157,3.34,1158,5.334,1159,5.099,1160,6.126,1161,6.126,1162,4.911,1163,5.649,1164,6.126]],["title/257",[76,5.432]],["content/257",[18,1.04,75,5.208,76,6.994,112,2.176,113,3.565,134,1.993,194,3.501,331,5.738,332,2.448,454,1.487,516,4.16,714,3.372,1045,3.627,1048,3.965,1120,4.469,1129,4.011,1150,5.481,1157,3.728,1165,4.794,1166,5.691,1167,5.953,1168,6.838,1169,5.691,1170,4.4,1171,4.911,1172,6.838]],["title/258",[1118,5.343]],["content/258",[28,2.971,78,3.609,102,3.115,104,1.795,134,3.031,163,4.799,164,4.799,176,2.814,241,2.424,279,1.441,331,3.643,398,3.545,563,3.426,592,3.454,655,2.962,672,3.514,684,2.928,714,3.295,1091,4.913,1118,7.897,1173,4.799,1174,4.519,1175,4.913,1176,5.357,1177,3.454,1178,4.697,1179,6.161]],["title/259",[28,2.107,1180,6.475]],["content/259",[18,1.456,28,3.116,51,3.435,64,2.612,65,2.155,74,2.791,106,4.765,134,2.791,240,3.77,243,4.481,248,4.363,307,4.765,484,2.324,592,4.95,655,3.179,684,4.195,744,4.256,900,3.648,1035,3.873,1113,4.85,1174,4.85,1181,7.171]],["title/260",[134,1.562,684,2.348,1118,3.504]],["content/260",[18,1.51,47,4.338,134,3.427,241,2.222,242,2.895,243,3.829,454,1.332,477,2.056,483,3.942,557,2.977,558,4.621,563,3.141,589,2.915,592,4.444,672,3.221,684,2.684,714,3.021,816,3.514,900,2.334,1045,3.25,1118,4.004,1165,3.167,1170,5.532,1171,6.175,1174,4.143,1182,5.334,1183,6.126,1184,3.141,1185,3.727,1186,6.126,1187,5.334,1188,4.621]],["title/261",[108,2.164,714,2.643,1118,3.504]],["content/261",[18,1.531,74,2.255,131,2.69,134,2.255,241,2.806,331,4.218,492,3.312,557,3.759,641,3.68,956,3.903,1091,5.687,1118,6.58,1170,4.978,1171,5.556,1189,5.556,1190,3.706,1191,7.736,1192,6.201,1193,3.966,1194,7.736,1195,6.004]],["title/287",[895,4.852]],["content/287",[134,2.953,895,6.013,915,4.632,1028,6.245,1196,7.863]],["title/288",[134,1.887,1196,5.025]],["content/288",[18,1.016,48,2.278,49,1.848,134,3.031,169,3.271,306,2.999,454,1.453,497,4.519,498,4.015,510,3.271,513,3.484,582,3.095,624,3.576,643,4.604,655,2.962,698,2.945,895,3.966,912,3.875,915,3.055,952,5.618,969,4.519,1010,4.066,1015,3.576,1028,4.119,1196,8.073,1197,4.697,1198,3.484,1199,6.161,1200,6.682]],["title/289",[51,2.191,134,1.333,240,2.404,1196,3.549]],["content/289",[18,0.993,51,4.925,131,2.273,134,2.62,169,3.198,240,4.728,242,3.087,243,5.619,306,2.932,415,3.198,454,1.421,497,4.419,529,2.932,582,3.026,623,3.748,720,2.982,761,3.975,952,4.856,1008,3.669,1015,3.497,1029,3.789,1143,3.975,1144,3.833,1196,7.979,1197,4.593,1198,3.406,1201,4.204,1202,4.804]],["title/262",[952,3.497,1009,4.461]],["content/262",[141,5.108,509,5.35,573,5.054,624,4.766,626,4.643,952,4.81,1009,6.136,1203,7.139,1204,5.286,1205,9.584,1206,8.906,1207,8.906]],["title/263",[957,3.89,1123,3.89]],["content/263",[112,2.711,505,3.549,655,3.777,957,7.036,1028,5.252,1123,6.433,1208,6.263,1209,6.999,1210,7.855,1211,6.118,1212,7.855,1213,5.568]],["title/264",[1214,5.637,1215,5.97]],["content/264",[0,1.655,8,1.087,48,3.519,49,3.12,55,1.834,58,2.241,113,5.139,150,3.369,241,2.191,332,2.163,346,4.338,374,6.258,411,2.083,413,2.422,416,2.064,474,2.268,538,2.127,581,1.664,621,1.559,641,1.818,664,1.805,684,1.674,686,4.446,728,3.18,729,4.338,731,4.441,733,6.607,796,3.358,863,2.686,882,5.814,883,6.824,894,4.162,895,2.268,976,1.747,1009,4.162,1179,3.523,1190,1.83,1208,2.809,1215,3.523,1216,3.821,1217,3.821,1218,7.491,1219,2.966,1220,3.821,1221,3.821,1222,3.821,1223,3.821,1224,2.882,1225,3.821,1226,2.027]],["title/265",[67,2.451,416,1.218,455,1.218,512,1.619,1214,1.963,1227,2.255,1228,1.808,1229,2.255,1230,2.255]],["content/265",[8,1.22,24,3.559,135,3.891,332,2.045,411,4.46,413,5.185,416,3.084,444,4.101,455,3.084,460,1.916,462,3.674,468,4.972,470,3.056,512,5.875,549,3.935,573,3.24,659,2.517,684,2.502,698,2.517,712,2.717,728,4.753,733,6.348,767,3.935,864,3.733,882,8.099,883,6.557,1004,6.557,1009,3.935,1228,8.366,1231,5.71,1232,5.71,1233,3.24,1234,4.753]],["title/266",[1214,4.667,1235,5.36,1236,3.85]],["content/266",[8,1.534,24,0.497,32,2.34,47,0.674,48,2.208,49,3.168,50,0.696,53,0.859,71,0.39,97,0.735,112,0.778,113,2.854,130,1.624,150,0.967,169,1.196,175,1.274,233,1.029,256,1.417,332,2.841,379,1.171,411,1.332,413,0.846,415,1.196,416,1.825,446,1.196,454,1.19,455,1.32,488,0.69,514,1.982,517,0.607,520,2.48,524,0.556,538,0.47,581,0.581,585,0.859,637,1.231,639,1.556,640,1.162,648,3.478,655,2.663,659,1.841,688,0.742,698,1.489,729,0.959,731,0.981,735,2.689,743,0.92,757,0.75,860,2.128,882,1.036,883,1.07,895,1.45,900,0.931,935,2.623,956,1.233,975,2.253,976,1.545,1002,1.653,1009,2.328,1032,0.903,1106,0.493,1116,1.103,1165,0.69,1208,0.981,1226,0.708,1237,7.28,1238,4.179,1239,1.111,1240,6.006,1241,3.379,1242,2.005,1243,2.549,1244,0.981,1245,4.388,1246,1.231,1247,1.335,1248,2.253,1249,0.938,1250,0.981,1251,2.285,1252,1.335,1253,2.444,1254,1.402,1255,3.379,1256,1.335,1257,0.959,1258,1.231,1259,1.231,1260,2.444,1261,1.335,1262,2.549,1263,1.335,1264,3.379,1265,2.174,1266,1.335,1267,1.335,1268,1.231,1269,3.379,1270,1.231,1271,1.335,1272,2.444,1273,2.444,1274,2.444,1275,1.335,1276,0.92,1277,0.981,1278,1.335,1279,1.335,1280,2.444,1281,1.335,1282,1.162,1283,1.335,1284,1.335,1285,1.335,1286,1.335,1287,1.335,1288,1.335,1289,1.335,1290,1.335,1291,1.335,1292,1.335,1293,1.335,1294,1.335,1295,1.335,1296,1.335,1297,1.335,1298,2.444,1299,1.335,1300,1.335,1301,2.444,1302,1.335,1303,1.335,1304,1.335,1305,1.335,1306,1.335,1307,1.335,1308,1.335,1309,1.335,1310,1.335,1311,1.335,1312,1.335,1313,1.335,1314,1.335,1315,1.335,1316,1.335,1317,1.335,1318,1.335,1319,1.335,1320,2.444,1321,1.335,1322,1.335,1323,1.335,1324,1.335,1325,1.335,1326,1.335,1327,1.572,1328,1.335,1329,1.335,1330,1.111,1331,1.335,1332,1.335,1333,1.335,1334,1.335]],["title/267",[1335,8.175]],["content/267",[49,3.251,103,2.875,113,3.194,229,2.956,256,3.553,306,2.749,332,2.194,379,4.759,477,2.056,514,6.317,527,3.514,592,3.167,639,3.202,659,2.7,698,3.789,729,4.4,731,4.504,733,4.755,773,3.194,777,5.231,1208,4.504,1209,4.004,1327,5.532,1330,5.099,1336,6.126,1337,5.649,1338,5.649,1339,6.126,1340,6.126]],["title/268",[1341,8.175]],["content/268",[8,0.853,24,2.489,48,2.278,49,2.876,99,3.201,306,2.999,332,2.393,380,3.346,460,3.064,477,2.242,573,3.792,587,2.877,639,2.489,698,4.584,714,3.295,721,4.3,1190,3.201,1226,3.545,1233,3.792,1342,6.558,1343,5.562,1344,6.418,1345,6.682,1346,9.131,1347,5.357,1348,6.682,1349,5.562]],["title/269",[1236,4.65,1350,6.475]],["content/269",[13,5.033,20,4.905,49,3.175,103,3.832,229,5.029,380,4.088,514,4.789,538,2.875,592,4.221,698,3.598,1009,5.626,1208,6.003,1344,7.327,1349,6.795,1351,8.165]],["title/270",[1352,8.175]],["content/270",[49,3.102,71,2.685,135,4.369,176,3.867,380,4.598,454,1.997,581,4,587,3.954,698,4.944]],["title/271",[1236,4.65,1353,6.475]],["content/271",[24,2.281,48,2.088,49,3.464,229,4.148,306,2.749,332,3.557,380,4.973,587,3.702,592,3.167,639,2.281,684,2.684,698,4.377,714,3.021,1208,4.504,1233,3.476,1236,4.4,1327,3.942,1343,5.099,1344,7.57,1349,7.156,1354,8.598,1355,5.649]],["title/272",[67,2.176,1236,3.284,1356,4.573,1357,3.981]],["content/272",[48,1.856,49,3.421,52,2.319,71,2.721,84,3.357,332,1.95,376,6.184,380,3.958,514,5.458,526,2.429,573,3.091,653,3.56,659,2.4,698,4.499,714,2.686,721,3.505,757,3.059,1009,5.447,1226,2.889,1236,7.786,1249,3.828,1343,6.579,1344,3.828,1349,4.533,1358,5.446,1359,4.533,1360,5.446,1361,7.905,1362,5.446]],["title/273",[67,1.37,455,1.556,1236,2.069,1342,2.069,1363,2.881,1364,2.397,1365,2.508,1366,2.656]],["content/273",[8,0.715,32,2.023,49,3.253,52,3.435,71,1.638,103,2.629,135,2.665,229,2.703,379,4.529,380,4.039,411,3.054,413,5.114,444,4.023,446,5.063,454,1.754,455,3.026,514,3.286,538,2.841,624,2.998,698,4.167,712,2.665,882,4.348,883,4.491,1208,4.118,1226,2.971,1236,4.023,1344,5.671,1347,6.467,1367,5.602,1368,5.602,1369,5.602,1370,5.165]],["title/274",[455,2.47,1236,3.284,1371,4.573,1372,4.216]],["content/274",[48,1.543,49,3.411,51,2.168,52,1.927,71,2.014,113,2.359,176,1.906,240,2.38,306,2.031,332,2.466,380,2.266,411,3.755,454,1.813,477,1.518,500,2.596,514,4.04,517,2.056,520,2.686,538,2.425,581,1.971,624,2.422,671,2.516,686,2.686,698,3.675,712,2.153,714,3.397,727,5.733,728,3.767,729,4.947,731,5.064,755,6.29,757,2.542,777,2.753,894,3.118,1131,3.909,1233,3.909,1344,4.842,1347,3.628,1373,3.767,1374,4.526,1375,6.888,1376,3.25,1377,2.568,1378,4.173,1379,4.526,1380,4.526]],["title/290",[952,3.497,1010,3.939]],["content/290",[141,5.108,509,5.35,573,5.054,624,4.766,626,4.643,952,4.81,1010,5.418,1203,7.139,1204,5.286,1205,9.584,1381,8.906,1382,8.906]],["title/291",[8,0.827,1383,6.475]],["content/291",[20,4.905,49,2.882,279,1.761,498,4.905,504,5.63,531,3.42,563,4.186,592,4.221,617,4.633,698,4.594,816,4.683,957,4.905,1006,5.102,1010,6.342,1384,8.165]],["title/292",[1366,5.97,1385,6.475]],["content/292",[6,5.027,69,3.107,71,2.644,150,3.579,440,5.131,454,1.966,504,6.002,1010,6.761,1386,5.304,1387,7.873]],["title/293",[1388,7.537]],["content/293",[143,3.595,454,2.061,505,3.949,559,5.028,567,6.009,641,4.51,1389,6.663,1390,9.479,1391,8.253]],["title/294",[1392,8.175]],["content/294",[49,3.015,57,4.392,71,2.565,233,3.694,486,5.189,641,4.174,659,3.866,684,3.843,1393,7.638,1394,6.301,1395,5.83,1396,8.773]],["title/295",[1397,8.175]],["content/295",[32,3.587,48,2.088,49,2.746,97,3.372,105,3.681,112,2.736,150,2.425,306,2.749,347,4.4,454,1.869,653,4.004,698,3.789,757,3.44,913,3.372,1010,3.727,1184,3.141,1242,5.895,1391,5.334,1394,4.4,1398,4.621,1399,4.911,1400,6.126,1401,5.334,1402,8.598,1403,4.931,1404,4.4,1405,6.126,1406,4.306,1407,6.126,1408,6.126,1409,6.126,1410,5.649]],["title/296",[1411,8.175]],["content/296",[49,2.961,332,3.834,454,1.852,517,3.871,757,4.784,1129,4.997,1233,4.834,1406,7.527,1412,7.417,1413,8.519,1414,8.519,1415,8.519,1416,7.417]],["title/297",[1417,8.175]],["content/297",[32,2.949,49,2.882,71,2.388,97,4.495,304,7.663,454,1.775,642,5.864,698,3.598,757,4.585,915,3.733,1129,6.114,1233,4.633,1406,5.739,1418,8.165,1419,6.545,1420,8.165]],["title/298",[1421,8.175]],["content/298",[49,2.462,71,2.604,332,3.189,454,1.936,1010,5.418,1184,4.566,1422,10.15,1423,5.49,1424,8.906,1425,8.211,1426,8.906,1427,8.211]],["title/299",[1428,6.475,1429,4.76]],["content/299",[97,4.978,279,1.95,332,3.238,698,4.897,757,5.078,1018,7.018,1406,7.811,1423,5.574,1429,6.648,1430,9.042]],["title/300",[1406,4.551,1431,6.475]],["content/300",[49,2.539,446,4.495,454,2.439,915,4.199,1233,5.211,1364,7.643,1406,6.455,1416,7.995,1432,9.183,1433,9.183]],["title/301",[8,0.684,1434,5.36,1435,5.36]],["content/301",[332,3.394,454,2.061,755,7.15,1129,5.56,1233,6.489,1406,6.663,1416,8.253,1436,9.479]],["title/302",[1437,8.175]],["content/302",[32,3.423,49,2.621,671,5.27,1184,4.86,1419,7.599,1422,8.74,1427,8.74,1429,6.969,1438,6.531]],["title/303",[1439,8.175]],["content/303",[6,3.27,8,1.24,32,2.124,49,2.686,71,1.72,112,1.871,279,1.268,306,3.748,332,3.479,454,1.816,477,1.973,557,2.858,587,3.597,698,4.281,792,7.273,1010,3.578,1129,3.45,1226,3.12,1233,3.338,1242,4.958,1342,4.224,1406,4.134,1419,4.715,1429,4.324,1440,6.158,1441,5.882,1442,10.576,1443,5.882,1444,5.882]],["title/304",[1445,8.175]],["content/304",[48,2.946,49,3.259,71,2.528,514,5.07,653,5.65,890,4.905,1129,5.07,1184,4.432,1226,4.585,1242,6.414,1446,8.644,1447,8.644]],["title/305",[1448,8.175]],["content/305",[49,3.451,71,2.604,332,3.189,380,5.511,698,4.851,1184,4.566,1412,7.754,1449,7.139]],["title/306",[1357,5.637,1450,6.475]],["content/306",[49,2.708,71,2.864,698,4.316,1184,5.022,1406,6.885,1410,9.031,1449,7.852]],["title/307",[1357,5.637,1451,6.475]],["content/307",[49,3.015,71,2.565,306,3.937,463,7.129,684,3.843,773,4.573,1129,6.961,1184,5.592,1452,8.773]],["title/308",[1453,6.475,1454,5.97]],["content/308",[71,2.817,653,6.297,890,5.467,1129,5.651,1242,5.718,1338,8.883,1455,9.634,1456,9.634]],["title/309",[1457,8.175]],["content/309",[32,3.317,49,3.102,587,3.954,698,4.944,773,4.787,1184,4.708,1233,5.211,1242,5.45,1458,9.183]],["title/310",[1459,8.175]],["content/310",[49,2.754,71,2.913,1184,5.107,1233,5.652,1242,5.911,1406,7.001]],["title/311",[1454,5.97,1460,6.475]],["content/311",[32,3.168,71,2.565,454,1.907,463,5.734,744,5.207,773,4.573,1129,6.397,1184,4.498,1242,5.207,1429,6.45,1461,8.773,1462,7.033,1463,8.773]],["title/312",[1365,5.637,1464,6.475]],["content/312",[49,2.934,446,5.194,454,2.307,559,4.454,587,3.616,698,3.701,773,4.378,1010,5.109,1364,6.989,1370,9.784,1388,7.743,1389,5.903,1465,8.398]],["title/313",[1364,4.461,1365,4.667,1466,5.36]],["content/313",[49,2.39,446,4.231,454,1.879,463,5.65,559,4.585,684,3.787,773,5.633,1010,5.259,1129,5.07,1233,4.905,1389,6.076,1429,6.355,1462,6.93,1467,7.97]],["title/314",[1468,6.475,1469,5.97]],["content/314",[49,2.426,71,2.565,559,4.653,587,3.778,698,3.866,755,6.617,773,4.573,915,4.011,1010,5.338,1226,4.653,1233,4.978,1389,6.167,1425,8.089,1470,8.773]],["title/315",[1372,4.216,1429,3.362,1469,4.216,1471,4.573]],["content/315",[49,2.39,71,2.528,454,1.879,559,4.585,617,4.905,755,6.52,773,4.506,1010,5.259,1233,6.132,1389,6.076,1429,6.355,1462,6.93,1467,7.97,1472,8.644]],["title/275",[535,3.242,1119,4.166]],["content/275",[37,4.186,112,2.598,242,3.858,279,1.761,529,4.677,890,4.633,892,5.102,949,5.626,1076,4.452,1119,5.254,1473,7.528,1474,6.795,1475,5.254,1476,7.528,1477,4.735,1478,6.795,1479,6.795,1480,4.495]],["title/276",[1481,8.175]],["content/276",[242,2.725,309,3.086,454,1.254,582,2.671,641,2.743,657,3.841,666,2.497,720,1.912,890,3.272,898,3.174,912,3.344,952,4.449,1008,3.238,1076,4.491,1119,3.71,1149,4.623,1157,3.144,1474,4.799,1477,4.777,1482,5.147,1483,5.02,1484,5.317,1485,3.769,1486,5.317,1487,5.317,1488,5.766,1489,5.766,1490,5.766,1491,5.766,1492,5.766,1493,5.766,1494,4.799,1495,5.766,1496,4.141,1497,5.766,1498,4.476,1499,3.422,1500,5.766,1501,4.623,1502,3.71,1503,4.623,1504,5.766,1505,4.799]],["title/277",[113,2.794,1499,3.181,1506,4.461]],["content/277",[49,1.271,77,3.167,108,2.814,112,2.679,113,3.633,175,2.396,241,1.667,394,3.004,398,2.438,454,1.515,477,1.542,486,2.187,529,2.062,619,2.696,620,2.872,626,3.633,657,1.837,666,1.99,720,2.311,757,2.581,863,5.918,1048,2.666,1076,4.59,1092,3.301,1107,3.467,1115,2.636,1119,4.485,1136,2.872,1157,2.506,1190,3.339,1343,3.825,1423,2.833,1473,4.238,1477,2.666,1480,2.53,1496,5.006,1499,4.136,1506,5.801,1507,6.426,1508,7.007,1509,4.596,1510,3.004,1511,3.825,1512,3.467,1513,4.238,1514,4.002,1515,4.238,1516,3.825,1517,6.068,1518,4.596,1519,4.596,1520,4.596,1521,3.301,1522,4.238,1523,4.238]],["title/278",[113,2.384,379,2.191,1101,2.542,1499,2.714]],["content/278",[24,2.355,49,2.43,108,2.553,112,2.797,113,3.297,228,3.325,379,3.029,444,4.542,454,1.375,641,3.008,657,2.528,698,2.787,863,4.445,890,4.988,892,3.952,917,3.481,1023,4.202,1076,3.448,1092,4.542,1100,5.419,1101,3.516,1131,3.588,1477,3.667,1499,3.753,1506,5.263,1508,7.316,1523,5.831,1524,6.324,1525,4.202,1526,5.069,1527,4.133,1528,4.357,1529,5.831,1530,5.831,1531,5.506]],["title/279",[1528,5.633]],["content/279",[18,0.699,24,1.712,49,1.271,112,2.218,113,2.396,242,2.172,306,2.062,309,2.46,312,3.054,397,2.002,398,3.697,454,1.83,486,2.187,516,2.796,529,2.062,531,1.925,582,2.129,626,3.633,641,2.187,657,1.837,688,3.875,698,4.14,720,1.524,863,3.231,892,2.872,904,3.379,906,4.002,951,2.666,956,2.319,981,3.054,1008,2.581,1042,3.567,1048,2.666,1073,3.301,1100,5.19,1115,2.636,1119,4.485,1123,2.761,1137,3.108,1190,2.202,1423,2.833,1477,2.666,1480,2.53,1496,3.301,1507,4.238,1508,3.825,1510,3.004,1514,4.002,1517,4.002,1531,4.002,1532,3.825,1533,3.167,1534,3.825,1535,3.108,1536,4.002,1537,4.596,1538,4.238,1539,4.596,1540,2.46,1541,3.467,1542,4.596,1543,4.238,1544,4.238]],["title/280",[1545,4.591]],["content/280",[35,3.553,112,2.31,113,3.784,176,3.057,242,3.43,477,2.436,529,4.332,641,3.453,657,2.902,900,2.766,1042,5.634,1048,4.21,1476,6.693,1477,4.21,1499,4.308,1525,4.824,1532,8.035,1546,7.259,1547,5.337,1548,4.824,1549,6.693,1550,7.259,1551,4.416,1552,7.259,1553,6.32,1554,5.634]],["title/281",[74,1.887,242,3.059]],["content/281",[18,1.536,24,2.512,35,1.6,48,1.114,49,1.474,74,2.268,88,1.449,104,2.091,108,1.32,143,1.24,225,1.964,248,1.989,249,2.406,256,1.896,380,1.637,397,2.321,411,1.783,414,3.331,416,3.644,454,0.711,455,3.644,460,1.097,477,1.097,485,3.145,505,1.362,532,2.348,581,1.424,586,1.836,588,1.6,626,4.056,641,1.555,642,2.348,655,1.449,661,1.8,666,2.308,695,3.243,735,2.104,796,3.751,863,2.298,887,2.348,890,1.855,892,2.043,913,1.8,917,1.8,931,2.104,1004,2.621,1038,1.75,1073,2.348,1076,2.906,1081,2.043,1106,3.392,1170,2.104,1394,3.828,1480,1.8,1496,3.828,1510,2.137,1511,2.721,1517,2.846,1528,2.253,1531,2.846,1532,5.615,1551,3.243,1555,3.269,1556,3.269,1557,3.269,1558,2.348,1559,4.137,1560,3.269,1561,2.621,1562,3.269,1563,1.896,1564,2.621,1565,2.137,1566,2.348,1567,3.269,1568,2.104,1569,3.269,1570,3.269,1571,3.269,1572,2.846,1573,2.211,1574,3.269,1575,1.766]],["title/282",[74,1.887,698,2.853]],["content/282",[18,1.609,28,0.822,29,1.11,35,0.678,37,0.71,48,0.472,49,1.189,52,2.39,55,1.705,69,1.478,74,2.901,75,1.957,82,1.275,104,2.634,108,1.021,112,0.804,113,0.722,114,0.478,115,0.391,131,1.74,134,1.016,143,0.525,150,1.38,152,1.773,176,0.583,233,0.583,241,1.264,242,1.194,247,1.075,248,4.519,253,0.637,257,0.937,308,0.668,309,0.741,314,0.763,375,0.705,379,1.211,380,0.694,393,0.803,394,0.905,395,1.538,397,1.101,398,3.939,406,0.683,415,0.678,416,1.883,439,0.813,454,1.088,455,0.748,463,0.905,476,0.921,477,0.848,485,0.646,517,1.148,521,1.202,523,0.866,527,0.795,529,0.622,548,1.045,557,0.673,562,1.341,586,0.778,589,0.659,590,1.045,623,0.795,626,4.212,652,0.854,657,1.719,671,0.77,684,1.527,686,0.822,698,4.248,720,0.838,767,0.954,849,0.866,858,0.905,863,0.974,890,2.44,898,1.919,905,0.954,908,0.891,913,3.879,945,1.483,952,0.748,954,2.026,969,2.357,976,0.633,994,1.652,1006,0.866,1011,1.153,1015,1.353,1023,0.921,1029,0.803,1034,0.974,1069,0.722,1076,0.755,1087,1.706,1092,0.995,1097,1.11,1100,3.084,1101,1.938,1106,1.287,1120,0.905,1121,1.5,1125,2.094,1137,0.937,1143,0.843,1147,1.906,1151,1.11,1159,2.901,1165,2.223,1185,0.843,1423,2.149,1462,4.01,1475,0.891,1482,0.866,1496,0.995,1499,0.822,1510,1.652,1514,2.201,1526,1.11,1551,0.843,1563,0.803,1573,2.357,1575,0.748,1576,1.385,1577,1.277,1578,3.214,1579,1.385,1580,1.277,1581,1.385,1582,1.483,1583,0.974,1584,1.206,1585,1.277,1586,1.206,1587,2.705,1588,1.045,1589,0.974,1590,1.153,1591,1.018,1592,0.954,1593,1.906,1594,1.206,1595,1.11,1596,1.385,1597,1.777,1598,1.385,1599,1.277,1600,1.385,1601,1.018,1602,0.995]],["title/283",[74,1.887,576,5.637]],["content/283",[18,1.328,24,3.252,49,1.732,52,1.704,69,1.375,74,1.826,112,1.274,113,2.087,241,2.8,242,1.891,249,1.807,347,2.875,400,2.087,413,2.537,416,2.162,463,2.616,495,2.087,517,1.819,521,1.904,531,1.677,585,2.576,595,2.66,626,4.553,666,1.733,698,2.761,720,1.327,796,2.225,857,2.875,890,2.271,892,2.501,898,2.203,908,2.576,913,2.203,931,2.576,960,4.726,1015,2.142,1022,2.758,1042,3.107,1048,2.321,1071,2.296,1076,2.182,1081,2.501,1100,2.467,1165,2.069,1246,3.691,1462,5.022,1477,2.321,1496,2.875,1511,3.331,1528,2.758,1532,7.89,1554,4.863,1582,3.675,1593,3.019,1603,5.214,1604,3.691,1605,4.003,1606,6.265,1607,4.003,1608,5.777,1609,3.331,1610,2.943,1611,3.209,1612,4.003,1613,4.003,1614,3.691,1615,2.814,1616,3.107,1617,4.003]],["title/284",[916,3.755,1076,3.53]],["content/284",[18,1.584,35,2.42,48,2.509,49,2.035,55,2.236,74,2.563,75,2.776,104,1.978,176,2.082,248,3.008,253,2.275,398,2.622,406,4.337,521,2.352,532,6.999,562,2.622,626,5.08,698,5.124,890,2.805,912,2.867,916,2.867,976,2.26,1006,3.089,1076,4.014,1100,6.975,1125,2.97,1151,3.963,1342,3.55,1477,2.867,1496,5.287,1554,3.837,1599,4.558,1618,4.558]],["title/285",[890,3.674,916,3.755]],["content/285",[3,2.868,18,1.668,75,3.59,176,2.692,241,3.212,400,4.617,444,6.36,463,6.642,521,3.041,576,5.565,626,3.332,698,2.817,712,4.213,744,3.794,890,6.225,913,3.519,916,3.707,1117,5.565,1125,3.84,1185,3.889,1477,3.707,1554,4.961,1597,4.493,1618,5.894,1619,7.371,1620,2.8]],["title/286",[74,1.562,242,2.533,1540,2.869]],["content/286",[18,0.828,24,2.028,28,1.772,49,1.506,73,2.998,74,2.712,76,5.253,78,2.942,112,1.733,134,2.304,194,2.056,241,1.975,242,4.824,243,3.404,398,4.193,400,2.839,527,3.124,595,3.619,657,2.177,672,2.864,695,3.314,698,2.4,761,3.314,908,3.505,992,4.533,1006,3.404,1029,3.159,1045,4.193,1048,3.159,1052,2.591,1056,4.366,1092,3.912,1100,3.357,1115,3.124,1118,5.167,1137,3.683,1188,4.108,1496,3.912,1558,3.912,1621,5.022,1622,6.883,1623,4.742,1624,4.533,1625,4.742]],["title/316",[1144,4.795]],["content/316",[69,2.805,131,3.625,134,2.38,242,4.925,279,1.761,415,5.102,720,3.457,1144,6.735,1626,5.176,1627,5.626,1628,5.864,1629,7.528,1630,8.165]],["title/317",[1627,4.461,1628,4.65]],["content/317",[18,0.972,24,2.38,52,2.722,131,3.815,134,1.863,242,4.801,253,4.075,306,2.868,398,3.391,454,1.39,492,2.737,655,3.926,1035,3.453,1101,3.554,1102,5.32,1103,5.124,1169,5.32,1610,4.7,1628,7.298,1631,7.711,1632,8.146,1633,8.146,1634,6.392]],["title/318",[378,2.748,1033,3.625,1098,3.01]],["content/318",[176,4.724,533,6.927,951,5.326,1020,6.927,1023,6.103,1029,5.326,1033,6.211,1098,5.157,1590,7.643,1635,5.211]],["title/319",[1035,3.497,1636,6.475]],["content/319",[24,2.33,52,2.664,134,2.543,164,4.493,175,3.262,196,3.966,253,4.015,312,4.158,398,3.319,454,1.36,493,2.552,521,2.976,533,6.581,546,3.04,646,2.807,720,2.075,829,5.015,951,5.06,956,3.157,1020,4.719,1030,5.447,1035,4.713,1147,4.719,1193,3.208,1477,3.628,1527,4.09,1564,5.015,1610,4.6,1637,8.044,1638,6.012,1639,5.769,1640,6.257,1641,6.257,1642,6.257]],["title/320",[143,2.455,1643,4.046]],["content/320",[3,1.784,30,1.866,48,1.355,49,1.099,82,2.006,88,4.189,104,1.674,130,5.108,131,2.673,141,2.28,143,4.484,150,2.467,225,3.744,279,0.857,380,1.99,446,1.946,454,0.864,458,2.073,482,2.028,485,2.905,510,1.946,517,1.806,524,1.656,526,1.773,531,1.665,582,1.841,587,3.747,626,4.007,646,1.784,657,3.072,956,3.878,976,1.818,1086,2.642,1173,2.855,1373,3.309,1582,2.332,1594,3.461,1643,7.271,1644,2.689,1645,2.689,1646,2.923,1647,1.99,1648,3.976,1649,3.976,1650,3.187,1651,3.976,1652,3.461,1653,2.642,1654,3.666,1655,3.976,1656,2.256,1657,3.976]],["title/321",[1658,6.166]],["content/321",[32,1.455,88,1.787,131,3.049,134,1.836,143,1.528,150,3.99,171,2.337,279,0.869,311,1.611,409,2.862,460,2.113,474,2.392,477,1.352,510,1.973,513,2.101,583,4.427,588,1.973,589,3.689,600,4.873,603,2.777,621,1.644,653,2.634,684,1.766,688,2.24,714,1.987,777,2.452,827,2.24,849,3.936,900,2.954,992,3.354,1003,2.963,1063,2.519,1070,3.354,1081,2.519,1141,3.04,1157,2.197,1162,3.231,1175,2.963,1226,2.138,1484,7.149,1499,2.392,1522,5.807,1582,2.364,1643,2.519,1644,5.244,1658,6.612,1659,4.427,1660,3.716,1661,2.634,1662,2.519,1663,3.509,1664,3.04,1665,6.299,1666,5.049,1667,3.509,1668,3.716,1669,4.03,1670,2.287,1671,3.354,1672,4.03,1673,3.509,1674,2.894]],["title/322",[1667,7.117]],["content/322",[28,1.175,104,0.97,131,2.008,134,1.052,143,3.126,150,2.285,249,1.63,255,2.36,279,1.245,308,1.742,411,1.968,439,2.118,507,3.148,510,2.826,531,1.512,565,1.866,583,5.795,592,1.866,600,4.011,604,3.312,626,1.882,646,1.62,653,2.36,664,1.706,666,1.563,712,3.433,714,1.78,777,2.196,827,2.007,849,2.256,891,1.95,900,2.749,956,2.913,1003,4.245,1018,2.802,1052,1.717,1087,1.767,1157,1.968,1226,1.915,1327,2.323,1499,5.351,1530,3.329,1582,2.118,1643,3.608,1644,4.88,1650,4.628,1659,2.538,1660,5.323,1667,6.282,1668,3.329,1675,2.289,1676,2.894,1677,4.355,1678,2.723,1679,3.61,1680,4.147,1681,3.61,1682,3.143,1683,3.61,1684,2.802,1685,5.774,1686,3.61,1687,3.61,1688,3.61,1689,3.143,1690,3.61,1691,2.225,1692,3.61,1693,3.005,1694,3.61,1695,3.61,1696,3.61,1697,2.894,1698,3.61,1699,3.329,1700,3.61]],["title/323",[1701,6.01]],["content/323",[18,1.563,20,3.926,52,2.782,131,4.276,134,2.62,253,3.007,415,3.198,439,3.833,538,2.301,557,3.175,564,4.804,646,4.613,655,4.557,887,4.693,912,3.789,952,3.529,1055,4.342,1098,3.669,1104,4.083,1144,3.833,1201,4.204,1251,4.419,1701,4.804,1702,5.071]],["title/324",[131,1.864,1702,4.16,1703,5.36]],["content/324",[18,1.334,28,2.855,131,3.793,134,2.557,486,4.174,592,4.535,600,4.877,620,5.483,646,3.937,1091,6.45,1165,4.535,1663,7.638,1704,8.773]],["title/325",[131,2.252,1035,3.497]],["content/325",[]],["title/326",[1705,8.175]],["content/326",[]],["title/327",[1706,7.537]],["content/327",[18,1.04,102,3.188,131,3.925,134,2.703,171,3.965,415,3.347,646,5.064,655,3.031,1028,4.215,1035,3.693,1045,3.627,1106,2.524,1143,4.16,1157,3.728,1646,5.027,1663,5.953,1702,5.307,1706,8.551,1707,6.838,1708,4.624,1709,4.334,1710,6.838,1711,4.16,1712,6.838,1713,5.691]],["title/328",[151,3.304,375,2.726,415,2.624]],["content/328",[48,3.374,49,2.737,69,2.59,131,2.622,135,4.709,151,4.647,375,3.834,377,5.969,415,3.69,485,3.514,495,3.93,528,5.85,535,3.774,559,3.998,655,4.388,917,4.149,1089,6.043,1104,4.711,1610,5.542]],["title/329",[48,1.559,49,1.264,377,2.47,1089,3.666]],["content/329",[18,1.444,28,2.305,48,3.238,49,2.626,52,4.044,69,3.264,114,2.444,115,1.997,134,2.768,135,3.37,240,3.725,347,5.088,377,5.788,450,3.862,458,3.693,485,3.303,896,4.02,915,3.239,1032,4.791,1071,4.063,1104,4.427,1501,5.679]],["title/330",[1610,6.01]],["content/330",[18,0.961,26,4.202,48,3.722,49,3.019,52,2.693,69,2.173,108,2.553,135,3.008,151,5.419,253,2.91,375,4.47,377,3.416,415,4.945,453,4.009,454,1.375,536,5.945,557,3.073,559,3.354,581,2.754,655,2.803,695,3.847,899,4.77,1006,3.952,1023,4.202,1071,3.627,1089,5.069,1265,4.069,1714,6.324,1715,6.324]],["title/331",[18,0.815,20,3.22,400,2.794]],["content/331",[18,1.854,20,5.605,131,3.939,134,2.719,1184,4.783,1251,6.309,1646,6.858]],["title/332",[400,4.261]],["content/332",[0,2.196,18,1.141,45,4.219,73,2.792,74,1.478,76,3.37,112,1.614,131,3.105,134,3.325,176,2.136,182,3.215,183,3.01,242,2.396,308,2.447,311,2.027,314,4.13,380,2.539,400,2.644,415,2.482,506,4.065,516,3.085,521,2.413,590,3.825,644,6.532,684,2.222,720,1.682,757,2.848,793,3.494,915,2.319,1045,3.979,1048,2.941,1103,4.065,1115,4.303,1139,3.085,1149,4.065,1157,2.765,1165,2.622,1184,2.6,1477,4.351,1478,4.221,1582,2.975,1620,2.222,1666,4.065,1716,4.065,1717,4.221,1718,4.676,1719,4.676]],["title/333",[134,1.887,1035,3.497]],["content/333",[18,1.244,45,2.698,52,2.431,62,2.775,74,1.664,131,1.986,134,3.219,182,3.62,183,3.389,242,2.698,253,4.398,311,3.27,380,4.095,400,2.977,409,2.594,415,4.004,485,2.662,574,2.306,590,6.17,621,2.329,655,2.532,912,3.312,1035,3.084,1048,3.312,1084,4.101,1087,2.795,1106,2.108,1116,2.578,1126,4.432,1529,5.265,1691,3.52,1720,4.432,1721,7.47,1722,3.431,1723,5.265]],["title/335",[18,0.815,131,1.864,1646,3.941]],["content/335",[18,1.637,55,2.611,114,2.113,115,1.727,131,3.455,135,2.915,145,2.783,176,2.58,380,3.067,416,3.309,492,3.681,577,5.649,585,3.942,589,2.915,646,2.749,655,2.716,712,4.726,720,2.032,744,3.636,912,3.553,952,3.309,1152,3.406,1251,4.143,1702,6.673,1708,4.143,1709,3.884,1724,4.221,1725,5.099,1726,6.126,1727,5.334,1728,5.649,1729,5.099,1730,3.727]],["title/336",[114,1.849,115,1.511,1152,2.98]],["content/336",[18,1.41,48,2.331,49,1.891,51,3.276,61,3.965,74,1.993,77,4.711,114,3.2,115,3.182,131,3.226,134,2.703,150,2.706,240,3.595,242,3.231,243,4.273,331,3.728,412,4.806,477,2.294,493,2.789,559,3.627,590,5.158,657,2.733,796,3.801,900,2.605,1060,4.806,1731,5.027]],["title/337",[18,0.815,55,1.628,1152,2.98]],["content/337",[]],["title/338",[18,0.815,134,1.562,1152,2.98]],["content/338",[18,1.04,28,2.225,47,3.45,48,2.331,49,2.564,55,2.077,134,3.067,145,3.107,163,4.911,164,4.911,176,2.879,377,3.693,406,3.372,498,4.108,514,4.011,515,4.273,588,3.347,650,5.158,712,4.412,976,3.126,1104,4.273,1116,3.087,1133,3.764,1174,4.624,1185,4.16,1201,4.4,1242,4.058,1394,4.911,1732,4.334]],["title/339",[18,0.606,51,1.91,134,1.162,240,2.097,1152,2.217]],["content/339",[18,1.208,47,4.009,51,3.806,134,3.303,145,3.609,176,3.346,194,2.999,240,4.177,477,2.666,712,4.873,915,3.632,976,3.632,1155,4.965,1394,5.706,1643,4.965,1732,5.036,1733,6.612,1734,7.945]],["title/340",[18,0.815,65,1.611,1152,2.98]],["content/340",[18,1.571,28,2.62,55,2.446,65,3.617,101,4.032,107,5.033,134,3.011,145,3.659,411,4.391,477,2.702,900,3.068,1104,5.033,1404,5.784,1731,5.921,1732,5.105]],["title/341",[18,0.815,218,2.869,1152,2.98]],["content/341",[18,1.208,112,3.259,134,2.315,145,3.609,219,4.995,477,2.666,891,4.291,956,4.009,1104,4.965,1133,4.373,1142,5.992,1213,5.193,1643,4.965,1735,6.695,1736,6.612,1737,5.584,1738,7.945]],["title/342",[18,0.815,1152,2.98,1739,5.36]],["content/342",[18,1.433,74,3.321,75,3.931,76,4.652,112,2.998,134,2.746,145,3.18,218,6.098,348,6.095,376,4.652,915,3.201,956,3.532,1071,5.405,1104,5.889,1130,7.313,1155,4.375,1184,3.589,1732,4.438,1740,7]],["title/343",[18,0.695,143,1.734,1152,2.542,1643,2.858]],["content/343",[18,1.104,28,3.141,74,2.116,131,2.525,176,3.057,395,4.416,411,3.958,477,2.436,712,3.453,956,5.473,976,3.319,1086,4.824,1104,4.536,1133,3.996,1394,5.213,1633,5.819,1643,6.034,1644,4.909,1691,4.475,1741,6.042,1742,4.824,1743,7.282,1744,7.259]],["title/344",[18,0.695,130,3.039,143,1.734,1152,2.542]],["content/344",[18,1.09,30,4.494,74,2.09,130,6.364,176,3.02,446,3.51,712,5.474,976,3.278,1086,4.765,1133,3.947,1185,4.363,1190,3.435,1643,7.191,1653,6.364,1742,4.765,1745,9.576,1746,5.748,1747,7.171,1748,7.171]],["title/334",[1735,5.343]],["content/334",[18,1.132,69,2.557,74,2.169,112,2.368,134,2.169,219,3.28,279,1.605,497,5.033,521,3.541,528,5.776,720,2.468,917,4.097,1039,5.776,1049,5.776,1119,4.789,1131,4.223,1135,5.232,1184,3.816,1213,4.865,1475,4.789,1513,6.862,1563,4.316,1735,4.865,1749,4.946,1750,5.966,1751,5.614]],["title/345",[1100,3.304,1101,2.98,1735,3.504]],["content/345",[8,1.096,18,1.085,34,1.791,64,2.6,74,1.383,75,2.664,78,2.563,82,3.602,112,2.731,185,2.169,218,3.821,219,4.512,241,3.113,312,3.153,358,4.374,378,2.432,406,2.339,415,2.322,454,1.552,485,3.328,493,1.935,505,1.976,528,3.682,581,2.066,595,3.153,657,1.896,720,2.367,744,2.816,945,2.783,951,4.977,1028,4.401,1034,3.335,1100,2.925,1101,3.969,1102,3.949,1103,3.803,1106,1.751,1118,3.101,1135,3.335,1147,3.579,1159,5.941,1165,2.453,1527,3.101,1735,4.666,1752,3.335,1753,3.579,1754,4.744,1755,4.744]],["title/346",[1135,4.551,1735,4.232]],["content/346",[8,0.447,18,1.35,24,1.304,34,2.127,52,1.491,54,2.369,75,4.55,76,2.328,102,3.777,112,1.793,134,1.021,150,1.386,218,1.875,219,1.544,233,1.475,241,1.27,309,1.875,331,1.91,393,2.031,400,1.826,415,1.714,477,1.891,492,3.027,493,1.429,507,1.91,513,2.938,581,1.526,587,1.508,600,1.947,646,4.257,683,2.22,892,2.189,913,1.928,917,1.928,957,2.104,1071,2.009,1106,3.681,1113,3.811,1124,1.612,1131,1.988,1135,2.462,1138,3.684,1144,2.055,1184,3.625,1192,4.518,1193,3.625,1213,2.29,1249,2.462,1386,2.055,1565,2.29,1638,2.414,1661,2.29,1674,2.516,1732,2.22,1735,2.29,1736,6.744,1737,2.462,1751,2.642,1756,5.636,1757,4.518,1758,3.503,1759,3.23,1760,3.811,1761,3.503,1762,4.69,1763,4.374,1764,2.328,1765,3.503,1766,3.23,1767,2.159,1768,3.503,1769,3.23,1770,2.915]],["title/347",[74,1.562,218,2.869,219,2.362]],["content/347",[219,4.246,485,4.491,582,4.462,664,4.552,720,3.195,1135,6.772,1735,6.297,1771,8.388]],["title/348",[1197,5.746]],["content/348",[18,1.591,71,1.977,112,3.574,131,2.351,134,1.97,176,2.846,218,4.925,219,2.979,241,2.452,412,6.468,445,3.384,477,3.087,529,3.033,538,2.38,559,3.585,655,2.996,712,3.216,720,2.242,1104,4.224,1184,4.718,1197,4.751,1559,5.246,1771,5.885,1772,4.571,1773,6.759]],["title/349",[493,3.335]],["content/349",[64,2.329,65,2.662,100,3,112,2.818,196,4.052,219,2.817,279,1.378,311,2.555,412,4.493,445,3.2,454,1.39,485,2.98,488,3.304,538,2.251,559,3.391,791,4.493,796,3.554,931,5.699,952,3.453,1162,5.124,1175,4.7,1184,5.21,1197,4.493,1620,2.8,1729,5.32,1774,7.371,1775,8.165,1776,4.828,1777,4.248,1778,6.392,1779,5.32]],["title/350",[1730,4.974]],["content/350",[8,1.394,64,2.677,219,5.121,241,2.666,279,1.585,477,2.466,566,4.971,586,4.127,657,3.891,664,4.599,1135,5.166,1201,4.729,1730,4.472,1780,5.064,1781,7.35,1782,7.35,1783,7.35,1784,7.35,1785,7.35,1786,7.35]],["title/351",[1045,4.336]],["content/351",[]],["title/352",[171,4.741]],["content/352",[37,3.589,111,3.817,112,2.227,171,4.06,279,1.509,311,2.798,414,4.375,454,2.049,477,2.349,482,2.278,495,4.912,562,3.713,1022,4.823,1033,4.734,1034,4.921,1045,4.998,1048,4.06,1069,3.649,1084,5.028,1122,5.146,1528,4.823,1548,4.652,1561,5.612,1787,7,1788,5.433,1789,7,1790,6.095,1791,5.826]],["title/353",[1561,5.19,1791,5.389]],["content/353",[8,1.698,12,1.695,77,2.278,100,1.552,103,2.524,105,4.706,134,0.964,162,1.917,171,4.999,219,3.452,228,1.738,240,1.738,458,1.724,460,1.805,485,1.541,523,2.066,546,1.607,554,3.048,562,1.754,563,4.016,587,1.424,621,2.194,859,2.197,889,1.26,896,1.876,912,1.917,915,1.512,952,1.786,981,2.197,983,2.752,1029,1.917,1063,2.066,1106,1.22,1156,2.431,1157,2.932,1166,2.752,1176,4.311,1224,2.494,1344,2.324,1478,2.752,1559,4.174,1561,6.91,1742,2.197,1791,4.476,1792,6.268,1793,3.306,1794,3.306,1795,4.174,1796,3.048,1797,7.833,1798,3.048,1799,3.306,1800,3.306,1801,3.306,1802,3.306,1803,3.306]],["title/354",[111,3.53,414,4.046]],["content/354",[28,2.38,69,1.684,99,2.349,111,4.772,112,1.56,171,2.843,279,1.057,309,2.624,414,6.065,416,2.648,454,1.591,455,4.727,460,1.645,466,3.022,493,2,527,4.196,529,2.2,562,2.6,666,2.123,898,2.699,915,2.241,949,5.041,954,3.93,981,5.816,1008,2.753,1027,3.258,1034,3.446,1092,3.521,1137,3.315,1176,3.93,1185,4.451,1477,2.843,1482,5.47,1533,3.378,1547,3.604,1548,3.258,1559,6.793,1615,3.446,1670,2.782,1804,3.604,1805,3.93,1806,3.93,1807,4.902,1808,4.902,1809,4.902,1810,4.902,1811,4.52,1812,4.902,1813,4.902]],["title/355",[171,3.755,1814,5.97]],["content/355",[28,2.126,48,3.065,49,2.486,50,3.406,99,3.13,105,3.926,111,3.563,134,1.904,152,4.573,171,5.962,313,2.612,331,3.563,454,2.235,529,2.932,895,3.878,971,6.025,1032,4.419,1045,3.466,1106,2.412,1110,5.071,1115,3.748,1250,4.804,1561,5.238,1564,5.238,1575,3.529,1791,5.438,1814,6.025,1815,6.534,1816,6.534,1817,5.438]],["title/364",[134,2.382]],["content/364",[]],["title/365",[112,2.06,113,3.375]],["content/365",[0,2.159,28,1.622,47,3.738,48,2.525,49,2.048,69,1.713,78,2.693,104,1.99,111,2.718,113,2.599,134,1.453,163,5.32,164,5.32,194,3.337,199,4.597,201,4.597,241,1.808,254,2.995,279,1.075,398,2.644,409,2.265,436,2.458,454,1.084,488,2.577,492,3.785,499,2.718,684,2.184,873,3.58,1034,3.504,1035,2.693,1045,5.546,1120,4.842,1122,3.665,1123,2.995,1132,3.16,1169,4.149,1177,3.829,1548,3.313,1615,3.504,1632,3.996,1701,3.665,1742,3.313,1788,3.869,1798,4.597,1818,3.116,1819,3.16,1820,4.985,1821,7.408]],["title/366",[1045,2.843,1101,2.98,1115,3.074]],["content/366",[6,3.593,28,2.103,45,3.053,51,3.096,103,3.033,112,2.056,134,2.979,240,3.398,241,2.344,242,3.053,306,2.9,454,1.405,529,2.9,531,2.707,595,4.295,1023,4.295,1030,5.627,1038,3.459,1045,3.428,1049,5.016,1100,3.984,1101,4.961,1102,5.379,1115,3.707,1118,4.224,1124,2.974,1147,4.875,1165,3.341,1184,3.313,1355,5.958,1510,4.224,1593,4.875,1670,3.667,1822,6.462,1823,6.462]],["title/367",[1101,3.599,1824,5.025]],["content/367",[28,2.199,48,3.566,49,2.893,52,2.878,78,3.651,134,1.97,150,2.675,163,4.854,164,6.609,194,3.474,241,2.452,398,3.585,684,4.031,698,2.979,897,5.885,1045,4.881,1101,3.758,1169,5.625,1176,5.418,1177,3.494,1438,4.657,1633,7.377,1819,4.285,1825,6.232,1826,6.759]],["title/368",[194,2.023,1101,2.98,1610,3.941]],["content/368",[48,3.491,49,2.832,134,2.315,194,3.866,331,4.331,505,3.31,684,4.487,720,2.635,945,4.66,1023,5.28,1077,7.325,1092,5.706,1101,6.302,1265,5.112,1597,5.584]],["title/369",[47,2.705,134,1.562,1101,2.98]],["content/369",[35,4.335,47,6.014,48,3.019,49,2.449,69,2.196,78,4.783,112,2.034,134,3.357,176,2.692,241,2.319,331,3.485,516,3.889,684,2.8,1023,4.248,1101,5.649,1116,2.886,1184,3.277,1201,4.113,1597,4.493,1610,6.511,1737,4.493,1824,4.961,1827,6.392]],["title/370",[49,1.264,134,1.333,1101,2.542,1610,3.362]],["content/370",[35,3.837,48,4.061,49,3.294,134,2.285,398,5.386,505,3.266,684,4.449,1071,4.496,1087,3.837,1101,5.645,1824,6.084,1828,6.084,1829,7.839]],["title/356",[900,2.042,1830,5.36,1831,2.794]],["content/356",[0,2.653,8,0.782,111,3.34,143,2.323,279,2.142,375,3.116,378,3.141,482,1.993,484,2.787,485,2.856,508,3.681,509,3.681,519,2.915,539,4.239,542,5.099,546,2.977,552,3.44,574,2.474,582,2.837,588,2.999,589,2.915,614,3.636,683,3.884,712,2.915,911,3.681,1061,3.884,1189,4.4,1525,4.071,1832,3.141,1833,4.221,1834,3.884,1835,4.504,1836,3.777,1837,3.681,1838,5.334,1839,4.143,1840,4.911,1841,3.681,1842,5.099]],["title/357",[481,5.26]],["content/357",[18,1.241,51,3.911,154,5.388,279,2.248,446,3.996,482,2.657,484,2.647,486,3.884,531,3.42,568,4.256,691,3.858,1025,3.733,1423,5.033,1831,4.256,1832,4.186,1843,5.102,1844,5.739]],["title/358",[546,3.146,1845,5.025]],["content/358",[8,1.541,171,4.243,279,1.057,484,2.372,499,5.937,501,7.365,502,7.022,519,2.332,529,3.927,546,2.382,552,2.753,581,2.135,587,2.111,915,2.241,952,3.951,1039,3.805,1770,4.08,1831,3.814,1832,2.513,1836,3.022,1845,6.793,1846,4.243,1847,6.745,1848,6.9,1849,5.041,1850,3.93,1851,3.258,1852,3.93,1853,3.805]],["title/359",[1204,3.843,1675,4.104]],["content/359",[8,1.21,397,4.129,661,5.218,1854,9.479,1855,8.253,1856,8.74,1857,9.479,1858,7.357,1859,6.531]],["title/371",[563,3.32,1832,3.32]],["content/371",[8,1.652,74,0.915,102,1.464,154,1.624,162,1.022,194,1.186,224,1.087,229,0.85,249,0.796,279,1.276,311,0.705,377,0.952,397,0.768,454,1.547,460,0.591,474,1.046,477,0.591,484,1.377,485,0.822,493,0.719,502,1.192,517,0.801,519,0.838,527,2.437,531,0.738,546,1.526,552,0.99,563,3.648,564,1.296,573,1,581,0.768,588,0.863,594,1.022,600,1.746,604,1.011,621,0.719,665,1.802,677,2.986,688,2.867,695,1.072,712,1.494,896,1,900,1.197,910,1.467,917,0.97,948,1.046,956,0.889,1021,1,1060,1.239,1076,0.961,1116,0.796,1176,1.413,1190,0.844,1226,2.736,1423,1.087,1499,1.046,1589,1.239,1670,1,1680,1.266,1818,1.101,1832,3.364,1833,1.214,1836,1.936,1837,1.887,1845,2.438,1849,1.214,1850,1.413,1851,1.171,1858,1.368,1860,2.927,1861,2.256,1862,3.051,1863,1.467,1864,2.438,1865,2.735,1866,1.535,1867,1.535,1868,1.535,1869,1.625,1870,1.535,1871,1.763,1872,1.535,1873,3.269,1874,3.699,1875,1.368,1876,1.763,1877,1.368,1878,1.763,1879,3.141,1880,4.49,1881,3.141,1882,3.406,1883,1.763,1884,1.763,1885,2.896,1886,6.026,1887,1.763,1888,3.141,1889,1.763,1890,1.763,1891,3.141,1892,1.087,1893,1.625,1894,1.535,1895,3.699,1896,1.625,1897,1.535,1898,1.763,1899,1.763,1900,3.141,1901,1.296,1902,1.467,1903,1.763,1904,1.413,1905,1.763,1906,1.763,1907,1.763,1908,1.535,1909,1.535,1910,1.535,1911,1.535,1912,1.535,1913,1.535,1914,1.535,1915,1.535,1916,1.535,1917,1.763,1918,1.763,1919,1.763,1920,4.248,1921,1.763,1922,1.763,1923,1.763,1924,1.763,1925,1.535,1926,1.625,1927,1.535,1928,1.763]],["title/360",[1929,5.343]],["content/360",[]],["title/361",[436,2.255,510,2.238,563,2.345,1849,3.151]],["content/361",[164,6.596,279,1.98,311,3.671,454,1.997,484,2.977,510,4.495,600,5.105,1142,6.927,1675,5.822,1875,7.128,1930,9.183]],["title/362",[529,2.905,1848,4.303]],["content/362",[8,1.155,279,1.95,492,3.872,529,4.058,587,3.894,1848,6.009,1850,7.249,1851,6.009,1931,9.042,1932,8.337,1933,7.249,1934,7.249]],["title/363",[84,3.304,1837,3.22,1852,4.297]],["content/363",[84,4.588,103,4.607,224,4.588,501,6.638,546,4.77,885,5.472,1106,2.747,1165,3.847,1249,5.232,1662,4.651,1831,5.117,1832,5.032,1837,4.471,1845,5.776,1852,7.869,1935,7.443,1936,6.862,1937,7.443,1938,5.776,1939,6.862]],["title/372",[589,3.08,617,3.674]],["content/372",[8,0.975,539,3.765,552,5.606,581,3.326,594,4.428,602,5.367,641,3.633,664,3.608,942,5.074,1540,4.087,1582,4.479,1831,3.98,1836,4.707,1855,6.648,1856,7.04,1858,5.926,1862,5.484,1940,7.04,1941,6.328,1942,5.164,1943,5.164,1944,7.636]],["title/373",[565,3.347,1837,3.89]],["content/373",[84,4.832,169,3.837,194,3.833,224,4.832,225,4.709,529,3.517,539,3.865,541,5.913,565,4.052,581,4.423,582,3.63,624,4.195,651,5.206,1015,4.195,1653,5.209,1837,4.709,1845,6.084,1852,6.284,1945,7.227]],["title/374",[1946,8.175]],["content/374",[162,5.875,454,2.203,617,5.749,1832,5.194,1947,6.852]],["title/375",[1620,3.581]],["content/375",[8,1.34,1620,4.597,1948,7.375]],["title/376",[409,2.942,816,3.714]],["content/376",[8,1.59,119,3.522,162,5.68,1885,9.031,1947,6.624]],["title/377",[1949,8.175]],["content/377",[484,3.229,581,4.338,587,4.289,691,4.706,1620,4.363,1950,9.96]],["title/378",[1620,3.581]],["content/378",[8,1.34,1620,4.597,1948,7.375]],["title/379",[409,2.942,816,3.714]],["content/379",[8,1.364,409,4.853]],["title/380",[1951,8.175]],["content/380",[194,3.891,617,5.85,691,4.871,1832,5.285]],["title/381",[1620,3.581]],["content/381",[8,1.364,1948,7.509]],["title/382",[409,2.942,816,3.714]],["content/382",[8,1.683,104,2.106,119,4.05,219,3.454,248,4.769,249,4.585,404,5.763,691,4.798,1952,7.227,1953,5.913]],["title/383",[1954,7.537]],["content/383",[18,1.595,99,5.026,446,5.136]],["title/384",[1620,3.581]],["content/384",[6,3.303,7,3.569,8,1.529,18,1.485,32,2.146,48,2.025,49,1.643,50,3.097,55,2.555,61,3.445,88,3.73,112,2.677,114,2.902,115,2.372,119,2.136,134,1.731,147,5.172,242,2.807,243,3.713,253,2.734,406,2.929,454,1.292,486,2.826,664,2.807,672,3.124,888,2.846,889,2.263,1008,3.336,1403,3.408,1955,5.172,1956,5.478,1957,3.569,1958,5.941]],["title/385",[409,2.942,816,3.714]],["content/385",[8,1.589,18,1.224,104,2.164,119,2.896,253,5.538,308,3.885,310,5.297,315,6.702,316,6.702,1359,6.702,1742,5.352,1959,6.702]],["title/386",[1960,8.175]],["content/386",[219,4.624,664,4.958,888,5.026]],["title/387",[1620,3.581]],["content/387",[8,1.59,119,3.522,219,4.316,249,5.265]],["title/388",[409,2.942,816,3.714]],["content/388",[8,1.596,18,1.241,104,2.194,119,2.936,253,5.566,308,3.939,310,5.344,315,6.795,316,6.795,1359,6.795,1959,6.795]],["title/389",[1961,8.175]],["content/389",[219,4.624,888,5.026,1377,5.954]],["title/390",[1620,3.581]],["content/390",[8,1.59,119,3.522,219,4.316,249,5.265]],["title/391",[409,2.942,816,3.714]],["content/391",[8,1.596,18,1.241,104,2.194,119,2.936,253,5.566,308,3.939,310,5.344,315,6.795,316,6.795,1359,6.795,1959,6.795]],["title/392",[1962,8.175]],["content/392",[219,4.389,563,5.107,617,5.652,888,4.771,903,7.984,1832,5.107]],["title/393",[1620,3.581]],["content/393",[8,1.364,1948,7.509]],["title/394",[409,2.942,816,3.714]],["content/394",[8,1.687,119,4.076,219,3.501,379,3.806,671,4.417,686,6.079,916,4.607,1012,6.612,1963,7.945,1964,7.945]],["title/395",[1965,8.175]],["content/395",[48,3.284,49,2.664,52,4.917,219,4.246,671,5.356,698,4.246,753,8.018]],["title/396",[1620,3.581]],["content/396",[8,1.512,74,2.016,119,3.362,219,4.12,241,2.509,249,3.123,253,3.183,454,1.504,659,3.049,664,3.269,671,5.886,698,4.12,913,3.808,916,5.421,948,5.548,1403,5.362,1540,3.702,1953,5.218,1966,5.546,1967,4.968]],["title/397",[409,2.942,816,3.714]],["content/397",[8,1.557,48,3.18,49,2.579,52,3.972,58,5.472,119,3.355,219,4.111,698,4.111]],["title/398",[1968,8.175]],["content/398",[52,5.015,104,2.676,219,4.389,671,5.537,698,4.389]],["title/399",[1620,3.581]],["content/399",[8,1.512,74,2.016,119,3.362,219,4.12,241,2.509,249,3.123,253,3.183,454,1.504,659,3.049,664,3.269,671,5.886,698,4.12,913,3.808,916,5.421,948,5.548,1403,5.362,1540,3.702,1953,5.218,1966,5.546,1967,4.968]],["title/400",[409,2.942,816,3.714]],["content/400",[8,1.59,104,3.133,119,3.522,671,5.445]],["title/401",[1969,8.175]],["content/401",[587,4.362,617,5.749,691,4.787,1832,5.194,1970,5.577]],["title/402",[1620,3.581]],["content/402",[8,1.364,1948,7.509]],["title/403",[409,2.942,816,3.714]],["content/403",[8,1.61,104,2.256,119,4.184,219,3.701,248,5.109,249,4.791,404,6.174,691,3.968,1952,7.743,1953,6.334]],["title/404",[1971,8.175]],["content/404",[18,1.595,446,5.136,523,6.557]],["title/405",[1620,3.581]],["content/405",[8,1.632,18,1.584,32,1.785,55,2.236,88,3.264,112,2.342,114,1.705,115,1.394,119,3.747,147,4.304,219,3.244,225,5.284,241,1.793,249,2.232,253,2.275,436,2.438,446,3.603,454,1.601,472,3.837,509,2.97,664,2.336,671,2.748,888,2.368,916,2.867,945,2.9,1008,2.776,1403,2.835,1540,2.646,1953,3.729,1955,4.304,1956,4.558,1957,2.97,1966,3.963,1972,4.944,1973,4.114,1974,4.304]],["title/406",[409,2.942,816,3.714]],["content/406",[8,1.614,18,1.288,48,3.348,49,2.716,52,2.555,104,2.277,119,3.838,135,4.673,151,3.7,282,5.533,284,5.533,285,5.533,332,3.034,375,3.052,376,3.988,377,3.242,379,2.875,380,4.918,454,1.305,477,2.014,504,3.242,1975,6.001]],["title/407",[1976,8.175]],["content/407",[446,5.136,523,6.557,1948,7.375]],["title/408",[1620,3.581]],["content/408",[7,3.303,8,1.649,119,3.913,144,3.864,219,3.507,225,5.62,241,1.994,249,2.482,411,2.997,436,2.711,446,4.579,448,4.267,454,1.195,472,4.267,509,3.303,664,2.597,671,3.056,916,3.188,945,3.225,1403,3.153,1540,2.942,1948,7.974,1953,4.147,1966,4.407,1973,4.575,1974,4.786,1977,5.497]],["title/409",[409,2.942,816,3.714]],["content/409",[8,1.696,119,3.252,446,4.426,1948,6.356,1978,11.112]],["title/410",[1979,8.175]],["content/410",[691,4.958,1190,5.026,1875,8.143]],["title/411",[224,5.039]],["content/411",[8,1.557,119,3.355,219,4.111,249,5.114,446,4.566,454,2.028,1948,6.557]],["title/412",[1602,5.871]],["content/412",[8,1.577,62,4.2,119,4.441,249,3.903,404,6.355,447,6.709,1980,8.644,1981,8.644,1982,8.644]],["title/413",[1983,8.175]],["content/413",[484,3.284,691,4.787,1190,4.853,1875,7.863,1970,5.577]],["title/414",[224,5.039]],["content/414",[8,1.34,1620,4.597,1948,7.375]],["title/415",[1602,5.871]],["content/415",[8,1.504,119,4.236,249,4.497,404,7.322]],["title/416",[18,0.984,446,3.169]],["content/416",[8,1.639,12,2.194,18,0.481,19,1.726,36,0.943,55,1.808,63,2.64,64,1.153,65,1.56,88,1.404,112,1.652,135,0.846,143,1.201,145,1.439,177,2.457,178,2.457,194,1.195,225,2.571,249,2.344,250,3.321,251,2.894,254,2.571,279,1.119,311,0.711,328,2.274,377,0.961,409,0.808,454,0.688,477,1.062,484,1.683,493,0.726,494,3.146,527,3.415,531,0.745,552,0.999,563,0.912,565,0.919,573,1.009,581,0.775,588,0.871,600,0.989,604,1.02,621,2.429,677,1.25,691,1.496,695,1.082,816,1.02,905,1.225,917,0.979,1021,1.009,1060,1.25,1070,3.561,1226,1.679,1423,1.096,1499,1.056,1609,2.635,1680,1.277,1717,3.561,1832,1.623,1833,1.225,1836,1.952,1858,1.38,1859,2.949,1860,1.225,1861,1.277,1862,3.073,1863,1.48,1864,2.457,1865,2.757,1866,1.548,1867,1.548,1868,1.548,1870,1.548,1873,2.713,1874,1.548,1886,5.137,1893,1.64,1894,1.548,1897,1.548,1908,1.548,1909,1.548,1910,1.548,1911,1.548,1912,1.548,1913,1.548,1914,1.548,1915,1.548,1916,1.548,1925,1.548,1927,1.548,1953,1.341,1966,1.426,1973,2.635,1974,1.548,1984,1.163,1985,3.166,1986,1.778,1987,1.778,1988,1.778,1989,1.778,1990,3.166,1991,3.073,1992,2.894,1993,3.945,1994,1.778,1995,3.166,1996,1.778,1997,1.778,1998,3.166,1999,1.778,2000,1.778,2001,1.778,2002,1.778,2003,1.778,2004,1.778,2005,1.64,2006,1.778,2007,1.48,2008,1.778,2009,1.778,2010,1.48,2011,1.778,2012,1.778,2013,1.778,2014,1.778,2015,3.166,2016,1.778,2017,1.778,2018,3.166,2019,1.778,2020,1.64]],["title/418",[691,3.059,2021,4.551]],["content/418",[8,1.607,224,1.982,249,1.452,279,1.134,311,1.285,377,1.737,454,1.143,477,1.079,484,1.042,493,1.312,527,4.419,531,1.347,552,1.806,563,3.42,573,1.825,581,1.401,588,1.574,600,1.788,604,1.844,665,1.844,677,3.696,691,2.484,695,1.957,917,1.77,956,1.623,1021,1.825,1060,2.26,1190,2.519,1226,2.789,1423,1.982,1680,2.31,1767,1.982,1832,2.696,1833,2.216,1836,3.241,1837,1.932,1858,2.496,1860,2.216,1861,2.31,1862,4.791,1863,2.676,1864,4.081,1865,4.578,1866,2.8,1867,2.8,1868,2.8,1869,2.965,1870,2.8,1873,4.228,1874,2.8,1875,2.496,1886,7.463,1894,2.8,1896,2.965,1897,2.8,1908,2.8,1909,2.8,1910,2.8,1911,2.8,1912,2.8,1913,2.8,1914,2.8,1915,2.8,1916,2.8,1925,2.8,1926,2.965,1927,2.8,1970,1.77,2005,2.965,2021,2.26,2022,3.216,2023,3.216,2024,3.216,2025,3.216,2026,3.216,2027,3.216,2028,3.216,2029,3.216,2030,3.216,2031,3.216]],["title/417",[651,4.191]],["content/417",[]],["title/419",[651,3.32,1834,4.104]],["content/419",[18,1.077,194,2.674,279,2.311,332,2.537,454,2.065,482,3.091,484,2.296,537,4.791,541,7.165,552,3.978,558,5.344,562,3.758,581,3.086,651,5.494,1525,4.708,1834,6.022,2032,5.679,2033,6.532,2034,5.344,2035,6.532,2036,4.791,2037,5.679]],["title/420",[651,3.32,1061,4.104]],["content/420",[18,1.334,194,3.312,279,2.352,332,3.141,482,3.549,537,5.933,541,6.617,562,4.653,651,5.592,1061,5.561,2034,6.617]],["title/421",[651,3.32,1862,4.65]],["content/421",[18,1.456,101,3.59,148,3.91,194,2.707,279,2.325,332,2.568,454,1.559,482,3.508,499,3.91,537,4.85,541,5.409,562,3.804,581,3.123,651,5.528,891,3.873,1059,4.42,1862,5.15,2034,5.409,2036,4.85,2037,5.748,2038,3.838,2039,3.707]],["title/447",[114,2.234,115,1.825]],["content/447",[18,0.973,44,2.835,78,2.222,102,2.984,103,1.931,109,2.413,112,1.309,114,2.71,115,2.499,131,1.431,143,1.56,175,2.145,176,2.696,233,3.309,279,1.38,313,1.645,332,1.473,400,2.145,439,2.413,454,0.895,477,1.381,482,2.083,492,1.762,521,3.045,531,1.723,538,2.254,574,1.661,655,1.824,714,2.029,744,2.442,951,3.712,1016,2.734,1025,1.881,1029,2.386,1052,3.045,1069,2.145,1071,3.672,1087,2.014,1096,2.835,1119,2.648,1173,2.955,1190,3.067,1193,4.028,1213,2.689,1244,3.025,1386,2.413,1544,3.794,1577,3.794,1656,2.335,1735,2.689,1749,4.254,1752,4.5,1762,5.328,2040,4.115,2041,6.401,2042,3.582,2043,3.794,2044,3.104,2045,3.025,2046,3.193,2047,3.298,2048,3.794,2049,2.892,2050,3.582,2051,4.115,2052,3.298]],["title/448",[2046,6.345]],["content/448",[8,0.455,18,1.454,35,1.746,47,1.799,49,1.979,74,1.039,78,3.088,82,1.799,97,1.963,109,2.092,112,1.135,114,1.23,115,2.018,131,1.24,134,1.666,135,1.697,143,2.714,218,1.909,279,0.769,308,1.721,309,1.909,311,1.426,313,1.426,332,2.047,376,3.8,453,2.261,454,0.775,472,2.768,477,1.197,485,1.663,492,1.527,520,3.393,521,1.697,524,1.486,548,2.69,574,1.44,581,1.553,585,2.295,587,2.462,655,2.535,671,1.983,714,1.759,900,1.359,973,2.768,1081,3.573,1135,2.507,1137,2.412,1138,3.737,1151,5.737,1152,1.983,1165,1.844,1193,1.829,1197,2.507,1248,3.288,1249,2.507,1276,2.457,1386,2.092,1404,2.561,1628,2.561,1647,2.863,1691,2.198,1708,2.412,1709,2.261,1722,2.143,1735,2.331,1842,2.968,1957,2.143,1984,2.331,2046,2.768,2053,2.859,2054,3.288,2055,2.968,2056,3.566,2057,5.031,2058,5.956,2059,3.566,2060,2.968,2061,4.756,2062,3.566,2063,2.768,2064,2.622,2065,4.584]],["title/449",[1244,6.01]],["content/449",[18,1.551,44,3.243,74,2.771,99,2.255,102,2.194,104,2.295,109,2.761,112,1.498,114,2.946,115,2.681,133,2.941,143,2.691,154,2.433,254,2.828,279,1.015,398,3.764,439,2.761,477,1.579,493,1.92,516,2.863,517,2.138,581,2.05,624,2.519,657,2.836,664,2.224,687,3.917,720,1.561,896,2.671,898,2.591,952,2.542,1052,2.239,1069,2.454,1094,4.889,1106,1.737,1116,2.125,1119,3.028,1121,2.793,1178,3.308,1190,2.255,1592,4.889,1601,3.46,1635,2.671,1662,2.941,1749,3.128,2039,2.433,2066,3.308,2067,4.706,2068,4.706,2069,7.096,2070,3.653,2071,2.901,2072,2.671]],["title/450",[313,3.268]],["content/450",[108,2.553,114,2.182,115,1.783,279,1.364,321,4.445,416,3.416,523,3.952,546,3.073,574,2.553,595,4.202,657,2.528,777,3.847,1015,3.384,1021,4.988,1023,4.202,1052,4.807,1100,3.898,1477,3.667,1510,5.746,1661,4.133,1675,4.009,1677,4.77,1721,4.277,1777,4.202,2048,5.831,2049,4.445,2073,4.277,2074,6.462,2075,5.831,2076,4.009,2077,4.542,2078,6.324,2079,6.324,2080,5.263,2081,5.506]],["title/451",[102,3.018,486,3.08]],["content/451",[8,0.569,18,1.597,36,3.611,74,1.299,97,2.454,99,2.135,102,4.644,109,4.846,112,1.418,114,3.623,115,2.961,131,1.55,154,2.304,182,2.825,183,2.645,279,0.961,306,2,439,2.614,454,1.48,477,1.495,493,1.818,507,2.43,646,2,655,1.976,714,2.198,743,3.071,949,3.071,951,2.585,1058,4.11,1094,3.071,1106,1.645,1115,2.556,1116,2.012,1119,2.868,1152,2.478,1190,2.135,1378,4.11,1527,2.913,1558,3.201,1575,2.407,1609,3.71,1635,2.529,1749,2.962,1776,2.43,2057,4.786,2082,4.457,2083,4.11,2084,4.457,2085,3.362,2086,3.71,2087,4.457,2088,4.457,2089,3.881,2090,4.457,2091,4.457]],["title/422",[114,1.849,115,1.511,185,2.451]],["content/422",[2092,9.473]],["title/423",[1021,3.674,1731,4.76]],["content/423",[18,1.641,36,2.537,88,2.12,114,1.65,115,2.431,143,1.814,150,1.893,218,5.131,228,6.192,233,3.632,397,2.083,454,1.875,460,3.216,517,2.173,655,2.12,659,3.8,712,4.103,719,3.126,976,2.187,993,5.757,1052,2.275,1193,4.915,1245,3.834,1647,5.603,1762,3.981,1772,4.857,2061,4.773,2093,3.608,2094,4.164]],["title/424",[88,2.87,1245,5.19]],["content/424",[8,1.043,88,5.09,143,3.953,450,4.452,454,1.775,460,2.739,566,5.522,684,3.577,688,4.539,789,6.795,956,4.12,1143,4.968,1197,5.739,1245,6.545,1731,6.003,1880,7.109]],["title/425",[55,1.966,496,5.19]],["content/425",[6,3.336,7,3.606,8,1.363,24,2.235,119,3.532,196,5.372,249,2.71,411,3.272,438,3.862,447,4.658,454,1.842,462,3.862,492,2.57,521,2.855,538,2.113,566,4.059,586,3.37,589,2.855,1019,4.658,1021,4.809,2095,6.001,2096,6.001,2097,6.001,2098,6.001,2099,5.533,2100,6.001,2101,4.412,2102,6.001,2103,5.533,2104,6.001,2105,6.001,2106,6.001,2107,6.001,2108,4.527,2109,4.412,2110,6.001,2111,4.31]],["title/426",[144,5.746]],["content/426",[8,1.473,19,2.864,24,2.867,37,2.693,48,1.79,49,1.452,104,1.411,114,1.812,115,1.481,144,6.406,279,1.132,286,6.407,379,2.516,413,3.329,454,1.142,477,1.762,482,1.709,517,2.386,524,2.188,567,4.88,791,3.692,981,3.49,1063,3.282,1076,2.864,1116,2.371,1131,2.98,1592,3.619,1676,4.21,1851,3.49,2045,3.861,2099,4.843,2109,5.66,2112,4.076,2113,7.698,2114,3.962,2115,7.698,2116,3.282,2117,4.843,2118,7.698,2119,5.252,2120,5.252,2121,5.252,2122,4.371,2123,4.843]],["title/427",[119,1.928,467,4.461,2124,5.36]],["content/427",[6,4.736,8,1.367,119,3.064,144,7.527,397,3.711,454,2.328,467,7.09,657,3.405,729,6.118,1001,5.988,2101,6.263,2123,7.855,2125,8.519]],["title/428",[2117,7.537]],["content/428",[6,5.156,8,1.616,24,2.546,249,4.187,375,3.477,438,5.968,460,2.294,666,4.016,791,6.519,947,5.481,1479,5.691,1662,4.273,2126,6.838,2127,4.711,2128,5.691,2129,8.551,2130,8.075,2131,8.075]],["title/429",[2132,7.117]],["content/429",[8,1.586,115,1.783,196,4.009,252,6.462,311,2.528,448,4.908,460,3.85,466,3.898,526,2.82,581,2.754,585,4.069,621,3.586,659,2.787,1060,4.445,1070,5.263,1204,3.753,1233,3.588,1423,3.898,1635,3.588,2128,5.263,2132,5.506,2133,7.316,2134,5.831,2135,6.324,2136,5.263,2137,5.831]],["title/430",[1043,6.345]],["content/430",[2138,10.492,2139,6.858,2140,10.492]],["title/431",[2141,7.537]],["content/431",[8,1.489,249,5.265,666,5.05,2142,9.794]],["title/432",[8,0.684,957,3.22,1622,4.667]],["content/432",[8,1.634,24,2.193,55,1.124,108,1.494,228,1.946,249,4.603,443,4.522,460,2.461,477,1.976,493,1.51,505,1.542,510,1.811,549,2.55,659,1.631,666,3.176,900,1.41,957,5.841,993,2.967,1015,3.152,1149,2.967,1185,3.583,1190,2.821,1268,5.43,1347,2.967,1622,10.397,2134,6.763,2143,3.222,2144,4.571,2145,4.463,2146,3.701,2147,3.701,2148,3.701,2149,3.701,2150,3.701,2151,8.361,2152,3.701,2153,4.901,2154,3.701,2155,2.872]],["title/433",[69,2.809]],["content/433",[8,1.014,69,4.36,112,2.528,113,4.142,255,5.193,375,4.04,460,2.666,581,3.46,605,5.036,621,3.241,1124,3.656,1204,4.715,1277,5.841,1967,5.706,2109,5.841,2114,5.992]],["title/434",[445,4.093]],["content/434",[24,2.535,37,2.285,49,2.284,69,2.339,103,2.092,112,1.418,113,2.324,114,1.538,115,1.257,119,1.603,244,3.71,253,2.051,254,4.09,321,3.133,375,2.267,400,2.324,445,5.47,454,1.796,460,2.772,485,2.078,526,1.988,538,1.569,573,2.529,589,2.12,621,2.777,683,2.825,690,4.11,900,1.698,960,3.362,1006,2.785,1021,2.529,1026,3.362,1124,3.133,1204,2.645,1277,3.277,1403,2.556,1533,3.071,1553,3.881,1608,4.11,1804,3.277,1882,3.573,1967,5.933,2109,6.073,2156,5.284,2157,5.005,2158,4.457,2159,4.457,2160,4.457,2161,4.457,2162,3.459,2163,4.11,2164,4.11,2165,4.457,2166,3.459,2167,4.457,2168,4.11]],["title/435",[538,2.878]],["content/435",[55,2.48,114,2.817,115,2.302,279,1.761,538,4.043,621,3.331,1021,4.633,1749,5.426,2144,8.912,2169,9.075,2170,8.09,2171,6.707]],["title/436",[538,2.28,1749,4.303]],["content/436",[5,2.415,8,1.294,69,1.592,103,3.97,114,1.598,115,1.306,135,2.204,194,1.749,228,2.436,233,1.951,249,2.092,309,2.479,454,1.007,517,2.105,538,4.015,581,2.018,582,2.145,659,3.09,666,4.388,1116,2.092,1124,2.132,1204,2.749,1480,2.55,1503,7.562,1647,2.319,1749,5.621,1753,3.494,2101,5.154,2144,3.595,2169,8.822,2170,3.595,2171,2.981,2172,4.271,2173,3.327,2174,7.011,2175,4.632,2176,9.433,2177,4.271,2178,2.818,2179,5.835,2180,4.632]],["title/437",[538,2.28,2171,4.166]],["content/437",[18,0.983,103,3.033,114,2.229,115,1.822,143,2.451,228,3.398,408,3.707,454,1.405,538,4.072,581,2.815,623,3.707,666,2.799,915,2.955,1054,3.883,1124,2.974,1204,3.836,1213,4.224,1480,3.557,1749,5.93,1837,3.883,2109,4.751,2144,5.016,2169,7.769,2171,6.576,2172,5.958,2173,4.641,2179,5.379,2181,6.462,2182,6.462,2183,5.627]],["title/438",[1204,4.852]],["content/438",[69,2.59,114,2.6,115,2.125,194,2.845,375,3.834,421,4.85,454,1.639,538,3.485,573,4.277,712,3.586,1006,4.711,1021,4.277,1133,4.149,1204,5.875,1403,4.323,2109,5.542,2114,5.686,2184,7.538,2185,9.898,2186,7.538,2187,7.538,2188,7.538]],["title/439",[19,4.457]],["content/439",[8,0.689,19,5.542,20,3.242,26,3.586,49,1.492,51,3.762,55,1.639,112,2.499,115,2.214,119,1.941,143,2.978,154,2.79,171,4.554,256,3.13,397,2.35,445,2.702,454,1.707,460,1.811,462,3.472,524,2.248,562,2.862,574,3.171,666,3.401,720,1.79,757,3.031,913,2.971,942,3.586,976,2.467,1131,3.062,1498,4.188,1575,2.915,1831,4.094,2045,3.967,2170,4.188,2189,5.397,2190,6.648,2191,4.491,2192,4.976,2193,4.976,2194,4.976,2195,5.397,2196,4.491]],["title/440",[790,3.939,2170,5.025]],["content/440",[8,1.34,666,4.544,2197,6.384]],["title/441",[114,1.578,115,1.289,228,2.404,233,1.926]],["content/441",[143,3.714,228,5.15,233,4.125,1052,4.66,1193,5.979,1254,5.618]],["title/442",[957,3.89,1123,3.89]],["content/442",[18,1.808,115,2.657,194,2.642,218,3.746,228,3.681,233,2.948,309,3.746,439,4.106,445,4.718,460,3.162,505,2.916,587,3.014,957,6.399,1123,4.206,1133,5.187,1193,5.461,2057,4.921,2198,7.108]],["title/443",[5,2.794,233,2.257,249,2.42]],["content/443",[5,5.631,8,1.003,18,0.82,24,2.924,228,2.837,233,3.898,249,2.437,454,1.173,485,2.516,507,2.942,538,2.765,639,3.786,666,2.337,688,3,720,1.79,743,3.718,790,3.283,957,4.718,1165,2.79,1193,2.767,1327,3.472,1512,4.071,1593,4.071,1742,3.586,1780,3.718,2089,4.698,2170,4.188,2199,4.976,2200,5.397,2201,5.397,2202,7.24,2203,5.397,2204,5.397,2205,5.397,2206,4.698,2207,5.397,2208,5.397,2209,5.397,2210,6.837,2211,5.397,2212,5.397]],["title/444",[18,0.815,332,1.919,714,2.643]],["content/444",[3,3.127,8,1.2,18,1.28,24,1.712,55,2.117,61,4.882,64,1.674,74,1.34,108,1.856,114,1.586,115,2.847,143,3.563,145,2.088,218,2.46,228,2.417,229,5.128,233,3.545,332,2.496,380,3.489,454,0.999,460,1.542,477,2.338,526,2.05,581,2.002,588,2.25,657,1.837,666,3.018,683,2.914,889,1.751,917,2.53,948,2.728,1052,2.187,1106,1.696,1124,2.115,1592,3.167,1676,3.685,2213,4.596,2214,2.833,2215,6.97,2216,4.596,2217,8.419,2218,4.596,2219,4.238,2220,4.596,2221,4.596]],["title/445",[18,0.695,445,2.289,460,1.534,2198,3.449]],["content/445",[8,1.334,18,1.245,55,1.335,64,2.084,65,1.321,69,1.51,74,1.667,82,2.218,100,3.161,102,1.209,104,2.969,109,1.521,114,0.894,115,0.731,119,0.932,131,0.902,142,4.472,143,1.667,145,1.997,150,1.739,181,4.838,248,2.674,309,3.061,395,2.674,406,3.717,445,3.372,450,1.414,454,0.564,458,1.352,460,3.321,493,1.793,570,1.956,585,1.668,621,1.793,661,2.419,688,1.441,733,4.44,898,1.427,900,0.988,947,2.079,1015,2.352,1060,1.823,1116,1.171,1131,1.471,1401,2.257,1502,1.668,1583,4.735,1721,4.555,1841,1.558,2114,1.956,2155,2.012,2222,2.593,2223,6.736,2224,4.395,2225,2.593,2226,4.838,2227,6.736,2228,4.952,2229,1.723,2230,1.956,2231,2.593,2232,3.411,2233,2.593,2234,4.395,2235,4.395,2236,2.593,2237,2.593,2238,2.158]],["title/452",[114,1.578,115,1.289,228,2.404,1647,2.289]],["content/452",[7,6.419,8,1.364,18,1.228,24,3.523,37,1.785,55,1.057,71,3.027,112,1.108,131,1.211,143,1.32,171,2.019,218,3.769,228,2.949,233,2.966,249,1.572,309,1.864,417,4.353,454,0.757,470,3.002,485,1.623,517,1.582,526,1.553,582,1.613,588,1.704,621,1.42,666,2.429,712,1.657,945,2.042,1403,1.997,1647,5.349,2061,3.727,2109,2.56,2131,9.011,2170,4.353,2178,2.119,2190,4.028,2214,3.458,2239,3.482,2240,3.482,2241,2.56,2242,7.043,2243,7.043,2244,7.043,2245,7.043,2246,4.883,2247,3.21,2248,3.482,2249,3.482,2250,3.482]],["title/453",[7,3.89,2241,4.76]],["content/453",[3,2.357,5,2.738,6,2.92,7,5.475,8,1.567,18,1.17,24,3.394,49,1.452,52,2.236,55,2.768,64,1.913,71,2.251,74,1.531,115,2.17,142,2.249,145,3.498,150,2.079,375,2.671,406,2.59,445,2.629,454,1.142,460,1.762,493,2.143,659,2.315,960,3.962,1015,2.811,1647,4.563,1656,2.98,2061,5.116,2131,4.573,2143,4.573,2162,4.076,2229,5.116,2241,3.861,2251,6.703]],["title/454",[2252,5.746]],["content/454",[5,3.066,6,3.27,7,6.354,8,1.067,18,0.894,24,3.111,71,2.841,103,2.76,131,2.046,228,3.093,254,5.019,406,2.9,438,3.785,493,2.399,538,2.071,581,2.562,659,3.681,664,2.779,1116,2.656,1327,6.251,1656,4.74,1717,4.895,2229,5.551,2241,8.776,2251,5.121,2253,5.882,2254,5.423,2255,5.882]],["title/455",[1647,3.242,2061,4.303]],["content/455",[3,1.956,8,0.855,18,1.701,24,1.623,36,2.312,74,1.95,114,2.309,115,2.297,143,3.089,169,2.133,228,2.292,311,1.742,332,1.561,380,3.35,397,2.915,445,2.182,450,2.376,460,1.462,493,1.778,556,2.849,575,5.827,587,1.877,621,1.778,712,2.073,714,4.507,849,2.724,945,2.556,956,2.199,957,2.618,1052,2.073,1116,1.968,1123,2.618,1133,2.399,1404,3.13,1601,3.204,1647,5.211,1656,2.473,1662,4.182,1839,2.947,1967,3.13,2061,6.074,2065,3.494,2198,3.287,2252,4.704,2256,4.358,2257,3.494,2258,3.794,2259,4.358,2260,4.358,2261,4.358,2262,4.358,2263,2.423]],["title/456",[493,3.335]],["content/456",[8,1.577,18,0.626,49,1.138,55,1.944,64,1.499,74,1.199,82,3.23,104,1.105,108,1.661,142,3.364,143,2.428,145,1.869,380,2.06,438,2.648,439,2.413,517,2.908,588,2.014,621,3.205,659,2.821,666,3.402,698,2.821,777,2.503,1052,1.957,1087,2.014,1327,5.704,1647,4.808,1882,3.298,2061,6.382,2229,5.221,2230,4.828,2251,5.573,2264,4.115,2265,4.115,2266,3.582,2267,4.115,2268,4.115,2269,4.115,2270,3.193,2271,8.865,2272,4.115,2273,6.401,2274,4.115,2275,6.401,2276,4.115]],["title/457",[18,0.815,1193,2.748,1647,2.684]],["content/457",[6,3.554,7,3.84,18,1.858,71,1.869,115,3.093,169,3.129,228,3.361,233,2.692,438,4.113,445,3.2,460,2.145,587,2.752,621,2.608,666,3.835,712,3.041,945,3.75,957,3.84,1123,3.84,1133,3.519,1193,4.541,1647,5.087,2065,5.124,2198,4.822,2214,5.459,2277,4.822]],["title/458",[493,3.335]],["content/458",[6,2.11,8,1.514,18,1.566,26,2.523,51,2.879,64,1.383,69,1.304,74,1.751,104,1.615,108,1.533,115,1.694,143,2.279,171,3.485,248,2.31,380,1.901,394,2.481,397,1.653,454,0.825,460,1.274,621,1.549,666,4.002,913,2.09,1089,4.817,1116,1.714,1131,2.154,1142,2.863,1193,3.081,1327,5.458,1647,4.627,1742,2.523,1767,3.705,1853,2.946,2190,5.357,2192,5.541,2193,5.541,2214,5.697,2229,2.523,2266,5.232,2278,3.796,2279,3.796,2280,3.796,2281,3.796,2282,3.796,2283,3.796,2284,3.796,2285,3.796,2286,6.009,2287,6.009,2288,6.009,2289,6.009,2290,3.305]],["title/459",[218,2.869,1193,2.748,1647,2.684]],["content/459",[6,3.478,7,3.759,18,1.8,71,1.83,112,1.991,115,3.064,150,2.476,169,3.062,218,5.817,228,3.29,445,3.132,454,1.36,460,2.099,587,2.694,621,2.552,657,2.501,666,2.709,712,2.976,945,3.67,957,3.759,1123,3.759,1133,3.444,1193,4.473,1647,4.368,1804,4.6,2065,5.015,2198,4.719,2214,3.857]],["title/460",[493,3.335]],["content/460",[0,4.048,8,1.194,64,2.52,119,3.362,145,4.81,218,5.003,359,6.378,406,4.61,408,5.362,666,2.996,1131,3.926,1327,6.015,1647,4.68,1776,3.772,2214,5.763,2291,6.918,2292,6.918,2293,6.918,2294,6.918,2295,6.918,2296,6.918]],["title/446",[114,1.849,115,1.511,2246,4.667]],["content/446",[88,4.009,131,3.145,194,3.413,322,7.526,397,3.938,477,3.034,588,4.426,1015,4.839,2297,7.873,2298,6.115,2299,7.873,2300,9.042]],["title/461",[114,1.849,115,1.511,493,2.187]],["content/461",[]],["title/462",[142,2.772,2301,6.475]],["content/462",[8,1.608,52,2.845,55,2.029,99,3.201,100,3.136,104,1.795,142,3.909,233,2.814,460,2.242,659,4.024,666,2.894,1106,3.37,1138,4.368,1647,3.346,1991,6.558,2061,4.441,2128,5.562,2214,4.119,2229,4.441,2302,5.357,2303,9.131,2304,5.818,2305,6.161]],["title/463",[8,0.684,2306,5.36,2307,5.36]],["content/463",[8,1.598,18,1.56,55,1.976,64,2.901,65,1.956,97,2.313,99,3.117,100,3.054,104,1.129,115,1.185,142,3.839,233,1.77,253,1.934,286,3.498,311,1.68,313,1.68,380,2.104,413,2.664,416,3.515,460,1.41,477,1.41,556,2.747,582,1.946,655,1.863,659,2.868,666,2.818,712,1.999,714,2.072,720,1.394,1106,1.551,1575,2.27,1647,3.987,1772,2.842,2061,2.793,2070,3.262,2092,3.659,2214,2.591,2226,3.018,2229,2.793,2230,3.17,2304,3.659,2308,7.963,2309,4.203,2310,4.203,2311,3.875,2312,6.507,2313,6.507,2314,3.875,2315,4.203]],["title/468",[114,1.849,115,1.511,1021,3.042]],["content/468",[114,3.742,115,3.058,233,3.057,279,2.082,313,2.902,477,3.64,482,2.362,655,4.28,949,5.002,953,5.337,1021,5.479,1069,3.784,1193,3.722,1201,4.671,1545,4.077,1583,5.103,1635,4.119,1647,3.634,2241,5.337]],["title/469",[2316,8.175]],["content/469",[8,1.465,18,1.536,55,1.92,108,2.553,228,3.325,233,4.255,308,3.051,450,3.448,466,3.898,492,3.764,493,2.58,639,2.355,655,2.803,657,2.528,659,2.787,666,3.807,976,2.891,1106,2.334,1138,5.746,1193,4.507,1597,4.445,1764,4.202,1772,4.277,2214,5.419,2317,6.462,2318,5.831]],["title/470",[1647,4.093]],["content/470",[3,2.721,8,1.369,18,1.502,51,2.905,55,1.841,69,2.083,74,1.767,143,2.299,145,4.488,150,2.4,228,3.188,332,2.171,450,3.306,493,2.473,504,3.275,655,2.688,657,2.424,1647,5.657,1772,4.101,2061,4.029,2066,4.262,2101,6.275,2127,5.881,2229,4.029,2230,4.573,2319,5.279,2320,5.279,2321,8.535,2322,5.772]],["title/471",[957,3.89,1123,3.89]],["content/471",[3,1.97,8,1.263,18,1.395,34,1.657,48,1.497,49,1.214,50,2.289,51,3.224,55,1.333,57,4.594,64,1.599,65,1.32,69,2.812,74,1.962,100,3.841,104,1.808,114,2.322,115,2.587,119,2.42,142,2.882,143,1.665,145,1.995,150,1.738,152,3.423,228,2.309,309,2.35,380,3.37,445,4.098,454,0.955,714,3.319,957,4.044,976,2.007,1106,1.621,1123,2.638,1647,3.37,1772,2.969,2061,4.473,2114,3.312,2226,3.153,2228,4.948,2229,2.918,2230,3.312,2319,3.823,2320,3.823,2323,4.391,2324,4.391,2325,6.731,2326,4.391]],["title/472",[538,2.878]],["content/472",[18,1.295,114,2.939,115,2.402,228,4.479,233,3.588,279,1.837,332,3.051,454,1.852,495,4.441,538,3.77,1094,5.87,1647,4.265,2327,7.855,2328,5.762,2329,7.855]],["title/473",[2328,5.529]],["content/473",[3,2.276,8,1.528,18,1.141,24,1.889,52,2.159,112,2.841,145,4.483,176,2.136,218,4.015,228,2.666,347,5.388,376,3.37,379,2.429,406,2.501,453,3.215,517,2.304,559,3.979,581,2.209,639,1.889,684,2.222,1647,5.273,2241,7.254,2330,5.071,2331,5.071,2332,5.071,2333,6.93,2334,6.244,2335,5.071,2336,5.071,2337,5.071,2338,6.532,2339,5.071,2340,5.071,2341,5.071,2342,4.676]],["title/474",[2329,7.537]],["content/474",[8,1.099,18,1.638,47,1.966,48,1.328,49,1.077,51,2.939,55,1.183,61,2.26,64,1.419,65,1.171,100,3.561,104,1.047,115,1.099,142,3.249,143,1.478,145,1.77,229,3.66,233,4.538,477,3.14,664,4.066,666,4.667,1615,2.739,2053,3.124,2101,2.865,2128,5.106,2133,3.243,2214,6.643,2226,2.799,2304,5.341,2305,6.995,2314,5.656,2343,3.897,2344,3.897,2345,8.606,2346,6.135,2347,6.135,2348,6.135,2349,3.593,2350,3.897,2351,6.135,2352,3.897]],["title/464",[114,1.849,115,1.511,1204,3.181]],["content/464",[5,3.693,8,1.525,114,2.444,115,1.997,523,5.936,532,5.088,538,3.345,1106,2.615,1124,3.26,1204,4.205,1535,4.791,1592,4.881,2257,5.679,2353,5.498,2354,7.084,2355,10.716,2356,7.615,2357,9.499,2358,9.499]],["title/465",[2359,6.475,2360,5.97]],["content/465",[5,5.633,141,4.958,253,4.972,416,4.669,460,2.9,493,3.526,538,3.805,1265,5.562,1662,5.402,2360,7.97,2361,8.644,2362,7.194]],["title/466",[538,2.28,2179,5.389]],["content/466",[18,1.66,24,2.355,48,2.155,102,2.948,112,2.012,115,1.783,134,1.843,142,2.708,176,2.663,185,2.891,194,3.318,228,3.325,233,2.663,482,2.058,505,2.634,538,3.558,587,2.723,592,3.269,653,4.133,714,4.334,1049,4.908,1480,4.839,1535,4.277,1662,3.952,1749,4.202,1804,4.649,2173,6.313,2179,7.316,2363,5.263,2364,3.847]],["title/467",[69,2.225,1124,2.979]],["content/467",[65,2.598,69,2.97,74,2.519,102,4.03,108,3.49,115,2.437,119,3.108,143,3.278,408,4.958,445,4.328,483,5.562,1819,5.48,2365,4.758,2366,6.709,2367,6.93]],["title/502",[74,1.887,1124,2.979]],["content/502",[18,1.465,74,3.365,112,3.066,150,3.813,538,3.392,1124,4.433,1184,4.939]],["title/503",[1480,3.564,2368,6.475]],["content/503",[8,1.297,18,1.811,71,2.969,74,2.285,104,3.397,150,3.103,248,4.769,639,2.919,2369,10.154,2370,7.227,2371,6.825]],["title/504",[1480,3.564,2372,6.475]],["content/504",[8,1.028,18,1.892,71,2.355,74,2.347,104,3.234,150,3.187,587,3.468,639,2.999,684,3.528,1208,5.921,2370,7.425,2373,8.053,2374,7.011]],["title/505",[1480,3.564,2375,6.475]],["content/505",[8,1.155,48,3.788,49,3.072,71,2.644,248,5.502,639,3.367,2376,9.042,2377,9.042,2378,10.245]],["title/506",[2379,8.175]],["content/506",[8,1.272,71,2.913,104,2.676,2380,9.96,2381,9.96,2382,7.513]],["title/507",[1480,3.564,2383,6.475]],["content/507",[8,1.514,18,1.702,71,2.944,104,3.302,145,3.515,460,2.596,639,2.881,1133,4.258,2111,5.556,2198,5.835,2229,5.141,2384,7.736,2385,7.133]],["title/508",[1480,3.564,2386,6.475]],["content/508",[8,1.12,18,1.658,71,2.565,74,2.557,104,3.336,150,3.472,395,5.338,639,3.267,2387,8.773,2388,7.638]],["title/509",[1480,3.564,2389,6.475]],["content/509",[8,1.525,18,1.629,71,2.778,74,2.065,104,3.208,145,3.219,150,2.804,395,4.31,460,2.377,639,2.638,1133,3.9,1185,4.31,2111,6.822,2198,5.344,2229,4.708,2388,6.168,2390,7.084,2391,7.084]],["title/510",[2392,8.175]],["content/510",[8,1.286,18,1.702,37,3.966,71,2.262,103,4.725,104,2.078,380,3.873,406,3.815,445,3.873,639,2.881,1892,4.769,2232,6.004,2320,9.744,2388,6.735,2393,7.736,2394,7.736,2395,7.736]],["title/511",[1480,3.564,2396,6.475]],["content/511",[8,1.281,18,1.047,24,3.105,49,1.904,57,2.266,62,3.347,64,3.038,65,3.175,69,1.555,70,3.94,71,2.014,74,2.007,104,2.241,108,1.827,150,1.791,196,2.869,307,3.008,397,3,400,2.359,445,3.448,454,0.984,495,2.359,516,5.074,639,1.685,657,1.809,659,1.994,913,2.491,1071,2.596,1116,2.043,1449,3.628,1525,6.194,2226,4.947,2228,5.064,2397,4.526,2398,4.526,2399,4.526,2400,4.526,2401,4.526,2402,4.173,2403,4.526,2404,6.552,2405,3.94,2406,4.173,2407,3.767,2408,4.173]],["title/512",[1480,3.564,2406,5.97]],["content/512",[8,1.072,18,1.613,64,3.059,71,2.456,74,3.093,100,3.941,104,3.126,150,3.324,639,3.127,1525,5.581,2404,5.903,2409,8.398,2410,8.398]],["title/513",[1480,3.564,2407,5.389]],["content/513",[103,4.755,659,4.465,1116,4.574,2228,7.448,2411,9.341]],["title/514",[1480,3.564,2411,5.97]],["content/514",[8,1.417,12,2.646,18,1.371,62,2.507,65,3.335,71,1.509,74,2.215,104,2.674,150,2.042,255,4.967,448,4.005,460,2.55,621,2.105,639,1.922,655,3.369,659,3.975,698,3.349,1525,3.429,1992,5.139,2226,5.458,2228,5.587,2402,4.758,2404,3.627,2412,5.16,2413,7.599,2414,5.16,2415,9.02,2416,5.16,2417,9.02,2418,5.16,2419,2.96]],["title/515",[1480,3.564,2420,6.475]],["content/515",[8,1.354,18,1.155,24,2.83,49,1.427,57,2.583,62,3.693,65,2.991,71,2.222,74,2.215,104,2.424,108,2.084,150,2.042,196,3.271,397,2.248,400,2.69,445,2.583,454,1.122,516,3.139,523,3.225,639,1.922,657,2.063,659,3.349,913,2.841,1116,2.33,1125,3.1,1525,5.05,2226,6.478,2228,6.632,2404,5.342,2405,4.493,2407,4.295,2421,4.758,2422,5.16,2423,7.006,2424,5.16,2425,5.16,2426,5.16,2427,4.758,2428,5.16]],["title/516",[1480,3.564,2408,5.97]],["content/516",[8,1.391,18,1.029,24,2.521,49,1.223,57,3.389,62,3.289,65,2.984,69,1.52,71,2.404,74,1.973,104,2.209,108,1.786,150,1.751,196,2.804,397,1.927,400,2.306,445,2.215,454,0.962,460,2.759,516,2.691,523,2.764,621,2.761,639,1.647,657,1.768,659,1.949,913,3.726,1116,1.997,1125,2.658,1525,4.499,1993,4.079,2226,7.52,2228,7.698,2404,4.758,2405,5.894,2407,3.682,2421,4.079,2423,6.241,2427,8.493,2429,4.424,2430,4.424]],["title/475",[143,2.455,1124,2.979]],["content/475",[119,3.522,143,4.423,150,3.877,538,3.449,1124,4.507,1533,6.749]],["title/476",[2431,8.175]],["content/476",[6,3,8,1.379,18,1.194,71,2.296,88,2.392,100,2.533,113,2.813,114,2.709,115,2.214,119,3.329,143,4.275,150,3.108,233,2.273,253,2.483,413,3.421,438,3.472,444,3.876,495,2.813,538,1.9,566,3.65,582,2.499,598,4.491,639,2.01,666,2.337,791,5.52,1116,2.437,1647,2.702,2214,4.841,2432,4.976,2433,4.976,2434,4.976,2435,5.397,2436,5.397,2437,5.397,2438,5.397,2439,5.397,2440,5.397,2441,5.397]],["title/477",[2442,7.537]],["content/477",[6,3.673,8,1.421,18,1.378,71,1.932,88,2.929,100,3.101,114,3.126,115,2.554,119,2.376,131,2.298,143,4.219,150,2.615,233,2.783,279,1.425,438,4.252,444,4.745,639,2.461,666,2.861,744,3.922,1021,3.749,1647,3.308,2214,5.585,2432,6.092,2433,6.092,2434,6.092,2443,6.607]],["title/478",[115,1.825,1124,2.979]],["content/478",[115,3.288,150,3.877,538,3.449,587,4.217,1124,4.507,1533,6.749]],["title/479",[1480,3.564,2444,6.475]],["content/479",[5,3.784,24,2.703,36,3.85,52,3.091,69,2.494,71,2.123,103,4.531,114,2.504,115,2.046,234,7.493,249,3.277,460,2.436,538,3.82,621,2.961,639,2.703,664,3.43,2057,5.103,2171,4.671,2445,7.259,2446,9.655,2447,7.259,2448,8.902]],["title/480",[18,0.984,2449,6.475]],["content/480",[18,1.658,55,3.771,112,2.792,115,2.473,142,3.756,148,4.783,639,3.267,714,4.326,1535,5.933,2450,8.773]],["title/481",[18,0.984,2451,6.475]],["content/481",[18,1.028,37,3.465,99,3.238,102,3.151,112,2.151,113,3.524,114,3.175,115,2.594,119,2.431,145,5.338,196,4.285,406,3.333,408,3.877,454,1.47,462,4.349,493,2.757,573,3.836,639,2.517,714,3.333,890,3.836,1015,3.617,1124,3.11,1535,4.571,1559,5.246,2103,6.232,2232,5.246,2452,6.759,2453,4.657]],["title/482",[18,0.984,2454,6.475]],["content/482",[8,0.938,18,1.48,74,2.142,115,2.072,143,4.406,477,2.466,493,2.998,556,4.804,573,4.171,586,4.127,639,2.737,714,3.624,793,5.064,900,2.8,947,5.892,1535,4.971,1647,3.68,1882,5.892,2061,6.469,2163,6.776,2455,7.35,2456,7.35]],["title/483",[18,0.984,2457,5.97]],["content/483",[18,1.241,64,2.974,100,4.892,104,2.194,253,3.757,445,4.088,460,2.739,495,4.256,639,3.041,664,3.858,714,4.026,1535,5.522,2070,6.337,2229,6.927,2371,7.109,2458,8.165,2459,7.528]],["title/484",[18,0.984,2460,6.475]],["content/484",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2457,9.183]],["title/485",[18,0.984,2461,5.97]],["content/485",[18,1.317,64,2.255,65,1.861,69,2.127,100,4.688,104,2.327,253,2.849,445,3.099,450,3.375,454,1.346,462,3.983,494,4.551,639,2.305,661,3.408,664,2.925,698,2.728,714,3.053,1403,3.551,1535,4.187,1751,4.67,2070,4.805,2226,7.174,2228,6.367,2230,6.533,2371,7.54,2459,5.708,2462,8.661,2463,8.661,2464,8.661,2465,5.708]],["title/486",[18,0.984,2466,6.475]],["content/486",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2461,9.183]],["title/487",[18,0.984,2467,5.97]],["content/487",[8,1.338,18,0.877,24,2.147,47,2.91,49,2.898,51,5.311,61,4.777,445,4.124,495,3.006,581,2.512,639,2.147,664,2.725,714,2.843,796,5.342,1106,3.04,1394,4.141,1535,3.9,2166,4.476,2319,9.652,2378,8.86,2468,5.766,2469,8.237,2470,5.766,2471,5.766,2472,5.766,2473,5.766,2474,5.317]],["title/488",[18,0.984,2475,6.475]],["content/488",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2467,9.183]],["title/489",[18,0.984,2476,6.475]],["content/489",[18,1.571,104,3.065,114,3.564,115,2.913,152,5.255,454,1.751,517,3.659,581,3.508,639,2.999,664,3.805,714,3.971,1193,4.129,1535,5.446,2477,8.053]],["title/490",[18,0.984,2478,5.97]],["content/490",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2478,9.183]],["title/491",[483,4.166,1124,2.979]],["content/491",[150,3.942,483,6.409,538,3.507,895,5.911,1124,4.583,1533,6.863]],["title/492",[2479,8.175]],["content/492",[5,5.282,474,6.013,784,7.122,2139,6.622,2480,9.341]],["title/493",[2480,7.537]],["content/493",[8,1.223,71,2.097,379,5.165,415,4.687,443,6.646,454,1.559,639,2.67,775,7.677,784,6.731,821,5.968,823,5.968,1000,6.243,1012,7.97,2481,9.576,2482,7.171,2483,7.171,2484,7.04,2485,6.611]],["title/494",[2486,8.175]],["content/494",[5,5.282,474,6.013,784,7.122,2139,6.622,2487,9.341]],["title/495",[2487,7.537]],["content/495",[5,4.256,49,2.882,51,3.911,112,2.598,115,2.939,134,2.38,672,4.293,900,3.971,908,5.254,1032,5.522,1064,6.337,1116,3.686,2139,5.337,2453,5.626,2488,7.528,2489,6.159]],["title/496",[2488,7.537]],["content/496",[8,1.261,49,2.731,71,1.773,112,3.595,144,6,176,2.553,379,4.089,414,5.334,415,2.968,443,6.089,454,1.318,639,2.258,775,4.861,784,6.943,788,6.625,821,5.046,823,5.046,1012,7.104,1394,6.13,2349,5.59,2490,9.878,2491,8.535,2492,6.063]],["title/497",[2493,8.175]],["content/497",[8,1.319,52,3.429,71,2.355,135,3.831,379,5.465,446,3.942,512,5.784,639,2.999,659,3.549,1228,6.456,2385,7.425,2485,7.425,2494,8.053,2495,8.053,2496,8.053,2497,8.053,2498,7.425]],["title/498",[2499,8.175]],["content/498",[8,1.355,50,4.378,53,6.828,71,2.456,112,2.672,415,4.11,443,5.177,639,3.127,1079,5.903,2500,9.784,2501,8.398,2502,8.398,2503,5.786,2504,8.398]],["title/499",[1124,2.979,2365,3.564]],["content/499",[150,3.692,490,6.428,538,3.285,1124,4.293,1533,6.428,1757,7.478,2365,5.135,2505,8.601,2506,7.478,2507,7.478]],["title/500",[2508,8.175]],["content/500",[52,3.576,112,3.889,135,5.535,538,2.957,639,3.127,744,4.984,796,5.899,1108,6.989,2509,8.398,2510,7.311,2511,7.743]],["title/501",[2512,8.175]],["content/501",[52,3.576,112,2.672,135,5.535,538,2.957,639,3.127,744,4.984,1108,6.989,1394,7.621,2510,7.311,2511,7.743,2513,8.398,2514,11.634]],["title/517",[1124,2.979,1819,4.104]],["content/517",[112,2.968,150,3.692,482,3.035,538,3.285,1054,5.605,1124,4.293,1620,4.087,1819,7.18,2173,6.7]],["title/518",[1480,3.564,2515,6.475]],["content/518",[519,4.992,857,7.536,2516,9.674]],["title/519",[1480,3.564,2516,5.97]],["content/519",[346,7.404,857,7.404,2166,8.001,2517,9.505]],["title/520",[1480,3.564,2517,5.97]],["content/520",[857,7.404,2111,7.404,2518,8.975,2519,7.776]],["title/521",[1480,3.564,2518,5.637]],["content/521",[8,1.18,18,1.034,36,1.754,71,0.967,102,1.541,103,3.191,108,1.335,111,1.803,114,1.141,115,0.932,119,1.189,131,1.871,134,0.964,143,1.254,176,1.392,219,2.996,242,1.562,279,0.713,308,2.595,310,1.695,346,3.863,409,3.559,416,1.786,445,1.655,454,0.719,460,1.109,462,3.461,469,2.197,474,1.962,475,2.494,476,3.574,478,2.494,488,1.709,519,2.559,524,1.377,538,1.164,557,1.607,621,1.349,623,1.896,639,1.231,641,1.573,665,4.493,666,1.432,719,2.161,889,1.26,908,2.127,956,1.668,1052,1.573,1054,1.986,1076,1.803,1094,2.278,1119,2.127,1184,1.695,1502,2.127,1521,2.374,1566,3.863,1611,2.65,1615,2.324,1620,1.448,1633,2.65,1666,2.65,1691,3.315,1722,3.231,1749,2.197,1819,5.857,1839,2.236,1872,2.878,1892,2.038,1947,4.598,1957,1.986,2111,2.374,2166,2.566,2297,2.878,2317,2.431,2519,5.908,2520,3.306,2521,4.174,2522,3.048,2523,3.048,2524,2.65,2525,3.048,2526,3.048,2527,3.048,2528,3.306,2529,3.048,2530,2.324,2531,2.878,2532,3.048]],["title/522",[1480,3.564,2529,5.97]],["content/522",[8,1.363,35,2.938,69,2.062,71,1.755,119,2.158,169,2.938,176,3.569,346,4.31,409,3.85,445,3.005,462,3.862,519,2.855,582,2.78,639,2.235,642,4.31,665,3.442,666,3.67,1133,3.304,1228,4.811,1620,4.303,1819,3.804,1947,5.731,2111,4.31,2166,4.658,2252,4.219,2317,4.412,2518,5.225,2519,6.392,2521,4.658,2533,6.001,2534,6.001,2535,6.001,2536,6.001,2537,6.001,2538,6.001]],["title/547",[408,3.714,1124,2.979]],["content/547",[119,3.522,150,3.877,408,6.689,538,3.449,1124,4.507,1277,7.201]],["title/548",[2539,8.175]],["content/548",[8,0.963,71,2.204,112,2.398,119,2.711,241,2.734,408,6.339,539,3.717,582,3.491,639,2.807,916,6.806,1133,4.149,2130,8.618,2210,6.563,2338,6.563,2540,7.538,2541,9.898,2542,7.538,2543,7.538]],["title/549",[2544,8.175]],["content/549",[6,4.245,8,1.275,24,2.843,71,2.233,119,2.746,241,2.769,408,6.379,438,4.913,539,3.765,582,3.536,639,2.843,916,6.84,1133,4.203,2219,7.04,2338,6.648,2545,9.982,2546,7.636]],["title/550",[2547,8.175]],["content/550",[8,1.553,71,2.421,408,4.749,460,2.778,639,3.083,947,6.637,1001,5.82,2356,6.637,2484,6.087,2548,8.28,2549,8.28,2550,8.28,2551,8.28,2552,7.209,2553,8.28]],["title/551",[2554,8.175]],["content/551",[8,1.529,24,2.959,34,2.999,71,2.323,119,2.857,408,6.501,460,2.666,639,2.959,2356,6.369,2484,5.841,2552,6.917,2555,7.945,2556,7.945,2557,7.945,2558,7.945,2559,7.945]],["title/552",[2442,7.537]],["content/552",[6,4.806,8,1.38,71,2.528,119,3.886,131,3.006,408,6.762,438,5.562,639,3.219,1376,6.208,2560,8.644,2561,8.644]],["title/523",[69,2.225,1124,2.979]],["content/523",[69,4.358,150,3.692,538,3.285,605,5.914,1124,4.293,1533,6.428,2114,7.037]],["title/524",[2562,8.175]],["content/524",[8,1.448,69,3.638,71,2.023,460,2.321,492,2.962,533,8.554,621,2.822,639,2.576,659,4.12,698,4.666,1503,9.091,2111,4.968,2419,3.968,2563,10.588,2564,6.918,2565,6.918]],["title/525",[2362,6.804]],["content/525",[8,1.406,49,2.462,69,4.105,71,2.604,253,4.098,639,3.316,659,3.925,661,4.902,2566,8.906,2567,8.906]],["title/526",[2568,7.537]],["content/526",[6,4.539,8,1.331,69,2.805,71,2.388,438,5.254,639,3.041,1376,5.864,2419,4.683,2569,10.424,2570,9.557,2571,7.528,2572,9.611,2573,9.611]],["title/527",[2574,8.175]],["content/527",[6,4.951,8,1.406,69,4.105,71,2.604,438,5.73,639,3.316,1376,6.396,1967,6.396,2575,8.906,2576,8.906]],["title/528",[2577,8.175]],["content/528",[8,1.537,69,3.92,71,2.355,477,2.702,639,2.999,1337,7.425,2178,4.9,2578,8.053,2579,8.053,2580,8.053,2581,8.053,2582,10.332,2583,10.332]],["title/529",[2584,8.175]],["content/529",[8,1.194,35,3.386,69,3.896,71,2.023,454,1.504,460,3.136,477,2.321,573,3.926,621,2.822,639,2.576,666,2.996,793,4.767,863,4.863,1093,4.451,1502,6.015,2129,6.378,2162,5.369,2419,6.073,2585,6.918,2586,6.918,2587,6.023,2588,6.378,2589,6.918,2590,6.918]],["title/530",[2588,7.537]],["content/530",[8,1.319,69,4.135,71,2.355,460,3.467,477,2.702,589,3.831,639,2.999,659,3.549,863,5.661,2419,6.543,2591,8.053,2592,8.053,2593,8.053]],["title/531",[2594,8.175]],["content/531",[8,1.618,69,3.345,71,2.149,119,3.501,639,2.737,1174,4.971,2419,4.215,2595,7.35,2596,7.35,2597,9.734,2598,9.734,2599,7.35,2600,9.018,2601,7.35]],["title/532",[2602,8.175]],["content/532",[8,1.155,35,4.426,38,7.873,69,4.133,71,2.644,445,4.527,639,3.367,1116,4.083,2356,7.249,2603,9.042]],["title/533",[2604,8.175]],["content/533",[3,4.928,8,0.95,24,2.772,35,3.643,38,6.48,69,3.774,71,2.176,445,4.914,454,1.618,460,3.293,526,4.378,621,4.004,639,2.772,1106,2.747,1116,3.36,2605,7.443,2606,6.862,2607,4.058]],["title/534",[2608,8.175]],["content/534",[8,1.155,69,4.133,71,2.644,639,3.367,1087,4.426,1116,4.083,1723,8.337,2356,7.249,2419,5.186,2609,9.042]],["title/535",[2610,8.175]],["content/535",[8,1.191,69,4.19,71,2.728,639,3.474,1116,4.212,1828,7.24,2611,9.329,2612,9.329]],["title/536",[2613,8.175]],["content/536",[8,0.95,24,4.52,69,3.774,71,2.176,229,3.591,328,5.345,460,2.497,492,3.187,639,2.772,659,3.28,698,5.349,1116,3.36,2419,4.269,2614,7.443,2615,6.862,2616,6.862]],["title/537",[2617,8.175]],["content/537",[8,1.043,69,3.945,71,2.388,460,2.739,492,3.496,639,3.041,659,3.598,698,5.331,1116,3.686,1521,5.864,2419,4.683,2615,7.528,2616,7.528,2618,8.165]],["title/538",[445,3.242,1124,2.979]],["content/538",[24,3.474,49,2.579,55,2.833,150,3.692,445,5.67,538,3.285,1124,4.293,1277,6.858,2619,9.329]],["title/539",[2620,8.175]],["content/539",[8,1.21,71,2.772,445,5.725,1967,8.213,2166,7.357,2621,8.74,2622,8.74]],["title/540",[2362,6.804]],["content/540",[8,1.137,24,3.316,49,2.462,71,2.604,253,4.098,445,5.982,621,3.633,639,3.316,2157,6.547,2623,8.906,2624,6.717]],["title/541",[2625,7.117]],["content/541",[8,1.194,24,4.223,49,3.275,71,2.023,445,5.677,573,3.926,639,2.576,957,4.156,2111,6.714,2156,5.369,2157,6.873,2621,6.378,2622,6.378,2624,7.051,2626,8.139,2627,6.023,2628,6.918]],["title/542",[2629,8.175]],["content/542",[8,1.203,24,4.429,49,3.15,71,2.047,445,6.267,639,2.607,948,6.322,2156,5.433,2157,6.928,2624,7.108,2626,8.204,2627,6.095]],["title/543",[2630,8.175]],["content/543",[8,1.139,24,4.564,49,2.826,71,1.89,229,3.118,445,5.117,639,2.407,653,4.224,2156,7.932,2157,8.103,2624,8.313,2626,5.627,2627,7.769,2631,6.462,2632,8.923,2633,8.923]],["title/544",[2634,8.175]],["content/544",[8,1.484,24,3.625,49,2.691,69,2.525,71,2.149,445,5.817,454,1.598,573,4.171,639,2.737,666,3.183,2141,6.776,2156,5.704,2157,7.157,2624,5.544,2635,7.35,2636,7.35,2637,7.35,2638,7.35]],["title/545",[2639,8.175]],["content/545",[8,1.12,24,4.42,69,3.014,71,2.565,445,5.942,639,3.267,2157,6.45,2624,8.226,2640,8.773]],["title/546",[2641,8.175]],["content/546",[8,1.014,24,4.221,49,3.134,52,3.383,71,2.323,445,5.675,639,2.959,653,5.193,1087,3.889,1377,4.508,2156,6.166,2157,7.53,2624,5.992,2642,7.945]],["title/553",[1124,2.979,2366,5.025]],["content/553",[150,4.01,538,3.567,1124,4.662,2366,7.863,2643,7.863]],["title/554",[2644,8.175]],["content/554",[8,1.308,36,4.214,71,2.323,253,5.216,466,6.314,526,3.543,639,2.959,849,4.965,1678,8.55,2645,7.945,2646,7.945,2647,7.945,2648,11.335]],["title/555",[2649,8.175]],["content/555",[8,1.173,71,2.685,253,5.573,462,5.909,466,5.661,639,3.42,2137,10.343,2650,9.183]],["title/556",[2651,8.175]],["content/556",[8,1.367,71,2.491,253,5.389,514,6.281,639,3.173,661,4.69,773,4.441,2652,8.519,2653,8.519,2654,8.519,2655,10.708]],["title/557",[2656,8.175]],["content/557",[8,1.476,71,2.123,253,4.443,460,3.64,526,4.838,639,2.703,1095,7.098,1767,4.475,2342,6.693,2657,7.259,2658,7.259,2659,7.259,2660,7.259,2661,7.259,2662,7.259,2663,7.259,2664,7.259,2665,7.259,2666,7.259]],["title/563",[1124,2.979,2367,5.19]],["content/563",[112,2.968,119,3.355,150,3.692,347,6.7,538,3.285,1054,5.605,1124,4.293,2241,6.858,2334,7.764,2367,7.478]],["title/564",[2667,8.175]],["content/564",[8,1.447,69,2.73,71,2.323,112,2.528,347,5.706,443,6.314,639,2.959,659,3.501,1054,4.773,2333,7.949,2367,6.369,2419,4.557,2668,7.945,2669,5.992,2670,7.945,2671,7.945,2672,7.945]],["title/565",[2673,8.175]],["content/565",[6,4.477,8,1.319,69,2.767,71,2.355,376,5.352,438,5.182,443,6.369,639,2.999,659,4.553,1376,5.784,2333,8.019,2419,4.619,2669,7.793,2674,8.053,2675,8.053]],["title/566",[2676,8.175]],["content/566",[8,1.46,69,2.15,71,1.83,112,1.991,347,4.493,443,5.378,538,2.203,639,2.33,641,2.976,683,3.966,1054,3.759,1276,4.311,1721,4.231,2333,6.772,2367,5.015,2419,3.589,2552,5.447,2669,6.581,2677,6.257,2678,8.725,2679,6.257,2680,10.046,2681,6.257,2682,8.725,2683,6.257,2684,6.257,2685,6.257,2686,6.257,2687,6.257,2688,6.257]],["title/558",[102,3.018,1124,2.979]],["content/558",[102,5.331,150,3.752,538,3.338,587,4.082,890,5.379,1076,5.168,1124,4.362,2057,6.663]],["title/559",[2689,8.175]],["content/559",[102,4.03,115,2.437,454,1.879,581,3.765,589,4.112,712,4.112,948,5.13,1087,4.231,2111,7.761,2139,5.65,2453,7.446,2625,9.408]],["title/560",[2625,7.117]],["content/560",[24,2.919,49,3.496,52,3.338,71,3.294,102,5.251,306,3.517,639,2.919,890,4.448,948,6.685,1185,4.769,2690,7.839]],["title/561",[2691,8.175]],["content/561",[24,4.599,49,3.415,102,5.038,306,3.879,639,3.219,1076,5.892,2692,8.644]],["title/562",[2693,8.175]],["content/562",[18,1.649,36,5.121,49,3.197,74,2.116,102,5.057,109,4.258,114,3.331,182,4.602,183,4.308,477,2.436,581,3.162,639,2.703,1377,5.479,1558,5.213,2057,6.786,2086,6.042,2694,7.259]],["title/569",[119,2.328,1124,2.979]],["content/569",[119,4.194,150,3.877,443,6.038,538,3.449,1124,4.507,1277,7.201]],["title/570",[2362,6.804]],["content/570",[8,1.406,71,2.604,119,3.202,253,4.098,467,7.412,621,3.633,639,3.316,1664,6.717,2484,8.093,2695,8.906,2696,8.906]],["title/571",[2568,7.537]],["content/571",[6,4.669,8,1.355,71,2.456,438,5.404,639,3.127,1376,6.031,2570,6.989,2571,7.743,2572,9.784,2573,9.784,2697,10.611,2698,8.398,2699,8.398]],["title/572",[2700,8.175]],["content/572",[8,1.476,71,2.421,119,2.977,253,3.81,443,5.104,639,3.083,1001,5.82,2484,7.732,2701,8.28,2702,10.063,2703,8.28,2704,8.28,2705,8.28]],["title/573",[2706,8.175]],["content/573",[8,1.406,71,2.604,253,5.498,443,5.49,639,3.316,1001,6.26,2707,8.906,2708,8.211,2709,8.906,2710,8.906]],["title/574",[2711,8.175]],["content/574",[8,1.447,57,3.977,71,2.323,119,2.857,144,5.584,443,4.897,639,2.959,650,5.992,1001,5.584,2484,8.333,2712,10.242,2713,10.242,2714,7.945,2715,7.945,2716,7.325]],["title/575",[2717,8.175]],["content/575",[8,1.173,71,2.685,119,3.302,639,3.42,2484,8.247,2716,8.467,2718,9.183,2719,11.218,2720,9.183]],["title/576",[2721,8.175]],["content/576",[8,1.173,71,2.685,119,3.302,639,3.42,2484,8.247,2722,9.183,2723,11.218,2724,9.183,2725,9.183]],["title/567",[108,2.614,1124,2.979]],["content/567",[8,1.23,78,5.204,108,4.663,150,3.813,538,3.392,1124,4.433,1533,6.638]],["title/568",[2726,8.175]],["content/568",[8,0.916,18,1.09,24,2.67,71,2.8,108,2.895,114,2.474,115,2.7,131,2.494,134,2.09,474,4.256,523,4.481,587,3.088,600,3.986,657,2.866,1003,5.272,1052,3.411,1116,4.324,1130,5.565,1575,3.873,2057,5.04,2266,6.243,2453,4.941,2489,5.409,2727,7.171,2728,9.576]],["title/577",[65,1.946,1124,2.979]],["content/577",[65,3.54,150,3.942,538,3.507,1124,4.583,1533,6.863]],["title/578",[322,4.461,1480,2.951,2729,5.36]],["content/578",[8,1.155,65,3.34,71,2.644,104,3.232,105,5.432,426,7.249,639,3.367,2730,9.042,2731,9.042]],["title/579",[114,1.849,115,1.511,1193,2.748]],["content/579",[]],["title/580",[18,0.815,115,1.511,1193,2.748]],["content/580",[3,2.357,8,1.164,18,1.799,69,1.805,88,2.328,99,3.688,104,1.411,115,1.481,143,1.992,152,3.915,194,1.983,228,2.762,233,2.212,454,1.142,460,1.762,573,2.98,588,2.571,664,2.482,666,3.334,712,2.499,777,3.195,889,2.001,957,3.155,1052,4.336,1085,3.962,1087,3.768,1116,2.371,1157,2.864,1193,4.672,1647,3.854,1772,5.206,2072,4.369,2214,4.746,2299,7.934,2732,5.206]],["title/581",[18,0.606,115,1.124,233,1.679,249,1.8,1193,2.044]],["content/581",[5,4.449,8,1.09,18,1.718,88,2.688,114,2.092,115,1.709,194,3.222,228,4.488,233,3.594,249,2.738,397,2.641,450,3.306,454,1.318,460,2.034,588,2.968,655,2.688,666,3.696,712,2.885,957,3.643,1052,4.061,1085,4.573,1193,3.109,1647,4.273,1772,4.101,2199,5.59,2210,7.431,2214,5.262,2299,5.279,2733,8.535]],["title/582",[78,2.154,108,1.61,115,1.124,397,1.737,1193,2.044]],["content/582",[8,0.938,78,3.97,88,3.258,108,3.931,115,2.744,233,3.095,397,3.201,412,5.166,450,4.007,460,2.466,473,6.399,474,4.362,657,2.938,666,3.183,1130,5.704,1193,3.768,1671,8.102,1763,5.704,2053,8.75,2214,4.531,2734,7.35,2735,7.35]],["title/583",[115,1.289,397,1.992,1138,2.989,1193,2.345]],["content/583",[8,1.741,88,1.716,115,1.091,119,1.392,233,1.63,397,1.686,411,2.111,436,1.909,450,2.111,460,2.535,466,2.386,474,2.298,574,1.563,657,1.547,659,3.779,666,1.676,683,2.454,1106,1.429,1138,3.989,1193,1.985,1243,2.92,1631,4.29,1763,4.737,1764,5.02,1766,3.569,2054,3.569,2214,2.386,2302,4.892,2317,2.846,2318,3.569,2702,3.37,2736,6.103,2737,3.871,2738,2.721,2739,3.871,2740,3.871,2741,3.569,2742,2.92,2743,3.871,2744,3.871]],["title/584",[18,0.695,115,1.289,218,2.447,1193,2.345]],["content/584",[8,1.106,18,1.519,88,2.744,112,1.97,115,2.442,150,2.45,194,2.337,218,6.483,228,3.255,233,2.607,454,1.883,460,2.077,521,2.945,590,4.67,600,3.442,641,4.12,666,3.751,712,2.945,892,3.869,957,3.719,1085,4.67,1193,3.174,1647,4.336,2214,5.339,2317,4.551,2745,8.661]],["title/585",[1157,3.53,1193,3.32]],["content/585",[8,1.614,18,1.542,55,1.11,84,2.253,88,4.022,233,4.948,249,1.65,460,3.244,466,3.594,659,3.206,666,5.011,719,2.389,731,5.348,1138,4.755,1157,1.993,1193,3.73,1592,5.721,1644,2.472,2053,4.674,2214,7.134,2669,2.757,2746,3.655,2747,3.655,2748,3.655,2749,5.831]],["title/586",[589,3.08,617,3.674]],["content/586",[114,3.27,115,2.672,279,2.044,508,5.695,509,5.695,513,4.942,684,4.153,900,3.611,2039,4.9]],["title/587",[1941,5.182]],["content/587",[8,1.604,113,1.979,114,1.31,115,2.103,143,1.44,229,1.832,311,1.518,439,2.227,454,0.825,477,2.503,510,2.941,539,1.872,565,1.962,574,1.533,580,3.043,588,1.858,594,5.36,596,3.16,600,2.11,602,5.962,603,4.141,604,5.638,626,1.979,651,3.824,657,1.518,900,3.521,902,2.726,917,3.308,976,2.748,1658,2.863,1661,2.481,1670,2.154,1680,2.726,1730,4.538,1836,3.705,2049,2.668,2750,2.726,2751,5.357,2752,3.5,2753,3.305,2754,7.385,2755,3.5,2756,3.5,2757,5.541,2758,3.5,2759,3.5,2760,3.5,2761,3.5,2762,2.863]],["title/588",[580,6.553]],["content/588",[311,4.121,594,5.978,602,7.246,2752,9.505]],["title/589",[477,1.798,604,3.074,900,2.042]],["content/589",[8,1.665,113,2.599,115,2.088,143,1.891,439,2.924,477,2.486,510,3.626,539,2.458,565,2.577,600,2.772,602,3.504,603,3.435,604,5.613,626,2.599,900,3.368,902,3.58,917,4.078,976,3.387,1680,3.58,1730,5.378,1836,4.567,2751,5.32,2753,4.34,2754,7.696,2755,4.597,2756,4.597,2757,6.83,2758,4.597,2759,4.597,2760,4.597,2761,4.597]],["title/590",[594,3.755,651,3.32]],["content/590",[594,6.632,602,6.663,603,6.531,604,5.437,651,4.86,1658,7.15,2754,8.253,2762,7.15]],["title/591",[115,1.511,684,2.348,1076,2.922]],["content/591",[5,2.005,8,1.618,18,0.923,20,2.311,24,2.261,71,2.2,97,2.117,102,5.001,115,2.121,131,1.338,233,1.62,477,2.524,493,1.569,527,2.206,538,2.649,592,1.988,651,1.972,655,2.692,659,3.315,1106,1.419,1139,2.34,1165,1.988,1190,2.909,1193,1.972,1342,2.762,1772,2.601,1873,2.438,2057,2.703,2127,2.65,2171,3.907,2190,2.762,2270,2.985,2751,2.762,2763,3.083,2764,3.846,2765,3.846,2766,3.083,2767,3.083,2768,3.348,2769,4.867,2770,2.762,2771,3.201,2772,3.846,2773,3.083,2774,5.598,2775,2.901,2776,3.201,2777,3.546,2778,3.348,2779,3.201,2780,3.546,2781,6.071,2782,3.846,2783,3.201,2784,3.846,2785,3.846]],["title/592",[8,0.684,510,2.624,1638,3.693]],["content/592",[8,1.687,24,2.862,36,4.077,102,4.405,115,2.167,454,0.864,460,2.579,482,1.294,510,4.259,527,4.408,603,2.739,621,1.622,655,1.763,677,2.795,688,2.21,942,2.642,951,2.306,1052,1.891,1124,1.829,1342,6.249,1638,2.739,1873,3.951,1886,2.855,2073,2.689,2127,2.739,2750,2.855,2767,3.187,2770,2.855,2786,3.976,2787,3.976,2788,3.976,2789,3.976,2790,3.976,2791,3.976,2792,3.309,2793,3.309,2794,3.309,2795,3.309,2796,3.666,2797,7.087,2798,3.976,2799,3.976,2800,3.976,2801,3.666]],["title/593",[102,3.018,1638,4.461]],["content/593",[8,1.626,35,2.879,36,3.12,102,5.208,115,2.355,397,3.638,493,2.399,510,4.089,592,3.04,621,2.399,677,4.134,1342,4.224,1638,6.694,1670,3.338,1873,6.158,1886,4.224,1941,3.728,2077,4.224,2770,4.224,2792,4.895,2793,4.895,2794,4.895,2795,4.895,2797,5.423,2801,5.423,2802,5.121]],["title/594",[961,4.551,1638,4.461]],["content/594",[8,1.617,36,3.216,62,4.8,64,2.209,97,3.338,102,2.827,104,1.629,115,2.406,248,3.689,440,3.441,488,3.134,493,2.473,510,4.178,677,4.262,961,4.262,1008,3.405,1638,5.881,1873,6.262,1886,4.355,1991,4.355,2792,5.046,2793,5.046,2794,5.046,2795,5.046,2802,5.279,2803,6.063,2804,5.59,2805,5.59]],["title/595",[103,2.516,482,1.744,2806,4.942]],["content/595",[8,1.7,36,2.496,62,3.448,64,2.585,65,2.132,71,2.075,103,2.209,104,2.741,115,2,454,1.023,477,1.579,493,1.92,510,2.304,659,2.074,677,3.308,1184,2.413,1638,3.243,1873,6.468,1886,5.096,1991,3.38,2792,3.917,2793,3.917,2794,3.917,2795,5.905,2804,4.339,2805,4.339,2806,4.339,2807,4.706,2808,3.917,2809,4.706,2810,4.706,2811,4.706,2812,4.706]],["title/596",[2039,4.226]],["content/596",[8,1.599,18,0.546,74,1.046,115,2.316,134,1.046,162,2.081,279,1.239,454,0.78,484,1.163,510,1.756,513,1.871,527,3.295,538,1.263,573,2.036,626,1.871,657,1.434,672,1.887,677,2.522,684,1.572,761,2.183,900,2.189,917,1.975,948,2.13,952,1.938,976,1.641,1052,2.733,1226,1.903,1403,2.058,1620,1.572,1661,2.345,1680,2.577,1730,2.183,1817,2.986,1858,2.785,1873,5.698,1886,6.455,1959,4.782,2039,3.715,2057,2.522,2072,3.26,2171,2.309,2328,2.427,2750,2.577,2767,2.876,2813,3.308,2814,3.308,2815,2.876,2816,3.308,2817,5.746,2818,5.298,2819,3.308,2820,3.308,2821,3.308,2822,3.588,2823,3.588,2824,3.588,2825,3.588,2826,3.588,2827,3.588,2828,3.588,2829,3.588,2830,3.588,2831,3.588,2832,3.588,2833,3.588,2834,3.588,2835,3.308,2836,3.308,2837,3.308,2838,3.308,2839,3.588]],["title/597",[115,1.825,1644,4.379]],["content/597",[8,1.612,47,3.302,104,1.758,115,1.845,134,1.234,162,2.455,450,2.308,477,1.42,510,2.072,527,2.428,538,1.49,600,2.353,641,2.014,672,2.226,677,2.975,889,1.613,900,1.613,917,2.33,948,2.512,1644,6.581,1680,4.7,1730,2.575,1873,5.071,1886,5.745,2171,2.724,2190,3.04,2767,3.393,2796,3.903,2813,3.903,2814,3.903,2815,3.393,2816,3.903,2818,6.033,2819,3.903,2820,3.903,2821,3.903,2835,3.903,2836,3.903,2837,3.903,2838,3.903,2840,4.233,2841,2.917,2842,6.544,2843,4.233,2844,6.544,2845,4.233,2846,4.233,2847,4.233,2848,7.999,2849,4.233,2850,4.233,2851,4.233,2852,4.233]],["title/604",[2073,4.379,2750,4.65]],["content/604",[97,3.372,106,4.071,114,3.427,115,3.036,131,2.131,143,2.323,148,3.34,183,3.636,279,1.321,409,2.783,454,1.869,458,3.194,482,1.993,486,2.915,532,4.4,546,2.977,568,3.194,655,2.716,976,2.801,1021,3.476,1052,4.09,1091,4.504,1100,3.777,1124,4.571,1157,3.34,2049,6.043,2073,5.815,2750,7.735,2853,6.126]],["title/605",[546,3.972]],["content/605",[114,2.6,115,2.125,131,2.622,143,2.858,154,3.897,408,4.323,458,3.93,646,3.382,651,3.865,657,3.013,743,5.194,915,3.446,952,4.071,953,5.542,1021,4.277,1124,3.468,1141,5.686,1249,5.298,1677,5.686,1777,5.009,1853,5.85,2116,4.711,2750,5.414,2854,6.95,2855,7.538]],["title/606",[2856,6.804]],["content/606",[8,1.624,18,0.621,24,1.522,48,1.393,55,3.08,69,1.404,97,4.862,102,3.647,104,1.098,114,2.196,115,2.49,131,1.421,143,1.55,183,4.642,233,1.721,241,1.482,397,1.78,408,2.344,414,2.553,524,1.702,531,1.711,538,2.242,539,2.015,567,2.59,568,2.13,655,2.823,712,1.944,889,1.557,942,2.715,1052,1.944,1087,2,1193,2.095,1219,3.171,1342,2.935,1403,3.652,1644,4.306,1831,2.13,2506,5.104,2766,3.276,2770,2.935,2771,3.401,2775,3.082,2856,6.51,2857,4.086,2858,3.401,2859,5.299,2860,4.086,2861,3.767,2862,4.086]],["title/607",[55,1.966,790,3.939]],["content/607",[7,3.759,8,1.283,14,2.513,55,2.65,57,5.442,58,3.67,104,1.681,119,2.25,131,2.176,408,3.589,462,4.026,529,3.915,655,4.454,790,3.807,796,3.478,1093,5.614,1157,3.411,2073,4.231,2771,5.207,2775,4.719,2841,6.012,2859,5.207,2863,6.257,2864,5.769,2865,6.257,2866,6.257,2867,6.257,2868,5.769,2869,5.447,2870,6.257]],["title/608",[538,1.887,790,3.261,2871,4.667]],["content/608",[18,0.779,20,1.871,36,2.716,48,1.061,71,0.911,102,4.187,103,1.461,114,1.767,115,1.839,131,2.904,143,2.866,182,4.135,183,3.871,233,1.311,249,1.406,311,2.047,328,2.236,332,1.115,377,1.682,380,1.559,397,2.231,406,1.535,454,0.677,477,2.535,478,2.349,485,1.452,504,1.682,529,1.397,538,3.342,572,2.236,574,1.257,592,1.61,655,2.892,684,1.364,721,2.004,790,3.116,873,2.236,945,3.004,949,2.146,953,2.289,1008,1.749,1029,1.806,1052,2.436,1104,3.2,1137,2.106,1151,2.496,1155,1.946,1165,3.372,1193,1.596,1201,2.004,1501,2.496,1644,3.463,1645,2.106,1647,3.266,1859,2.146,2049,2.189,2061,3.403,2071,1.92,2073,2.106,2076,1.974,2127,3.529,2190,2.236,2252,2.189,2871,2.711,2872,4.722,2873,4.722,2874,5.121,2875,2.711,2876,3.114,2877,5.121,2878,6.579,2879,7.557,2880,3.114,2881,2.871,2882,5.121,2883,3.114,2884,3.114,2885,3.114,2886,2.711,2887,2.711]],["title/609",[486,3.08,1100,3.991]],["content/609",[32,2.023,35,2.742,69,1.925,84,3.453,106,3.723,112,1.782,113,4.206,114,1.933,115,2.274,119,2.014,131,1.948,148,3.054,229,2.703,240,2.945,311,2.239,375,2.849,458,2.92,486,2.665,488,2.896,527,3.213,529,2.514,538,1.973,546,4.594,564,4.118,646,2.514,651,2.872,720,1.858,793,3.86,889,2.134,890,3.179,949,3.86,952,3.026,1029,3.249,1076,3.054,1079,3.938,1093,5.191,1100,5.828,1106,2.068,1124,3.712,2750,6.79,2888,5.602,2889,5.602]],["title/610",[148,3.53,538,2.28]],["content/610",[8,1.148,74,1.904,112,2.861,131,2.273,375,3.323,408,3.748,482,2.126,486,3.109,488,3.378,507,3.563,519,3.109,527,3.748,529,2.932,538,3.166,546,3.175,651,3.35,685,4.083,720,2.167,796,3.633,889,3.425,890,3.708,953,4.804,1100,4.028,1213,4.271,1234,5.438,1480,3.597,1559,5.071,1620,3.939,1837,3.926,1851,4.342,2073,4.419,2890,5.438]],["title/611",[74,1.887,2808,5.389]],["content/611",[8,1.642,24,2.576,52,2.946,57,4.68,62,3.362,64,2.52,65,2.079,100,3.247,104,1.859,117,5.086,118,4.968,409,3.143,519,3.291,659,3.049,685,4.323,1184,3.547,1620,3.031,2808,5.758,2841,6.441,2891,4.767,2892,6.918,2893,6.918]],["title/612",[74,1.887,2894,5.637]],["content/612",[18,1.712,52,3.338,57,5.084,71,2.292,74,2.285,104,3.026,150,3.103,248,4.769,409,3.561,519,3.729,685,4.899,1184,4.019,1620,3.434,2841,6.996,2894,6.825,2895,7.227]],["title/613",[74,1.887,2896,5.637]],["content/613",[18,1.518,19,5.442,24,2.843,52,3.251,57,4.997,71,2.233,74,2.225,104,2.682,406,3.765,409,3.469,519,3.633,536,5.164,684,3.345,685,4.772,1620,3.345,2530,5.367,2841,6.878,2891,5.261,2896,6.648]],["title/614",[74,1.887,2897,5.637]],["content/614",[8,0.988,18,1.531,19,5.489,52,3.294,57,5.04,71,2.262,74,2.255,104,2.705,398,4.103,406,3.815,409,3.515,519,3.68,536,5.232,685,4.834,1620,3.389,2530,5.438,2841,6.937,2897,6.735]],["title/615",[74,1.887,2898,5.637]],["content/615",[18,1.04,19,5.057,24,2.546,26,6.163,48,3.587,49,2.91,52,2.911,57,4.643,71,2.712,74,1.993,104,2.492,380,4.643,398,3.627,406,3.372,409,3.107,519,3.253,685,4.273,1254,3.922,1620,2.996,2841,6.39,2891,4.711,2898,5.953]],["title/616",[74,1.887,2899,5.637]],["content/616",[8,1.427,19,5.671,24,2.489,26,4.441,48,3.81,49,3.091,52,2.845,57,4.571,71,2.67,248,4.066,409,3.036,519,3.179,536,4.519,685,4.176,793,4.604,1185,4.066,1620,2.928,2530,4.697,2841,6.291,2891,4.604,2899,5.818]],["title/617",[74,1.887,2900,5.637]],["content/617",[8,1.712,18,1.252,19,4.491,24,2.147,52,2.455,55,1.751,57,2.887,63,2.933,64,2.101,65,1.733,71,1.686,104,2.213,112,1.835,115,1.626,142,3.527,143,2.187,145,2.62,409,2.62,519,2.743,536,3.9,685,3.604,1620,2.526,2530,4.053,2841,3.973,2891,3.973,2900,5.02]],["title/618",[74,1.887,2901,5.637]],["content/618",[8,1.706,18,1.227,19,4.399,24,2.086,55,1.701,57,2.805,63,2.849,64,2.041,65,1.684,71,1.638,74,1.633,104,2.168,112,1.782,115,1.579,142,3.454,143,2.124,145,2.545,150,2.217,395,3.408,406,2.762,409,2.545,519,2.665,536,3.789,685,3.501,1620,2.454,2530,3.938,2841,3.86,2891,3.86,2901,4.877]],["title/619",[115,1.825,2902,5.637]],["content/619",[8,1.607,19,4.757,24,3.249,36,3.319,52,3.715,57,3.132,71,2.551,103,2.936,104,2.344,114,2.158,115,2.832,234,6.772,409,2.843,519,2.976,538,3.072,685,3.91,1052,2.976,1620,2.741,2171,4.026,2448,5.769,2841,4.311,2891,4.311,2902,5.447,2903,5.769]],["title/620",[483,4.166,2904,5.637]],["content/620",[8,1.458,19,4.399,26,5.361,49,2.231,51,2.684,52,2.385,57,4.039,71,2.359,112,3.291,115,2.274,134,1.633,242,2.647,243,3.501,379,4.529,409,2.545,454,1.754,519,2.665,538,3.329,659,2.469,672,2.945,685,3.501,784,3.938,788,4.348,900,3.074,1032,3.789,1116,2.529,1620,2.454,2453,3.86,2489,4.225,2895,5.165,2904,4.877,2905,5.165]],["title/621",[483,4.166,2906,5.637]],["content/621",[8,1.636,24,2.047,49,2.586,51,2.634,52,2.341,57,4.683,71,1.608,112,2.532,115,2.244,134,1.602,135,2.615,242,2.597,243,3.435,379,2.634,409,2.498,454,1.73,512,3.948,519,2.615,672,2.89,685,3.435,900,3.032,997,4.575,1032,3.718,1081,3.435,1116,2.482,1228,4.407,1620,2.408,2453,3.788,2489,4.147,2498,5.069,2891,3.788,2906,4.786,2907,5.069,2908,5.497]],["title/622",[483,4.166,2909,5.97]],["content/622",[8,1.286,24,2.881,49,2.139,52,3.294,53,4.978,57,3.873,71,2.262,112,3.203,242,3.655,243,4.834,409,3.515,454,1.682,519,3.68,520,4.591,685,4.834,1620,3.389,2500,9.282,2503,5.33,2891,5.33,2909,7.133]],["title/623",[1620,2.837,1819,4.104]],["content/623",[8,1.436,18,0.988,19,1.689,24,1.153,36,1.643,71,0.906,102,1.444,103,3.05,108,1.251,111,1.689,114,1.069,115,0.873,119,1.114,131,1.773,134,0.903,143,1.175,176,1.304,219,2.864,242,1.464,279,0.668,308,2.46,310,1.588,346,5.41,409,3.422,416,1.673,445,1.551,454,0.673,460,1.039,462,3.281,469,2.058,474,1.838,475,2.336,476,3.388,478,2.336,488,1.601,519,3.962,524,1.29,538,1.091,557,1.505,621,1.264,623,1.777,639,1.153,641,2.426,665,4.32,685,1.936,719,2.025,889,1.18,908,1.993,956,1.563,1052,1.474,1054,1.861,1076,1.689,1094,2.134,1119,1.993,1184,1.588,1502,1.993,1521,2.225,1566,3.662,1611,2.483,1615,2.177,1620,2.847,1633,2.483,1666,2.483,1691,3.143,1722,3.063,1749,2.058,1819,5.678,1872,2.697,1892,1.909,1947,4.395,1957,1.861,2297,2.697,2519,6.757,2521,2.404,2524,2.483,2525,2.856,2526,2.856,2527,2.856,2530,2.177,2531,2.697,2532,2.856,2891,2.134,2910,4.439]],["title/624",[1819,4.104,2911,5.97]],["content/624",[8,1.654,19,3.054,24,2.086,69,1.925,71,1.638,119,2.014,169,2.742,176,2.359,346,5.794,409,2.545,445,2.805,462,3.605,519,4.498,538,1.973,582,2.594,641,2.665,665,4.627,685,3.501,1133,3.084,1157,3.054,1620,4.142,1819,3.551,2519,7.802,2521,4.348,2530,3.938,2531,4.877,2891,3.86,2910,7.024,2911,5.165]],["title/625",[2751,5.871]],["content/625",[48,2.088,114,2.113,115,1.727,143,2.323,229,4.148,279,1.321,378,3.141,397,2.668,477,2.056,482,1.993,499,3.34,521,2.915,574,3.471,579,3.593,581,2.668,651,3.141,857,4.4,858,4.004,1021,4.879,1033,4.143,1069,3.194,1087,2.999,1098,3.44,1136,3.829,1185,3.727,1538,5.649,1545,3.44,1582,3.593,1670,3.476,1677,4.621,1836,5.3,2049,4.306,2751,6.175,2912,5.649,2913,4.143,2914,4.306,2915,5.334,2916,6.126]],["title/626",[1069,4.261]],["content/626",[8,0.766,55,2.573,114,2.07,115,1.692,332,2.149,378,4.345,397,2.614,482,1.953,510,2.938,538,2.113,551,3.304,574,2.423,589,2.855,623,3.442,651,3.077,695,3.651,720,2.81,790,3.651,891,3.242,1021,4.809,1029,3.48,1093,3.862,1475,3.862,1675,3.804,1763,4.658,1836,3.7,2136,4.995,2171,3.862,2506,4.811,2750,4.31,2751,4.31,2856,4.995,2871,7.378,2872,5.533,2873,5.533,2917,6.001,2918,5.533,2919,6.001,2920,5.533,2921,4.811]],["title/627",[594,4.741]],["content/627",[114,3.628,115,3.258,332,2.965,454,1.8,477,2.778,565,4.28,594,4.802,602,7.392,604,4.749,900,3.154,902,5.946,976,3.786,1658,6.245,2753,7.209]],["title/628",[1276,5.633]],["content/628",[148,5.168,229,4.573,538,3.338,546,4.606,651,4.86,720,3.144,2049,6.663,2769,7.599,2918,8.74]],["title/629",[233,2.727,1780,4.461]],["content/629",[8,1.57,18,1.216,32,1.529,71,2.846,102,1.973,145,1.923,233,3.369,394,2.767,454,0.92,477,3.599,538,3.169,639,1.576,655,1.877,659,3.966,721,2.724,900,2.493,1052,3.113,1170,4.211,1193,4.614,1202,3.112,1327,2.724,1759,3.903,2171,5.147,2763,5.246,2766,3.393,2773,5.246,2779,5.446,2920,3.903,2922,3.903,2923,4.233,2924,3.903,2925,6.544,2926,4.233,2927,6.544,2928,6.033,2929,5.697,2930,6.544]],["title/630",[1403,3.714,2766,5.19]],["content/630",[18,1.545,82,3.225,108,2.581,114,2.205,115,1.802,119,2.299,131,2.223,218,4.74,233,4.851,314,3.519,397,3.857,450,3.485,454,1.39,473,5.565,492,2.737,639,2.38,641,4.213,655,2.834,1052,5.219,1106,2.359,1138,5.789,1193,3.277,1582,5.195,2053,5.124,2931,6.392]],["title/631",[538,1.887,1780,3.693,2052,4.297]],["content/631",[8,1.32,71,1.932,102,4.224,112,2.102,119,2.376,233,2.783,454,1.437,519,3.143,538,3.918,587,2.845,655,2.929,951,3.832,1087,3.234,1115,3.79,1201,4.252,1535,4.469,2052,8.289,2171,4.252,2763,5.297,2770,4.745,2773,5.297,2858,7.541,2922,6.092,2932,7.541,2933,6.607,2934,6.092]],["title/632",[538,2.28,639,2.411]],["content/632",[3,2.767,5,3.972,8,1.526,18,0.938,20,5.189,37,2.011,71,2.228,102,2.875,119,2.74,233,1.652,249,1.771,454,0.853,477,1.316,538,3.041,556,2.564,587,1.689,652,2.418,659,1.729,688,2.181,889,2.903,1131,2.226,1347,6.108,1753,2.959,1873,2.487,2052,3.145,2101,2.884,2171,4.903,2178,2.387,2763,3.145,2769,7.527,2770,4.429,2773,3.145,2775,2.959,2776,3.265,2778,6.634,2779,5.132,2783,3.265,2858,5.132,2934,3.617,2935,6.167,2936,3.923,2937,3.923,2938,7.025,2939,3.923,2940,3.923,2941,3.923,2942,3.923,2943,3.923,2944,6.167,2945,3.923,2946,3.923]],["title/633",[18,0.984,2947,5.97]],["content/633",[0,0.98,5,1.18,8,0.888,12,1.161,18,1.551,36,1.201,46,2.952,48,1.334,49,1.429,50,2.04,51,2.476,55,1.569,57,3.081,61,1.313,64,1.883,65,2.592,71,0.662,100,3.57,103,1.836,104,2.741,105,1.36,112,1.245,114,1.35,115,2.644,117,2.877,118,2.81,119,2.5,142,2.976,145,2.348,146,1.757,152,1.151,153,1.884,225,4.901,229,2.493,233,1.648,234,3.037,249,1.022,411,2.133,422,3.037,445,1.133,450,1.234,454,0.851,460,1.313,470,1.212,477,0.76,527,2.244,538,1.378,575,1.971,623,1.299,639,3.038,651,1.161,655,1.004,664,2.442,684,0.992,689,1.971,721,1.457,900,0.863,953,1.664,1093,1.457,1139,1.377,1327,1.457,1403,1.299,1575,1.223,1991,3.712,1992,2.646,2168,2.087,2328,1.531,2767,1.815,2775,2.952,2859,5.123,2929,3.407,2947,2.087,2948,1.36,2949,2.264,2950,2.264,2951,2.264,2952,2.264,2953,2.264,2954,2.264,2955,2.264,2956,4.301,2957,3.913,2958,3.608,2959,2.264,2960,2.264,2961,3.913,2962,3.913,2963,2.264,2964,3.913,2965,2.264]],["title/634",[148,2.922,538,1.887,1204,3.181]],["content/634",[8,1.59,18,0.673,19,2.921,29,3.551,36,1.745,48,1.826,49,1.225,51,0.89,62,2.152,66,2.482,70,1.617,71,0.543,74,1.975,103,0.872,104,1.97,112,1.705,113,0.968,114,1.528,115,2.202,135,2.107,154,0.96,175,0.968,234,3.438,240,0.976,242,0.877,243,1.161,248,2.002,332,1.178,380,0.93,397,0.809,398,1.745,409,0.844,454,0.404,477,1.486,482,2.205,483,1.195,493,2.185,507,1.012,524,0.774,527,3.514,538,2.581,546,0.902,562,0.985,659,1.952,684,0.814,720,0.616,788,1.441,1087,0.909,1106,1.977,1184,4.004,1213,2.151,1620,1.941,1717,1.546,1753,1.401,1819,1.177,1839,3.623,1873,5.45,2020,1.712,2052,1.489,2127,2.267,2178,2.002,2317,1.365,2363,1.546,2365,1.022,2374,4.664,2382,1.401,2519,2.482,2521,1.441,2522,1.712,2523,1.712,2530,3.114,2768,4.664,2808,1.546,2894,1.617,2896,1.617,2897,1.617,2898,1.617,2899,1.617,2900,1.617,2901,1.617,2902,2.864,2903,1.712,2904,1.617,2906,1.617,2907,1.712,2910,1.617,2966,1.857,2967,4.939,2968,1.857,2969,1.857,2970,1.857,2971,1.857,2972,1.857,2973,1.857,2974,1.857,2975,1.857,2976,1.28,2977,1.857,2978,1.857,2979,1.857,2980,1.857,2981,3.29,2982,1.857,2983,3.033,2984,1.857,2985,1.712,2986,1.857,2987,1.857,2988,3.29,2989,1.857,2990,1.857]],["title/635",[19,4.457]],["content/635",[8,1.589,12,2.303,19,3.734,24,1.672,71,1.313,102,4.328,171,2.605,454,1.489,461,6.314,477,1.507,485,2.094,493,2.794,495,2.341,524,1.871,529,2.015,538,2.411,651,2.303,655,1.991,659,3.018,688,2.497,898,2.472,1104,5.187,1224,3.388,1243,5.165,1584,3.91,1590,3.738,1873,4.341,2171,4.406,2190,5.961,2770,3.226,2774,6.314,2776,5.699,2777,6.314,2780,6.314,2783,3.738,2991,4.491,2992,4.491,2993,6.848,2994,6.848,2995,6.848,2996,4.491,2997,4.491]],["title/636",[414,5.109]],["content/636",[8,1.581,48,1.657,49,1.344,57,2.434,58,2.852,71,1.422,104,2.597,115,1.371,119,1.748,135,4.598,183,4.315,229,2.346,309,2.602,375,2.473,411,2.651,414,3.038,438,3.128,454,1.057,477,3.243,488,2.513,495,2.535,527,2.789,651,2.493,720,1.612,791,3.418,900,1.852,945,2.852,1008,2.73,1873,6.127,2768,4.233,2769,3.897,2967,4.483,2998,4.862,2999,4.862,3000,7.271,3001,4.862,3002,4.862,3003,4.862,3004,4.862,3005,4.862,3006,4.862,3007,4.862,3008,4.862]],["title/637",[1084,4.65,3009,5.97]],["content/637",[5,0.698,8,1.534,19,0.73,21,2.213,24,0.912,26,0.889,34,2.07,36,1.299,37,0.686,55,1.028,62,0.65,64,0.892,65,0.402,71,1.603,97,2.304,100,0.628,102,3.024,104,0.658,113,0.698,115,0.954,119,1.217,131,1.177,142,0.573,153,2.038,154,1.266,175,1.277,196,2.146,233,0.563,248,0.814,249,2.203,252,2.489,253,2.768,254,0.804,306,0.6,311,0.535,312,0.889,313,0.535,328,0.961,375,0.68,376,0.889,409,0.608,422,1.039,448,3.249,454,1.411,460,1.405,462,3.139,472,1.039,477,1.84,493,0.999,495,0.698,526,0.597,527,1.404,531,1.026,538,2.284,621,0.546,626,1.277,641,0.637,655,1.501,657,0.535,659,1.079,687,2.038,720,0.812,773,1.277,829,1.073,892,2.616,898,0.737,899,1.009,900,0.51,917,0.737,961,2.38,1001,0.941,1024,1.039,1028,0.825,1095,0.984,1104,0.836,1124,0.616,1140,1.165,1157,0.73,1184,0.686,1190,1.173,1197,0.941,1209,0.875,1211,0.961,1224,1.009,1233,2.375,1243,1.009,1342,3.006,1344,0.941,1482,0.836,1502,0.861,1503,1.963,1512,2.554,1541,4.136,1661,0.875,1664,1.009,1682,1.165,1780,0.922,1873,3.476,1901,0.984,1902,1.114,1967,0.961,1991,0.961,2108,1.847,2132,2.132,2171,3.528,2190,1.759,2257,1.073,2374,1.165,2453,0.922,2489,1.009,2503,0.922,2506,1.073,2600,1.039,2751,0.961,2763,1.073,2769,2.714,2770,0.961,2771,1.114,2773,1.963,2775,1.009,2776,4.06,2778,2.948,2779,4.06,2783,2.038,2802,1.165,2859,2.038,2864,1.234,2868,4.498,2875,1.165,2881,1.234,2928,1.234,2929,1.165,2938,2.258,2958,1.234,2983,1.234,2985,1.234,3010,1.338,3011,2.449,3012,2.449,3013,2.449,3014,2.449,3015,2.449,3016,1.338,3017,1.338,3018,1.338,3019,1.338,3020,3.385,3021,1.338,3022,1.338,3023,1.338,3024,1.338,3025,1.338,3026,1.338,3027,1.338,3028,1.338,3029,1.338,3030,1.338,3031,1.338,3032,1.338,3033,1.338,3034,1.338,3035,1.234,3036,1.338,3037,1.234,3038,3.121,3039,1.165,3040,1.114,3041,1.338,3042,3.356,3043,1.338,3044,1.338,3045,1.114,3046,2.449,3047,1.338,3048,1.338,3049,1.338,3050,1.338,3051,1.338,3052,2.258,3053,1.338,3054,1.338,3055,1.234]],["title/638",[510,4.001]],["content/638",[510,5.597,565,4.9,600,6.357,602,6.663,976,4.334,1052,4.51,1697,7.599]],["title/639",[551,4.5]],["content/639",[]],["title/640",[891,4.415]],["content/640",[8,1.498,18,0.471,19,1.689,55,1.974,97,2.807,102,2.377,119,2.337,141,1.777,150,1.226,154,1.601,183,1.838,233,1.304,241,1.123,249,3.76,255,2.025,332,2.327,411,1.689,414,3.186,416,1.673,436,1.527,443,1.909,454,1.109,471,2.578,472,2.404,493,1.264,507,1.689,538,2.288,562,1.643,565,3.359,568,1.615,574,1.251,582,1.435,583,4.568,600,1.722,602,2.177,604,1.777,613,2.336,626,2.658,643,5.19,721,1.993,816,1.777,863,2.177,891,4.068,913,1.705,948,1.838,976,2.331,983,2.578,1001,2.177,1017,2.697,1059,1.909,1087,1.516,1123,1.861,1124,3.466,1133,1.705,1192,2.483,1547,2.277,1582,1.817,1670,1.758,1677,6.757,1780,2.134,1840,2.483,2073,2.095,2101,2.277,2506,4.087,2750,4.667,2766,2.483,2770,2.225,2775,2.336,2854,2.856,2856,4.244,2858,2.578,3056,5.099,3057,3.097,3058,3.097,3059,3.097,3060,3.097,3061,3.097,3062,2.578,3063,2.856,3064,2.856,3065,3.097]],["title/641",[2039,4.226]],["content/641",[8,0.988,162,4.486,436,3.815,454,1.682,512,5.556,513,4.033,565,3.999,583,5.438,643,5.33,672,4.067,891,4.178,976,3.537,1226,4.103,1609,6.438,1661,5.056,1760,5.232,1817,6.438,2039,5.204,3063,9.282,3064,9.282]],["title/598",[513,4.261]],["content/598",[]],["title/599",[436,4.031]],["content/599",[28,3.035,279,2.012,436,4.6,510,5.544,891,5.039,905,6.428,2034,7.037,3066,7.764,3067,7.764]],["title/600",[594,4.741]],["content/600",[8,0.863,101,4.607,439,3.965,499,3.685,512,4.854,543,4.854,589,3.216,594,6.514,596,5.625,599,8.012,602,4.751,891,3.651,905,4.657,1019,5.246,1184,3.465,1199,6.232,1639,6.232,1658,6.941,1661,4.418,1743,5.098,1941,4.285,3068,5.098,3069,5.625,3070,6.759,3071,8.484,3072,6.759,3073,6.759]],["title/601",[2072,4.639]],["content/601",[52,2.981,62,3.402,63,3.56,64,2.55,97,3.853,99,3.353,104,2.862,141,4.015,142,2.997,182,4.438,183,4.155,440,3.972,513,3.649,568,3.649,574,2.827,600,3.892,643,4.823,712,3.33,1061,4.438,2072,6.044,2108,7.108,2145,4.259,3074,6.095,3075,6.454,3076,7,3077,7]],["title/602",[48,2.786]],["content/602",[48,3.514,194,3.891,513,5.374,2815,8.264]],["title/603",[2072,4.639]],["content/603",[28,3.187,64,3.568,146,7.602,279,2.112,572,7.034,1061,6.209,3074,8.527]],["title/642",[8,0.827,469,4.303]],["content/642",[8,1.316,469,6.851,1568,6.633,2607,5.62]],["title/643",[8,0.827,896,3.674]],["content/643",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/644",[8,0.827,623,3.714]],["content/644",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/645",[8,0.684,574,2.164,1014,3.768]],["content/645",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/646",[8,0.684,574,2.164,1831,2.794]],["content/646",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/647",[8,0.827,651,3.32]],["content/647",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/648",[8,0.684,114,1.849,115,1.511]],["content/648",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/649",[8,0.827,513,3.375]],["content/649",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.78,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.559,1767,4.367,1831,3.693,2607,6.702]],["title/650",[8,0.684,63,2.726,484,1.738]],["content/650",[8,1.298,18,0.972,47,3.225,50,4.617,63,3.251,279,1.91,306,3.974,397,2.784,470,4.74,482,2.882,484,3.961,505,3.689,535,4.434,618,6.225,621,2.608,887,6.36,888,4.243,889,2.435,890,3.627,891,3.453,2607,3.485]],["title/651",[8,0.584,484,1.482,505,1.905,535,2.289]],["content/651",[8,1.298,18,0.972,47,3.225,50,4.617,63,3.251,279,1.91,306,3.974,397,2.784,470,4.74,482,2.882,484,3.961,505,3.689,535,4.434,618,6.225,621,2.608,887,6.36,888,4.243,889,2.435,890,3.627,891,3.453,2607,3.485]],["title/652",[8,0.584,397,1.992,484,1.482,535,2.289]],["content/652",[8,1.298,18,0.972,47,3.225,50,4.617,63,3.251,279,1.91,306,3.974,397,2.784,470,4.74,482,2.882,484,3.961,505,3.689,535,4.434,618,6.225,621,2.608,887,6.36,888,4.243,889,2.435,890,3.627,891,3.453,2607,3.485]],["title/653",[8,0.827,481,4.166]],["content/653",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/654",[8,0.684,589,2.55,617,3.042]],["content/654",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/655",[8,0.684,563,2.748,1832,2.748]],["content/655",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/656",[8,0.684,691,2.533,2021,3.768]],["content/656",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/657",[8,0.684,18,0.815,446,2.624]],["content/657",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/658",[8,0.684,565,2.771,1837,3.22]],["content/658",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/659",[8,0.827,1929,4.232]],["content/659",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.73,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.935,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.16,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.487,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.378,1832,5.16,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.163,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.511,1984,2.981,2021,4.87]],["title/660",[8,0.827,3078,4.166]],["content/660",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3078,5.254,3079,5.033,3080,3.733,3081,6.003]],["title/661",[8,0.827,3079,3.991]],["content/661",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3078,5.254,3079,5.033,3080,3.733,3081,6.003]],["title/662",[8,0.827,3080,2.96]],["content/662",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3078,5.254,3079,5.033,3080,3.733,3081,6.003]],["title/663",[8,0.451,64,1.288,65,1.062,1440,2.241,2071,2.179,3081,2.599]],["content/663",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3078,5.254,3079,5.033,3080,3.733,3081,6.003]],["title/664",[8,0.827,1832,3.32]],["content/664",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3078,5.254,3079,5.033,3080,3.733,3081,6.003]],["title/665",[8,0.684,539,2.643,1565,3.504]],["content/665",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/666",[1,3.939,8,0.827]],["content/666",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/667",[8,0.827,21,4.232]],["content/667",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/668",[8,0.827,32,2.338]],["content/668",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/669",[8,0.827,45,3.059]],["content/669",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/670",[8,0.827,14,2.601]],["content/670",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/671",[8,0.827,224,3.991]],["content/671",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.265,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/672",[8,0.584,279,0.986,3082,3.362,3083,2.782]],["content/672",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3078,4.069,3079,3.898,3080,2.891,3082,4.649,3083,3.847,3084,3.847]],["title/673",[8,0.584,279,0.986,499,2.493,3078,2.942]],["content/673",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3078,4.069,3079,3.898,3080,2.891,3082,4.649,3083,3.847,3084,3.847]],["title/674",[8,0.584,279,0.986,545,2.176,3079,2.819]],["content/674",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3078,4.069,3079,3.898,3080,2.891,3082,4.649,3083,3.847,3084,3.847]],["title/675",[8,0.684,535,2.684,551,2.951]],["content/675",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3078,4.069,3079,3.898,3080,2.891,3082,4.649,3083,3.847,3084,3.847]],["title/676",[8,0.584,279,0.986,3080,2.091,3084,2.782]],["content/676",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3078,4.069,3079,3.898,3080,2.891,3082,4.649,3083,3.847,3084,3.847]],["title/677",[8,0.584,279,0.986,484,1.482,1832,2.345]],["content/677",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3078,4.069,3079,3.898,3080,2.891,3082,4.649,3083,3.847,3084,3.847]],["title/678",[8,0.827,2751,4.65]],["content/678",[8,1.072,143,3.185,229,4.051,397,3.658,574,3.391,858,5.489,1021,4.765,1033,5.679,1069,4.378,1098,4.716,1136,5.248,1582,4.926,1836,5.177,2751,7.621,2912,7.743,2913,5.679]],["title/679",[8,0.827,551,3.564]],["content/679",[8,1.446,551,6.235,666,4.04,2038,4.993,3085,8.601,3086,7.764,3087,6.7,3088,8.601]],["title/680",[8,0.584,666,1.98,2038,2.447,3087,3.284]],["content/680",[8,1.446,551,6.235,666,4.04,2038,4.993,3085,8.601,3086,7.764,3087,6.7,3088,8.601]],["title/681",[8,0.827,2073,4.379]],["content/681",[8,1.411,114,3.415,115,2.79,279,2.134,454,1.639,460,2.529,508,4.529,509,4.529,513,3.93,568,3.93,589,3.586,617,4.277,651,3.865,684,3.302,900,2.872,1052,3.586,2039,3.897,2049,5.298,2073,5.098,2607,4.11]],["title/682",[8,0.684,589,2.55,617,3.042]],["content/682",[8,1.411,114,3.415,115,2.79,279,2.134,454,1.639,460,2.529,508,4.529,509,4.529,513,3.93,568,3.93,589,3.586,617,4.277,651,3.865,684,3.302,900,2.872,1052,3.586,2039,3.897,2049,5.298,2073,5.098,2607,4.11]],["title/683",[8,0.827,651,3.32]],["content/683",[8,1.411,114,3.415,115,2.79,279,2.134,454,1.639,460,2.529,508,4.529,509,4.529,513,3.93,568,3.93,589,3.586,617,4.277,651,3.865,684,3.302,900,2.872,1052,3.586,2039,3.897,2049,5.298,2073,5.098,2607,4.11]],["title/684",[3089,4.689]],["content/684",[279,1.954,479,4.252,507,3.602,509,3.97,539,3.258,546,3.211,578,4.984,579,3.876,604,3.79,900,2.517,911,3.97,1008,3.711,1028,4.073,1063,4.129,1065,5.128,1131,3.749,1620,2.895,1635,3.749,1643,4.129,1711,4.02,1818,4.129,1851,4.391,2063,5.128,3040,5.499,3066,5.499,3089,5.197,3090,5.499,3091,5.499,3092,6.607,3093,6.092,3094,4.391,3095,5.753,3096,5.499,3097,6.607]],["title/685",[3089,4.689]],["content/685",[279,1.585,411,4.007,421,4.729,441,5.892,442,6.776,443,4.531,493,2.998,521,3.497,532,5.279,539,3.624,542,6.117,543,5.279,605,4.659,891,3.97,900,2.8,1106,2.713,1659,5.166,1851,4.884,2037,5.892,2109,5.403,2914,5.166,2915,6.399,3069,6.117,3089,4.215,3098,7.35,3099,6.399,3100,7.35]],["title/686",[3101,8.175]],["content/686",[12,3.355,32,1.529,37,2.17,108,1.709,145,1.923,184,2.575,241,1.535,307,2.813,332,1.516,454,1.739,488,2.188,492,1.812,496,3.393,522,3.523,687,3.523,760,3.285,917,2.33,956,3.302,1021,2.402,1063,2.645,1075,3.685,1142,3.193,1195,3.285,1213,2.767,1244,3.112,1438,2.917,1485,2.767,1506,3.523,1597,2.975,1620,4.263,1635,3.713,1650,3.393,1743,3.193,1860,2.917,1904,3.393,2036,2.863,2055,3.523,2066,2.975,2086,3.523,2089,3.685,2162,3.285,2252,2.975,3066,5.446,3089,3.753,3093,6.033,3096,7.491,3099,3.685,3102,3.903,3103,3.903,3104,3.285,3105,4.233,3106,3.903,3107,3.285,3108,7.836,3109,4.233,3110,6.033,3111,6.544,3112,4.233,3113,3.523,3114,4.233,3115,3.685,3116,4.233,3117,4.233,3118,4.233,3119,4.233,3120,4.233]],["title/687",[3095,7.117]],["content/687",[143,3.517,183,4.058,454,1.487,529,3.068,539,3.372,562,3.627,900,2.605,915,3.126,1029,3.965,1133,3.764,1545,3.84,1589,4.806,1623,5.953,2101,5.027,2130,9.826,2570,8.76,3095,9.826,3099,5.953,3121,6.838,3122,5.953,3123,6.838,3124,6.304,3125,6.838,3126,5.953]],["title/688",[3078,5.26]],["content/688",[]],["title/689",[332,2.927]],["content/689",[]],["title/690",[249,1.433,279,0.684,482,1.033,1096,2.187,1713,2.642,2039,1.641,3127,1.684]],["content/690",[141,5.108,194,3.362,219,3.925,241,3.23,393,5.165,493,3.633,564,6.547,1730,5.418,1737,6.26,3128,6.912,3129,8.211,3130,8.906,3131,8.211]],["title/691",[626,2.794,945,3.144,3132,4.667]],["content/691",[20,4.206,88,3.103,142,2.997,311,2.798,397,4.104,454,1.522,543,5.028,574,2.827,626,5.94,646,3.141,1131,3.972,1165,3.619,1178,4.921,1211,5.028,1689,6.095,1730,4.259,1743,7.108,1843,4.375,2038,3.746,2913,4.734,3127,3.713,3132,6.095,3133,5.433,3134,5.826,3135,8.204]],["title/692",[99,0.654,104,0.367,148,0.744,279,0.294,454,0.542,494,1.004,551,0.751,605,0.865,626,0.712,641,0.649,900,0.95,1403,0.783,1659,0.96,2038,1.335,2072,0.775,3136,1.189,3137,1.365]],["content/692",[18,0.82,35,2.641,74,1.573,99,2.585,148,4.281,162,3.13,176,2.273,185,2.467,219,4.48,233,2.273,279,1.164,400,2.813,454,1.707,484,3.001,493,2.201,513,2.813,551,2.971,563,2.767,587,2.324,626,2.813,672,2.837,888,4.434,916,3.13,1659,3.793,1711,3.283,1892,4.841,2038,4.203,2039,2.79,2072,4.456,2155,4.188,2298,3.65,2328,3.65,2570,4.491,2815,4.326,3127,4.165,3136,6.837,3138,3.472,3139,3.586,3140,4.491,3141,4.976,3142,4.698,3143,5.397]],["title/693",[3079,5.039]],["content/693",[]],["title/694",[332,2.927]],["content/694",[]],["title/695",[279,1.396,545,3.08]],["content/695",[0,1.782,18,0.626,28,1.339,64,1.499,65,1.237,74,1.199,101,3.205,108,1.661,115,1.16,133,2.571,142,1.762,146,3.193,256,2.386,279,1.911,313,3.141,378,2.11,379,1.971,397,1.792,458,3.337,470,2.202,482,2.884,487,3.104,488,2.127,490,2.835,500,4.506,519,1.957,535,2.06,538,1.449,545,4.217,568,2.145,579,2.413,614,2.442,720,1.365,889,2.439,1016,2.734,1025,2.927,1152,2.287,1156,4.706,1198,2.145,1399,3.298,1575,2.222,1722,2.472,2047,3.298,2116,2.571,2139,2.689,2254,3.794,2263,2.287,2270,3.193,2328,2.783,2510,3.582,3094,2.734,3144,3.193,3145,3.794,3146,3.424,3147,4.115,3148,4.115,3149,3.794,3150,3.025,3151,3.424,3152,3.298,3153,3.582,3154,4.115,3155,4.115,3156,3.298,3157,2.835,3158,3.424,3159,3.794,3160,3.794,3161,3.582,3162,3.424,3163,3.025,3164,4.115]],["title/696",[8,0.584,279,0.986,505,1.905,545,2.176]],["content/696",[8,1.316,505,4.295,545,4.904,3165,8.975]],["title/697",[64,1.666,312,3.039,482,1.488,545,2.176]],["content/697",[36,4.585,185,4.941,454,1.879,458,4.506,482,2.813,490,5.956,526,3.855,1116,4.879,3150,7.945,3151,7.194,3152,6.93,3166,7.97]],["title/698",[279,0.986,482,1.488,529,2.052,545,2.176]],["content/698",[279,2.33,458,4.506,482,3.516,490,5.956,529,3.879,545,5.141,587,3.722,614,5.13,1757,6.93,2365,4.758,2507,6.93,2976,5.956]],["title/699",[194,1.505,279,0.86,501,2.697,504,2.154,545,1.897]],["content/699",[175,4.573,279,1.892,454,1.907,502,5.933,531,3.674,545,4.174,1038,4.695,1545,4.927,2976,6.045,3167,8.089,3168,7.302,3169,6.809,3170,6.809,3171,6.809]],["title/700",[484,2.099,2365,3.564]],["content/700",[28,2.199,65,2.031,99,3.238,114,2.332,115,1.906,154,4.757,306,3.033,308,3.261,482,2.199,484,3.392,490,6.341,491,4.969,531,2.831,1025,3.09,1052,3.216,1545,3.796,1757,7.377,1831,3.524,2365,6.183,2507,7.377,2976,7.209,3146,5.625,3172,6.759]],["title/701",[64,1.953,1776,2.922,3173,4.16]],["content/701",[0,3.857,64,3.244,218,4.766,241,3.23,279,1.92,331,4.855,454,1.936,507,4.855,614,5.286,1774,7.412,1776,4.855,3174,8.211,3175,8.211]],["title/702",[108,2.164,994,3.504,3176,5.36]],["content/702",[398,5.468,621,4.205,2738,7.246,3177,10.309]],["title/703",[545,3.08,584,4.76]],["content/703",[114,2.982,115,2.437,194,3.263,313,3.455,482,2.813,584,7.945,1015,4.626,1619,7.194,2365,4.758,3178,7.97,3179,7.194,3180,7.97,3181,7.194,3182,7.97]],["title/704",[49,1.79,1551,3.939]],["content/704",[]],["title/705",[20,1.731,108,1.163,115,0.812,379,1.38,535,1.442,545,1.37,2263,1.601,3157,1.985]],["content/705",[51,3.165,55,2.007,101,4.536,108,3.658,115,2.915,311,2.641,313,3.622,379,3.165,450,3.602,454,1.437,500,5.197,535,3.308,545,3.143,1087,3.234,1155,4.129,1156,6.661,1198,3.445,1485,4.319,1722,3.97,1828,5.128,2072,3.749,2263,5.037,3157,4.553,3158,5.499,3183,6.092,3184,5.297,3185,4.745,3186,6.607]],["title/706",[74,1.162,133,2.492,375,2.028,535,1.996,1152,2.217]],["content/706",[18,1.052,74,2.724,112,2.201,133,4.323,134,2.016,313,2.765,400,3.606,482,3.042,521,3.291,535,4.68,559,3.669,646,3.104,665,5.362,889,2.636,1025,3.163,1152,3.846,1198,4.873,1386,4.058,1709,4.385,1722,4.156,1795,5.369,1934,5.546,2173,4.968,2365,3.808,3094,4.597,3187,6.378,3188,6.023]],["title/707",[397,2.82,545,3.08]],["content/707",[]],["title/708",[279,0.86,375,2.028,545,1.897,646,1.789,2365,2.195]],["content/708",[18,0.983,51,3.096,65,1.942,74,2.601,107,4.039,114,2.229,115,1.822,133,4.039,142,2.767,152,3.287,279,1.924,313,2.583,379,3.096,454,1.405,477,2.168,482,2.103,484,2.095,524,2.692,535,3.235,545,3.074,559,3.428,619,3.791,646,4.004,652,3.984,1071,3.707,1152,3.593,1198,3.369,1404,4.641,1722,3.883,2039,3.341,2072,5.064,2263,3.593,2365,3.557,3157,4.453]],["title/709",[279,0.986,545,2.176,646,2.052,2365,2.517]],["content/709",[12,3.35,51,3.13,115,1.842,135,3.109,142,2.798,233,2.752,241,2.37,279,1.409,311,2.612,313,2.612,454,1.421,482,2.926,545,3.109,619,3.833,652,4.028,827,3.633,857,4.693,895,3.878,900,2.489,915,2.987,976,2.987,1104,4.083,1502,4.204,1540,3.497,1620,2.863,1828,5.071,1892,4.028,2045,4.804,2072,5.102,2333,5.071,2365,4.95,3157,4.502,3185,4.693,3189,6.025]],["title/710",[484,2.65]],["content/710",[]],["title/711",[28,1.033,454,0.69,484,1.029,513,1.655,1760,2.147,1877,2.464,3190,2.927]],["content/711",[28,2.517,37,3.966,240,4.067,458,4.033,484,3.628,485,3.606,513,5.248,672,4.067,910,6.438,1377,4.39,1589,5.438,1760,5.232,1877,6.004,3168,8.379,3191,7.133,3192,7.133,3193,5.835,3194,5.687,3195,7.133]],["title/712",[279,0.762,484,1.146,563,1.812,1848,2.349,1933,2.834,3196,3.077]],["content/712",[0,3.44,77,5.474,228,4.177,229,3.833,279,1.713,305,6.166,436,3.917,484,2.575,539,3.917,563,5.251,657,3.176,719,5.193,1069,4.142,1244,5.841,1933,8.211,2238,6.612,3197,8.917,3198,7.325]],["title/713",[486,3.08,1635,3.674]],["content/713",[]],["title/714",[18,0.483,29,2.545,142,1.359,1165,1.641,1666,2.545,3199,2.642,3200,2.927]],["content/714",[194,3.216,279,1.837,484,2.762,531,3.568,545,4.053,666,3.689,1165,4.404,1674,6.118,2277,8.077,3144,6.612,3201,8.519,3202,8.519,3203,6.612,3204,7.855,3205,4.94]],["title/715",[65,1.198,104,1.071,1062,3.676,1742,2.65,1760,2.697]],["content/715",[19,4.855,65,2.676,104,3.21,460,2.988,493,3.633,659,3.925,1060,6.26,1116,4.021,1502,5.73,1760,6.023,3206,8.211]],["title/716",[29,3.666,562,2.426,574,1.846,1483,3.981]],["content/716",[18,1.334,102,4.09,241,3.182,436,4.326,531,4.971,562,4.653,574,3.542,942,5.83,1438,6.045,1732,5.561,2063,6.809,3207,8.773]],["title/717",[19,1.927,279,0.762,482,1.15,545,1.682,2365,1.946,3208,3.535]],["content/717",[19,3.772,104,1.859,115,1.95,171,4.012,194,2.611,279,2.016,436,3.411,529,3.104,545,4.447,562,3.669,592,3.576,646,3.104,683,4.385,684,3.031,789,5.758,1054,4.156,1182,6.023,1251,4.679,1265,4.451,1438,4.767,1583,4.863,1635,3.926,2072,3.926,2197,4.209,3206,6.378,3209,6.378,3210,6.023,3211,6.378,3212,6.378,3213,6.378]],["title/718",[484,1.482,545,2.176,2365,2.517,3179,3.806]],["content/718",[88,3.165,108,1.916,311,2.854,395,2.887,454,1.552,460,1.592,484,3.993,517,2.156,521,2.257,526,2.116,545,3.396,559,2.517,590,3.579,621,1.935,661,2.612,712,2.257,827,3.969,892,2.965,898,2.612,912,2.751,976,3.264,1002,3.209,1116,2.142,1157,2.587,1190,2.273,1219,3.682,1243,3.579,1583,5.018,1635,4.051,1818,5.967,2145,2.887,2365,5.922,2732,4.828,3138,3.053,3179,5.941,3214,7.913,3215,4.744,3216,7.139,3217,4.744]],["title/719",[3080,3.738]],["content/719",[]],["title/720",[332,2.927]],["content/720",[]],["title/721",[8,0.451,249,1.596,279,0.762,505,1.473,3080,1.616,3084,2.151]],["content/721",[8,1.316,505,4.295,3080,4.713,3218,8.975]],["title/722",[194,1.505,279,0.86,501,2.697,504,2.154,3084,2.426]],["content/722",[88,4.271,194,3.637,526,4.297,1619,8.018,1832,4.939,1942,6.516,1943,6.516,3219,8.883]],["title/723",[64,1.953,1776,2.922,3173,4.16]],["content/723",[0,3.857,64,3.244,218,4.766,241,3.23,279,1.92,331,4.855,454,1.936,507,4.855,614,5.286,1774,7.412,1776,4.855,3174,8.211,3175,8.211]],["title/724",[499,2.922,529,2.405,1848,3.562]],["content/724",[241,2.633,279,1.565,488,3.753,536,4.909,537,4.909,572,5.213,605,4.602,1054,4.361,1132,4.602,1616,5.634,1635,5.479,1732,4.602,1846,4.21,1848,6.416,2036,4.909,2196,6.042,3127,3.85,3210,6.32,3211,6.693,3212,6.693,3213,6.693,3220,7.259,3221,6.693,3222,6.042,3223,6.042,3224,7.259]],["title/725",[240,1.186,279,0.486,586,1.266,684,0.988,1377,1.28,3104,1.75,3225,1.75,3226,1.607,3227,1.689]],["content/725",[24,2.658,100,2.227,107,2.965,184,2.887,240,5.869,279,1.023,311,1.896,313,1.896,505,1.976,521,2.257,524,1.976,570,3.579,582,2.197,592,2.453,619,2.783,646,2.129,658,4.374,719,3.101,720,1.573,864,3.101,900,2.72,1063,2.965,1139,2.887,1165,2.453,1211,5.127,1277,5.248,1282,4.131,1377,4.051,1541,3.579,1563,2.751,1635,2.692,1671,3.949,1767,4.401,1804,3.488,1853,3.682,2007,3.949,2108,3.579,2382,3.579,3104,5.54,3162,3.949,3225,3.682,3226,3.538,3227,4.434,3228,4.131,3229,4.131,3230,4.374,3231,4.744,3232,3.209,3233,3.803,3234,4.374,3235,2.887,3236,4.744]],["title/726",[241,1.446,1662,2.492,3227,1.727,3237,2.697,3238,3.987]],["content/726",[8,1.36,71,2.047,176,2.948,185,4.308,332,2.507,398,4.998,492,4.035,720,2.322,773,3.649,976,3.201,1136,4.375,1198,3.649,2108,5.28,2738,6.624,3173,5.433,3193,7.108,3232,4.734,3239,7.554,3240,4.652,3241,5.612,3242,6.454,3243,6.454,3244,5.433]],["title/727",[484,2.65]],["content/727",[]],["title/728",[28,1.033,454,0.69,484,1.029,513,1.655,1760,2.147,1877,2.464,3190,2.927]],["content/728",[28,2.517,37,3.966,240,4.067,458,4.033,484,3.628,485,3.606,513,5.248,672,4.067,910,6.438,1377,4.39,1589,5.438,1760,5.232,1877,6.004,3168,8.379,3191,7.133,3192,7.133,3193,5.835,3194,5.687,3195,7.133]],["title/729",[279,0.762,484,1.146,563,1.812,1848,2.349,1933,2.834,3196,3.077]],["content/729",[0,3.44,77,5.474,228,4.177,229,3.833,279,1.713,305,6.166,436,3.917,484,2.575,539,3.917,563,5.251,657,3.176,719,5.193,1069,4.142,1244,5.841,1933,8.211,2238,6.612,3197,8.917,3198,7.325]],["title/736",[64,1.452,65,1.198,1440,2.528,2071,2.458,3081,2.931]],["content/736",[]],["title/737",[332,2.927]],["content/737",[]],["title/738",[64,1.452,65,1.198,279,0.86,2071,2.458,3144,3.095]],["content/738",[0,1.089,37,1.29,64,3.133,65,3.107,74,1.248,75,1.413,78,2.313,88,2.927,103,1.18,107,1.572,108,1.016,114,0.868,115,0.709,175,1.311,184,1.53,194,1.617,241,0.912,249,1.136,251,1.701,279,1.424,309,1.346,311,1.712,312,1.672,313,2.236,321,1.768,395,1.53,426,3.433,454,0.547,477,2.485,482,2.798,485,1.173,488,1.3,490,2.951,492,1.077,493,1.026,500,1.443,505,1.048,521,1.197,524,1.784,538,2.608,545,1.197,562,1.334,574,1.016,587,2.843,592,1.3,604,3.787,621,1.026,646,1.129,657,1.712,665,1.443,689,2.19,695,1.53,761,1.53,867,1.511,885,1.849,889,0.958,912,2.484,956,1.269,1025,1.15,1116,1.136,1139,1.53,1173,3.076,1190,2.68,1195,1.952,1244,1.849,1440,5.452,1527,1.644,1545,2.405,1662,1.572,1670,2.43,1675,1.595,1699,2.319,1760,1.701,1777,1.672,1818,1.572,1843,1.572,2071,4.968,2076,1.595,2116,1.572,2363,2.093,2382,1.897,2976,2.951,3081,6.323,3107,1.952,3138,1.619,3149,3.949,3150,3.149,3229,2.19,3245,2.515,3246,2.093,3247,2.016,3248,2.515,3249,2.319,3250,2.515,3251,4.283,3252,2.515,3253,4.283,3254,2.515,3255,2.515,3256,2.515]],["title/739",[65,1.374,2071,2.819,3257,3.806,3258,3.549]],["content/739",[65,3.161,313,3.31,482,2.694,490,5.705,889,3.154,1061,5.249,1106,3.056,1675,6.667,2071,7.125,3150,6.087,3152,6.637,3259,7.209,3260,8.28,3261,8.28]],["title/740",[64,1.895,308,1.531,523,1.984,3257,2.642,3258,2.464,3262,2.927]],["content/740",[64,4.01,308,4.297,585,5.73,1662,5.565,2071,6.786,3257,7.412,3258,6.912,3262,10.15,3263,8.906,3264,6.547]],["title/741",[524,1.905,1479,3.806,2071,2.819,3265,2.989]],["content/741",[18,1.259,114,2.856,115,2.334,185,5.284,219,3.649,439,4.857,482,3.422,490,5.705,657,3.31,1052,3.939,1254,4.749,2071,5.104,3140,6.891,3150,6.087,3152,6.637]],["title/742",[64,1.288,252,2.599,466,2.179,582,1.637,1512,2.666,2364,2.151]],["content/742",[64,4.103,252,7.465,279,1.69,466,6.259,482,2.551,490,5.401,493,3.198,684,3.434,1165,4.052,1512,7.659,2071,6.259,2365,4.315,3266,6.284,3267,7.227,3268,7.839,3269,7.839]],["title/730",[1832,4.191]],["content/730",[]],["title/731",[332,2.927]],["content/731",[]],["title/732",[279,0.986,482,1.488,484,1.482,900,1.742]],["content/732",[35,2.732,51,3.36,88,1.535,143,1.313,240,1.82,241,2.025,249,2.52,279,1.204,306,1.553,307,2.3,310,4.126,313,1.384,407,2.433,421,2.227,440,1.964,454,0.753,460,1.161,466,2.134,474,2.054,484,1.81,526,1.544,527,1.985,531,2.938,540,2.3,556,3.649,557,3.409,559,1.836,579,2.03,585,2.227,589,1.647,594,2.007,615,2.227,621,1.412,641,1.647,646,1.553,661,1.906,684,3.525,691,3.314,721,2.227,761,2.106,858,2.263,859,2.3,888,2.674,890,3.168,898,1.906,900,2.127,907,2.263,976,1.583,1002,2.341,1010,2.106,1025,1.583,1072,2.775,1076,1.887,1173,2.486,1239,2.881,1250,2.545,1258,3.192,1389,2.433,1568,2.227,1575,1.87,1611,2.775,1662,2.163,1664,2.611,1674,2.486,1724,2.385,1767,2.134,1839,2.341,1841,2.08,1844,3.924,1846,2.007,1853,2.687,1970,1.906,2072,1.964,2322,2.341,2669,2.611,2742,2.611,3091,2.881,3127,1.836,3193,2.611,3194,5.157,3270,3.192,3271,3.313,3272,3.014,3273,3.462,3274,3.014,3275,5.838,3276,5.147]],["title/733",[104,1.229,279,0.986,400,2.384,484,1.482]],["content/733",[18,0.673,65,2.034,69,1.52,71,1.294,104,2.475,143,1.678,150,1.751,219,1.949,233,1.863,279,1.46,308,4.444,375,2.25,407,3.109,443,2.727,460,1.484,470,2.368,482,1.439,484,2.665,526,1.973,557,3.289,573,2.51,587,1.905,613,3.337,615,2.846,621,1.805,624,2.368,653,2.891,691,4.352,720,1.467,721,2.846,888,2.119,900,2.579,956,2.232,1025,2.023,1054,2.658,1106,1.633,1143,2.691,1239,3.682,1592,3.048,1684,3.433,1970,3.726,2034,3.337,2072,3.841,2127,3.048,2247,4.079,2298,2.992,3205,2.565,3270,4.079,3271,4.88,3277,3.682,3278,4.079,3279,4.424,3280,3.433,3281,4.977,3282,4.424,3283,4.079,3284,4.424,3285,4.079,3286,4.079,3287,3.177]],["title/734",[3288,7.117]],["content/734",[]],["title/735",[279,0.621,484,0.934,589,1.37,615,1.854,1818,1.8,1945,2.656,3289,2.881,3290,2.881]],["content/735",[88,1.932,233,1.835,279,1.443,313,1.742,436,2.149,454,0.948,460,1.462,484,2.169,502,2.947,504,2.354,507,2.376,526,2.985,531,3.412,538,1.535,541,3.287,559,2.312,574,1.76,621,1.778,626,2.272,641,2.073,643,3.003,661,2.399,683,2.763,744,2.587,827,2.423,907,2.849,976,1.993,1015,2.332,1119,2.804,1142,3.287,1148,3.794,1521,4.806,1558,3.13,1583,3.063,1635,3.798,1689,3.794,1839,2.947,1846,2.527,2036,5.51,2145,2.652,2258,3.794,3127,2.312,3136,3.794,3169,3.383,3170,3.383,3171,3.383,3219,4.018,3275,3.627,3291,4.358,3292,4.358,3293,4.358,3294,3.794,3295,3.627,3296,4.358,3297,3.287,3298,4.358,3299,4.358,3300,4.358,3301,4.358,3302,4.358,3303,4.358,3304,4.358,3305,4.358,3306,4.358,3307,4.358,3308,4.358,3309,4.358,3310,4.358,3311,4.358,3312,4.358,3313,4.358,3314,4.358,3315,4.358]],["title/743",[279,1.396,481,4.166]],["content/743",[18,1.186,28,2.996,44,3.685,185,2.445,241,1.94,249,2.414,279,1.682,313,2.138,332,1.915,454,1.163,477,2.617,482,2.538,529,2.4,531,2.24,535,2.677,539,2.637,714,2.637,720,2.587,891,2.888,911,3.213,1016,3.554,1025,4.21,1027,5.184,1033,5.275,1065,4.15,1276,3.685,1475,3.441,1482,3.342,1626,3.39,1627,3.685,1635,3.034,1691,3.296,1708,3.617,1709,3.39,1722,3.213,2034,4.034,2043,4.93,2044,4.034,2112,4.15,3316,5.348,3317,4.656,3318,4.93,3319,4.656,3320,4.656,3321,4.656,3322,4.451]],["title/744",[3323,7.117]],["content/744",[18,1.227,28,3.567,37,4.136,52,2.385,74,1.633,112,1.782,134,1.633,228,4.242,243,3.501,311,2.239,378,2.872,482,1.823,488,2.896,503,5.165,519,2.665,538,1.973,587,2.412,620,3.501,652,3.453,688,3.114,773,2.92,973,4.348,1005,4.877,1035,3.026,1045,2.971,1072,4.491,1226,2.971,1234,4.662,1628,4.023,1650,4.491,1709,5.114,1736,4.662,1769,5.165,2257,4.491,3246,6.714,3319,7.024,3324,5.602,3325,4.348,3326,4.877,3327,5.602,3328,5.165,3329,5.165]],["title/745",[3330,6.166]],["content/745",[18,1.423,28,2.592,52,1.448,74,2.02,84,2.097,103,1.596,131,1.183,134,2.549,150,1.346,171,1.973,228,3.645,229,2.655,242,2.601,279,0.733,306,1.526,311,1.36,313,1.36,314,1.872,332,1.971,454,1.902,458,1.773,482,1.107,485,2.566,492,2.357,517,1.545,563,1.744,646,1.526,714,1.677,720,2.299,976,1.555,981,2.261,1016,2.261,1027,2.261,1028,2.097,1035,2.973,1038,1.821,1045,1.804,1055,2.261,1071,1.951,1087,1.665,1098,1.91,1106,2.559,1121,4.114,1122,2.501,1144,3.228,1156,2.501,1170,3.542,1477,1.973,1547,2.501,1548,2.261,1563,1.973,1573,2.301,1620,1.49,1626,2.156,1627,2.344,1635,1.93,1691,2.097,1708,2.301,1709,2.156,1716,2.727,1722,3.307,1752,2.391,1772,2.301,1788,2.64,1804,2.501,1824,2.64,2046,2.64,2489,2.566,3246,2.831,3331,3.402,3332,3.402,3333,3.402,3334,3.402,3335,3.402,3336,3.402,3337,2.831,3338,3.402,3339,3.402,3340,2.64,3341,3.136,3342,3.402,3343,3.402,3344,3.402,3345,3.136,3346,2.962]],["title/746",[1708,4.379,1709,4.104]],["content/746",[18,1.333,28,1.311,74,1.175,103,1.891,112,1.282,131,3.049,134,2.772,175,2.101,194,1.521,229,1.944,254,2.421,279,1.358,306,1.808,311,1.611,313,1.611,374,2.963,395,2.452,409,1.831,415,3.083,454,0.876,470,2.157,477,1.352,482,2.049,485,1.879,486,1.917,492,1.726,505,1.679,529,1.808,556,2.634,588,1.973,655,1.787,688,2.24,889,2.4,956,2.033,1025,1.843,1027,2.678,1036,3.509,1037,3.128,1055,4.186,1063,2.519,1071,2.312,1076,2.197,1106,1.487,1113,2.726,1144,3.695,1158,3.509,1526,3.231,1551,2.452,1626,3.993,1627,4.34,1691,3.883,1708,4.26,1709,5.557,1722,4.658,1751,4.751,1792,3.716,2093,3.04,2108,3.04,3200,3.716,3325,3.128,3347,4.03,3348,4.03,3349,4.03,3350,4.03,3351,4.03,3352,4.03,3353,4.03]],["title/747",[1691,3.991,1722,3.89]],["content/747",[28,1.484,37,3.552,45,3.274,54,3.084,131,1.586,134,3.307,194,1.722,279,0.983,311,1.823,377,2.463,415,2.232,482,1.484,486,2.17,492,1.953,521,3.296,529,2.046,549,3.142,582,2.112,777,2.775,867,2.74,1035,2.463,1116,2.059,1144,2.675,1616,3.54,1620,1.998,1637,4.205,1684,5.378,1691,2.811,1708,3.084,1709,5.311,1711,2.775,1722,2.74,1725,5.766,1777,3.031,1795,3.54,2108,3.44,2861,4.205,3104,3.54,3233,3.656,3354,4.205,3355,3.971,3356,4.561,3357,4.561,3358,4.561,3359,4.561,3360,4.561,3361,4.205,3362,5.554,3363,7.502,3364,3.275,3365,4.561,3366,4.561,3367,4.205,3368,4.561,3369,4.205,3370,4.561,3371,4.561,3372,4.561]],["title/748",[1144,3.798,1626,4.104]],["content/748",[18,1.378,47,2.627,48,2.607,49,2.115,51,2.494,69,2.628,131,1.811,134,3.353,151,4.715,194,1.965,240,2.737,243,3.253,249,2.35,311,2.081,379,2.494,398,2.761,415,3.744,458,2.714,492,2.229,559,4.057,744,3.09,1003,3.827,1035,2.812,1045,2.761,1106,1.921,1143,3.167,1144,5.862,1158,4.532,1202,5.623,1485,3.403,1554,4.04,1588,3.927,1626,5.747,1628,3.739,1632,4.173,1733,4.333,2298,3.521,2606,4.8,3355,6.659]],["title/749",[1702,6.345]],["content/749",[18,1.577,20,3.145,52,1.362,69,1.799,73,1.761,74,1.937,99,2.508,104,0.859,131,3.947,132,6.156,133,5.294,134,3.573,145,1.453,152,1.627,181,2.297,182,2.028,183,3.107,241,1.16,242,4.298,308,3.206,314,3.658,331,1.744,374,3.849,406,1.577,409,3.019,415,1.566,446,1.566,476,3.479,477,1.756,479,4.942,546,1.554,557,1.554,559,1.696,589,2.49,619,3.071,887,2.297,891,2.827,896,1.815,951,1.855,976,1.462,1087,1.566,1141,2.412,1144,1.876,1149,2.564,1175,3.849,1404,2.297,1601,2.351,1615,2.248,1626,2.028,1691,1.972,1702,2.482,1722,1.922,2474,2.949,2869,2.785,3373,2.785,3374,3.198,3375,3.198,3376,2.949]],["title/750",[151,3.991,375,3.293]],["content/750",[18,1.446,28,1.674,47,1.579,48,2.584,49,2.63,50,1.632,62,1.521,69,1.076,74,0.912,131,2.277,132,2.509,134,1.499,135,1.489,151,4.673,176,1.318,228,1.646,229,1.51,279,0.675,311,3.348,313,1.251,331,1.707,332,1.842,374,2.301,375,3.856,377,4.095,393,1.815,454,1.118,477,1.05,482,1.674,497,2.117,504,5.138,515,1.956,524,1.304,562,1.66,568,1.632,581,2.24,641,2.447,688,1.74,873,2.248,889,2.494,1003,2.301,1032,2.117,1038,1.675,1063,1.956,1106,1.898,1137,2.117,1139,1.905,1143,1.905,1144,3.017,1152,1.74,1165,1.618,1190,1.5,1254,1.795,1395,3.418,1501,2.509,1505,2.605,1536,2.725,1540,1.675,1551,1.905,1624,2.605,1701,2.301,1721,2.117,1733,2.605,1957,1.881,2066,2.2,2298,2.117,2322,3.479,2913,2.117,3161,2.725,3321,2.725,3322,2.605,3325,2.43,3355,2.725,3377,3.13,3378,2.725,3379,3.13,3380,2.886,3381,3.13,3382,2.886,3383,2.886,3384,2.509,3385,3.13,3386,2.43,3387,2.886,3388,2.605,3389,2.886]],["title/751",[895,4.852]],["content/751",[28,3.035,44,6.428,279,2.012,895,5.537,915,4.265,941,7.037,1029,5.41,1276,6.428,2074,6.858,3390,7.764]],["title/752",[2074,4.76,3390,5.389]],["content/752",[]],["title/753",[12,2.345,48,1.559,49,1.264,3391,4.573]],["content/753",[12,3.426,18,1.388,44,4.604,48,3.81,49,3.091,52,2.845,74,1.948,104,1.795,150,2.645,279,1.441,379,3.201,380,3.346,394,4.368,454,2.261,485,3.115,517,3.036,714,4.502,893,5.041,895,3.966,1106,2.466,1485,4.368,1563,3.875,1573,4.519,1592,4.604,1711,4.066]],["title/754",[377,3.497,504,3.497]],["content/754",[18,1.27,35,2.879,49,3.089,135,3.974,151,3.626,332,2.106,375,2.991,377,4.512,380,2.945,492,3.577,497,3.978,498,3.534,504,4.512,520,6.277,582,2.724,657,2.351,720,1.951,889,2.241,891,3.177,912,3.411,951,3.411,1032,3.978,1081,3.676,1091,4.324,1093,3.785,1133,3.238,1157,3.207,1501,4.715,1880,5.121,2322,3.978,3232,3.978,3390,4.895,3392,5.882,3393,5.423,3394,5.423]],["title/755",[941,6.166]],["content/755",[28,2.453,35,3.69,88,3.342,247,5.85,279,1.625,415,3.69,453,6.275,720,2.5,895,5.875,1011,6.274,1093,4.85,1131,4.277,1498,5.85,1955,6.563,2886,6.563,2976,5.194,3067,6.274,3194,5.542,3384,6.043,3395,6.043,3396,7.538,3397,7.538,3398,7.538]],["title/756",[48,2.207,49,1.79]],["content/756",[0,3.144,8,0.927,48,2.474,49,2.007,88,3.218,241,2.633,247,5.634,332,2.599,377,3.921,415,3.553,454,1.578,455,5.859,497,4.909,498,4.361,686,4.308,873,6.934,894,5.002,995,6.042,997,6.042,1004,5.819,1106,2.679,1265,6.212,1540,3.885,3399,6.693]],["title/757",[379,3.916]],["content/757",[48,2.672,49,2.167,88,3.475,112,2.494,176,3.301,241,2.843,331,4.274,379,4.864,415,3.837,453,4.969,454,1.704,455,4.234,562,4.158,642,5.63,712,3.729,873,5.63,913,4.315,1127,6.524,2505,7.227,3400,7.227,3401,7.839]],["title/758",[18,0.984,104,1.74]],["content/758",[12,1.58,18,1.436,34,1.163,35,1.508,37,1.58,48,2.559,49,2.296,54,2.084,55,0.936,74,1.48,104,2.231,241,2.348,279,0.664,321,2.166,332,1.103,379,3.978,380,3.759,394,2.014,406,2.503,415,3.169,454,1.943,455,2.742,477,2.519,484,0.999,485,2.367,492,1.319,493,1.257,495,1.606,529,1.383,581,1.342,582,1.427,588,1.508,657,2.588,664,1.456,671,1.713,686,5.607,714,1.519,720,1.022,761,3.089,796,1.713,888,1.476,893,2.324,894,5.722,898,1.696,941,2.324,949,2.123,951,1.787,995,2.564,997,4.225,1004,2.47,1025,1.409,1027,2.048,1049,2.391,1063,1.926,1092,3.646,1098,1.73,1106,1.137,1137,2.084,1157,1.68,1201,1.983,1386,1.807,1423,1.899,1438,2.123,1563,1.787,1573,3.434,1580,4.681,1588,2.324,1737,2.166,2085,2.324,2948,1.851,3009,4.681,3087,2.213,3274,2.683,3402,2.841,3403,2.841,3404,6.475,3405,5.077]],["title/759",[415,3.169,948,3.843]],["content/759",[28,2.898,135,4.237,454,1.936,498,5.35,921,7.754,948,5.286,1008,5.001,1243,6.717,1635,5.054,2976,6.136,3406,8.906,3407,8.906,3408,8.906]],["title/760",[498,3.22,514,3.144,515,3.35]],["content/760",[]],["title/761",[498,3.22,514,3.144,515,3.35]],["content/761",[49,1.643,150,2.351,175,3.097,313,4.654,439,3.485,453,3.766,454,1.292,488,3.071,498,5.055,507,3.239,514,4.935,515,6.105,521,2.826,538,2.092,568,3.097,646,2.666,951,3.445,952,4.544,1038,4.503,1124,3.871,1545,3.336,1575,3.209,1711,3.615,3090,4.944,3183,5.478,3233,4.762,3409,5.941,3410,5.478,3411,5.941,3412,5.941,3413,5.941,3414,5.941,3415,5.941,3416,5.941]],["title/762",[279,0.986,498,2.747,514,2.682,515,2.858]],["content/762",[28,1.726,37,1.667,48,1.108,49,1.467,108,1.313,134,2.672,136,2.523,256,3.077,279,0.701,311,1.3,313,1.3,394,2.125,454,1.461,474,3.149,482,1.058,485,1.516,495,1.695,497,2.199,498,5.507,514,4.549,515,4.847,521,1.547,527,1.865,557,3.769,570,5.07,582,2.457,619,3.112,621,1.326,684,1.424,753,6.455,777,4.089,827,1.808,864,2.125,913,2.921,931,2.092,952,1.756,956,2.677,1001,2.285,1022,2.24,1063,2.032,1093,2.092,1097,2.606,1116,1.468,1189,2.335,1249,2.285,1548,2.161,1551,1.978,1804,2.39,1957,5.134,2178,1.978,2878,4.619,3089,1.865,3162,2.706,3297,2.452,3362,2.606,3363,5.388,3367,6.197,3386,2.523,3417,2.706,3418,2.523,3419,6.137,3420,3.251,3421,3.251,3422,3.251,3423,3.251,3424,5.306,3425,2.998,3426,3.251,3427,3.251,3428,2.706,3429,2.998,3430,3.251,3431,2.998,3432,2.706,3433,2.998,3434,2.706,3435,2.831,3436,3.251]],["title/763",[498,2.395,514,2.339,515,2.492,952,2.154,1203,3.196]],["content/763",[279,1.546,313,2.866,454,1.559,492,3.07,495,3.738,498,4.308,514,4.206,515,5.984,579,4.206,652,4.42,952,3.873,1009,4.941,1010,4.363,1016,6.364,1124,3.3,1166,5.968,1251,4.85,1387,6.243,1391,6.243,1575,3.873,1727,6.243,1846,4.158,2419,4.113,3428,5.968,3437,7.171,3438,7.171,3439,7.171]],["title/764",[279,0.986,1203,3.666,3440,4.573,3441,4.573]],["content/764",[0,1.733,37,2.052,49,1.107,50,2.087,52,1.704,53,2.576,76,2.66,134,1.167,135,1.904,175,4.024,176,1.686,279,1.351,313,1.6,379,1.918,453,2.537,454,0.87,477,1.343,483,6.1,492,3.305,497,5.906,514,2.348,515,2.501,529,1.796,574,2.53,592,2.069,619,2.348,686,2.376,761,2.435,894,2.758,895,2.376,902,4.5,945,2.348,1008,2.248,1009,2.758,1010,2.435,1027,2.66,1034,2.814,1079,2.814,1087,1.959,1136,2.501,1152,2.225,1201,2.576,1203,7.6,1204,5.627,1205,3.485,1276,2.758,1412,5.455,1474,3.331,1528,2.758,1563,4.477,1628,2.875,1650,3.209,1984,2.616,2298,2.707,2363,3.331,2364,2.435,3434,3.331,3442,4.003,3443,4.003,3444,4.003,3445,4.003,3446,3.485,3447,6.265,3448,4.003,3449,3.331,3450,4.003,3451,3.691,3452,4.003]],["title/765",[1025,2.96,1957,3.89]],["content/765",[]],["title/766",[1957,4.911]],["content/766",[18,0.71,28,1.519,47,2.356,50,2.434,74,1.361,134,1.361,279,1.521,306,2.095,311,1.866,313,1.866,378,2.394,393,2.708,485,2.177,488,2.414,517,2.121,535,2.338,568,2.434,578,3.522,622,3.624,657,1.866,666,3.054,720,1.548,743,3.217,761,2.841,829,3.743,892,2.918,904,3.433,913,2.57,1008,2.622,1016,3.103,1025,3.886,1044,3.886,1064,3.624,1087,2.285,1143,2.841,1399,3.743,1525,3.103,1545,2.622,1583,3.282,1591,3.433,1624,3.886,1635,2.65,1644,3.158,1777,3.103,1936,4.305,1957,6.424,2035,4.305,2081,4.065,2112,3.624,2913,3.158,2914,3.282,2976,3.217,3214,4.305,3267,4.305,3378,4.065,3453,4.669,3454,4.669,3455,4.669,3456,4.669,3457,4.669,3458,4.669,3459,4.669,3460,4.669,3461,4.305]],["title/767",[1002,4.379,1566,4.65]],["content/767",[37,2.535,49,1.367,50,2.577,63,2.514,74,2.145,219,2.179,313,1.976,321,3.475,454,1.601,477,2.47,482,1.609,484,2.851,485,3.432,491,3.634,498,2.97,505,3.664,519,3.502,520,2.934,521,2.352,563,2.535,666,3.188,888,2.368,889,1.883,898,2.721,900,1.883,908,4.737,912,4.269,913,2.721,969,3.343,1002,5.949,1039,3.837,1211,3.55,1395,4.892,1423,3.047,1545,2.776,1566,5.287,1592,3.406,1762,4.114,1777,3.285,1853,3.837,1957,2.97,2075,4.558,2322,3.343,3091,4.114,3141,4.558,3166,4.558,3241,3.963,3388,4.114,3462,4.944,3463,4.558]],["title/768",[888,3.916]],["content/768",[18,1.132,47,3.755,50,3.88,53,4.789,74,2.861,219,3.28,306,3.34,477,2.497,484,3.182,505,4.089,521,3.541,535,3.726,720,2.468,888,3.565,889,2.835,891,4.02,912,4.316,942,4.946,1399,5.966,1551,4.528,1591,5.472,1730,4.528,3464,6.48]],["title/769",[49,1.79,332,2.318]],["content/769",[37,3.016,48,2.005,49,3.209,54,3.978,219,3.681,253,2.706,306,2.639,332,3.479,484,1.907,505,2.45,514,4.9,531,3.499,570,4.436,671,3.27,672,4.392,684,2.577,744,3.491,885,4.324,889,2.241,900,2.241,909,5.423,916,3.411,1025,2.689,1063,3.676,1087,2.879,1131,3.338,1219,4.565,1254,3.373,1653,3.909,1670,3.338,1957,5.019,3465,5.882,3466,5.121,3467,5.121,3468,5.882]],["title/770",[50,2.794,666,3.384]],["content/770",[12,2.202,18,1.489,35,2.102,37,2.202,47,3.339,49,2.508,50,4.728,53,4.258,69,1.476,74,2.353,184,2.613,219,1.893,241,1.558,313,1.717,332,2.369,400,3.45,454,1.439,484,1.392,505,4.311,519,2.043,557,2.087,622,3.333,666,2.866,686,2.549,888,4.693,892,2.684,893,3.239,894,2.959,895,2.549,900,1.636,902,4.752,903,5.305,904,3.157,907,2.807,908,2.763,1006,2.684,1008,2.412,1039,3.333,1106,2.442,1143,2.613,1211,3.084,1226,2.278,1395,4.397,1578,6.101,2298,2.904,2322,2.904,3194,3.157,3383,3.96,3388,3.574,3469,4.295,3470,3.443,3471,3.739]],["title/771",[1777,4.303,3472,5.97]],["content/771",[3,2.4,37,2.742,48,3.139,49,2.546,69,1.837,74,1.558,154,2.764,171,3.101,279,1.682,408,3.067,440,3.034,488,2.764,491,3.931,493,2.181,521,2.544,539,2.637,557,2.598,559,2.836,562,2.836,622,4.15,888,3.737,889,2.037,900,2.037,917,2.944,1001,3.759,1002,3.617,1005,4.656,1025,4.21,1044,4.451,1087,2.617,1276,3.685,1395,3.554,1551,3.253,1741,4.451,1777,3.554,1824,4.15,1957,5.532,2081,4.656,2197,3.253,3127,2.836,3461,4.93,3473,5.348,3474,4.656,3475,5.348,3476,5.348,3477,4.656,3478,5.348]],["title/772",[949,5.633]],["content/772",[18,0.673,49,2.745,74,1.289,104,1.189,219,2.983,241,2.455,254,2.658,279,0.954,313,2.706,332,2.944,379,2.119,415,2.165,454,2.003,484,1.434,485,2.062,489,3.851,491,3.252,493,1.805,517,2.01,519,2.104,664,2.09,671,4.571,681,3.851,684,2.966,686,4.88,691,2.09,739,3.546,784,3.109,888,2.119,894,3.048,898,3.726,916,2.565,948,4.018,949,3.048,955,4.079,995,3.682,1000,3.851,1003,3.252,1106,1.633,1131,2.51,1165,2.287,1174,2.992,1211,3.177,1254,2.537,1265,4.356,1502,2.846,1957,2.658,2232,3.433,2317,4.977,3399,4.079,3479,4.424,3480,4.424,3481,3.851,3482,4.424,3483,4.424,3484,3.109,3485,4.424,3486,4.424,3487,4.424]],["title/773",[579,4.795]],["content/773",[256,5.497,279,2.044,521,4.51,538,3.338,639,3.53,1123,5.695,1653,6.299,2044,7.15,3062,7.889]],["title/774",[28,2.107,3317,5.637]],["content/774",[8,0.76,18,1.125,49,1.036,108,2.987,131,2.572,185,1.714,242,1.771,253,1.725,279,1.283,313,1.498,314,3.275,454,0.815,460,1.996,474,2.224,489,5.179,492,2.547,657,1.498,719,2.45,720,1.243,824,3.456,864,2.45,889,1.428,952,2.024,1023,2.491,1025,1.714,1027,2.491,1056,4.769,1081,2.342,1087,1.835,1106,1.383,1123,2.252,1144,2.198,1265,2.412,1344,4.181,1515,3.456,1566,5.312,1615,2.635,1627,4.099,1664,2.827,1670,2.127,1708,2.535,1709,3.771,1767,2.31,1777,3.953,2364,2.28,2669,2.827,3228,5.179,3317,3.263,3319,5.179,3320,3.263,3321,6.44,3322,4.951,3329,3.456,3362,4.769,3363,4.769,3364,2.692,3434,4.951,3488,3.456,3489,2.412,3490,3.748,3491,5.949,3492,3.456,3493,3.748,3494,5.949,3495,3.263,3496,3.748,3497,3.119,3498,3.748,3499,3.748,3500,3.748,3501,3.456,3502,3.748,3503,3.263,3504,3.748,3505,3.748]],["title/775",[531,2.712,1805,5.19]],["content/775",[328,5.946,482,2.694,515,5.174,531,3.468,579,4.857,587,3.565,767,5.705,889,3.154,911,4.974,1025,3.786,1038,4.431,1818,5.174,1846,4.802,2063,6.426,3067,6.891,3506,6.087,3507,8.28,3508,5.946]],["title/776",[1025,2.96,1957,3.89]],["content/776",[49,1.986,61,4.165,108,1.931,279,1.549,313,1.912,454,1.04,483,3.078,486,4.103,505,1.993,517,2.173,523,2.989,562,2.537,578,3.608,582,2.215,652,2.948,657,1.912,720,1.586,761,2.91,939,3.608,956,2.413,1006,2.989,1015,2.56,1025,3.284,1038,2.56,1063,2.989,1087,2.341,1143,2.91,1170,3.078,1399,3.834,1482,2.989,1635,2.714,1753,3.608,1957,6.724,2083,4.41,2145,2.91,2322,3.235,2587,4.164,2913,4.857,3330,3.608,3378,4.164,3402,4.41,3451,4.41,3508,5.158,3509,4.41,3510,4.783,3511,4.164,3512,4.783,3513,4.783,3514,4.783,3515,4.783,3516,3.296,3517,4.783,3518,4.783,3519,4.783,3520,4.783,3521,4.783]],["title/777",[1086,5.432]],["content/777",[8,0.657,12,1.605,18,0.476,28,2.13,37,1.605,48,1.067,49,0.865,65,0.941,74,1.499,77,2.157,88,1.388,108,1.264,111,1.707,134,1.499,143,1.187,148,1.707,151,1.93,256,1.815,279,1.806,332,1.842,375,1.592,378,1.605,397,1.363,415,1.532,454,0.681,471,2.605,477,1.726,482,2.13,492,1.34,510,1.532,516,1.905,517,1.422,529,1.405,579,3.017,580,2.509,604,1.795,720,1.038,744,1.858,790,1.905,816,2.95,849,1.956,884,2.605,889,1.193,904,2.301,913,1.723,915,1.431,945,1.836,994,3.362,1025,2.352,1048,1.815,1064,2.43,1065,2.43,1069,2.681,1074,2.886,1086,5.038,1106,1.898,1123,1.881,1143,1.905,1190,4.012,1201,2.014,1244,2.301,1251,2.117,1254,1.795,1257,2.248,1510,3.362,1591,3.781,1653,2.08,1721,2.117,1743,2.361,1746,2.509,1752,2.2,1843,3.214,1904,2.509,1938,2.43,1957,3.09,2039,1.618,2044,2.361,2196,2.605,2364,1.905,2419,1.795,2465,2.886,2913,2.117,3089,1.795,3090,4.281,3346,2.725,3384,2.509,3417,4.281,3418,2.43,3522,2.509,3523,3.13,3524,3.13,3525,3.13,3526,3.13,3527,2.886,3528,4.742,3529,2.361,3530,3.13,3531,2.886,3532,2.886,3533,2.605,3534,2.886,3535,2.43]],["title/778",[1818,4.046,3094,4.303]],["content/778",[111,3.862,241,2.57,279,1.528,492,3.033,507,3.862,543,5.088,546,3.442,604,4.063,619,4.155,646,3.179,757,3.978,900,2.699,1025,3.239,1525,4.708,1643,5.936,1653,4.708,1746,5.679,1818,4.427,1859,6.545,2036,4.791,2063,5.498,2162,5.498,2948,4.256,3089,4.063,3094,4.708,3536,6.532,3537,7.084,3538,6.168]],["title/779",[18,0.984,185,2.96]],["content/779",[18,0.806,24,1.973,28,1.724,64,2.823,65,1.593,74,1.544,131,1.843,134,1.544,185,4.188,194,2,218,2.836,279,1.143,311,3.098,375,2.695,397,2.308,406,2.613,415,2.594,416,2.862,454,1.685,482,1.724,485,2.471,492,2.269,521,2.521,582,2.454,698,2.335,744,3.145,773,2.763,864,3.464,1035,2.862,1071,3.04,1084,3.806,1093,3.41,1106,1.956,1165,2.74,1177,2.74,1512,3.997,1563,3.073,1611,4.248,1627,3.651,1720,4.113,1737,3.725,1752,5.447,1776,2.889,1779,4.411,1840,4.248,2382,3.997,3229,4.614,3265,3.464,3539,4.886,3540,4.886,3541,5.299,3542,5.299]],["title/780",[773,4.261]],["content/780",[8,1.17,18,1.502,28,1.425,36,1.369,52,1.099,64,1.595,74,0.752,99,1.237,103,1.212,114,2.594,115,2.12,131,0.898,134,0.752,142,1.875,152,3.824,185,4.768,241,0.936,242,2.694,253,2.624,254,1.551,306,1.158,311,1.032,314,3.139,375,1.313,394,1.687,406,2.159,416,3.08,439,1.514,455,1.394,460,1.469,466,1.591,492,1.105,521,1.228,527,1.481,569,2.004,581,1.124,582,3.111,587,1.885,595,2.91,620,1.613,641,1.228,683,1.636,695,1.571,719,1.687,757,1.45,773,1.346,793,1.779,849,2.736,864,1.687,898,1.421,951,1.497,981,1.716,992,3.644,1008,1.45,1029,1.497,1052,2.712,1061,1.636,1065,2.004,1081,1.613,1093,1.661,1106,1.616,1114,4.745,1144,1.514,1157,1.407,1165,1.334,1209,1.687,1510,1.687,1540,3.595,1591,1.898,1631,4.008,1638,1.779,1750,3.51,1767,1.591,1776,3.662,1779,5.59,2317,1.898,2334,2.149,3247,2.069,3265,5.989,3497,2.149,3539,4.037,3543,4.037,3544,2.581,3545,2.581,3546,2.248,3547,2.581,3548,2.38,3549,2.581,3550,2.149,3551,1.854]],["title/781",[55,1.628,406,2.643,3432,4.461]],["content/781",[]],["title/782",[28,2.66]],["content/782",[18,1.259,28,2.694,51,3.966,55,2.515,73,4.558,74,2.413,134,3.065,185,3.786,218,4.431,240,4.353,406,4.083,486,3.939,488,4.28,1008,4.65,1592,5.705,3265,5.412,3552,6.426]],["title/783",[888,3.916]],["content/783",[18,1.277,185,3.84,477,2.818,484,2.722,486,5.048,505,3.498,664,3.968,888,4.023,1139,5.109,1190,4.023,1592,5.786,2044,6.334,3265,5.489,3340,6.518,3553,8.398,3554,8.398]],["title/784",[65,2.457]],["content/784",[8,1.028,12,1.775,18,1.067,28,1.126,52,1.474,55,1.051,64,1.261,65,2.983,69,1.918,98,3.192,99,1.658,107,2.163,108,1.398,109,5.535,131,1.204,134,1.009,142,2.39,152,1.76,176,1.458,182,2.194,183,2.054,185,4.314,242,1.636,253,3.228,254,2.08,255,4.585,256,4.068,279,0.746,331,1.887,375,1.76,406,1.707,460,1.161,477,1.873,492,1.482,493,1.412,529,1.553,581,1.508,684,1.517,688,1.924,743,3.846,744,2.054,827,1.924,849,2.163,864,3.649,889,1.319,900,3.066,913,1.906,915,2.552,951,3.237,976,1.583,1006,2.163,1065,2.687,1106,2.06,1131,1.964,1139,3.396,1157,3.043,1165,1.789,1540,3.754,1584,3.014,1631,3.924,1701,2.545,1779,2.881,1780,2.385,1992,3.775,2252,2.433,2607,3.043,3265,2.263,3543,3.192,3551,2.486,3555,3.014,3556,3.462,3557,3.192]],["title/785",[1086,5.432]],["content/785",[143,2.863,279,1.103,482,2.92,492,2.19,517,2.324,524,2.131,531,2.142,538,1.801,579,3,594,2.966,620,3.197,720,1.696,777,3.112,849,3.197,884,4.257,904,3.761,908,3.291,912,2.966,951,2.966,1025,4.103,1039,3.97,1044,4.257,1048,4.379,1063,3.197,1086,5.964,1131,2.903,1386,4.429,1508,4.257,1645,3.459,1653,5.018,1678,3.858,1718,4.716,1838,4.454,2046,3.97,2058,4.257,2064,3.761,2252,3.596,3108,4.454,3337,4.257,3354,4.716,3384,6.053,3386,3.97,3463,4.716,3558,5.115,3559,5.115,3560,4.716,3561,4.716,3562,5.115,3563,5.115,3564,4.716,3565,5.115]],["title/786",[8,0.509,151,2.458,1025,1.823,1957,3.753]],["content/786",[256,5.013,378,4.432,471,7.194,579,5.07,580,6.93,913,4.758,1086,5.745,1591,7.945,1721,5.846,1843,5.402,2196,7.194,3386,6.709,3417,7.194,3528,7.97]],["title/787",[74,1.887,143,2.455]],["content/787",[]],["title/788",[481,5.26]],["content/788",[18,1.202,28,2.572,74,1.587,77,3.753,88,2.415,108,2.199,134,2.304,143,2.065,145,2.474,148,2.969,241,1.975,279,1.174,306,3.547,397,3.443,454,1.184,470,2.915,477,1.827,482,2.572,510,2.666,744,3.232,849,3.404,889,2.075,904,4.004,1019,4.227,1054,3.272,1069,2.839,1082,4.742,1083,5.022,1086,3.619,1106,2.918,1124,2.506,1143,3.314,1190,4.891,1743,4.108,1746,4.366,1752,3.828,1904,4.366,1938,4.227,2364,3.314,3417,4.533,3531,5.022,3532,5.022,3533,4.533,3566,5.446,3567,5.446]],["title/789",[169,4.001]],["content/789",[3,1.443,18,0.489,28,1.046,30,1.509,71,0.94,88,2.331,130,2.137,131,2.32,134,1.532,143,3.808,150,2.081,169,1.574,176,1.354,229,1.551,279,1.134,311,1.285,313,2.102,378,1.649,398,1.706,454,0.699,470,1.721,477,1.079,482,2.17,485,3.11,493,2.145,510,3.771,513,1.676,516,1.957,538,1.132,559,2.789,584,2.364,587,1.385,589,3.173,614,1.909,646,2.36,712,3.173,714,1.586,777,3.199,816,1.844,849,2.01,900,1.225,911,1.932,956,1.623,976,1.47,1061,2.039,1075,2.8,1086,2.137,1123,1.932,1136,2.01,1141,6.408,1142,3.966,1148,2.8,1157,1.753,1173,2.31,1175,2.364,1177,1.662,1226,1.706,1257,2.31,1327,2.069,1449,2.578,1510,2.102,1575,1.737,1643,6.494,1644,4.511,1645,2.175,1652,2.8,1653,2.137,1654,2.965,1656,1.825,1724,2.216,1752,2.26,1753,2.426,2039,3.448,2085,3.966,2114,2.426,3108,2.8,3235,1.957,3241,2.578,3325,2.496,3386,2.496,3568,3.216,3569,3.216,3570,3.216]],["title/790",[3534,7.537]],["content/790",[28,2.694,65,2.488,375,4.211,477,2.778,517,3.762,790,5.037,945,4.857,1035,4.472,1064,6.426,1069,4.316,1190,3.966,1254,4.749,1628,5.946,1843,5.174,2419,4.749,3089,4.749,3247,6.637,3535,6.426]],["title/800",[1735,5.343]],["content/800",[18,1.208,28,2.585,74,2.985,103,3.728,112,2.528,114,2.741,115,2.24,279,1.713,454,1.727,482,2.585,529,3.565,546,3.86,564,5.841,911,4.773,915,3.632,1049,6.166,1175,5.841,1213,5.193,1548,5.28,1735,5.193]],["title/801",[8,0.827,375,3.293]],["content/801",[18,1.559,74,1.602,112,3.263,114,1.896,115,1.55,131,1.912,134,1.602,218,2.942,241,1.994,308,2.652,311,3.181,332,1.968,439,3.225,454,1.73,476,3.653,477,3.139,507,2.997,532,3.948,849,3.435,915,2.513,954,4.407,994,3.593,1106,2.029,1120,3.593,1131,3.119,1190,3.813,1197,3.864,1213,3.593,1243,4.147,1563,3.188,1691,3.389,1708,5.382,1709,5.045,1722,3.303,1732,5.045,1735,5.202,1736,4.575,2875,4.786,3571,5.497]],["title/802",[219,3.602]],["content/802",[64,3.576,65,2.237,69,2.557,134,2.169,185,3.403,219,3.28,308,3.591,415,3.643,454,1.618,529,3.34,1177,5.074,1184,3.816,1652,6.48,1701,5.472,1735,4.865,1774,6.194,1775,6.862,1776,5.352,3039,6.48,3572,6.862,3573,7.443,3574,6.862,3575,7.443]],["title/791",[1045,4.336]],["content/791",[18,0.885,28,3.426,47,2.938,49,2.293,131,2.885,134,2.816,279,1.256,313,2.328,477,1.954,478,4.393,488,3.01,498,4.983,514,3.416,515,3.639,520,3.456,529,2.613,582,2.697,641,2.77,892,3.639,893,4.393,941,4.393,994,3.806,1022,4.013,1045,3.089,1056,4.668,1071,3.34,1133,3.206,1174,3.938,1548,3.87,1725,4.847,1805,4.668,2419,3.34,3102,5.369,3235,3.543,3419,4.182,3484,4.093,3576,8.295,3577,5.823,3578,5.823]],["title/792",[1185,3.939,1482,4.046]],["content/792",[28,3.035,112,2.968,495,4.863,519,4.438,546,4.533,587,4.017,1035,5.039,1045,4.948,1824,7.24,3579,8.122]],["title/793",[3580,7.117]],["content/793",[28,3.537,99,2.997,112,1.991,134,2.928,176,2.635,194,2.362,254,5.242,419,5.769,454,1.36,578,4.719,655,2.774,915,2.861,936,5.207,1034,4.398,1036,5.447,1037,4.856,1055,4.158,1106,2.309,1131,3.55,1155,3.91,1528,4.311,1662,3.91,1806,5.015,2066,4.398,2094,5.447,3210,5.447,3341,5.769,3467,5.447,3579,5.447,3580,5.447,3581,6.257,3582,5.769,3583,5.769,3584,6.257,3585,5.769]],["title/794",[3586,6.804]],["content/794",[28,3.276,103,3.63,108,3.124,112,2.462,134,2.255,546,4.892,578,5.835,643,5.33,655,3.429,915,3.537,1093,4.978,1477,4.486,1541,5.835,1772,5.232,2076,4.904,3104,6.004,3582,7.133,3586,6.438,3587,7.133,3588,7.736,3589,7.736]],["title/795",[485,3.018,535,3.242]],["content/795",[18,0.931,28,1.993,73,3.372,74,1.785,103,2.875,111,3.34,134,2.506,254,3.681,279,1.854,454,2.16,477,2.056,500,3.514,546,4.827,912,3.553,1033,4.143,1122,6.321,1137,4.143,1141,6.485,1165,3.167,1170,3.942,1171,4.4,1423,3.777,1551,3.727,1597,4.306,1721,4.143,1788,7.709,2045,4.504,2732,4.143,3446,5.334,3464,5.334,3590,6.126,3591,6.126,3592,6.126]],["title/796",[18,0.815,131,1.864,646,2.405]],["content/796",[18,0.941,99,2.966,108,2.5,112,1.97,131,2.153,134,3.318,171,5.023,184,3.767,194,3.771,241,3.623,308,2.987,314,3.408,331,3.375,436,3.053,516,3.767,546,3.008,563,3.174,915,3.96,1115,4.968,1136,3.869,1165,3.2,1175,4.551,1184,3.174,1614,5.708,1701,4.551,1772,4.187,2055,5.152,2094,5.39,2178,3.767,3593,5.152,3594,6.191]],["title/797",[18,0.815,28,1.744,74,1.562]],["content/797",[18,1.579,28,3.543,48,1.671,49,1.355,50,2.556,69,1.684,74,2.551,131,1.705,134,3.38,241,3.174,279,1.057,313,1.96,314,2.699,454,1.591,477,1.645,485,2.285,492,2.099,563,3.751,684,2.148,720,1.626,889,1.868,895,2.91,915,3.345,956,2.474,1029,2.843,1032,3.315,1045,3.881,1055,3.258,1071,2.812,1098,2.753,1106,2.7,1250,3.604,1395,3.258,1573,3.315,1709,3.108,2190,3.521,3235,2.983,3580,4.268,3595,4.52,3596,4.902,3597,4.902,3598,4.902]],["title/798",[73,3.564,74,1.887]],["content/798",[28,3.425,75,3.84,108,3.745,134,1.993,194,3.501,488,3.535,720,2.268,1003,5.027,1028,4.215,1043,5.307,1045,4.919,1071,3.922,1106,2.524,1120,4.469,1121,4.058,1150,5.481,1153,6.304,1548,4.544,1711,4.16,1764,4.544,3345,6.304,3346,5.953,3586,5.691,3599,6.304,3600,6.838,3601,6.838,3602,6.838,3603,6.838]],["title/799",[112,2.06,3579,5.637]],["content/799",[28,2.732,84,5.177,112,2.672,171,4.87,241,3.046,253,3.864,254,5.045,279,1.811,314,4.623,454,1.826,915,3.84,981,5.581,1035,4.536,1121,4.984,1742,5.581,1806,6.732,3585,7.743]],["title/803",[1118,5.343]],["content/803",[18,1.277,28,2.732,134,2.447,175,4.378,176,3.536,233,3.536,279,1.811,311,3.357,454,1.826,482,2.732,641,3.995,1045,4.454,1118,5.489,1122,6.174,1178,5.903,1788,6.518,3277,6.989]],["title/804",[1174,5.529]],["content/804",[0,2.653,18,1.307,28,2.797,49,2.377,69,2.105,103,2.875,104,1.646,108,2.474,111,3.34,112,1.949,134,3.306,163,4.4,164,4.4,304,4.504,311,2.449,313,2.449,332,2.194,394,4.004,463,4.004,557,2.977,559,3.25,589,2.915,646,2.749,672,3.221,684,3.767,1118,4.004,1174,4.143,1177,3.167,1242,3.636,1615,4.306,1620,2.684,1716,4.911,2419,3.514,3604,6.126,3605,6.126]],["title/805",[1190,3.916]],["content/805",[18,1.354,28,2.898,108,3.596,112,2.834,134,2.595,241,3.23,332,3.189,380,4.459,439,5.224,477,3.693,2290,7.754,3425,8.211]],["title/806",[1178,5.746]],["content/806",[18,1.505,28,2.453,69,2.59,131,2.622,134,3.221,468,6.563,485,3.514,557,3.663,558,5.686,589,4.709,666,3.264,1071,4.323,1170,4.85,1171,5.414,1178,5.298,1185,4.586,1188,5.686,1195,5.85,1573,5.098,1620,3.302,3062,6.274]],["title/807",[1170,4.166,1171,4.65]],["content/807",[18,0.993,102,3.046,112,2.079,134,3.227,143,2.478,194,2.467,279,1.939,311,2.612,313,2.612,415,3.198,454,1.955,482,2.126,506,5.238,657,2.612,956,3.297,1052,3.109,1117,5.689,1118,4.271,1121,3.878,1157,3.563,1170,5.786,1171,6.458,1188,4.929,1195,5.071,1563,3.789,1627,4.502,3606,6.534,3607,6.025,3608,6.534,3609,6.534]],["title/808",[257,5.529]],["content/808",[18,1.684,28,2.126,69,2.245,75,3.669,78,4.856,242,3.087,331,3.563,398,3.466,1048,3.789,1071,3.748,1106,3.319,1120,6.719,1170,4.204,1171,6.458,1187,5.689,1188,6.782,1195,8.594,1558,4.693,1620,2.863,1711,3.975,1764,5.975,1938,5.071,3227,2.83,3274,5.689]],["title/809",[1178,5.746]],["content/809",[18,1.388,69,2.296,78,3.609,104,1.795,134,3.258,176,2.814,242,4.314,306,2.999,314,3.679,331,3.643,398,3.545,406,3.295,454,1.453,477,2.242,557,3.247,657,3.65,688,3.715,714,3.295,1144,5.356,1185,4.066,1187,5.818,1188,6.887,1226,3.545,1558,4.799,1620,2.928,1626,4.236,1716,5.357]],["title/810",[3610,6.553]],["content/810",[]],["title/811",[477,1.338,579,2.339,891,2.154,3610,3.196,3611,3.676]],["content/811",[28,2.153,114,1.482,115,1.211,219,1.893,257,4.475,279,0.926,328,3.084,376,2.854,477,1.441,486,3.148,492,1.839,500,2.463,524,1.789,531,2.772,567,4.195,582,1.989,587,2.849,640,3.739,657,1.717,661,2.364,701,3.574,889,2.521,911,3.975,915,1.964,952,2.32,973,3.333,981,2.854,1002,2.904,1008,2.412,1016,2.854,1025,1.964,1081,2.684,1086,2.854,1094,2.959,1106,2.442,1173,3.084,1213,2.807,1226,2.278,1250,3.157,1377,2.437,1398,3.239,1620,1.881,1661,2.807,1749,2.854,1752,3.019,1846,2.491,1957,2.58,2071,2.647,2322,2.904,2643,3.333,2948,2.58,3222,3.574,3233,3.443,3246,5.507,3322,3.574,3395,3.443,3435,3.739,3610,7.271,3611,3.96,3612,3.019,3613,4.295,3614,4.295,3615,4.295,3616,4.295,3617,4.295,3618,4.295,3619,3.157,3620,4.295,3621,4.295,3622,3.96,3623,3.96]],["title/812",[279,0.986,546,2.222,604,2.623,3624,4.573]],["content/812",[28,2.551,142,4.348,143,2.973,507,5.536,557,3.809,1016,5.209,1071,4.496,1377,4.448,1818,6.346,2139,5.124,3106,7.227,3364,5.63,3610,6.284,3625,10.154,3626,7.839,3627,7.839,3628,7.839,3629,7.839]],["title/813",[69,2.225,3610,5.19]],["content/813",[]],["title/814",[482,2.66]],["content/814",[18,1.219,24,1.875,28,2.608,30,1.027,32,1.372,47,1.104,48,0.746,49,1.663,54,3.405,74,1.984,84,1.349,108,0.884,111,1.193,112,1.209,114,0.755,115,0.617,131,2.091,133,2.374,135,1.041,171,1.269,175,1.141,219,0.964,253,1.007,256,1.269,257,1.48,278,1.651,313,2.013,314,1.205,378,1.122,453,3.192,454,0.476,482,0.712,485,1.02,486,4.23,491,5.004,500,2.179,504,4.031,517,0.994,519,2.396,520,1.299,524,0.912,563,1.122,578,2.866,582,1.013,592,1.131,619,1.284,624,1.171,646,2.698,889,0.834,893,1.651,913,1.205,915,3.665,1016,1.454,1025,3.112,1038,1.171,1045,1.161,1081,2.374,1087,1.86,1122,1.609,1124,1.007,1144,1.284,1157,1.193,1170,1.408,1171,1.572,1213,3.291,1242,2.255,1250,1.609,1254,1.255,1377,1.242,1395,1.454,1510,1.43,1526,1.754,1547,1.609,1548,1.454,1626,1.387,1627,1.508,1628,1.572,1647,1.096,1691,1.349,1708,1.48,1709,1.387,1722,2.283,1733,1.821,1746,1.754,1788,1.698,1825,2.018,1840,1.754,1957,4.089,1984,1.43,2058,1.821,2080,1.821,2143,1.905,2419,1.255,3094,1.454,3326,1.905,3380,2.018,3384,3.046,3386,1.698,3389,2.018,3429,2.018,3432,1.821,3464,1.905,3471,1.905,3630,2.188,3631,5.926,3632,2.188,3633,5.926,3634,2.188,3635,2.188,3636,2.188,3637,2.018,3638,1.821,3639,2.188,3640,1.905,3641,3.503,3642,2.188,3643,2.188,3644,2.949,3645,2.188,3646,2.188,3647,2.188,3648,1.905,3649,2.188,3650,2.188,3651,2.018,3652,1.821,3653,2.188,3654,2.188]],["title/815",[2322,5.529]],["content/815",[28,2.382,37,1.516,49,0.818,54,2,112,0.941,175,1.542,176,1.245,306,1.327,378,1.516,446,1.448,453,1.875,454,1.067,463,1.933,504,4.73,510,1.448,517,1.344,519,2.335,521,1.407,588,1.448,712,1.407,757,2.756,777,1.799,889,1.127,893,5.523,912,1.715,915,2.244,941,3.702,1024,2.295,1025,2.244,1087,4.287,1116,1.335,1152,1.644,1219,4.882,1395,4.866,1516,6.759,1534,4.085,1588,2.231,1589,2.079,1684,2.295,1730,1.799,2164,2.727,2322,7.025,3185,2.124,3285,4.525,3631,7.07,3633,7.07,3644,6.797,3655,2.575,3656,2.957,3657,2.957,3658,2.575,3659,8.758,3660,2.957,3661,4.908,3662,6.29,3663,4.908,3664,2.957,3665,6.29,3666,2.957,3667,2.727,3668,2.957,3669,2.957,3670,2.957,3671,2.174,3672,4.085,3673,2.957,3674,4.908,3675,2.957,3676,2.957,3677,2.957,3678,2.957,3679,2.957,3680,2.957,3681,2.957,3682,2.461,3683,2.957,3684,2.957,3685,2.957]],["title/816",[498,4.911]],["content/816",[18,1.117,28,2.391,148,4.007,504,5.895,546,4.73,563,3.768,568,3.831,900,2.8,951,4.262,1038,3.934,1087,3.597,1563,4.262,3477,6.399,3631,8.475,3633,8.475,3686,7.35,3687,7.35,3688,7.35,3689,7.35,3690,7.35,3691,7.35,3692,7.35]],["title/817",[1121,4.852]],["content/817",[18,1.244,28,2.661,74,2.384,103,2.68,131,2.845,242,4.516,279,1.764,311,3.27,454,2.078,470,3.056,477,1.916,482,3.396,529,2.562,589,2.717,646,3.67,899,4.307,935,4.432,938,5.265,939,4.307,1025,2.611,1027,3.795,1038,3.056,1069,2.977,1095,4.198,1121,5.672,1126,4.432,1478,4.753,1590,4.753,1616,4.432,1678,4.307,1805,4.578,2197,4.977,3693,5.71]],["title/818",[131,2.843]],["content/818",[18,1.812,28,2.08,97,3.519,102,4.129,109,3.75,131,3.08,133,3.995,134,1.863,229,3.084,311,2.555,454,1.39,477,2.145,546,3.106,646,2.868,760,4.961,1022,4.405,1027,4.248,1035,3.453,1055,4.248,1056,5.124,1079,4.493,1106,2.359,1121,3.794,1178,4.493,1386,3.75,1626,4.052,1635,3.627,1845,4.961,2050,5.565,2066,4.493,3320,5.565,3394,5.894]],["title/819",[242,3.862]],["content/819",[18,1.725,48,1.432,49,1.162,73,2.313,74,2.613,99,2.013,104,2.756,112,1.337,131,2.77,134,3.222,152,2.137,181,4.674,242,5.577,314,4.936,406,2.072,477,1.41,912,2.437,956,2.12,1035,2.27,1106,2.939,1113,2.842,1116,1.898,1120,2.747,1125,2.525,1133,2.313,1211,3.018,1254,5.143,1480,2.313,1549,3.875,1575,2.27,2197,2.557,3209,3.875,3227,4.787,3481,3.659,3548,3.875,3694,4.203]],["title/820",[1144,3.798,1626,4.104]],["content/820",[18,1.437,28,1.823,51,2.684,69,3.249,104,1.505,112,1.782,131,1.948,134,3.429,176,2.359,194,3.045,242,4.887,243,3.501,311,2.239,488,2.896,492,2.399,951,3.249,1032,3.789,1035,3.026,1045,2.971,1084,4.023,1106,2.068,1121,3.325,1144,6.067,1510,3.662,1588,4.225,1620,2.454,1626,3.551,1632,4.491,1716,4.491,1727,4.877,2046,4.348,2066,3.938,3122,4.877,3695,4.877,3696,5.602]],["title/821",[73,3.564,74,1.887]],["content/821",[18,1.146,28,2.453,73,4.149,74,2.197,131,2.622,242,3.562,279,1.625,311,3.013,454,2.152,482,2.453,485,3.514,624,4.034,1006,4.711,1027,5.009,1035,4.071,1038,4.034,1121,5.875,1123,4.529,1178,5.298,1423,4.647,1510,4.927,1563,4.371,1573,5.098]],["title/822",[1551,4.974]],["content/822",[52,3.688,73,5.499,74,2.911,78,3.344,102,2.886,104,2.684,279,1.335,306,2.778,406,4.926,454,1.883,482,2.014,493,2.525,589,4.12,655,2.744,1027,4.114,1095,4.551,1116,3.91,1121,5.14,1123,3.719,1125,5.203,1635,3.513,1662,3.869,1764,5.756,2112,4.805,3697,6.191,3698,6.191,3699,6.191]],["title/823",[18,0.815,82,2.705,1587,4.16]],["content/823",[18,1.769,52,2.298,62,2.622,73,5.096,74,2.963,75,3.031,82,2.723,99,2.585,104,1.45,108,2.179,131,2.731,134,2.963,242,4.374,311,2.157,312,3.586,332,2.812,398,2.862,458,2.813,470,2.888,477,1.811,587,2.324,666,2.337,951,3.13,1027,3.586,1035,2.915,1106,3.417,1125,3.242,1129,3.165,1138,5.133,1143,3.283,1165,2.79,1764,5.218,2869,4.698,3466,4.698]],["title/824",[28,1.488,134,1.333,374,3.362,665,2.623]],["content/824",[18,1.336,28,3.288,48,2.155,49,1.748,73,4.839,74,2.562,75,3.551,134,3.182,150,2.503,194,3.318,241,2.294,242,2.988,332,2.264,374,4.649,398,3.354,470,3.384,488,3.269,589,3.008,665,3.627,666,2.738,712,3.008,951,3.667,1006,3.952,1034,4.445,1106,2.334,1113,4.277,1125,5.281,1175,4.649,1764,4.202,1806,5.069]],["title/825",[1129,4.795]],["content/825",[18,1.311,28,1.556,48,2.448,49,1.986,52,3.058,69,1.643,73,2.633,74,1.394,75,2.686,82,4.837,104,2.317,108,2.9,131,2.498,134,2.994,136,3.712,150,1.893,181,3.435,183,2.839,194,1.805,241,1.735,406,2.358,414,2.989,470,2.56,655,2.12,666,3.11,684,2.095,905,3.296,976,2.187,1034,3.362,1045,2.537,1048,2.774,1095,3.516,1106,1.765,1125,4.315,1129,4.213,1138,3.126,1150,5.757,1157,2.608,1165,2.473,1178,5.048,1625,4.164,1764,3.179,1767,2.948,1806,3.834,3700,4.783,3701,4.783,3702,4.783,3703,4.783,3704,4.783]],["title/826",[73,3.564,1132,4.104]],["content/826",[18,1.176,103,3.63,279,1.668,440,4.39,454,1.682,482,3.276,524,3.223,983,6.438,1029,4.486,1071,4.437,1106,2.855,1120,5.056,1121,6.642,1125,6.048,1132,4.904,2153,6.438,3318,7.133,3488,7.133,3705,7.736]],["title/827",[1551,4.974]],["content/827",[73,4.978,74,2.635,312,6.009,496,7.249,517,4.108,657,3.615,684,3.961,1132,5.732,1551,5.502,1770,7.526,1841,5.432,3706,6.821]],["title/828",[1129,4.795]],["content/828",[18,1.224,73,4.433,74,2.347,108,4.172,409,3.659,492,3.448,586,4.523,858,5.264,908,5.182,1121,4.78,1129,6.692,1133,4.433,1138,6.754,3707,8.053,3708,8.053,3709,8.053]],["title/829",[1130,6.345]],["content/829",[18,1.642,28,2.555,73,5.096,74,1.573,75,4.41,108,3.171,134,1.573,279,1.164,309,2.888,314,2.971,378,2.767,458,2.813,477,1.811,492,2.311,513,4.094,517,2.452,523,3.372,574,2.179,587,3.381,905,3.718,1071,3.095,1106,1.992,1125,3.242,1129,4.606,1130,8.384,1134,4.698,1138,7.061,1192,4.326,1202,3.967,1575,2.915,1638,3.718,1760,5.311,1763,4.188,3340,4.188,3710,5.397]],["title/830",[1125,4.911]],["content/830",[18,1.314,279,1.864,455,5.837,482,2.813,495,4.506,659,3.809,684,3.787,872,7.97,1125,5.193,1127,7.194,3495,7.526,3711,8.644,3712,8.644,3713,8.644]],["title/831",[18,0.815,646,2.405,1602,3.85]],["content/831",[18,1.066,52,1.972,73,5.868,74,2.043,75,4.75,78,5.758,104,1.884,108,1.87,112,1.474,134,3.107,242,3.997,306,2.079,314,2.55,332,1.659,348,4.033,415,2.267,460,2.352,492,3.002,684,3.072,714,2.284,761,2.818,897,4.033,915,2.118,969,3.133,1048,2.686,1129,2.717,1132,2.937,1136,2.895,1143,2.818,1144,4.112,1174,3.133,1184,2.375,1485,3.028,1588,5.288,1662,2.895,1764,4.659,2489,3.494,2932,3.855,2948,2.783,3096,3.855,3714,4.632,3715,4.632,3716,4.632,3717,4.632,3718,7.011]],["title/832",[18,0.984,3719,6.475]],["content/832",[18,1.519,52,2.216,73,2.866,74,1.517,108,3.088,134,2.229,279,1.122,314,4.21,395,3.167,440,2.954,454,1.132,475,6.839,476,3.459,477,1.747,557,2.53,587,2.242,619,3.053,714,2.567,887,3.739,896,4.34,952,2.812,956,2.627,1081,3.253,1106,1.921,1113,3.521,1120,4.999,1121,3.09,1125,4.595,1129,5.862,1132,5.747,1136,3.253,1449,4.173,1558,3.739,1602,3.739,1620,2.281,1626,3.3,1711,3.167,1742,3.459,1752,3.659,2197,3.167,3720,5.206,3721,5.206,3722,5.206,3723,5.206]],["title/833",[304,4.76,314,3.564]],["content/833",[8,0.863,18,1.399,28,2.199,52,2.878,73,5.066,74,1.97,75,3.796,112,2.151,133,4.224,134,1.97,171,3.92,194,2.551,242,3.194,310,3.465,311,3.678,605,4.285,620,4.224,666,2.927,720,2.242,898,3.721,1121,4.012,1126,5.246,1137,4.571,1563,3.92,1631,4.751,1670,3.836,2177,6.232,3586,5.625,3724,6.759,3725,6.759,3726,6.759]],["title/834",[1482,4.046,1627,4.461]],["content/834",[0,2.141,18,1.119,69,1.699,73,4.052,74,2.145,108,1.996,131,3.624,134,3.184,135,2.352,150,1.957,194,2.779,242,2.336,304,7.66,306,2.218,308,2.385,310,4.996,311,1.976,313,1.976,314,4.052,460,1.659,476,4.892,479,3.181,493,2.017,526,2.205,582,2.29,588,2.42,620,3.089,665,2.835,712,2.352,720,1.639,729,3.55,960,3.729,1106,1.825,1113,3.343,1121,2.934,1165,2.556,1189,3.55,1404,3.55,1589,3.475,1602,3.55,1674,3.55,1691,3.047,3727,4.944,3728,4.558]],["title/835",[314,3.564,1553,5.637]],["content/835",[8,1.597,18,0.868,52,2.431,74,2.785,103,2.68,114,1.97,115,1.61,131,2.845,134,2.384,142,2.445,152,5.307,253,2.628,306,2.562,310,2.928,314,3.143,476,5.436,479,3.674,493,2.329,529,2.562,898,3.143,917,4.503,1098,3.207,1114,4.753,1121,4.855,1126,4.432,1533,3.935,3159,5.265,3257,4.753,3729,5.71,3730,5.71,3731,5.71]],["title/836",[896,3.674,1602,4.65]],["content/836",[18,1.767,71,2.149,131,3.796,134,3.181,142,3.147,475,5.544,476,4.884,479,6.264,557,3.571,665,4.215,896,6.194,1602,6.991,1646,5.403,1732,4.659,2197,4.472,3326,6.399]],["title/837",[1189,4.65,2063,5.025]],["content/837",[18,1.544,76,5.209,131,2.726,134,2.959,135,3.729,304,5.763,310,4.019,314,4.315,416,4.234,446,4.97,529,3.517,620,4.899,981,5.209,1136,4.899,1265,5.044,1741,6.524,3550,6.524,3732,7.839,3733,7.839]],["title/843",[65,2.457]],["content/843",[18,1.09,61,4.158,65,3.24,151,4.42,255,4.687,279,2.065,454,1.559,477,2.406,524,2.987,527,4.113,655,3.179,688,3.986,889,2.732,900,2.732,949,4.941,1008,4.027,1069,3.738,1753,5.409,1805,5.748,2076,4.546,3734,6.611,3735,6.611,3736,7.171,3737,7.171,3738,6.243,3739,7.171]],["title/844",[2076,5.182]],["content/844",[18,0.983,63,3.287,64,3.251,65,3.072,107,4.039,109,3.791,113,3.369,114,2.229,115,1.822,142,4.376,176,2.721,279,1.393,406,3.187,516,3.932,521,4.245,529,2.9,574,2.609,582,2.993,657,2.583,695,3.932,882,5.016,900,2.462,1023,4.295,1093,4.158,1377,3.667,1386,3.791,1477,3.748,1545,3.629,1548,4.295,1851,4.295,2076,4.097,3740,5.958]],["title/845",[1777,5.432]],["content/845",[65,3.441,152,3.603,397,4.137,523,4.427,524,2.951,535,3.547,562,3.758,574,2.861,726,6.168,915,3.239,952,3.826,1777,4.708,1780,4.881,1841,4.256,1859,7.89,2197,4.31,2353,5.498,2503,4.881,3266,5.679,3741,6.532,3742,5.679,3743,6.168,3744,7.084]],["title/846",[1139,4.974]],["content/846",[18,1.117,35,3.597,55,2.232,65,3.28,74,2.142,145,3.339,194,2.774,229,3.546,279,1.585,406,4.8,408,5.583,426,5.892,477,2.466,537,4.971,655,3.258,683,4.659,900,3.709,1543,6.776,1565,4.804,1780,5.064,1842,6.117,3745,6.776]],["title/847",[1992,5.529]],["content/847",[6,2.819,8,1.595,55,2.278,65,3.314,107,4.688,249,3.387,250,5.823,251,5.074,252,5.516,254,4.507,460,2.517,466,3.126,493,3.06,793,3.494,889,2.858,1534,4.221,1589,3.565,1767,4.625,1992,5.074,2742,3.825,3042,4.065,3742,6.014,3746,6.917,3747,7.502,3748,7.502,3749,7.502,3750,7.502,3751,5.071,3752,5.071]],["title/848",[12,3.32,1992,4.379]],["content/848",[8,1.492,12,3.412,18,1.012,24,1.611,37,2.218,55,2.021,65,2.736,101,2.166,109,2.538,131,1.505,142,1.852,225,2.599,249,3.661,250,5.165,251,4.5,252,3.181,254,3.998,255,5.301,460,1.452,466,2.667,493,2.715,494,7.63,521,2.058,526,1.929,581,1.884,605,5.141,620,2.704,621,1.765,900,1.648,1143,2.632,1165,2.236,1659,7.295,1731,3.181,1780,2.981,1841,2.599,1991,3.107,1992,4.5,2453,2.981,3434,3.601,3753,3.989,3754,3.601,3755,4.326,3756,4.326,3757,4.326,3758,4.326,3759,3.989,3760,4.326]],["title/849",[65,1.198,1859,2.747,1992,2.697,3266,3.196,3742,3.196]],["content/849",[8,1.254,18,1.288,55,1.823,61,3.48,65,3.609,74,1.749,107,3.751,108,2.423,145,2.727,194,2.265,251,4.059,406,2.959,408,3.442,466,3.7,493,2.448,537,4.059,548,4.527,549,4.135,556,3.923,585,3.862,1116,2.71,1131,3.406,1565,3.923,1595,4.811,1859,4.135,1992,4.059,2155,4.658,3042,4.811,3266,4.811,3466,7.378,3742,4.811,3746,5.533,3761,6.001,3762,5.533,3763,5.533]],["title/850",[152,2.726,1859,3.693,3743,4.667]],["content/850",[3,1.859,8,1.606,12,3.3,18,0.63,35,2.028,37,2.124,55,1.258,65,3.199,69,1.424,100,3.021,107,2.589,145,1.883,152,4.525,225,2.489,249,1.871,250,3.216,251,4.353,254,2.489,308,1.999,406,2.043,450,3.509,460,2.648,466,3.968,493,2.626,494,4.732,621,1.69,900,1.579,1139,3.916,1659,5.547,1859,4.435,1991,5.668,1992,5.337,2155,4.995,2178,2.521,3042,3.322,3266,3.322,3742,5.16,3743,5.604,3753,3.82,3754,3.449,3762,3.82,3763,3.82,3764,6.436]],["title/851",[142,3.5]],["content/851",[8,1.654,18,0.979,55,1.258,63,2.107,65,2.896,88,1.837,99,1.985,100,3.021,104,1.729,105,2.489,112,1.318,114,2.22,115,1.815,117,3.046,118,2.976,142,3.81,255,2.708,279,0.893,307,2.754,460,2.648,484,2.086,485,1.932,488,2.142,493,2.626,494,3.046,519,1.971,621,1.69,623,3.692,685,2.589,761,2.521,767,2.855,900,1.579,960,3.125,1054,5.789,1750,3.322,1780,2.855,1954,3.82,1991,4.623,2133,3.449,2956,3.449,3765,4.144,3766,4.144,3767,4.144,3768,4.144,3769,4.144,3770,4.144]],["title/838",[18,0.984,74,1.887]],["content/838",[18,1.689,28,2.942,131,3.145,228,5.843,279,1.95,470,4.839,981,6.009,1106,3.338,1722,5.432,3771,9.042]],["title/839",[1097,6.553]],["content/839",[18,1.861,48,2.69,49,2.182,69,1.424,74,2.972,102,1.932,104,2.589,109,3.775,131,2.745,182,5.003,183,4.684,306,1.859,313,1.656,321,2.913,379,1.985,398,4.72,450,3.509,454,1.399,516,2.521,557,2.013,657,1.656,714,3.892,889,1.579,899,3.125,956,2.091,1106,1.529,1110,3.216,1131,2.351,1190,1.985,1386,2.43,1485,2.708,1585,3.82,1701,3.046,1817,3.449,1892,2.554,2050,3.608,2070,3.216,2173,2.976,2290,3.608,3138,2.666,3361,3.82,3390,3.449,3595,3.82,3772,4.144,3773,4.144,3774,4.144,3775,3.82,3776,4.144,3777,4.144]],["title/840",[18,0.984,113,3.375]],["content/840",[]],["title/841",[18,0.984,1646,4.76]],["content/841",[12,1.667,18,1.47,47,3.913,48,2.644,49,2.884,50,1.695,51,2.542,53,3.414,55,1.611,61,1.886,63,2.698,65,1.595,69,1.117,104,0.874,112,2.139,113,1.695,114,2.676,115,2.187,131,1.845,134,0.948,135,3.69,141,1.865,142,2.272,143,2.549,145,1.477,148,1.773,150,2.1,151,2.004,152,2.698,169,1.591,175,1.695,176,1.369,332,1.164,375,1.654,377,1.756,379,1.558,380,3.883,421,2.092,443,2.004,453,2.061,454,1.461,487,2.452,497,2.199,504,1.756,520,1.93,538,1.145,548,2.452,582,1.506,655,3.438,692,2.831,721,4.99,912,1.886,942,2.161,1008,2.98,1045,1.725,1137,2.199,1254,3.043,1257,2.335,1540,1.74,1563,1.886,1582,1.907,1646,2.39,1647,1.628,1659,2.285,1731,2.39,1770,2.706,1864,2.523,3045,2.706,3138,2.092,3778,3.251,3779,3.251,3780,3.251,3781,3.251]],["title/842",[18,0.984,131,2.252]],["content/842",[18,1.42,19,3.467,48,2.519,49,2.264,52,2.116,63,2.528,69,2.185,74,0.875,104,0.807,113,1.565,131,3.878,132,7.488,133,4.619,135,4.444,136,3.857,141,1.722,150,1.967,151,4.556,152,2.528,169,1.47,175,2.591,181,3.569,182,3.15,183,2.95,184,1.827,185,1.373,332,1.78,374,2.208,375,2.528,376,1.995,377,1.622,378,1.539,380,1.503,406,1.481,415,2.433,453,1.903,516,1.827,523,1.876,536,2.031,548,2.265,582,1.391,641,2.364,655,1.331,683,1.903,688,1.669,691,1.419,721,4.091,760,2.33,873,2.157,1048,1.741,1071,1.722,1133,1.653,1144,3.73,1174,2.031,1583,3.493,1588,2.265,1589,2.111,1595,3.984,1626,3.15,1627,3.424,1646,3.654,2197,1.827,3122,2.614,3369,2.769,3376,5.862,3782,3.003,3783,3.003,3784,3.003,3785,3.003,3786,3.003,3787,3.003,3788,3.003]],["title/852",[18,0.984,55,1.966]],["content/852",[18,1.775,28,3.574,55,3.335,134,2.861,150,2.946,314,5.403,406,3.67,454,1.618,621,3.036,858,4.865,1144,4.366,1404,5.345,1624,8.169,1647,3.726,2327,6.862,3789,7.443]],["title/853",[28,2.107,134,1.887]],["content/853",[18,1.314,28,2.813,134,3.599,150,3.421,241,3.135,600,4.806,889,3.293,900,3.293,956,4.362,1174,5.846,1730,5.259,1742,5.745]],["title/854",[28,2.107,3790,6.475]],["content/854",[18,1.465,51,4.615,134,2.808,240,5.066,600,5.356,720,3.195,1202,7.083,3791,9.634]],["title/855",[28,2.107,3792,6.475]],["content/855",[18,1.441,99,4.541,134,2.763,492,4.059,1177,4.9,1202,6.969,3793,8.74,3794,8.74,3795,9.479]],["title/856",[28,2.107,3796,6.475]],["content/856",[18,1.354,64,3.244,100,5.166,107,6.879,380,4.459,1116,4.021,1202,6.547,1764,5.918,2382,6.717,3793,8.211,3794,8.211]],["title/857",[28,2.107,218,3.465]],["content/857",[18,1.208,64,2.894,74,2.315,112,2.528,145,4.653,150,3.144,218,4.252,241,2.881,493,3.241,683,5.036,720,2.635,956,4.009,1116,3.587,1184,4.073,1742,6.807,1763,6.166,1776,4.331,2036,5.373,2453,5.474]],["title/858",[28,2.107,3797,6.475]],["content/858",[18,1.756,76,6.402,218,5.156,380,4.823,1202,7.083,1764,6.402,3798,9.634]],["title/859",[28,2.107,3799,5.97]],["content/859",[18,1.396,130,6.103,134,2.676,143,3.483,150,3.635,588,4.495,657,3.671,849,7.01,956,4.634,1373,7.643]],["title/860",[28,2.107,3800,6.475]],["content/860",[18,1.418,130,6.2,134,2.719,454,2.028,557,4.533,849,5.83,1327,6.003,1373,7.764,1729,7.764,3799,8.601]],["title/861",[28,2.107,377,3.497]],["content/861",[2092,9.473]],["title/862",[888,3.916]],["content/862",[18,1.465,64,3.509,65,2.895,454,2.095,484,3.123,900,4.399,3801,9.634]],["title/863",[3802,8.175]],["content/863",[18,1.567,47,5.201,655,4.57,888,4.938]],["title/864",[142,3.5]],["content/864",[18,1.465,150,3.813,152,4.9,517,5.619,2229,6.402,2230,7.267]],["title/865",[65,2.457]],["content/865",[18,1.595,65,3.153,655,4.651]],["title/866",[148,4.457]],["content/866",[18,1.791,169,4.875,375,5.065,890,5.652,2038,5.331]],["title/867",[112,2.601]],["content/867",[18,1.54,61,5.875,145,4.603,150,4.01,517,4.603]],["title/868",[115,2.305]],["content/868",[3,4.469,18,1.514,115,3.321,143,3.777,150,3.942]],["title/869",[64,2.359,65,1.946]],["content/869",[48,2.358,64,2.52,134,2.016,176,2.913,251,4.679,279,1.492,482,2.251,485,3.225,487,5.218,488,3.576,492,2.962,507,3.772,600,3.846,657,2.765,900,2.636,1097,5.546,1170,4.451,1541,5.218,1545,3.885,1818,4.323,2076,4.385,2913,4.679,3052,6.378,3067,7.78,3418,5.369,3644,5.369,3803,6.918,3804,6.918,3805,6.918,3806,6.378,3807,6.918]],["title/870",[65,1.374,3808,4.573,3809,4.573,3810,4.573]],["content/870",[18,1.064,32,2.528,65,2.104,134,2.746,229,3.377,311,2.798,483,4.504,492,2.997,524,2.916,531,2.932,574,2.827,600,3.892,773,3.649,1022,4.823,1035,3.781,1170,4.504,1545,3.931,2044,5.28,3265,4.576,3418,5.433,3529,5.28,3806,6.454,3811,7,3812,9.274,3813,7,3814,7,3815,7,3816,7]],["title/877",[279,1.156,499,2.922,3078,3.449]],["content/877",[28,2.813,148,4.713,194,3.263,279,1.864,313,3.455,477,2.9,574,3.49,864,5.65,892,5.402,1025,3.952,1055,5.745,1482,5.402,3127,4.585,3435,7.526,3817,7.97]],["title/878",[3323,7.117]],["content/878",[74,2.225,148,5.442,454,1.66,488,3.947,499,4.163,515,4.772,527,4.379,720,2.532,1035,4.124,1045,4.05,1063,4.772,1185,4.646,1482,4.772,1811,7.04,1934,6.121,2066,5.367,2298,5.164,3330,5.759,3340,5.926,3734,7.04,3818,7.636,3819,7.04,3820,7.636]],["title/879",[2914,5.746]],["content/879",[18,1.146,307,5.009,375,3.834,376,5.009,517,3.425,574,3.044,657,3.013,827,4.19,889,2.872,1087,3.69,1116,3.403,1482,4.711,1540,4.034,1545,4.233,1573,5.098,2038,4.034,2039,5.117,3127,6.225,3323,6.563,3735,9.126]],["title/880",[313,3.268]],["content/880",[28,1.569,74,2.106,112,2.299,131,2.513,148,3.94,194,1.82,279,1.04,306,2.164,313,3.464,440,2.736,482,1.569,499,2.629,521,2.294,684,3.166,720,2.396,743,3.323,793,3.323,890,2.736,896,2.736,898,2.654,908,4.65,939,3.637,1008,2.708,1025,2.205,1038,2.581,1045,2.558,1055,3.205,1063,3.013,1079,3.39,1081,3.013,1106,2.667,1126,3.743,1344,3.39,1482,3.013,1632,3.866,1708,3.261,1709,3.057,1848,3.205,1892,2.973,2066,3.39,2197,2.934,3127,5.106,3337,4.013,3362,3.866,3363,3.866,3508,5.19,3555,4.198,3638,4.013,3817,4.446,3821,4.822,3822,4.822,3823,4.822,3824,4.822,3825,4.822,3826,4.446]],["title/881",[1477,3.755,3827,6.475]],["content/881",[8,0.533,18,0.634,28,2.106,64,1.52,74,1.216,111,2.275,112,1.328,148,4.87,185,1.908,194,1.575,279,1.395,460,1.4,482,1.358,488,2.157,492,1.787,493,1.702,557,2.028,581,1.818,582,1.933,620,2.608,621,1.702,657,1.668,793,2.875,905,2.875,908,2.685,956,2.105,994,2.728,1025,2.959,1038,2.233,1046,3.847,1055,2.773,1106,1.54,1114,3.473,1116,1.884,1131,2.368,1185,2.539,1249,2.933,1477,2.42,1482,2.608,1737,2.933,1750,6.355,1757,3.345,2039,2.157,2302,3.345,2507,3.345,2521,3.239,3127,5.425,3140,3.473,3265,6.975,3477,3.633,3508,5.693,3540,3.847,3740,3.847,3819,3.847,3828,4.173,3829,4.173,3830,5.967,3831,4.173,3832,7.927,3833,4.173,3834,4.173,3835,4.173,3836,4.173,3837,4.173]],["title/882",[1582,4.795]],["content/882",[8,0.429,74,0.98,112,1.07,114,1.16,115,0.948,148,4.314,150,1.331,279,0.725,332,1.204,421,4.426,482,1.094,485,1.568,486,1.6,488,2.819,499,5.077,524,1.401,531,2.881,540,4.571,555,5.028,557,1.634,582,2.525,620,2.101,626,2.843,666,2.979,688,1.869,695,2.046,720,1.808,761,2.046,859,2.235,891,1.816,900,1.281,905,2.317,908,2.164,915,1.537,1008,1.888,1029,1.95,1042,2.61,1081,2.101,1093,3.509,1119,3.509,1184,1.724,1209,4.496,1213,2.198,1224,2.536,1393,2.928,1395,3.624,1482,2.101,1502,2.164,1536,2.928,1659,2.364,1675,3.457,1680,2.415,1697,2.696,1796,3.1,1831,1.753,1864,2.61,2038,4.234,2039,1.738,2197,2.046,2202,3.1,2232,2.61,2298,2.274,2921,2.696,3087,4.94,3127,4.613,3508,3.916,3516,2.317,3838,3.363,3839,3.363,3840,3.363,3841,3.1,3842,3.363,3843,3.363,3844,3.363,3845,2.61,3846,3.1,3847,3.363,3848,3.363,3849,5.338,3850,3.363,3851,5.453,3852,3.363]],["title/883",[1079,4.551,2007,5.389]],["content/883",[]],["title/884",[567,4.104,3853,6.475]],["content/884",[510,4.17,521,4.053,524,3.549,540,5.661,567,5.4,574,3.44,604,4.886,907,5.568,1209,5.568,2039,5.535,3091,7.09,3127,5.68,3295,7.09,3854,8.519]],["title/885",[574,3.301]],["content/885",[454,2.028,510,4.566,551,5.135,562,4.948,574,3.767,607,6.428,1185,5.676,2007,7.764,2039,4.823,3127,4.948]],["title/886",[3855,7.537]],["content/886",[8,0.916,249,3.238,378,5.528,482,2.333,499,3.91,524,2.987,531,3.003,551,3.947,565,3.707,566,4.85,567,6.07,603,4.941,623,4.113,626,3.738,888,3.435,1038,3.838,1096,4.941,1242,4.256,1545,4.027,1645,4.85,1819,4.546,2076,4.546,2197,4.363,3127,3.804,3128,5.565,3856,6.243]],["title/887",[1645,4.379,2039,3.347]],["content/887",[131,1.719,148,2.695,233,3.1,279,1.897,454,1.601,485,2.305,499,2.695,537,3.343,551,4.842,565,2.556,566,3.343,583,3.475,600,2.748,657,1.976,695,4.479,712,2.352,777,3.008,889,1.883,905,3.406,1025,2.26,1029,2.867,1033,3.343,1069,2.577,1092,3.55,1106,1.825,1131,2.805,1251,3.343,1276,3.406,1583,3.475,1620,2.166,1635,2.805,1645,4.979,1675,3.134,1938,3.837,2038,2.646,2039,5.849,2055,4.114,2085,3.729,3096,4.114,3124,4.558,3127,4.665,3583,4.558,3857,4.944,3858,4.944,3859,4.944,3860,4.944,3861,4.944,3862,4.944,3863,4.944,3864,4.944]],["title/871",[249,2.42,1096,3.693,2038,2.869]],["content/871",[104,1.927,163,5.15,249,4.324,375,3.647,477,2.406,488,3.707,521,3.411,536,4.85,657,2.866,1006,4.481,1008,4.027,1025,3.278,1038,3.838,1096,4.941,1482,4.481,1563,4.158,1583,5.04,1851,4.765,1947,4.85,3127,5.719,3128,5.565,3587,6.611,3849,5.565,3856,6.243,3865,7.171,3866,7.171]],["title/872",[3856,7.117]],["content/872",[24,2.086,55,1.701,74,1.633,88,2.483,104,1.505,134,2.351,148,3.054,175,2.92,249,3.643,279,1.74,454,2.249,495,2.92,585,3.605,624,2.998,657,2.239,664,2.647,695,3.408,720,1.858,1038,2.998,1096,5.559,1107,4.225,1233,3.179,1265,3.605,1393,4.877,1502,3.605,1528,3.86,1713,6.714,2162,4.348,2298,3.789,3127,5.015,3128,4.348,3446,4.877,3867,5.602,3868,5.602,3869,4.877,3870,5.165,3871,4.877,3872,5.602,3873,5.165,3874,5.602,3875,5.602,3876,5.165]],["title/873",[148,2.922,378,2.748,720,1.778]],["content/873",[18,1.28,55,2.557,74,2.453,148,4.59,421,5.417,470,4.506,657,3.365,664,3.978,1107,6.35,1116,3.801,1233,6.031,1593,6.35,3127,4.465,3128,6.534,3129,4.238,3131,4.238,3271,4.996,3658,10.651,3870,7.762,3871,7.33,3873,7.762,3876,7.762,3877,4.596]],["title/874",[3878,6.345]],["content/874",[18,0.941,148,3.375,279,1.335,313,3.462,441,6.943,458,3.227,482,2.014,495,3.227,529,2.778,549,4.266,559,3.284,568,3.227,605,3.924,655,2.744,900,2.359,1060,4.352,1087,3.03,1096,4.266,1242,5.14,1620,2.712,1693,5.152,1713,5.152,1741,5.152,1790,5.39,1848,4.114,2038,3.313,3127,5.739,3196,5.39,3278,5.708,3428,5.152,3546,5.39,3869,7.54,3871,7.54,3878,4.805]],["title/875",[460,2.172,1242,3.843]],["content/875",[49,2.186,50,2.839,61,3.159,78,2.942,131,1.894,176,2.294,454,1.719,477,1.827,522,4.533,536,3.683,551,2.998,565,4.81,581,2.372,588,2.666,641,2.591,666,2.359,858,3.56,896,3.091,1091,4.004,1096,6.412,1104,3.404,1242,6.435,1595,4.366,1620,3.463,2258,6.883,2298,3.683,2924,5.022,3128,6.135,3560,7.289,3869,6.883,3879,5.446,3880,7.905,3881,5.446,3882,5.446,3883,5.022,3884,5.446,3885,5.446,3886,5.446,3887,5.446]],["title/876",[74,1.333,621,1.865,664,2.161,1242,2.714]],["content/876",[18,1.17,28,1.709,49,2.954,50,2.738,74,1.531,131,1.827,134,1.531,145,2.386,150,2.079,162,3.046,176,2.212,376,3.49,454,1.674,505,2.188,516,3.195,520,5.409,546,2.552,551,2.891,565,2.715,581,2.288,600,2.92,624,2.811,657,2.099,666,3.334,672,2.762,889,2.001,916,3.046,1242,5.956,1254,3.012,2038,4.12,2039,2.715,2404,3.692,3127,2.786,3138,3.38,3849,4.076,3878,7.789,3888,5.252,3889,5.252,3890,5.252,3891,5.252,3892,5.252,3893,5.252,3894,4.843]],["title/888",[375,3.293,2038,3.465]],["content/888",[18,1.277,74,2.447,148,4.579,279,2.288,454,1.826,482,2.732,499,4.579,646,3.768,891,4.536,942,5.581,976,3.84,1485,5.489,1848,5.581,2038,4.494,3127,4.454,3638,6.989]],["title/889",[18,0.984,891,3.497]],["content/889",[8,1.618,18,1.429,37,1.273,84,1.531,100,1.166,103,1.988,104,2.296,112,2.084,145,2.517,148,1.354,150,1.677,184,1.511,247,3.288,332,0.889,379,2.03,400,1.295,406,2.089,416,2.993,421,2.726,460,2.197,478,1.873,486,1.181,493,1.013,517,1.128,524,1.035,526,1.89,551,1.367,562,1.317,587,1.069,603,1.711,620,1.552,624,2.965,626,4.173,743,1.711,768,2.162,796,3.08,829,1.991,889,0.946,899,1.873,1029,1.44,1210,2.29,1327,1.598,1483,2.162,1486,2.29,1644,1.68,1659,4.603,1676,1.991,1721,1.68,1724,1.711,1862,1.784,1863,5.45,1864,4.3,2032,1.991,2038,1.329,2064,1.826,2093,1.873,2353,1.928,2905,3.906,3040,2.067,3127,3.473,3400,3.906,3754,2.067,3895,5.541,3896,2.484,3897,2.484,3898,2.484,3899,3.906,3900,2.484,3901,2.484,3902,4.237,3903,2.484,3904,4.237,3905,2.484,3906,2.484,3907,2.484,3908,2.484,3909,2.484,3910,6.548,3911,4.237,3912,5.541,3913,2.484,3914,4.237,3915,4.237,3916,2.29]],["title/890",[145,2.942,3638,5.389]],["content/890",[6,2.24,18,1.179,54,2.726,74,1.836,99,1.931,104,1.083,108,1.627,112,2.004,131,1.402,134,1.836,145,2.862,148,2.197,279,1.358,306,1.808,400,2.101,409,1.831,412,2.833,436,1.987,440,3.574,441,3.231,479,2.593,482,1.311,499,3.434,557,3.061,564,2.963,620,2.519,623,3.613,624,5.09,626,4.958,639,1.501,714,1.987,757,3.537,859,2.678,896,2.287,907,5.068,916,2.337,1011,3.354,1029,2.337,1071,2.312,1106,1.487,1116,1.82,1121,2.392,1147,3.04,1157,2.197,1162,3.231,1184,2.066,1485,2.634,1573,2.726,1591,2.963,1620,3.397,1725,3.354,1819,2.555,1841,2.421,1842,3.354,1848,4.186,2038,2.157,2353,3.128,2932,3.354,3127,5.045,3295,3.354,3845,3.128,3849,3.128,3917,3.04,3918,4.03]],["title/891",[1190,3.102,3127,3.434]],["content/891",[18,1.48,74,2.142,99,3.521,134,2.142,308,3.546,395,4.472,477,2.466,524,3.062,624,5.21,684,3.22,695,4.472,889,2.8,907,4.804,1060,5.166,1116,3.318,1190,4.663,1423,4.531,1604,6.776,1620,3.22,1662,4.593,1947,4.971,2038,3.934,3127,5.163]],["title/892",[3127,3.434,3919,6.475]],["content/892",[8,1.074,18,1.279,88,2.634,99,2.846,112,2.677,134,1.731,143,2.253,162,3.445,184,3.615,380,2.974,395,3.615,460,1.993,466,3.662,482,1.933,505,2.475,624,4.503,665,3.408,976,2.716,994,3.883,1015,3.18,1742,3.948,1819,3.766,1859,5.797,1939,5.478,2045,4.368,2453,4.093,2587,5.172,2708,7.757,3127,5.181,3133,4.611,3431,5.478,3648,5.172,3899,5.478,3920,8.505,3921,5.941,3922,5.941]],["title/893",[666,2.321,2038,2.869,3087,3.85]],["content/893",[143,2.858,279,1.625,375,3.834,454,1.639,482,2.453,486,3.586,499,4.11,505,3.14,507,4.11,531,3.157,552,4.233,573,4.277,588,3.69,890,4.277,976,3.446,1209,4.927,1475,4.85,1841,4.529,2038,4.034,2039,3.897,3068,5.686,3086,6.274,3516,5.194,3923,7.538,3924,5.686]],["title/894",[3924,6.166]],["content/894",[]],["title/895",[108,1.61,684,1.747,1209,2.606,2039,2.061,3516,2.747]],["content/895",[0,1.408,8,0.415,18,1.022,48,1.808,49,0.899,69,1.823,74,0.948,84,2.004,88,1.441,141,1.865,142,1.392,145,2.41,150,2.1,185,1.487,229,1.569,241,1.924,249,2.395,279,1.144,310,1.667,407,2.285,446,3.29,450,1.773,454,0.707,470,1.74,477,1.78,482,2.187,484,1.054,520,1.93,526,1.45,538,1.145,556,3.468,557,2.578,558,2.452,568,1.695,581,1.416,587,2.285,592,1.681,624,1.74,626,3.504,641,1.547,650,2.452,691,1.536,720,2.229,790,1.978,851,2.523,888,2.542,889,1.239,898,2.921,908,2.092,917,1.79,1025,1.487,1054,1.953,1096,2.24,1139,3.228,1209,3.468,1242,3.149,1254,3.043,1376,2.335,1401,4.619,1403,3.043,1851,2.161,2038,1.74,2039,4.417,2072,1.845,2144,2.523,2252,2.285,3127,3.565,3132,2.831,3134,2.706,3138,2.092,3259,2.831,3271,1.93,3287,2.335,3516,7.568,3648,2.831,3925,2.032,3926,2.831,3927,3.251,3928,3.251,3929,3.251,3930,2.998,3931,3.251,3932,3.251]],["title/896",[1190,2.568,1209,3.504,3516,3.693]],["content/896",[18,1.379,20,2.58,48,1.464,74,1.252,88,4.343,112,1.367,142,1.839,145,1.951,148,2.341,150,2.619,185,1.964,241,2.4,279,0.926,309,2.298,395,2.613,436,2.118,446,3.951,454,0.934,458,2.239,477,2.708,482,2.951,484,1.392,531,2.772,556,2.807,557,2.087,558,3.239,587,2.849,603,2.959,624,2.298,684,1.881,691,2.029,720,1.424,791,3.019,851,3.333,889,1.636,1061,2.722,1101,2.387,1188,3.239,1190,4.345,1254,2.463,1597,3.019,1603,3.574,1678,3.239,1970,2.364,2039,2.22,2072,2.437,2086,3.574,2252,3.019,3271,2.549,3516,7.13,3917,3.239,3925,2.684,3926,7.028,3930,3.96,3933,4.295,3934,4.295]],["title/897",[1190,2.568,1242,3.181,3878,4.16]],["content/897",[0,2.055,18,1.697,20,2.85,48,1.617,49,1.974,51,2.273,74,1.383,88,3.165,142,2.031,145,2.156,185,2.169,279,1.023,306,2.129,446,3.494,454,1.032,482,1.544,484,1.538,520,4.237,531,1.987,556,3.101,557,2.305,558,3.579,587,3.074,624,4.593,664,2.242,684,2.079,691,2.242,720,1.573,851,3.682,889,1.808,1061,3.008,1096,3.269,1101,2.638,1190,4.905,1242,6.385,1254,4.922,1603,3.949,1970,2.612,2039,2.453,2072,2.692,3271,2.816,3516,6.578,3878,3.682,3925,2.965]],["title/898",[1209,3.504,3516,3.693,3920,4.667]],["content/898",[18,1.619,20,3.127,74,1.517,88,3.391,142,2.229,185,2.38,279,1.122,310,2.669,446,3.744,454,1.132,482,1.694,484,1.687,505,2.169,521,2.477,531,2.18,556,3.403,557,2.53,587,3.293,624,4.093,684,2.281,691,2.46,720,1.726,851,4.04,889,1.983,1061,3.3,1101,2.894,1190,3.664,1209,4.999,1254,2.986,1603,4.333,2039,2.691,2072,2.954,2144,4.04,3271,3.09,3516,7.927,3552,4.04,3619,3.827,3920,9.69,3925,3.253]],["title/899",[241,1.659,1133,2.517,1209,2.989,3935,4.216]],["content/899",[18,0.961,88,3.897,113,3.297,145,3.994,150,2.503,194,2.387,241,2.294,380,3.166,482,2.058,505,2.634,517,2.873,566,4.277,626,4.582,666,2.738,976,2.891,1106,3.729,1115,3.627,1242,5.217,1662,3.952,1737,4.445,1751,4.77,2039,4.544,3127,4.662,3197,5.506,3271,5.217,3287,6.313,3474,5.506,3878,4.908,3936,6.324,3937,5.831]],["title/900",[1895,5.637,2038,3.465]],["content/900",[71,2.355,141,4.619,279,1.736,310,4.129,484,2.611,531,3.373,563,4.129,615,5.182,691,3.805,898,4.433,942,5.352,1661,5.264,1895,8.996,2038,4.31,3205,4.67,3259,7.011,3271,4.78,3937,7.425,3938,8.053]],["title/901",[3855,7.537]],["content/901",[1,4.834,18,1.208,135,3.78,145,4.653,484,2.575,486,4.873,568,4.142,664,3.754,892,4.965,1106,2.932,1259,7.325,1395,5.28,1502,5.112,2038,4.252,2060,6.612,2145,4.834,3135,6.917,3926,6.917,3935,7.325]],["title/902",[551,2.195,565,2.061,566,2.697,567,2.528,2038,2.134]],["content/902",[194,3.04,279,1.736,454,1.751,482,2.62,543,5.784,551,4.433,557,3.913,565,4.163,594,4.67,596,6.702,598,6.702,626,4.198,1475,5.182,1675,5.105,2038,4.31,2039,4.163,3068,6.074,3086,6.702,3127,4.272,3939,7.425]],["title/903",[104,1.44,332,1.919,2038,2.869]],["content/903",[8,0.988,104,3.007,331,4.218,332,3.605,454,2.577,493,3.156,513,4.033,565,3.999,659,3.409,672,5.293,688,4.301,698,3.409,2038,4.14,3074,6.735,3142,6.735,3940,7.736]],["title/904",[2038,3.465,2039,3.347]],["content/904",[8,1.418,18,1.803,28,0.962,37,1.516,64,1.077,74,0.862,99,1.417,113,1.542,131,2.188,142,1.266,145,2.23,162,3.648,185,3.348,310,3.754,454,1.592,460,0.992,484,0.959,517,1.344,521,1.407,526,2.806,540,1.965,563,1.516,565,2.537,600,1.644,603,2.038,620,3.067,621,1.206,626,2.558,639,1.101,641,1.407,657,1.182,672,4.27,719,1.933,867,1.777,888,1.417,898,1.628,900,2.396,916,3.648,956,1.492,1054,1.777,1076,1.612,1116,1.335,1132,3.988,1133,3.463,1190,1.417,1595,2.371,1619,2.461,1674,4.518,2038,1.583,2039,4.527,2058,2.461,2072,1.678,2085,2.231,2178,2.986,2815,5.043,3127,3.337,3135,2.575,3140,2.461,3142,2.575,3173,3.809,3894,2.727,3941,2.957,3942,2.957,3943,2.957,3944,2.957,3945,2.957,3946,2.957,3947,2.957,3948,2.957,3949,2.957,3950,2.957,3951,2.957,3952,2.461]],["title/905",[279,1.156,545,2.55,3079,3.304]],["content/905",[64,2.855,65,2.356,101,3.924,153,6.524,279,1.69,313,3.133,482,2.551,485,3.654,490,5.401,500,5.824,545,3.729,574,3.165,695,4.769,889,2.986,1025,3.584,1045,4.158,1722,4.709,2116,4.899,3144,6.084,3150,5.763,3152,6.284]],["title/906",[49,1.79,1551,3.939]],["content/906",[]],["title/907",[108,1.61,115,1.124,379,1.91,2263,2.217,3157,2.747]],["content/907",[48,1.328,51,4.484,74,2.508,101,4.308,108,3.475,115,2.639,142,2.627,143,1.478,152,1.982,311,1.558,313,2.452,379,1.867,397,1.697,450,2.125,453,2.47,454,0.847,458,2.031,500,3.519,517,2.787,519,1.854,520,2.313,535,1.951,545,1.854,557,1.894,568,2.031,619,3.598,652,3.782,720,1.292,761,2.371,777,2.371,796,2.166,857,2.799,889,1.485,1016,2.59,1032,2.635,1080,3.393,1081,2.435,1087,3.003,1094,4.227,1155,3.834,1156,4.51,1198,3.955,1485,2.547,1502,2.507,1527,2.547,1575,2.105,1722,3.686,1828,3.024,2039,2.014,2072,2.211,2252,2.739,2263,4.784,2277,4.627,2886,3.393,3062,3.243,3157,2.685,3158,3.243,3184,3.124,3185,5.449,3227,1.688,3508,2.799,3917,2.939]],["title/908",[74,1.333,133,2.858,535,2.289,1152,2.542]],["content/908",[18,0.771,74,2.186,111,2.765,112,2.387,133,3.169,134,1.478,279,1.093,313,2.999,377,2.739,397,2.209,400,3.911,453,3.215,482,2.441,488,2.622,515,3.169,521,2.413,535,3.756,568,2.644,646,2.276,665,4.303,720,1.682,895,3.01,915,2.319,1018,3.936,1025,2.319,1055,3.37,1081,4.688,1094,5.169,1098,2.848,1156,5.516,1184,2.6,1198,5.144,1386,2.975,1528,3.494,1709,3.215,1722,4.507,1795,3.936,2173,3.642,2197,3.085,2365,2.792,3094,4.986,3157,5.169,3161,4.415,3185,3.642,3187,4.676,3188,4.415,3953,5.071]],["title/909",[279,1.396,2365,3.564]],["content/909",[36,1.988,51,3.543,65,2.223,74,1.734,101,2.978,104,1.007,107,2.342,108,1.513,114,1.293,115,1.677,133,2.342,142,1.605,152,3.025,184,2.28,233,1.578,279,1.595,308,2.87,311,2.378,314,2.063,379,1.795,397,1.632,450,2.043,470,2.006,477,1.258,482,1.936,484,1.928,524,2.478,535,2.978,545,2.83,592,1.937,619,2.198,646,2.669,652,2.31,688,2.084,715,2.635,827,2.084,885,2.755,896,2.127,915,2.72,980,3.456,1022,2.582,1052,1.783,1116,1.692,1133,2.063,1152,2.084,1155,2.342,1234,3.119,1251,2.535,1527,2.45,1564,4.769,1593,2.827,1620,2.606,1647,1.876,1724,2.582,1831,1.954,2039,3.075,2072,4.197,2206,3.263,2263,3.307,2365,4.636,2956,3.119,3157,4.099,3185,4.272,3227,3.647,3495,3.263,3954,7.396,3955,3.748,3956,3.263,3957,3.456]],["title/910",[279,1.396,2365,3.564]],["content/910",[12,1.41,35,1.346,51,4.045,65,1.388,101,2.99,114,0.949,115,2.198,135,3.328,142,1.178,151,2.847,176,1.158,184,1.673,233,2.515,241,0.998,279,0.996,308,1.327,310,1.41,311,1.846,332,0.985,379,2.213,425,2.536,450,1.499,477,1.55,482,0.895,484,1.497,492,1.178,500,1.577,524,3.249,535,4.904,545,1.308,592,1.422,646,2.68,652,1.695,720,2.586,760,2.135,761,1.673,827,2.568,857,1.975,895,1.632,900,2.275,915,1.257,976,1.257,1022,1.895,1069,1.434,1085,2.075,1087,1.346,1104,1.719,1165,1.422,1182,2.395,1185,1.673,1190,1.318,1233,1.561,1564,2.205,1575,2.495,1586,2.395,1620,2.616,1623,2.395,1647,1.377,1684,2.135,1737,1.933,1828,2.135,1861,1.975,2045,2.022,2060,2.289,2065,2.205,2072,3.97,2076,1.743,2173,1.975,2197,1.673,2263,2.568,2333,2.135,2365,4.293,2956,2.289,3139,1.828,3157,5.818,3185,6.064,3189,2.536,3227,4.382,3845,4.635,3956,2.395,3957,2.536,3958,2.395,3959,4.619,3960,2.75]],["title/911",[505,3.406]],["content/911",[0,2.799,154,3.341,378,3.313,395,3.932,454,1.94,481,4.158,508,5.361,510,3.163,513,3.369,531,3.737,539,3.187,574,3.603,624,3.459,720,2.143,757,3.629,827,4.961,911,3.883,945,3.791,1069,3.369,1251,4.371,1551,3.932,1653,4.295,1846,3.748,1947,4.371,2074,4.751,3079,3.984,3138,4.158,3165,5.627,3449,5.379,3506,4.751,3961,5.627,3962,6.462,3963,5.627]],["title/912",[114,1.578,115,1.289,584,3.362,2365,2.517]],["content/912",[114,3.027,115,2.473,194,3.312,313,3.507,482,2.855,584,8.018,1015,4.695,2365,4.829,3178,8.089,3179,7.302,3180,8.089,3181,7.302,3182,8.089]],["title/913",[1929,5.343]],["content/913",[241,3.675,624,5.422,1189,7.276,1929,6.622,2036,6.852]],["title/914",[3079,3.991,3924,4.884]],["content/914",[0,1.82,49,1.162,88,3.53,101,2.104,115,1.185,143,1.594,154,2.173,176,1.77,194,1.586,279,1.933,311,1.68,395,2.557,454,0.914,484,2.906,499,3.548,502,4.401,505,2.711,507,2.291,531,4.296,535,2.104,545,3.096,552,2.36,568,2.191,573,3.693,581,1.83,588,2.057,594,2.437,907,2.747,915,1.921,1015,2.249,1038,2.249,1132,2.664,1190,2.013,1423,2.591,1475,2.704,1547,3.09,1551,2.557,1839,4.401,1846,2.437,1848,5.292,1850,3.369,1851,2.793,1902,3.498,2047,3.369,2976,4.484,3068,4.909,3165,3.659,3167,3.875,3169,3.262,3170,3.262,3171,3.262,3221,3.875,3222,6.628,3419,3.018,3964,4.203,3965,6.507,3966,2.494,3967,2.896,3968,3.875,3969,3.875,3970,3.498]],["title/915",[479,4.166,615,4.166]],["content/915",[479,6.003,505,3.886,545,4.438,615,6.003,715,6.557,1724,6.428,3079,5.751,3205,5.41,3271,5.537,3971,8.601]],["title/916",[531,2.712,3925,4.046]],["content/916",[0,3.637,99,4.023,241,3.046,279,1.811,346,6.031,531,3.517,539,4.141,605,5.323,720,2.785,945,4.926,1143,5.109,1403,4.817,1499,4.984,1843,5.248,2122,6.989,3288,7.311,3925,5.248]],["title/917",[505,2.697,1069,3.375]],["content/917",[18,1.192,279,1.69,436,3.865,458,4.086,482,2.551,505,3.266,538,2.76,545,4.831,614,4.652,1115,4.496,1403,4.496,1438,5.401,1499,4.652,2277,7.659,2365,4.315,3113,6.524,3845,6.084,3925,4.899,3972,7.227,3973,6.825]],["title/918",[101,3.242,545,3.08]],["content/918",[18,1.192,97,4.315,142,4.348,169,3.837,241,2.843,279,1.69,310,4.019,446,3.837,484,2.541,545,3.729,592,4.052,619,4.598,646,3.517,652,4.832,827,4.358,1052,3.729,1157,4.274,1587,6.084,2145,4.769,2365,4.315,3247,6.284]],["title/919",[142,1.958,460,1.534,592,2.364,827,2.542]],["content/919",[1,3.033,3,2.237,55,1.514,65,2.226,100,2.34,104,1.99,142,2.135,184,3.033,185,2.279,194,1.882,229,2.405,241,1.808,279,1.597,308,2.405,311,1.993,377,2.693,407,3.504,482,3.184,484,2.401,507,2.718,545,3.524,563,4.532,573,2.829,581,2.171,588,3.626,624,2.668,652,3.073,714,2.458,827,2.772,948,2.959,976,2.279,1239,4.149,1403,2.859,1582,4.345,1593,3.76,1635,2.829,1656,2.829,1839,3.372,1929,3.259,1970,5.756,2070,3.869,2145,3.033,2365,4.078,2524,3.996,3280,3.869,3325,3.869,3974,3.76,3975,4.985]],["title/920",[169,2.238,310,2.345,621,1.865,827,2.542]],["content/920",[65,2.718,75,5.078,169,4.426,185,5.081,241,3.28,310,4.636,615,5.818,2145,5.502,2524,7.249,3225,7.018,3976,7.526]],["title/921",[142,1.958,526,2.04,827,2.542,1052,2.176]],["content/921",[18,1.393,100,2.487,104,1.424,115,1.494,131,1.843,142,3.922,171,3.073,241,1.922,279,1.143,305,4.113,307,3.522,308,2.557,310,3.973,407,3.725,440,3.007,446,2.594,474,3.145,484,3.267,508,3.184,519,2.521,545,2.521,646,4.111,683,4.912,719,3.464,720,1.757,851,6.014,915,2.423,1249,3.725,1587,6.014,1589,3.725,1656,3.007,1674,3.806,1839,3.584,2072,3.007,2197,3.224,2365,2.917,3138,3.41,3157,3.651,3272,4.614,3973,4.614,3977,5.299,3978,5.299,3979,5.299,3980,5.299,3981,5.299]],["title/922",[436,2.643,486,2.55,1438,3.693]],["content/922",[69,2.693,142,3.356,194,2.959,436,5.007,444,5.63,504,5.484,505,3.266,816,4.496,915,3.584,1069,4.086,1115,4.496,1147,5.913,1438,7.761,1839,5.301,1967,5.63,2503,5.401,3982,7.839,3983,7.839]],["title/923",[0,2.804,1403,3.714]],["content/923",[436,4.911,1107,7.513,1438,8.116,1521,7.153,1554,7.73]],["title/924",[142,2.295,233,2.257,665,3.074]],["content/924",[142,5.233,169,4.11,279,1.811,436,4.141,505,3.498,1377,4.765,1438,5.786,1653,5.581,2277,6.334,3223,6.989,3672,6.989,3973,7.311,3984,10.611]],["title/925",[646,2.905,2277,4.884]],["content/925",[18,0.961,65,1.901,100,2.968,104,2.362,131,2.199,185,2.891,308,3.051,310,3.242,393,3.667,400,4.582,440,3.588,454,1.375,482,2.058,484,2.849,507,3.448,557,3.073,563,3.242,583,4.445,621,2.58,646,2.838,715,4.445,915,2.891,1069,3.297,1674,4.542,2072,6.196,2277,8.236,2453,4.357,2738,4.445,2890,5.263,3985,6.324,3986,6.324]],["title/926",[535,3.242,551,3.564]],["content/926",[18,1.09,99,3.435,154,3.707,194,2.707,279,1.546,454,1.559,482,2.333,484,2.324,486,3.411,521,3.411,524,2.987,531,3.003,562,3.804,563,3.676,565,3.707,566,4.85,574,2.895,607,4.941,888,3.435,1008,4.027,1025,3.278,1059,4.42,1670,4.069,1675,4.546,1678,5.409,1711,4.363,1731,5.272,2042,6.243,2077,5.15]],["title/927",[594,4.741]],["content/927",[8,0.665,18,1.163,99,3.664,104,1.399,154,2.691,233,2.192,279,1.649,332,1.864,375,2.648,414,3.253,421,3.35,486,2.477,505,2.169,524,2.169,531,3.203,551,4.991,567,3.3,583,3.659,594,4.436,599,4.532,607,3.587,641,2.477,888,3.664,889,2.914,891,4.897,907,3.403,917,2.866,948,3.09,1061,6.335,1173,3.739,1658,3.927,1677,3.927,1743,3.927,1970,2.866,2032,4.173,3068,3.927,3069,6.366,3925,3.253,3970,4.333,3987,4.04,3988,5.206,3989,5.206,3990,5.206,3991,5.206,3992,5.206]],["title/928",[104,1.74,332,2.318]],["content/928",[24,2.919,52,4.323,104,2.728,332,2.807,379,4.864,397,3.414,415,4.97,421,5.044,672,4.122,686,6.026,698,3.454,889,2.986,894,6.996,948,4.652,1629,7.227,3993,7.839]],["title/929",[18,0.815,99,2.568,891,2.895]],["content/929",[18,1.842,35,2.285,55,2.876,64,1.701,65,1.403,99,4.072,134,1.361,142,3.639,162,4.09,229,4.101,241,1.694,397,2.034,398,2.477,454,1.015,470,2.499,492,1.999,493,1.905,517,3.204,581,2.034,657,2.819,664,2.206,672,3.708,698,3.108,720,1.548,889,1.779,900,1.779,917,2.57,948,2.771,1143,2.841,1568,3.004,1656,4.002,1730,2.841,1737,3.282,1947,3.158,1970,4.679,2145,2.841,2503,3.217,2762,3.522,3113,3.886,3205,4.09,3281,3.433,3283,4.305,3652,3.886,3925,2.918,3994,4.065]],["title/930",[64,2.359,142,2.772]],["content/930",[18,1.117,49,2.032,55,2.956,64,3.546,69,2.525,100,3.449,104,1.975,131,2.556,142,4.673,454,1.598,664,3.473,889,2.8,900,2.8,1072,5.892,1521,5.279,1670,4.171,1730,5.923,3205,4.262,3281,5.403,3995,5.279,3996,5.704,3997,6.399]],["title/931",[65,1.946,142,2.772]],["content/931",[65,3.615,104,2.429,105,5.432,142,3.872,450,4.93,657,3.615,849,5.651,1116,4.083,1224,6.821,3281,6.648]],["title/932",[152,4.157]],["content/932",[18,0.841,24,1.274,28,1.113,35,1.675,47,4.427,48,2.724,49,3.143,51,3.829,61,5.728,69,1.9,114,2.401,115,1.559,150,1.354,152,1.74,162,1.984,229,1.651,241,1.241,242,3.776,243,2.138,477,1.148,505,2.899,517,1.554,557,2.687,581,2.409,585,2.202,586,1.921,595,3.675,655,1.517,657,1.368,664,3.776,672,1.799,849,2.138,858,2.236,889,1.303,898,3.044,900,1.303,912,1.984,917,1.883,1015,1.831,1052,2.631,1106,1.263,1116,1.545,1139,2.082,1224,2.581,1487,3.155,1521,3.971,1582,3.244,1656,1.941,1730,4.234,1970,1.883,1984,2.236,2057,2.405,3205,1.984,3281,5.116,3995,6.302,3996,4.292,3997,4.814,3998,3.421,3999,5.53,4000,3.421,4001,3.155]],["title/933",[145,3.714]],["content/933",[18,1.208,55,2.413,145,4.653,229,3.833,589,3.78,643,7.057,889,3.027,898,4.373,2145,4.834,2153,6.612,2178,4.834,2762,5.992,3281,8.333,3995,5.706,4002,9.444,4003,7.325]],["title/934",[114,2.234,115,1.825]],["content/934",[18,1.176,55,2.349,114,3.473,115,2.838,229,3.732,589,3.68,643,6.937,889,2.947,898,4.258,2145,4.707,2153,6.438,2178,4.707,2762,5.835,3281,8.228,3995,5.556,4002,9.282,4003,7.133]],["title/935",[18,0.984,99,3.102]],["content/935",[18,1.396,585,5.909,664,4.339,859,6.103,917,5.055,1061,5.822,1730,5.587,3205,5.326,3281,6.751,3995,6.596,4001,8.467]],["title/936",[486,3.08,888,3.102]],["content/936",[18,1.052,52,2.946,99,3.314,162,5.421,219,4.12,397,3.013,450,3.772,486,3.291,505,3.894,589,3.291,657,2.765,664,3.269,672,4.915,688,3.846,888,5.674,889,2.636,898,3.808,900,2.636,1377,3.926,1656,3.926,1947,4.679,1970,3.808,3572,6.378,3925,4.323]],["title/937",[888,3.102,900,2.467]],["content/937",[454,1.997,477,3.081,505,3.826,672,4.829,720,3.046,888,5.374,900,4.274,3205,5.326,3995,6.596]],["title/938",[505,2.697,888,3.102]],["content/938",[64,3.149,69,2.97,219,4.762,505,4.502,517,3.927,858,5.65,888,5.177,900,3.293,948,5.13,1254,4.958,3205,5.013,3995,6.208]],["title/939",[8,0.584,219,2.015,586,2.568,1377,2.595]],["content/939",[3,3.298,55,2.232,69,2.525,219,5.584,249,4.395,440,4.171,477,3.266,671,4.086,900,3.709,916,4.262,948,4.362,1061,4.659,1072,5.892,1521,5.279,3995,6.991,3996,5.704,3997,6.399]],["title/940",[18,0.815,219,2.362,900,2.042]],["content/940",[18,1.692,37,3.388,162,3.832,219,4.903,307,4.391,397,2.878,477,2.217,517,3.002,549,4.553,672,3.474,686,3.922,698,2.912,888,3.165,894,4.553,900,3.452,942,4.391,1116,2.983,1563,3.832,1730,5.513,1970,4.988,2145,4.02,3205,3.832,3925,4.129,3995,6.507,3996,7.032]],["title/941",[279,0.86,551,2.195,565,2.061,566,2.697,1731,2.931]],["content/941",[37,4.129,103,3.779,169,3.942,194,3.04,279,1.736,440,4.57,454,1.751,537,5.446,551,4.433,562,5.48,565,5.898,566,5.446,604,4.619,721,5.182,1675,5.105,3382,7.425,3939,7.425]],["title/942",[3089,4.689]],["content/942",[143,3.185,421,5.404,470,4.494,479,5.404,537,5.679,539,4.141,574,3.391,1008,4.716,1059,5.177,1635,4.765,2036,5.679,3089,6.086,3241,6.732,3280,6.518,3295,6.989,4004,8.398]],["title/948",[279,1.156,3082,3.941,3083,3.261]],["content/948",[64,3.378,142,4.506,154,3.535,279,2.433,400,3.565,454,1.487,479,4.4,484,2.216,500,3.922,508,4.108,509,4.108,545,3.253,589,3.253,900,2.605,976,3.126,1233,3.88,3144,7.198,3146,5.691,3150,5.027,3151,5.691,3508,4.911,3924,6.996,3967,4.711,4005,5.953,4006,6.304]],["title/949",[154,1.827,279,0.762,454,0.769,479,2.274,508,2.124,545,1.682]],["content/949",[]],["title/950",[509,2.747,976,2.091,1233,2.595,3924,3.449]],["content/950",[64,3.667,142,4.792,279,2.413,400,4.033,484,2.508,500,4.437,589,3.68,900,2.947,3144,7.814,3146,6.438,3150,5.687,3151,6.438,3508,5.556,3924,5.835,3967,5.33,4005,6.735,4006,7.133]],["title/943",[539,2.643,3080,2.451,3084,3.261]],["content/943",[18,0.903,34,2.243,48,2.025,101,2.974,185,2.716,279,1.814,313,2.375,479,3.823,482,1.933,500,3.408,505,2.475,524,3.505,572,4.267,579,3.485,1025,3.847,1033,4.018,1055,3.948,1198,3.097,1386,3.485,1545,3.336,1645,4.018,1678,4.481,1846,3.445,2047,4.762,2116,3.713,2136,4.944,2328,4.018,3080,4.466,3083,3.615,3084,3.615,3139,3.948,3226,2.449,3240,3.948,3489,3.823,3535,4.611,3538,5.172,4007,4.944,4008,3.823,4009,3.209,4010,5.941,4011,5.172]],["title/944",[500,3.074,1025,2.451,3084,3.261]],["content/944",[18,1.178,55,1.609,101,2.653,114,1.828,115,1.494,142,2.269,175,2.763,241,1.922,313,2.118,463,3.464,482,1.724,484,1.718,487,3.997,500,6.15,524,3.816,588,2.594,641,2.521,791,3.725,889,2.019,915,2.423,939,3.997,1025,2.423,1086,3.522,1087,2.594,1156,5.697,1250,3.896,1527,3.464,1846,3.073,1892,3.267,2072,3.007,2116,3.312,2183,4.614,2519,3.997,2948,3.184,3084,5.573,3199,4.411,3364,3.806,3484,3.725,3501,4.886,3508,6.579,4012,4.886,4013,5.299,4014,2.917,4015,4.614,4016,5.299,4017,5.299]],["title/945",[49,1.482,1069,2.794,3080,2.451]],["content/945",[18,0.789,48,2.601,65,2.293,108,1.278,185,3.489,194,1.194,256,1.835,279,1.645,309,1.693,313,2.637,454,0.688,458,1.649,482,2.483,505,2.162,521,1.505,524,3.509,567,2.006,572,2.272,586,1.777,614,1.878,652,1.95,720,2.53,773,1.649,931,2.036,969,2.14,982,2.633,1025,1.447,1029,1.835,1033,2.14,1042,2.456,1043,2.456,1069,1.649,1073,2.272,1084,2.272,1166,2.633,1177,2.682,1198,2.705,1201,2.036,1377,1.795,1475,2.036,1477,3.009,1540,1.693,1545,1.777,1616,2.456,1631,2.224,1656,1.795,1818,1.977,1844,2.224,1846,3.825,1970,1.742,2047,2.536,2116,1.977,2948,1.901,3080,3.016,3083,4.013,3094,2.103,3226,3.73,3227,2.856,3235,3.157,3240,3.448,3265,2.068,3297,2.387,3340,2.456,3419,2.272,3509,2.917,3522,2.536,3671,2.326,3775,2.917,3966,3.08,3967,2.18,4009,2.803,4014,2.856,4018,2.917,4019,4.545,4020,2.387,4021,3.164,4022,2.917,4023,2.633,4024,3.164,4025,3.164,4026,3.164,4027,3.164,4028,2.387,4029,3.164]],["title/946",[505,3.406]],["content/946",[0,2.799,154,3.341,378,3.313,395,3.932,454,1.94,481,4.158,508,5.361,510,3.163,513,3.369,531,3.737,539,3.187,574,3.603,624,3.459,720,2.143,757,3.629,827,4.961,911,3.883,945,3.791,1069,3.369,1251,4.371,1551,3.932,1653,4.295,1846,3.748,1947,4.371,2074,4.751,3080,2.955,3138,4.158,3218,5.627,3449,5.379,3506,4.751,3961,5.627,3963,5.627,4030,5.958]],["title/947",[1929,5.343]],["content/947",[241,3.675,624,5.422,1189,7.276,1929,6.622,2036,6.852]],["title/951",[1198,2.384,3226,1.885,3227,1.98,4009,2.47]],["content/951",[]],["title/952",[1198,4.261]],["content/952",[1,3.689,18,0.922,65,2.565,169,2.968,185,2.772,308,2.925,311,2.424,488,3.134,500,3.478,517,2.755,524,2.526,614,3.599,619,3.556,646,2.721,657,2.424,720,2.011,889,2.31,915,2.772,1052,4.061,1087,2.968,1198,5.589,1386,3.556,1631,4.262,1645,4.101,1776,3.306,1970,3.338,2178,3.689,2364,3.689,3080,2.772,3226,2.499,3227,2.626,3489,3.901,3623,5.59,3956,5.279,3976,5.046,4007,5.046,4008,5.492,4028,4.573]],["title/953",[3226,2.669,3227,2.804]],["content/953",[24,2.489,34,2.523,65,3.126,71,1.954,185,3.055,240,3.514,308,3.224,495,3.484,524,2.784,568,3.484,664,3.157,720,3.028,900,2.546,1048,3.875,1262,5.041,1563,3.875,2139,4.368,3080,3.055,3226,4.608,3227,3.954,3489,4.3,3966,3.966,4008,4.3,4011,5.818,4014,5.026,4031,3.875,4032,5.357]],["title/954",[4009,4.415]],["content/954",[65,2.878,115,2.022,524,3.989,720,2.378,1177,4.95,1540,3.838,1970,3.947,2076,4.546,3080,3.278,3089,4.113,3139,4.765,3226,3.947,3227,3.105,3240,4.765,3489,4.614,3529,5.409,3966,4.256,4009,5.172,4019,4.941,4023,5.968,4031,4.158,4033,7.171,4034,6.243,4035,6.611]],["title/955",[71,1.166,185,1.823,1841,2.395,3045,3.319,3237,2.697]],["content/955",[]],["title/956",[185,3.738]],["content/956",[18,1.178,24,1.973,141,3.04,169,2.594,185,5.289,229,2.557,241,1.922,251,3.584,279,1.143,569,4.113,581,2.308,582,2.454,586,2.976,720,3.038,757,2.976,867,3.184,957,3.184,976,2.423,1043,6.014,1113,3.584,1190,2.539,1198,2.763,1892,3.267,3080,2.423,3139,3.522,3226,4.42,3227,2.295,3364,3.806,3492,4.886,3593,4.411,3655,4.614,4014,2.917,4031,3.073,4036,4.614,4037,4.614,4038,3.896,4039,4.886,4040,4.886,4041,4.614,4042,7.749,4043,5.299,4044,5.299,4045,5.299]],["title/957",[71,1.567,1841,3.22,3237,3.625]],["content/957",[24,1.501,34,1.521,71,2.267,100,1.891,101,2.018,108,1.627,185,2.88,256,2.337,311,1.611,394,2.634,439,2.364,474,3.738,516,2.452,527,2.312,683,2.555,691,2.976,720,2.089,757,2.263,773,3.284,1026,3.04,1035,2.177,1063,2.519,1087,1.973,1136,2.519,1177,3.256,1516,3.354,1525,2.678,1527,2.634,1682,3.509,1841,2.421,2173,2.894,2364,2.452,2419,2.312,2503,2.777,2732,4.26,2948,2.421,3040,3.354,3080,2.88,3139,4.186,3156,3.231,3226,3.92,3227,2.728,3232,4.26,3235,2.452,3237,5.244,3239,3.231,3240,2.678,3277,3.354,3364,2.894,3522,6.216,3550,3.354,3612,2.833,3671,4.631,3672,3.354,3966,2.392,4009,4.735,4014,3.467,4019,2.777,4036,3.509,4037,3.509,4038,2.963,4046,4.03,4047,4.03,4048,3.128,4049,4.03,4050,3.231,4051,3.716]],["title/958",[8,0.584,313,1.828,2366,3.549,3395,3.666]],["content/958",[]],["title/959",[8,0.684,2366,4.16,3395,4.297]],["content/959",[101,2.356,114,2.448,115,2,175,2.454,311,2.836,313,3.414,378,3.638,415,2.304,470,2.519,482,1.531,486,2.239,488,2.433,510,2.304,524,1.961,574,1.9,584,3.46,936,3.917,973,3.653,1016,3.128,1073,3.38,1197,3.308,1198,2.454,1201,3.028,1386,4.162,1477,2.729,1621,4.339,1661,3.076,1720,3.653,1776,2.566,1777,3.128,1840,3.773,1892,2.901,2085,3.55,2643,3.653,3080,2.152,3115,4.098,3139,3.128,3226,1.94,3233,3.773,3258,3.653,3325,3.653,3337,3.917,3364,5.096,3395,3.773,3489,3.028,3506,3.46,3672,3.917,3738,4.098,4008,3.028,4014,2.591,4015,4.098,4023,3.917,4036,4.098,4037,4.098,4052,4.098,4053,4.706,4054,3.55,4055,4.706,4056,4.706,4057,4.706,4058,4.339,4059,4.706,4060,4.339,4061,4.339]],["title/960",[961,2.803,1059,2.458,2643,3.095,3551,2.864,4008,2.566]],["content/960",[0,1.535,8,0.727,24,2.119,34,1.338,65,1.71,111,1.933,114,1.223,115,0.999,154,1.833,184,2.157,185,1.621,311,2.275,313,3.571,331,1.933,454,0.771,484,1.149,486,1.686,492,1.518,495,2.966,510,1.735,524,2.37,546,2.765,574,1.431,584,2.606,720,1.176,729,4.087,731,4.183,760,2.751,867,2.13,889,1.351,961,5.735,1018,2.751,1020,2.674,1024,2.751,1028,2.185,1052,1.686,1059,4.394,1084,4.087,1098,1.991,1116,1.601,1189,2.546,1386,2.079,1512,2.674,1516,2.95,1661,2.317,1776,3.102,1795,2.751,1846,2.056,1892,2.185,2044,2.674,2064,2.606,2074,2.606,2334,2.95,2921,2.842,3080,2.602,3083,2.157,3094,2.356,3115,3.086,3134,2.95,3225,4.416,3226,2.938,3227,3.087,3258,4.416,3551,5.119,3641,3.268,3745,6.572,3958,3.086,4008,2.281,4014,3.132,4052,4.954,4060,3.268,4062,4.954,4063,3.268,4064,3.545,4065,3.545,4066,3.545,4067,3.545,4068,3.086,4069,3.545]],["title/961",[3080,2.96,3924,4.884]],["content/961",[0,1.833,49,1.17,74,1.234,88,3.546,101,2.119,143,1.605,154,2.188,176,1.783,279,1.411,311,1.692,395,3.981,454,1.423,484,2.593,499,3.568,502,2.863,505,3.332,507,2.308,510,2.072,513,3.411,531,4.076,535,2.119,552,2.377,568,2.207,573,3.713,574,1.709,581,1.844,586,2.377,588,2.072,594,2.455,757,2.377,907,2.767,915,1.935,1015,2.265,1038,2.265,1069,2.207,1198,2.207,1251,2.863,1475,2.724,1547,3.112,1551,2.575,1760,2.863,1839,2.863,1846,2.455,1848,4.349,1850,3.393,1851,2.813,1902,3.523,2074,3.112,2976,2.917,3068,3.193,3080,1.935,3084,2.575,3169,3.285,3170,3.285,3171,3.285,3218,3.685,3222,5.446,3226,1.745,3240,2.813,3419,3.04,3449,3.523,3961,3.685,3968,3.903,3969,3.903,3970,3.523,4009,2.286,4030,3.903,4070,4.233]],["title/962",[479,4.166,615,4.166]],["content/962",[479,6.003,505,3.886,615,6.003,715,6.557,1061,5.914,1724,6.428,3080,4.265,3205,5.41,3271,5.537,3971,8.601]],["title/963",[531,2.712,3925,4.046]],["content/963",[0,3.637,99,4.023,241,3.046,279,1.811,346,6.031,531,3.517,539,4.141,605,5.323,720,2.785,945,4.926,1143,5.109,1403,4.817,1499,4.984,1843,5.248,2122,6.989,3288,7.311,3925,5.248]],["title/964",[505,2.697,1069,3.375]],["content/964",[8,1.088,69,2.927,101,4.265,505,3.549,538,3,586,4.784,614,5.056,1198,4.441,1377,4.834,2034,6.426,3084,5.183,3226,3.512,3227,3.689,3925,5.324,3972,7.855,4009,4.601]],["title/965",[4009,4.415]],["content/965",[64,3.591,65,3.103,106,4.014,309,2.045,394,2.498,397,1.664,460,1.282,477,1.282,486,1.818,526,1.704,592,1.975,621,2.464,650,2.882,661,3.325,684,1.674,719,2.498,761,2.325,931,2.459,1015,2.045,1022,2.633,1035,5.008,1038,2.045,1098,3.392,1106,1.41,1136,4.681,1141,2.882,1155,2.388,1177,3.122,1398,2.882,1475,2.459,1750,3.063,1767,2.355,1901,2.809,2263,2.124,2270,2.966,2302,3.063,2669,2.882,3145,3.523,3226,2.49,3227,1.655,3228,8.582,3237,2.584,3484,2.686,3612,7.523,3619,2.809,3925,2.388,4009,4.046,4019,4.162,4071,3.063,4072,3.821,4073,3.821,4074,3.523,4075,3.821,4076,6.04,4077,3.18,4078,3.821,4079,3.821,4080,3.821,4081,3.821,4082,3.821,4083,3.821,4084,3.327]],["title/966",[169,3.169,4041,5.637]],["content/966",[]],["title/967",[8,0.684,1177,2.771,3966,3.181]],["content/967",[589,4.738,1177,5.149,1724,6.863,3966,5.911,4085,9.96,4086,9.96]],["title/968",[492,2.295,1038,2.869,1098,3.01]],["content/968",[108,2.729,256,3.92,309,3.617,311,2.702,312,4.492,477,2.268,619,3.965,641,3.216,720,2.242,931,4.349,1035,3.651,1038,3.617,1098,5.168,1106,2.495,1155,4.224,1177,4.757,1563,3.92,1720,5.246,1752,4.751,2263,3.758,2948,4.061,3226,2.786,3237,4.571,3239,5.418,3484,6.468,3619,4.969,3671,4.969,4009,3.651,4038,4.969,4071,5.418,4087,6.759]],["title/969",[1155,4.046,2263,3.599]],["content/969",[24,2.047,65,1.652,397,2.394,460,3.139,526,3.549,621,2.243,948,3.263,976,2.513,1106,2.029,1155,7.488,1568,3.537,1647,2.752,1764,7.775,1901,4.041,2263,6.661,2302,7.499,2741,5.069,2742,4.147,3243,5.069,3362,4.407,3612,6.576,3916,5.069,3966,3.263,4031,3.188,4088,5.497,4089,5.497,4090,5.497]],["title/970",[1098,3.01,1670,3.042,3163,3.941]],["content/970",[8,0.569,64,1.624,65,2.483,101,3.409,108,2.749,184,4.142,194,1.683,477,1.495,492,1.908,493,1.818,517,3.093,526,1.988,581,1.941,587,3.557,621,1.818,652,2.748,659,1.964,666,1.93,761,2.712,1098,6.327,1155,5.163,1177,3.52,1233,2.529,1485,4.45,1527,2.913,1568,2.868,1615,3.133,1656,2.529,1670,4.688,1711,2.712,1861,3.201,1901,5.005,1970,2.454,2263,5.838,2742,3.362,3203,5.284,3557,4.11,3612,5.807,3619,3.277,3652,3.71,3967,3.071,3974,3.362,4031,4.791,4091,3.881,4092,4.457,4093,4.457,4094,3.881]],["title/971",[1177,3.347,1861,4.65]],["content/971",[65,3.052,477,2.63,583,5.51,666,3.395,889,2.986,1098,4.402,1155,6.346,1177,5.249,1670,4.448,1691,4.832,1861,5.63,2263,5.645,3433,7.227,3533,6.524,4031,5.889,4095,7.227,4096,6.524]],["title/972",[4097,7.537]],["content/972",[1,5.259,54,5.846,141,4.958,421,5.562,564,6.355,912,5.013,1095,6.355,3226,3.563,3227,3.743,3271,5.13,3925,5.402,4009,4.669,4019,5.956,4084,7.526,4097,7.97]],["title/973",[141,3.074,3226,2.209,3227,2.321]],["content/973",[65,2.493,141,3.34,169,4.06,241,3.009,440,3.305,486,2.77,539,2.872,568,3.036,581,2.536,582,2.697,605,3.692,613,4.393,619,3.416,624,3.117,664,3.919,720,1.931,889,2.219,931,5.337,976,2.663,1069,3.036,1115,3.34,1572,5.07,1892,3.59,2036,3.938,3205,5.603,3226,4.587,3227,5.155,3967,5.715,4009,3.145,4098,5.823]],["title/974",[141,3.074,3227,2.321,4009,2.895]],["content/974",[34,0.684,52,0.771,54,2.176,55,0.55,64,0.66,65,2.742,100,0.85,104,1.793,141,1.039,150,1.274,154,0.936,169,2.95,175,0.944,184,1.958,194,1.215,240,1.692,241,2.622,253,1.998,255,1.184,256,1.05,257,1.225,397,0.789,440,2.986,458,0.944,463,1.184,482,1.047,485,0.844,505,1.341,524,3.541,526,0.808,531,0.759,538,0.638,568,0.944,581,1.402,605,2.04,616,1.577,624,2.324,639,0.675,653,2.104,664,1.521,720,0.601,721,1.166,859,1.204,867,2.609,889,1.654,906,1.577,915,0.828,931,2.071,942,1.204,969,2.937,1035,1.738,1098,2.955,1106,1.188,1115,3.457,1132,3.335,1155,2.011,1159,1.508,1177,4.202,1265,2.071,1398,4.546,1419,2.58,1540,0.969,1541,1.366,1545,1.017,1572,2.802,1573,1.225,1626,1.148,1719,1.67,1751,1.366,1818,2.011,1843,2.011,1892,1.984,2036,1.225,2127,1.248,2191,1.508,2206,1.577,2246,1.577,2263,1.789,2600,2.498,2732,1.225,2762,1.366,2890,2.678,2914,2.262,2948,1.933,3080,0.828,3087,2.311,3126,1.577,3156,1.452,3163,1.332,3181,2.678,3184,1.452,3185,1.301,3205,2.518,3235,1.958,3237,1.225,3271,1.075,3287,4.328,3419,1.301,3506,2.366,3555,1.577,3612,1.273,3706,1.366,3845,1.406,3846,1.67,3952,1.508,3966,3.577,3996,1.406,4009,5.775,4020,1.366,4031,4.192,4038,1.332,4071,2.58,4091,1.577,4099,1.811,4100,1.811,4101,1.67,4102,1.67,4103,1.67,4104,2.967,4105,3.781,4106,2.802,4107,2.678,4108,2.967,4109,2.967,4110,1.811,4111,2.802,4112,1.811,4113,1.67]],["title/975",[62,2.605,75,3.01,141,3.074]],["content/975",[62,5.349,64,3.244,65,3.308,141,5.108,495,4.643,720,2.953,1006,5.565,3153,7.754,3227,3.857,3706,6.717,4031,5.165]],["title/976",[65,1.374,75,2.568,141,2.623,4009,2.47]],["content/976",[0,3.637,141,4.817,169,4.11,652,5.177,720,2.785,867,5.045,1177,4.341,2241,6.174,3506,6.174,3593,6.989,3706,6.334,4009,4.536,4019,5.786,4041,7.311,4114,8.507,4115,7.743]],["title/977",[1101,3.599,3966,3.843]],["content/977",[0,1.356,62,1.521,65,2.706,99,1.5,100,3.93,108,2.643,184,3.129,194,2.471,241,1.135,253,2.367,400,1.632,440,1.776,484,1.015,517,1.422,524,1.304,583,2.2,587,3.606,588,1.532,666,2.835,720,1.038,773,3.413,859,2.08,864,4.279,885,3.781,889,2.494,1069,2.681,1087,1.532,1098,5.056,1101,1.74,1107,2.361,1136,1.956,1155,5.234,1177,4.918,1254,1.795,1403,1.795,1485,2.046,1670,1.776,1861,2.248,1901,2.301,1934,2.509,2093,3.88,2263,4.656,2530,2.2,3163,3.781,3173,5.081,3203,3.992,3205,3.797,3237,2.117,3239,2.509,3619,3.781,3671,2.301,3966,5.646,3967,4.511,4031,5.221,4038,2.301,4095,4.742,4096,4.281,4101,4.742,4116,3.13,4117,4.742,4118,3.13,4119,2.725]],["title/978",[154,2.364,194,1.726,233,1.926,4009,2.47]],["content/978",[24,0.856,37,1.179,62,1.117,65,2.837,71,0.672,169,1.125,194,1.497,233,3.463,241,0.834,255,1.503,309,1.231,331,1.254,332,0.823,394,1.503,397,1.001,400,2.067,463,1.503,477,1.331,486,1.094,492,0.984,521,1.094,524,3.932,557,1.117,568,1.199,569,1.785,582,1.065,587,0.99,592,1.189,657,0.919,666,0.996,720,1.315,859,1.528,864,1.503,867,1.381,889,1.992,898,1.266,915,1.051,1028,1.417,1069,1.199,1073,1.651,1078,2.002,1087,1.125,1098,1.291,1106,1.464,1155,5.43,1165,1.189,1167,3.453,1177,5.037,1201,1.479,1233,1.305,1262,1.734,1403,2.275,1485,1.503,1545,1.291,1670,2.25,1674,1.651,1684,1.785,1691,3.223,1697,1.843,1771,2.002,1804,1.69,1861,1.651,1901,1.69,1938,1.785,2037,1.843,2085,1.734,2257,1.843,2263,4.831,3080,1.051,3089,1.319,3163,2.916,3203,1.785,3226,0.948,3232,2.682,3235,2.413,3237,3.536,3240,1.528,3244,1.785,3280,1.785,3419,1.651,3484,2.788,3497,1.914,3511,3.453,3529,1.734,3533,1.914,3550,1.914,3619,3.844,3640,2.002,3652,1.914,3706,1.734,3966,2.354,3967,2.733,3974,1.734,4009,3.79,4019,3.603,4020,1.734,4031,5.039,4032,1.843,4038,1.69,4050,1.843,4077,5.177,4096,4.352,4111,3.453,4114,1.843,4117,3.657,4119,2.002,4120,2.12,4121,2.12,4122,2.299,4123,2.299,4124,3.657]],["title/979",[3226,2.669,3227,2.804]],["content/979",[]],["title/980",[664,2.161,900,1.742,3226,1.885,3227,1.98]],["content/980",[900,4.357,1054,5.695,3205,5.497,3226,4.714,3227,4.952,3925,5.924]],["title/981",[241,1.151,460,1.065,827,1.765,900,1.209,1843,1.984,3226,1.308,3227,1.375]],["content/981",[18,0.581,36,2.027,48,1.302,62,1.857,64,2.729,65,2.962,100,3.515,106,2.539,131,1.329,185,1.747,241,1.386,256,2.216,279,1.302,310,1.959,311,2.414,331,2.083,450,2.083,482,1.243,484,1.239,495,1.992,581,1.664,588,1.87,592,3.872,619,2.241,641,1.818,650,2.882,692,5.259,712,2.874,773,1.992,790,2.325,867,2.296,900,2.301,912,2.216,913,2.103,931,5.477,976,1.747,1038,3.233,1106,1.41,1139,3.675,1185,2.325,1254,2.192,1527,2.498,1540,2.045,1566,2.744,1575,2.064,1656,2.168,1776,2.083,1795,2.966,1970,2.103,2076,2.422,2093,2.882,3080,1.747,3089,3.464,3138,3.887,3139,2.539,3225,2.966,3226,3.822,3227,4.269,3264,2.809,3265,2.498,3472,3.523,3728,3.523,3987,2.966,4012,3.523,4114,3.063,4125,3.821,4126,2.584,4127,3.821,4128,3.327]],["title/982",[131,1.002,310,1.477,621,1.175,827,2.669,1139,1.753,1226,1.528,3227,1.247]],["content/982",[1,2.266,8,0.476,18,1.554,62,2.876,65,1.779,104,1.979,130,2.475,131,2.059,145,1.692,169,1.823,175,1.941,279,0.803,310,3.776,311,2.366,313,1.489,458,1.941,470,1.993,477,1.986,482,1.212,484,1.919,495,3.84,517,1.692,559,1.975,568,1.941,586,3.324,588,1.823,592,1.925,615,3.809,646,2.656,657,1.489,691,1.76,712,1.772,715,2.618,720,1.235,767,2.566,816,2.136,889,1.419,900,2.255,1139,5.105,1152,2.07,1257,2.675,1540,1.993,1575,2.012,1601,2.738,1643,2.327,1732,2.361,1841,2.237,1941,2.361,2064,2.738,2127,2.566,2178,2.266,2197,2.266,2364,2.266,2600,2.891,3133,2.891,3205,3.432,3226,3.459,3227,4.426,3264,4.351,3271,3.513,3470,2.986,3552,2.891,3917,2.809,3976,3.1,4129,3.434,4130,4.926,4131,3.434]],["title/983",[241,1.944,2762,4.043,3227,2.321]],["content/983",[154,3.707,169,4.687,241,2.601,256,4.158,485,3.343,505,2.987,915,3.278,969,4.85,1106,2.647,1115,4.113,1132,4.546,1398,7.223,1626,4.546,2948,4.308,3080,3.278,3126,6.243,3184,5.748,3185,5.15,3226,2.956,3227,4.147,3271,4.256,3287,5.15,3506,5.272,4020,5.409,4102,6.611,4103,6.611]],["title/984",[169,1.952,1115,2.287,1843,2.492,3087,2.864,3227,1.727]],["content/984",[24,1.245,34,1.262,65,1.631,71,0.978,169,1.637,176,1.408,185,1.529,194,1.262,229,1.613,241,1.969,255,2.186,257,2.261,279,0.721,313,1.337,398,2.879,416,1.806,440,3.08,492,1.432,515,2.09,521,1.591,524,2.854,541,2.522,559,1.774,562,1.774,586,1.878,665,1.918,720,2.272,858,2.186,860,2.911,867,3.261,931,3.493,1026,2.522,1106,2.003,1115,3.113,1136,4.282,1152,1.859,1165,1.728,1265,3.493,1398,2.522,1545,1.878,1548,2.222,1587,2.595,1591,2.458,1597,2.35,1625,2.911,2191,2.783,2263,1.859,2503,2.304,2732,2.261,2738,4.816,2914,3.815,2948,2.009,3087,2.401,3089,1.918,3193,5.168,3226,2.237,3227,3.755,3232,2.261,3235,2.034,3237,3.671,3239,2.68,3244,4.213,3287,3.898,3522,4.351,3593,2.783,3599,5.005,3612,2.35,3671,2.458,3996,2.595,4014,2.988,4038,2.458,4051,3.083,4104,5.005,4105,2.911,4107,4.517,4113,3.083,4114,6.321,4115,3.083,4126,3.671,4132,3.344,4133,3.344,4134,3.344,4135,3.344,4136,3.344,4137,3.083,4138,3.344]],["title/985",[169,1.952,859,2.65,1115,2.287,1132,2.528,3227,1.727]],["content/985",[18,0.704,34,1.749,65,2.107,69,1.592,104,2.273,141,2.657,169,2.267,185,3.867,240,2.436,253,2.132,393,2.686,440,3.978,482,1.507,524,2.921,587,3.019,605,2.937,624,2.479,653,3.028,720,2.325,889,1.765,969,3.133,1113,3.133,1115,2.657,1132,2.937,1177,2.395,1198,3.655,1398,3.494,1419,3.714,1527,3.028,1575,3.787,1673,4.033,1843,2.895,1892,2.856,2503,3.192,2600,3.595,2890,3.855,2914,3.256,3089,2.657,3181,3.855,3226,2.89,3227,4.085,3232,3.133,3287,5.035,3432,3.855,3845,3.595,3952,3.855,3966,2.749,4019,3.192,4034,4.033,4038,5.154,4105,4.033,4106,4.033,4107,3.855,4108,4.271,4109,4.271,4126,3.133,4139,4.632]],["title/986",[154,2.364,194,1.726,233,1.926,3227,1.98]],["content/986",[24,1.245,34,1.262,65,3.254,71,1.587,101,1.674,175,1.743,185,3.133,194,2.049,233,3.651,240,2.854,308,1.613,309,1.79,331,1.823,332,1.197,400,1.743,486,1.591,492,1.432,500,3.113,517,1.519,524,2.261,568,1.743,586,1.878,587,2.337,657,1.337,664,1.58,720,1.109,859,2.222,864,2.186,867,2.009,889,2.068,915,1.529,1073,2.401,1078,2.911,1106,1.234,1167,2.911,1198,1.743,1201,2.152,1262,2.522,1377,1.897,1403,1.918,1545,1.878,1575,2.932,1697,2.68,1838,2.911,1843,2.09,2037,2.68,2178,2.034,2263,1.859,2328,2.261,2404,2.35,2732,2.261,3080,1.529,3084,2.034,3089,1.918,3163,2.458,3226,4.033,3227,4.563,3232,2.261,3235,2.034,3244,2.595,3264,3.99,3280,2.595,3489,2.152,3511,2.911,3671,2.458,3706,2.522,3966,3.221,4014,2.988,4020,2.522,4031,3.973,4032,2.68,4096,2.783,4114,2.68,4120,3.083,4121,3.083,4124,3.083,4126,4.634,4140,3.344,4141,3.344]],["title/987",[185,3.738]],["content/987",[71,2.528,111,4.713,185,5.39,659,3.809,720,2.867,3094,5.745,3226,3.563,3237,5.846,3622,7.97,4031,6.267,4137,7.97,4142,7.97]],["title/988",[8,0.509,64,1.452,397,1.737,931,2.566,3153,3.472]],["content/988",[64,1.588,111,2.376,185,4.179,241,1.581,255,2.849,256,2.527,279,0.94,397,2.915,440,3.798,477,2.245,505,1.816,524,1.816,526,2.985,529,1.956,604,2.5,605,2.763,613,3.287,659,1.921,720,3.031,889,1.66,915,1.993,994,2.849,1038,3.582,1069,2.272,1098,3.758,1177,3.46,1190,2.088,1254,3.838,1377,2.473,1502,2.804,1510,2.849,1545,2.447,1563,2.527,1691,2.687,1892,2.687,2948,2.618,3163,3.204,3227,4.694,3232,2.947,3237,4.526,3418,3.383,3484,3.063,3612,4.704,4009,4.937,4020,3.287,4031,3.881,4074,4.018,4084,7.958,4091,3.794,4142,4.018,4143,4.358,4144,4.358,4145,4.358]],["title/989",[664,3.059,3226,2.669]],["content/989",[454,1.852,586,4.784,646,3.823,1477,4.94,1545,4.784,2155,6.612,3089,4.886,3094,5.661,3156,6.829,3226,4.414,3227,4.637,3340,6.612,3974,6.426,4146,8.519]],["title/990",[241,1.282,460,1.186,586,1.985,827,1.965,1843,2.209,3226,1.457]],["content/990",[18,1.409,34,1.001,36,1.406,48,0.904,62,2.176,64,2.118,65,3.162,71,0.775,97,1.459,100,4.351,106,1.762,108,1.071,131,0.922,169,1.298,176,1.116,185,2.048,194,1.691,229,1.279,233,1.116,240,1.394,241,0.962,279,0.572,308,1.279,309,1.419,311,1.79,440,1.504,474,1.574,482,0.863,484,0.859,486,1.261,492,1.135,495,1.382,516,1.613,517,1.205,523,1.657,556,1.733,557,1.288,559,1.406,581,1.155,586,3.265,587,1.142,588,1.298,592,1.371,619,1.555,664,2.747,712,1.261,714,1.307,720,0.879,773,2.335,790,1.613,867,1.593,889,1.01,931,1.706,1028,1.634,1037,4.513,1038,3.657,1052,1.261,1106,0.979,1165,1.371,1226,1.406,1254,1.521,1262,2,1540,2.397,1566,1.904,1631,1.864,1656,2.541,1724,1.827,1730,1.613,1732,1.681,1776,3.726,2076,1.681,2080,2.207,2093,3.378,2145,1.613,2238,2.207,2364,1.613,2404,1.864,2913,1.793,3089,2.569,3138,3.741,3173,3.476,3199,2.207,3205,1.538,3226,3.636,3227,2.959,3264,1.949,3265,1.733,3271,2.658,3287,1.904,3373,2.308,3682,2.207,3987,2.058,4014,1.459,4031,2.597,4032,2.125,4054,5.76,4094,2.308,4126,3.029,4128,2.308,4147,2.444,4148,2.444,4149,2.308]],["title/991",[131,1.002,310,1.477,621,1.175,827,2.669,1226,1.528,1540,1.542,3226,1.187]],["content/991",[1,2.419,18,1.593,62,3.028,65,1.873,104,2.065,130,2.642,131,2.167,145,1.806,169,1.946,175,2.073,279,0.857,310,3.941,311,2.491,313,1.589,458,2.073,460,1.334,470,2.128,477,1.334,482,1.294,484,2.02,495,3.249,559,2.109,568,2.073,586,2.233,588,1.946,592,2.055,615,4.01,646,2.796,657,1.589,664,1.878,691,1.878,712,1.891,715,2.795,720,1.318,767,2.739,816,2.28,889,1.515,1139,2.419,1152,2.21,1257,2.855,1540,4.114,1575,2.147,1601,2.923,1643,2.485,1732,2.52,1841,2.389,1941,2.52,2064,2.923,2127,2.739,2197,2.419,2364,2.419,2600,3.086,3133,3.086,3205,3.614,3226,4.132,3227,2.699,3264,4.582,3271,3.699,3470,3.187,3552,3.086,3917,2.999,3976,3.309,4129,3.666,4130,5.187,4131,3.666]],["title/992",[1377,3.674,3226,2.669]],["content/992",[65,2.718,108,3.651,592,4.674,646,4.058,889,3.445,1262,6.821,3163,6.648,3226,3.727,3227,3.916,3966,5.367,3967,6.231,4150,9.042]],["title/993",[241,1.282,460,1.186,827,1.965,1377,2.006,1843,2.209,3226,1.457]],["content/993",[18,1.202,34,1.063,37,1.444,65,3.289,71,1.378,100,4.64,131,0.979,169,2.306,176,1.186,194,1.778,229,1.359,233,1.984,240,1.481,241,1.709,253,1.296,308,1.359,311,1.126,377,1.521,440,1.598,448,2.186,450,1.535,454,0.612,470,1.507,484,0.913,492,1.206,521,2.241,523,1.76,524,2.53,557,1.368,559,1.494,587,2.029,588,1.378,592,1.456,646,2.114,712,1.34,720,2.014,721,1.812,744,1.671,773,2.456,859,1.871,867,3.649,889,1.073,911,1.692,915,1.288,1038,3.251,1106,1.039,1226,1.494,1282,2.452,1377,4.849,1545,1.581,1575,2.545,1597,1.979,1724,1.94,1841,1.692,1901,2.07,2116,1.76,2145,2.866,2382,2.124,2404,1.979,2503,1.94,3138,1.812,3156,2.257,3204,2.596,3205,1.633,3226,4.208,3227,2.63,3230,2.596,3264,3.464,3271,1.671,3280,3.657,3503,2.452,3536,2.596,3682,2.344,3826,2.596,3952,2.344,3967,4.893,3987,2.186,4031,5.517,4050,2.257,4126,1.904,4149,2.452,4151,4.344,4152,2.816,4153,2.816]],["title/994",[131,1.002,310,1.477,621,1.175,827,2.669,1226,1.528,1377,1.635,3226,1.187]],["content/994",[1,2.91,18,1.702,62,3.49,104,2.317,130,3.179,131,1.663,145,2.173,169,2.341,175,2.493,310,4.422,311,1.912,313,1.912,460,1.605,470,2.56,482,1.556,484,1.55,559,2.537,568,2.493,588,2.341,615,4.621,646,3.223,657,1.912,691,2.26,712,2.275,715,3.362,720,1.586,767,3.296,816,2.743,889,1.822,1152,2.659,1257,3.435,1377,5.44,1601,3.516,1643,2.989,1732,3.032,1841,2.873,1941,3.032,2064,3.516,2197,2.91,2364,2.91,3133,3.712,3205,4.165,3226,4.235,3271,4.263,3470,3.834,3552,3.712,3917,3.608,4130,3.981]],["title/995",[1198,4.261]],["content/995",[]],["title/996",[65,1.946,1198,3.375]],["content/996",[18,1.241,97,4.495,169,3.996,241,2.961,279,1.761,310,4.186,446,3.996,484,2.647,592,4.221,619,4.789,827,4.539,1052,3.884,1157,4.452,1198,5.434,1587,6.337,2145,4.968,3080,3.733,3247,6.545]],["title/997",[241,1.446,460,1.338,827,2.217,1198,2.079,1843,2.492]],["content/997",[0,0.735,18,1.427,24,0.632,34,0.64,36,1.61,48,1.035,62,0.824,64,1.501,65,2.821,77,1.169,84,1.046,97,0.934,100,3.266,106,1.127,131,0.59,169,0.83,175,0.884,176,0.714,181,1.218,185,2.637,194,1.146,229,0.818,233,0.714,241,0.615,279,0.655,308,1.465,309,0.908,311,1.213,332,0.607,378,0.87,416,1.64,440,1.723,450,0.925,454,0.369,460,0.569,474,1.007,482,0.988,484,0.55,486,0.807,492,1.3,495,0.884,505,0.707,517,0.771,525,1.564,556,1.109,557,0.824,559,0.9,581,1.322,582,0.786,587,2.483,588,0.83,592,0.877,613,1.28,619,0.995,688,0.943,691,0.802,712,0.807,714,0.837,720,1.366,757,0.953,773,2.148,790,1.032,858,1.109,867,1.824,889,0.646,931,1.953,1006,1.06,1026,1.28,1037,3.892,1038,3.429,1052,0.807,1085,1.28,1113,1.147,1133,0.934,1165,0.877,1177,0.877,1198,4.294,1226,0.9,1254,1.741,1265,1.092,1540,0.908,1566,2.18,1575,0.916,1631,1.193,1635,0.963,1647,1.52,1656,1.723,1664,1.28,1673,1.477,1693,1.412,1724,1.169,1728,1.564,1729,1.412,1730,1.032,1732,1.075,1776,5.117,1841,1.824,1970,1.671,2076,1.075,2080,1.412,2093,2.29,2116,1.06,2127,1.169,2145,1.032,2263,0.943,2270,1.317,2364,3.898,2404,1.193,2913,1.147,3035,3.798,3089,0.973,3107,2.356,3138,2.651,3162,1.412,3199,1.412,3205,0.984,3226,2.869,3227,3.014,3232,2.053,3241,1.36,3244,3.197,3264,3.687,3265,2.693,3271,2.445,3272,1.477,3277,1.412,3287,1.218,3373,1.477,3419,1.218,3484,1.193,3489,1.953,3644,1.317,3682,2.527,3759,1.564,3987,1.317,4014,2.268,4050,1.36,4054,4.833,4094,1.477,4106,1.477,4126,3.392,4128,1.477,4147,1.564,4148,1.564,4149,1.477,4154,3.036,4155,1.697,4156,1.697,4157,1.697,4158,1.697,4159,1.564,4160,1.697,4161,1.697]],["title/998",[131,1.104,310,1.627,621,1.295,827,2.892,1198,1.655,1226,1.684]],["content/998",[1,2.818,18,1.683,62,3.407,100,2.174,104,2.273,130,3.078,131,1.611,145,2.105,169,2.267,175,2.415,185,2.118,308,2.235,310,4.337,311,1.852,313,1.852,460,1.554,470,2.479,482,1.507,484,1.502,559,2.457,568,2.415,588,2.267,615,4.511,646,3.146,657,1.852,691,2.189,712,2.204,715,3.256,720,1.536,767,3.192,816,2.657,889,1.765,1152,2.575,1198,5.772,1257,3.327,1601,3.406,1631,3.256,1643,2.895,1732,2.937,1776,2.526,1841,2.783,1941,2.937,2064,3.406,2197,2.818,2364,4.266,3133,3.595,3205,4.066,3271,4.161,3470,3.714,3552,3.595,3917,3.494,4130,3.855]],["title/999",[579,3.798,3235,3.939]],["content/999",[48,2.331,55,2.077,279,1.474,482,2.225,529,3.068,538,2.408,574,2.761,579,4.011,720,2.268,1025,3.126,1026,5.158,1106,2.524,1257,4.911,1330,5.691,1475,4.4,1661,4.469,1721,4.624,1751,5.158,2045,5.027,3080,3.126,3083,5.643,3089,3.922,3226,2.818,3235,4.16,3387,6.304,3527,6.304,3535,5.307,3812,5.953,4028,5.158,4050,5.481,4068,5.953,4162,6.304]],["title/1000",[720,1.778,3226,2.209,4031,3.108]],["content/1000",[65,2.758,71,1.968,101,2.198,185,2.007,308,2.118,311,1.755,378,2.251,454,0.955,463,2.87,477,1.473,486,2.089,488,2.27,500,2.518,579,3.948,604,3.86,614,2.606,720,2.232,917,2.417,1048,2.546,1073,3.153,1087,2.149,1132,2.783,1386,2.575,1528,3.025,1547,3.228,1575,2.371,1675,2.783,1846,2.546,2042,3.823,2116,2.744,2328,2.969,2732,4.552,2948,2.638,3080,2.007,3083,4.095,3089,2.518,3139,4.473,3226,4.622,3227,2.915,3235,2.671,3330,3.312,3393,4.048,3489,2.825,3529,3.312,3644,3.408,3695,3.823,4014,2.417,4019,3.025,4020,3.312,4031,5.321,4061,4.048,4163,4.391,4164,4.391,4165,4.391,4166,4.391,4167,4.048,4168,4.048,4169,4.391,4170,4.391,4171,4.391]],["title/1001",[4028,6.166]],["content/1001",[48,1.579,65,2.107,76,3.078,114,1.598,115,1.977,154,2.395,219,2.041,279,0.999,309,2.479,378,2.375,454,1.007,482,1.507,488,2.395,492,1.983,500,4.852,521,2.204,524,2.921,531,1.94,538,1.631,546,2.251,574,1.87,604,2.657,614,2.749,720,1.536,945,2.717,952,2.502,1025,2.118,1026,3.494,1028,2.856,1029,2.686,1094,3.192,1477,2.686,1511,3.855,1526,3.714,1563,2.686,1575,3.787,1675,2.937,1776,3.822,1831,2.415,1843,2.895,2191,3.855,3037,4.271,3080,2.118,3083,4.266,3084,4.266,3089,2.657,3226,1.909,3235,2.818,3489,4.511,3522,3.714,3644,3.595,3738,4.033,4014,2.55,4018,4.271,4028,5.288,4031,2.686,4048,3.595,4162,4.271,4168,4.271,4172,4.632,4173,4.632,4174,4.632,4175,4.632]],["title/1002",[574,3.301]],["content/1002",[0,1.873,48,1.475,114,2.296,115,1.876,219,2.933,279,0.933,378,3.412,470,2.315,477,2.233,484,2.157,496,3.468,505,1.802,521,2.058,524,2.772,531,3.397,538,2.343,567,5.141,572,3.107,574,3.676,579,3.903,604,2.481,715,3.041,891,2.337,900,2.535,1025,1.978,1043,3.358,1048,2.509,1059,2.667,1093,2.784,1675,2.742,1831,2.255,1846,2.509,2328,4.5,2948,2.599,3080,3.708,3083,4.934,3089,2.481,3094,2.875,3160,3.989,3235,2.632,3330,6.117,3503,3.767,3561,3.989,3812,5.794,3841,3.989,4011,3.767,4014,2.381,4035,3.989,4048,6.294,4058,3.989,4068,3.767,4176,4.326,4177,4.326,4178,4.326,4179,4.326,4180,4.326]],["title/1003",[918,7.117]],["content/1003",[]],["title/1004",[3080,3.738]],["content/1004",[48,2.904,65,2.56,279,1.837,482,2.772,500,4.886,586,4.784,1025,3.895,1029,4.94,1198,4.441,1386,4.997,1475,5.482,1846,4.94,3226,3.512,3240,5.661,4008,5.482,4009,4.601]],["title/1005",[1645,3.093,3489,2.942,4007,3.806,4008,2.942]],["content/1005",[35,3.69,55,2.289,65,2.265,101,3.774,111,4.11,454,1.639,495,3.93,500,4.323,524,3.14,582,3.491,646,3.382,720,2.5,939,5.686,1025,3.446,1094,5.194,1502,4.85,1645,5.098,1776,4.11,2643,5.85,3226,3.107,3227,3.264,3551,5.414,4008,4.85,4014,4.149,4181,7.538]],["title/1006",[1540,3.465,3226,2.669]],["content/1006",[34,3.312,65,3.278,71,2.565,240,4.613,308,4.233,524,3.655,646,3.937,864,5.734,3226,3.616,3227,4.723,3966,5.207,4031,5.088]],["title/1007",[720,1.778,3226,2.209,4031,3.108]],["content/1007",[18,1.277,24,3.127,65,2.524,185,3.84,495,4.378,524,3.498,720,2.785,1177,4.341,2116,5.248,2139,5.489,3226,3.462,3227,3.637,3232,5.679,3655,7.311,3966,4.984,4014,4.623,4031,4.87]],["title/1008",[1377,3.674,3226,2.669]],["content/1008",[65,3.248,100,4.057,240,4.545,308,4.17,492,3.701,524,3.601,646,3.879,3226,3.563,3227,3.743,3967,5.956,4031,5.013,4126,5.846,4151,7.97,4182,8.644]],["title/1009",[3227,3.54]],["content/1009",[24,2.919,65,3.385,114,2.704,115,2.21,458,4.086,495,5.293,524,3.266,582,3.63,720,3.367,790,4.769,889,2.986,1527,5.124,2139,5.124,3226,4.186,3966,4.652,4014,4.315,4126,5.301]],["title/1010",[1776,3.53,2364,3.939]],["content/1010",[54,5.679,65,2.524,416,4.536,1052,3.995,1776,6.343,2364,5.109,3055,7.743,3107,6.518,3227,3.637,3419,6.031,4014,5.841,4119,7.311,4126,5.679,4183,8.398]],["title/1011",[4054,6.166]],["content/1011",[181,5.784,229,3.885,309,4.31,458,4.198,524,3.355,956,4.063,1037,6.25,1052,3.831,1138,5.264,1249,5.661,1732,5.105,1776,5.633,1844,5.661,3226,3.32,3297,6.074,3328,7.425,4014,4.433,4054,6.074,4126,5.446]],["title/1012",[1198,4.261]],["content/1012",[65,2.524,185,3.84,194,3.17,233,3.536,517,3.815,579,4.926,1052,3.995,1198,4.378,1575,4.536,2066,5.903,2178,5.109,3080,3.84,3226,3.462,3227,3.637,3297,6.334,4014,4.623,4054,6.334]],["title/1013",[24,1.703,867,2.747,2263,2.542,3244,3.549]],["content/1013",[24,3.083,65,2.488,100,3.886,101,4.145,111,4.514,416,4.472,587,3.565,624,4.431,867,6.318,1265,5.328,2263,5.847,3080,3.786,3226,3.413,3227,3.586,3640,7.209,4077,6.891]],["title/1014",[3240,4.303,4009,3.497]],["content/1014",[20,4.061,35,3.308,49,1.869,71,1.977,101,3.384,175,3.524,308,3.261,483,4.349,524,2.816,538,2.38,579,3.965,619,3.965,720,2.242,918,5.885,1073,4.854,1177,3.494,1551,4.112,1575,3.651,1841,4.061,2116,4.224,2732,4.571,3080,4.207,3090,5.625,3139,4.492,3226,2.786,3232,4.571,3235,4.112,3506,4.969,3529,5.098,4023,5.625,4077,5.625,4184,6.759,4185,6.759]],["title/1015",[111,3.53,3706,4.884]],["content/1015",[]],["title/1016",[481,5.26]],["content/1016",[18,0.894,48,2.005,74,1.714,101,2.945,175,3.066,279,1.268,313,2.351,482,1.914,500,3.373,515,3.676,579,3.45,657,2.351,1025,4.442,1029,3.411,1033,3.978,1087,2.879,1198,3.066,1386,3.45,1475,3.785,1645,3.978,1676,4.715,1846,3.411,2116,3.676,2732,3.978,2948,3.534,3080,3.819,3083,5.082,3084,3.578,3094,3.909,3139,3.909,3158,4.895,3226,2.424,3240,3.909,3265,3.844,3330,4.436,3489,3.785,3535,4.565,3538,5.121,4007,4.895,4008,3.785,4009,3.177,4022,5.423,4186,5.882]],["title/1017",[1386,3.798,4008,4.166]],["content/1017",[35,3.426,65,2.104,101,3.505,150,2.771,175,3.649,229,3.377,311,2.798,454,1.522,491,5.146,495,3.649,568,3.649,744,4.155,790,4.259,939,5.28,1014,4.921,1106,2.584,1386,4.106,1656,3.972,2116,4.375,3080,4.308,3226,4.391,3227,4.081,3489,4.504,3551,5.028,4008,4.504,4014,5.187]],["title/1018",[3080,2.96,3235,3.939]],["content/1018",[34,1.965,48,1.774,65,3.003,71,1.522,114,1.796,115,1.468,185,3.497,240,2.737,279,1.122,308,2.511,309,2.786,332,1.864,378,2.669,454,1.132,458,2.714,482,1.694,507,2.838,531,2.18,538,1.833,540,3.459,570,3.927,574,2.102,586,2.923,623,2.986,664,2.46,720,2.537,777,3.167,790,3.167,891,2.812,1025,2.38,1106,1.921,1198,2.714,1262,3.927,1818,3.253,2328,3.521,2732,3.521,3080,2.38,3226,3.737,3227,3.926,4014,4.21,4028,3.927,4031,5.258,4032,4.173,4040,4.8,4048,4.04,4126,3.521,4187,5.206,4188,5.206]],["title/1019",[311,1.828,313,1.828,1720,3.549,4014,2.517]],["content/1019",[65,2.237,256,4.316,311,3.924,331,4.058,415,3.643,720,2.468,1038,3.983,1052,3.541,1106,2.747,1661,4.865,1776,5.352,1844,5.232,1882,5.966,2328,5.033,2364,4.528,3080,3.403,3083,4.528,3107,5.776,3227,3.223,3297,5.614,3489,4.789,3671,5.472,3695,6.48,4014,4.097]],["title/1020",[1177,2.771,3240,3.562,4009,2.895]],["content/1020",[48,2.444,64,2.612,65,2.155,279,1.546,332,2.568,482,2.333,487,5.409,720,2.378,915,3.278,994,4.687,1035,3.873,1177,4.95,1510,4.687,1545,4.027,1970,3.947,2076,4.546,3066,5.968,3139,4.765,3226,3.947,3227,3.105,3235,4.363,3240,6.364,3418,5.565,4009,3.873,4019,4.941,4048,5.565]],["title/1021",[961,2.803,1059,2.458,2643,3.095,3551,2.864,4008,2.566]],["content/1021",[8,0.996,24,2.905,34,2.019,65,2.344,184,3.253,185,2.445,311,2.138,331,2.916,492,2.29,495,4.066,720,1.773,729,5.602,731,5.735,867,3.213,889,2.037,961,7.115,1028,3.296,1052,2.544,1059,5.676,1098,3.003,1116,2.414,1386,3.137,1776,4.253,3080,2.445,3134,4.451,3225,6.054,3226,3.796,3227,3.988,3258,4.15,3551,6.613,3958,4.656,4008,3.441,4014,4.294,4052,4.656,4062,6.791,4063,4.93]],["title/1022",[493,2.641,773,3.375]],["content/1022",[8,0.807,62,3.073,65,3.57,100,4.742,150,2.503,308,3.051,393,3.667,477,2.122,773,3.297,961,4.445,1028,3.898,1059,3.898,1198,3.297,1404,4.542,1503,9.522,1527,4.133,2298,4.277,2524,5.069,3226,2.607,3227,2.738,3551,6.313,4014,3.481,4028,4.77,4062,7.653,4189,6.324,4190,6.324]],["title/1023",[1776,2.922,2364,3.261,4054,4.043]],["content/1023",[84,4.707,311,3.99,562,4.05,961,5.367,1059,4.707,1277,5.613,1563,4.428,1647,3.823,1720,5.926,1776,5.442,1844,5.367,2364,6.073,3297,5.759,3410,7.04,3484,5.367,3489,4.913,4014,6.122,4039,7.04,4159,7.04]],["title/1024",[1132,3.398,1189,3.85,4191,4.942]],["content/1024",[34,2.22,48,2.005,49,1.626,169,2.879,279,1.801,313,2.351,454,1.279,463,3.844,482,1.914,524,2.45,538,2.071,572,4.224,579,4.9,589,2.798,624,3.148,982,4.895,1018,4.565,1025,3.819,1276,4.053,1386,3.45,1494,4.895,1841,3.534,1846,3.411,2948,3.534,3080,3.819,3083,5.082,3107,4.565,3139,3.909,3226,2.424,3235,3.578,3240,3.909,3330,4.436,3535,4.565,3963,5.121,4008,3.785,4009,3.177,4014,3.238,4048,4.565,4167,5.423,4192,5.882,4193,5.882,4194,5.882]],["title/1025",[114,2.234,115,1.825]],["content/1025",[]],["title/1038",[114,1.578,115,1.289,2263,2.542,4009,2.47]],["content/1038",[]],["title/1039",[1177,4.226]],["content/1039",[64,4.362,394,5.193,460,2.666,484,2.575,526,3.543,621,3.241,661,4.373,1017,6.917,1177,4.107,3612,8.417,4195,7.945,4196,7.325,4197,7.945,4198,7.945,4199,7.945]],["title/1040",[4071,6.553]],["content/1040",[8,1.591,460,2.145,526,2.851,621,2.608,659,3.903,661,3.519,1098,6.996,1568,4.113,1664,4.822,2263,3.554,2742,4.822,3223,5.32,3529,4.822,3619,4.7,3974,4.822,4071,5.124,4200,6.392,4201,6.392,4202,6.392,4203,6.392,4204,6.392,4205,6.392,4206,6.392,4207,5.894]],["title/1041",[773,2.794,1177,2.771,2738,3.768]],["content/1041",[82,3.491,103,3.247,115,1.95,233,3.937,460,2.321,493,2.822,517,3.143,588,3.386,589,3.291,652,5.763,719,4.522,773,4.873,1135,4.863,1193,3.547,1671,7.78,2178,4.209,2738,7.442,3966,5.548,4019,4.767,4208,6.918,4209,6.918,4210,6.918,4211,6.918,4212,6.918,4213,6.918]],["title/1042",[102,3.811]],["content/1042",[65,2.766,78,3.651,100,4.319,102,4.29,108,2.729,254,4.061,398,5.958,773,5.855,956,3.41,1098,5.168,1136,4.224,1721,4.571,2353,5.246,3168,8.708,3966,6.666,4214,6.759,4215,6.759,4216,6.759,4217,6.759]],["title/1043",[773,4.261]],["content/1043",[8,1.672,244,5.207,460,2.099,538,2.203,657,2.501,712,2.976,773,3.262,1177,3.234,1479,5.207,2145,3.807,2738,6.133,4218,6.257,4219,8.044,4220,6.257,4221,5.769,4222,6.257,4223,8.044,4224,8.725,4225,10.046,4226,6.257,4227,8.044,4228,6.257]],["title/1044",[493,3.335]],["content/1044",[8,1.628,64,3.382,102,2.094,460,2.298,526,3.702,589,2.137,684,1.968,695,2.732,757,2.522,773,2.341,956,2.266,960,3.388,969,3.037,1085,3.388,1098,4.661,1177,4.291,1485,2.936,1568,2.89,2366,3.486,2738,3.157,3042,8.444,3403,4.141,3612,3.157,3883,4.141,3966,4.926,4009,2.426,4196,4.141,4207,7.653,4219,4.141,4221,4.141,4223,4.141,4227,4.141,4229,4.491,4230,4.491,4231,6.848,4232,4.491,4233,6.848,4234,4.491,4235,4.491,4236,4.491,4237,4.491]],["title/1045",[4238,8.175]],["content/1045",[8,0.916,62,3.484,64,3.488,65,2.155,99,3.435,115,2.022,460,2.406,493,2.925,582,4.435,1071,4.113,1131,4.069,1136,4.481,1177,4.95,2738,6.731,3203,7.432,3234,6.611,3481,6.243,4009,3.873,4111,8.337,4239,7.171,4240,7.171,4241,7.171,4242,7.171]],["title/1026",[279,1.156,484,1.738,1832,2.748]],["content/1026",[12,3.35,101,3.271,143,2.478,219,2.88,279,1.939,309,3.497,313,2.612,460,2.192,482,2.126,484,2.118,486,3.109,487,4.929,504,3.529,505,3.746,519,3.109,524,3.746,568,3.406,574,2.638,657,2.612,888,3.13,1002,4.419,1010,3.975,1025,2.987,1082,5.689,1389,4.593,1548,4.342,1844,4.593,1934,5.238,2074,4.804,2322,4.419,2913,4.419,4243,6.534,4244,6.534,4245,6.534]],["title/1027",[1069,4.261]],["content/1027",[18,1.112,64,3.188,65,2.199,69,1.684,99,2.349,104,1.317,105,4.395,143,1.859,240,3.847,279,1.057,308,2.365,454,1.066,484,1.589,486,4.164,494,3.604,501,3.315,505,2.042,529,2.2,545,2.332,569,3.805,691,2.316,888,2.349,917,2.699,952,2.648,976,2.241,1002,3.315,1021,2.782,1069,4.563,1157,2.673,1198,2.556,1389,3.446,1776,2.673,1992,3.315,2010,4.08,2112,3.805,2263,2.725,3083,2.983,3084,2.983,3193,3.698,3194,3.604,3226,2.021,3242,4.52,3286,4.52,3294,4.268,3428,4.08,4005,4.268,4009,2.648,4246,4.902,4247,4.902,4248,4.268,4249,4.268,4250,4.52,4251,4.902,4252,4.268,4253,4.902,4254,4.902,4255,4.52]],["title/1028",[540,4.303,907,4.232]],["content/1028",[484,3.463,907,6.983]],["title/1029",[2921,6.553]],["content/1029",[36,1.381,103,1.222,108,1.052,112,0.829,133,2.757,143,2.176,154,1.346,176,1.858,279,0.562,313,1.763,321,1.831,332,0.933,393,1.51,421,1.676,441,4.6,454,1.248,484,0.844,488,1.346,492,2.457,499,2.405,501,1.761,502,1.761,504,1.407,507,3.129,510,1.275,517,1.183,524,2.391,528,2.021,529,1.98,531,2.829,540,1.731,546,1.265,552,5.874,567,1.651,572,1.87,574,3.052,588,1.275,594,1.51,600,1.448,614,1.546,620,1.628,767,1.794,791,1.831,885,1.915,889,0.992,900,0.992,907,1.702,917,1.434,945,1.528,952,1.407,953,1.915,981,1.731,1006,1.628,1015,1.394,1020,4.329,1021,3.256,1024,2.021,1069,1.358,1091,1.915,1139,1.585,1204,2.618,1212,2.401,1395,1.731,1423,1.605,1474,2.168,1498,2.021,1528,1.794,1545,2.477,1594,2.267,1635,1.478,1677,1.964,1790,2.267,1818,2.757,1834,3.638,1846,4.383,1851,1.731,1892,1.605,1932,5.291,1942,1.761,1943,1.761,1973,2.168,2076,4.282,2136,2.168,2178,1.585,2183,2.267,2194,2.401,2507,2.088,2878,2.267,2914,3.101,2915,2.267,2921,4.6,2948,1.565,3169,2.021,3170,2.021,3171,2.021,3249,2.401,3265,1.702,3276,2.401,3363,2.088,3364,1.87,3564,2.401,3830,2.401,4015,2.267,4256,4.067,4257,2.604,4258,2.604,4259,2.604,4260,2.604,4261,2.604,4262,2.604,4263,2.604,4264,2.604,4265,2.604,4266,2.604,4267,2.604,4268,2.604]],["title/1030",[672,4.298]],["content/1030",[8,1.434,35,1.714,36,3.751,67,1.666,71,1.024,119,2.543,253,2.593,279,0.755,313,2.253,332,1.254,393,2.031,453,2.22,454,1.762,484,2.292,505,1.459,519,1.666,521,1.666,552,1.967,570,2.642,582,1.622,659,1.544,672,4.669,688,3.133,720,1.869,757,1.967,778,3.05,802,3.05,889,1.334,890,1.988,900,2.694,911,2.104,950,3.23,953,2.575,994,2.29,1021,3.198,1204,3.345,1209,2.29,1226,1.858,1245,2.808,1505,5.885,1834,2.22,1873,2.22,2010,4.69,2178,2.131,2232,4.374,2270,2.719,2702,3.05,3193,4.251,3194,7.332,3275,4.69,3294,3.05,3467,3.05,3484,2.462,3607,3.23,3974,2.642,4252,3.05,4269,3.503,4270,3.503,4271,3.503,4272,3.503,4273,3.503,4274,3.503,4275,5.636,4276,3.503,4277,3.503,4278,3.503,4279,5.636,4280,3.503,4281,5.636]],["title/1031",[313,2.588,531,2.712]],["content/1031",[37,1.658,49,1.46,77,2.228,105,4.644,112,1.029,143,2.003,146,2.51,154,1.672,219,1.425,233,1.362,241,1.173,249,1.46,253,1.488,306,2.37,313,2.111,436,2.604,439,1.897,454,1.681,460,1.085,474,1.919,482,1.052,485,1.507,491,2.377,499,1.763,501,2.187,502,2.187,504,4.175,505,3.22,529,2.37,531,1.354,552,1.816,559,1.715,562,1.715,585,2.081,588,1.583,621,1.319,623,1.855,657,1.293,688,2.936,695,1.967,720,1.752,913,1.78,935,2.51,976,1.478,981,2.149,1002,3.572,1010,3.214,1015,1.731,1038,1.731,1054,1.943,1079,2.273,1080,2.815,1081,2.021,1133,1.78,1204,1.919,1211,2.322,1226,1.715,1376,2.322,1387,4.599,1389,3.713,1395,6.411,1563,1.875,1662,2.021,2060,2.691,2112,4.099,2742,2.439,2913,2.187,3038,6.173,3071,2.981,3188,2.815,3364,2.322,3388,2.691,3497,2.691,3637,2.981,3667,2.981,3970,2.691,3994,2.815,4107,2.691,4248,6.73,4249,6.73,4250,4.87,4282,3.233,4283,3.233,4284,3.233,4285,3.233,4286,3.233,4287,3.233,4288,3.233,4289,3.233]],["title/1032",[112,2.06,306,2.905]],["content/1032",[18,0.357,24,0.476,28,0.763,32,0.461,34,0.886,35,0.625,49,1.303,50,1.697,54,1.587,62,0.621,64,0.855,69,0.439,78,1.267,82,1.184,88,2.09,104,0.343,105,0.767,112,1.5,134,0.684,143,0.89,150,0.505,154,1.213,162,1.361,176,0.988,194,0.886,219,0.563,229,1.132,233,0.538,241,2.918,253,0.588,279,0.702,306,3.018,313,2.52,321,0.898,331,1.774,332,0.84,393,0.741,398,1.726,421,1.51,436,1.605,440,1.847,443,0.787,454,1.269,455,0.69,474,0.758,482,0.416,483,0.822,484,1.528,485,0.595,486,1.116,493,0.521,501,0.864,504,0.69,506,1.024,513,0.666,514,1.376,517,0.58,519,1.92,522,1.953,524,1.681,531,3.37,538,0.826,540,0.849,552,0.717,563,1.203,581,0.556,587,3.464,594,1.361,613,1.77,615,1.51,616,1.112,622,0.991,623,0.733,641,0.608,643,1.617,652,0.787,657,0.511,672,2.479,684,1.768,688,2.243,720,0.424,735,0.822,773,0.666,796,0.71,884,1.063,885,0.939,888,0.612,889,3.685,903,2.609,917,1.292,954,1.024,976,0.584,982,1.063,994,0.835,1002,2.201,1010,1.428,1015,0.684,1021,1.847,1054,0.767,1064,0.991,1079,0.898,1106,0.471,1119,0.822,1123,0.767,1127,1.063,1140,1.112,1162,1.024,1163,1.178,1173,3.386,1192,1.024,1196,1.821,1204,0.758,1226,0.677,1250,0.939,1254,0.733,1265,0.822,1270,2.163,1327,0.822,1330,1.063,1376,2.337,1389,3.314,1395,3.879,1423,1.446,1496,0.917,1498,0.991,1505,1.063,1534,1.063,1541,1.77,1558,0.917,1573,5.441,1602,1.685,1693,1.063,1721,1.587,1760,0.864,1776,2.2,1818,0.798,1831,0.666,1837,0.767,1844,0.898,1877,0.991,1943,1.587,1970,0.703,2010,1.063,2122,1.063,2145,0.777,2178,0.777,2263,1.809,2322,0.864,2353,0.991,2419,0.733,2503,2.242,2732,2.729,2948,0.767,3039,2.833,3045,1.063,3075,1.178,3104,0.991,3113,1.063,3138,0.822,3194,0.939,3203,0.991,3275,1.063,3474,1.112,3546,1.112,3574,1.178,3658,2.043,3754,1.063,3849,0.991,3974,2.455,3994,1.112,4248,1.112,4249,1.112,4252,1.112,4255,3.721,4290,1.277,4291,1.277,4292,1.277,4293,2.346,4294,1.277,4295,1.277,4296,1.277,4297,1.277,4298,1.277,4299,2.346,4300,1.277,4301,1.277,4302,2.346,4303,1.277,4304,1.277,4305,1.277,4306,3.254,4307,1.277,4308,1.277,4309,1.277,4310,1.277,4311,1.277]],["title/1033",[154,2.771,279,1.156,482,1.744]],["content/1033",[35,3.163,154,3.341,194,2.44,240,3.398,279,2.204,439,3.791,482,2.103,492,2.767,507,3.523,537,4.371,546,3.14,552,5.74,574,3.603,586,3.629,604,3.707,651,5.24,1028,3.984,1054,3.883,1204,3.836,1749,4.295,1818,4.039,1831,3.369,1834,5.657,1855,5.627,2032,5.181,2033,5.958,2948,3.883,3223,5.379,3516,4.453,4312,5.627]],["title/1034",[1941,5.182]],["content/1034",[]],["title/1035",[3987,5.025,4313,6.475]],["content/1035",[552,5.789,1834,6.535,4314,10.309,4315,10.309]],["title/1036",[598,6.804]],["content/1036",[531,2.799,552,5.841,557,4.437,594,6.032,600,6.214,603,6.291,607,4.604,650,5.041,651,3.426,891,4.932,907,4.368,1020,6.887,1475,4.3,1675,4.236,1940,6.161,1942,4.519,2032,8.338,4316,6.682,4317,6.682,4318,9.131,4319,6.682]],["title/1046",[546,3.146,1831,3.375]],["content/1046",[49,1.492,111,5.047,241,1.957,279,1.996,313,3.139,458,2.813,482,3.012,484,3.295,520,4.66,531,3.877,539,3.872,546,4.498,568,2.813,574,3.171,579,3.165,582,2.499,672,2.837,712,2.567,889,2.056,899,4.071,911,3.242,1024,4.188,1025,2.467,1087,2.641,1525,3.586,1575,2.915,1831,5.299,1837,3.242,1839,3.65,1841,3.242,1844,3.793,1984,3.527,2932,4.491,4034,4.698,4256,4.976,4320,5.397]],["title/1047",[1115,3.074,1233,3.042,1276,3.693]],["content/1047",[18,1.133,36,2.667,49,1.39,103,2.36,176,3.139,194,1.898,219,2.216,233,3.139,241,2.704,310,2.578,400,2.621,446,2.461,454,1.093,484,3.563,485,2.344,493,3.624,520,2.984,524,2.095,587,3.825,641,3.547,691,4.198,744,2.984,892,3.142,904,3.696,912,2.916,941,3.793,956,3.761,1025,2.299,1087,2.461,1226,2.667,1586,4.378,1831,5.471,1844,3.534,1875,3.902,2887,6.49,3110,6.873,3184,4.031,3471,4.378,3651,4.636,4321,5.028,4322,5.028]],["title/1048",[1115,3.074,1233,3.042,1653,3.562]],["content/1048",[0,1.225,18,0.43,35,1.385,84,1.744,99,1.356,111,3.883,133,1.768,143,1.073,154,1.463,162,1.641,194,1.068,219,1.247,279,2.205,378,3.125,393,1.641,397,1.232,400,2.466,408,1.623,436,1.395,446,1.385,454,1.723,458,2.466,482,1.983,484,3.09,486,1.346,495,1.475,499,2.579,501,1.914,502,1.914,519,1.346,524,1.179,529,1.27,531,1.185,532,2.032,538,0.996,546,3.85,552,1.589,567,2.999,568,1.475,574,3.459,582,1.31,586,1.589,623,1.623,683,1.794,691,1.337,720,1.569,777,2.878,888,1.356,889,2.322,892,1.768,896,2.684,912,1.641,915,1.294,952,2.555,969,1.914,1054,1.7,1204,3.617,1482,1.768,1494,2.355,1575,1.528,1711,1.722,1819,1.794,1831,4.97,1834,2.999,1837,2.842,1846,4.595,1849,1.95,1852,2.268,1862,2.032,1892,1.744,1904,2.268,1942,1.914,1943,1.914,1947,3.199,2116,2.956,2133,2.355,2311,2.609,2914,1.989,3169,2.196,3170,2.196,3171,2.196,3741,2.609,3849,3.671,4312,4.118,4323,5.62,4324,2.83,4325,2.609,4326,2.83]],["title/1049",[4191,7.537]],["content/1049",[8,0.515,111,2.197,133,2.519,154,2.083,194,1.521,241,1.462,279,1.672,309,2.157,313,1.611,378,3.229,393,2.337,397,1.755,454,0.876,458,2.101,482,2.049,484,2.842,486,1.917,519,1.917,531,2.638,532,2.894,546,4.259,567,2.555,574,3.84,582,1.866,605,2.555,623,2.312,661,2.218,695,2.452,889,1.535,896,3.574,898,2.218,976,1.843,1076,2.197,1087,1.973,1204,3.738,1219,3.128,1226,2.138,1477,2.337,1482,2.519,1494,3.354,1498,3.128,1616,3.128,1643,2.519,1711,2.452,1831,3.284,1834,3.993,1846,3.653,1847,7.149,1859,2.777,1862,2.894,1984,2.634,2116,3.936,2887,3.509,2914,2.833,2976,2.777,3068,5.848,3069,3.354,3103,3.716,4312,5.484,4323,7.149,4325,3.716,4327,4.03,4328,4.03,4329,4.03,4330,4.03]],["title/1037",[539,3.193,1565,4.232]],["content/1037",[14,2.846,21,4.631,32,3.43,45,3.347,55,2.152,97,3.9,175,3.693,332,3.401,393,4.108,454,2.065,469,4.708,539,3.493,542,5.896,567,4.491,655,3.141,889,2.699,1079,4.98,1535,4.791,1565,7.005,1656,4.02,4331,7.084,4332,7.084,4333,7.084,4334,7.084,4335,7.084]]],"invertedIndex":[["",{"_index":8,"title":{"239":{},"240":{},"291":{},"301":{},"432":{},"463":{},"592":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"650":{},"651":{},"652":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"678":{},"679":{},"680":{},"681":{},"682":{},"683":{},"696":{},"721":{},"786":{},"801":{},"939":{},"958":{},"959":{},"967":{},"988":{}},"content":{"2":{},"3":{},"4":{},"5":{},"6":{},"9":{},"12":{},"13":{},"15":{},"16":{},"19":{},"20":{},"22":{},"23":{},"25":{},"26":{},"28":{},"29":{},"31":{},"32":{},"34":{},"35":{},"37":{},"38":{},"40":{},"41":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"52":{},"53":{},"54":{},"55":{},"56":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"67":{},"68":{},"70":{},"71":{},"73":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"83":{},"84":{},"86":{},"87":{},"89":{},"90":{},"92":{},"93":{},"95":{},"96":{},"98":{},"99":{},"102":{},"103":{},"105":{},"106":{},"108":{},"109":{},"111":{},"112":{},"114":{},"115":{},"117":{},"118":{},"119":{},"120":{},"121":{},"123":{},"124":{},"128":{},"129":{},"133":{},"134":{},"136":{},"137":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"157":{},"161":{},"165":{},"167":{},"169":{},"171":{},"177":{},"179":{},"183":{},"185":{},"187":{},"189":{},"198":{},"199":{},"203":{},"205":{},"207":{},"208":{},"211":{},"212":{},"213":{},"214":{},"217":{},"218":{},"219":{},"223":{},"224":{},"227":{},"228":{},"230":{},"233":{},"238":{},"244":{},"247":{},"264":{},"265":{},"266":{},"268":{},"273":{},"303":{},"345":{},"346":{},"350":{},"353":{},"356":{},"358":{},"359":{},"362":{},"371":{},"372":{},"375":{},"376":{},"378":{},"379":{},"381":{},"382":{},"384":{},"385":{},"387":{},"388":{},"390":{},"391":{},"393":{},"394":{},"396":{},"397":{},"399":{},"400":{},"402":{},"403":{},"405":{},"406":{},"408":{},"409":{},"411":{},"412":{},"414":{},"415":{},"416":{},"418":{},"424":{},"425":{},"426":{},"427":{},"428":{},"429":{},"431":{},"432":{},"433":{},"436":{},"439":{},"440":{},"443":{},"444":{},"445":{},"448":{},"451":{},"452":{},"453":{},"454":{},"455":{},"456":{},"458":{},"460":{},"462":{},"463":{},"464":{},"469":{},"470":{},"471":{},"473":{},"474":{},"476":{},"477":{},"482":{},"487":{},"493":{},"496":{},"497":{},"498":{},"503":{},"504":{},"505":{},"506":{},"507":{},"508":{},"509":{},"510":{},"511":{},"512":{},"514":{},"515":{},"516":{},"521":{},"522":{},"524":{},"525":{},"526":{},"527":{},"528":{},"529":{},"530":{},"531":{},"532":{},"533":{},"534":{},"535":{},"536":{},"537":{},"539":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"548":{},"549":{},"550":{},"551":{},"552":{},"554":{},"555":{},"556":{},"557":{},"564":{},"565":{},"566":{},"567":{},"568":{},"570":{},"571":{},"572":{},"573":{},"574":{},"575":{},"576":{},"578":{},"580":{},"581":{},"582":{},"583":{},"584":{},"585":{},"587":{},"589":{},"591":{},"592":{},"593":{},"594":{},"595":{},"596":{},"597":{},"600":{},"606":{},"607":{},"610":{},"611":{},"614":{},"616":{},"617":{},"618":{},"619":{},"620":{},"621":{},"622":{},"623":{},"624":{},"626":{},"629":{},"631":{},"632":{},"633":{},"634":{},"635":{},"636":{},"637":{},"640":{},"641":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"650":{},"651":{},"652":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"678":{},"679":{},"680":{},"681":{},"682":{},"683":{},"696":{},"721":{},"726":{},"756":{},"774":{},"777":{},"780":{},"784":{},"833":{},"835":{},"847":{},"848":{},"849":{},"850":{},"851":{},"881":{},"882":{},"886":{},"889":{},"892":{},"895":{},"903":{},"904":{},"927":{},"960":{},"964":{},"970":{},"982":{},"1021":{},"1022":{},"1030":{},"1040":{},"1043":{},"1044":{},"1045":{},"1049":{}}}],["0",{"_index":659,"title":{},"content":{"211":{},"212":{},"213":{},"214":{},"226":{},"231":{},"232":{},"235":{},"251":{},"265":{},"266":{},"267":{},"272":{},"294":{},"396":{},"399":{},"423":{},"429":{},"432":{},"436":{},"453":{},"454":{},"456":{},"462":{},"463":{},"469":{},"497":{},"511":{},"513":{},"514":{},"515":{},"516":{},"524":{},"525":{},"530":{},"536":{},"537":{},"564":{},"565":{},"583":{},"585":{},"591":{},"595":{},"611":{},"620":{},"629":{},"632":{},"634":{},"635":{},"637":{},"715":{},"830":{},"903":{},"970":{},"987":{},"988":{},"1030":{},"1040":{}}}],["0,1",{"_index":2593,"title":{},"content":{"530":{}}}],["0.01",{"_index":1779,"title":{},"content":{"349":{},"779":{},"780":{},"784":{}}}],["0.013",{"_index":4201,"title":{},"content":{"1040":{}}}],["0.02",{"_index":1755,"title":{},"content":{"345":{}}}],["0.024",{"_index":4202,"title":{},"content":{"1040":{}}}],["0.043",{"_index":4203,"title":{},"content":{"1040":{}}}],["0.077",{"_index":4204,"title":{},"content":{"1040":{}}}],["0.1",{"_index":3492,"title":{},"content":{"774":{},"956":{}}}],["0.139",{"_index":4205,"title":{},"content":{"1040":{}}}],["0.2",{"_index":2342,"title":{},"content":{"473":{},"557":{}}}],["0.22",{"_index":3946,"title":{},"content":{"904":{}}}],["0.23",{"_index":3945,"title":{},"content":{"904":{}}}],["0.25",{"_index":4042,"title":{},"content":{"956":{}}}],["0.251",{"_index":4206,"title":{},"content":{"1040":{}}}],["0.3",{"_index":4142,"title":{},"content":{"987":{},"988":{}}}],["0.35",{"_index":4044,"title":{},"content":{"956":{}}}],["0.42w",{"_index":3505,"title":{},"content":{"774":{}}}],["0.453",{"_index":4207,"title":{},"content":{"1040":{},"1044":{}}}],["0.5",{"_index":4045,"title":{},"content":{"956":{}}}],["0.8404452690166976",{"_index":4233,"title":{},"content":{"1044":{}}}],["0.9",{"_index":2135,"title":{},"content":{"429":{}}}],["0/0",{"_index":3480,"title":{},"content":{"772":{}}}],["00",{"_index":872,"title":{},"content":{"217":{},"830":{}}}],["000",{"_index":2861,"title":{},"content":{"606":{},"747":{}}}],["0000",{"_index":2841,"title":{},"content":{"597":{},"607":{},"611":{},"612":{},"613":{},"614":{},"615":{},"616":{},"617":{},"618":{},"619":{}}}],["0000...c1c8",{"_index":3005,"title":{},"content":{"636":{}}}],["0000000000",{"_index":2381,"title":{},"content":{"506":{}}}],["000012345",{"_index":2371,"title":{},"content":{"483":{},"485":{},"503":{}}}],["00001ab",{"_index":2223,"title":{},"content":{"445":{}}}],["00001abc",{"_index":2158,"title":{},"content":{"434":{}}}],["00001ac8...4f",{"_index":3767,"title":{},"content":{"851":{}}}],["00001bc",{"_index":2224,"title":{},"content":{"445":{}}}],["000023456",{"_index":2464,"title":{},"content":{"485":{}}}],["00003bafdfb7a8e66b59de5692b79088063853bbd69a7d555faec906e6215e57ff98",{"_index":2268,"title":{},"content":{"456":{}}}],["000056789",{"_index":2370,"title":{},"content":{"503":{},"504":{}}}],["00005da88a4adaf5b40c958a20db981bd168008e03efbb7fc9d35e11be182a0d3065",{"_index":3940,"title":{},"content":{"903":{}}}],["0000ab12",{"_index":2227,"title":{},"content":{"445":{}}}],["0000abcd...ef",{"_index":3766,"title":{},"content":{"851":{}}}],["0000ba28ce06631ff2ef4fe3dc89a34be13c0d252f8952bbfa3173b03dbef3c04afd",{"_index":2269,"title":{},"content":{"456":{}}}],["0000c13373c96538b468ccdab8f95fdc3744ebfa2cd36a81c3791b2a205705d9c3a2",{"_index":3763,"title":{},"content":{"849":{},"850":{}}}],["0000d574d171a484f8deac2d61fc3f7cc984beb52465d69b3b5f670090742cbf5cca",{"_index":2303,"title":{},"content":{"462":{}}}],["0000f1fd",{"_index":3764,"title":{},"content":{"850":{}}}],["000108a5c",{"_index":2377,"title":{},"content":{"505":{}}}],["000abcd",{"_index":2113,"title":{},"content":{"426":{}}}],["000abcd123",{"_index":2119,"title":{},"content":{"426":{}}}],["001",{"_index":1990,"title":{},"content":{"416":{}}}],["0014ac",{"_index":2395,"title":{},"content":{"510":{}}}],["002",{"_index":2016,"title":{},"content":{"416":{}}}],["00743b809adde7e1e3e9b5afb704813d06155958fbbb78cd052cc45a1b19f976b",{"_index":1570,"title":{},"content":{"281":{}}}],["00:00",{"_index":1765,"title":{},"content":{"346":{}}}],["00:00:00",{"_index":3717,"title":{},"content":{"831":{}}}],["00:00am",{"_index":3798,"title":{},"content":{"858":{}}}],["00abcd",{"_index":2385,"title":{},"content":{"497":{},"507":{}}}],["00bcde",{"_index":2497,"title":{},"content":{"497":{}}}],["00efab",{"_index":2388,"title":{},"content":{"508":{},"509":{},"510":{}}}],["01",{"_index":3404,"title":{},"content":{"758":{}}}],["01/08/2024",{"_index":4086,"title":{},"content":{"967":{}}}],["01234",{"_index":2870,"title":{},"content":{"607":{}}}],["01309f1c765967ac7",{"_index":3405,"title":{},"content":{"758":{}}}],["01ab2cd",{"_index":3906,"title":{},"content":{"889":{}}}],["02",{"_index":726,"title":{},"content":{"212":{},"217":{},"845":{}}}],["02/11/2021",{"_index":3714,"title":{},"content":{"831":{}}}],["02:00am",{"_index":3793,"title":{},"content":{"855":{},"856":{}}}],["03/11/2021",{"_index":3716,"title":{},"content":{"831":{}}}],["04",{"_index":727,"title":{},"content":{"212":{},"213":{},"218":{},"274":{}}}],["04xi",{"_index":725,"title":{},"content":{"212":{},"224":{},"228":{}}}],["05/17/2024",{"_index":4099,"title":{},"content":{"974":{}}}],["07/17/2024",{"_index":4100,"title":{},"content":{"974":{}}}],["08",{"_index":817,"title":{},"content":{"214":{},"219":{}}}],["0ac1bfa9",{"_index":3907,"title":{},"content":{"889":{}}}],["0ac7fj",{"_index":3910,"title":{},"content":{"889":{}}}],["0d574d171a484f8deac2d61fc3f7cc984beb52465d69b3b5f670090742cbf5cc",{"_index":2345,"title":{},"content":{"474":{}}}],["0f",{"_index":3698,"title":{},"content":{"822":{}}}],["0fb27dac",{"_index":3903,"title":{},"content":{"889":{}}}],["0th",{"_index":1556,"title":{},"content":{"281":{}}}],["0x",{"_index":2115,"title":{},"content":{"426":{}}}],["0x00",{"_index":1220,"title":{},"content":{"264":{}}}],["0x0000",{"_index":694,"title":{},"content":{"212":{}}}],["0x00001234ab",{"_index":2279,"title":{},"content":{"458":{}}}],["0x00001ac8...4f",{"_index":3769,"title":{},"content":{"851":{}}}],["0x0000abcd...ef",{"_index":3770,"title":{},"content":{"851":{}}}],["0x000abcd",{"_index":2118,"title":{},"content":{"426":{}}}],["0x000abcd123",{"_index":2120,"title":{},"content":{"426":{}}}],["0x00abc",{"_index":2234,"title":{},"content":{"445":{}}}],["0x00abcd",{"_index":2402,"title":{},"content":{"511":{},"514":{}}}],["0x00abd",{"_index":2424,"title":{},"content":{"515":{}}}],["0x00bcde",{"_index":2414,"title":{},"content":{"514":{}}}],["0x00def",{"_index":2235,"title":{},"content":{"445":{}}}],["0x00defa",{"_index":2427,"title":{},"content":{"515":{},"516":{}}}],["0x00fedc",{"_index":2416,"title":{},"content":{"514":{}}}],["0x04",{"_index":1221,"title":{},"content":{"264":{}}}],["0x06",{"_index":1303,"title":{},"content":{"266":{}}}],["0x0b",{"_index":1304,"title":{},"content":{"266":{}}}],["0x1234",{"_index":2433,"title":{},"content":{"476":{},"477":{}}}],["0x14",{"_index":1311,"title":{},"content":{"266":{}}}],["0x1a",{"_index":1292,"title":{},"content":{"266":{}}}],["0x1b",{"_index":1309,"title":{},"content":{"266":{}}}],["0x24",{"_index":1299,"title":{},"content":{"266":{}}}],["0x33",{"_index":1310,"title":{},"content":{"266":{}}}],["0x374c7527733556",{"_index":2501,"title":{},"content":{"498":{}}}],["0x44",{"_index":1288,"title":{},"content":{"266":{}}}],["0x46",{"_index":1296,"title":{},"content":{"266":{}}}],["0x52",{"_index":1301,"title":{},"content":{"266":{}}}],["0x64",{"_index":1305,"title":{},"content":{"266":{}}}],["0x67",{"_index":1287,"title":{},"content":{"266":{}}}],["0x69",{"_index":1312,"title":{},"content":{"266":{}}}],["0x6e",{"_index":1302,"title":{},"content":{"266":{}}}],["0x71",{"_index":1285,"title":{},"content":{"266":{}}}],["0x82",{"_index":1414,"title":{},"content":{"296":{}}}],["0x83",{"_index":1284,"title":{},"content":{"266":{}}}],["0x84",{"_index":1289,"title":{},"content":{"266":{}}}],["0x8d",{"_index":1295,"title":{},"content":{"266":{}}}],["0x90",{"_index":1293,"title":{},"content":{"266":{}}}],["0x9000",{"_index":668,"title":{},"content":{"211":{}}}],["0x95",{"_index":1415,"title":{},"content":{"296":{}}}],["0x97",{"_index":1286,"title":{},"content":{"266":{}}}],["0xa1",{"_index":1307,"title":{},"content":{"266":{}}}],["0xa5",{"_index":1297,"title":{},"content":{"266":{}}}],["0xaa",{"_index":1313,"title":{},"content":{"266":{}}}],["0xb3",{"_index":1290,"title":{},"content":{"266":{}}}],["0xbaddecod",{"_index":794,"title":{},"content":{"213":{},"214":{}}}],["0xcc",{"_index":1294,"title":{},"content":{"266":{}}}],["0xd7",{"_index":1298,"title":{},"content":{"266":{}}}],["0xda",{"_index":1308,"title":{},"content":{"266":{}}}],["0xf2",{"_index":1306,"title":{},"content":{"266":{}}}],["0xf8",{"_index":1291,"title":{},"content":{"266":{}}}],["0xf9",{"_index":1455,"title":{},"content":{"308":{}}}],["0xfd",{"_index":1300,"title":{},"content":{"266":{}}}],["0xffff",{"_index":682,"title":{},"content":{"212":{}}}],["1",{"_index":460,"title":{"445":{},"875":{},"919":{},"981":{},"990":{},"993":{},"997":{}},"content":{"170":{},"214":{},"218":{},"219":{},"230":{},"231":{},"232":{},"235":{},"236":{},"265":{},"268":{},"281":{},"321":{},"353":{},"354":{},"371":{},"423":{},"424":{},"428":{},"429":{},"432":{},"433":{},"434":{},"439":{},"442":{},"444":{},"445":{},"453":{},"455":{},"457":{},"458":{},"459":{},"462":{},"463":{},"465":{},"479":{},"483":{},"507":{},"509":{},"514":{},"516":{},"521":{},"524":{},"529":{},"530":{},"533":{},"536":{},"537":{},"550":{},"551":{},"557":{},"580":{},"581":{},"582":{},"583":{},"584":{},"585":{},"592":{},"623":{},"633":{},"637":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"681":{},"682":{},"683":{},"715":{},"718":{},"732":{},"733":{},"735":{},"774":{},"780":{},"784":{},"831":{},"834":{},"847":{},"848":{},"850":{},"851":{},"881":{},"889":{},"892":{},"904":{},"965":{},"969":{},"991":{},"994":{},"997":{},"998":{},"1026":{},"1031":{},"1039":{},"1040":{},"1041":{},"1043":{},"1044":{},"1045":{}}}],["1,2",{"_index":2129,"title":{},"content":{"428":{},"529":{}}}],["1,2,3",{"_index":2356,"title":{},"content":{"464":{},"532":{},"534":{},"550":{},"551":{}}}],["1,2,3,4",{"_index":2581,"title":{},"content":{"528":{}}}],["1,2,3,4,5",{"_index":2140,"title":{},"content":{"430":{}}}],["1..10",{"_index":2142,"title":{},"content":{"431":{}}}],["1..5",{"_index":2138,"title":{},"content":{"430":{}}}],["1.0",{"_index":2128,"title":{},"content":{"428":{},"429":{},"462":{},"474":{}}}],["1.0e2",{"_index":2107,"title":{},"content":{"425":{}}}],["1.1",{"_index":2134,"title":{},"content":{"429":{},"432":{}}}],["1.1.0",{"_index":2300,"title":{},"content":{"446":{}}}],["1.18",{"_index":3990,"title":{},"content":{"927":{}}}],["1.2",{"_index":2463,"title":{},"content":{"485":{}}}],["1/3",{"_index":3545,"title":{},"content":{"780":{}}}],["10",{"_index":1767,"title":{},"content":{"346":{},"418":{},"458":{},"557":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"725":{},"732":{},"774":{},"780":{},"825":{},"847":{},"965":{}}}],["10.25",{"_index":3046,"title":{},"content":{"637":{}}}],["100",{"_index":2108,"title":{},"content":{"425":{},"601":{},"637":{},"725":{},"726":{},"746":{},"747":{}}}],["100.12345678",{"_index":3269,"title":{},"content":{"742":{}}}],["100.123456789123456789",{"_index":3268,"title":{},"content":{"742":{}}}],["1000",{"_index":3042,"title":{},"content":{"637":{},"847":{},"849":{},"850":{},"1044":{}}}],["10000",{"_index":2312,"title":{},"content":{"463":{}}}],["100000",{"_index":3752,"title":{},"content":{"847":{}}}],["1000000",{"_index":2892,"title":{},"content":{"611":{}}}],["100000000",{"_index":1991,"title":{},"content":{"416":{},"462":{},"594":{},"595":{},"633":{},"637":{},"848":{},"850":{},"851":{}}}],["10000000000",{"_index":2893,"title":{},"content":{"611":{}}}],["100000000000",{"_index":3746,"title":{},"content":{"847":{},"849":{}}}],["100_000_000",{"_index":2804,"title":{},"content":{"594":{},"595":{}}}],["1025",{"_index":3047,"title":{},"content":{"637":{}}}],["10250",{"_index":3049,"title":{},"content":{"637":{}}}],["1095",{"_index":4090,"title":{},"content":{"969":{}}}],["10:00:00",{"_index":3715,"title":{},"content":{"831":{}}}],["10^8",{"_index":2958,"title":{},"content":{"633":{},"637":{}}}],["10_000",{"_index":2104,"title":{},"content":{"425":{}}}],["10_000.0",{"_index":2105,"title":{},"content":{"425":{}}}],["10min",{"_index":3571,"title":{},"content":{"801":{}}}],["11",{"_index":3611,"title":{"811":{}},"content":{"811":{}}}],["11.25",{"_index":4082,"title":{},"content":{"965":{}}}],["11100000",{"_index":1813,"title":{},"content":{"354":{}}}],["11:30pm",{"_index":3791,"title":{},"content":{"854":{}}}],["11_250_000",{"_index":4198,"title":{},"content":{"1039":{}}}],["12",{"_index":2702,"title":{},"content":{"572":{},"583":{},"1030":{}}}],["12.1",{"_index":2705,"title":{},"content":{"572":{}}}],["123",{"_index":2680,"title":{},"content":{"566":{}}}],["123456",{"_index":2670,"title":{},"content":{"564":{}}}],["128",{"_index":1317,"title":{},"content":{"266":{}}}],["12:00",{"_index":4210,"title":{},"content":{"1041":{}}}],["12:03",{"_index":4208,"title":{},"content":{"1041":{}}}],["12:57",{"_index":4209,"title":{},"content":{"1041":{}}}],["13",{"_index":2708,"title":{},"content":{"573":{},"892":{}}}],["13.2",{"_index":2710,"title":{},"content":{"573":{}}}],["1391309040",{"_index":2352,"title":{},"content":{"474":{}}}],["13:00",{"_index":4211,"title":{},"content":{"1041":{}}}],["14.26239",{"_index":2410,"title":{},"content":{"512":{}}}],["14.26239591",{"_index":2418,"title":{},"content":{"514":{}}}],["1405",{"_index":3208,"title":{"717":{}},"content":{}}],["15.00",{"_index":3051,"title":{},"content":{"637":{}}}],["15.5",{"_index":2434,"title":{},"content":{"476":{},"477":{}}}],["15000",{"_index":3050,"title":{},"content":{"637":{}}}],["16",{"_index":770,"title":{},"content":{"213":{},"214":{},"228":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{}}}],["1622801400",{"_index":1754,"title":{},"content":{"345":{}}}],["1674564088",{"_index":2267,"title":{},"content":{"456":{}}}],["1676332800",{"_index":2735,"title":{},"content":{"582":{}}}],["1677493444",{"_index":2727,"title":{},"content":{"568":{}}}],["1677598185",{"_index":2265,"title":{},"content":{"456":{}}}],["1693519200",{"_index":2747,"title":{},"content":{"585":{}}}],["1693605600",{"_index":2748,"title":{},"content":{"585":{}}}],["16byte",{"_index":782,"title":{},"content":{"213":{},"214":{}}}],["18",{"_index":3266,"title":{"849":{}},"content":{"742":{},"845":{},"849":{},"850":{}}}],["180",{"_index":4088,"title":{},"content":{"969":{}}}],["181812.87",{"_index":2399,"title":{},"content":{"511":{}}}],["19",{"_index":3743,"title":{"850":{}},"content":{"845":{},"850":{}}}],["197",{"_index":3360,"title":{},"content":{"747":{}}}],["1:1",{"_index":3263,"title":{},"content":{"740":{}}}],["1\\ncondit",{"_index":2456,"title":{},"content":{"482":{}}}],["1e731fb84d0a094c6273fffed68147c381a273c83868cdeb9b81c7ec790c6d38",{"_index":732,"title":{},"content":{"212":{}}}],["1fb2ha",{"_index":3914,"title":{},"content":{"889":{}}}],["1mb",{"_index":3835,"title":{},"content":{"881":{}}}],["1s",{"_index":1164,"title":{},"content":{"256":{}}}],["1st",{"_index":960,"title":{},"content":{"227":{},"283":{},"434":{},"453":{},"834":{},"851":{},"1044":{}}}],["2",{"_index":621,"title":{"876":{},"920":{},"982":{},"991":{},"994":{},"998":{}},"content":{"206":{},"211":{},"214":{},"231":{},"232":{},"235":{},"264":{},"321":{},"333":{},"353":{},"371":{},"416":{},"429":{},"433":{},"434":{},"435":{},"445":{},"452":{},"455":{},"456":{},"457":{},"458":{},"459":{},"479":{},"514":{},"516":{},"521":{},"524":{},"529":{},"533":{},"540":{},"570":{},"592":{},"593":{},"623":{},"637":{},"650":{},"651":{},"652":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"702":{},"718":{},"732":{},"733":{},"735":{},"738":{},"762":{},"848":{},"850":{},"851":{},"852":{},"881":{},"904":{},"925":{},"965":{},"969":{},"970":{},"1031":{},"1039":{},"1040":{}}}],["2.0",{"_index":2133,"title":{},"content":{"429":{},"474":{},"851":{},"1048":{}}}],["2.1",{"_index":2658,"title":{},"content":{"557":{}}}],["2.5",{"_index":4079,"title":{},"content":{"965":{}}}],["2.58933391",{"_index":3944,"title":{},"content":{"904":{}}}],["2.o",{"_index":3437,"title":{},"content":{"763":{}}}],["20",{"_index":1440,"title":{"663":{},"736":{}},"content":{"303":{},"660":{},"661":{},"662":{},"663":{},"664":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"738":{}}}],["200",{"_index":2521,"title":{},"content":{"521":{},"522":{},"623":{},"624":{},"634":{},"881":{}}}],["2000",{"_index":1899,"title":{},"content":{"371":{}}}],["20000",{"_index":2026,"title":{},"content":{"418":{}}}],["2022",{"_index":3249,"title":{},"content":{"738":{},"1029":{}}}],["2024",{"_index":3250,"title":{},"content":{"738":{}}}],["2026",{"_index":4073,"title":{},"content":{"965":{}}}],["2048",{"_index":4280,"title":{},"content":{"1030":{}}}],["21st",{"_index":1441,"title":{},"content":{"303":{}}}],["22",{"_index":2883,"title":{},"content":{"608":{}}}],["22.5",{"_index":4081,"title":{},"content":{"965":{}}}],["22_500_000",{"_index":4197,"title":{},"content":{"1039":{}}}],["23",{"_index":2739,"title":{},"content":{"583":{}}}],["24",{"_index":3193,"title":{},"content":{"711":{},"726":{},"728":{},"732":{},"984":{},"1027":{},"1030":{}}}],["24h",{"_index":3238,"title":{"726":{}},"content":{}}],["25.75",{"_index":3054,"title":{},"content":{"637":{}}}],["25/07/2024",{"_index":4085,"title":{},"content":{"967":{}}}],["255",{"_index":3712,"title":{},"content":{"830":{}}}],["255121",{"_index":3905,"title":{},"content":{"889":{}}}],["256",{"_index":1127,"title":{},"content":{"251":{},"757":{},"830":{},"1032":{}}}],["256kb",{"_index":2526,"title":{},"content":{"521":{},"623":{}}}],["25750",{"_index":3053,"title":{},"content":{"637":{}}}],["27",{"_index":2908,"title":{},"content":{"621":{}}}],["2^31",{"_index":459,"title":{},"content":{"170":{}}}],["2nd",{"_index":1608,"title":{},"content":{"283":{},"434":{}}}],["3",{"_index":526,"title":{"921":{}},"content":{"201":{},"211":{},"213":{},"214":{},"232":{},"235":{},"272":{},"320":{},"429":{},"434":{},"444":{},"452":{},"533":{},"554":{},"557":{},"637":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"697":{},"718":{},"722":{},"732":{},"733":{},"735":{},"834":{},"848":{},"889":{},"895":{},"904":{},"965":{},"969":{},"970":{},"974":{},"988":{},"1039":{},"1040":{},"1044":{}}}],["3,2,2,1",{"_index":2612,"title":{},"content":{"535":{}}}],["3,4",{"_index":2580,"title":{},"content":{"528":{}}}],["3.24",{"_index":4314,"title":{},"content":{"1035":{}}}],["3.5",{"_index":4315,"title":{},"content":{"1035":{}}}],["3.53553390",{"_index":2654,"title":{},"content":{"556":{}}}],["3.6",{"_index":3491,"title":{},"content":{"774":{}}}],["30",{"_index":3916,"title":{},"content":{"889":{},"969":{}}}],["3000",{"_index":3262,"title":{"740":{}},"content":{"740":{}}}],["300000000",{"_index":3755,"title":{},"content":{"848":{}}}],["31",{"_index":2740,"title":{},"content":{"583":{}}}],["31536000",{"_index":4230,"title":{},"content":{"1044":{}}}],["32",{"_index":735,"title":{},"content":{"212":{},"213":{},"214":{},"227":{},"228":{},"266":{},"281":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"1032":{}}}],["32byte",{"_index":780,"title":{},"content":{"213":{},"214":{}}}],["32bytesinsid",{"_index":772,"title":{},"content":{"213":{},"214":{}}}],["33",{"_index":1569,"title":{},"content":{"281":{}}}],["34",{"_index":822,"title":{},"content":{"214":{}}}],["35040",{"_index":4241,"title":{},"content":{"1045":{}}}],["3600",{"_index":4221,"title":{},"content":{"1043":{},"1044":{}}}],["365",{"_index":3243,"title":{},"content":{"726":{},"969":{}}}],["374c7527733556",{"_index":2491,"title":{},"content":{"496":{}}}],["3c21ef708bf11b4232",{"_index":2731,"title":{},"content":{"578":{}}}],["3mb",{"_index":3898,"title":{},"content":{"889":{}}}],["3rd",{"_index":690,"title":{},"content":{"212":{},"434":{}}}],["3s",{"_index":1161,"title":{},"content":{"256":{}}}],["4",{"_index":661,"title":{},"content":{"211":{},"213":{},"214":{},"218":{},"219":{},"230":{},"232":{},"235":{},"281":{},"359":{},"445":{},"485":{},"525":{},"556":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"718":{},"732":{},"735":{},"811":{},"965":{},"1039":{},"1040":{},"1049":{}}}],["4,5,6",{"_index":2358,"title":{},"content":{"464":{}}}],["4.05902597",{"_index":2428,"title":{},"content":{"515":{}}}],["4.md",{"_index":4329,"title":{},"content":{"1049":{}}}],["410",{"_index":3922,"title":{},"content":{"892":{}}}],["4317.35583398",{"_index":4237,"title":{},"content":{"1044":{}}}],["4317.355833989885",{"_index":4234,"title":{},"content":{"1044":{}}}],["45",{"_index":4080,"title":{},"content":{"965":{}}}],["456",{"_index":2682,"title":{},"content":{"566":{}}}],["45_000_000",{"_index":4196,"title":{},"content":{"1039":{},"1044":{}}}],["4756.5401",{"_index":2403,"title":{},"content":{"511":{}}}],["4:15:30",{"_index":4334,"title":{},"content":{"1037":{}}}],["4th",{"_index":697,"title":{},"content":{"212":{}}}],["5",{"_index":1664,"title":{},"content":{"321":{},"570":{},"637":{},"732":{},"774":{},"997":{},"1040":{}}}],["5/month",{"_index":3834,"title":{},"content":{"881":{}}}],["500",{"_index":3837,"title":{},"content":{"881":{}}}],["51",{"_index":3498,"title":{},"content":{"774":{}}}],["512",{"_index":3486,"title":{},"content":{"772":{}}}],["5136.986301369863",{"_index":4231,"title":{},"content":{"1044":{}}}],["52e77c79bea0f84e2d9c40356932fb0dd31688c23d6b6e9ac99d2869dc407692",{"_index":730,"title":{},"content":{"212":{}}}],["539",{"_index":4232,"title":{},"content":{"1044":{}}}],["59",{"_index":2737,"title":{},"content":{"583":{}}}],["592ac76afa",{"_index":2713,"title":{},"content":{"574":{}}}],["5s",{"_index":1801,"title":{},"content":{"353":{}}}],["5th",{"_index":699,"title":{},"content":{"212":{}}}],["6",{"_index":2742,"title":{},"content":{"583":{},"732":{},"847":{},"969":{},"970":{},"1031":{},"1040":{}}}],["6/20/2024",{"_index":4333,"title":{},"content":{"1037":{}}}],["64",{"_index":778,"title":{},"content":{"213":{},"214":{},"1030":{}}}],["650",{"_index":681,"title":{},"content":{"212":{},"226":{},"772":{}}}],["66",{"_index":824,"title":{},"content":{"214":{},"774":{}}}],["68420",{"_index":3900,"title":{},"content":{"889":{}}}],["68656c6c6f",{"_index":2715,"title":{},"content":{"574":{}}}],["69.75757441",{"_index":2647,"title":{},"content":{"554":{}}}],["6th",{"_index":702,"title":{},"content":{"212":{}}}],["7",{"_index":1568,"title":{},"content":{"281":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"732":{},"929":{},"969":{},"970":{},"1040":{},"1044":{}}}],["730",{"_index":4089,"title":{},"content":{"969":{}}}],["7330d2b39ca35ea",{"_index":2482,"title":{},"content":{"493":{}}}],["754",{"_index":452,"title":{},"content":{"164":{}}}],["7th",{"_index":703,"title":{},"content":{"212":{}}}],["7z",{"_index":3928,"title":{},"content":{"895":{}}}],["8",{"_index":466,"title":{"742":{}},"content":{"186":{},"214":{},"354":{},"429":{},"469":{},"554":{},"555":{},"583":{},"585":{},"732":{},"742":{},"780":{},"847":{},"848":{},"849":{},"850":{},"892":{}}}],["8.75",{"_index":4083,"title":{},"content":{"965":{}}}],["8.90800012",{"_index":2425,"title":{},"content":{"515":{}}}],["8_750_000",{"_index":4199,"title":{},"content":{"1039":{}}}],["8am",{"_index":2318,"title":{},"content":{"469":{},"583":{}}}],["9",{"_index":2669,"title":{},"content":{"564":{},"565":{},"566":{},"585":{},"732":{},"774":{},"965":{}}}],["90",{"_index":3362,"title":{},"content":{"747":{},"762":{},"774":{},"880":{},"969":{}}}],["901a365ff22b895",{"_index":2492,"title":{},"content":{"496":{}}}],["99.99999999",{"_index":3358,"title":{},"content":{"747":{}}}],["9f",{"_index":3699,"title":{},"content":{"822":{}}}],["_",{"_index":2102,"title":{},"content":{"425":{}}}],["_dnslink",{"_index":3876,"title":{},"content":{"872":{},"873":{}}}],["_dnslink.example.com",{"_index":3872,"title":{},"content":{"872":{}}}],["_preferencesbox.h",{"_index":3309,"title":{},"content":{"735":{}}}],["_preferencesbox.lock",{"_index":3310,"title":{},"content":{"735":{}}}],["_vaultbox.h",{"_index":3311,"title":{},"content":{"735":{}}}],["_vaultbox.lock",{"_index":3312,"title":{},"content":{"735":{}}}],["a0b1c2",{"_index":2685,"title":{},"content":{"566":{}}}],["a1",{"_index":3633,"title":{},"content":{"814":{},"815":{},"816":{}}}],["a3d7e45a0d9be5f",{"_index":2483,"title":{},"content":{"493":{}}}],["ab",{"_index":4189,"title":{},"content":{"1022":{}}}],["abc",{"_index":2672,"title":{},"content":{"564":{}}}],["abc123f",{"_index":3901,"title":{},"content":{"889":{}}}],["abcdef0123456789",{"_index":4270,"title":{},"content":{"1030":{}}}],["abdecoin_bal",{"_index":2422,"title":{},"content":{"515":{}}}],["abi",{"_index":2506,"title":{},"content":{"499":{},"606":{},"626":{},"637":{},"640":{}}}],["abi_decode/2",{"_index":2512,"title":{"501":{}},"content":{}}],["abi_encode/2",{"_index":2508,"title":{"500":{}},"content":{}}],["abil",{"_index":3417,"title":{},"content":{"762":{},"777":{},"786":{},"788":{}}}],["abitrati",{"_index":2323,"title":{},"content":{"471":{}}}],["abouth",{"_index":2543,"title":{},"content":{"548":{}}}],["abov",{"_index":549,"title":{},"content":{"201":{},"213":{},"214":{},"227":{},"228":{},"265":{},"432":{},"747":{},"849":{},"874":{},"940":{}}}],["abritrati",{"_index":2324,"title":{},"content":{"471":{}}}],["absenc",{"_index":2110,"title":{},"content":{"425":{}}}],["absolut",{"_index":3350,"title":{},"content":{"746":{}}}],["abstract",{"_index":2918,"title":{},"content":{"626":{},"628":{}}}],["acc",{"_index":2176,"title":{},"content":{"436":{}}}],["accept",{"_index":556,"title":{},"content":{"201":{},"455":{},"463":{},"482":{},"632":{},"732":{},"746":{},"849":{},"895":{},"896":{},"897":{},"898":{},"990":{},"997":{}}}],["access",{"_index":505,"title":{"220":{},"221":{},"651":{},"696":{},"721":{},"911":{},"917":{},"938":{},"946":{},"964":{}},"content":{"201":{},"220":{},"221":{},"222":{},"223":{},"242":{},"263":{},"281":{},"293":{},"345":{},"368":{},"370":{},"432":{},"442":{},"466":{},"650":{},"651":{},"652":{},"696":{},"721":{},"725":{},"738":{},"746":{},"767":{},"768":{},"769":{},"770":{},"776":{},"783":{},"876":{},"892":{},"893":{},"898":{},"899":{},"914":{},"915":{},"917":{},"922":{},"924":{},"927":{},"932":{},"936":{},"937":{},"938":{},"943":{},"945":{},"961":{},"962":{},"964":{},"974":{},"983":{},"988":{},"997":{},"1002":{},"1026":{},"1027":{},"1030":{},"1031":{}}}],["access//aeweb.archethic.net",{"_index":3088,"title":{},"content":{"679":{},"680":{}}}],["accommod",{"_index":4128,"title":{},"content":{"981":{},"990":{},"997":{}}}],["accompani",{"_index":4105,"title":{},"content":{"974":{},"984":{},"985":{}}}],["accord",{"_index":744,"title":{},"content":{"213":{},"214":{},"259":{},"285":{},"311":{},"335":{},"345":{},"447":{},"477":{},"500":{},"501":{},"735":{},"748":{},"769":{},"777":{},"779":{},"784":{},"788":{},"993":{},"1017":{},"1047":{}}}],["accordingli",{"_index":1872,"title":{},"content":{"371":{},"521":{},"623":{}}}],["account",{"_index":691,"title":{"218":{},"236":{},"242":{},"418":{},"656":{}},"content":{"212":{},"213":{},"218":{},"224":{},"226":{},"239":{},"242":{},"357":{},"377":{},"380":{},"382":{},"401":{},"403":{},"410":{},"413":{},"416":{},"418":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"732":{},"733":{},"772":{},"842":{},"895":{},"896":{},"897":{},"898":{},"900":{},"957":{},"982":{},"991":{},"994":{},"997":{},"998":{},"1027":{},"1047":{},"1048":{}}}],["accountnam",{"_index":1995,"title":{},"content":{"416":{}}}],["accountsubscript",{"_index":2022,"title":{},"content":{"418":{}}}],["accru",{"_index":4141,"title":{},"content":{"986":{}}}],["accumul",{"_index":1167,"title":{},"content":{"257":{},"978":{},"986":{}}}],["accur",{"_index":2439,"title":{},"content":{"476":{}}}],["achiev",{"_index":1022,"title":{},"content":{"238":{},"239":{},"283":{},"352":{},"762":{},"791":{},"818":{},"870":{},"909":{},"910":{},"965":{}}}],["acknowledg",{"_index":3202,"title":{},"content":{"714":{}}}],["acm",{"_index":3881,"title":{},"content":{"875":{}}}],["act",{"_index":478,"title":{},"content":{"198":{},"201":{},"521":{},"608":{},"623":{},"791":{},"889":{}}}],["action",{"_index":233,"title":{"441":{},"443":{},"581":{},"629":{},"924":{},"978":{},"986":{}},"content":{"55":{},"180":{},"266":{},"282":{},"294":{},"346":{},"423":{},"436":{},"441":{},"442":{},"443":{},"444":{},"447":{},"452":{},"457":{},"462":{},"463":{},"466":{},"468":{},"469":{},"472":{},"474":{},"476":{},"477":{},"580":{},"581":{},"582":{},"583":{},"584":{},"585":{},"591":{},"606":{},"608":{},"629":{},"630":{},"631":{},"632":{},"633":{},"637":{},"640":{},"692":{},"709":{},"733":{},"735":{},"803":{},"887":{},"909":{},"910":{},"927":{},"978":{},"986":{},"990":{},"993":{},"997":{},"1012":{},"1031":{},"1032":{},"1041":{},"1047":{}}}],["action'",{"_index":2065,"title":{},"content":{"448":{},"455":{},"457":{},"459":{},"910":{}}}],["action(triggertype.interv",{"_index":2925,"title":{},"content":{"629":{}}}],["action(triggertype.transact",{"_index":2776,"title":{},"content":{"591":{},"632":{},"635":{},"637":{}}}],["actionnam",{"_index":2961,"title":{},"content":{"633":{}}}],["actionrecipi",{"_index":155,"title":{},"content":{"28":{}}}],["actionresult",{"_index":2764,"title":{},"content":{"591":{}}}],["actionresult().setstate(ctx.st",{"_index":3025,"title":{},"content":{"637":{}}}],["actionresult().setstate(st",{"_index":2784,"title":{},"content":{"591":{}}}],["actionresult().setstate(updatedst",{"_index":3015,"title":{},"content":{"637":{}}}],["actionresult().settransact",{"_index":2928,"title":{},"content":{"629":{},"637":{}}}],["actionresult(address",{"_index":2960,"title":{},"content":{"633":{}}}],["address",{"_index":104,"title":{"155":{},"213":{},"218":{},"236":{},"692":{},"715":{},"733":{},"758":{},"903":{},"928":{}},"content":{"22":{},"23":{},"28":{},"29":{},"43":{},"44":{},"55":{},"61":{},"62":{},"64":{},"65":{},"70":{},"71":{},"73":{},"74":{},"76":{},"77":{},"79":{},"80":{},"83":{},"84":{},"86":{},"87":{},"89":{},"90":{},"98":{},"99":{},"102":{},"103":{},"111":{},"112":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"136":{},"137":{},"138":{},"141":{},"142":{},"144":{},"145":{},"146":{},"147":{},"148":{},"155":{},"176":{},"198":{},"199":{},"206":{},"207":{},"208":{},"212":{},"213":{},"214":{},"218":{},"221":{},"222":{},"224":{},"226":{},"227":{},"236":{},"243":{},"246":{},"247":{},"248":{},"253":{},"258":{},"281":{},"282":{},"284":{},"320":{},"322":{},"365":{},"382":{},"385":{},"388":{},"391":{},"398":{},"400":{},"403":{},"406":{},"426":{},"445":{},"449":{},"456":{},"458":{},"462":{},"463":{},"471":{},"474":{},"483":{},"485":{},"489":{},"503":{},"504":{},"506":{},"507":{},"508":{},"509":{},"510":{},"511":{},"512":{},"514":{},"515":{},"516":{},"578":{},"580":{},"594":{},"595":{},"597":{},"601":{},"606":{},"607":{},"611":{},"612":{},"613":{},"614":{},"615":{},"617":{},"618":{},"619":{},"633":{},"634":{},"636":{},"637":{},"715":{},"717":{},"733":{},"749":{},"753":{},"758":{},"772":{},"804":{},"809":{},"819":{},"820":{},"822":{},"823":{},"825":{},"831":{},"839":{},"841":{},"842":{},"851":{},"871":{},"872":{},"889":{},"890":{},"903":{},"909":{},"919":{},"921":{},"925":{},"927":{},"928":{},"930":{},"931":{},"974":{},"982":{},"985":{},"991":{},"994":{},"998":{},"1027":{},"1032":{}}}],["address'",{"_index":1579,"title":{},"content":{"282":{}}}],["address(\"0000",{"_index":2952,"title":{},"content":{"633":{}}}],["address(\"0000...be4a7",{"_index":3001,"title":{},"content":{"636":{}}}],["address(\"0000...c1c8",{"_index":2999,"title":{},"content":{"636":{}}}],["address(\"00000000000000000000000000000000000000000000000000000000000000000000",{"_index":2981,"title":{},"content":{"634":{}}}],["address(\"00001ff1733caa91336976ee7cef5aff6bb26c7682213b8e6770ab82272f966dac35",{"_index":2973,"title":{},"content":{"634":{}}}],["address(\"0000583a6a1d9a536ed7f3c8e7f3981ed2f7ff8cb3c3f8f2b9eb0c862d81f75d28cb",{"_index":2807,"title":{},"content":{"595":{}}}],["address.compar",{"_index":2971,"title":{},"content":{"634":{}}}],["address.compare(addr1",{"_index":3003,"title":{},"content":{"636":{}}}],["address.compare(requestedaddress",{"_index":2811,"title":{},"content":{"595":{}}}],["address_index",{"_index":707,"title":{},"content":{"212":{},"213":{},"214":{},"218":{},"219":{}}}],["address_len",{"_index":809,"title":{},"content":{"213":{},"214":{}}}],["addressit",{"_index":810,"title":{},"content":{"213":{}}}],["addresslength",{"_index":820,"title":{},"content":{"214":{}}}],["addtokentransfer(to",{"_index":2959,"title":{},"content":{"633":{}}}],["adducotransfer(contractaccount.address",{"_index":2828,"title":{},"content":{"596":{}}}],["adducotransfer(new",{"_index":2951,"title":{},"content":{"633":{}}}],["adducotransfer(to",{"_index":2955,"title":{},"content":{"633":{}}}],["adher",{"_index":3115,"title":{},"content":{"686":{},"959":{},"960":{}}}],["adjust",{"_index":4094,"title":{},"content":{"970":{},"990":{},"997":{}}}],["admin",{"_index":1256,"title":{},"content":{"266":{}}}],["administr",{"_index":1393,"title":{},"content":{"294":{},"872":{},"882":{}}}],["adopt",{"_index":2044,"title":{},"content":{"447":{},"743":{},"773":{},"777":{},"783":{},"870":{},"960":{}}}],["adpu",{"_index":869,"title":{"215":{}},"content":{}}],["advanc",{"_index":4167,"title":{},"content":{"1000":{},"1024":{}}}],["advantag",{"_index":3449,"title":{},"content":{"764":{},"911":{},"946":{},"961":{}}}],["advis",{"_index":3296,"title":{},"content":{"735":{}}}],["ae",{"_index":902,"title":{},"content":{"221":{},"222":{},"228":{},"233":{},"587":{},"589":{},"627":{},"764":{},"770":{}}}],["aebnb",{"_index":3155,"title":{},"content":{"695":{}}}],["aebridg",{"_index":3079,"title":{"661":{},"674":{},"693":{},"905":{},"914":{}},"content":{"660":{},"661":{},"662":{},"663":{},"664":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"911":{},"915":{}}}],["aeeth",{"_index":3153,"title":{"988":{}},"content":{"695":{},"975":{}}}],["aeeth/uco",{"_index":4084,"title":{},"content":{"965":{},"972":{},"988":{}}}],["aehost",{"_index":3078,"title":{"660":{},"673":{},"688":{},"877":{}},"content":{"660":{},"661":{},"662":{},"663":{},"664":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{}}}],["aeip",{"_index":1859,"title":{"849":{},"850":{}},"content":{"359":{},"416":{},"608":{},"778":{},"845":{},"849":{},"850":{},"892":{},"1049":{}}}],["aemat",{"_index":3154,"title":{},"content":{"695":{}}}],["aeronaut",{"_index":3370,"title":{},"content":{"747":{}}}],["aerospik",{"_index":1492,"title":{},"content":{"276":{}}}],["aes256",{"_index":921,"title":{},"content":{"224":{},"228":{},"759":{}}}],["aes256(mode=cbc",{"_index":988,"title":{},"content":{"228":{}}}],["aes256(mode=ctr",{"_index":979,"title":{},"content":{"228":{}}}],["aes\\_key",{"_index":989,"title":{},"content":{"228":{}}}],["aes_key",{"_index":924,"title":{},"content":{"224":{},"228":{}}}],["aes_key_iv_tag",{"_index":774,"title":{},"content":{"213":{},"214":{}}}],["aeswap",{"_index":3080,"title":{"662":{},"676":{},"719":{},"721":{},"943":{},"945":{},"961":{},"1004":{},"1018":{}},"content":{"660":{},"661":{},"662":{},"663":{},"664":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"721":{},"943":{},"945":{},"946":{},"952":{},"953":{},"954":{},"956":{},"957":{},"959":{},"960":{},"961":{},"962":{},"974":{},"978":{},"981":{},"983":{},"986":{},"996":{},"999":{},"1000":{},"1001":{},"1002":{},"1012":{},"1013":{},"1014":{},"1016":{},"1017":{},"1018":{},"1019":{},"1021":{},"1024":{}}}],["aeswap'",{"_index":4048,"title":{},"content":{"957":{},"1001":{},"1002":{},"1018":{},"1020":{},"1024":{}}}],["aewallet",{"_index":1832,"title":{"371":{},"655":{},"664":{},"677":{},"730":{},"1026":{}},"content":{"356":{},"357":{},"358":{},"363":{},"371":{},"374":{},"380":{},"392":{},"401":{},"416":{},"418":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"722":{}}}],["aewalletcli",{"_index":1911,"title":{},"content":{"371":{},"416":{},"418":{}}}],["aewalletclient.clos",{"_index":1927,"title":{},"content":{"371":{},"416":{},"418":{}}}],["aewalletclient.connect",{"_index":1925,"title":{},"content":{"371":{},"416":{},"418":{}}}],["aewalletclient.connectionstatestream.listen((ev",{"_index":1918,"title":{},"content":{"371":{}}}],["aewalletclient.getcurrentaccount().valueorthrow",{"_index":1922,"title":{},"content":{"371":{}}}],["aewalletclient.getendpoint().valueorthrow",{"_index":1923,"title":{},"content":{"371":{}}}],["aewalletclient.signtransact",{"_index":2008,"title":{},"content":{"416":{}}}],["aewalletclient.subscribecurrentaccount().valueorthrow",{"_index":2027,"title":{},"content":{"418":{}}}],["aewalletclient.unsubscribecurrentaccount(subscription.id",{"_index":2031,"title":{},"content":{"418":{}}}],["aewasm",{"_index":3064,"title":{},"content":{"640":{},"641":{}}}],["aeweb",{"_index":2038,"title":{"680":{},"692":{},"871":{},"888":{},"893":{},"900":{},"902":{},"903":{},"904":{}},"content":{"421":{},"679":{},"680":{},"691":{},"692":{},"866":{},"874":{},"876":{},"879":{},"882":{},"887":{},"888":{},"889":{},"890":{},"891":{},"893":{},"895":{},"900":{},"901":{},"902":{},"903":{},"904":{}}}],["aeweb'",{"_index":3857,"title":{},"content":{"887":{}}}],["aewebvers",{"_index":3899,"title":{},"content":{"889":{},"892":{}}}],["af28c3d5b3828ad3f8682f1b1d14a8507b829f65f7be6c50427a6019ccb6801c",{"_index":2344,"title":{},"content":{"474":{}}}],["affect",{"_index":4119,"title":{},"content":{"977":{},"978":{},"1010":{}}}],["afterward",{"_index":3293,"title":{},"content":{"735":{}}}],["again",{"_index":1162,"title":{},"content":{"256":{},"321":{},"349":{},"890":{},"1032":{}}}],["against",{"_index":3297,"title":{},"content":{"735":{},"762":{},"945":{},"1011":{},"1012":{},"1019":{},"1023":{}}}],["aggreg",{"_index":76,"title":{"257":{}},"content":{"19":{},"116":{},"253":{},"257":{},"286":{},"332":{},"342":{},"346":{},"764":{},"837":{},"858":{},"1001":{}}}],["ago",{"_index":4093,"title":{},"content":{"970":{}}}],["agpl",{"_index":3628,"title":{},"content":{"812":{}}}],["agre",{"_index":3934,"title":{},"content":{"896":{}}}],["agreement",{"_index":3372,"title":{},"content":{"747":{}}}],["agvsbg8gd29ybgq",{"_index":3909,"title":{},"content":{"889":{}}}],["aim",{"_index":911,"title":{},"content":{"223":{},"356":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"684":{},"743":{},"775":{},"789":{},"800":{},"811":{},"911":{},"946":{},"993":{},"1030":{},"1046":{}}}],["aka",{"_index":887,"title":{},"content":{"220":{},"223":{},"281":{},"323":{},"650":{},"651":{},"652":{},"749":{},"832":{}}}],["al",{"_index":1111,"title":{},"content":{"246":{}}}],["alca",{"_index":550,"title":{},"content":{"201":{},"202":{},"203":{}}}],["alert",{"_index":4156,"title":{},"content":{"997":{}}}],["algo",{"_index":1012,"title":{},"content":{"236":{},"394":{},"493":{},"496":{}}}],["algorithm",{"_index":415,"title":{"328":{},"759":{}},"content":{"122":{},"155":{},"168":{},"176":{},"194":{},"228":{},"236":{},"266":{},"282":{},"289":{},"316":{},"323":{},"327":{},"328":{},"330":{},"332":{},"333":{},"345":{},"346":{},"493":{},"496":{},"498":{},"746":{},"747":{},"748":{},"749":{},"755":{},"756":{},"757":{},"758":{},"772":{},"777":{},"779":{},"802":{},"807":{},"831":{},"842":{},"928":{},"959":{},"1019":{}}}],["alic",{"_index":2570,"title":{},"content":{"526":{},"571":{},"687":{},"692":{}}}],["align",{"_index":4130,"title":{},"content":{"982":{},"991":{},"994":{},"998":{}}}],["alloc",{"_index":106,"title":{},"content":{"22":{},"79":{},"86":{},"98":{},"119":{},"146":{},"259":{},"604":{},"609":{},"965":{},"981":{},"990":{},"997":{}}}],["allow",{"_index":889,"title":{},"content":{"220":{},"353":{},"384":{},"444":{},"521":{},"580":{},"597":{},"606":{},"609":{},"610":{},"623":{},"632":{},"650":{},"651":{},"652":{},"695":{},"706":{},"738":{},"739":{},"746":{},"750":{},"754":{},"767":{},"768":{},"769":{},"771":{},"774":{},"775":{},"777":{},"784":{},"788":{},"797":{},"811":{},"814":{},"815":{},"839":{},"843":{},"847":{},"853":{},"876":{},"879":{},"887":{},"889":{},"891":{},"895":{},"896":{},"897":{},"898":{},"905":{},"907":{},"927":{},"928":{},"929":{},"930":{},"932":{},"933":{},"934":{},"936":{},"944":{},"952":{},"960":{},"971":{},"973":{},"974":{},"977":{},"978":{},"982":{},"985":{},"986":{},"988":{},"990":{},"991":{},"992":{},"993":{},"994":{},"997":{},"998":{},"1009":{},"1021":{},"1029":{},"1030":{},"1032":{},"1037":{},"1046":{},"1048":{},"1049":{}}}],["allow_mint",{"_index":3751,"title":{},"content":{"847":{}}}],["alogrithm",{"_index":3423,"title":{},"content":{"762":{}}}],["alon",{"_index":3413,"title":{},"content":{"761":{}}}],["along",{"_index":1201,"title":{},"content":{"289":{},"323":{},"338":{},"350":{},"369":{},"468":{},"608":{},"631":{},"758":{},"764":{},"777":{},"945":{},"959":{},"978":{},"986":{}}}],["alreadi",{"_index":650,"title":{},"content":{"211":{},"338":{},"574":{},"895":{},"965":{},"981":{},"1036":{}}}],["alter",{"_index":4154,"title":{},"content":{"997":{}}}],["altern",{"_index":1903,"title":{},"content":{"371":{}}}],["although",{"_index":4277,"title":{},"content":{"1030":{}}}],["altogeth",{"_index":3034,"title":{},"content":{"637":{}}}],["alway",{"_index":2453,"title":{},"content":{"481":{},"495":{},"559":{},"568":{},"620":{},"621":{},"637":{},"848":{},"857":{},"892":{},"925":{}}}],["amang",{"_index":1497,"title":{},"content":{"276":{}}}],["amazon",{"_index":3476,"title":{},"content":{"771":{}}}],["amd",{"_index":1463,"title":{},"content":{"311":{}}}],["amm",{"_index":4008,"title":{"960":{},"1005":{},"1017":{},"1021":{}},"content":{"943":{},"952":{},"953":{},"959":{},"960":{},"1004":{},"1005":{},"1016":{},"1017":{},"1021":{},"1024":{}}}],["among",{"_index":1576,"title":{},"content":{"282":{}}}],["amort",{"_index":1794,"title":{},"content":{"353":{}}}],["amount",{"_index":100,"title":{},"content":{"22":{},"64":{},"70":{},"79":{},"86":{},"98":{},"102":{},"119":{},"146":{},"214":{},"244":{},"247":{},"349":{},"353":{},"445":{},"462":{},"463":{},"471":{},"474":{},"476":{},"477":{},"483":{},"485":{},"512":{},"611":{},"633":{},"637":{},"725":{},"850":{},"851":{},"856":{},"889":{},"919":{},"921":{},"925":{},"930":{},"957":{},"974":{},"977":{},"981":{},"990":{},"993":{},"997":{},"998":{},"1008":{},"1013":{},"1022":{},"1042":{}}}],["amount_send",{"_index":2308,"title":{},"content":{"463":{}}}],["an",{"_index":3813,"title":{},"content":{"870":{}}}],["analys",{"_index":3815,"title":{},"content":{"870":{}}}],["analysi",{"_index":3672,"title":{},"content":{"815":{},"924":{},"957":{},"959":{}}}],["analyt",{"_index":4109,"title":{},"content":{"974":{},"985":{}}}],["analyz",{"_index":1483,"title":{"716":{}},"content":{"276":{},"889":{}}}],["anchor",{"_index":1183,"title":{},"content":{"260":{}}}],["and/or",{"_index":2924,"title":{},"content":{"629":{},"875":{}}}],["android",{"_index":1942,"title":{},"content":{"372":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"722":{},"1029":{},"1036":{},"1048":{}}}],["annot",{"_index":2922,"title":{},"content":{"629":{},"631":{}}}],["announc",{"_index":3595,"title":{},"content":{"797":{},"839":{}}}],["annual",{"_index":3239,"title":{},"content":{"726":{},"957":{},"968":{},"977":{},"984":{}}}],["anoth",{"_index":2178,"title":{},"content":{"436":{},"452":{},"528":{},"632":{},"634":{},"762":{},"796":{},"850":{},"904":{},"933":{},"934":{},"952":{},"982":{},"986":{},"1012":{},"1029":{},"1030":{},"1032":{},"1041":{}}}],["answer",{"_index":3359,"title":{},"content":{"747":{}}}],["anyon",{"_index":3091,"title":{},"content":{"684":{},"732":{},"767":{},"884":{}}}],["anyth",{"_index":947,"title":{},"content":{"226":{},"428":{},"445":{},"482":{},"550":{}}}],["apdu",{"_index":638,"title":{"216":{}},"content":{"211":{},"214":{},"217":{},"218":{},"219":{}}}],["api",{"_index":623,"title":{"210":{},"644":{}},"content":{"282":{},"289":{},"437":{},"521":{},"623":{},"626":{},"633":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"851":{},"886":{},"890":{},"1018":{},"1031":{},"1032":{},"1048":{},"1049":{}}}],["app",{"_index":540,"title":{"1028":{}},"content":{"201":{},"202":{},"203":{},"210":{},"235":{},"732":{},"882":{},"884":{},"904":{},"1018":{},"1029":{},"1032":{}}}],["appear",{"_index":407,"title":{},"content":{"122":{},"155":{},"168":{},"176":{},"194":{},"732":{},"733":{},"895":{},"919":{},"921":{}}}],["append",{"_index":863,"title":{},"content":{"214":{},"264":{},"277":{},"278":{},"279":{},"281":{},"282":{},"529":{},"530":{},"640":{}}}],["append/2",{"_index":2584,"title":{"529":{}},"content":{}}],["appendix",{"_index":2198,"title":{"445":{}},"content":{"442":{},"455":{},"457":{},"459":{},"507":{},"509":{}}}],["appli",{"_index":849,"title":{},"content":{"214":{},"282":{},"321":{},"322":{},"455":{},"554":{},"777":{},"780":{},"784":{},"785":{},"788":{},"789":{},"801":{},"859":{},"860":{},"931":{},"932":{}}}],["applic",{"_index":531,"title":{"210":{},"775":{},"916":{},"963":{},"1031":{}},"content":{"201":{},"211":{},"221":{},"222":{},"239":{},"279":{},"283":{},"291":{},"320":{},"322":{},"357":{},"366":{},"371":{},"416":{},"418":{},"447":{},"606":{},"637":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"699":{},"700":{},"714":{},"716":{},"732":{},"735":{},"743":{},"769":{},"775":{},"785":{},"811":{},"870":{},"882":{},"886":{},"893":{},"896":{},"897":{},"898":{},"900":{},"911":{},"914":{},"916":{},"926":{},"927":{},"946":{},"961":{},"963":{},"974":{},"1001":{},"1002":{},"1018":{},"1029":{},"1031":{},"1032":{},"1036":{},"1046":{},"1048":{},"1049":{}}}],["application'",{"_index":3982,"title":{},"content":{"922":{}}}],["application(i",{"_index":958,"title":{},"content":{"227":{}}}],["appnam",{"_index":662,"title":{},"content":{"211":{}}}],["approach",{"_index":1528,"title":{"279":{}},"content":{"278":{},"281":{},"283":{},"352":{},"764":{},"793":{},"872":{},"908":{},"1000":{},"1029":{}}}],["appropri",{"_index":1902,"title":{},"content":{"371":{},"637":{},"914":{},"961":{}}}],["approv",{"_index":130,"title":{"344":{}},"content":{"25":{},"214":{},"266":{},"320":{},"344":{},"789":{},"859":{},"860":{},"982":{},"991":{},"994":{},"998":{}}}],["approx",{"_index":3727,"title":{},"content":{"834":{}}}],["approxim",{"_index":2728,"title":{},"content":{"568":{}}}],["appup",{"_index":1649,"title":{},"content":{"320":{}}}],["appvers",{"_index":654,"title":{},"content":{"211":{}}}],["appversion[0",{"_index":660,"title":{},"content":{"211":{}}}],["appwallet.h",{"_index":3301,"title":{},"content":{"735":{}}}],["appwallet.lock",{"_index":3302,"title":{},"content":{"735":{}}}],["apr",{"_index":3237,"title":{"726":{},"955":{},"957":{}},"content":{"957":{},"965":{},"968":{},"974":{},"977":{},"978":{},"984":{},"987":{},"988":{}}}],["arbitrageur",{"_index":4174,"title":{},"content":{"1001":{}}}],["arch",{"_index":1708,"title":{"746":{}},"content":{"327":{},"335":{},"448":{},"743":{},"745":{},"746":{},"747":{},"774":{},"801":{},"814":{},"880":{}}}],["arch_address",{"_index":879,"title":{},"content":{"218":{},"224":{}}}],["archet",{"_index":4200,"title":{},"content":{"1040":{}}}],["archeth",{"_index":279,"title":{"213":{},"218":{},"672":{},"673":{},"674":{},"676":{},"677":{},"690":{},"692":{},"695":{},"696":{},"698":{},"699":{},"708":{},"709":{},"712":{},"717":{},"721":{},"722":{},"725":{},"729":{},"732":{},"733":{},"735":{},"738":{},"743":{},"762":{},"764":{},"812":{},"877":{},"905":{},"909":{},"910":{},"941":{},"948":{},"949":{},"1026":{},"1033":{}},"content":{"73":{},"125":{},"130":{},"143":{},"149":{},"152":{},"168":{},"194":{},"201":{},"202":{},"203":{},"210":{},"213":{},"214":{},"218":{},"220":{},"223":{},"224":{},"226":{},"228":{},"236":{},"237":{},"238":{},"242":{},"250":{},"258":{},"275":{},"291":{},"299":{},"303":{},"316":{},"320":{},"321":{},"322":{},"334":{},"349":{},"350":{},"352":{},"354":{},"356":{},"357":{},"358":{},"361":{},"362":{},"365":{},"371":{},"416":{},"418":{},"419":{},"420":{},"421":{},"426":{},"435":{},"447":{},"448":{},"449":{},"450":{},"451":{},"468":{},"472":{},"477":{},"521":{},"586":{},"596":{},"599":{},"603":{},"604":{},"623":{},"625":{},"650":{},"651":{},"652":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"681":{},"682":{},"683":{},"684":{},"685":{},"692":{},"695":{},"698":{},"699":{},"701":{},"708":{},"709":{},"712":{},"714":{},"717":{},"723":{},"724":{},"725":{},"729":{},"732":{},"733":{},"735":{},"738":{},"742":{},"743":{},"745":{},"746":{},"747":{},"750":{},"751":{},"753":{},"755":{},"758":{},"762":{},"763":{},"764":{},"766":{},"771":{},"772":{},"773":{},"774":{},"776":{},"777":{},"778":{},"779":{},"784":{},"785":{},"788":{},"789":{},"791":{},"795":{},"797":{},"799":{},"800":{},"803":{},"807":{},"811":{},"817":{},"821":{},"822":{},"826":{},"829":{},"830":{},"832":{},"838":{},"843":{},"844":{},"846":{},"851":{},"869":{},"872":{},"874":{},"877":{},"880":{},"881":{},"882":{},"887":{},"888":{},"890":{},"893":{},"895":{},"896":{},"897":{},"898":{},"900":{},"902":{},"905":{},"908":{},"909":{},"910":{},"914":{},"916":{},"917":{},"918":{},"919":{},"921":{},"924":{},"926":{},"927":{},"941":{},"943":{},"945":{},"948":{},"950":{},"956":{},"961":{},"963":{},"981":{},"982":{},"984":{},"988":{},"990":{},"991":{},"996":{},"997":{},"999":{},"1001":{},"1002":{},"1004":{},"1016":{},"1018":{},"1020":{},"1024":{},"1026":{},"1027":{},"1029":{},"1030":{},"1032":{},"1033":{},"1046":{},"1048":{},"1049":{}}}],["archethic'",{"_index":535,"title":{"220":{},"223":{},"275":{},"651":{},"652":{},"675":{},"705":{},"706":{},"795":{},"908":{},"926":{}},"content":{"201":{},"202":{},"203":{},"226":{},"328":{},"650":{},"651":{},"652":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"695":{},"705":{},"706":{},"708":{},"743":{},"766":{},"768":{},"845":{},"907":{},"908":{},"909":{},"910":{},"914":{},"961":{}}}],["archethic.config.j",{"_index":2813,"title":{},"content":{"596":{},"597":{}}}],["archethic.net",{"_index":560,"title":{},"content":{"201":{}}}],["archethic.oraclechain",{"_index":1783,"title":{},"content":{"350":{}}}],["archethic.oraclechain.service.mynewservic",{"_index":1786,"title":{},"content":{"350":{}}}],["archethic.oraclechain.services.ucopric",{"_index":1784,"title":{},"content":{"350":{}}}],["archethic/a",{"_index":2967,"title":{},"content":{"634":{},"636":{}}}],["archethic_derive_with_seed_key",{"_index":718,"title":{},"content":{"212":{}}}],["archethic_lib_dart",{"_index":1855,"title":{},"content":{"359":{},"372":{},"1033":{}}}],["archethic_nod",{"_index":1660,"title":{},"content":{"321":{},"322":{}}}],["archethic_wallet_cli",{"_index":1856,"title":{},"content":{"359":{},"372":{}}}],["archethiccli",{"_index":1874,"title":{},"content":{"371":{},"416":{},"418":{}}}],["archethicclient.connect",{"_index":1894,"title":{},"content":{"371":{},"416":{},"418":{}}}],["archethicclient.rpcwallet",{"_index":1893,"title":{},"content":{"371":{},"416":{}}}],["archethicclient.rpcwallet.clos",{"_index":1897,"title":{},"content":{"371":{},"416":{},"418":{}}}],["archethicclient.rpcwallet.getcurrentaccount",{"_index":1889,"title":{},"content":{"371":{}}}],["archethicclient.rpcwallet.getendpoint",{"_index":1887,"title":{},"content":{"371":{}}}],["archethicclient.rpcwallet.onconnectionstatechange(async",{"_index":1876,"title":{},"content":{"371":{}}}],["archethicclient.rpcwallet.oncurrentaccountchange(async",{"_index":2023,"title":{},"content":{"418":{}}}],["archethicclient.rpcwallet.unsubscribe(accountsubscript",{"_index":2025,"title":{},"content":{"418":{}}}],["archethicclient.rpcwallet.unsubscribeconnectionstatechang",{"_index":1898,"title":{},"content":{"371":{}}}],["archethicclient.transact",{"_index":1986,"title":{},"content":{"416":{}}}],["archethicdappcli",{"_index":1900,"title":{},"content":{"371":{}}}],["archethicdappclient.auto",{"_index":1912,"title":{},"content":{"371":{},"416":{},"418":{}}}],["archethicdappclient.messagechannel",{"_index":1906,"title":{},"content":{"371":{}}}],["archethicdappclient.websocket",{"_index":1907,"title":{},"content":{"371":{}}}],["archethicindex",{"_index":1429,"title":{"299":{},"315":{}},"content":{"299":{},"302":{},"303":{},"311":{},"313":{},"315":{}}}],["archethicjs/a",{"_index":2767,"title":{},"content":{"591":{},"592":{},"596":{},"597":{},"633":{}}}],["archethicjs/cr",{"_index":2753,"title":{},"content":{"587":{},"589":{},"627":{}}}],["archethicjs/sdk",{"_index":1858,"title":{},"content":{"359":{},"371":{},"372":{},"416":{},"418":{},"596":{}}}],["archethicwalletcli",{"_index":1871,"title":{},"content":{"371":{}}}],["archethic’",{"_index":2880,"title":{},"content":{"608":{}}}],["archiv",{"_index":3926,"title":{},"content":{"895":{},"896":{},"901":{}}}],["area",{"_index":3566,"title":{},"content":{"788":{}}}],["areaes_key",{"_index":779,"title":{},"content":{"213":{},"214":{}}}],["aren't",{"_index":2177,"title":{},"content":{"436":{},"833":{}}}],["aresam",{"_index":3002,"title":{},"content":{"636":{}}}],["arg",{"_index":234,"title":{},"content":{"55":{},"180":{},"479":{},"619":{},"633":{},"634":{}}}],["arg1",{"_index":2188,"title":{},"content":{"438":{}}}],["arg2",{"_index":2185,"title":{},"content":{"438":{}}}],["argument",{"_index":5,"title":{"3":{},"5":{},"112":{},"115":{},"118":{},"121":{},"124":{},"129":{},"134":{},"137":{},"142":{},"145":{},"148":{},"151":{},"199":{},"208":{},"443":{}},"content":{"2":{},"4":{},"436":{},"443":{},"453":{},"454":{},"464":{},"465":{},"479":{},"492":{},"494":{},"495":{},"581":{},"591":{},"632":{},"633":{},"637":{}}}],["arithemet",{"_index":1640,"title":{},"content":{"319":{}}}],["arithmet",{"_index":2132,"title":{"429":{}},"content":{"429":{},"637":{}}}],["ariti",{"_index":2360,"title":{"465":{}},"content":{"465":{}}}],["around",{"_index":1750,"title":{},"content":{"334":{},"780":{},"851":{},"881":{},"965":{}}}],["arriv",{"_index":1158,"title":{},"content":{"256":{},"746":{},"748":{}}}],["arrow",{"_index":3283,"title":{},"content":{"733":{},"929":{}}}],["arsèn",{"_index":2720,"title":{},"content":{"575":{}}}],["articl",{"_index":4309,"title":{},"content":{"1032":{}}}],["as/assembl",{"_index":2768,"title":{},"content":{"591":{},"634":{},"636":{}}}],["asc",{"_index":38,"title":{},"content":{"9":{},"532":{},"533":{}}}],["ascend",{"_index":41,"title":{},"content":{"10":{}}}],["ascii",{"_index":2124,"title":{"427":{}},"content":{}}],["asconfig.json",{"_index":2759,"title":{},"content":{"587":{},"589":{}}}],["ask",{"_index":1586,"title":{},"content":{"282":{},"910":{},"1047":{}}}],["asn",{"_index":882,"title":{},"content":{"219":{},"264":{},"265":{},"266":{},"273":{},"844":{}}}],["asn1",{"_index":1216,"title":{},"content":{"264":{}}}],["asn_der_sign",{"_index":815,"title":{},"content":{"214":{}}}],["asn_sign",{"_index":854,"title":{},"content":{"214":{}}}],["asnsigns",{"_index":1230,"title":{"265":{}},"content":{}}],["aspect",{"_index":1811,"title":{},"content":{"354":{},"878":{}}}],["assembl",{"_index":2755,"title":{},"content":{"587":{},"589":{}}}],["assembly/counter.t",{"_index":3016,"title":{},"content":{"637":{}}}],["assembly/index.t",{"_index":2763,"title":{},"content":{"591":{},"629":{},"631":{},"632":{},"637":{}}}],["assemblyscript",{"_index":2751,"title":{"625":{},"678":{}},"content":{"587":{},"589":{},"591":{},"625":{},"626":{},"637":{},"678":{}}}],["assert",{"_index":1104,"title":{},"content":{"242":{},"253":{},"323":{},"328":{},"329":{},"338":{},"340":{},"341":{},"342":{},"343":{},"348":{},"608":{},"635":{},"637":{},"709":{},"875":{},"910":{}}}],["assert(name.length",{"_index":3023,"title":{},"content":{"637":{}}}],["assert(response.statu",{"_index":2990,"title":{},"content":{"634":{}}}],["assert(state.count",{"_index":2996,"title":{},"content":{"635":{}}}],["assess",{"_index":4051,"title":{},"content":{"957":{},"984":{}}}],["asset",{"_index":101,"title":{"918":{}},"content":{"22":{},"28":{},"40":{},"70":{},"79":{},"86":{},"98":{},"102":{},"119":{},"146":{},"201":{},"242":{},"340":{},"421":{},"600":{},"695":{},"705":{},"848":{},"905":{},"907":{},"909":{},"910":{},"914":{},"943":{},"944":{},"957":{},"959":{},"961":{},"964":{},"970":{},"986":{},"1000":{},"1005":{},"1013":{},"1014":{},"1016":{},"1017":{},"1026":{}}}],["assets/app.css",{"_index":3911,"title":{},"content":{"889":{}}}],["assets/image.jpg",{"_index":3912,"title":{},"content":{"889":{}}}],["assign",{"_index":1347,"title":{},"content":{"268":{},"273":{},"274":{},"432":{},"632":{}}}],["assist",{"_index":3224,"title":{},"content":{"724":{}}}],["associ",{"_index":1254,"title":{},"content":{"266":{},"441":{},"615":{},"741":{},"750":{},"769":{},"772":{},"777":{},"790":{},"814":{},"819":{},"841":{},"876":{},"895":{},"896":{},"897":{},"898":{},"938":{},"977":{},"981":{},"988":{},"990":{},"997":{},"1032":{}}}],["assum",{"_index":575,"title":{},"content":{"202":{},"455":{},"633":{}}}],["assumpt",{"_index":3544,"title":{},"content":{"780":{}}}],["assur",{"_index":3209,"title":{},"content":{"717":{},"819":{}}}],["ast",{"_index":2440,"title":{},"content":{"476":{}}}],["async",{"_index":677,"title":{},"content":{"212":{},"371":{},"416":{},"418":{},"592":{},"593":{},"594":{},"595":{},"596":{},"597":{}}}],["asynchron",{"_index":3326,"title":{},"content":{"744":{},"814":{},"836":{}}}],["at/2",{"_index":2562,"title":{"524":{}},"content":{}}],["ath",{"_index":2213,"title":{},"content":{"444":{}}}],["atom",{"_index":1722,"title":{"747":{}},"content":{"333":{},"448":{},"521":{},"623":{},"695":{},"705":{},"706":{},"708":{},"743":{},"745":{},"746":{},"747":{},"749":{},"801":{},"814":{},"838":{},"905":{},"907":{},"908":{}}}],["attack",{"_index":3233,"title":{},"content":{"725":{},"747":{},"761":{},"811":{},"959":{}}}],["attempt",{"_index":1860,"title":{},"content":{"371":{},"416":{},"418":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"686":{}}}],["attest",{"_index":304,"title":{"833":{}},"content":{"76":{},"200":{},"253":{},"297":{},"804":{},"834":{},"837":{}}}],["attract",{"_index":4113,"title":{},"content":{"974":{},"984":{}}}],["attribut",{"_index":1245,"title":{"424":{}},"content":{"266":{},"423":{},"424":{},"1030":{}}}],["audit",{"_index":584,"title":{"703":{},"912":{}},"content":{"203":{},"703":{},"789":{},"912":{},"959":{},"960":{}}}],["auth",{"_index":4285,"title":{},"content":{"1031":{}}}],["auth_key",{"_index":785,"title":{},"content":{"213":{},"214":{},"228":{}}}],["auth_se",{"_index":783,"title":{},"content":{"213":{},"214":{},"228":{}}}],["auth_tag",{"_index":769,"title":{},"content":{"213":{},"214":{},"228":{}}}],["authent",{"_index":1395,"title":{},"content":{"294":{},"750":{},"767":{},"770":{},"771":{},"797":{},"814":{},"815":{},"882":{},"901":{},"1029":{},"1031":{},"1032":{}}}],["authenticateyk",{"_index":1392,"title":{"294":{}},"content":{}}],["authentif",{"_index":4290,"title":{},"content":{"1032":{}}}],["author",{"_index":47,"title":{"369":{}},"content":{"12":{},"28":{},"43":{},"52":{},"58":{},"61":{},"138":{},"140":{},"220":{},"221":{},"222":{},"223":{},"228":{},"233":{},"260":{},"266":{},"338":{},"339":{},"365":{},"369":{},"448":{},"474":{},"487":{},"597":{},"650":{},"651":{},"652":{},"748":{},"750":{},"766":{},"768":{},"770":{},"791":{},"814":{},"841":{},"863":{},"932":{}}}],["authorit",{"_index":3772,"title":{},"content":{"839":{}}}],["authorization/deleg",{"_index":149,"title":{},"content":{"28":{},"61":{},"138":{}}}],["authorizationd",{"_index":193,"title":{},"content":{"43":{}}}],["authorized_key",{"_index":2319,"title":{},"content":{"470":{},"471":{},"487":{}}}],["authorized_public_key",{"_index":2350,"title":{},"content":{"474":{}}}],["authorizedkey",{"_index":46,"title":{"12":{}},"content":{"12":{},"52":{},"53":{},"167":{},"177":{},"633":{}}}],["authorizedkey.encryptedsecretkey",{"_index":59,"title":{},"content":{"13":{}}}],["authorizedkey.publickey",{"_index":60,"title":{},"content":{"13":{}}}],["authorizedpublickey",{"_index":230,"title":{},"content":{"52":{}}}],["authpolici",{"_index":1280,"title":{},"content":{"266":{}}}],["authvalu",{"_index":1271,"title":{},"content":{"266":{}}}],["auto",{"_index":3574,"title":{},"content":{"802":{},"1032":{}}}],["autolock",{"_index":4294,"title":{},"content":{"1032":{}}}],["autom",{"_index":1645,"title":{"887":{},"1005":{}},"content":{"320":{},"608":{},"785":{},"789":{},"886":{},"887":{},"943":{},"952":{},"1005":{},"1016":{}}}],["automat",{"_index":1656,"title":{},"content":{"320":{},"447":{},"453":{},"454":{},"455":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"789":{},"919":{},"921":{},"929":{},"932":{},"936":{},"945":{},"970":{},"981":{},"990":{},"997":{},"1017":{},"1037":{}}}],["autonom",{"_index":2046,"title":{"448":{}},"content":{"447":{},"448":{},"745":{},"785":{},"820":{}}}],["autor",{"_index":4000,"title":{},"content":{"932":{}}}],["avail",{"_index":194,"title":{"255":{},"368":{},"699":{},"722":{},"978":{},"986":{}},"content":{"43":{},"243":{},"246":{},"251":{},"256":{},"257":{},"286":{},"339":{},"365":{},"367":{},"368":{},"371":{},"373":{},"380":{},"416":{},"419":{},"420":{},"421":{},"436":{},"438":{},"442":{},"446":{},"466":{},"580":{},"581":{},"584":{},"602":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"690":{},"703":{},"714":{},"717":{},"722":{},"738":{},"746":{},"747":{},"748":{},"779":{},"793":{},"796":{},"798":{},"807":{},"820":{},"824":{},"825":{},"833":{},"834":{},"846":{},"849":{},"877":{},"880":{},"881":{},"899":{},"902":{},"912":{},"914":{},"919":{},"922":{},"926":{},"941":{},"945":{},"970":{},"974":{},"977":{},"978":{},"984":{},"986":{},"990":{},"993":{},"997":{},"1012":{},"1032":{},"1033":{},"1047":{},"1048":{},"1049":{}}}],["availability/lat",{"_index":3600,"title":{},"content":{"798":{}}}],["availabilityaddingtim",{"_index":79,"title":{},"content":{"19":{}}}],["averag",{"_index":1169,"title":{},"content":{"257":{},"317":{},"365":{},"367":{}}}],["averageavail",{"_index":195,"title":{},"content":{"43":{}}}],["aviat",{"_index":3500,"title":{},"content":{"774":{}}}],["avoid",{"_index":892,"title":{},"content":{"220":{},"275":{},"278":{},"279":{},"281":{},"283":{},"346":{},"584":{},"637":{},"718":{},"766":{},"770":{},"791":{},"877":{},"901":{},"1047":{},"1048":{}}}],["avro",{"_index":1808,"title":{},"content":{"354":{}}}],["await",{"_index":1886,"title":{},"content":{"371":{},"416":{},"418":{},"592":{},"593":{},"594":{},"595":{},"596":{},"597":{}}}],["awar",{"_index":3277,"title":{},"content":{"733":{},"803":{},"957":{},"997":{}}}],["award",{"_index":4110,"title":{},"content":{"974":{}}}],["away",{"_index":3760,"title":{},"content":{"848":{}}}],["awc",{"_index":4323,"title":{},"content":{"1048":{},"1049":{}}}],["awri",{"_index":1068,"title":{},"content":{"239":{}}}],["b",{"_index":1503,"title":{},"content":{"276":{},"436":{},"524":{},"637":{},"1022":{}}}],["b298kjkfs98dj7xdnsq",{"_index":3908,"title":{},"content":{"889":{}}}],["back",{"_index":859,"title":{"985":{}},"content":{"214":{},"239":{},"353":{},"732":{},"882":{},"890":{},"935":{},"974":{},"977":{},"978":{},"986":{},"993":{}}}],["backbon",{"_index":4058,"title":{},"content":{"959":{},"1002":{}}}],["backend",{"_index":555,"title":{},"content":{"201":{},"882":{}}}],["background",{"_index":3245,"title":{},"content":{"738":{}}}],["backpressur",{"_index":1562,"title":{},"content":{"281":{}}}],["backup",{"_index":1514,"title":{},"content":{"277":{},"279":{},"282":{}}}],["backward",{"_index":1955,"title":{},"content":{"384":{},"405":{},"755":{}}}],["bad",{"_index":3436,"title":{},"content":{"762":{}}}],["balanc",{"_index":62,"title":{"15":{},"111":{},"975":{}},"content":{"15":{},"17":{},"64":{},"66":{},"73":{},"74":{},"111":{},"113":{},"157":{},"171":{},"242":{},"243":{},"246":{},"333":{},"412":{},"511":{},"514":{},"515":{},"516":{},"594":{},"595":{},"601":{},"611":{},"634":{},"637":{},"750":{},"823":{},"975":{},"977":{},"978":{},"981":{},"982":{},"990":{},"991":{},"994":{},"997":{},"998":{},"1022":{},"1032":{},"1045":{}}}],["balance.address",{"_index":396,"title":{},"content":{"112":{}}}],["balance.token",{"_index":68,"title":{},"content":{"16":{}}}],["balance.token.length",{"_index":2970,"title":{},"content":{"634":{}}}],["balance.token[i].amount",{"_index":2974,"title":{},"content":{"634":{}}}],["balance.token[i].tokenaddress",{"_index":2972,"title":{},"content":{"634":{}}}],["balance.uco",{"_index":70,"title":{},"content":{"16":{},"511":{},"634":{}}}],["ban",{"_index":3422,"title":{},"content":{"762":{}}}],["bandwidth",{"_index":1806,"title":{},"content":{"354":{},"793":{},"799":{},"824":{},"825":{}}}],["banish",{"_index":3367,"title":{},"content":{"747":{},"762":{}}}],["bar",{"_index":2552,"title":{},"content":{"550":{},"551":{},"566":{}}}],["base",{"_index":492,"title":{"968":{}},"content":{"201":{},"202":{},"227":{},"241":{},"251":{},"261":{},"317":{},"335":{},"346":{},"362":{},"365":{},"425":{},"447":{},"448":{},"469":{},"524":{},"536":{},"537":{},"630":{},"686":{},"726":{},"738":{},"745":{},"746":{},"747":{},"748":{},"754":{},"758":{},"763":{},"764":{},"774":{},"777":{},"778":{},"779":{},"780":{},"784":{},"785":{},"797":{},"811":{},"820":{},"828":{},"829":{},"831":{},"855":{},"869":{},"870":{},"881":{},"910":{},"929":{},"960":{},"970":{},"978":{},"984":{},"986":{},"990":{},"993":{},"997":{},"1001":{},"1008":{},"1021":{},"1029":{},"1033":{}}}],["base16",{"_index":410,"title":{},"content":{"122":{},"155":{},"168":{},"176":{},"194":{}}}],["base64",{"_index":3754,"title":{},"content":{"848":{},"850":{},"889":{},"1032":{}}}],["basi",{"_index":4101,"title":{},"content":{"974":{},"977":{}}}],["basic",{"_index":496,"title":{"425":{}},"content":{"201":{},"686":{},"827":{},"1002":{}}}],["baz(uint,address",{"_index":2511,"title":{},"content":{"500":{},"501":{}}}],["be",{"_index":908,"title":{},"content":{"222":{},"282":{},"283":{},"286":{},"495":{},"521":{},"623":{},"767":{},"770":{},"785":{},"828":{},"880":{},"881":{},"882":{},"895":{}}}],["beacon",{"_index":73,"title":{"798":{},"821":{},"826":{}},"content":{"19":{},"114":{},"116":{},"251":{},"252":{},"255":{},"256":{},"286":{},"332":{},"749":{},"782":{},"795":{},"819":{},"821":{},"822":{},"823":{},"824":{},"825":{},"827":{},"828":{},"829":{},"831":{},"832":{},"833":{},"834":{}}}],["beaconchain",{"_index":1120,"title":{"250":{}},"content":{"250":{},"251":{},"252":{},"253":{},"257":{},"282":{},"365":{},"798":{},"801":{},"808":{},"819":{},"826":{},"832":{}}}],["beaconchainsummari",{"_index":72,"title":{"19":{},"114":{}},"content":{"19":{},"21":{},"91":{},"114":{},"116":{},"171":{},"175":{},"189":{}}}],["beaconchainsummary.availabilityaddingtim",{"_index":89,"title":{},"content":{"20":{}}}],["beaconchainsummary.p2pavail",{"_index":90,"title":{},"content":{"20":{}}}],["beaconchainsummary.summarytim",{"_index":91,"title":{},"content":{"20":{}}}],["beaconchainsummary.timestamp",{"_index":399,"title":{},"content":{"115":{}}}],["beaconchainsummary.transactionsummari",{"_index":92,"title":{},"content":{"20":{}}}],["beaconchainsummary.transactionsummaries.limit",{"_index":93,"title":{},"content":{"20":{}}}],["beaconchainsummary.transactionsummaries.pagingoffset",{"_index":94,"title":{},"content":{"20":{}}}],["beaconchainsummary.vers",{"_index":95,"title":{},"content":{"20":{}}}],["beauti",{"_index":3840,"title":{},"content":{"882":{}}}],["becom",{"_index":899,"title":{},"content":{"221":{},"330":{},"637":{},"817":{},"839":{},"889":{},"1046":{}}}],["befor",{"_index":588,"title":{},"content":{"203":{},"229":{},"235":{},"253":{},"256":{},"281":{},"321":{},"338":{},"356":{},"371":{},"416":{},"418":{},"444":{},"446":{},"452":{},"456":{},"580":{},"581":{},"587":{},"746":{},"758":{},"815":{},"834":{},"859":{},"875":{},"893":{},"914":{},"919":{},"944":{},"961":{},"977":{},"981":{},"982":{},"990":{},"991":{},"993":{},"994":{},"997":{},"998":{},"1029":{},"1031":{},"1041":{}}}],["begin",{"_index":1724,"title":{},"content":{"335":{},"732":{},"789":{},"889":{},"909":{},"915":{},"962":{},"967":{},"990":{},"993":{},"997":{}}}],["beginn",{"_index":4024,"title":{},"content":{"945":{}}}],["behalf",{"_index":2056,"title":{},"content":{"448":{}}}],["behav",{"_index":2875,"title":{},"content":{"608":{},"637":{},"801":{}}}],["behavior",{"_index":1197,"title":{"348":{}},"content":{"288":{},"289":{},"348":{},"349":{},"424":{},"448":{},"637":{},"801":{},"959":{}}}],["behaviour",{"_index":1604,"title":{},"content":{"283":{},"891":{}}}],["behind",{"_index":1449,"title":{},"content":{"305":{},"306":{},"511":{},"789":{},"832":{}}}],["believ",{"_index":3517,"title":{},"content":{"776":{}}}],["below",{"_index":1770,"title":{},"content":{"346":{},"358":{},"827":{},"841":{}}}],["benchmark",{"_index":1484,"title":{},"content":{"276":{},"321":{}}}],["benefit",{"_index":4040,"title":{},"content":{"956":{},"1018":{}}}],["best",{"_index":1084,"title":{"637":{}},"content":{"239":{},"240":{},"333":{},"352":{},"779":{},"820":{},"945":{},"960":{}}}],["beta",{"_index":3931,"title":{},"content":{"895":{}}}],["better",{"_index":312,"title":{"697":{}},"content":{"76":{},"200":{},"239":{},"241":{},"279":{},"319":{},"345":{},"637":{},"738":{},"823":{},"827":{},"968":{}}}],["between",{"_index":458,"title":{},"content":{"170":{},"201":{},"206":{},"236":{},"320":{},"329":{},"353":{},"445":{},"604":{},"605":{},"609":{},"695":{},"697":{},"698":{},"711":{},"728":{},"745":{},"748":{},"823":{},"829":{},"874":{},"896":{},"907":{},"917":{},"945":{},"974":{},"982":{},"991":{},"1009":{},"1011":{},"1018":{},"1046":{},"1048":{},"1049":{}}}],["beyond",{"_index":3497,"title":{},"content":{"774":{},"780":{},"978":{},"1031":{}}}],["bia",{"_index":3120,"title":{},"content":{"686":{}}}],["big",{"_index":829,"title":{},"content":{"214":{},"319":{},"637":{},"766":{},"889":{}}}],["bigger",{"_index":3589,"title":{},"content":{"794":{}}}],["biggest",{"_index":3559,"title":{},"content":{"785":{}}}],["bigint",{"_index":2957,"title":{},"content":{"633":{}}}],["billion",{"_index":3319,"title":{},"content":{"743":{},"744":{},"774":{}}}],["binari",{"_index":414,"title":{"354":{},"636":{}},"content":{"122":{},"155":{},"168":{},"176":{},"194":{},"229":{},"281":{},"352":{},"354":{},"496":{},"606":{},"636":{},"640":{},"825":{},"927":{}}}],["biometr",{"_index":2322,"title":{"815":{}},"content":{"470":{},"732":{},"750":{},"754":{},"767":{},"770":{},"776":{},"811":{},"815":{},"1026":{},"1032":{}}}],["bip32",{"_index":937,"title":{},"content":{"226":{},"227":{}}}],["bip32/bip44",{"_index":940,"title":{},"content":{"226":{}}}],["bip39",{"_index":4275,"title":{},"content":{"1030":{}}}],["bip39_mnemon",{"_index":4281,"title":{},"content":{"1030":{}}}],["bip43",{"_index":943,"title":{},"content":{"226":{}}}],["bip44",{"_index":739,"title":{},"content":{"213":{},"214":{},"218":{},"219":{},"772":{}}}],["bip44path",{"_index":797,"title":{},"content":{"213":{},"214":{}}}],["bip44pathlen",{"_index":801,"title":{},"content":{"213":{},"214":{}}}],["bit",{"_index":954,"title":{},"content":{"227":{},"282":{},"354":{},"801":{},"1032":{}}}],["bitcask",{"_index":1524,"title":{},"content":{"278":{}}}],["bitcoin",{"_index":489,"title":{},"content":{"201":{},"772":{},"774":{}}}],["bitfield",{"_index":3733,"title":{},"content":{"837":{}}}],["bitstr",{"_index":1812,"title":{},"content":{"354":{}}}],["black",{"_index":3289,"title":{"735":{}},"content":{}}],["blake2b",{"_index":1000,"title":{},"content":{"232":{},"493":{},"772":{}}}],["blob",{"_index":3897,"title":{},"content":{"889":{}}}],["block",{"_index":228,"title":{"441":{},"452":{}},"content":{"52":{},"278":{},"353":{},"423":{},"432":{},"436":{},"437":{},"441":{},"442":{},"443":{},"444":{},"452":{},"454":{},"455":{},"457":{},"459":{},"466":{},"469":{},"470":{},"471":{},"472":{},"473":{},"580":{},"581":{},"584":{},"712":{},"729":{},"744":{},"745":{},"750":{},"838":{}}}],["blockag",{"_index":3553,"title":{},"content":{"783":{}}}],["blockchain",{"_index":482,"title":{"595":{},"690":{},"697":{},"698":{},"717":{},"732":{},"814":{},"1033":{}},"content":{"201":{},"220":{},"223":{},"226":{},"228":{},"238":{},"239":{},"320":{},"352":{},"356":{},"357":{},"419":{},"420":{},"421":{},"426":{},"447":{},"466":{},"468":{},"517":{},"592":{},"604":{},"610":{},"625":{},"626":{},"634":{},"650":{},"651":{},"652":{},"695":{},"697":{},"698":{},"700":{},"703":{},"706":{},"708":{},"709":{},"733":{},"738":{},"739":{},"741":{},"742":{},"743":{},"744":{},"745":{},"746":{},"747":{},"750":{},"762":{},"767":{},"775":{},"777":{},"779":{},"785":{},"788":{},"789":{},"800":{},"803":{},"807":{},"814":{},"817":{},"821":{},"822":{},"826":{},"830":{},"869":{},"874":{},"880":{},"881":{},"882":{},"886":{},"888":{},"890":{},"892":{},"893":{},"895":{},"896":{},"897":{},"898":{},"899":{},"902":{},"905":{},"908":{},"909":{},"910":{},"912":{},"917":{},"919":{},"925":{},"926":{},"943":{},"944":{},"945":{},"959":{},"974":{},"981":{},"982":{},"985":{},"990":{},"991":{},"994":{},"997":{},"998":{},"999":{},"1001":{},"1004":{},"1016":{},"1018":{},"1020":{},"1024":{},"1026":{},"1031":{},"1032":{},"1033":{},"1046":{},"1048":{},"1049":{}}}],["blockchain'",{"_index":3561,"title":{},"content":{"785":{},"1002":{}}}],["blockchain/ecosystem",{"_index":3441,"title":{"764":{}},"content":{}}],["bloom",{"_index":1618,"title":{},"content":{"284":{},"285":{}}}],["bnb",{"_index":3149,"title":{},"content":{"695":{},"738":{}}}],["bodi",{"_index":2519,"title":{},"content":{"520":{},"521":{},"522":{},"623":{},"624":{},"634":{},"944":{}}}],["body'",{"_index":2525,"title":{},"content":{"521":{},"623":{}}}],["bolo",{"_index":530,"title":{},"content":{"201":{},"203":{},"210":{}}}],["book",{"_index":4181,"title":{},"content":{"1005":{}}}],["bool",{"_index":1366,"title":{"273":{},"292":{}},"content":{}}],["boolean",{"_index":7,"title":{"160":{},"453":{}},"content":{"2":{},"3":{},"4":{},"5":{},"43":{},"44":{},"79":{},"80":{},"160":{},"384":{},"408":{},"425":{},"452":{},"453":{},"454":{},"457":{},"459":{},"607":{}}}],["boost",{"_index":4078,"title":{},"content":{"965":{}}}],["boot",{"_index":3409,"title":{},"content":{"761":{}}}],["bootstrap",{"_index":1118,"title":{"258":{},"260":{},"261":{},"803":{}},"content":{"249":{},"258":{},"260":{},"261":{},"286":{},"345":{},"366":{},"803":{},"804":{},"807":{}}}],["both",{"_index":652,"title":{},"content":{"211":{},"282":{},"632":{},"708":{},"709":{},"744":{},"763":{},"776":{},"907":{},"909":{},"910":{},"918":{},"919":{},"945":{},"970":{},"976":{},"1032":{},"1041":{}}}],["bottleneckarcheth",{"_index":3342,"title":{},"content":{"745":{}}}],["boundari",{"_index":1574,"title":{},"content":{"281":{}}}],["bounti",{"_index":4066,"title":{},"content":{"960":{}}}],["box",{"_index":1080,"title":{},"content":{"239":{},"907":{},"1031":{}}}],["bracket",{"_index":2167,"title":{},"content":{"434":{}}}],["branch",{"_index":1650,"title":{},"content":{"320":{},"322":{},"686":{},"744":{},"764":{}}}],["brand",{"_index":1787,"title":{},"content":{"352":{}}}],["brave",{"_index":1933,"title":{"712":{},"729":{}},"content":{"362":{},"712":{},"729":{}}}],["break",{"_index":1880,"title":{},"content":{"371":{},"424":{},"754":{}}}],["breakdown",{"_index":4041,"title":{"966":{}},"content":{"956":{},"976":{}}}],["bridg",{"_index":545,"title":{"674":{},"695":{},"696":{},"697":{},"698":{},"699":{},"703":{},"705":{},"707":{},"708":{},"709":{},"717":{},"718":{},"905":{},"918":{},"949":{}},"content":{"201":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"695":{},"696":{},"698":{},"699":{},"705":{},"708":{},"709":{},"714":{},"717":{},"718":{},"738":{},"905":{},"907":{},"909":{},"910":{},"914":{},"915":{},"917":{},"918":{},"919":{},"921":{},"948":{},"1027":{}}}],["bridge'",{"_index":3954,"title":{},"content":{"909":{}}}],["briefli",{"_index":1935,"title":{},"content":{"363":{}}}],["bring",{"_index":1544,"title":{},"content":{"279":{},"447":{}}}],["broad",{"_index":3105,"title":{},"content":{"686":{}}}],["broadcast",{"_index":3586,"title":{"794":{}},"content":{"794":{},"798":{},"833":{}}}],["broader",{"_index":3164,"title":{},"content":{"695":{}}}],["brought",{"_index":1936,"title":{},"content":{"363":{},"766":{}}}],["brows",{"_index":3075,"title":{},"content":{"601":{},"1032":{}}}],["browser",{"_index":1848,"title":{"362":{},"712":{},"724":{},"729":{}},"content":{"358":{},"362":{},"724":{},"874":{},"880":{},"888":{},"890":{},"914":{},"961":{}}}],["browser'",{"_index":3983,"title":{},"content":{"922":{}}}],["browser’",{"_index":3198,"title":{},"content":{"712":{},"729":{}}}],["bsc",{"_index":3152,"title":{},"content":{"695":{},"697":{},"739":{},"741":{},"905":{}}}],["buck",{"_index":3833,"title":{},"content":{"881":{}}}],["buffer",{"_index":648,"title":{},"content":{"211":{},"213":{},"214":{},"266":{}}}],["bug",{"_index":4065,"title":{},"content":{"960":{}}}],["build",{"_index":891,"title":{"640":{},"811":{},"889":{},"929":{}},"content":{"220":{},"222":{},"239":{},"249":{},"322":{},"341":{},"421":{},"599":{},"600":{},"626":{},"640":{},"641":{},"650":{},"651":{},"652":{},"685":{},"743":{},"749":{},"754":{},"768":{},"882":{},"888":{},"927":{},"1002":{},"1018":{},"1036":{}}}],["builder",{"_index":2947,"title":{"633":{}},"content":{"633":{}}}],["built",{"_index":1475,"title":{},"content":{"275":{},"282":{},"334":{},"626":{},"743":{},"893":{},"902":{},"914":{},"945":{},"961":{},"965":{},"999":{},"1004":{},"1016":{},"1036":{}}}],["burn",{"_index":2382,"title":{},"content":{"506":{},"634":{},"725":{},"738":{},"779":{},"856":{},"993":{}}}],["burnt",{"_index":3960,"title":{},"content":{"910":{}}}],["busi",{"_index":3848,"title":{},"content":{"882":{}}}],["button",{"_index":3205,"title":{},"content":{"714":{},"733":{},"900":{},"915":{},"929":{},"930":{},"932":{},"935":{},"937":{},"938":{},"940":{},"962":{},"973":{},"974":{},"977":{},"980":{},"982":{},"990":{},"991":{},"993":{},"994":{},"997":{},"998":{}}}],["buy",{"_index":4254,"title":{},"content":{"1027":{}}}],["byte",{"_index":455,"title":{"265":{},"273":{},"274":{}},"content":{"168":{},"194":{},"212":{},"213":{},"214":{},"217":{},"218":{},"219":{},"227":{},"228":{},"230":{},"231":{},"232":{},"235":{},"236":{},"265":{},"266":{},"273":{},"281":{},"282":{},"354":{},"756":{},"757":{},"758":{},"780":{},"830":{},"1032":{}}}],["c",{"_index":533,"title":{"240":{}},"content":{"201":{},"238":{},"240":{},"318":{},"319":{},"524":{}}}],["c:\\users{user}\\appdata\\roaming{yourapporgan",{"_index":3315,"title":{},"content":{"735":{}}}],["ca",{"_index":1283,"title":{},"content":{"266":{}}}],["cach",{"_index":1147,"title":{},"content":{"253":{},"282":{},"319":{},"345":{},"366":{},"890":{},"922":{}}}],["cachemanager.h",{"_index":3303,"title":{},"content":{"735":{}}}],["cachemanager.lock",{"_index":3304,"title":{},"content":{"735":{}}}],["calcul",{"_index":773,"title":{"780":{},"1022":{},"1041":{},"1043":{}},"content":{"213":{},"214":{},"267":{},"307":{},"309":{},"311":{},"312":{},"313":{},"314":{},"315":{},"556":{},"637":{},"726":{},"744":{},"779":{},"780":{},"870":{},"945":{},"957":{},"977":{},"981":{},"990":{},"993":{},"997":{},"1022":{},"1032":{},"1041":{},"1042":{},"1043":{},"1044":{}}}],["calculate(x",{"_index":2746,"title":{},"content":{"585":{}}}],["calculate_new_reward",{"_index":4218,"title":{},"content":{"1043":{}}}],["calculate_reward",{"_index":4212,"title":{},"content":{"1041":{}}}],["call",{"_index":103,"title":{"595":{}},"content":{"22":{},"55":{},"180":{},"212":{},"228":{},"239":{},"267":{},"269":{},"273":{},"353":{},"363":{},"366":{},"434":{},"436":{},"437":{},"447":{},"454":{},"479":{},"484":{},"486":{},"488":{},"490":{},"510":{},"513":{},"521":{},"595":{},"608":{},"619":{},"623":{},"633":{},"634":{},"738":{},"745":{},"746":{},"780":{},"794":{},"795":{},"800":{},"804":{},"817":{},"826":{},"835":{},"889":{},"941":{},"1029":{},"1041":{},"1047":{}}}],["call_function/3",{"_index":2444,"title":{"479":{}},"content":{}}],["callabl",{"_index":2172,"title":{},"content":{"436":{},"437":{}}}],["caller",{"_index":2199,"title":{},"content":{"443":{},"581":{}}}],["callfunct",{"_index":2902,"title":{"619":{}},"content":{"619":{},"634":{}}}],["callfunction(address",{"_index":2983,"title":{},"content":{"634":{},"637":{}}}],["u64",{"_index":2859,"title":{},"content":{"606":{},"607":{},"633":{},"637":{}}}],["u8",{"_index":2864,"title":{},"content":{"607":{},"637":{}}}],["uco",{"_index":64,"title":{"243":{},"663":{},"697":{},"701":{},"723":{},"736":{},"738":{},"740":{},"742":{},"869":{},"930":{},"988":{}},"content":{"15":{},"22":{},"37":{},"49":{},"67":{},"95":{},"98":{},"113":{},"119":{},"201":{},"202":{},"206":{},"212":{},"226":{},"243":{},"259":{},"345":{},"349":{},"350":{},"416":{},"444":{},"445":{},"453":{},"456":{},"458":{},"460":{},"463":{},"471":{},"474":{},"483":{},"485":{},"511":{},"512":{},"594":{},"595":{},"601":{},"603":{},"611":{},"617":{},"618":{},"633":{},"637":{},"660":{},"661":{},"662":{},"663":{},"664":{},"695":{},"701":{},"723":{},"738":{},"740":{},"742":{},"779":{},"780":{},"784":{},"802":{},"844":{},"856":{},"857":{},"862":{},"869":{},"881":{},"904":{},"905":{},"929":{},"930":{},"938":{},"948":{},"950":{},"965":{},"970":{},"974":{},"975":{},"981":{},"988":{},"990":{},"997":{},"1020":{},"1027":{},"1032":{},"1039":{},"1044":{},"1045":{}}}],["uco'",{"_index":3539,"title":{},"content":{"779":{},"780":{}}}],["uco.archethic.net",{"_index":3261,"title":{},"content":{"739":{}}}],["uco.aud",{"_index":2546,"title":{},"content":{"549":{}}}],["uco.usd",{"_index":2219,"title":{},"content":{"444":{},"549":{}}}],["uco/token",{"_index":340,"title":{},"content":{"86":{}}}],["uco/token/cal",{"_index":329,"title":{},"content":{"79":{},"146":{}}}],["uco_bal",{"_index":2398,"title":{},"content":{"511":{}}}],["uco_mov",{"_index":2222,"title":{},"content":{"445":{}}}],["uco_transf",{"_index":2229,"title":{},"content":{"445":{},"453":{},"454":{},"456":{},"458":{},"462":{},"463":{},"470":{},"471":{},"483":{},"507":{},"509":{},"864":{}}}],["ucobal",{"_index":2969,"title":{},"content":{"634":{}}}],["ucodata",{"_index":226,"title":{"92":{}},"content":{"49":{},"50":{},"92":{},"165":{}}}],["ucodata.eur",{"_index":360,"title":{},"content":{"93":{}}}],["ucodata.usd",{"_index":361,"title":{},"content":{"93":{}}}],["ucoledg",{"_index":178,"title":{"95":{}},"content":{"37":{},"38":{},"95":{},"104":{},"416":{}}}],["ucoledger.transf",{"_index":363,"title":{},"content":{"96":{}}}],["ucotransf",{"_index":362,"title":{"102":{}},"content":{"95":{},"96":{},"102":{},"157":{},"171":{}}}],["ucotransfer.amount",{"_index":364,"title":{},"content":{"103":{}}}],["ucotransfer.to",{"_index":365,"title":{},"content":{"103":{}}}],["ui",{"_index":1594,"title":{},"content":{"282":{},"320":{},"1029":{}}}],["uint16_t",{"_index":633,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["uint32_t",{"_index":705,"title":{},"content":{"212":{},"213":{},"214":{}}}],["uint8_t",{"_index":630,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["ultrason",{"_index":3681,"title":{},"content":{"815":{}}}],["ultrasound",{"_index":3661,"title":{},"content":{"815":{}}}],["un",{"_index":2013,"title":{},"content":{"416":{}}}],["unambigu",{"_index":2088,"title":{},"content":{"451":{}}}],["unauthor",{"_index":3471,"title":{},"content":{"770":{},"814":{},"1047":{}}}],["unavoid",{"_index":1057,"title":{},"content":{"239":{}}}],["uncompress",{"_index":728,"title":{},"content":{"212":{},"264":{},"265":{},"274":{}}}],["uncompromis",{"_index":3347,"title":{},"content":{"746":{}}}],["undefin",{"_index":2796,"title":{},"content":{"592":{},"597":{}}}],["under",{"_index":1251,"title":{},"content":{"266":{},"323":{},"331":{},"335":{},"717":{},"763":{},"777":{},"887":{},"909":{},"911":{},"946":{},"961":{}}}],["underli",{"_index":1793,"title":{},"content":{"353":{}}}],["understand",{"_index":1841,"title":{"955":{},"957":{}},"content":{"356":{},"445":{},"732":{},"827":{},"845":{},"848":{},"890":{},"893":{},"957":{},"982":{},"991":{},"993":{},"994":{},"997":{},"998":{},"1014":{},"1024":{},"1046":{}}}],["unexpect",{"_index":3019,"title":{},"content":{"637":{}}}],["unfalsifi",{"_index":3616,"title":{},"content":{"811":{}}}],["unhid",{"_index":4297,"title":{},"content":{"1032":{}}}],["unicast",{"_index":3591,"title":{},"content":{"795":{}}}],["unifi",{"_index":3741,"title":{},"content":{"845":{},"1048":{}}}],["uniformli",{"_index":3254,"title":{},"content":{"738":{}}}],["uninstal",{"_index":3299,"title":{},"content":{"735":{}}}],["union",{"_index":4332,"title":{},"content":{"1037":{}}}],["uniq/1",{"_index":2608,"title":{"534":{}},"content":{}}],["uniqu",{"_index":256,"title":{},"content":{"61":{},"138":{},"244":{},"247":{},"266":{},"267":{},"281":{},"439":{},"695":{},"762":{},"773":{},"777":{},"784":{},"786":{},"814":{},"945":{},"957":{},"968":{},"974":{},"981":{},"983":{},"988":{},"1019":{}}}],["unique.ecc",{"_index":1329,"title":{},"content":{"266":{}}}],["uniri",{"_index":1205,"title":{},"content":{"262":{},"290":{},"764":{}}}],["uniswap",{"_index":4052,"title":{},"content":{"959":{},"960":{},"1021":{}}}],["unit",{"_index":1682,"title":{},"content":{"322":{},"637":{},"957":{}}}],["unitari",{"_index":278,"title":{},"content":{"73":{},"125":{},"130":{},"143":{},"149":{},"152":{},"814":{}}}],["univers",{"_index":3246,"title":{},"content":{"738":{},"744":{},"745":{},"811":{}}}],["unix",{"_index":473,"title":{},"content":{"188":{},"582":{},"630":{}}}],["unless",{"_index":2257,"title":{},"content":{"455":{},"464":{},"637":{},"744":{},"978":{}}}],["unlik",{"_index":2183,"title":{},"content":{"437":{},"944":{},"1029":{}}}],["unlimit",{"_index":1805,"title":{"775":{}},"content":{"354":{},"791":{},"817":{},"843":{}}}],["unlock",{"_index":1861,"title":{"971":{}},"content":{"371":{},"416":{},"418":{},"910":{},"970":{},"971":{},"977":{},"978":{}}}],["unmatch",{"_index":4262,"title":{},"content":{"1029":{}}}],["unnecessari",{"_index":3584,"title":{},"content":{"793":{}}}],["unpredict",{"_index":3355,"title":{},"content":{"747":{},"748":{},"750":{}}}],["unpubl",{"_index":3919,"title":{"892":{}},"content":{}}],["unpublish",{"_index":3920,"title":{"898":{}},"content":{"892":{},"898":{}}}],["unsign",{"_index":636,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["unspent",{"_index":182,"title":{},"content":{"40":{},"98":{},"117":{},"119":{},"243":{},"246":{},"332":{},"333":{},"451":{},"562":{},"601":{},"608":{},"749":{},"784":{},"839":{},"842":{}}}],["unspentoutput",{"_index":187,"title":{"98":{}},"content":{"40":{},"41":{},"98":{},"117":{},"119":{},"157":{},"171":{},"185":{},"187":{},"189":{}}}],["unspentoutput.amount",{"_index":366,"title":{},"content":{"99":{}}}],["unspentoutput.from",{"_index":367,"title":{},"content":{"99":{}}}],["unspentoutput.st",{"_index":368,"title":{},"content":{"99":{}}}],["unspentoutput.timestamp",{"_index":369,"title":{},"content":{"99":{}}}],["unspentoutput.tokenaddress",{"_index":370,"title":{},"content":{"99":{}}}],["unspentoutput.tokenid",{"_index":371,"title":{},"content":{"99":{}}}],["unspentoutput.typ",{"_index":372,"title":{},"content":{"99":{}}}],["unsupport",{"_index":3220,"title":{},"content":{"724":{}}}],["until",{"_index":1485,"title":{},"content":{"276":{},"686":{},"705":{},"748":{},"753":{},"831":{},"839":{},"888":{},"890":{},"907":{},"970":{},"977":{},"978":{},"1044":{}}}],["unwrapwithdefault(1",{"_index":2984,"title":{},"content":{"634":{}}}],["up",{"_index":1670,"title":{"970":{}},"content":{"321":{},"354":{},"366":{},"371":{},"587":{},"593":{},"625":{},"640":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"738":{},"769":{},"774":{},"833":{},"926":{},"930":{},"970":{},"971":{},"977":{},"978":{}}}],["updat",{"_index":1190,"title":{"805":{},"891":{},"896":{},"897":{}},"content":{"261":{},"264":{},"268":{},"277":{},"279":{},"344":{},"371":{},"410":{},"413":{},"418":{},"432":{},"447":{},"449":{},"451":{},"591":{},"637":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"718":{},"738":{},"750":{},"777":{},"783":{},"788":{},"790":{},"801":{},"839":{},"891":{},"896":{},"897":{},"898":{},"904":{},"910":{},"914":{},"956":{},"988":{}}}],["update_contract",{"_index":2180,"title":{},"content":{"436":{}}}],["updatecount",{"_index":3017,"title":{},"content":{"637":{}}}],["updatecounter(ctx.st",{"_index":3014,"title":{},"content":{"637":{}}}],["updatecounter(st",{"_index":3011,"title":{},"content":{"637":{}}}],["updatedst",{"_index":3013,"title":{},"content":{"637":{}}}],["updatehandlesindex",{"_index":1341,"title":{"268":{}},"content":{}}],["upgrabl",{"_index":2862,"title":{},"content":{"606":{}}}],["upgrad",{"_index":1644,"title":{"597":{}},"content":{"320":{},"321":{},"322":{},"343":{},"585":{},"597":{},"606":{},"608":{},"766":{},"789":{},"889":{}}}],["upgradeaddress",{"_index":2840,"title":{},"content":{"597":{}}}],["upgradeopt",{"_index":2860,"title":{},"content":{"606":{}}}],["upload",{"_index":3135,"title":{},"content":{"691":{},"901":{},"904":{}}}],["upon",{"_index":715,"title":{},"content":{"212":{},"909":{},"915":{},"925":{},"962":{},"982":{},"991":{},"994":{},"998":{},"1002":{}}}],["uppercas",{"_index":2716,"title":{},"content":{"574":{},"575":{}}}],["uptim",{"_index":3795,"title":{},"content":{"855":{}}}],["upto",{"_index":826,"title":{},"content":{"214":{}}}],["uri",{"_index":2910,"title":{},"content":{"623":{},"624":{},"634":{}}}],["url",{"_index":1947,"title":{},"content":{"374":{},"376":{},"521":{},"522":{},"623":{},"871":{},"891":{},"911":{},"929":{},"936":{},"946":{},"1048":{}}}],["us",{"_index":454,"title":{"692":{},"711":{},"728":{},"949":{}},"content":{"168":{},"186":{},"194":{},"201":{},"204":{},"205":{},"212":{},"220":{},"223":{},"224":{},"226":{},"227":{},"228":{},"236":{},"238":{},"239":{},"240":{},"242":{},"256":{},"257":{},"260":{},"266":{},"270":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"281":{},"282":{},"288":{},"289":{},"292":{},"293":{},"295":{},"296":{},"297":{},"298":{},"300":{},"301":{},"303":{},"311":{},"312":{},"313":{},"315":{},"317":{},"319":{},"320":{},"330":{},"345":{},"349":{},"352":{},"354":{},"355":{},"361":{},"365":{},"366":{},"371":{},"374":{},"384":{},"396":{},"399":{},"405":{},"406":{},"408":{},"411":{},"416":{},"418":{},"419":{},"421":{},"423":{},"424":{},"425":{},"426":{},"427":{},"434":{},"436":{},"437":{},"438":{},"439":{},"443":{},"444":{},"445":{},"447":{},"448":{},"451":{},"452":{},"453":{},"458":{},"459":{},"471":{},"472":{},"481":{},"485":{},"489":{},"493":{},"496":{},"511":{},"515":{},"516":{},"521":{},"529":{},"533":{},"544":{},"559":{},"580":{},"581":{},"584":{},"587":{},"592":{},"595":{},"596":{},"604":{},"608":{},"620":{},"621":{},"622":{},"623":{},"627":{},"629":{},"630":{},"631":{},"632":{},"633":{},"634":{},"635":{},"636":{},"637":{},"640":{},"641":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"681":{},"682":{},"683":{},"686":{},"687":{},"691":{},"692":{},"697":{},"699":{},"701":{},"705":{},"708":{},"709":{},"718":{},"723":{},"732":{},"735":{},"738":{},"743":{},"745":{},"746":{},"750":{},"753":{},"756":{},"757":{},"758":{},"759":{},"761":{},"762":{},"763":{},"764":{},"767":{},"770":{},"772":{},"774":{},"776":{},"777":{},"779":{},"788":{},"789":{},"793":{},"795":{},"797":{},"799":{},"800":{},"801":{},"802":{},"803":{},"807":{},"809":{},"814":{},"815":{},"817":{},"818":{},"821":{},"822":{},"826":{},"832":{},"839":{},"841":{},"843":{},"852":{},"860":{},"862":{},"872":{},"875":{},"876":{},"878":{},"885":{},"887":{},"888":{},"893":{},"895":{},"896":{},"897":{},"898":{},"902":{},"903":{},"904":{},"907":{},"911":{},"914":{},"925":{},"926":{},"929":{},"930":{},"937":{},"941":{},"945":{},"946":{},"948":{},"960":{},"961":{},"989":{},"993":{},"997":{},"1000":{},"1001":{},"1005":{},"1017":{},"1018":{},"1024":{},"1027":{},"1029":{},"1030":{},"1031":{},"1032":{},"1037":{},"1047":{},"1048":{},"1049":{}}}],["us2019044735",{"_index":3634,"title":{},"content":{"814":{}}}],["us2019089539",{"_index":3678,"title":{},"content":{"815":{}}}],["usag",{"_index":1276,"title":{"628":{},"1047":{}},"content":{"266":{},"448":{},"566":{},"743":{},"751":{},"764":{},"771":{},"887":{},"1024":{}}}],["usage/usage_overview",{"_index":4194,"title":{},"content":{"1024":{}}}],["usb",{"_index":3388,"title":{},"content":{"750":{},"767":{},"770":{},"1031":{}}}],["usd",{"_index":359,"title":{},"content":{"92":{},"460":{}}}],["usd/eur",{"_index":1775,"title":{},"content":{"349":{},"802":{}}}],["useful",{"_index":3057,"title":{},"content":{"640":{}}}],["useless",{"_index":1768,"title":{},"content":{"346":{}}}],["user",{"_index":524,"title":{"741":{}},"content":{"201":{},"202":{},"206":{},"212":{},"214":{},"223":{},"266":{},"320":{},"426":{},"439":{},"448":{},"521":{},"606":{},"623":{},"634":{},"635":{},"708":{},"725":{},"738":{},"750":{},"785":{},"811":{},"814":{},"826":{},"843":{},"845":{},"870":{},"882":{},"884":{},"886":{},"889":{},"891":{},"909":{},"910":{},"926":{},"927":{},"943":{},"944":{},"945":{},"952":{},"953":{},"954":{},"959":{},"960":{},"974":{},"977":{},"978":{},"984":{},"985":{},"986":{},"988":{},"993":{},"1001":{},"1002":{},"1005":{},"1006":{},"1007":{},"1008":{},"1009":{},"1011":{},"1014":{},"1024":{},"1026":{},"1029":{},"1032":{},"1047":{},"1048":{}}}],["user'",{"_index":2060,"title":{},"content":{"448":{},"901":{},"910":{},"1031":{}}}],["user/blockchain",{"_index":547,"title":{},"content":{"201":{}}}],["users/{user}/library/containers/{yourappname}/data/docu",{"_index":3313,"title":{},"content":{"735":{}}}],["user’",{"_index":2887,"title":{},"content":{"608":{},"1047":{},"1049":{}}}],["usual",{"_index":2232,"title":{},"content":{"445":{},"481":{},"510":{},"772":{},"882":{},"1030":{}}}],["utc",{"_index":1766,"title":{},"content":{"346":{},"583":{}}}],["utf",{"_index":465,"title":{},"content":{"186":{}}}],["util",{"_index":2328,"title":{"473":{}},"content":{"472":{},"596":{},"633":{},"692":{},"695":{},"943":{},"986":{},"1000":{},"1002":{},"1018":{},"1019":{}}}],["utilis",{"_index":4268,"title":{},"content":{"1029":{}}}],["utils.parsebigint(\"1",{"_index":2829,"title":{},"content":{"596":{}}}],["utxo",{"_index":109,"title":{},"content":{"22":{},"98":{},"119":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"445":{},"447":{},"448":{},"449":{},"451":{},"562":{},"784":{},"818":{},"839":{},"844":{},"848":{}}}],["v",{"_index":2498,"title":{},"content":{"497":{},"621":{}}}],["v1",{"_index":3257,"title":{"739":{},"740":{}},"content":{"740":{},"835":{}}}],["v1.5.0",{"_index":2189,"title":{},"content":{"439":{}}}],["v14.0",{"_index":597,"title":{},"content":{"203":{}}}],["v2",{"_index":3258,"title":{"739":{},"740":{}},"content":{"740":{},"959":{},"960":{},"1021":{}}}],["valid",{"_index":131,"title":{"324":{},"325":{},"335":{},"796":{},"818":{},"842":{},"982":{},"991":{},"994":{},"998":{}},"content":{"25":{},"76":{},"105":{},"200":{},"251":{},"253":{},"261":{},"282":{},"289":{},"316":{},"317":{},"320":{},"321":{},"322":{},"323":{},"324":{},"327":{},"328":{},"331":{},"332":{},"333":{},"335":{},"336":{},"343":{},"348":{},"445":{},"446":{},"447":{},"448":{},"451":{},"452":{},"454":{},"477":{},"521":{},"552":{},"568":{},"591":{},"604":{},"605":{},"606":{},"607":{},"608":{},"609":{},"610":{},"623":{},"630":{},"637":{},"745":{},"746":{},"747":{},"748":{},"749":{},"750":{},"774":{},"779":{},"780":{},"784":{},"789":{},"791":{},"796":{},"797":{},"801":{},"806":{},"814":{},"817":{},"818":{},"819":{},"820":{},"821":{},"823":{},"825":{},"834":{},"835":{},"836":{},"837":{},"838":{},"839":{},"841":{},"842":{},"848":{},"875":{},"876":{},"880":{},"887":{},"890":{},"904":{},"921":{},"925":{},"930":{},"981":{},"982":{},"990":{},"991":{},"993":{},"994":{},"997":{},"998":{}}}],["valid_secret",{"_index":2287,"title":{},"content":{"458":{}}}],["valid_tim",{"_index":2288,"title":{},"content":{"458":{}}}],["validat",{"_index":1773,"title":{},"content":{"348":{}}}],["validation/repl",{"_index":3592,"title":{},"content":{"795":{}}}],["validationstamp",{"_index":192,"title":{"105":{}},"content":{"42":{},"73":{},"74":{},"105":{},"167":{},"169":{},"171":{},"177":{},"189":{},"195":{}}}],["validationstamp.ledgeroper",{"_index":384,"title":{},"content":{"106":{}}}],["validationstamp.proofofintegr",{"_index":385,"title":{},"content":{"106":{}}}],["validationstamp.proofofwork",{"_index":386,"title":{},"content":{"106":{}}}],["validationstamp.protocolvers",{"_index":387,"title":{},"content":{"106":{}}}],["validationstamp.signatur",{"_index":388,"title":{},"content":{"106":{}}}],["validationstamp.timestamp",{"_index":389,"title":{},"content":{"106":{}}}],["validationstampchecksum",{"_index":350,"title":{},"content":{"89":{}}}],["validit",{"_index":3401,"title":{},"content":{"757":{}}}],["valu",{"_index":24,"title":{"7":{},"10":{},"1013":{}},"content":{"9":{},"114":{},"133":{},"164":{},"170":{},"212":{},"265":{},"266":{},"268":{},"271":{},"278":{},"279":{},"281":{},"283":{},"286":{},"317":{},"319":{},"346":{},"425":{},"426":{},"428":{},"432":{},"434":{},"443":{},"444":{},"452":{},"453":{},"454":{},"455":{},"466":{},"473":{},"479":{},"487":{},"511":{},"515":{},"516":{},"533":{},"536":{},"538":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"549":{},"551":{},"560":{},"561":{},"568":{},"591":{},"592":{},"606":{},"611":{},"613":{},"615":{},"616":{},"617":{},"618":{},"619":{},"621":{},"622":{},"623":{},"624":{},"635":{},"637":{},"725":{},"779":{},"814":{},"848":{},"872":{},"928":{},"932":{},"953":{},"956":{},"957":{},"960":{},"969":{},"978":{},"984":{},"986":{},"997":{},"1007":{},"1009":{},"1013":{},"1021":{},"1032":{}}}],["valuat",{"_index":4055,"title":{},"content":{"959":{}}}],["value2",{"_index":2624,"title":{},"content":{"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{}}}],["value3",{"_index":2633,"title":{},"content":{"543":{}}}],["values/1",{"_index":2639,"title":{"545":{}},"content":{}}],["valuex",{"_index":2632,"title":{},"content":{"543":{}}}],["vancouver'",{"_index":2292,"title":{},"content":{"460":{}}}],["var",{"_index":2847,"title":{},"content":{"597":{}}}],["vari",{"_index":3977,"title":{},"content":{"921":{}}}],["variabl",{"_index":957,"title":{"263":{},"432":{},"442":{},"471":{}},"content":{"227":{},"263":{},"291":{},"346":{},"432":{},"442":{},"443":{},"455":{},"457":{},"459":{},"471":{},"541":{},"580":{},"581":{},"584":{},"956":{}}}],["variat",{"_index":4148,"title":{},"content":{"990":{},"997":{}}}],["varieti",{"_index":4120,"title":{},"content":{"978":{},"986":{}}}],["variou",{"_index":614,"title":{},"content":{"206":{},"356":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"695":{},"698":{},"701":{},"723":{},"789":{},"917":{},"945":{},"952":{},"964":{},"1000":{},"1001":{},"1029":{}}}],["vector",{"_index":4056,"title":{},"content":{"959":{}}}],["venou",{"_index":3666,"title":{},"content":{"815":{}}}],["veri",{"_index":1804,"title":{},"content":{"354":{},"434":{},"459":{},"466":{},"725":{},"745":{},"762":{},"978":{}}}],["verif",{"_index":1152,"title":{"336":{},"337":{},"338":{},"339":{},"340":{},"341":{},"342":{},"343":{},"344":{},"706":{},"908":{}},"content":{"255":{},"335":{},"448":{},"451":{},"695":{},"706":{},"708":{},"750":{},"764":{},"815":{},"909":{},"982":{},"984":{},"991":{},"994":{},"998":{}}}],["verifi",{"_index":559,"title":{},"content":{"201":{},"293":{},"312":{},"313":{},"314":{},"315":{},"328":{},"330":{},"336":{},"348":{},"349":{},"473":{},"706":{},"708":{},"718":{},"732":{},"735":{},"748":{},"749":{},"771":{},"789":{},"804":{},"874":{},"982":{},"984":{},"990":{},"991":{},"993":{},"994":{},"997":{},"998":{},"1031":{}}}],["verifypinyk",{"_index":1388,"title":{"293":{}},"content":{"312":{}}}],["version",{"_index":88,"title":{"108":{},"153":{},"211":{},"424":{}},"content":{"19":{},"22":{},"73":{},"105":{},"108":{},"110":{},"153":{},"154":{},"187":{},"203":{},"211":{},"230":{},"236":{},"281":{},"320":{},"321":{},"384":{},"405":{},"416":{},"423":{},"424":{},"446":{},"476":{},"477":{},"580":{},"581":{},"582":{},"583":{},"584":{},"585":{},"691":{},"718":{},"722":{},"732":{},"735":{},"738":{},"755":{},"756":{},"757":{},"777":{},"788":{},"789":{},"851":{},"872":{},"892":{},"895":{},"896":{},"897":{},"898":{},"899":{},"914":{},"961":{},"1032":{}}}],["version.cod",{"_index":390,"title":{},"content":{"109":{}}}],["version.protocol",{"_index":391,"title":{},"content":{"109":{}}}],["version.transact",{"_index":392,"title":{},"content":{"109":{}}}],["versionedhash",{"_index":382,"title":{"194":{}},"content":{"105":{},"106":{},"194":{}}}],["veto",{"_index":3532,"title":{},"content":{"777":{},"788":{}}}],["via",{"_index":1054,"title":{},"content":{"239":{},"437":{},"517":{},"521":{},"563":{},"564":{},"566":{},"623":{},"717":{},"724":{},"733":{},"788":{},"851":{},"895":{},"904":{},"980":{},"1031":{},"1032":{},"1033":{},"1048":{}}}],["vibrant",{"_index":3527,"title":{},"content":{"777":{},"999":{}}}],["vibrat",{"_index":4302,"title":{},"content":{"1032":{}}}],["video",{"_index":3896,"title":{},"content":{"889":{}}}],["view",{"_index":1115,"title":{"366":{},"984":{},"985":{},"1047":{},"1048":{}},"content":{"249":{},"250":{},"277":{},"279":{},"286":{},"332":{},"355":{},"366":{},"451":{},"631":{},"796":{},"899":{},"917":{},"922":{},"973":{},"974":{},"983":{},"984":{},"985":{}}}],["view:avail",{"_index":3704,"title":{},"content":{"825":{}}}],["virtual",{"_index":2507,"title":{},"content":{"499":{},"698":{},"700":{},"881":{},"1029":{}}}],["visibl",{"_index":3285,"title":{},"content":{"733":{},"815":{}}}],["vision",{"_index":3346,"title":{},"content":{"745":{},"777":{},"798":{}}}],["visit",{"_index":3295,"title":{},"content":{"735":{},"884":{},"890":{},"942":{}}}],["visual",{"_index":3126,"title":{},"content":{"687":{},"974":{},"983":{}}}],["visualis",{"_index":1651,"title":{},"content":{"320":{}}}],["vital",{"_index":3682,"title":{},"content":{"815":{},"990":{},"993":{},"997":{}}}],["vitest",{"_index":2787,"title":{},"content":{"592":{}}}],["vm",{"_index":1031,"title":{},"content":{"239":{}}}],["void",{"_index":1214,"title":{"264":{},"265":{},"266":{}},"content":{}}],["volatil",{"_index":635,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["volum",{"_index":4137,"title":{},"content":{"984":{},"987":{}}}],["vote",{"_index":1746,"title":{},"content":{"344":{},"777":{},"778":{},"788":{},"814":{}}}],["vote(candid",{"_index":2281,"title":{},"content":{"458":{}}}],["vote(firstnam",{"_index":2209,"title":{},"content":{"443":{}}}],["vote_for_class_president(firstnam",{"_index":2733,"title":{},"content":{"581":{}}}],["voter",{"_index":3385,"title":{},"content":{"750":{}}}],["vp",{"_index":3832,"title":{},"content":{"881":{}}}],["vs",{"_index":2202,"title":{},"content":{"443":{},"882":{}}}],["vscode",{"_index":4319,"title":{},"content":{"1036":{}}}],["w+),(\\\\d",{"_index":2684,"title":{},"content":{"566":{}}}],["w3c",{"_index":2081,"title":{},"content":{"450":{},"766":{},"771":{}}}],["w_{e",{"_index":919,"title":{},"content":{"224":{},"228":{}}}],["w_{key",{"_index":696,"title":{},"content":{"212":{}}}],["wafer",{"_index":3426,"title":{},"content":{"762":{}}}],["wait",{"_index":1674,"title":{},"content":{"321":{},"346":{},"714":{},"732":{},"834":{},"904":{},"921":{},"925":{},"978":{}}}],["wallet",{"_index":484,"title":{"220":{},"223":{},"230":{},"650":{},"651":{},"652":{},"677":{},"700":{},"710":{},"711":{},"712":{},"718":{},"727":{},"728":{},"729":{},"732":{},"733":{},"735":{},"1026":{}},"content":{"201":{},"202":{},"203":{},"206":{},"213":{},"214":{},"220":{},"221":{},"222":{},"223":{},"224":{},"228":{},"229":{},"233":{},"235":{},"259":{},"356":{},"357":{},"358":{},"361":{},"371":{},"377":{},"413":{},"416":{},"418":{},"419":{},"596":{},"650":{},"651":{},"652":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"692":{},"700":{},"708":{},"711":{},"712":{},"714":{},"718":{},"728":{},"729":{},"732":{},"733":{},"735":{},"758":{},"767":{},"768":{},"769":{},"770":{},"772":{},"783":{},"851":{},"862":{},"895":{},"896":{},"897":{},"898":{},"900":{},"901":{},"904":{},"909":{},"910":{},"914":{},"918":{},"919":{},"921":{},"925":{},"926":{},"944":{},"948":{},"950":{},"960":{},"961":{},"977":{},"981":{},"982":{},"990":{},"991":{},"993":{},"994":{},"996":{},"997":{},"998":{},"1002":{},"1026":{},"1027":{},"1028":{},"1029":{},"1030":{},"1032":{},"1039":{},"1046":{},"1047":{},"1048":{},"1049":{}}}],["wallet'",{"_index":3136,"title":{"692":{}},"content":{"692":{},"735":{}}}],["wallet_iv",{"_index":977,"title":{},"content":{"228":{}}}],["wallet_len",{"_index":807,"title":{},"content":{"213":{},"214":{}}}],["walletaccount",{"_index":1888,"title":{},"content":{"371":{}}}],["walletaccount.shortnam",{"_index":1891,"title":{},"content":{"371":{}}}],["walletlen",{"_index":868,"title":{},"content":{"214":{}}}],["walletprivatekey",{"_index":722,"title":{},"content":{"212":{}}}],["wallet’",{"_index":4324,"title":{},"content":{"1048":{}}}],["want",{"_index":898,"title":{},"content":{"221":{},"239":{},"276":{},"282":{},"283":{},"354":{},"445":{},"449":{},"635":{},"637":{},"718":{},"732":{},"758":{},"767":{},"772":{},"780":{},"833":{},"835":{},"880":{},"895":{},"900":{},"904":{},"932":{},"933":{},"934":{},"936":{},"978":{},"1049":{}}}],["warn",{"_index":1693,"title":{},"content":{"322":{},"874":{},"997":{},"1032":{}}}],["wasm",{"_index":2750,"title":{"604":{}},"content":{"587":{},"592":{},"596":{},"604":{},"605":{},"609":{},"626":{},"640":{}}}],["wasmbuff",{"_index":2793,"title":{},"content":{"592":{},"593":{},"594":{},"595":{}}}],["wast",{"_index":4242,"title":{},"content":{"1045":{}}}],["wat",{"_index":3059,"title":{},"content":{"640":{}}}],["watch",{"_index":2021,"title":{"418":{},"656":{}},"content":{"418":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{}}}],["way",{"_index":485,"title":{"795":{}},"content":{"201":{},"223":{},"226":{},"281":{},"282":{},"320":{},"328":{},"329":{},"333":{},"345":{},"347":{},"349":{},"353":{},"356":{},"371":{},"434":{},"443":{},"448":{},"452":{},"608":{},"635":{},"711":{},"728":{},"738":{},"745":{},"746":{},"753":{},"758":{},"762":{},"766":{},"767":{},"772":{},"779":{},"789":{},"797":{},"806":{},"814":{},"821":{},"851":{},"869":{},"882":{},"887":{},"905":{},"974":{},"983":{},"1031":{},"1032":{},"1047":{}}}],["weaken",{"_index":3615,"title":{},"content":{"811":{}}}],["weather",{"_index":2293,"title":{},"content":{"460":{}}}],["web",{"_index":499,"title":{"673":{},"724":{},"877":{}},"content":{"201":{},"239":{},"358":{},"365":{},"421":{},"600":{},"625":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"878":{},"880":{},"882":{},"886":{},"887":{},"888":{},"890":{},"893":{},"914":{},"961":{},"1029":{},"1031":{},"1048":{}}}],["web3",{"_index":3819,"title":{},"content":{"878":{},"881":{}}}],["webapp",{"_index":3838,"title":{},"content":{"882":{}}}],["webassembl",{"_index":2049,"title":{},"content":{"447":{},"450":{},"587":{},"604":{},"608":{},"625":{},"628":{},"681":{},"682":{},"683":{}}}],["webassembly'",{"_index":2912,"title":{},"content":{"625":{},"678":{}}}],["webauthn",{"_index":3461,"title":{},"content":{"766":{},"771":{}}}],["webhost",{"_index":3854,"title":{},"content":{"884":{}}}],["webpag",{"_index":3889,"title":{},"content":{"876":{}}}],["websit",{"_index":3127,"title":{"690":{},"891":{},"892":{}},"content":{"691":{},"692":{},"724":{},"732":{},"735":{},"771":{},"871":{},"872":{},"873":{},"874":{},"876":{},"877":{},"879":{},"880":{},"881":{},"882":{},"884":{},"885":{},"886":{},"887":{},"888":{},"889":{},"890":{},"891":{},"892":{},"895":{},"899":{},"902":{},"904":{}}}],["website'",{"_index":3865,"title":{},"content":{"871":{}}}],["websocket",{"_index":1849,"title":{"361":{}},"content":{"358":{},"371":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"1048":{}}}],["week",{"_index":2741,"title":{},"content":{"583":{},"969":{}}}],["weight",{"_index":4071,"title":{"1040":{}},"content":{"965":{},"968":{},"974":{},"1040":{}}}],["weightofthislevel",{"_index":4225,"title":{},"content":{"1043":{}}}],["welcom",{"_index":479,"title":{"915":{},"949":{},"962":{}},"content":{"198":{},"684":{},"749":{},"834":{},"835":{},"836":{},"890":{},"915":{},"942":{},"943":{},"948":{},"962":{}}}],["well",{"_index":1006,"title":{},"content":{"235":{},"282":{},"284":{},"286":{},"291":{},"330":{},"434":{},"438":{},"770":{},"776":{},"784":{},"821":{},"824":{},"871":{},"975":{},"997":{},"1029":{}}}],["weth",{"_index":4006,"title":{},"content":{"948":{},"950":{}}}],["we’v",{"_index":4074,"title":{},"content":{"965":{},"988":{}}}],["wheel",{"_index":2080,"title":{},"content":{"450":{},"814":{},"990":{},"997":{}}}],["whenev",{"_index":2121,"title":{},"content":{"426":{}}}],["wherea",{"_index":2231,"title":{},"content":{"445":{}}}],["whether",{"_index":1376,"title":{},"content":{"274":{},"526":{},"527":{},"552":{},"565":{},"571":{},"895":{},"1031":{},"1032":{}}}],["whichev",{"_index":2239,"title":{},"content":{"452":{}}}],["white",{"_index":3290,"title":{"735":{}},"content":{}}],["whole",{"_index":456,"title":{},"content":{"170":{}}}],["whose",{"_index":884,"title":{},"content":{"219":{},"777":{},"785":{},"1032":{}}}],["wide",{"_index":1042,"title":{},"content":{"239":{},"279":{},"280":{},"283":{},"882":{},"945":{}}}],["wider",{"_index":4168,"title":{},"content":{"1000":{},"1001":{}}}],["widget",{"_index":4264,"title":{},"content":{"1029":{}}}],["will",{"_index":3373,"title":{},"content":{"749":{},"990":{},"997":{}}}],["win",{"_index":3524,"title":{},"content":{"777":{}}}],["window",{"_index":3171,"title":{},"content":{"699":{},"735":{},"914":{},"961":{},"1029":{},"1048":{}}}],["wise",{"_index":4327,"title":{},"content":{"1049":{}}}],["wish",{"_index":3280,"title":{},"content":{"733":{},"919":{},"942":{},"978":{},"986":{},"993":{}}}],["withdraw",{"_index":3967,"title":{},"content":{"914":{},"945":{},"948":{},"950":{},"970":{},"973":{},"977":{},"978":{},"992":{},"993":{},"1008":{}}}],["withdraw(secret",{"_index":2286,"title":{},"content":{"458":{}}}],["withdrawn",{"_index":4095,"title":{},"content":{"971":{},"977":{}}}],["within",{"_index":1575,"title":{},"content":{"281":{},"282":{},"355":{},"439":{},"451":{},"463":{},"568":{},"633":{},"695":{},"732":{},"761":{},"763":{},"789":{},"819":{},"829":{},"907":{},"910":{},"981":{},"982":{},"985":{},"986":{},"991":{},"993":{},"997":{},"1000":{},"1001":{},"1012":{},"1014":{},"1046":{},"1048":{}}}],["without",{"_index":1087,"title":{},"content":{"239":{},"282":{},"322":{},"333":{},"370":{},"447":{},"456":{},"534":{},"546":{},"559":{},"580":{},"606":{},"625":{},"631":{},"634":{},"640":{},"705":{},"745":{},"749":{},"764":{},"766":{},"769":{},"771":{},"774":{},"776":{},"814":{},"815":{},"816":{},"874":{},"879":{},"907":{},"910":{},"944":{},"952":{},"957":{},"977":{},"978":{},"1000":{},"1016":{},"1046":{},"1047":{},"1049":{}}}],["wk_{ae",{"_index":920,"title":{},"content":{"224":{},"228":{}}}],["wo2017162930",{"_index":3679,"title":{},"content":{"815":{}}}],["wo2017162931",{"_index":3635,"title":{},"content":{"814":{}}}],["won't",{"_index":1945,"title":{"735":{}},"content":{"373":{}}}],["wonder",{"_index":3402,"title":{},"content":{"758":{},"776":{}}}],["word",{"_index":3194,"title":{},"content":{"711":{},"728":{},"732":{},"755":{},"770":{},"1027":{},"1030":{},"1032":{}}}],["worflow",{"_index":1705,"title":{"326":{}},"content":{}}],["work",{"_index":375,"title":{"328":{},"706":{},"708":{},"750":{},"801":{},"888":{}},"content":{"105":{},"239":{},"282":{},"328":{},"330":{},"356":{},"406":{},"428":{},"433":{},"434":{},"438":{},"453":{},"609":{},"610":{},"636":{},"637":{},"733":{},"750":{},"754":{},"777":{},"779":{},"780":{},"784":{},"790":{},"841":{},"842":{},"866":{},"871":{},"879":{},"893":{},"927":{}}}],["workflow",{"_index":1702,"title":{"324":{},"749":{}},"content":{"323":{},"327":{},"335":{},"749":{}}}],["world",{"_index":1753,"title":{},"content":{"345":{},"436":{},"632":{},"634":{},"776":{},"789":{},"843":{}}}],["worldwid",{"_index":3504,"title":{},"content":{"774":{}}}],["worri",{"_index":3278,"title":{},"content":{"733":{},"874":{}}}],["worst",{"_index":4158,"title":{},"content":{"997":{}}}],["worth",{"_index":2311,"title":{},"content":{"463":{},"1048":{}}}],["wrap",{"_index":1564,"title":{},"content":{"281":{},"319":{},"355":{},"909":{},"910":{}}}],["write",{"_index":1076,"title":{"284":{},"591":{}},"content":{"239":{},"275":{},"276":{},"277":{},"278":{},"281":{},"282":{},"283":{},"284":{},"371":{},"426":{},"521":{},"558":{},"561":{},"609":{},"623":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"732":{},"746":{},"904":{},"1049":{}}}],["writes/read",{"_index":1552,"title":{},"content":{"280":{}}}],["written",{"_index":532,"title":{},"content":{"201":{},"281":{},"284":{},"464":{},"604":{},"685":{},"801":{},"1048":{},"1049":{}}}],["wrong",{"_index":1062,"title":{"715":{}},"content":{"239":{}}}],["wscat",{"_index":1930,"title":{},"content":{"361":{}}}],["x",{"_index":729,"title":{},"content":{"212":{},"264":{},"266":{},"267":{},"274":{},"427":{},"834":{},"960":{},"1021":{}}}],["x509",{"_index":1408,"title":{},"content":{"295":{}}}],["x509_get0_pubkey_bitstr",{"_index":1409,"title":{},"content":{"295":{}}}],["x68\\x65\\x6c\\x6c\\x6f",{"_index":2125,"title":{},"content":{"427":{}}}],["xxx",{"_index":3890,"title":{},"content":{"876":{}}}],["y",{"_index":731,"title":{},"content":{"212":{},"264":{},"266":{},"267":{},"274":{},"585":{},"960":{},"1021":{}}}],["yarn",{"_index":601,"title":{},"content":{"204":{}}}],["ye",{"_index":1619,"title":{},"content":{"285":{},"703":{},"722":{},"904":{}}}],["year",{"_index":3612,"title":{},"content":{"811":{},"957":{},"965":{},"969":{},"970":{},"974":{},"984":{},"988":{},"1039":{},"1044":{}}}],["year=1",{"_index":4229,"title":{},"content":{"1044":{}}}],["yellow",{"_index":4134,"title":{},"content":{"984":{}}}],["yes/no",{"_index":3947,"title":{},"content":{"904":{}}}],["yield",{"_index":3240,"title":{"1014":{},"1020":{}},"content":{"726":{},"943":{},"945":{},"954":{},"957":{},"961":{},"978":{},"1004":{},"1016":{},"1020":{},"1024":{}}}],["yk",{"_index":1443,"title":{},"content":{"303":{}}}],["ykcertif",{"_index":1456,"title":{},"content":{"308":{}}}],["ykindex",{"_index":1406,"title":{"300":{}},"content":{"295":{},"296":{},"297":{},"299":{},"300":{},"301":{},"303":{},"306":{},"310":{}}}],["ykpiv_algo_eccp256",{"_index":1433,"title":{},"content":{"300":{}}}],["ykpiv_attest",{"_index":1418,"title":{},"content":{"297":{}}}],["ykpiv_authent",{"_index":1396,"title":{},"content":{"294":{}}}],["ykpiv_decipher_data",{"_index":1436,"title":{},"content":{"301":{}}}],["ykpiv_fetch_object",{"_index":1426,"title":{},"content":{"298":{}}}],["ykpiv_obj_histori",{"_index":1430,"title":{},"content":{"299":{}}}],["ykpiv_obj_key_histori",{"_index":1422,"title":{},"content":{"298":{},"302":{}}}],["ykpiv_save_object",{"_index":1420,"title":{},"content":{"297":{}}}],["ykpiv_sign_data",{"_index":1432,"title":{},"content":{"300":{}}}],["ykpiv_util_generate_key",{"_index":1413,"title":{},"content":{"296":{}}}],["ykpiv_verifi",{"_index":1390,"title":{},"content":{"293":{}}}],["you'd",{"_index":3961,"title":{},"content":{"911":{},"946":{},"961":{}}}],["you'll",{"_index":2238,"title":{},"content":{"445":{},"712":{},"729":{},"990":{}}}],["you'r",{"_index":2404,"title":{},"content":{"511":{},"512":{},"514":{},"515":{},"516":{},"876":{},"986":{},"990":{},"993":{},"997":{}}}],["you'v",{"_index":4149,"title":{},"content":{"990":{},"993":{},"997":{}}}],["your",{"_index":3521,"title":{},"content":{"776":{}}}],["yourself",{"_index":3970,"title":{},"content":{"914":{},"927":{},"961":{},"1031":{}}}],["you’r",{"_index":4001,"title":{},"content":{"932":{},"935":{}}}],["you’v",{"_index":591,"title":{},"content":{"203":{}}}],["yubicloud",{"_index":4248,"title":{},"content":{"1027":{},"1031":{},"1032":{}}}],["yubico",{"_index":1387,"title":{},"content":{"292":{},"763":{},"1031":{}}}],["yubico’",{"_index":4288,"title":{},"content":{"1031":{}}}],["yubikey",{"_index":1010,"title":{"290":{}},"content":{"235":{},"288":{},"290":{},"291":{},"292":{},"295":{},"298":{},"303":{},"312":{},"313":{},"314":{},"315":{},"732":{},"763":{},"764":{},"1026":{},"1031":{},"1032":{}}}],["yubikey.c",{"_index":1381,"title":{},"content":{"290":{}}}],["yubikey.h",{"_index":1382,"title":{},"content":{"290":{}}}],["zero",{"_index":2565,"title":{},"content":{"524":{}}}],["zip",{"_index":3927,"title":{},"content":{"895":{}}}],["zone",{"_index":147,"title":{},"content":{"28":{},"384":{},"405":{}}}],["zpoint",{"_index":1380,"title":{},"content":{"274":{}}}]],"pipeline":["stemmer"]}} \ No newline at end of file +{"documents":[{"id":2,"pageTitle":"include","sectionTitle":"include","sectionRoute":"/build/api/schema/directives/include","type":"docs"},{"id":3,"pageTitle":"include","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/directives/include#arguments","type":"docs"},{"id":4,"pageTitle":"skip","sectionTitle":"skip","sectionRoute":"/build/api/schema/directives/skip","type":"docs"},{"id":5,"pageTitle":"skip","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/directives/skip#arguments","type":"docs"},{"id":6,"pageTitle":"ErrorContext","sectionTitle":"ErrorContext","sectionRoute":"/build/api/schema/enums/error-context","type":"docs"},{"id":7,"pageTitle":"ErrorContext","sectionTitle":"Values","sectionRoute":"/build/api/schema/enums/error-context#values","type":"docs"},{"id":8,"pageTitle":"ErrorContext","sectionTitle":"Member of","sectionRoute":"/build/api/schema/enums/error-context#member-of","type":"docs"},{"id":9,"pageTitle":"SortOrder","sectionTitle":"SortOrder","sectionRoute":"/build/api/schema/enums/sort-order","type":"docs"},{"id":10,"pageTitle":"SortOrder","sectionTitle":"Values","sectionRoute":"/build/api/schema/enums/sort-order#values","type":"docs"},{"id":11,"pageTitle":"SortOrder","sectionTitle":"Member of","sectionRoute":"/build/api/schema/enums/sort-order#member-of","type":"docs"},{"id":12,"pageTitle":"AuthorizedKey","sectionTitle":"AuthorizedKey","sectionRoute":"/build/api/schema/objects/authorized-key","type":"docs"},{"id":13,"pageTitle":"AuthorizedKey","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/authorized-key#fields","type":"docs"},{"id":14,"pageTitle":"AuthorizedKey","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/authorized-key#member-of","type":"docs"},{"id":15,"pageTitle":"Balance","sectionTitle":"Balance","sectionRoute":"/build/api/schema/objects/balance","type":"docs"},{"id":16,"pageTitle":"Balance","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/balance#fields","type":"docs"},{"id":17,"pageTitle":"Balance","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/balance#returned-by","type":"docs"},{"id":18,"pageTitle":"Balance","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/balance#member-of","type":"docs"},{"id":19,"pageTitle":"BeaconChainSummary","sectionTitle":"BeaconChainSummary","sectionRoute":"/build/api/schema/objects/beacon-chain-summary","type":"docs"},{"id":20,"pageTitle":"BeaconChainSummary","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/beacon-chain-summary#fields","type":"docs"},{"id":21,"pageTitle":"BeaconChainSummary","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/beacon-chain-summary#returned-by","type":"docs"},{"id":22,"pageTitle":"ConsumedInputs","sectionTitle":"ConsumedInputs","sectionRoute":"/build/api/schema/objects/consumed-inputs","type":"docs"},{"id":23,"pageTitle":"ConsumedInputs","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/consumed-inputs#fields","type":"docs"},{"id":24,"pageTitle":"ConsumedInputs","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/consumed-inputs#member-of","type":"docs"},{"id":25,"pageTitle":"CrossValidationStamp","sectionTitle":"CrossValidationStamp","sectionRoute":"/build/api/schema/objects/cross-validation-stamp","type":"docs"},{"id":26,"pageTitle":"CrossValidationStamp","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/cross-validation-stamp#fields","type":"docs"},{"id":27,"pageTitle":"CrossValidationStamp","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/cross-validation-stamp#member-of","type":"docs"},{"id":28,"pageTitle":"Data","sectionTitle":"Data","sectionRoute":"/build/api/schema/objects/data","type":"docs"},{"id":29,"pageTitle":"Data","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/data#fields","type":"docs"},{"id":30,"pageTitle":"Data","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/data#member-of","type":"docs"},{"id":31,"pageTitle":"Endpoint","sectionTitle":"Endpoint","sectionRoute":"/build/api/schema/objects/endpoint","type":"docs"},{"id":32,"pageTitle":"Endpoint","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/endpoint#fields","type":"docs"},{"id":33,"pageTitle":"Endpoint","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/endpoint#returned-by","type":"docs"},{"id":34,"pageTitle":"ErrorDetails","sectionTitle":"ErrorDetails","sectionRoute":"/build/api/schema/objects/error-details","type":"docs"},{"id":35,"pageTitle":"ErrorDetails","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/error-details#fields","type":"docs"},{"id":36,"pageTitle":"ErrorDetails","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/error-details#member-of","type":"docs"},{"id":37,"pageTitle":"Ledger","sectionTitle":"Ledger","sectionRoute":"/build/api/schema/objects/ledger","type":"docs"},{"id":38,"pageTitle":"Ledger","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/ledger#fields","type":"docs"},{"id":39,"pageTitle":"Ledger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/ledger#member-of","type":"docs"},{"id":40,"pageTitle":"LedgerOperations","sectionTitle":"LedgerOperations","sectionRoute":"/build/api/schema/objects/ledger-operations","type":"docs"},{"id":41,"pageTitle":"LedgerOperations","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/ledger-operations#fields","type":"docs"},{"id":42,"pageTitle":"LedgerOperations","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/ledger-operations#member-of","type":"docs"},{"id":43,"pageTitle":"Node","sectionTitle":"Node","sectionRoute":"/build/api/schema/objects/node","type":"docs"},{"id":44,"pageTitle":"Node","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/node#fields","type":"docs"},{"id":45,"pageTitle":"Node","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/node#returned-by","type":"docs"},{"id":46,"pageTitle":"OracleData","sectionTitle":"OracleData","sectionRoute":"/build/api/schema/objects/oracle-data","type":"docs"},{"id":47,"pageTitle":"OracleData","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/oracle-data#fields","type":"docs"},{"id":48,"pageTitle":"OracleData","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/oracle-data#returned-by","type":"docs"},{"id":49,"pageTitle":"OracleServices","sectionTitle":"OracleServices","sectionRoute":"/build/api/schema/objects/oracle-services","type":"docs"},{"id":50,"pageTitle":"OracleServices","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/oracle-services#fields","type":"docs"},{"id":51,"pageTitle":"OracleServices","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/oracle-services#member-of","type":"docs"},{"id":52,"pageTitle":"Ownership","sectionTitle":"Ownership","sectionRoute":"/build/api/schema/objects/ownership","type":"docs"},{"id":53,"pageTitle":"Ownership","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/ownership#fields","type":"docs"},{"id":54,"pageTitle":"Ownership","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/ownership#member-of","type":"docs"},{"id":55,"pageTitle":"Recipient","sectionTitle":"Recipient","sectionRoute":"/build/api/schema/objects/recipient","type":"docs"},{"id":56,"pageTitle":"Recipient","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/recipient#fields","type":"docs"},{"id":57,"pageTitle":"Recipient","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/recipient#member-of","type":"docs"},{"id":58,"pageTitle":"SharedSecrets","sectionTitle":"SharedSecrets","sectionRoute":"/build/api/schema/objects/shared-secrets","type":"docs"},{"id":59,"pageTitle":"SharedSecrets","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/shared-secrets#fields","type":"docs"},{"id":60,"pageTitle":"SharedSecrets","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/shared-secrets#returned-by","type":"docs"},{"id":61,"pageTitle":"Token","sectionTitle":"Token","sectionRoute":"/build/api/schema/objects/token","type":"docs"},{"id":62,"pageTitle":"Token","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token#fields","type":"docs"},{"id":63,"pageTitle":"Token","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/token#returned-by","type":"docs"},{"id":64,"pageTitle":"TokenBalance","sectionTitle":"TokenBalance","sectionRoute":"/build/api/schema/objects/token-balance","type":"docs"},{"id":65,"pageTitle":"TokenBalance","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token-balance#fields","type":"docs"},{"id":66,"pageTitle":"TokenBalance","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/token-balance#member-of","type":"docs"},{"id":70,"pageTitle":"TokenLedger","sectionTitle":"TokenLedger","sectionRoute":"/build/api/schema/objects/token-ledger","type":"docs"},{"id":71,"pageTitle":"TokenLedger","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token-ledger#fields","type":"docs"},{"id":72,"pageTitle":"TokenLedger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/token-ledger#member-of","type":"docs"},{"id":73,"pageTitle":"TokenTransfer","sectionTitle":"TokenTransfer","sectionRoute":"/build/api/schema/objects/token-transfer","type":"docs"},{"id":74,"pageTitle":"TokenTransfer","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/token-transfer#fields","type":"docs"},{"id":75,"pageTitle":"TokenTransfer","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/token-transfer#member-of","type":"docs"},{"id":67,"pageTitle":"Transaction","sectionTitle":"Transaction","sectionRoute":"/build/api/schema/objects/transaction","type":"docs"},{"id":68,"pageTitle":"Transaction","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction#fields","type":"docs"},{"id":69,"pageTitle":"Transaction","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction#returned-by","type":"docs"},{"id":76,"pageTitle":"TransactionAttestation","sectionTitle":"TransactionAttestation","sectionRoute":"/build/api/schema/objects/transaction-attestation","type":"docs"},{"id":77,"pageTitle":"TransactionAttestation","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-attestation#fields","type":"docs"},{"id":78,"pageTitle":"TransactionAttestation","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction-attestation#returned-by","type":"docs"},{"id":79,"pageTitle":"TransactionError","sectionTitle":"TransactionError","sectionRoute":"/build/api/schema/objects/transaction-error","type":"docs"},{"id":80,"pageTitle":"TransactionError","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-error#fields","type":"docs"},{"id":81,"pageTitle":"TransactionError","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction-error#returned-by","type":"docs"},{"id":107,"pageTitle":"TransactionInput","sectionTitle":"TransactionInput","sectionRoute":"/build/api/schema/objects/transaction-input","type":"docs"},{"id":108,"pageTitle":"TransactionInput","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-input#fields","type":"docs"},{"id":109,"pageTitle":"TransactionInput","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/transaction-input#returned-by","type":"docs"},{"id":110,"pageTitle":"TransactionInput","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/transaction-input#member-of","type":"docs"},{"id":85,"pageTitle":"TransactionMovement","sectionTitle":"TransactionMovement","sectionRoute":"/build/api/schema/objects/transaction-movement","type":"docs"},{"id":86,"pageTitle":"TransactionMovement","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-movement#fields","type":"docs"},{"id":87,"pageTitle":"TransactionMovement","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/transaction-movement#member-of","type":"docs"},{"id":82,"pageTitle":"TransactionSummary","sectionTitle":"TransactionSummary","sectionRoute":"/build/api/schema/objects/transaction-summary","type":"docs"},{"id":83,"pageTitle":"TransactionSummary","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/transaction-summary#fields","type":"docs"},{"id":84,"pageTitle":"TransactionSummary","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/transaction-summary#member-of","type":"docs"},{"id":88,"pageTitle":"UcoData","sectionTitle":"UcoData","sectionRoute":"/build/api/schema/objects/uco-data","type":"docs"},{"id":89,"pageTitle":"UcoData","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/uco-data#fields","type":"docs"},{"id":90,"pageTitle":"UcoData","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/uco-data#member-of","type":"docs"},{"id":91,"pageTitle":"UcoLedger","sectionTitle":"UcoLedger","sectionRoute":"/build/api/schema/objects/uco-ledger","type":"docs"},{"id":92,"pageTitle":"UcoLedger","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/uco-ledger#fields","type":"docs"},{"id":93,"pageTitle":"UcoLedger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/uco-ledger#member-of","type":"docs"},{"id":98,"pageTitle":"UcoTransfer","sectionTitle":"UcoTransfer","sectionRoute":"/build/api/schema/objects/uco-transfer","type":"docs"},{"id":99,"pageTitle":"UcoTransfer","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/uco-transfer#fields","type":"docs"},{"id":100,"pageTitle":"UcoTransfer","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/uco-transfer#member-of","type":"docs"},{"id":94,"pageTitle":"UnspentOutput","sectionTitle":"UnspentOutput","sectionRoute":"/build/api/schema/objects/unspent-output","type":"docs"},{"id":95,"pageTitle":"UnspentOutput","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/unspent-output#fields","type":"docs"},{"id":96,"pageTitle":"UnspentOutput","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/unspent-output#returned-by","type":"docs"},{"id":97,"pageTitle":"UnspentOutput","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/unspent-output#member-of","type":"docs"},{"id":101,"pageTitle":"ValidationStamp","sectionTitle":"ValidationStamp","sectionRoute":"/build/api/schema/objects/validation-stamp","type":"docs"},{"id":102,"pageTitle":"ValidationStamp","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/validation-stamp#fields","type":"docs"},{"id":103,"pageTitle":"ValidationStamp","sectionTitle":"Member of","sectionRoute":"/build/api/schema/objects/validation-stamp#member-of","type":"docs"},{"id":104,"pageTitle":"Version","sectionTitle":"Version","sectionRoute":"/build/api/schema/objects/version","type":"docs"},{"id":105,"pageTitle":"Version","sectionTitle":"Fields","sectionRoute":"/build/api/schema/objects/version#fields","type":"docs"},{"id":106,"pageTitle":"Version","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/objects/version#returned-by","type":"docs"},{"id":111,"pageTitle":"balance","sectionTitle":"balance","sectionRoute":"/build/api/schema/queries/balance","type":"docs"},{"id":112,"pageTitle":"balance","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/balance#arguments","type":"docs"},{"id":113,"pageTitle":"balance","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/balance#type","type":"docs"},{"id":114,"pageTitle":"beaconChainSummary","sectionTitle":"beaconChainSummary","sectionRoute":"/build/api/schema/queries/beacon-chain-summary","type":"docs"},{"id":115,"pageTitle":"beaconChainSummary","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/beacon-chain-summary#arguments","type":"docs"},{"id":116,"pageTitle":"beaconChainSummary","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/beacon-chain-summary#type","type":"docs"},{"id":117,"pageTitle":"chainUnspentOutputs","sectionTitle":"chainUnspentOutputs","sectionRoute":"/build/api/schema/queries/chain-unspent-outputs","type":"docs"},{"id":118,"pageTitle":"chainUnspentOutputs","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/chain-unspent-outputs#arguments","type":"docs"},{"id":119,"pageTitle":"chainUnspentOutputs","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/chain-unspent-outputs#type","type":"docs"},{"id":123,"pageTitle":"genesisAddress","sectionTitle":"genesisAddress","sectionRoute":"/build/api/schema/queries/genesis-address","type":"docs"},{"id":124,"pageTitle":"genesisAddress","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/genesis-address#arguments","type":"docs"},{"id":125,"pageTitle":"genesisAddress","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/genesis-address#type","type":"docs"},{"id":120,"pageTitle":"lastTransaction","sectionTitle":"lastTransaction","sectionRoute":"/build/api/schema/queries/last-transaction","type":"docs"},{"id":121,"pageTitle":"lastTransaction","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/last-transaction#arguments","type":"docs"},{"id":122,"pageTitle":"lastTransaction","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/last-transaction#type","type":"docs"},{"id":126,"pageTitle":"nearestEndpoints","sectionTitle":"nearestEndpoints","sectionRoute":"/build/api/schema/queries/nearest-endpoints","type":"docs"},{"id":127,"pageTitle":"nearestEndpoints","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/nearest-endpoints#type","type":"docs"},{"id":128,"pageTitle":"networkTransactions","sectionTitle":"networkTransactions","sectionRoute":"/build/api/schema/queries/network-transactions","type":"docs"},{"id":129,"pageTitle":"networkTransactions","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/network-transactions#arguments","type":"docs"},{"id":130,"pageTitle":"networkTransactions","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/network-transactions#type","type":"docs"},{"id":131,"pageTitle":"nodes","sectionTitle":"nodes","sectionRoute":"/build/api/schema/queries/nodes","type":"docs"},{"id":132,"pageTitle":"nodes","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/nodes#type","type":"docs"},{"id":133,"pageTitle":"oracleData","sectionTitle":"oracleData","sectionRoute":"/build/api/schema/queries/oracle-data","type":"docs"},{"id":134,"pageTitle":"oracleData","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/oracle-data#arguments","type":"docs"},{"id":135,"pageTitle":"oracleData","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/oracle-data#type","type":"docs"},{"id":136,"pageTitle":"sharedSecrets","sectionTitle":"sharedSecrets","sectionRoute":"/build/api/schema/queries/shared-secrets","type":"docs"},{"id":137,"pageTitle":"sharedSecrets","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/shared-secrets#type","type":"docs"},{"id":138,"pageTitle":"token","sectionTitle":"token","sectionRoute":"/build/api/schema/queries/token","type":"docs"},{"id":139,"pageTitle":"token","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/token#arguments","type":"docs"},{"id":140,"pageTitle":"token","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/token#type","type":"docs"},{"id":144,"pageTitle":"transaction","sectionTitle":"transaction","sectionRoute":"/build/api/schema/queries/transaction","type":"docs"},{"id":145,"pageTitle":"transaction","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transaction#arguments","type":"docs"},{"id":146,"pageTitle":"transaction","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transaction#type","type":"docs"},{"id":141,"pageTitle":"transactionChain","sectionTitle":"transactionChain","sectionRoute":"/build/api/schema/queries/transaction-chain","type":"docs"},{"id":142,"pageTitle":"transactionChain","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transaction-chain#arguments","type":"docs"},{"id":143,"pageTitle":"transactionChain","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transaction-chain#type","type":"docs"},{"id":150,"pageTitle":"transactionInputs","sectionTitle":"transactionInputs","sectionRoute":"/build/api/schema/queries/transaction-inputs","type":"docs"},{"id":151,"pageTitle":"transactionInputs","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transaction-inputs#arguments","type":"docs"},{"id":152,"pageTitle":"transactionInputs","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transaction-inputs#type","type":"docs"},{"id":147,"pageTitle":"transactions","sectionTitle":"transactions","sectionRoute":"/build/api/schema/queries/transactions","type":"docs"},{"id":148,"pageTitle":"transactions","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/queries/transactions#arguments","type":"docs"},{"id":149,"pageTitle":"transactions","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/transactions#type","type":"docs"},{"id":153,"pageTitle":"version","sectionTitle":"version","sectionRoute":"/build/api/schema/queries/version","type":"docs"},{"id":154,"pageTitle":"version","sectionTitle":"Type","sectionRoute":"/build/api/schema/queries/version#type","type":"docs"},{"id":155,"pageTitle":"Address","sectionTitle":"Address","sectionRoute":"/build/api/schema/scalars/address","type":"docs"},{"id":156,"pageTitle":"Address","sectionTitle":"Returned by","sectionRoute":"/build/api/schema/scalars/address#returned-by","type":"docs"},{"id":157,"pageTitle":"Address","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/address#member-of","type":"docs"},{"id":158,"pageTitle":"Boolean","sectionTitle":"Boolean","sectionRoute":"/build/api/schema/scalars/boolean","type":"docs"},{"id":159,"pageTitle":"Boolean","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/boolean#member-of","type":"docs"},{"id":160,"pageTitle":"Content","sectionTitle":"Content","sectionRoute":"/build/api/schema/scalars/content","type":"docs"},{"id":161,"pageTitle":"Content","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/content#member-of","type":"docs"},{"id":164,"pageTitle":"ErrorData","sectionTitle":"ErrorData","sectionRoute":"/build/api/schema/scalars/error-data","type":"docs"},{"id":165,"pageTitle":"ErrorData","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/error-data#member-of","type":"docs"},{"id":162,"pageTitle":"Float","sectionTitle":"Float","sectionRoute":"/build/api/schema/scalars/float","type":"docs"},{"id":163,"pageTitle":"Float","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/float#member-of","type":"docs"},{"id":166,"pageTitle":"Hash","sectionTitle":"Hash","sectionRoute":"/build/api/schema/scalars/hash","type":"docs"},{"id":167,"pageTitle":"Hash","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/hash#member-of","type":"docs"},{"id":168,"pageTitle":"Hex","sectionTitle":"Hex","sectionRoute":"/build/api/schema/scalars/hex","type":"docs"},{"id":169,"pageTitle":"Hex","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/hex#member-of","type":"docs"},{"id":170,"pageTitle":"Int","sectionTitle":"Int","sectionRoute":"/build/api/schema/scalars/int","type":"docs"},{"id":171,"pageTitle":"Int","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/int#member-of","type":"docs"},{"id":172,"pageTitle":"NonNegInteger","sectionTitle":"NonNegInteger","sectionRoute":"/build/api/schema/scalars/non-neg-integer","type":"docs"},{"id":173,"pageTitle":"NonNegInteger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/non-neg-integer#member-of","type":"docs"},{"id":174,"pageTitle":"P2pAvailabilities","sectionTitle":"P2pAvailabilities","sectionRoute":"/build/api/schema/scalars/p2-p-availabilities","type":"docs"},{"id":175,"pageTitle":"P2pAvailabilities","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/p2-p-availabilities#member-of","type":"docs"},{"id":176,"pageTitle":"PosInteger","sectionTitle":"PosInteger","sectionRoute":"/build/api/schema/scalars/pos-integer","type":"docs"},{"id":177,"pageTitle":"PosInteger","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/pos-integer#member-of","type":"docs"},{"id":178,"pageTitle":"PublicKey","sectionTitle":"PublicKey","sectionRoute":"/build/api/schema/scalars/public-key","type":"docs"},{"id":179,"pageTitle":"PublicKey","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/public-key#member-of","type":"docs"},{"id":182,"pageTitle":"RecipientArgs","sectionTitle":"RecipientArgs","sectionRoute":"/build/api/schema/scalars/recipient-args","type":"docs"},{"id":183,"pageTitle":"RecipientArgs","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/recipient-args#member-of","type":"docs"},{"id":180,"pageTitle":"Sha256Hash","sectionTitle":"Sha256Hash","sectionRoute":"/build/api/schema/scalars/sha-256-hash","type":"docs"},{"id":181,"pageTitle":"Sha256Hash","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/sha-256-hash#member-of","type":"docs"},{"id":186,"pageTitle":"State","sectionTitle":"State","sectionRoute":"/build/api/schema/scalars/state","type":"docs"},{"id":187,"pageTitle":"State","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/state#member-of","type":"docs"},{"id":184,"pageTitle":"String","sectionTitle":"String","sectionRoute":"/build/api/schema/scalars/string","type":"docs"},{"id":185,"pageTitle":"String","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/string#member-of","type":"docs"},{"id":194,"pageTitle":"Timestamp","sectionTitle":"Timestamp","sectionRoute":"/build/api/schema/scalars/timestamp","type":"docs"},{"id":195,"pageTitle":"Timestamp","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/timestamp#member-of","type":"docs"},{"id":188,"pageTitle":"TokenProperties","sectionTitle":"TokenProperties","sectionRoute":"/build/api/schema/scalars/token-properties","type":"docs"},{"id":189,"pageTitle":"TokenProperties","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/token-properties#member-of","type":"docs"},{"id":190,"pageTitle":"TransactionType","sectionTitle":"TransactionType","sectionRoute":"/build/api/schema/scalars/transaction-type","type":"docs"},{"id":191,"pageTitle":"TransactionType","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/transaction-type#member-of","type":"docs"},{"id":192,"pageTitle":"VersionedHash","sectionTitle":"VersionedHash","sectionRoute":"/build/api/schema/scalars/versioned-hash","type":"docs"},{"id":193,"pageTitle":"VersionedHash","sectionTitle":"Member of","sectionRoute":"/build/api/schema/scalars/versioned-hash#member-of","type":"docs"},{"id":196,"pageTitle":"oracleUpdate","sectionTitle":"oracleUpdate","sectionRoute":"/build/api/schema/subscriptions/oracle-update","type":"docs"},{"id":197,"pageTitle":"oracleUpdate","sectionTitle":"Type","sectionRoute":"/build/api/schema/subscriptions/oracle-update#type","type":"docs"},{"id":201,"pageTitle":"transactionConfirmed","sectionTitle":"transactionConfirmed","sectionRoute":"/build/api/schema/subscriptions/transaction-confirmed","type":"docs"},{"id":202,"pageTitle":"transactionConfirmed","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/subscriptions/transaction-confirmed#arguments","type":"docs"},{"id":203,"pageTitle":"transactionConfirmed","sectionTitle":"Type","sectionRoute":"/build/api/schema/subscriptions/transaction-confirmed#type","type":"docs"},{"id":198,"pageTitle":"transactionError","sectionTitle":"transactionError","sectionRoute":"/build/api/schema/subscriptions/transaction-error","type":"docs"},{"id":199,"pageTitle":"transactionError","sectionTitle":"Arguments","sectionRoute":"/build/api/schema/subscriptions/transaction-error#arguments","type":"docs"},{"id":200,"pageTitle":"transactionError","sectionTitle":"Type","sectionRoute":"/build/api/schema/subscriptions/transaction-error#type","type":"docs"},{"id":204,"pageTitle":"","sectionTitle":"Introduction","sectionRoute":"/build/clients/ledger-wallet/","type":"docs"},{"id":205,"pageTitle":"","sectionTitle":"Synopsis","sectionRoute":"/build/clients/ledger-wallet/#synopsis","type":"docs"},{"id":206,"pageTitle":"","sectionTitle":"Prerequisites","sectionRoute":"/build/clients/ledger-wallet/#prerequisites","type":"docs"},{"id":207,"pageTitle":"","sectionTitle":"Installation Instructions","sectionRoute":"/build/clients/ledger-wallet/#installation-instructions","type":"docs"},{"id":208,"pageTitle":"","sectionTitle":"Testing","sectionRoute":"/build/clients/ledger-wallet/#testing","type":"docs"},{"id":209,"pageTitle":"","sectionTitle":"Demo","sectionRoute":"/build/clients/ledger-wallet/#demo","type":"docs"},{"id":210,"pageTitle":"Ledger Application API","sectionTitle":"Ledger Application API","sectionRoute":"/build/clients/ledger-wallet/api","type":"docs"},{"id":211,"pageTitle":"Ledger Application API","sectionTitle":"GET VERSION","sectionRoute":"/build/clients/ledger-wallet/api#get-version","type":"docs"},{"id":212,"pageTitle":"Ledger Application API","sectionTitle":"GET DEVICE ORIGIN PUBLIC KEY","sectionRoute":"/build/clients/ledger-wallet/api#get-device-origin-public-key","type":"docs"},{"id":213,"pageTitle":"Ledger Application API","sectionTitle":"GET ARCHETHIC ADDRESS","sectionRoute":"/build/clients/ledger-wallet/api#get-archethic-address","type":"docs"},{"id":214,"pageTitle":"Ledger Application API","sectionTitle":"SIGN TRANSACTION","sectionRoute":"/build/clients/ledger-wallet/api#sign-transaction","type":"docs"},{"id":232,"pageTitle":"ADPU commands","sectionTitle":"ADPU commands","sectionRoute":"/build/clients/ledger-wallet/commands","type":"docs"},{"id":233,"pageTitle":"ADPU commands","sectionTitle":"APDU commands","sectionRoute":"/build/clients/ledger-wallet/commands#apdu-commands","type":"docs"},{"id":234,"pageTitle":"ADPU commands","sectionTitle":"Get Origin Public Key","sectionRoute":"/build/clients/ledger-wallet/commands#get-origin-public-key","type":"docs"},{"id":235,"pageTitle":"ADPU commands","sectionTitle":"Get Archethic Account Address","sectionRoute":"/build/clients/ledger-wallet/commands#get-archethic-account-address","type":"docs"},{"id":236,"pageTitle":"ADPU commands","sectionTitle":"Get Signature","sectionRoute":"/build/clients/ledger-wallet/commands#get-signature","type":"docs"},{"id":215,"pageTitle":"Archethic's wallet access","sectionTitle":"Archethic's wallet access","sectionRoute":"/build/clients/wallet-access","type":"docs"},{"id":216,"pageTitle":"Archethic's wallet access","sectionTitle":"Access enrollment","sectionRoute":"/build/clients/wallet-access#access-enrollment","type":"docs"},{"id":217,"pageTitle":"Archethic's wallet access","sectionTitle":"Keychain retrieval","sectionRoute":"/build/clients/wallet-access#keychain-retrieval","type":"docs"},{"id":218,"pageTitle":"Archethic's wallet specification","sectionTitle":"Archethic's wallet specification","sectionRoute":"/build/clients/wallet-spec","type":"docs"},{"id":219,"pageTitle":"Archethic's wallet specification","sectionTitle":"Glossary","sectionRoute":"/build/clients/wallet-spec#glossary","type":"docs"},{"id":220,"pageTitle":"Archethic's wallet specification","sectionTitle":"Cryptography","sectionRoute":"/build/clients/wallet-spec#cryptography","type":"docs"},{"id":221,"pageTitle":"Archethic's wallet specification","sectionTitle":"Derivation path","sectionRoute":"/build/clients/wallet-spec#derivation-path","type":"docs"},{"id":222,"pageTitle":"Archethic's wallet specification","sectionTitle":"Key derivation","sectionRoute":"/build/clients/wallet-spec#key-derivation","type":"docs"},{"id":223,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encryption","sectionRoute":"/build/clients/wallet-spec#encryption","type":"docs"},{"id":224,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding","sectionRoute":"/build/clients/wallet-spec#encoding","type":"docs"},{"id":225,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding of wallet","sectionRoute":"/build/clients/wallet-spec#encoding-of-wallet","type":"docs"},{"id":226,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding of Curve Types","sectionRoute":"/build/clients/wallet-spec#encoding-of-curve-types","type":"docs"},{"id":227,"pageTitle":"Archethic's wallet specification","sectionTitle":"Encoding of Hash Types","sectionRoute":"/build/clients/wallet-spec#encoding-of-hash-types","type":"docs"},{"id":228,"pageTitle":"Archethic's wallet specification","sectionTitle":"Transaction representation","sectionRoute":"/build/clients/wallet-spec#transaction-representation","type":"docs"},{"id":229,"pageTitle":"Archethic's wallet specification","sectionTitle":"Format","sectionRoute":"/build/clients/wallet-spec#format","type":"docs"},{"id":230,"pageTitle":"Archethic's wallet specification","sectionTitle":"Public Key Format","sectionRoute":"/build/clients/wallet-spec#public-key-format","type":"docs"},{"id":231,"pageTitle":"Archethic's wallet specification","sectionTitle":"Account Address Format","sectionRoute":"/build/clients/wallet-spec#account-address-format","type":"docs"},{"id":237,"pageTitle":"Core development","sectionTitle":"Core development","sectionRoute":"/build/core/","type":"docs"},{"id":238,"pageTitle":"Core development","sectionTitle":"Technology Stack","sectionRoute":"/build/core/#technology-stack","type":"docs"},{"id":239,"pageTitle":"Core development","sectionTitle":"Why Elixir ?","sectionRoute":"/build/core/#why-elixir-","type":"docs"},{"id":240,"pageTitle":"Core development","sectionTitle":"Why C ?","sectionRoute":"/build/core/#why-c-","type":"docs"},{"id":241,"pageTitle":"Core development","sectionTitle":"Structure","sectionRoute":"/build/core/#structure","type":"docs"},{"id":242,"pageTitle":"Account","sectionTitle":"Account","sectionRoute":"/build/core/account","type":"docs"},{"id":243,"pageTitle":"Account","sectionTitle":"UCO","sectionRoute":"/build/core/account#uco","type":"docs"},{"id":244,"pageTitle":"Account","sectionTitle":"Ledger","sectionRoute":"/build/core/account#ledger","type":"docs"},{"id":245,"pageTitle":"Account","sectionTitle":"Index","sectionRoute":"/build/core/account#index","type":"docs"},{"id":246,"pageTitle":"Account","sectionTitle":"Token","sectionRoute":"/build/core/account#token","type":"docs"},{"id":247,"pageTitle":"Account","sectionTitle":"Ledger","sectionRoute":"/build/core/account#ledger-1","type":"docs"},{"id":248,"pageTitle":"Account","sectionTitle":"Index","sectionRoute":"/build/core/account#index-1","type":"docs"},{"id":249,"pageTitle":"Account","sectionTitle":"Loading","sectionRoute":"/build/core/account#loading","type":"docs"},{"id":250,"pageTitle":"BeaconChain","sectionTitle":"BeaconChain","sectionRoute":"/build/core/beacon-chain/","type":"docs"},{"id":251,"pageTitle":"BeaconChain","sectionTitle":"Subsets","sectionRoute":"/build/core/beacon-chain/#subsets","type":"docs"},{"id":252,"pageTitle":"BeaconChain","sectionTitle":"Timers and schedulers","sectionRoute":"/build/core/beacon-chain/#timers-and-schedulers","type":"docs"},{"id":253,"pageTitle":"BeaconChain","sectionTitle":"Transaction loading","sectionRoute":"/build/core/beacon-chain/#transaction-loading","type":"docs"},{"id":254,"pageTitle":"BeaconChain","sectionTitle":"Supervisor","sectionRoute":"/build/core/beacon-chain/#supervisor","type":"docs"},{"id":255,"pageTitle":"P2P availability sampling","sectionTitle":"P2P availability sampling","sectionRoute":"/build/core/beacon-chain/p2p-sampling","type":"docs"},{"id":256,"pageTitle":"P2P availability sampling","sectionTitle":"Heartbeat","sectionRoute":"/build/core/beacon-chain/p2p-sampling#heartbeat","type":"docs"},{"id":257,"pageTitle":"P2P availability sampling","sectionTitle":"Aggregation","sectionRoute":"/build/core/beacon-chain/p2p-sampling#aggregation","type":"docs"},{"id":316,"pageTitle":"Bootstrap","sectionTitle":"Bootstrap","sectionRoute":"/build/core/bootstrap","type":"docs"},{"id":317,"pageTitle":"Bootstrap","sectionTitle":"Network initizialiation","sectionRoute":"/build/core/bootstrap#network-initizialiation","type":"docs"},{"id":318,"pageTitle":"Bootstrap","sectionTitle":"First node bootstrapping","sectionRoute":"/build/core/bootstrap#first-node-bootstrapping","type":"docs"},{"id":319,"pageTitle":"Bootstrap","sectionTitle":"Next time bootstraps","sectionRoute":"/build/core/bootstrap#next-time-bootstraps","type":"docs"},{"id":271,"pageTitle":"Cryptography","sectionTitle":"Cryptography","sectionRoute":"/build/core/cryptography/","type":"docs"},{"id":272,"pageTitle":"Cryptography","sectionTitle":"Node Keystore","sectionRoute":"/build/core/cryptography/#node-keystore","type":"docs"},{"id":273,"pageTitle":"Cryptography","sectionTitle":"Node Shared Secrets Keystore","sectionRoute":"/build/core/cryptography/#node-shared-secrets-keystore","type":"docs"},{"id":258,"pageTitle":"TPM Implementation","sectionTitle":"TPM Implementation","sectionRoute":"/build/core/cryptography/tpm","type":"docs"},{"id":259,"pageTitle":"TPM Implementation","sectionTitle":"Global Variables","sectionRoute":"/build/core/cryptography/tpm#global-variables","type":"docs"},{"id":260,"pageTitle":"TPM Implementation","sectionTitle":"void keyToASN():","sectionRoute":"/build/core/cryptography/tpm#void-keytoasn","type":"docs"},{"id":261,"pageTitle":"TPM Implementation","sectionTitle":"void signToASN(BYTE r, INT sizeR, BYTE s, INT sizeS, INT *asnSignSize)","sectionRoute":"/build/core/cryptography/tpm#void-signtoasnbyte-r-int-sizer-byte-s-int-sizes-int-asnsignsize","type":"docs"},{"id":262,"pageTitle":"TPM Implementation","sectionTitle":"void generatePublicKey(INT keyIndex)","sectionRoute":"/build/core/cryptography/tpm#void-generatepublickeyint-keyindex","type":"docs"},{"id":263,"pageTitle":"TPM Implementation","sectionTitle":"setRootKey()","sectionRoute":"/build/core/cryptography/tpm#setrootkey","type":"docs"},{"id":264,"pageTitle":"TPM Implementation","sectionTitle":"updateHandlesIndexes()","sectionRoute":"/build/core/cryptography/tpm#updatehandlesindexes","type":"docs"},{"id":265,"pageTitle":"TPM Implementation","sectionTitle":"initializeTPM(INT keyIndex):","sectionRoute":"/build/core/cryptography/tpm#initializetpmint-keyindex","type":"docs"},{"id":266,"pageTitle":"TPM Implementation","sectionTitle":"getKeyIndex():","sectionRoute":"/build/core/cryptography/tpm#getkeyindex","type":"docs"},{"id":267,"pageTitle":"TPM Implementation","sectionTitle":"setKeyIndex(INT keyIndex):","sectionRoute":"/build/core/cryptography/tpm#setkeyindexint-keyindex","type":"docs"},{"id":268,"pageTitle":"TPM Implementation","sectionTitle":"getPublicKey(INT keyIndex, INT *publicKeySize):","sectionRoute":"/build/core/cryptography/tpm#getpublickeyint-keyindex-int-publickeysize","type":"docs"},{"id":269,"pageTitle":"TPM Implementation","sectionTitle":"signECDSA(INT keyIndex, BYTE hashToSign, INT eccSignSize, bool increment):","sectionRoute":"/build/core/cryptography/tpm#signecdsaint-keyindex-byte-hashtosign-int-eccsignsize-bool-increment","type":"docs"},{"id":270,"pageTitle":"TPM Implementation","sectionTitle":"getECDHPoint(INT keyIndex, BYTE *euphemeralKey):","sectionRoute":"/build/core/cryptography/tpm#getecdhpointint-keyindex-byte-euphemeralkey","type":"docs"},{"id":274,"pageTitle":"Yubikey implementation","sectionTitle":"Yubikey implementation","sectionRoute":"/build/core/cryptography/yubikey","type":"docs"},{"id":275,"pageTitle":"Yubikey implementation","sectionTitle":"initializeYK() :","sectionRoute":"/build/core/cryptography/yubikey#initializeyk-","type":"docs"},{"id":276,"pageTitle":"Yubikey implementation","sectionTitle":"bool checkYK():","sectionRoute":"/build/core/cryptography/yubikey#bool-checkyk","type":"docs"},{"id":277,"pageTitle":"Yubikey implementation","sectionTitle":"verifyPinYK():","sectionRoute":"/build/core/cryptography/yubikey#verifypinyk","type":"docs"},{"id":278,"pageTitle":"Yubikey implementation","sectionTitle":"authenticateYK():","sectionRoute":"/build/core/cryptography/yubikey#authenticateyk","type":"docs"},{"id":279,"pageTitle":"Yubikey implementation","sectionTitle":"fetchKey(keyIndex):","sectionRoute":"/build/core/cryptography/yubikey#fetchkeykeyindex","type":"docs"},{"id":280,"pageTitle":"Yubikey implementation","sectionTitle":"generateKey(ykIndex):","sectionRoute":"/build/core/cryptography/yubikey#generatekeyykindex","type":"docs"},{"id":281,"pageTitle":"Yubikey implementation","sectionTitle":"generateCertificate(ykIndex):","sectionRoute":"/build/core/cryptography/yubikey#generatecertificateykindex","type":"docs"},{"id":282,"pageTitle":"Yubikey implementation","sectionTitle":"getYKIndex():","sectionRoute":"/build/core/cryptography/yubikey#getykindex","type":"docs"},{"id":283,"pageTitle":"Yubikey implementation","sectionTitle":"saveIndex(ykIndex, archethicIndex):","sectionRoute":"/build/core/cryptography/yubikey#saveindexykindex-archethicindex","type":"docs"},{"id":284,"pageTitle":"Yubikey implementation","sectionTitle":"signECDSA(hashtoSign, ykIndex):","sectionRoute":"/build/core/cryptography/yubikey#signecdsahashtosign-ykindex","type":"docs"},{"id":285,"pageTitle":"Yubikey implementation","sectionTitle":"getECDHPoint(ykIndex, euphermerakley) :","sectionRoute":"/build/core/cryptography/yubikey#getecdhpointykindex-euphermerakley-","type":"docs"},{"id":286,"pageTitle":"Yubikey implementation","sectionTitle":"getArchEthicIndex():","sectionRoute":"/build/core/cryptography/yubikey#getarchethicindex","type":"docs"},{"id":287,"pageTitle":"Yubikey implementation","sectionTitle":"incrementIndex():","sectionRoute":"/build/core/cryptography/yubikey#incrementindex","type":"docs"},{"id":288,"pageTitle":"Yubikey implementation","sectionTitle":"getRootKey():","sectionRoute":"/build/core/cryptography/yubikey#getrootkey","type":"docs"},{"id":289,"pageTitle":"Yubikey implementation","sectionTitle":"getCurrentKey(publicKeySize):","sectionRoute":"/build/core/cryptography/yubikey#getcurrentkeypublickeysize","type":"docs"},{"id":290,"pageTitle":"Yubikey implementation","sectionTitle":"getNextKey( publicKeySize):","sectionRoute":"/build/core/cryptography/yubikey#getnextkey-publickeysize","type":"docs"},{"id":291,"pageTitle":"Yubikey implementation","sectionTitle":"getPastKey(archEthicIndex, publicKeySize):","sectionRoute":"/build/core/cryptography/yubikey#getpastkeyarchethicindex-publickeysize","type":"docs"},{"id":292,"pageTitle":"Yubikey implementation","sectionTitle":"getRootCertificate( certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getrootcertificate-certificatesize","type":"docs"},{"id":293,"pageTitle":"Yubikey implementation","sectionTitle":"getCurrentCertificate(certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getcurrentcertificatecertificatesize","type":"docs"},{"id":294,"pageTitle":"Yubikey implementation","sectionTitle":"getNextCertificate(certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getnextcertificatecertificatesize","type":"docs"},{"id":295,"pageTitle":"Yubikey implementation","sectionTitle":"getPastCertificate(archEthicIndex, certificateSize):","sectionRoute":"/build/core/cryptography/yubikey#getpastcertificatearchethicindex-certificatesize","type":"docs"},{"id":296,"pageTitle":"Yubikey implementation","sectionTitle":"signCurrentKey(hashToSign, eccSignSize):","sectionRoute":"/build/core/cryptography/yubikey#signcurrentkeyhashtosign-eccsignsize","type":"docs"},{"id":297,"pageTitle":"Yubikey implementation","sectionTitle":"signPastKey(archEthicIndex, hashToSign, eccSignSize):","sectionRoute":"/build/core/cryptography/yubikey#signpastkeyarchethicindex-hashtosign-eccsignsize","type":"docs"},{"id":298,"pageTitle":"Yubikey implementation","sectionTitle":"ecdhCurrentKey(euphemeralKey, eccPointSize):","sectionRoute":"/build/core/cryptography/yubikey#ecdhcurrentkeyeuphemeralkey-eccpointsize","type":"docs"},{"id":299,"pageTitle":"Yubikey implementation","sectionTitle":"ecdhPastKey( archEthicIndex, euphemeralKey, eccPointSize):","sectionRoute":"/build/core/cryptography/yubikey#ecdhpastkey-archethicindex-euphemeralkey-eccpointsize","type":"docs"},{"id":304,"pageTitle":"Archethic's database","sectionTitle":"Archethic's database","sectionRoute":"/build/core/database","type":"docs"},{"id":305,"pageTitle":"Archethic's database","sectionTitle":"Rationale","sectionRoute":"/build/core/database#rationale","type":"docs"},{"id":306,"pageTitle":"Archethic's database","sectionTitle":"Log Structured Merge","sectionRoute":"/build/core/database#log-structured-merge","type":"docs"},{"id":307,"pageTitle":"Archethic's database","sectionTitle":"Log Structured Hash Tables","sectionRoute":"/build/core/database#log-structured-hash-tables","type":"docs"},{"id":308,"pageTitle":"Archethic's database","sectionTitle":"Our approach","sectionRoute":"/build/core/database#our-approach","type":"docs"},{"id":309,"pageTitle":"Archethic's database","sectionTitle":"Design","sectionRoute":"/build/core/database#design","type":"docs"},{"id":310,"pageTitle":"Archethic's database","sectionTitle":"Chains storage","sectionRoute":"/build/core/database#chains-storage","type":"docs"},{"id":311,"pageTitle":"Archethic's database","sectionTitle":"Chain indexing","sectionRoute":"/build/core/database#chain-indexing","type":"docs"},{"id":312,"pageTitle":"Archethic's database","sectionTitle":"Chain reader","sectionRoute":"/build/core/database#chain-reader","type":"docs"},{"id":313,"pageTitle":"Archethic's database","sectionTitle":"Write path","sectionRoute":"/build/core/database#write-path","type":"docs"},{"id":314,"pageTitle":"Archethic's database","sectionTitle":"Read path","sectionRoute":"/build/core/database#read-path","type":"docs"},{"id":315,"pageTitle":"Archethic's database","sectionTitle":"Additional of-chain storage","sectionRoute":"/build/core/database#additional-of-chain-storage","type":"docs"},{"id":300,"pageTitle":"Election","sectionTitle":"Election","sectionRoute":"/build/core/election","type":"docs"},{"id":301,"pageTitle":"Election","sectionTitle":"Heuristic constraints","sectionRoute":"/build/core/election#heuristic-constraints","type":"docs"},{"id":302,"pageTitle":"Election","sectionTitle":"Low-Level integrations","sectionRoute":"/build/core/election#low-level-integrations","type":"docs"},{"id":303,"pageTitle":"Election","sectionTitle":"Hypergeomtric distribution","sectionRoute":"/build/core/election#hypergeomtric-distribution","type":"docs"},{"id":320,"pageTitle":"Code Proposals","sectionTitle":"Code Proposals","sectionRoute":"/build/core/governance/code-proposals","type":"docs"},{"id":321,"pageTitle":"CD","sectionTitle":"CD","sectionRoute":"/build/core/governance/code-proposals-cd","type":"docs"},{"id":322,"pageTitle":"CI","sectionTitle":"CI","sectionRoute":"/build/core/governance/code-proposals-ci","type":"docs"},{"id":323,"pageTitle":"Mining","sectionTitle":"Mining","sectionRoute":"/build/core/mining/","type":"docs"},{"id":324,"pageTitle":"Mining","sectionTitle":"Standalone validation workflow","sectionRoute":"/build/core/mining/#standalone-validation-workflow","type":"docs"},{"id":325,"pageTitle":"Mining","sectionTitle":"Distributed validation","sectionRoute":"/build/core/mining/#distributed-validation","type":"docs"},{"id":326,"pageTitle":"Mining","sectionTitle":"Worflow","sectionRoute":"/build/core/mining/#worflow","type":"docs"},{"id":327,"pageTitle":"Mining","sectionTitle":"FSM","sectionRoute":"/build/core/mining/#fsm","type":"docs"},{"id":331,"pageTitle":"Proof of Work algorithm","sectionTitle":"Proof of Work algorithm","sectionRoute":"/build/core/mining/proof-of-work","type":"docs"},{"id":332,"pageTitle":"Proof of Work algorithm","sectionTitle":"Origin public key candidates","sectionRoute":"/build/core/mining/proof-of-work#origin-public-key-candidates","type":"docs"},{"id":333,"pageTitle":"Proof of Work algorithm","sectionTitle":"Lookup","sectionRoute":"/build/core/mining/proof-of-work#lookup","type":"docs"},{"id":328,"pageTitle":"Transaction context retrieval","sectionTitle":"Transaction context retrieval","sectionRoute":"/build/core/mining/transaction-context","type":"docs"},{"id":329,"pageTitle":"Transaction context retrieval","sectionTitle":"Retrieval","sectionRoute":"/build/core/mining/transaction-context#retrieval","type":"docs"},{"id":330,"pageTitle":"Transaction context retrieval","sectionTitle":"Node distribution","sectionRoute":"/build/core/mining/transaction-context#node-distribution","type":"docs"},{"id":334,"pageTitle":"Pending transaction validation","sectionTitle":"Pending transaction validation","sectionRoute":"/build/core/mining/transaction-validation","type":"docs"},{"id":335,"pageTitle":"Pending transaction validation","sectionTitle":"Smart contract verification","sectionRoute":"/build/core/mining/transaction-validation#smart-contract-verification","type":"docs"},{"id":336,"pageTitle":"Pending transaction validation","sectionTitle":"Transaction type verification","sectionRoute":"/build/core/mining/transaction-validation#transaction-type-verification","type":"docs"},{"id":337,"pageTitle":"Pending transaction validation","sectionTitle":"Node transaction verification","sectionRoute":"/build/core/mining/transaction-validation#node-transaction-verification","type":"docs"},{"id":338,"pageTitle":"Pending transaction validation","sectionTitle":"Node shared secrets transaction verification","sectionRoute":"/build/core/mining/transaction-validation#node-shared-secrets-transaction-verification","type":"docs"},{"id":339,"pageTitle":"Pending transaction validation","sectionTitle":"Token transaction verification","sectionRoute":"/build/core/mining/transaction-validation#token-transaction-verification","type":"docs"},{"id":340,"pageTitle":"Pending transaction validation","sectionTitle":"Oracle transaction verification","sectionRoute":"/build/core/mining/transaction-validation#oracle-transaction-verification","type":"docs"},{"id":341,"pageTitle":"Pending transaction validation","sectionTitle":"OracleSummary transaction verification","sectionRoute":"/build/core/mining/transaction-validation#oraclesummary-transaction-verification","type":"docs"},{"id":342,"pageTitle":"Pending transaction validation","sectionTitle":"Code proposal transaction verification","sectionRoute":"/build/core/mining/transaction-validation#code-proposal-transaction-verification","type":"docs"},{"id":343,"pageTitle":"Pending transaction validation","sectionTitle":"Code approval transaction verification","sectionRoute":"/build/core/mining/transaction-validation#code-approval-transaction-verification","type":"docs"},{"id":344,"pageTitle":"OracleChain","sectionTitle":"OracleChain","sectionRoute":"/build/core/oracle-chain/","type":"docs"},{"id":345,"pageTitle":"OracleChain Memory Tables","sectionTitle":"OracleChain Memory Tables","sectionRoute":"/build/core/oracle-chain/memory-table","type":"docs"},{"id":346,"pageTitle":"OracleChain Scheduler","sectionTitle":"OracleChain Scheduler","sectionRoute":"/build/core/oracle-chain/scheduler","type":"docs"},{"id":347,"pageTitle":"Oracle Chain Service","sectionTitle":"Oracle Chain Service","sectionRoute":"/build/core/oracle-chain/service","type":"docs"},{"id":348,"pageTitle":"Oracle Chain Service","sectionTitle":"Behavior","sectionRoute":"/build/core/oracle-chain/service#behavior","type":"docs"},{"id":349,"pageTitle":"Oracle Chain Service","sectionTitle":"Example","sectionRoute":"/build/core/oracle-chain/service#example","type":"docs"},{"id":350,"pageTitle":"Oracle Chain Service","sectionTitle":"Configuration","sectionRoute":"/build/core/oracle-chain/service#configuration","type":"docs"},{"id":351,"pageTitle":"P2P","sectionTitle":"P2P","sectionRoute":"/build/core/p2p/","type":"docs"},{"id":352,"pageTitle":"Messaging","sectionTitle":"Messaging","sectionRoute":"/build/core/p2p/messaging","type":"docs"},{"id":353,"pageTitle":"Messaging","sectionTitle":"Stream Multiplexer","sectionRoute":"/build/core/p2p/messaging#stream-multiplexer","type":"docs"},{"id":354,"pageTitle":"Messaging","sectionTitle":"Binary Protocol","sectionRoute":"/build/core/p2p/messaging#binary-protocol","type":"docs"},{"id":355,"pageTitle":"Messaging","sectionTitle":"Message envelop","sectionRoute":"/build/core/p2p/messaging#message-envelop","type":"docs"},{"id":356,"pageTitle":"Node","sectionTitle":"Node","sectionRoute":"/build/core/p2p/node","type":"docs"},{"id":357,"pageTitle":"Node","sectionTitle":"Data structure","sectionRoute":"/build/core/p2p/node#data-structure","type":"docs"},{"id":358,"pageTitle":"Node","sectionTitle":"P2P tables view","sectionRoute":"/build/core/p2p/node#p2p-tables-view","type":"docs"},{"id":359,"pageTitle":"Node","sectionTitle":"Discovery table","sectionRoute":"/build/core/p2p/node#discovery-table","type":"docs"},{"id":360,"pageTitle":"Node","sectionTitle":"Availability lookup table","sectionRoute":"/build/core/p2p/node#availability-lookup-table","type":"docs"},{"id":361,"pageTitle":"Node","sectionTitle":"Authorized nodes table","sectionRoute":"/build/core/p2p/node#authorized-nodes-table","type":"docs"},{"id":362,"pageTitle":"Node","sectionTitle":"Nodes key lookup table","sectionRoute":"/build/core/p2p/node#nodes-key-lookup-table","type":"docs"},{"id":367,"pageTitle":"Howto create a DApp","sectionTitle":"Howto create a DApp","sectionRoute":"/build/dapp/","type":"docs"},{"id":368,"pageTitle":"Howto create a DApp","sectionTitle":"Introduction","sectionRoute":"/build/dapp/#introduction","type":"docs"},{"id":369,"pageTitle":"Howto create a DApp","sectionTitle":"Communication Channels","sectionRoute":"/build/dapp/#communication-channels","type":"docs"},{"id":370,"pageTitle":"Howto create a DApp","sectionTitle":"Tools and Libraries","sectionRoute":"/build/dapp/#tools-and-libraries","type":"docs"},{"id":371,"pageTitle":"Connecting aeWallet","sectionTitle":"Connecting aeWallet","sectionRoute":"/build/dapp/connecting","type":"docs"},{"id":363,"pageTitle":"FAQ","sectionTitle":"FAQ","sectionRoute":"/build/dapp/faq","type":"docs"},{"id":364,"pageTitle":"FAQ","sectionTitle":"How to test a WebSocket connection locally?","sectionRoute":"/build/dapp/faq#how-to-test-a-websocket-connection-locally","type":"docs"},{"id":365,"pageTitle":"FAQ","sectionTitle":"Which browsers are supported?","sectionRoute":"/build/dapp/faq#which-browsers-are-supported","type":"docs"},{"id":366,"pageTitle":"FAQ","sectionTitle":"Deeplink RPC limitations","sectionRoute":"/build/dapp/faq#deeplink-rpc-limitations","type":"docs"},{"id":372,"pageTitle":"Getting started","sectionTitle":"Getting started","sectionRoute":"/build/dapp/getting-started","type":"docs"},{"id":374,"pageTitle":"RPC Commands","sectionTitle":"RPC Commands","sectionRoute":"/build/dapp/rpc-commands","type":"docs"},{"id":375,"pageTitle":"RPC Commands","sectionTitle":"get_endpoint","sectionRoute":"/build/dapp/rpc-commands#get_endpoint","type":"docs"},{"id":376,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request","type":"docs"},{"id":377,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response","type":"docs"},{"id":378,"pageTitle":"RPC Commands","sectionTitle":"refresh_current_account","sectionRoute":"/build/dapp/rpc-commands#refresh_current_account","type":"docs"},{"id":379,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-1","type":"docs"},{"id":380,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-1","type":"docs"},{"id":381,"pageTitle":"RPC Commands","sectionTitle":"get_accounts","sectionRoute":"/build/dapp/rpc-commands#get_accounts","type":"docs"},{"id":382,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-2","type":"docs"},{"id":383,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-2","type":"docs"},{"id":384,"pageTitle":"RPC Commands","sectionTitle":"send_transaction","sectionRoute":"/build/dapp/rpc-commands#send_transaction","type":"docs"},{"id":385,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-3","type":"docs"},{"id":386,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-3","type":"docs"},{"id":387,"pageTitle":"RPC Commands","sectionTitle":"add_service","sectionRoute":"/build/dapp/rpc-commands#add_service","type":"docs"},{"id":388,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-4","type":"docs"},{"id":389,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-4","type":"docs"},{"id":390,"pageTitle":"RPC Commands","sectionTitle":"remove_service","sectionRoute":"/build/dapp/rpc-commands#remove_service","type":"docs"},{"id":391,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-5","type":"docs"},{"id":392,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-5","type":"docs"},{"id":393,"pageTitle":"RPC Commands","sectionTitle":"get_services_from_keychain","sectionRoute":"/build/dapp/rpc-commands#get_services_from_keychain","type":"docs"},{"id":394,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-6","type":"docs"},{"id":395,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-6","type":"docs"},{"id":396,"pageTitle":"RPC Commands","sectionTitle":"keychain_derive_keypair","sectionRoute":"/build/dapp/rpc-commands#keychain_derive_keypair","type":"docs"},{"id":397,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-7","type":"docs"},{"id":398,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-7","type":"docs"},{"id":399,"pageTitle":"RPC Commands","sectionTitle":"keychain_derive_address","sectionRoute":"/build/dapp/rpc-commands#keychain_derive_address","type":"docs"},{"id":400,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-8","type":"docs"},{"id":401,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-8","type":"docs"},{"id":402,"pageTitle":"RPC Commands","sectionTitle":"get_current_account","sectionRoute":"/build/dapp/rpc-commands#get_current_account","type":"docs"},{"id":403,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-9","type":"docs"},{"id":404,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-9","type":"docs"},{"id":405,"pageTitle":"RPC Commands","sectionTitle":"sign_transactions","sectionRoute":"/build/dapp/rpc-commands#sign_transactions","type":"docs"},{"id":406,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-10","type":"docs"},{"id":407,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-10","type":"docs"},{"id":408,"pageTitle":"RPC Commands","sectionTitle":"sign_payloads","sectionRoute":"/build/dapp/rpc-commands#sign_payloads","type":"docs"},{"id":409,"pageTitle":"RPC Commands","sectionTitle":"Request","sectionRoute":"/build/dapp/rpc-commands#request-11","type":"docs"},{"id":410,"pageTitle":"RPC Commands","sectionTitle":"Success Response","sectionRoute":"/build/dapp/rpc-commands#success-response-11","type":"docs"},{"id":411,"pageTitle":"RPC Commands","sectionTitle":"subscribe_account","sectionRoute":"/build/dapp/rpc-commands#subscribe_account","type":"docs"},{"id":412,"pageTitle":"RPC Commands","sectionTitle":"Subscription","sectionRoute":"/build/dapp/rpc-commands#subscription","type":"docs"},{"id":413,"pageTitle":"RPC Commands","sectionTitle":"Notifications","sectionRoute":"/build/dapp/rpc-commands#notifications","type":"docs"},{"id":414,"pageTitle":"RPC Commands","sectionTitle":"subscribe_current_account","sectionRoute":"/build/dapp/rpc-commands#subscribe_current_account","type":"docs"},{"id":415,"pageTitle":"RPC Commands","sectionTitle":"Subscription","sectionRoute":"/build/dapp/rpc-commands#subscription-1","type":"docs"},{"id":416,"pageTitle":"RPC Commands","sectionTitle":"Notifications","sectionRoute":"/build/dapp/rpc-commands#notifications-1","type":"docs"},{"id":373,"pageTitle":"Signing transaction","sectionTitle":"Signing transaction","sectionRoute":"/build/dapp/signing-transaction","type":"docs"},{"id":417,"pageTitle":"Watching account","sectionTitle":"Watching account","sectionRoute":"/build/dapp/watch-balance","type":"docs"},{"id":418,"pageTitle":"SDK","sectionTitle":"SDK","sectionRoute":"/build/sdk/","type":"docs"},{"id":420,"pageTitle":"Dart SDK","sectionTitle":"Dart SDK","sectionRoute":"/build/sdk/dart","type":"docs"},{"id":421,"pageTitle":"Go SDK","sectionTitle":"Go SDK","sectionRoute":"/build/sdk/go","type":"docs"},{"id":419,"pageTitle":"Javascript SDK","sectionTitle":"Javascript SDK","sectionRoute":"/build/sdk/js","type":"docs"},{"id":422,"pageTitle":"Smart Contracts","sectionTitle":"Smart Contracts","sectionRoute":"/build/smart-contracts/","type":"docs"},{"id":423,"pageTitle":"Smart Contracts","sectionTitle":"Autonomous","sectionRoute":"/build/smart-contracts/#autonomous","type":"docs"},{"id":424,"pageTitle":"Smart Contracts","sectionTitle":"Modifiable","sectionRoute":"/build/smart-contracts/#modifiable","type":"docs"},{"id":425,"pageTitle":"Smart Contracts","sectionTitle":"Secured","sectionRoute":"/build/smart-contracts/#secured","type":"docs"},{"id":426,"pageTitle":"Smart Contracts","sectionTitle":"State management","sectionRoute":"/build/smart-contracts/#state-management","type":"docs"},{"id":427,"pageTitle":"Smart Contracts - Fees","sectionTitle":"Smart Contracts - Fees","sectionRoute":"/build/smart-contracts/fees","type":"docs"},{"id":437,"pageTitle":"Interpreter Language","sectionTitle":"Interpreter Language","sectionRoute":"/build/smart-contracts/language/","type":"docs"},{"id":438,"pageTitle":"Interpreter Language","sectionTitle":"Version attribute","sectionRoute":"/build/smart-contracts/language/#version-attribute","type":"docs"},{"id":439,"pageTitle":"Interpreter Language","sectionTitle":"Basic Types","sectionRoute":"/build/smart-contracts/language/#basic-types","type":"docs"},{"id":440,"pageTitle":"Interpreter Language","sectionTitle":"Hexadecimals","sectionRoute":"/build/smart-contracts/language/#hexadecimals","type":"docs"},{"id":441,"pageTitle":"Interpreter Language","sectionTitle":"ASCII character in string","sectionRoute":"/build/smart-contracts/language/#ascii-character-in-string","type":"docs"},{"id":442,"pageTitle":"Interpreter Language","sectionTitle":"Comparaison","sectionRoute":"/build/smart-contracts/language/#comparaison","type":"docs"},{"id":443,"pageTitle":"Interpreter Language","sectionTitle":"Arithmetic","sectionRoute":"/build/smart-contracts/language/#arithmetic","type":"docs"},{"id":444,"pageTitle":"Interpreter Language","sectionTitle":"Ranges","sectionRoute":"/build/smart-contracts/language/#ranges","type":"docs"},{"id":445,"pageTitle":"Interpreter Language","sectionTitle":"Loop","sectionRoute":"/build/smart-contracts/language/#loop","type":"docs"},{"id":446,"pageTitle":"Interpreter Language","sectionTitle":"Variables & Scopes","sectionRoute":"/build/smart-contracts/language/#variables--scopes","type":"docs"},{"id":447,"pageTitle":"Interpreter Language","sectionTitle":"Lists","sectionRoute":"/build/smart-contracts/language/#lists","type":"docs"},{"id":448,"pageTitle":"Interpreter Language","sectionTitle":"Maps","sectionRoute":"/build/smart-contracts/language/#maps","type":"docs"},{"id":449,"pageTitle":"Interpreter Language","sectionTitle":"Functions","sectionRoute":"/build/smart-contracts/language/#functions","type":"docs"},{"id":450,"pageTitle":"Interpreter Language","sectionTitle":"Internal Functions","sectionRoute":"/build/smart-contracts/language/#internal-functions","type":"docs"},{"id":451,"pageTitle":"Interpreter Language","sectionTitle":"Exported Functions","sectionRoute":"/build/smart-contracts/language/#exported-functions","type":"docs"},{"id":452,"pageTitle":"Interpreter Language","sectionTitle":"Library","sectionRoute":"/build/smart-contracts/language/#library","type":"docs"},{"id":453,"pageTitle":"Interpreter Language","sectionTitle":"Errors","sectionRoute":"/build/smart-contracts/language/#errors","type":"docs"},{"id":454,"pageTitle":"Interpreter Language","sectionTitle":"Reserved keywords","sectionRoute":"/build/smart-contracts/language/#reserved-keywords","type":"docs"},{"id":455,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Smart Contracts - Actions block","sectionRoute":"/build/smart-contracts/language/actions","type":"docs"},{"id":456,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Global variables","sectionRoute":"/build/smart-contracts/language/actions#global-variables","type":"docs"},{"id":457,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Named action arguments","sectionRoute":"/build/smart-contracts/language/actions#named-action-arguments","type":"docs"},{"id":458,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Generating the next transaction","sectionRoute":"/build/smart-contracts/language/actions#generating-the-next-transaction","type":"docs"},{"id":459,"pageTitle":"Smart Contracts - Actions block","sectionTitle":"Appendix 1: The transaction map","sectionRoute":"/build/smart-contracts/language/actions#appendix-1-the-transaction-map","type":"docs"},{"id":428,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Smart Contracts - Condition block","sectionRoute":"/build/smart-contracts/language/condition","type":"docs"},{"id":429,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Boolean expressions","sectionRoute":"/build/smart-contracts/language/condition#boolean-expressions","type":"docs"},{"id":430,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Rules","sectionRoute":"/build/smart-contracts/language/condition#rules","type":"docs"},{"id":431,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Condition inherit","sectionRoute":"/build/smart-contracts/language/condition#condition-inherit","type":"docs"},{"id":432,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Examples","sectionRoute":"/build/smart-contracts/language/condition#examples","type":"docs"},{"id":433,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Condition triggered by a transaction","sectionRoute":"/build/smart-contracts/language/condition#condition-triggered-by-a-transaction","type":"docs"},{"id":434,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Examples","sectionRoute":"/build/smart-contracts/language/condition#examples-1","type":"docs"},{"id":435,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Condition triggered by an oracle","sectionRoute":"/build/smart-contracts/language/condition#condition-triggered-by-an-oracle","type":"docs"},{"id":436,"pageTitle":"Smart Contracts - Condition block","sectionTitle":"Examples","sectionRoute":"/build/smart-contracts/language/condition#examples-2","type":"docs"},{"id":460,"pageTitle":"Smart Contracts (Legacy)","sectionTitle":"Smart Contracts (Legacy)","sectionRoute":"/build/smart-contracts/language/legacy/","type":"docs"},{"id":461,"pageTitle":"Smart Contract examples","sectionTitle":"Smart Contract examples","sectionRoute":"/build/smart-contracts/language/legacy/examples","type":"docs"},{"id":462,"pageTitle":"Smart Contract examples","sectionTitle":"Recurrent transfer","sectionRoute":"/build/smart-contracts/language/legacy/examples#recurrent-transfer","type":"docs"},{"id":463,"pageTitle":"Smart Contract examples","sectionTitle":"ICO / Crowdfunding","sectionRoute":"/build/smart-contracts/language/legacy/examples#ico--crowdfunding","type":"docs"},{"id":464,"pageTitle":"Smart Contract Language","sectionTitle":"Smart Contract Language","sectionRoute":"/build/smart-contracts/language/legacy/language","type":"docs"},{"id":465,"pageTitle":"Smart Contract Language","sectionTitle":"Triggers/Actions","sectionRoute":"/build/smart-contracts/language/legacy/language#triggersactions","type":"docs"},{"id":466,"pageTitle":"Smart Contract Language","sectionTitle":"Conditions","sectionRoute":"/build/smart-contracts/language/legacy/language#conditions","type":"docs"},{"id":467,"pageTitle":"Smart Contract Language","sectionTitle":"Global variables","sectionRoute":"/build/smart-contracts/language/legacy/language#global-variables","type":"docs"},{"id":468,"pageTitle":"Smart Contract Language","sectionTitle":"Functions","sectionRoute":"/build/smart-contracts/language/legacy/language#functions","type":"docs"},{"id":469,"pageTitle":"Smart Contract Language","sectionTitle":"Utilities","sectionRoute":"/build/smart-contracts/language/legacy/language#utilities","type":"docs"},{"id":470,"pageTitle":"Smart Contract Language","sectionTitle":"Statements","sectionRoute":"/build/smart-contracts/language/legacy/language#statements","type":"docs"},{"id":474,"pageTitle":"Smart Contracts - Library","sectionTitle":"Smart Contracts - Library","sectionRoute":"/build/smart-contracts/language/library/","type":"docs"},{"id":475,"pageTitle":"Smart Contracts - Library","sectionTitle":"Function's arity","sectionRoute":"/build/smart-contracts/language/library/#functions-arity","type":"docs"},{"id":476,"pageTitle":"Smart Contracts - Library","sectionTitle":"Tagged functions","sectionRoute":"/build/smart-contracts/language/library/#tagged-functions","type":"docs"},{"id":477,"pageTitle":"Smart Contracts - Library","sectionTitle":"Modules list","sectionRoute":"/build/smart-contracts/language/library/#modules-list","type":"docs"},{"id":478,"pageTitle":"Chain module","sectionTitle":"Chain module","sectionRoute":"/build/smart-contracts/language/library/chain","type":"docs"},{"id":479,"pageTitle":"Chain module","sectionTitle":"get_genesis_address/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_genesis_address1-io","type":"docs"},{"id":480,"pageTitle":"Chain module","sectionTitle":"get_first_transaction_address/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_first_transaction_address1-io","type":"docs"},{"id":481,"pageTitle":"Chain module","sectionTitle":"get_genesis_public_key/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_genesis_public_key1-io","type":"docs"},{"id":482,"pageTitle":"Chain module","sectionTitle":"get_burn_address/0","sectionRoute":"/build/smart-contracts/language/library/chain#get_burn_address0","type":"docs"},{"id":483,"pageTitle":"Chain module","sectionTitle":"get_transaction/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_transaction1--io","type":"docs"},{"id":484,"pageTitle":"Chain module","sectionTitle":"get_last_address/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_last_address1-io","type":"docs"},{"id":485,"pageTitle":"Chain module","sectionTitle":"get_last_transaction/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_last_transaction1-io","type":"docs"},{"id":486,"pageTitle":"Chain module","sectionTitle":"get_previous_address/1","sectionRoute":"/build/smart-contracts/language/library/chain#get_previous_address1","type":"docs"},{"id":487,"pageTitle":"Chain module","sectionTitle":"get_balance/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_balance1-io","type":"docs"},{"id":488,"pageTitle":"Chain module","sectionTitle":"get_uco_balance/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_uco_balance1-io","type":"docs"},{"id":489,"pageTitle":"Chain module","sectionTitle":"get_token_balance/2 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_token_balance2-io","type":"docs"},{"id":490,"pageTitle":"Chain module","sectionTitle":"get_token_balance/3 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_token_balance3-io","type":"docs"},{"id":491,"pageTitle":"Chain module","sectionTitle":"get_tokens_balance/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_tokens_balance1-io","type":"docs"},{"id":492,"pageTitle":"Chain module","sectionTitle":"get_tokens_balance/2 [I/O]","sectionRoute":"/build/smart-contracts/language/library/chain#get_tokens_balance2-io","type":"docs"},{"id":471,"pageTitle":"Code module","sectionTitle":"Code module","sectionRoute":"/build/smart-contracts/language/library/code","type":"docs"},{"id":472,"pageTitle":"Code module","sectionTitle":"is_same?/2","sectionRoute":"/build/smart-contracts/language/library/code#is_same2","type":"docs"},{"id":473,"pageTitle":"Code module","sectionTitle":"is_valid?/1","sectionRoute":"/build/smart-contracts/language/library/code#is_valid1","type":"docs"},{"id":496,"pageTitle":"Contract module","sectionTitle":"Contract module","sectionRoute":"/build/smart-contracts/language/library/contract","type":"docs"},{"id":497,"pageTitle":"Contract module","sectionTitle":"call_function/3 [I/O]","sectionRoute":"/build/smart-contracts/language/library/contract#call_function3-io","type":"docs"},{"id":498,"pageTitle":"Contract module","sectionTitle":"set_type/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#set_type1-transaction","type":"docs"},{"id":499,"pageTitle":"Contract module","sectionTitle":"set_content/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#set_content1-transaction","type":"docs"},{"id":500,"pageTitle":"Contract module","sectionTitle":"set_code/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#set_code1-transaction","type":"docs"},{"id":501,"pageTitle":"Contract module","sectionTitle":"add_uco_transfer/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_uco_transfer1-transaction","type":"docs"},{"id":502,"pageTitle":"Contract module","sectionTitle":"add_uco_transfers/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_uco_transfers1-transaction","type":"docs"},{"id":503,"pageTitle":"Contract module","sectionTitle":"add_token_transfer/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_token_transfer1-transaction","type":"docs"},{"id":504,"pageTitle":"Contract module","sectionTitle":"add_token_transfers/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_token_transfers1-transaction","type":"docs"},{"id":505,"pageTitle":"Contract module","sectionTitle":"add_ownership/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_ownership1-transaction","type":"docs"},{"id":506,"pageTitle":"Contract module","sectionTitle":"add_ownerships/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_ownerships1-transaction","type":"docs"},{"id":507,"pageTitle":"Contract module","sectionTitle":"add_recipient/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_recipient1-transaction","type":"docs"},{"id":508,"pageTitle":"Contract module","sectionTitle":"add_recipients/1 [Transaction]","sectionRoute":"/build/smart-contracts/language/library/contract#add_recipients1-transaction","type":"docs"},{"id":530,"pageTitle":"Crypto module","sectionTitle":"Crypto module","sectionRoute":"/build/smart-contracts/language/library/crypto","type":"docs"},{"id":531,"pageTitle":"Crypto module","sectionTitle":"hash/1","sectionRoute":"/build/smart-contracts/language/library/crypto#hash1","type":"docs"},{"id":532,"pageTitle":"Crypto module","sectionTitle":"hash/2","sectionRoute":"/build/smart-contracts/language/library/crypto#hash2","type":"docs"},{"id":533,"pageTitle":"Crypto module","sectionTitle":"hmac/1","sectionRoute":"/build/smart-contracts/language/library/crypto#hmac1","type":"docs"},{"id":534,"pageTitle":"Crypto module","sectionTitle":"hmac/2","sectionRoute":"/build/smart-contracts/language/library/crypto#hmac2","type":"docs"},{"id":535,"pageTitle":"Crypto module","sectionTitle":"hmac/3","sectionRoute":"/build/smart-contracts/language/library/crypto#hmac3","type":"docs"},{"id":536,"pageTitle":"Crypto module","sectionTitle":"sign_with_recovery/1","sectionRoute":"/build/smart-contracts/language/library/crypto#sign_with_recovery1","type":"docs"},{"id":537,"pageTitle":"Crypto module","sectionTitle":"decrypt_with_storage_nonce/1","sectionRoute":"/build/smart-contracts/language/library/crypto#decrypt_with_storage_nonce1","type":"docs"},{"id":493,"pageTitle":"Evm module","sectionTitle":"Evm module","sectionRoute":"/build/smart-contracts/language/library/evm","type":"docs"},{"id":494,"pageTitle":"Evm module","sectionTitle":"abi_encode/2","sectionRoute":"/build/smart-contracts/language/library/evm#abi_encode2","type":"docs"},{"id":495,"pageTitle":"Evm module","sectionTitle":"abi_decode/2","sectionRoute":"/build/smart-contracts/language/library/evm#abi_decode2","type":"docs"},{"id":509,"pageTitle":"Http module","sectionTitle":"Http module","sectionRoute":"/build/smart-contracts/language/library/http","type":"docs"},{"id":510,"pageTitle":"Http module","sectionTitle":"request/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request1-io","type":"docs"},{"id":511,"pageTitle":"Http module","sectionTitle":"request/2 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request2-io","type":"docs"},{"id":512,"pageTitle":"Http module","sectionTitle":"request/3 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request3-io","type":"docs"},{"id":513,"pageTitle":"Http module","sectionTitle":"request/4 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request4-io","type":"docs"},{"id":514,"pageTitle":"Http module","sectionTitle":"request_many/1 [I/O]","sectionRoute":"/build/smart-contracts/language/library/http#request_many1-io","type":"docs"},{"id":515,"pageTitle":"Json module","sectionTitle":"Json module","sectionRoute":"/build/smart-contracts/language/library/json","type":"docs"},{"id":516,"pageTitle":"Json module","sectionTitle":"path_extract/2","sectionRoute":"/build/smart-contracts/language/library/json#path_extract2","type":"docs"},{"id":517,"pageTitle":"Json module","sectionTitle":"path_match?/2","sectionRoute":"/build/smart-contracts/language/library/json#path_match2","type":"docs"},{"id":518,"pageTitle":"Json module","sectionTitle":"to_string/1","sectionRoute":"/build/smart-contracts/language/library/json#to_string1","type":"docs"},{"id":519,"pageTitle":"Json module","sectionTitle":"parse/1","sectionRoute":"/build/smart-contracts/language/library/json#parse1","type":"docs"},{"id":520,"pageTitle":"Json module","sectionTitle":"is_valid?/1","sectionRoute":"/build/smart-contracts/language/library/json#is_valid1","type":"docs"},{"id":554,"pageTitle":"List module","sectionTitle":"List module","sectionRoute":"/build/smart-contracts/language/library/list","type":"docs"},{"id":555,"pageTitle":"List module","sectionTitle":"at/2","sectionRoute":"/build/smart-contracts/language/library/list#at2","type":"docs"},{"id":556,"pageTitle":"List module","sectionTitle":"size/1","sectionRoute":"/build/smart-contracts/language/library/list#size1","type":"docs"},{"id":557,"pageTitle":"List module","sectionTitle":"in?/2","sectionRoute":"/build/smart-contracts/language/library/list#in2","type":"docs"},{"id":558,"pageTitle":"List module","sectionTitle":"empty?/1","sectionRoute":"/build/smart-contracts/language/library/list#empty1","type":"docs"},{"id":559,"pageTitle":"List module","sectionTitle":"concat/2","sectionRoute":"/build/smart-contracts/language/library/list#concat2","type":"docs"},{"id":560,"pageTitle":"List module","sectionTitle":"append/2","sectionRoute":"/build/smart-contracts/language/library/list#append2","type":"docs"},{"id":561,"pageTitle":"List module","sectionTitle":"prepend/2","sectionRoute":"/build/smart-contracts/language/library/list#prepend2","type":"docs"},{"id":562,"pageTitle":"List module","sectionTitle":"join/2","sectionRoute":"/build/smart-contracts/language/library/list#join2","type":"docs"},{"id":563,"pageTitle":"List module","sectionTitle":"sort/1","sectionRoute":"/build/smart-contracts/language/library/list#sort1","type":"docs"},{"id":564,"pageTitle":"List module","sectionTitle":"sort_by/2","sectionRoute":"/build/smart-contracts/language/library/list#sort_by2","type":"docs"},{"id":565,"pageTitle":"List module","sectionTitle":"uniq/1","sectionRoute":"/build/smart-contracts/language/library/list#uniq1","type":"docs"},{"id":566,"pageTitle":"List module","sectionTitle":"reverse/1","sectionRoute":"/build/smart-contracts/language/library/list#reverse1","type":"docs"},{"id":567,"pageTitle":"List module","sectionTitle":"set_at/3","sectionRoute":"/build/smart-contracts/language/library/list#set_at3","type":"docs"},{"id":568,"pageTitle":"List module","sectionTitle":"delete_at/3","sectionRoute":"/build/smart-contracts/language/library/list#delete_at3","type":"docs"},{"id":521,"pageTitle":"Map module","sectionTitle":"Map module","sectionRoute":"/build/smart-contracts/language/library/map","type":"docs"},{"id":522,"pageTitle":"Map module","sectionTitle":"new/0","sectionRoute":"/build/smart-contracts/language/library/map#new0","type":"docs"},{"id":523,"pageTitle":"Map module","sectionTitle":"size/1","sectionRoute":"/build/smart-contracts/language/library/map#size1","type":"docs"},{"id":524,"pageTitle":"Map module","sectionTitle":"get/2","sectionRoute":"/build/smart-contracts/language/library/map#get2","type":"docs"},{"id":525,"pageTitle":"Map module","sectionTitle":"get/3","sectionRoute":"/build/smart-contracts/language/library/map#get3","type":"docs"},{"id":526,"pageTitle":"Map module","sectionTitle":"set/3","sectionRoute":"/build/smart-contracts/language/library/map#set3","type":"docs"},{"id":527,"pageTitle":"Map module","sectionTitle":"keys/1","sectionRoute":"/build/smart-contracts/language/library/map#keys1","type":"docs"},{"id":528,"pageTitle":"Map module","sectionTitle":"values/1","sectionRoute":"/build/smart-contracts/language/library/map#values1","type":"docs"},{"id":529,"pageTitle":"Map module","sectionTitle":"delete/2","sectionRoute":"/build/smart-contracts/language/library/map#delete2","type":"docs"},{"id":538,"pageTitle":"Math module","sectionTitle":"Math module","sectionRoute":"/build/smart-contracts/language/library/math","type":"docs"},{"id":539,"pageTitle":"Math module","sectionTitle":"pow/2","sectionRoute":"/build/smart-contracts/language/library/math#pow2","type":"docs"},{"id":540,"pageTitle":"Math module","sectionTitle":"trunc/1","sectionRoute":"/build/smart-contracts/language/library/math#trunc1","type":"docs"},{"id":541,"pageTitle":"Math module","sectionTitle":"sqrt/1","sectionRoute":"/build/smart-contracts/language/library/math#sqrt1","type":"docs"},{"id":542,"pageTitle":"Math module","sectionTitle":"rem/2","sectionRoute":"/build/smart-contracts/language/library/math#rem2","type":"docs"},{"id":548,"pageTitle":"Regex module","sectionTitle":"Regex module","sectionRoute":"/build/smart-contracts/language/library/regex","type":"docs"},{"id":549,"pageTitle":"Regex module","sectionTitle":"extract/2","sectionRoute":"/build/smart-contracts/language/library/regex#extract2","type":"docs"},{"id":550,"pageTitle":"Regex module","sectionTitle":"match?/2","sectionRoute":"/build/smart-contracts/language/library/regex#match2","type":"docs"},{"id":551,"pageTitle":"Regex module","sectionTitle":"scan/2","sectionRoute":"/build/smart-contracts/language/library/regex#scan2","type":"docs"},{"id":543,"pageTitle":"State module","sectionTitle":"State module","sectionRoute":"/build/smart-contracts/language/library/state","type":"docs"},{"id":544,"pageTitle":"State module","sectionTitle":"get/1","sectionRoute":"/build/smart-contracts/language/library/state#get1","type":"docs"},{"id":545,"pageTitle":"State module","sectionTitle":"get/2","sectionRoute":"/build/smart-contracts/language/library/state#get2","type":"docs"},{"id":546,"pageTitle":"State module","sectionTitle":"set/2","sectionRoute":"/build/smart-contracts/language/library/state#set2","type":"docs"},{"id":547,"pageTitle":"State module","sectionTitle":"delete/1","sectionRoute":"/build/smart-contracts/language/library/state#delete1","type":"docs"},{"id":578,"pageTitle":"String module","sectionTitle":"String module","sectionRoute":"/build/smart-contracts/language/library/string","type":"docs"},{"id":579,"pageTitle":"String module","sectionTitle":"size/1","sectionRoute":"/build/smart-contracts/language/library/string#size1","type":"docs"},{"id":580,"pageTitle":"String module","sectionTitle":"in?/2","sectionRoute":"/build/smart-contracts/language/library/string#in2","type":"docs"},{"id":581,"pageTitle":"String module","sectionTitle":"to_number/1","sectionRoute":"/build/smart-contracts/language/library/string#to_number1","type":"docs"},{"id":582,"pageTitle":"String module","sectionTitle":"from_number/1","sectionRoute":"/build/smart-contracts/language/library/string#from_number1","type":"docs"},{"id":583,"pageTitle":"String module","sectionTitle":"to_hex/1","sectionRoute":"/build/smart-contracts/language/library/string#to_hex1","type":"docs"},{"id":584,"pageTitle":"String module","sectionTitle":"to_uppercase/1","sectionRoute":"/build/smart-contracts/language/library/string#to_uppercase1","type":"docs"},{"id":585,"pageTitle":"String module","sectionTitle":"to_lowercase/1","sectionRoute":"/build/smart-contracts/language/library/string#to_lowercase1","type":"docs"},{"id":552,"pageTitle":"Time module","sectionTitle":"Time module","sectionRoute":"/build/smart-contracts/language/library/time","type":"docs"},{"id":553,"pageTitle":"Time module","sectionTitle":"now/0","sectionRoute":"/build/smart-contracts/language/library/time#now0","type":"docs"},{"id":569,"pageTitle":"Token module","sectionTitle":"Token module","sectionRoute":"/build/smart-contracts/language/library/token","type":"docs"},{"id":570,"pageTitle":"Token module","sectionTitle":"fetch_id_from_address/1 [I/O] (DEPRECATED)","sectionRoute":"/build/smart-contracts/language/library/token#fetch_id_from_address1-io-deprecated","type":"docs"},{"id":571,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Smart Contracts - Triggers","sectionRoute":"/build/smart-contracts/language/triggers","type":"docs"},{"id":572,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered by a transaction","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-by-a-transaction","type":"docs"},{"id":573,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered by a transaction with a named action","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-by-a-transaction-with-a-named-action","type":"docs"},{"id":574,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered at a specific date and time","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-at-a-specific-date-and-time","type":"docs"},{"id":575,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered at a specific interval","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-at-a-specific-interval","type":"docs"},{"id":576,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Contract triggered on every Oracle transaction","sectionRoute":"/build/smart-contracts/language/triggers#contract-triggered-on-every-oracle-transaction","type":"docs"},{"id":577,"pageTitle":"Smart Contracts - Triggers","sectionTitle":"Multiple triggers","sectionRoute":"/build/smart-contracts/language/triggers#multiple-triggers","type":"docs"},{"id":607,"pageTitle":"Getting Started","sectionTitle":"Getting Started","sectionRoute":"/build/smart-contracts/wasm/getting-started","type":"docs"},{"id":608,"pageTitle":"Getting Started","sectionTitle":"Setup","sectionRoute":"/build/smart-contracts/wasm/getting-started#setup","type":"docs"},{"id":609,"pageTitle":"Getting Started","sectionTitle":"Prerequisites","sectionRoute":"/build/smart-contracts/wasm/getting-started#prerequisites","type":"docs"},{"id":610,"pageTitle":"Getting Started","sectionTitle":"Create a new project","sectionRoute":"/build/smart-contracts/wasm/getting-started#create-a-new-project","type":"docs"},{"id":611,"pageTitle":"Getting Started","sectionTitle":"Install SDK","sectionRoute":"/build/smart-contracts/wasm/getting-started#install-sdk","type":"docs"},{"id":612,"pageTitle":"Getting Started","sectionTitle":"Writing your first contract","sectionRoute":"/build/smart-contracts/wasm/getting-started#writing-your-first-contract","type":"docs"},{"id":613,"pageTitle":"Getting Started","sectionTitle":"Test & Simulation","sectionRoute":"/build/smart-contracts/wasm/getting-started#test--simulation","type":"docs"},{"id":614,"pageTitle":"Getting Started","sectionTitle":"Simulate state","sectionRoute":"/build/smart-contracts/wasm/getting-started#simulate-state","type":"docs"},{"id":615,"pageTitle":"Getting Started","sectionTitle":"Simulate constants","sectionRoute":"/build/smart-contracts/wasm/getting-started#simulate-constants","type":"docs"},{"id":616,"pageTitle":"Getting Started","sectionTitle":"Mock Blockchain Calls","sectionRoute":"/build/smart-contracts/wasm/getting-started#mock-blockchain-calls","type":"docs"},{"id":617,"pageTitle":"Getting Started","sectionTitle":"Deployment","sectionRoute":"/build/smart-contracts/wasm/getting-started#deployment","type":"docs"},{"id":618,"pageTitle":"Getting Started","sectionTitle":"Upgrading Contracts","sectionRoute":"/build/smart-contracts/wasm/getting-started#upgrading-contracts","type":"docs"},{"id":586,"pageTitle":"WASM Runtime","sectionTitle":"WASM Runtime","sectionRoute":"/build/smart-contracts/wasm/runtime","type":"docs"},{"id":587,"pageTitle":"WASM Runtime","sectionTitle":"Communication","sectionRoute":"/build/smart-contracts/wasm/runtime#communication","type":"docs"},{"id":588,"pageTitle":"WASM Runtime","sectionTitle":"Manifest","sectionRoute":"/build/smart-contracts/wasm/runtime#manifest","type":"docs"},{"id":589,"pageTitle":"WASM Runtime","sectionTitle":"Reserved types","sectionRoute":"/build/smart-contracts/wasm/runtime#reserved-types","type":"docs"},{"id":590,"pageTitle":"WASM Runtime","sectionTitle":"Hooks (Reserved functions)","sectionRoute":"/build/smart-contracts/wasm/runtime#hooks-reserved-functions","type":"docs"},{"id":591,"pageTitle":"WASM Runtime","sectionTitle":"Memory management","sectionRoute":"/build/smart-contracts/wasm/runtime#memory-management","type":"docs"},{"id":592,"pageTitle":"WASM Runtime","sectionTitle":"Host functions","sectionRoute":"/build/smart-contracts/wasm/runtime#host-functions","type":"docs"},{"id":593,"pageTitle":"WASM Runtime","sectionTitle":"getBalance (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getbalance-chain","type":"docs"},{"id":594,"pageTitle":"WASM Runtime","sectionTitle":"getGenesisAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getgenesisaddress-chain","type":"docs"},{"id":595,"pageTitle":"WASM Runtime","sectionTitle":"getFirstTransactionAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getfirsttransactionaddress-chain","type":"docs"},{"id":596,"pageTitle":"WASM Runtime","sectionTitle":"getLastAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getlastaddress-chain","type":"docs"},{"id":597,"pageTitle":"WASM Runtime","sectionTitle":"getPreviousAddress (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getpreviousaddress-chain","type":"docs"},{"id":598,"pageTitle":"WASM Runtime","sectionTitle":"getGenesisPublicKey (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getgenesispublickey-chain","type":"docs"},{"id":599,"pageTitle":"WASM Runtime","sectionTitle":"getTransaction (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#gettransaction-chain","type":"docs"},{"id":600,"pageTitle":"WASM Runtime","sectionTitle":"getLastTransaction (CHAIN)","sectionRoute":"/build/smart-contracts/wasm/runtime#getlasttransaction-chain","type":"docs"},{"id":601,"pageTitle":"WASM Runtime","sectionTitle":"callFunction (CONTRACT)","sectionRoute":"/build/smart-contracts/wasm/runtime#callfunction-contract","type":"docs"},{"id":602,"pageTitle":"WASM Runtime","sectionTitle":"hmacWithStorageNonce (CRYPTO)","sectionRoute":"/build/smart-contracts/wasm/runtime#hmacwithstoragenonce-crypto","type":"docs"},{"id":603,"pageTitle":"WASM Runtime","sectionTitle":"signWithRecovery (CRYPTO)","sectionRoute":"/build/smart-contracts/wasm/runtime#signwithrecovery-crypto","type":"docs"},{"id":604,"pageTitle":"WASM Runtime","sectionTitle":"decryptWithStorageNonce (CRYPTO)","sectionRoute":"/build/smart-contracts/wasm/runtime#decryptwithstoragenonce-crypto","type":"docs"},{"id":605,"pageTitle":"WASM Runtime","sectionTitle":"request (HTTP)","sectionRoute":"/build/smart-contracts/wasm/runtime#request-http","type":"docs"},{"id":606,"pageTitle":"WASM Runtime","sectionTitle":"requestMany (HTTP)","sectionRoute":"/build/smart-contracts/wasm/runtime#requestmany-http","type":"docs"},{"id":625,"pageTitle":"AssemblyScript","sectionTitle":"AssemblyScript","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript","type":"docs"},{"id":626,"pageTitle":"AssemblyScript","sectionTitle":"Features","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#features","type":"docs"},{"id":627,"pageTitle":"AssemblyScript","sectionTitle":"Installation","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#installation","type":"docs"},{"id":628,"pageTitle":"AssemblyScript","sectionTitle":"Usage","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#usage","type":"docs"},{"id":629,"pageTitle":"AssemblyScript","sectionTitle":"Action definition","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#action-definition","type":"docs"},{"id":630,"pageTitle":"AssemblyScript","sectionTitle":"TriggerType Options","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#triggertype-options","type":"docs"},{"id":631,"pageTitle":"AssemblyScript","sectionTitle":"Readonly functions definition","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#readonly-functions-definition","type":"docs"},{"id":632,"pageTitle":"AssemblyScript","sectionTitle":"Function parameters","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#function-parameters","type":"docs"},{"id":633,"pageTitle":"AssemblyScript","sectionTitle":"Transaction builder","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#transaction-builder","type":"docs"},{"id":634,"pageTitle":"AssemblyScript","sectionTitle":"Library (Host functions)","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#library-host-functions","type":"docs"},{"id":635,"pageTitle":"AssemblyScript","sectionTitle":"Errors","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#errors","type":"docs"},{"id":636,"pageTitle":"AssemblyScript","sectionTitle":"Binaries","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#binaries","type":"docs"},{"id":637,"pageTitle":"AssemblyScript","sectionTitle":"Best pratices","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#best-pratices","type":"docs"},{"id":638,"pageTitle":"AssemblyScript","sectionTitle":"Tests","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#tests","type":"docs"},{"id":639,"pageTitle":"AssemblyScript","sectionTitle":"CLI","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#cli","type":"docs"},{"id":640,"pageTitle":"AssemblyScript","sectionTitle":"Build","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#build","type":"docs"},{"id":641,"pageTitle":"AssemblyScript","sectionTitle":"Deploy","sectionRoute":"/build/smart-contracts/wasm/sdk/assemblyscript#deploy","type":"docs"},{"id":619,"pageTitle":"Testnet","sectionTitle":"Testnet","sectionRoute":"/build/testnet","type":"docs"},{"id":620,"pageTitle":"Testnet","sectionTitle":"Local","sectionRoute":"/build/testnet#local","type":"docs"},{"id":621,"pageTitle":"Testnet","sectionTitle":"Installation","sectionRoute":"/build/testnet#installation","type":"docs"},{"id":622,"pageTitle":"Testnet","sectionTitle":"Get some funds","sectionRoute":"/build/testnet#get-some-funds","type":"docs"},{"id":623,"pageTitle":"Testnet","sectionTitle":"Public","sectionRoute":"/build/testnet#public","type":"docs"},{"id":624,"pageTitle":"Testnet","sectionTitle":"Get some funds","sectionRoute":"/build/testnet#get-some-funds-1","type":"docs"},{"id":642,"pageTitle":"","sectionTitle":"🗃️ GraphQL","sectionRoute":"/category/api","type":"docs"},{"id":643,"pageTitle":"","sectionTitle":"🗃️ Clients","sectionRoute":"/category/build","type":"docs"},{"id":644,"pageTitle":"","sectionTitle":"🗃️ API","sectionRoute":"/category/build","type":"docs"},{"id":645,"pageTitle":"","sectionTitle":"🗃️ Core development","sectionRoute":"/category/build","type":"docs"},{"id":646,"pageTitle":"","sectionTitle":"🗃️ DApp development","sectionRoute":"/category/build","type":"docs"},{"id":647,"pageTitle":"","sectionTitle":"🗃️ SDK","sectionRoute":"/category/build","type":"docs"},{"id":648,"pageTitle":"","sectionTitle":"🗃️ Smart Contracts","sectionRoute":"/category/build","type":"docs"},{"id":649,"pageTitle":"","sectionTitle":"📄️ Testnet","sectionRoute":"/category/build","type":"docs"},{"id":650,"pageTitle":"","sectionTitle":"🗃️ Ledger wallet","sectionRoute":"/category/clients","type":"docs"},{"id":651,"pageTitle":"","sectionTitle":"📄️ Archethic's wallet access","sectionRoute":"/category/clients","type":"docs"},{"id":652,"pageTitle":"","sectionTitle":"📄️ Archethic's wallet specification","sectionRoute":"/category/clients","type":"docs"},{"id":665,"pageTitle":"","sectionTitle":"📄️ Introduction","sectionRoute":"/category/dapp-development","type":"docs"},{"id":666,"pageTitle":"","sectionTitle":"📄️ Getting started","sectionRoute":"/category/dapp-development","type":"docs"},{"id":667,"pageTitle":"","sectionTitle":"📄️ Connecting aeWallet","sectionRoute":"/category/dapp-development","type":"docs"},{"id":668,"pageTitle":"","sectionTitle":"📄️ Watching account","sectionRoute":"/category/dapp-development","type":"docs"},{"id":669,"pageTitle":"","sectionTitle":"📄️ Signing transaction","sectionRoute":"/category/dapp-development","type":"docs"},{"id":670,"pageTitle":"","sectionTitle":"📄️ RPC Commands","sectionRoute":"/category/dapp-development","type":"docs"},{"id":671,"pageTitle":"","sectionTitle":"📄️ FAQ","sectionRoute":"/category/dapp-development","type":"docs"},{"id":653,"pageTitle":"","sectionTitle":"📄️ aeHosting","sectionRoute":"/category/faq","type":"docs"},{"id":654,"pageTitle":"","sectionTitle":"📄️ aeBridge","sectionRoute":"/category/faq","type":"docs"},{"id":655,"pageTitle":"","sectionTitle":"📄️ aeSwap","sectionRoute":"/category/faq","type":"docs"},{"id":656,"pageTitle":"","sectionTitle":"📄️ Migration of ERC-20 UCO Tokens","sectionRoute":"/category/faq","type":"docs"},{"id":657,"pageTitle":"","sectionTitle":"📄️ aeWallet","sectionRoute":"/category/faq","type":"docs"},{"id":658,"pageTitle":"","sectionTitle":"📄️ Schema Documentation","sectionRoute":"/category/graphql","type":"docs"},{"id":659,"pageTitle":"","sectionTitle":"🗃️ Directives","sectionRoute":"/category/graphql","type":"docs"},{"id":660,"pageTitle":"","sectionTitle":"🗃️ Enums","sectionRoute":"/category/graphql","type":"docs"},{"id":661,"pageTitle":"","sectionTitle":"🗃️ Objects","sectionRoute":"/category/graphql","type":"docs"},{"id":662,"pageTitle":"","sectionTitle":"🗃️ Queries","sectionRoute":"/category/graphql","type":"docs"},{"id":663,"pageTitle":"","sectionTitle":"🗃️ Scalars","sectionRoute":"/category/graphql","type":"docs"},{"id":664,"pageTitle":"","sectionTitle":"🗃️ Subscriptions","sectionRoute":"/category/graphql","type":"docs"},{"id":672,"pageTitle":"","sectionTitle":"📄️ Tutoriel Archethic DeFi","sectionRoute":"/category/participate","type":"docs"},{"id":673,"pageTitle":"","sectionTitle":"🗃️ Archethic Web (aeHosting)","sectionRoute":"/category/participate","type":"docs"},{"id":674,"pageTitle":"","sectionTitle":"🗃️ Archethic Bridge (aeBridge)","sectionRoute":"/category/participate","type":"docs"},{"id":675,"pageTitle":"","sectionTitle":"📄️ Archethic's CLI","sectionRoute":"/category/participate","type":"docs"},{"id":676,"pageTitle":"","sectionTitle":"🗃️ Archethic DEX (aeSwap)","sectionRoute":"/category/participate","type":"docs"},{"id":677,"pageTitle":"","sectionTitle":"🗃️ Archethic Wallet (aeWallet)","sectionRoute":"/category/participate","type":"docs"},{"id":678,"pageTitle":"","sectionTitle":"📄️ AssemblyScript","sectionRoute":"/category/sdk","type":"docs"},{"id":691,"pageTitle":"","sectionTitle":"📄️ CLI","sectionRoute":"/category/usage","type":"docs"},{"id":692,"pageTitle":"","sectionTitle":"📄️ AEWeb Front End","sectionRoute":"/category/usage","type":"docs"},{"id":683,"pageTitle":"","sectionTitle":"📄️ Runtime","sectionRoute":"/category/wasm","type":"docs"},{"id":684,"pageTitle":"","sectionTitle":"📄️ Getting Started","sectionRoute":"/category/wasm","type":"docs"},{"id":685,"pageTitle":"","sectionTitle":"🗃️ SDK","sectionRoute":"/category/wasm","type":"docs"},{"id":679,"pageTitle":"Contributing","sectionTitle":"Contributing","sectionRoute":"/contributing","type":"docs"},{"id":680,"pageTitle":"Contributing","sectionTitle":"How to contribute","sectionRoute":"/contributing#how-to-contribute","type":"docs"},{"id":681,"pageTitle":"Contributing","sectionTitle":"Guidelines","sectionRoute":"/contributing#guidelines","type":"docs"},{"id":682,"pageTitle":"Contributing","sectionTitle":"Diagrams","sectionRoute":"/contributing#diagrams","type":"docs"},{"id":686,"pageTitle":"aeHosting","sectionTitle":"aeHosting","sectionRoute":"/FAQ/aeweb","type":"docs"},{"id":687,"pageTitle":"aeHosting","sectionTitle":"General","sectionRoute":"/FAQ/aeweb#general","type":"docs"},{"id":688,"pageTitle":"aeHosting","sectionTitle":" How do I redirect my domain names to my websites deployed on the Archethic Blockchain?","sectionRoute":"/FAQ/aeweb#-how-do-i-redirect-my-domain-names-to-my-websites-deployed-on-the-archethic-blockchain","type":"docs"},{"id":689,"pageTitle":"aeHosting","sectionTitle":"What is the purpose of a .gitignore file?","sectionRoute":"/FAQ/aeweb#what-is-the-purpose-of-a-gitignore-file","type":"docs"},{"id":690,"pageTitle":"aeHosting","sectionTitle":"When using the Archethic wallet's \"link to a file hosted on AEWeb\" option to create an NFT with an image, does it require sending funds to the newly created address using AEWeb CLI?","sectionRoute":"/FAQ/aeweb#when-using-the-archethic-wallets-link-to-a-file-hosted-on-aeweb-option-to-create-an-nft-with-an-image-does-it-require-sending-funds-to-the-newly-created-address-using-aeweb-cli","type":"docs"},{"id":711,"pageTitle":"aeBridge","sectionTitle":"aeBridge","sectionRoute":"/FAQ/bridge-2-ways","type":"docs"},{"id":712,"pageTitle":"aeBridge","sectionTitle":"General","sectionRoute":"/FAQ/bridge-2-ways#general","type":"docs"},{"id":713,"pageTitle":"aeBridge","sectionTitle":"What is Archethic Bridge?","sectionRoute":"/FAQ/bridge-2-ways#what-is-archethic-bridge","type":"docs"},{"id":714,"pageTitle":"aeBridge","sectionTitle":"How to access the Archethic Bridge ?","sectionRoute":"/FAQ/bridge-2-ways#how-to-access-the-archethic-bridge-","type":"docs"},{"id":715,"pageTitle":"aeBridge","sectionTitle":"Which blockchain is better to bridge my UCOs?","sectionRoute":"/FAQ/bridge-2-ways#which-blockchain-is-better-to-bridge-my-ucos","type":"docs"},{"id":716,"pageTitle":"aeBridge","sectionTitle":"What blockchains does the Archethic Bridge support?","sectionRoute":"/FAQ/bridge-2-ways#what-blockchains-does-the-archethic-bridge-support","type":"docs"},{"id":717,"pageTitle":"aeBridge","sectionTitle":"Is the Archethic Bridge available on mobile devices?","sectionRoute":"/FAQ/bridge-2-ways#is-the-archethic-bridge-available-on-mobile-devices","type":"docs"},{"id":718,"pageTitle":"aeBridge","sectionTitle":"What is an EVM wallet?","sectionRoute":"/FAQ/bridge-2-ways#what-is-an-evm-wallet","type":"docs"},{"id":719,"pageTitle":"aeBridge","sectionTitle":"How is the price of $UCO estimated?","sectionRoute":"/FAQ/bridge-2-ways#how-is-the-price-of-uco-estimated","type":"docs"},{"id":720,"pageTitle":"aeBridge","sectionTitle":"How long is the predetermined time?","sectionRoute":"/FAQ/bridge-2-ways#how-long-is-the-predetermined-time","type":"docs"},{"id":721,"pageTitle":"aeBridge","sectionTitle":"Is the bridge audited?","sectionRoute":"/FAQ/bridge-2-ways#is-the-bridge-audited","type":"docs"},{"id":722,"pageTitle":"aeBridge","sectionTitle":"Key Concepts","sectionRoute":"/FAQ/bridge-2-ways#key-concepts","type":"docs"},{"id":723,"pageTitle":"aeBridge","sectionTitle":"What is an HTLC (Hash Time Lock Contract) in the context of Archethic's bridge?","sectionRoute":"/FAQ/bridge-2-ways#what-is-an-htlc-hash-time-lock-contract-in-the-context-of-archethics-bridge","type":"docs"},{"id":724,"pageTitle":"aeBridge","sectionTitle":"How does Archethic's cross-chain verification work?","sectionRoute":"/FAQ/bridge-2-ways#how-does-archethics-cross-chain-verification-work","type":"docs"},{"id":725,"pageTitle":"aeBridge","sectionTitle":"Specifics of Bridging","sectionRoute":"/FAQ/bridge-2-ways#specifics-of-bridging","type":"docs"},{"id":726,"pageTitle":"aeBridge","sectionTitle":"How does the process of bridging from EVM to Archethic work?","sectionRoute":"/FAQ/bridge-2-ways#how-does-the-process-of-bridging-from-evm-to-archethic-work","type":"docs"},{"id":727,"pageTitle":"aeBridge","sectionTitle":"What is the process for bridging from Archethic to EVM?","sectionRoute":"/FAQ/bridge-2-ways#what-is-the-process-for-bridging-from-archethic-to-evm","type":"docs"},{"id":728,"pageTitle":"aeBridge","sectionTitle":"Wallet","sectionRoute":"/FAQ/bridge-2-ways#wallet","type":"docs"},{"id":729,"pageTitle":"aeBridge","sectionTitle":"I’m using the Mainnet network in the Wallet, how can I switch on the Testnet?","sectionRoute":"/FAQ/bridge-2-ways#im-using-the-mainnet-network-in-the-wallet-how-can-i-switch-on-the-testnet","type":"docs"},{"id":730,"pageTitle":"aeBridge","sectionTitle":"Why can't I connect to the Archethic wallet with my Brave browser?","sectionRoute":"/FAQ/bridge-2-ways#why-cant-i-connect-to-the-archethic-wallet-with-my-brave-browser","type":"docs"},{"id":731,"pageTitle":"aeBridge","sectionTitle":"Issues management","sectionRoute":"/FAQ/bridge-2-ways#issues-management","type":"docs"},{"id":732,"pageTitle":"aeBridge","sectionTitle":"What happens if a problem occurs, or I refuse a transaction during the transfer?","sectionRoute":"/FAQ/bridge-2-ways#what-happens-if-a-problem-occurs-or-i-refuse-a-transaction-during-the-transfer","type":"docs"},{"id":733,"pageTitle":"aeBridge","sectionTitle":"If I sent the tokens to a wrong Mainnet address, what to do?","sectionRoute":"/FAQ/bridge-2-ways#if-i-sent-the-tokens-to-a-wrong-mainnet-address-what-to-do","type":"docs"},{"id":734,"pageTitle":"aeBridge","sectionTitle":"Can I help the developers analyze the problems?","sectionRoute":"/FAQ/bridge-2-ways#can-i-help-the-developers-analyze-the-problems","type":"docs"},{"id":735,"pageTitle":"aeBridge","sectionTitle":"While a bridge from Archethic to EVM Blockchain, I have an error '1405'","sectionRoute":"/FAQ/bridge-2-ways#while-a-bridge-from-archethic-to-evm-blockchain-i-have-an-error-1405","type":"docs"},{"id":736,"pageTitle":"aeBridge","sectionTitle":"The bridge does not recognize my EVM wallet. What should I do?","sectionRoute":"/FAQ/bridge-2-ways#the-bridge-does-not-recognize-my-evm-wallet-what-should-i-do","type":"docs"},{"id":693,"pageTitle":"aeSwap","sectionTitle":"aeSwap","sectionRoute":"/FAQ/dex","type":"docs"},{"id":694,"pageTitle":"aeSwap","sectionTitle":"General","sectionRoute":"/FAQ/dex#general","type":"docs"},{"id":695,"pageTitle":"aeSwap","sectionTitle":"How to access the Archethic DEX named aeSwap ?","sectionRoute":"/FAQ/dex#how-to-access-the-archethic-dex-named-aeswap-","type":"docs"},{"id":696,"pageTitle":"aeSwap","sectionTitle":"Is the Archethic DEX available on mobile devices?","sectionRoute":"/FAQ/dex#is-the-archethic-dex-available-on-mobile-devices","type":"docs"},{"id":697,"pageTitle":"aeSwap","sectionTitle":"How is the price of UCO estimated?","sectionRoute":"/FAQ/dex#how-is-the-price-of-uco-estimated","type":"docs"},{"id":698,"pageTitle":"aeSwap","sectionTitle":"What web browsers are not supported?","sectionRoute":"/FAQ/dex#what-web-browsers-are-not-supported","type":"docs"},{"id":699,"pageTitle":"aeSwap","sectionTitle":"Why is a small quantity of liquidity pool shares removed when the first liquidity is added to a pool on Archethic?","sectionRoute":"/FAQ/dex#why-is-a-small-quantity-of-liquidity-pool-shares-removed-when-the-first-liquidity-is-added-to-a-pool-on-archethic","type":"docs"},{"id":700,"pageTitle":"aeSwap","sectionTitle":"What does APR (24h) mean in the pool information?","sectionRoute":"/FAQ/dex#what-does-apr-24h-mean-in-the-pool-information","type":"docs"},{"id":701,"pageTitle":"aeSwap","sectionTitle":"Wallet","sectionRoute":"/FAQ/dex#wallet","type":"docs"},{"id":702,"pageTitle":"aeSwap","sectionTitle":"I’m using the Mainnet network in the Wallet, how can I switch on the Testnet?","sectionRoute":"/FAQ/dex#im-using-the-mainnet-network-in-the-wallet-how-can-i-switch-on-the-testnet","type":"docs"},{"id":703,"pageTitle":"aeSwap","sectionTitle":"Why can't I connect to the Archethic wallet with my Brave browser?","sectionRoute":"/FAQ/dex#why-cant-i-connect-to-the-archethic-wallet-with-my-brave-browser","type":"docs"},{"id":704,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"Migration of ERC-20 UCO Tokens","sectionRoute":"/FAQ/migration-erc-token","type":"docs"},{"id":705,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"General","sectionRoute":"/FAQ/migration-erc-token#general","type":"docs"},{"id":706,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":" Why Archethic migrates his ERC20 UCO Token? ","sectionRoute":"/FAQ/migration-erc-token#-why-archethic-migrates-his-erc20-uco-token-","type":"docs"},{"id":707,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"How do I migrate my V1 tokens to V2?","sectionRoute":"/FAQ/migration-erc-token#how-do-i-migrate-my-v1-tokens-to-v2","type":"docs"},{"id":708,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"If I have 3000 UCO in V1, how many UCO will I receive in V2?","sectionRoute":"/FAQ/migration-erc-token#if-i-have-3000-uco-in-v1-how-many-uco-will-i-receive-in-v2","type":"docs"},{"id":709,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"How much does the migration cost the user?","sectionRoute":"/FAQ/migration-erc-token#how-much-does-the-migration-cost-the-user","type":"docs"},{"id":710,"pageTitle":"Migration of ERC-20 UCO Tokens","sectionTitle":"I have UCO with more than 8 decimal places; does this have an impact?","sectionRoute":"/FAQ/migration-erc-token#i-have-uco-with-more-than-8-decimal-places-does-this-have-an-impact","type":"docs"},{"id":737,"pageTitle":"aeWallet","sectionTitle":"aeWallet","sectionRoute":"/FAQ/wallet","type":"docs"},{"id":738,"pageTitle":"aeWallet","sectionTitle":"General","sectionRoute":"/FAQ/wallet#general","type":"docs"},{"id":739,"pageTitle":"aeWallet","sectionTitle":" How to create a wallet on the Archethic blockchain?","sectionRoute":"/FAQ/wallet#-how-to-create-a-wallet-on-the-archethic-blockchain","type":"docs"},{"id":740,"pageTitle":"aeWallet","sectionTitle":" How to retrieve the address of my Archethic wallet?","sectionRoute":"/FAQ/wallet#-how-to-retrieve-the-address-of-my-archethic-wallet","type":"docs"},{"id":741,"pageTitle":"aeWallet","sectionTitle":"Troubleshooting","sectionRoute":"/FAQ/wallet#troubleshooting","type":"docs"},{"id":742,"pageTitle":"aeWallet","sectionTitle":"The Archethic wallet won't start or opens to a black or white screen","sectionRoute":"/FAQ/wallet#the-archethic-wallet-wont-start-or-opens-to-a-black-or-white-screen","type":"docs"},{"id":743,"pageTitle":"Archethic introduction","sectionTitle":"Archethic introduction","sectionRoute":"/learn/","type":"docs"},{"id":744,"pageTitle":"Archethic introduction","sectionTitle":"Motivations","sectionRoute":"/learn/#motivations","type":"docs"},{"id":745,"pageTitle":"Archethic introduction","sectionTitle":"Innovations","sectionRoute":"/learn/#innovations","type":"docs"},{"id":746,"pageTitle":"ARCH consensus","sectionTitle":"ARCH consensus","sectionRoute":"/learn/arch-consensus/","type":"docs"},{"id":747,"pageTitle":"ARCH consensus","sectionTitle":"Atomic Commitment","sectionRoute":"/learn/arch-consensus/#atomic-commitment","type":"docs"},{"id":748,"pageTitle":"ARCH consensus","sectionTitle":"Rotating Election","sectionRoute":"/learn/arch-consensus/#rotating-election","type":"docs"},{"id":749,"pageTitle":"ARCH consensus","sectionTitle":"Workflow","sectionRoute":"/learn/arch-consensus/#workflow","type":"docs"},{"id":759,"pageTitle":"Proof of Work","sectionTitle":"Proof of Work","sectionRoute":"/learn/arch-consensus/proof-of-work","type":"docs"},{"id":750,"pageTitle":"Cryptography","sectionTitle":"Cryptography","sectionRoute":"/learn/cryptography/","type":"docs"},{"id":751,"pageTitle":"Cryptography","sectionTitle":"Quantum-Safe","sectionRoute":"/learn/cryptography/#quantum-safe","type":"docs"},{"id":752,"pageTitle":"Cryptography","sectionTitle":"Non-Discolure of public keys","sectionRoute":"/learn/cryptography/#non-discolure-of-public-keys","type":"docs"},{"id":753,"pageTitle":"Cryptography","sectionTitle":"Origin Devices","sectionRoute":"/learn/cryptography/#origin-devices","type":"docs"},{"id":754,"pageTitle":"Cryptography","sectionTitle":"Adaptative","sectionRoute":"/learn/cryptography/#adaptative","type":"docs"},{"id":755,"pageTitle":"Cryptography","sectionTitle":"Public keys","sectionRoute":"/learn/cryptography/#public-keys","type":"docs"},{"id":756,"pageTitle":"Cryptography","sectionTitle":"Hashes","sectionRoute":"/learn/cryptography/#hashes","type":"docs"},{"id":757,"pageTitle":"Cryptography","sectionTitle":"Transaction addresses","sectionRoute":"/learn/cryptography/#transaction-addresses","type":"docs"},{"id":758,"pageTitle":"Cryptography","sectionTitle":"Default algorithms","sectionRoute":"/learn/cryptography/#default-algorithms","type":"docs"},{"id":760,"pageTitle":"Hardware Root of Trust","sectionTitle":"Hardware Root of Trust","sectionRoute":"/learn/cryptography/hardware-root-of-trust","type":"docs"},{"id":761,"pageTitle":"Hardware Root of Trust","sectionTitle":"What is hardware root of trust?","sectionRoute":"/learn/cryptography/hardware-root-of-trust#what-is-hardware-root-of-trust","type":"docs"},{"id":762,"pageTitle":"Hardware Root of Trust","sectionTitle":"Why hardware root of trust for Archethic?","sectionRoute":"/learn/cryptography/hardware-root-of-trust#why-hardware-root-of-trust-for-archethic","type":"docs"},{"id":763,"pageTitle":"Hardware Root of Trust","sectionTitle":"Implementation of Hardware Root of Trust (HRT)","sectionRoute":"/learn/cryptography/hardware-root-of-trust#implementation-of-hardware-root-of-trust-hrt","type":"docs"},{"id":764,"pageTitle":"Hardware Root of Trust","sectionTitle":"Placement of HRT in Archethic Blockchain/Ecosystem","sectionRoute":"/learn/cryptography/hardware-root-of-trust#placement-of-hrt-in-archethic-blockchainecosystem","type":"docs"},{"id":765,"pageTitle":"Decentralized Identity","sectionTitle":"Decentralized Identity","sectionRoute":"/learn/decentralized-id/","type":"docs"},{"id":766,"pageTitle":"Decentralized Identity","sectionTitle":"Identity","sectionRoute":"/learn/decentralized-id/#identity","type":"docs"},{"id":767,"pageTitle":"Decentralized Identity","sectionTitle":"Password-less","sectionRoute":"/learn/decentralized-id/#password-less","type":"docs"},{"id":780,"pageTitle":"Keychain","sectionTitle":"Keychain","sectionRoute":"/learn/decentralized-id/keychain","type":"docs"},{"id":781,"pageTitle":"Keychain","sectionTitle":"Key generation","sectionRoute":"/learn/decentralized-id/keychain#key-generation","type":"docs"},{"id":782,"pageTitle":"Keychain","sectionTitle":"End to end encryption","sectionRoute":"/learn/decentralized-id/keychain#end-to-end-encryption","type":"docs"},{"id":783,"pageTitle":"Keychain","sectionTitle":"Standard compliance","sectionRoute":"/learn/decentralized-id/keychain#standard-compliance","type":"docs"},{"id":784,"pageTitle":"Keychain","sectionTitle":"Customization","sectionRoute":"/learn/decentralized-id/keychain#customization","type":"docs"},{"id":768,"pageTitle":"Ecosystem","sectionTitle":"Ecosystem","sectionRoute":"/learn/ecosystem","type":"docs"},{"id":769,"pageTitle":"Ecosystem","sectionTitle":"Limitless network","sectionRoute":"/learn/ecosystem#limitless-network","type":"docs"},{"id":770,"pageTitle":"Ecosystem","sectionTitle":"Unlimited applications","sectionRoute":"/learn/ecosystem#unlimited-applications","type":"docs"},{"id":771,"pageTitle":"Ecosystem","sectionTitle":"Decentralized Identity","sectionRoute":"/learn/ecosystem#decentralized-identity","type":"docs"},{"id":772,"pageTitle":"Ecosystem","sectionTitle":"Governance","sectionRoute":"/learn/ecosystem#governance","type":"docs"},{"id":773,"pageTitle":"Ecosystem","sectionTitle":"Open enhancements","sectionRoute":"/learn/ecosystem#open-enhancements","type":"docs"},{"id":774,"pageTitle":"Transaction fees","sectionTitle":"Transaction fees","sectionRoute":"/learn/fee","type":"docs"},{"id":775,"pageTitle":"Transaction fees","sectionTitle":"Calculation","sectionRoute":"/learn/fee#calculation","type":"docs"},{"id":776,"pageTitle":"Transaction fees","sectionTitle":"Transaction's type particularities","sectionRoute":"/learn/fee#transactions-type-particularities","type":"docs"},{"id":777,"pageTitle":"Transaction fees","sectionTitle":"Network","sectionRoute":"/learn/fee#network","type":"docs"},{"id":778,"pageTitle":"Transaction fees","sectionTitle":"Keychain","sectionRoute":"/learn/fee#keychain","type":"docs"},{"id":779,"pageTitle":"Transaction fees","sectionTitle":"Token","sectionRoute":"/learn/fee#token","type":"docs"},{"id":788,"pageTitle":"Governance","sectionTitle":"Governance","sectionRoute":"/learn/governance/","type":"docs"},{"id":789,"pageTitle":"Governance","sectionTitle":"Decentralized Identity & Proof of Identity","sectionRoute":"/learn/governance/#decentralized-identity--proof-of-identity","type":"docs"},{"id":790,"pageTitle":"Governance","sectionTitle":"Code «On-Chain»","sectionRoute":"/learn/governance/#code-on-chain","type":"docs"},{"id":791,"pageTitle":"Governance","sectionTitle":"Introduction","sectionRoute":"/learn/governance/#introduction","type":"docs"},{"id":792,"pageTitle":"Governance","sectionTitle":"Details","sectionRoute":"/learn/governance/#details","type":"docs"},{"id":793,"pageTitle":"Governance","sectionTitle":"Incentives","sectionRoute":"/learn/governance/#incentives","type":"docs"},{"id":785,"pageTitle":"OracleChain","sectionTitle":"OracleChain","sectionRoute":"/learn/oracle-chain","type":"docs"},{"id":786,"pageTitle":"OracleChain","sectionTitle":"How is it work ?","sectionRoute":"/learn/oracle-chain#how-is-it-work-","type":"docs"},{"id":787,"pageTitle":"OracleChain","sectionTitle":"Services","sectionRoute":"/learn/oracle-chain#services","type":"docs"},{"id":794,"pageTitle":"P2P","sectionTitle":"P2P","sectionRoute":"/learn/p2p/","type":"docs"},{"id":795,"pageTitle":"P2P","sectionTitle":"Existing solutions","sectionRoute":"/learn/p2p/#existing-solutions","type":"docs"},{"id":796,"pageTitle":"P2P","sectionTitle":"Gossip","sectionRoute":"/learn/p2p/#gossip","type":"docs"},{"id":797,"pageTitle":"P2P","sectionTitle":"Broadcast","sectionRoute":"/learn/p2p/#broadcast","type":"docs"},{"id":798,"pageTitle":"P2P","sectionTitle":"Archethic's way","sectionRoute":"/learn/p2p/#archethics-way","type":"docs"},{"id":799,"pageTitle":"P2P","sectionTitle":"Transaction Validation Process","sectionRoute":"/learn/p2p/#transaction-validation-process","type":"docs"},{"id":800,"pageTitle":"P2P","sectionTitle":"Network transaction chains","sectionRoute":"/learn/p2p/#network-transaction-chains","type":"docs"},{"id":801,"pageTitle":"P2P","sectionTitle":"Beacons Chains","sectionRoute":"/learn/p2p/#beacons-chains","type":"docs"},{"id":802,"pageTitle":"P2P","sectionTitle":"Data propagation","sectionRoute":"/learn/p2p/#data-propagation","type":"docs"},{"id":806,"pageTitle":"Bootstrapping","sectionTitle":"Bootstrapping","sectionRoute":"/learn/p2p/bootstrapping","type":"docs"},{"id":807,"pageTitle":"Bootstrapping","sectionTitle":"Joining","sectionRoute":"/learn/p2p/bootstrapping#joining","type":"docs"},{"id":808,"pageTitle":"Bootstrapping","sectionTitle":"Updates","sectionRoute":"/learn/p2p/bootstrapping#updates","type":"docs"},{"id":809,"pageTitle":"Bootstrapping","sectionTitle":"Synchronization","sectionRoute":"/learn/p2p/bootstrapping#synchronization","type":"docs"},{"id":803,"pageTitle":"Self Repair","sectionTitle":"Self Repair","sectionRoute":"/learn/p2p/self-repair","type":"docs"},{"id":804,"pageTitle":"Self Repair","sectionTitle":"Identification","sectionRoute":"/learn/p2p/self-repair#identification","type":"docs"},{"id":805,"pageTitle":"Self Repair","sectionTitle":"Synchronization","sectionRoute":"/learn/p2p/self-repair#synchronization","type":"docs"},{"id":810,"pageTitle":"Patents","sectionTitle":"Patents","sectionRoute":"/learn/patents","type":"docs"},{"id":811,"pageTitle":"Patents","sectionTitle":"11 patents to build a new ecosystem","sectionRoute":"/learn/patents#11-patents-to-build-a-new-ecosystem","type":"docs"},{"id":812,"pageTitle":"Patents","sectionTitle":"Archethic, a Humanitarian and Community Project","sectionRoute":"/learn/patents#archethic-a-humanitarian-and-community-project","type":"docs"},{"id":813,"pageTitle":"Patents","sectionTitle":"List of patents","sectionRoute":"/learn/patents#list-of-patents","type":"docs"},{"id":814,"pageTitle":"Patents","sectionTitle":"Blockchain","sectionRoute":"/learn/patents#blockchain","type":"docs"},{"id":815,"pageTitle":"Patents","sectionTitle":"Biometrics","sectionRoute":"/learn/patents#biometrics","type":"docs"},{"id":816,"pageTitle":"Patents","sectionTitle":"Hardware","sectionRoute":"/learn/patents#hardware","type":"docs"},{"id":817,"pageTitle":"Sharding","sectionTitle":"Sharding","sectionRoute":"/learn/sharding/","type":"docs"},{"id":818,"pageTitle":"Sharding","sectionTitle":"Validation","sectionRoute":"/learn/sharding/#validation","type":"docs"},{"id":819,"pageTitle":"Sharding","sectionTitle":"Storage","sectionRoute":"/learn/sharding/#storage","type":"docs"},{"id":820,"pageTitle":"Sharding","sectionTitle":"Rotating Election","sectionRoute":"/learn/sharding/#rotating-election","type":"docs"},{"id":821,"pageTitle":"Beacon Chain","sectionTitle":"Beacon Chain","sectionRoute":"/learn/sharding/beacon-chain/","type":"docs"},{"id":822,"pageTitle":"Beacon Chain","sectionTitle":"Concepts","sectionRoute":"/learn/sharding/beacon-chain/#concepts","type":"docs"},{"id":823,"pageTitle":"Beacon Chain","sectionTitle":"Transaction tracking and timestamping","sectionRoute":"/learn/sharding/beacon-chain/#transaction-tracking-and-timestamping","type":"docs"},{"id":824,"pageTitle":"Beacon Chain","sectionTitle":"Status and Network Coordinates of nodes","sectionRoute":"/learn/sharding/beacon-chain/#status-and-network-coordinates-of-nodes","type":"docs"},{"id":825,"pageTitle":"Beacon Chain","sectionTitle":"Slot","sectionRoute":"/learn/sharding/beacon-chain/#slot","type":"docs"},{"id":826,"pageTitle":"Beacon Explorer","sectionTitle":"Beacon Explorer","sectionRoute":"/learn/sharding/beacon-chain/explorer","type":"docs"},{"id":827,"pageTitle":"Beacon Explorer","sectionTitle":"Concepts","sectionRoute":"/learn/sharding/beacon-chain/explorer#concepts","type":"docs"},{"id":828,"pageTitle":"Beacon Explorer","sectionTitle":"Slot","sectionRoute":"/learn/sharding/beacon-chain/explorer#slot","type":"docs"},{"id":829,"pageTitle":"Beacon Explorer","sectionTitle":"Epoch","sectionRoute":"/learn/sharding/beacon-chain/explorer#epoch","type":"docs"},{"id":830,"pageTitle":"Beacon Explorer","sectionTitle":"Subset","sectionRoute":"/learn/sharding/beacon-chain/explorer#subset","type":"docs"},{"id":831,"pageTitle":"Beacon Explorer","sectionTitle":"Process to get transaction notifications","sectionRoute":"/learn/sharding/beacon-chain/explorer#process-to-get-transaction-notifications","type":"docs"},{"id":832,"pageTitle":"Beacon Explorer","sectionTitle":"How to get transactions in realtime","sectionRoute":"/learn/sharding/beacon-chain/explorer#how-to-get-transactions-in-realtime","type":"docs"},{"id":833,"pageTitle":"Replication attestation","sectionTitle":"Replication attestation","sectionRoute":"/learn/sharding/replication-attestation","type":"docs"},{"id":834,"pageTitle":"Replication attestation","sectionTitle":"Heuristic solution","sectionRoute":"/learn/sharding/replication-attestation#heuristic-solution","type":"docs"},{"id":835,"pageTitle":"Replication attestation","sectionTitle":"Nested replications","sectionRoute":"/learn/sharding/replication-attestation#nested-replications","type":"docs"},{"id":836,"pageTitle":"Replication attestation","sectionTitle":"Client notifications","sectionRoute":"/learn/sharding/replication-attestation#client-notifications","type":"docs"},{"id":837,"pageTitle":"Replication attestation","sectionTitle":"Further improvements","sectionRoute":"/learn/sharding/replication-attestation#further-improvements","type":"docs"},{"id":843,"pageTitle":"Tokens","sectionTitle":"Tokens","sectionRoute":"/learn/token","type":"docs"},{"id":844,"pageTitle":"Tokens","sectionTitle":"Native","sectionRoute":"/learn/token#native","type":"docs"},{"id":845,"pageTitle":"Tokens","sectionTitle":"Standardized","sectionRoute":"/learn/token#standardized","type":"docs"},{"id":846,"pageTitle":"Tokens","sectionTitle":"Creation","sectionRoute":"/learn/token#creation","type":"docs"},{"id":847,"pageTitle":"Tokens","sectionTitle":"Fungible","sectionRoute":"/learn/token#fungible","type":"docs"},{"id":848,"pageTitle":"Tokens","sectionTitle":"Non-fungible","sectionRoute":"/learn/token#non-fungible","type":"docs"},{"id":849,"pageTitle":"Tokens","sectionTitle":"Resupply fungible tokens (AEIP-18)","sectionRoute":"/learn/token#resupply-fungible-tokens-aeip-18","type":"docs"},{"id":850,"pageTitle":"Tokens","sectionTitle":"Recipients (AEIP-19)","sectionRoute":"/learn/token#recipients-aeip-19","type":"docs"},{"id":851,"pageTitle":"Tokens","sectionTitle":"Transfer","sectionRoute":"/learn/token#transfer","type":"docs"},{"id":838,"pageTitle":"Transaction chains","sectionTitle":"Transaction chains","sectionRoute":"/learn/transaction-chain","type":"docs"},{"id":839,"pageTitle":"Transaction chains","sectionTitle":"Principles","sectionRoute":"/learn/transaction-chain#principles","type":"docs"},{"id":840,"pageTitle":"Transaction chains","sectionTitle":"Transaction structure","sectionRoute":"/learn/transaction-chain#transaction-structure","type":"docs"},{"id":841,"pageTitle":"Transaction chains","sectionTitle":"Pending transaction","sectionRoute":"/learn/transaction-chain#pending-transaction","type":"docs"},{"id":842,"pageTitle":"Transaction chains","sectionTitle":"Validated transaction","sectionRoute":"/learn/transaction-chain#validated-transaction","type":"docs"},{"id":854,"pageTitle":"Transaction types","sectionTitle":"Transaction types","sectionRoute":"/learn/transaction-types","type":"docs"},{"id":855,"pageTitle":"Transaction types","sectionTitle":"node (network)","sectionRoute":"/learn/transaction-types#node-network","type":"docs"},{"id":856,"pageTitle":"Transaction types","sectionTitle":"node_shared_secrets (network)","sectionRoute":"/learn/transaction-types#node_shared_secrets-network","type":"docs"},{"id":857,"pageTitle":"Transaction types","sectionTitle":"node_rewards (network)","sectionRoute":"/learn/transaction-types#node_rewards-network","type":"docs"},{"id":858,"pageTitle":"Transaction types","sectionTitle":"mint_rewards (network)","sectionRoute":"/learn/transaction-types#mint_rewards-network","type":"docs"},{"id":859,"pageTitle":"Transaction types","sectionTitle":"oracle (network)","sectionRoute":"/learn/transaction-types#oracle-network","type":"docs"},{"id":860,"pageTitle":"Transaction types","sectionTitle":"oracle_summary (network)","sectionRoute":"/learn/transaction-types#oracle_summary-network","type":"docs"},{"id":861,"pageTitle":"Transaction types","sectionTitle":"code_proposal (network)","sectionRoute":"/learn/transaction-types#code_proposal-network","type":"docs"},{"id":862,"pageTitle":"Transaction types","sectionTitle":"code_approval (network)","sectionRoute":"/learn/transaction-types#code_approval-network","type":"docs"},{"id":863,"pageTitle":"Transaction types","sectionTitle":"origin (network)","sectionRoute":"/learn/transaction-types#origin-network","type":"docs"},{"id":864,"pageTitle":"Transaction types","sectionTitle":"keychain","sectionRoute":"/learn/transaction-types#keychain","type":"docs"},{"id":865,"pageTitle":"Transaction types","sectionTitle":"keychain_access","sectionRoute":"/learn/transaction-types#keychain_access","type":"docs"},{"id":866,"pageTitle":"Transaction types","sectionTitle":"transfer","sectionRoute":"/learn/transaction-types#transfer","type":"docs"},{"id":867,"pageTitle":"Transaction types","sectionTitle":"token","sectionRoute":"/learn/transaction-types#token","type":"docs"},{"id":868,"pageTitle":"Transaction types","sectionTitle":"hosting","sectionRoute":"/learn/transaction-types#hosting","type":"docs"},{"id":869,"pageTitle":"Transaction types","sectionTitle":"data","sectionRoute":"/learn/transaction-types#data","type":"docs"},{"id":870,"pageTitle":"Transaction types","sectionTitle":"contract","sectionRoute":"/learn/transaction-types#contract","type":"docs"},{"id":852,"pageTitle":"UCO token","sectionTitle":"UCO token","sectionRoute":"/learn/uco","type":"docs"},{"id":853,"pageTitle":"UCO token","sectionTitle":"Fibonacci Golden Token Economics","sectionRoute":"/learn/uco#fibonacci-golden-token-economics","type":"docs"},{"id":872,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Archethic Web (aeHosting)","sectionRoute":"/participate/aeweb/","type":"docs"},{"id":873,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Motivations","sectionRoute":"/participate/aeweb/#motivations","type":"docs"},{"id":874,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Easy","sectionRoute":"/participate/aeweb/#easy","type":"docs"},{"id":875,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Security","sectionRoute":"/participate/aeweb/#security","type":"docs"},{"id":876,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Costly efficient","sectionRoute":"/participate/aeweb/#costly-efficient","type":"docs"},{"id":877,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Target","sectionRoute":"/participate/aeweb/#target","type":"docs"},{"id":878,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Try out","sectionRoute":"/participate/aeweb/#try-out","type":"docs"},{"id":879,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Graphical interface","sectionRoute":"/participate/aeweb/#graphical-interface","type":"docs"},{"id":880,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Developers","sectionRoute":"/participate/aeweb/#developers","type":"docs"},{"id":881,"pageTitle":"Archethic Web (aeHosting)","sectionTitle":"Roadmap","sectionRoute":"/participate/aeweb/#roadmap","type":"docs"},{"id":871,"pageTitle":"Automate deployments","sectionTitle":"Automate deployments","sectionRoute":"/participate/aeweb/automation","type":"docs"},{"id":882,"pageTitle":"AEWeb - Domain names","sectionTitle":"AEWeb - Domain names","sectionRoute":"/participate/aeweb/dns","type":"docs"},{"id":883,"pageTitle":"AEWeb - Domain names","sectionTitle":"DNSLink","sectionRoute":"/participate/aeweb/dns#dnslink","type":"docs"},{"id":884,"pageTitle":"AEWeb - Domain names","sectionTitle":"Hosting provider integration","sectionRoute":"/participate/aeweb/dns#hosting-provider-integration","type":"docs"},{"id":885,"pageTitle":"AEWeb - Domain names","sectionTitle":"SSL","sectionRoute":"/participate/aeweb/dns#ssl","type":"docs"},{"id":886,"pageTitle":"AEWeb - Domain names","sectionTitle":"1. Get the certificate","sectionRoute":"/participate/aeweb/dns#1-get-the-certificate","type":"docs"},{"id":887,"pageTitle":"AEWeb - Domain names","sectionTitle":"2. Add the certificate on chain","sectionRoute":"/participate/aeweb/dns#2-add-the-certificate-on-chain","type":"docs"},{"id":897,"pageTitle":"AEWeb - How it works","sectionTitle":"AEWeb - How it works","sectionRoute":"/participate/aeweb/how-it-works","type":"docs"},{"id":898,"pageTitle":"AEWeb - How it works","sectionTitle":"Transaction building","sectionRoute":"/participate/aeweb/how-it-works#transaction-building","type":"docs"},{"id":899,"pageTitle":"AEWeb - How it works","sectionTitle":"Content delivery","sectionRoute":"/participate/aeweb/how-it-works#content-delivery","type":"docs"},{"id":900,"pageTitle":"AEWeb - How it works","sectionTitle":"Website updates","sectionRoute":"/participate/aeweb/how-it-works#website-updates","type":"docs"},{"id":901,"pageTitle":"AEWeb - How it works","sectionTitle":"Website unpublication","sectionRoute":"/participate/aeweb/how-it-works#website-unpublication","type":"docs"},{"id":888,"pageTitle":"","sectionTitle":"AEWeb Front end","sectionRoute":"/participate/aeweb/usage/aeweb-front","type":"docs"},{"id":889,"pageTitle":"","sectionTitle":"Tutorials","sectionRoute":"/participate/aeweb/usage/aeweb-front#tutorials","type":"docs"},{"id":890,"pageTitle":"","sectionTitle":"Deploy for the first time my static site","sectionRoute":"/participate/aeweb/usage/aeweb-front#deploy-for-the-first-time-my-static-site","type":"docs"},{"id":891,"pageTitle":"","sectionTitle":"Update my static site","sectionRoute":"/participate/aeweb/usage/aeweb-front#update-my-static-site","type":"docs"},{"id":892,"pageTitle":"","sectionTitle":"Update the SSL certificate","sectionRoute":"/participate/aeweb/usage/aeweb-front#update-the-ssl-certificate","type":"docs"},{"id":893,"pageTitle":"","sectionTitle":"Unpublish my static site","sectionRoute":"/participate/aeweb/usage/aeweb-front#unpublish-my-static-site","type":"docs"},{"id":894,"pageTitle":"","sectionTitle":"See my static site's informations","sectionRoute":"/participate/aeweb/usage/aeweb-front#see-my-static-sites-informations","type":"docs"},{"id":895,"pageTitle":"","sectionTitle":"Disconnect AEWeb","sectionRoute":"/participate/aeweb/usage/aeweb-front#disconnect-aeweb","type":"docs"},{"id":896,"pageTitle":"","sectionTitle":"Roadmap","sectionRoute":"/participate/aeweb/usage/aeweb-front#roadmap","type":"docs"},{"id":902,"pageTitle":"","sectionTitle":"AEWeb CLI (Command-Line Interface)","sectionRoute":"/participate/aeweb/usage/cli","type":"docs"},{"id":903,"pageTitle":"","sectionTitle":"aeweb generate-address","sectionRoute":"/participate/aeweb/usage/cli#aeweb-generate-address","type":"docs"},{"id":904,"pageTitle":"","sectionTitle":"aeweb deploy","sectionRoute":"/participate/aeweb/usage/cli#aeweb-deploy","type":"docs"},{"id":905,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Archethic Bridge (aeBridge)","sectionRoute":"/participate/bridge/","type":"docs"},{"id":906,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Key concepts","sectionRoute":"/participate/bridge/#key-concepts","type":"docs"},{"id":907,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"HTLC (Hash Time Lock Contract)","sectionRoute":"/participate/bridge/#htlc-hash-time-lock-contract","type":"docs"},{"id":908,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Archethic's cross-chain verification","sectionRoute":"/participate/bridge/#archethics-cross-chain-verification","type":"docs"},{"id":909,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"EVM to Archethic","sectionRoute":"/participate/bridge/#evm-to-archethic","type":"docs"},{"id":910,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Archethic to EVM","sectionRoute":"/participate/bridge/#archethic-to-evm","type":"docs"},{"id":911,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"How to access","sectionRoute":"/participate/bridge/#how-to-access","type":"docs"},{"id":912,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"Audit of EVM Smart Contracts","sectionRoute":"/participate/bridge/#audit-of-evm-smart-contracts","type":"docs"},{"id":913,"pageTitle":"Archethic Bridge (aeBridge)","sectionTitle":"FAQ","sectionRoute":"/participate/bridge/#faq","type":"docs"},{"id":914,"pageTitle":"","sectionTitle":"aeBridge - Tutorial","sectionRoute":"/participate/bridge/usage","type":"docs"},{"id":915,"pageTitle":"","sectionTitle":"Welcome Screen","sectionRoute":"/participate/bridge/usage#welcome-screen","type":"docs"},{"id":916,"pageTitle":"","sectionTitle":"Application Menu","sectionRoute":"/participate/bridge/usage#application-menu","type":"docs"},{"id":917,"pageTitle":"","sectionTitle":"Feature Access","sectionRoute":"/participate/bridge/usage#feature-access","type":"docs"},{"id":918,"pageTitle":"","sectionTitle":"Bridging Your Assets","sectionRoute":"/participate/bridge/usage#bridging-your-assets","type":"docs"},{"id":919,"pageTitle":"","sectionTitle":"Step 1: Initiating Transfer","sectionRoute":"/participate/bridge/usage#step-1-initiating-transfer","type":"docs"},{"id":920,"pageTitle":"","sectionTitle":"Step 2: Confirming Details","sectionRoute":"/participate/bridge/usage#step-2-confirming-details","type":"docs"},{"id":921,"pageTitle":"","sectionTitle":"Step 3: Executing Transfer","sectionRoute":"/participate/bridge/usage#step-3-executing-transfer","type":"docs"},{"id":922,"pageTitle":"","sectionTitle":"Local History and Management","sectionRoute":"/participate/bridge/usage#local-history-and-management","type":"docs"},{"id":923,"pageTitle":"","sectionTitle":"Options Include:","sectionRoute":"/participate/bridge/usage#options-include","type":"docs"},{"id":924,"pageTitle":"","sectionTitle":"Transfer Status Actions:","sectionRoute":"/participate/bridge/usage#transfer-status-actions","type":"docs"},{"id":925,"pageTitle":"","sectionTitle":"Refund Process","sectionRoute":"/participate/bridge/usage#refund-process","type":"docs"},{"id":931,"pageTitle":"Archethic's CLI","sectionTitle":"Archethic's CLI","sectionRoute":"/participate/cli/","type":"docs"},{"id":932,"pageTitle":"Archethic's CLI","sectionTitle":"Installation","sectionRoute":"/participate/cli/#installation","type":"docs"},{"id":933,"pageTitle":"Archethic's CLI","sectionTitle":"Generate address","sectionRoute":"/participate/cli/#generate-address","type":"docs"},{"id":934,"pageTitle":"Archethic's CLI","sectionTitle":"Build and send transaction","sectionRoute":"/participate/cli/#build-and-send-transaction","type":"docs"},{"id":935,"pageTitle":"Archethic's CLI","sectionTitle":"UCO transfers","sectionRoute":"/participate/cli/#uco-transfers","type":"docs"},{"id":936,"pageTitle":"Archethic's CLI","sectionTitle":"Token transfers","sectionRoute":"/participate/cli/#token-transfers","type":"docs"},{"id":937,"pageTitle":"Archethic's CLI","sectionTitle":"Recipients","sectionRoute":"/participate/cli/#recipients","type":"docs"},{"id":938,"pageTitle":"Archethic's CLI","sectionTitle":"Content","sectionRoute":"/participate/cli/#content","type":"docs"},{"id":939,"pageTitle":"Archethic's CLI","sectionTitle":"Smart contract","sectionRoute":"/participate/cli/#smart-contract","type":"docs"},{"id":940,"pageTitle":"Archethic's CLI","sectionTitle":"Sending the transaction","sectionRoute":"/participate/cli/#sending-the-transaction","type":"docs"},{"id":941,"pageTitle":"Archethic's CLI","sectionTitle":"Keychain management","sectionRoute":"/participate/cli/#keychain-management","type":"docs"},{"id":942,"pageTitle":"Archethic's CLI","sectionTitle":"Creating a keychain","sectionRoute":"/participate/cli/#creating-a-keychain","type":"docs"},{"id":943,"pageTitle":"Archethic's CLI","sectionTitle":"Accessing a keychain","sectionRoute":"/participate/cli/#accessing-a-keychain","type":"docs"},{"id":944,"pageTitle":"Archethic's CLI","sectionTitle":"Adding / removing a service","sectionRoute":"/participate/cli/#adding--removing-a-service","type":"docs"},{"id":945,"pageTitle":"Archethic's CLI","sectionTitle":"Create a transaction for a service","sectionRoute":"/participate/cli/#create-a-transaction-for-a-service","type":"docs"},{"id":946,"pageTitle":"Archethic's CLI","sectionTitle":"CLI - Archethic Command Line Interpreter","sectionRoute":"/participate/cli/#cli---archethic-command-line-interpreter","type":"docs"},{"id":947,"pageTitle":"Archethic's CLI","sectionTitle":"Contribution","sectionRoute":"/participate/cli/#contribution","type":"docs"},{"id":952,"pageTitle":"Tutoriel Archethic DeFi","sectionTitle":"Tutoriel Archethic DeFi","sectionRoute":"/participate/DeFi/","type":"docs"},{"id":953,"pageTitle":"Tutoriel Archethic DeFi","sectionTitle":"Welcome to the interactive guide for using the Archethic Bridge","sectionRoute":"/participate/DeFi/","type":"docs"},{"id":954,"pageTitle":"Tutoriel Archethic DeFi","sectionTitle":"This tutorial will explain the following points:","sectionRoute":"/participate/DeFi/","type":"docs"},{"id":926,"pageTitle":"","sectionTitle":"aeSwap DEX Documentation","sectionRoute":"/participate/dex/","type":"docs"},{"id":927,"pageTitle":"","sectionTitle":"What is a Decentralized Exchange (DEX)?","sectionRoute":"/participate/dex/#what-is-a-decentralized-exchange-dex","type":"docs"},{"id":928,"pageTitle":"","sectionTitle":"Key Features of aeSwap","sectionRoute":"/participate/dex/#key-features-of-aeswap","type":"docs"},{"id":929,"pageTitle":"","sectionTitle":"How to access","sectionRoute":"/participate/dex/#how-to-access","type":"docs"},{"id":930,"pageTitle":"","sectionTitle":"FAQ","sectionRoute":"/participate/dex/#faq","type":"docs"},{"id":948,"pageTitle":"","sectionTitle":"Swaps, Liquidity Pools, Farming","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1","type":"docs"},{"id":949,"pageTitle":"","sectionTitle":"Swaps","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1#swaps","type":"docs"},{"id":950,"pageTitle":"","sectionTitle":"Liquidity Pools","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1#liquidity-pools","type":"docs"},{"id":951,"pageTitle":"","sectionTitle":"Farming","sectionRoute":"/participate/dex/Core Concepts/core_concepts_1#farming","type":"docs"},{"id":955,"pageTitle":"","sectionTitle":"Financials: Fees, APR, Understanding Returns","sectionRoute":"/participate/dex/Core Concepts/core_concepts_2","type":"docs"},{"id":956,"pageTitle":"","sectionTitle":"Fees","sectionRoute":"/participate/dex/Core Concepts/core_concepts_2#fees","type":"docs"},{"id":957,"pageTitle":"","sectionTitle":"APR and Understanding Returns","sectionRoute":"/participate/dex/Core Concepts/core_concepts_2#apr-and-understanding-returns","type":"docs"},{"id":958,"pageTitle":"","sectionTitle":"Security, Research & Math","sectionRoute":"/participate/dex/Core Concepts/core_concepts_3","type":"docs"},{"id":959,"pageTitle":"","sectionTitle":"Research & Math","sectionRoute":"/participate/dex/Core Concepts/core_concepts_3#research--math","type":"docs"},{"id":960,"pageTitle":"","sectionTitle":"The Mathematics of AMM and Constant Product Formula","sectionRoute":"/participate/dex/Core Concepts/core_concepts_3#the-mathematics-of-amm-and-constant-product-formula","type":"docs"},{"id":979,"pageTitle":"","sectionTitle":"aeSwap - Tutorial","sectionRoute":"/participate/dex/Guide_Usage/","type":"docs"},{"id":980,"pageTitle":"","sectionTitle":"Welcome Screen","sectionRoute":"/participate/dex/Guide_Usage/#welcome-screen","type":"docs"},{"id":981,"pageTitle":"","sectionTitle":"Application Menu","sectionRoute":"/participate/dex/Guide_Usage/#application-menu","type":"docs"},{"id":982,"pageTitle":"","sectionTitle":"Feature Access","sectionRoute":"/participate/dex/Guide_Usage/#feature-access","type":"docs"},{"id":961,"pageTitle":"","sectionTitle":"Farming","sectionRoute":"/participate/dex/Guide_Usage/farming","type":"docs"},{"id":962,"pageTitle":"","sectionTitle":"Detailed Breakdown","sectionRoute":"/participate/dex/Guide_Usage/farming#detailed-breakdown","type":"docs"},{"id":963,"pageTitle":"","sectionTitle":"Deposits & Rewards","sectionRoute":"/participate/dex/Guide_Usage/farming#deposits--rewards","type":"docs"},{"id":964,"pageTitle":"","sectionTitle":"Level-Based System","sectionRoute":"/participate/dex/Guide_Usage/farming#level-based-system","type":"docs"},{"id":965,"pageTitle":"","sectionTitle":"Locking Periods","sectionRoute":"/participate/dex/Guide_Usage/farming#locking-periods","type":"docs"},{"id":966,"pageTitle":"","sectionTitle":"Flexibility to Level Up","sectionRoute":"/participate/dex/Guide_Usage/farming#flexibility-to-level-up","type":"docs"},{"id":967,"pageTitle":"","sectionTitle":"Unlocking Rewards","sectionRoute":"/participate/dex/Guide_Usage/farming#unlocking-rewards","type":"docs"},{"id":968,"pageTitle":"","sectionTitle":"Dashboard","sectionRoute":"/participate/dex/Guide_Usage/farming#dashboard","type":"docs"},{"id":969,"pageTitle":"","sectionTitle":"Liquidity pool section","sectionRoute":"/participate/dex/Guide_Usage/farming#liquidity-pool-section","type":"docs"},{"id":970,"pageTitle":"","sectionTitle":"Farm pool section","sectionRoute":"/participate/dex/Guide_Usage/farming#farm-pool-section","type":"docs"},{"id":971,"pageTitle":"","sectionTitle":"Balances summary section","sectionRoute":"/participate/dex/Guide_Usage/farming#balances-summary-section","type":"docs"},{"id":972,"pageTitle":"","sectionTitle":"Farmed Tokens Summary section","sectionRoute":"/participate/dex/Guide_Usage/farming#farmed-tokens-summary-section","type":"docs"},{"id":973,"pageTitle":"","sectionTitle":"Deposits table","sectionRoute":"/participate/dex/Guide_Usage/farming#deposits-table","type":"docs"},{"id":974,"pageTitle":"","sectionTitle":"Interacting with Farms: Available Actions","sectionRoute":"/participate/dex/Guide_Usage/farming#interacting-with-farms-available-actions","type":"docs"},{"id":987,"pageTitle":"Liquidity Pool","sectionTitle":"Liquidity Pool","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool","type":"docs"},{"id":988,"pageTitle":"Liquidity Pool","sectionTitle":"Create a pool and add liquidity","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#create-a-pool-and-add-liquidity","type":"docs"},{"id":989,"pageTitle":"Liquidity Pool","sectionTitle":"Step 1: Creating a Liquidity Pool: Essential Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-1-creating-a-liquidity-pool-essential-information","type":"docs"},{"id":990,"pageTitle":"Liquidity Pool","sectionTitle":"Step 2: Finalizing Pool Creation: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-2-finalizing-pool-creation-confirmation-and-validation-steps","type":"docs"},{"id":991,"pageTitle":"Liquidity Pool","sectionTitle":"Navigating Pool Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#navigating-pool-information","type":"docs"},{"id":992,"pageTitle":"Liquidity Pool","sectionTitle":"Front View: Essential Pool Details","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#front-view-essential-pool-details","type":"docs"},{"id":993,"pageTitle":"Liquidity Pool","sectionTitle":"Back View: Exploring Pool Details","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#back-view-exploring-pool-details","type":"docs"},{"id":994,"pageTitle":"Liquidity Pool","sectionTitle":"Interacting with Pools: Available Actions","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#interacting-with-pools-available-actions","type":"docs"},{"id":995,"pageTitle":"Liquidity Pool","sectionTitle":"Fees","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#fees","type":"docs"},{"id":996,"pageTitle":"Liquidity Pool","sectionTitle":"Specificity of the aeETH / UCO pair","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#specificity-of-the-aeeth--uco-pair","type":"docs"},{"id":997,"pageTitle":"Liquidity Pool","sectionTitle":"Add Liquidity","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#add-liquidity","type":"docs"},{"id":998,"pageTitle":"Liquidity Pool","sectionTitle":"Step 1: Adding Liquidity: Essential Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-1-adding-liquidity-essential-information","type":"docs"},{"id":999,"pageTitle":"Liquidity Pool","sectionTitle":"Step 2: Finalizing Liquidity Addition: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-2-finalizing-liquidity-addition-confirmation-and-validation-steps","type":"docs"},{"id":1000,"pageTitle":"Liquidity Pool","sectionTitle":"Remove Liquidity","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#remove-liquidity","type":"docs"},{"id":1001,"pageTitle":"Liquidity Pool","sectionTitle":"Step 1: Removing Liquidity: Essential Information","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-1-removing-liquidity-essential-information","type":"docs"},{"id":1002,"pageTitle":"Liquidity Pool","sectionTitle":"Step 2: Finalizing Liquidity Removal: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/liquidity_pool#step-2-finalizing-liquidity-removal-confirmation-and-validation-steps","type":"docs"},{"id":975,"pageTitle":"Swap","sectionTitle":"Swap","sectionRoute":"/participate/dex/Guide_Usage/swap","type":"docs"},{"id":976,"pageTitle":"Swap","sectionTitle":"Swapping Your Tokens","sectionRoute":"/participate/dex/Guide_Usage/swap#swapping-your-tokens","type":"docs"},{"id":977,"pageTitle":"Swap","sectionTitle":"Step 1: Swap - Essential Information","sectionRoute":"/participate/dex/Guide_Usage/swap#step-1-swap---essential-information","type":"docs"},{"id":978,"pageTitle":"Swap","sectionTitle":"Step 2: Finalizing swap: Confirmation and Validation Steps","sectionRoute":"/participate/dex/Guide_Usage/swap#step-2-finalizing-swap-confirmation-and-validation-steps","type":"docs"},{"id":983,"pageTitle":"","sectionTitle":"Ecosystem Participants","sectionRoute":"/participate/dex/Overview/ecosystem_participants","type":"docs"},{"id":984,"pageTitle":"","sectionTitle":"Liquidity Providers (LPs)","sectionRoute":"/participate/dex/Overview/ecosystem_participants#liquidity-providers-lps","type":"docs"},{"id":985,"pageTitle":"","sectionTitle":"Traders","sectionRoute":"/participate/dex/Overview/ecosystem_participants#traders","type":"docs"},{"id":986,"pageTitle":"","sectionTitle":"Developers","sectionRoute":"/participate/dex/Overview/ecosystem_participants#developers","type":"docs"},{"id":1003,"pageTitle":"","sectionTitle":"Glossary","sectionRoute":"/participate/dex/Overview/glossary","type":"docs"},{"id":1004,"pageTitle":"","sectionTitle":"aeSwap","sectionRoute":"/participate/dex/Overview/glossary#aeswap","type":"docs"},{"id":1005,"pageTitle":"","sectionTitle":"Automated Market Maker (AMM)","sectionRoute":"/participate/dex/Overview/glossary#automated-market-maker-amm","type":"docs"},{"id":1006,"pageTitle":"","sectionTitle":"Liquidity Addition","sectionRoute":"/participate/dex/Overview/glossary#liquidity-addition","type":"docs"},{"id":1007,"pageTitle":"","sectionTitle":"Liquidity Provider (LP)","sectionRoute":"/participate/dex/Overview/glossary#liquidity-provider-lp","type":"docs"},{"id":1008,"pageTitle":"","sectionTitle":"Liquidity Removal","sectionRoute":"/participate/dex/Overview/glossary#liquidity-removal","type":"docs"},{"id":1009,"pageTitle":"","sectionTitle":"Pool","sectionRoute":"/participate/dex/Overview/glossary#pool","type":"docs"},{"id":1010,"pageTitle":"","sectionTitle":"Price Impact","sectionRoute":"/participate/dex/Overview/glossary#price-impact","type":"docs"},{"id":1011,"pageTitle":"","sectionTitle":"Slippage","sectionRoute":"/participate/dex/Overview/glossary#slippage","type":"docs"},{"id":1012,"pageTitle":"","sectionTitle":"Swap","sectionRoute":"/participate/dex/Overview/glossary#swap","type":"docs"},{"id":1013,"pageTitle":"","sectionTitle":"Total Value Locked (TVL)","sectionRoute":"/participate/dex/Overview/glossary#total-value-locked-tvl","type":"docs"},{"id":1014,"pageTitle":"","sectionTitle":"Yield Farming","sectionRoute":"/participate/dex/Overview/glossary#yield-farming","type":"docs"},{"id":1015,"pageTitle":"Protocol Overview","sectionTitle":"Protocol Overview","sectionRoute":"/participate/dex/Overview/protocol_overview","type":"docs"},{"id":1016,"pageTitle":"Protocol Overview","sectionTitle":"Introduction","sectionRoute":"/participate/dex/Overview/protocol_overview#introduction","type":"docs"},{"id":1017,"pageTitle":"Protocol Overview","sectionTitle":"The AMM Model","sectionRoute":"/participate/dex/Overview/protocol_overview#the-amm-model","type":"docs"},{"id":1018,"pageTitle":"Protocol Overview","sectionTitle":"Participating in aeSwap","sectionRoute":"/participate/dex/Overview/protocol_overview#participating-in-aeswap","type":"docs"},{"id":1019,"pageTitle":"Protocol Overview","sectionTitle":"Ensuring Fair and Secure Trading","sectionRoute":"/participate/dex/Overview/protocol_overview#ensuring-fair-and-secure-trading","type":"docs"},{"id":1020,"pageTitle":"Protocol Overview","sectionTitle":"Rewards and Yield Farming","sectionRoute":"/participate/dex/Overview/protocol_overview#rewards-and-yield-farming","type":"docs"},{"id":1021,"pageTitle":"Protocol Overview","sectionTitle":"The Mathematics of AMM and Constant Product Formula","sectionRoute":"/participate/dex/Overview/protocol_overview#the-mathematics-of-amm-and-constant-product-formula","type":"docs"},{"id":1022,"pageTitle":"Protocol Overview","sectionTitle":"Example Calculation","sectionRoute":"/participate/dex/Overview/protocol_overview#example-calculation","type":"docs"},{"id":1023,"pageTitle":"Protocol Overview","sectionTitle":"Price Impact and Slippage","sectionRoute":"/participate/dex/Overview/protocol_overview#price-impact-and-slippage","type":"docs"},{"id":1024,"pageTitle":"Protocol Overview","sectionTitle":"Conclusion and Further Exploration","sectionRoute":"/participate/dex/Overview/protocol_overview#conclusion-and-further-exploration","type":"docs"},{"id":1033,"pageTitle":"Smart Contracts","sectionTitle":"Smart Contracts","sectionRoute":"/participate/dex/Overview/smart_contracts/","type":"docs"},{"id":1025,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Farm Lock Smart Contract","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock","type":"docs"},{"id":1026,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Rewards","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#rewards","type":"docs"},{"id":1027,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Weights","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#weights","type":"docs"},{"id":1028,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Rewards are calculated every hours","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#rewards-are-calculated-every-hours","type":"docs"},{"id":1029,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"State","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#state","type":"docs"},{"id":1030,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Calculations","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#calculations","type":"docs"},{"id":1031,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"An example","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#an-example","type":"docs"},{"id":1032,"pageTitle":"Farm Lock Smart Contract","sectionTitle":"Giveaways","sectionRoute":"/participate/dex/Overview/smart_contracts/farm-lock#giveaways","type":"docs"},{"id":1034,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Archethic Wallet (aeWallet)","sectionRoute":"/participate/wallet/","type":"docs"},{"id":1035,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Features","sectionRoute":"/participate/wallet/#features","type":"docs"},{"id":1036,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"How to download the app","sectionRoute":"/participate/wallet/#how-to-download-the-app","type":"docs"},{"id":1037,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Framework","sectionRoute":"/participate/wallet/#framework","type":"docs"},{"id":1038,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Seed","sectionRoute":"/participate/wallet/#seed","type":"docs"},{"id":1039,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Securing the application","sectionRoute":"/participate/wallet/#securing-the-application","type":"docs"},{"id":1040,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Data store","sectionRoute":"/participate/wallet/#data-store","type":"docs"},{"id":1041,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Interactions with the Archethic blockchain","sectionRoute":"/participate/wallet/#interactions-with-the-archethic-blockchain","type":"docs"},{"id":1042,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Setup","sectionRoute":"/participate/wallet/#setup","type":"docs"},{"id":1043,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Pre-requisites","sectionRoute":"/participate/wallet/#pre-requisites","type":"docs"},{"id":1044,"pageTitle":"Archethic Wallet (aeWallet)","sectionTitle":"Instructions","sectionRoute":"/participate/wallet/#instructions","type":"docs"},{"id":1046,"pageTitle":"Communication with DApps","sectionTitle":"Communication with DApps","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1047,"pageTitle":"Communication with DApps","sectionTitle":"Point of view on usage","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1048,"pageTitle":"Communication with DApps","sectionTitle":"Technical point of view","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1049,"pageTitle":"Communication with DApps","sectionTitle":"In conclusion","sectionRoute":"/participate/wallet/dapps-communication","type":"docs"},{"id":1045,"pageTitle":"Schema Documentation","sectionTitle":"Schema Documentation","sectionRoute":"/schema","type":"docs"}],"index":{"version":"2.3.9","fields":["title","content"],"fieldVectors":[["title/2",[0,3.54]],["content/2",[0,4.595,1,6.456,2,7.743,3,4.762,4,7.743,5,4.378,6,4.668,7,5.045,8,1.561,9,7.743,10,7.743]],["title/3",[5,4.261]],["content/3",[0,4.172,6,5.356,7,5.788,8,1.23,11,9.634,12,4.939,13,5.939,14,3.87]],["title/4",[15,6.804]],["content/4",[1,6.456,2,7.743,3,4.762,4,7.743,5,4.378,6,4.668,7,5.045,8,1.561,9,7.743,10,7.743,15,8.832]],["title/5",[5,4.261]],["content/5",[6,5.356,7,5.788,8,1.23,12,4.939,13,5.939,14,3.87,15,8.018,16,9.634]],["title/6",[17,6.804]],["content/6",[8,1.46,17,7.889,18,1.441,19,5.168,20,5.695,21,6.196,22,9.479,23,9.479]],["title/7",[24,3.044]],["content/7",[18,1.514,25,9.96,26,6.619,27,9.96,28,3.241,29,7.984]],["title/8",[30,3.836]],["content/8",[31,7.509,32,3.858]],["title/9",[33,6.804]],["content/9",[8,1.393,21,5.734,24,3.267,33,9.077,34,3.312,35,4.294,36,4.653,37,4.498,38,9.495,39,10.906]],["title/10",[24,3.044]],["content/10",[35,5.765,40,9.96,41,9.96,42,9.96,43,9.96]],["title/11",[30,3.836]],["content/11",[44,7.361,45,5.047]],["title/12",[46,6.166]],["content/12",[8,1.243,34,2.774,46,7.342,47,4.912,48,3.318,49,3.342,50,3.831,51,5.229,52,3.129,53,6.264,54,4.97,55,2.232,56,7.349,57,3.679,58,5.71]],["title/13",[3,3.668]],["content/13",[8,1.475,14,4.639,57,4.823,58,5.651,59,9.634,60,9.634]],["title/14",[30,3.836]],["content/14",[32,3.858,61,6.195]],["title/15",[62,3.972]],["content/15",[0,3.536,8,1.331,34,3.082,55,2.48,62,6.073,63,4.152,64,4.183,65,3.451,66,6.159,67,3.884]],["title/16",[3,3.668]],["content/16",[8,1.46,14,3.808,32,3.423,66,7.15,67,4.509,68,9.479,69,3.257,70,8.253]],["title/17",[71,2.39]],["content/17",[45,5.047,62,5.191]],["title/18",[30,3.836]],["content/18",[18,1.624,32,3.858]],["title/19",[72,5.746]],["content/19",[8,1.385,34,2.74,55,2.204,67,4.593,72,5.102,73,5.315,74,2.814,75,4.076,76,4.824,77,5.002,78,3.921,79,7.259,80,8.035,81,7.259,82,3.663,83,6.786,84,4.475,85,4.745,86,6.041,87,5.337,88,3.218]],["title/20",[3,3.668]],["content/20",[8,1.608,14,4.955,32,2.59,67,4.556,69,2.464,80,5.968,82,3.618,83,5.04,85,4.687,87,5.272,89,7.17,90,7.17,91,7.17,92,7.17,93,7.17,94,7.17,95,7.17]],["title/21",[71,2.39]],["content/21",[45,5.047,72,7.509]],["title/22",[96,5.871]],["content/22",[0,2.105,8,1.321,18,1.105,34,1.835,55,2.935,64,1.771,65,3.382,67,4.143,78,2.626,82,4.394,88,3.223,96,5.222,97,2.676,98,4.483,99,2.329,100,4.536,101,3.64,102,4.823,103,2.282,104,2.597,105,4.368,106,3.231,107,3.038,108,1.963,109,4.265,110,4.233,111,2.651,112,1.547,113,2.534,114,1.677,115,1.371,116,4.483,117,3.574,118,3.492,119,1.748]],["title/23",[3,3.668]],["content/23",[8,1.621,14,5.099,67,5.037,82,3.49,102,3.225,104,2.512,119,2.488,120,6.918,121,6.918,122,6.918,123,6.918,124,6.918,125,6.918,126,6.918,127,6.918]],["title/24",[30,3.836]],["content/24",[32,3.858,128,7.854]],["title/25",[129,6.345]],["content/25",[0,3.105,8,1.223,34,2.707,48,3.264,49,2.648,55,2.178,57,3.59,58,4.206,129,7.432,130,4.765,131,4.002,132,7.676,133,5.984,134,2.791,135,5.129,136,5.565,137,7.17]],["title/26",[3,3.668]],["content/26",[8,1.475,14,4.639,57,4.823,58,5.651,138,9.634,139,9.634]],["title/27",[30,3.836]],["content/27",[18,1.624,32,3.858]],["title/28",[112,2.601]],["content/28",[0,2.295,8,0.989,12,2.717,18,1.178,34,2,47,2.674,48,1.806,49,1.465,51,2.539,55,1.609,61,5.845,63,4.659,69,2.662,101,3.879,104,1.424,112,2.915,114,2.673,115,2.185,119,2.786,140,5.299,141,3.039,142,3.318,143,3.474,144,5.447,145,4.162,146,4.113,147,4.614,148,2.889,149,4.614,150,2.097,151,3.267,152,5.126,153,4.41,154,2.739,155,5.299]],["title/29",[3,3.668]],["content/29",[8,1.586,14,4.385,32,3.942,61,4.262,63,3.738,69,3.75,104,1.975,119,2.643,145,3.339,152,3.738,156,7.349,157,7.349,158,7.349,159,7.349,160,7.349,161,7.349]],["title/30",[30,3.836]],["content/30",[18,1.624,32,3.858]],["title/31",[162,4.741]],["content/31",[8,1.406,28,2.898,34,3.362,55,2.705,67,4.237,119,3.202,136,6.912,162,6.929,163,6.396,164,6.396]],["title/32",[3,3.668]],["content/32",[8,1.475,14,4.639,67,4.583,119,3.464,165,9.634,166,9.634]],["title/33",[71,2.39]],["content/33",[45,5.047,167,9.301]],["title/34",[168,6.166]],["content/34",[8,1.419,19,4.93,55,2.746,67,4.302,112,2.877,119,3.252,143,3.429,168,6.82,169,4.426,170,7.526,171,5.244]],["title/35",[3,3.668]],["content/35",[8,1.536,14,4.833,67,4.302,119,3.252,170,7.526,172,9.042,173,9.042,174,9.042]],["title/36",[30,3.836]],["content/36",[31,7.509,32,3.858]],["title/37",[63,4.157]],["content/37",[8,1.406,34,3.362,55,2.705,63,6.077,64,3.244,65,2.676,175,4.643,176,3.75,177,6.912,178,6.912]],["title/38",[3,3.668]],["content/38",[8,1.475,32,4.17,177,7.477,178,7.477,179,9.634,180,9.634]],["title/39",[30,3.836]],["content/39",[32,3.858,112,3.399]],["title/40",[128,6.01]],["content/40",[0,3.031,8,1.203,18,1.619,34,2.642,55,2.126,63,3.56,67,3.33,96,6.767,101,3.505,128,6.927,142,2.997,175,3.649,176,2.948,181,5.027,182,5.973,183,5.592,184,4.259,185,4.87,186,7.107,187,6.493]],["title/41",[3,3.668]],["content/41",[8,1.545,14,3.28,32,4.147,67,3.884,69,3.945,96,5.864,186,6.159,187,5.626,188,8.165,189,8.165,190,8.165,191,8.165]],["title/42",[30,3.836]],["content/42",[32,3.858,192,7.361]],["title/43",[134,2.382]],["content/43",[7,5.528,8,1.175,28,2.199,34,2.551,47,3.41,55,2.053,58,6.137,67,3.215,82,4.643,104,1.816,119,3.762,134,3.049,163,4.854,164,4.854,193,6.759,194,2.551,195,6.759,196,4.285,197,6.759,198,6.759,199,6.232,200,6.759,201,6.232,202,6.759,203,6.759]],["title/44",[3,3.668]],["content/44",[7,4.847,8,1.642,14,5.165,58,5.546,67,2.665,82,4.07,104,1.505,119,3.4,196,3.551,204,5.602,205,5.602,206,5.602,207,5.602,208,5.602,209,5.602,210,5.602,211,5.602,212,5.602,213,5.602,214,5.602,215,5.602,216,5.602]],["title/45",[71,2.39]],["content/45",[45,5.047,134,3.113]],["title/46",[217,5.746]],["content/46",[8,1.419,34,3.413,55,2.746,82,5.607,112,2.877,217,7.811,218,4.839,219,3.985,220,7.249]],["title/47",[3,3.668]],["content/47",[8,1.475,14,3.87,32,3.479,82,4.861,220,7.723,221,9.634,222,8.883]],["title/48",[71,2.39]],["content/48",[8,1.294,45,4.787,217,7.121,223,8.821,224,6.245]],["title/49",[220,6.553]],["content/49",[8,1.489,55,2.974,64,3.568,220,7.851,225,5.884,226,7.851]],["title/50",[3,3.668]],["content/50",[8,1.316,32,3.723,226,8.264,227,10.309]],["title/51",[30,3.836]],["content/51",[32,3.858,217,7.509]],["title/52",[61,4.741]],["content/52",[8,1.343,34,3.125,46,6.245,47,4.177,48,2.822,49,2.289,51,5.537,53,5.328,55,2.514,57,4.145,61,6.099,228,4.353,229,3.994,230,8.279]],["title/53",[3,3.668]],["content/53",[8,1.46,14,3.808,32,3.423,46,7.15,57,4.746,69,3.257,231,9.479,232,9.479]],["title/54",[30,3.836]],["content/54",[8,1.294,32,4.297,65,3.045,112,3.224]],["title/55",[152,4.157]],["content/55",[8,1.38,34,3.263,55,2.625,57,4.328,103,4.057,104,2.322,114,2.982,115,2.437,119,3.108,152,5.496,233,3.64,234,6.709,235,7.194]],["title/56",[3,3.668]],["content/56",[8,1.536,14,4.833,57,4.527,119,3.252,235,7.526,236,9.042,237,9.042,238,9.042]],["title/57",[30,3.836]],["content/57",[32,3.858,112,3.399]],["title/58",[239,6.166]],["content/58",[0,3.143,8,1.233,34,2.74,47,3.663,48,3.698,49,2.999,50,3.784,51,3.477,53,4.671,55,2.204,58,4.258,112,2.31,114,2.504,115,2.046,134,2.115,239,7.282,240,3.817,241,2.633,242,3.43,243,4.536,244,6.041,245,7.259]],["title/59",[3,3.668]],["content/59",[8,1.316,14,4.141,58,6.047,246,10.309]],["title/60",[71,2.39]],["content/60",[45,5.047,239,8.058]],["title/61",[65,2.457]],["content/61",[0,2.054,8,0.911,34,1.791,47,2.394,48,1.617,49,1.312,51,2.273,55,2.899,61,5.537,65,3.654,67,3.396,69,2.453,74,1.383,104,1.918,105,4.289,119,3.433,149,4.13,150,1.878,151,2.925,247,3.682,248,5.221,249,3.875,250,6.661,251,5.804,252,6.309,253,2.183,254,5.736,255,5.609,256,2.751,257,3.208,258,5.941]],["title/62",[3,3.668]],["content/62",[8,1.624,14,5.045,32,2.236,61,3.59,67,4.12,69,2.976,104,1.663,119,3.891,258,7.208,259,6.191,260,6.191,261,6.191,262,6.191,263,6.191,264,6.191,265,6.191,266,6.191,267,6.191,268,6.191]],["title/63",[71,2.39]],["content/63",[45,5.047,65,3.211]],["title/64",[66,6.166]],["content/64",[0,3.223,8,1.253,34,2.809,55,2.26,62,3.616,63,3.785,65,3.746,66,7.404,67,4.67,100,5.154,104,2.951,105,5.897,118,5.345]],["title/65",[3,3.668]],["content/65",[8,1.536,14,4.833,67,5.286,104,2.429,269,9.042,270,9.042,271,9.042]],["title/66",[30,3.836]],["content/66",[32,3.858,62,5.191]],["title/70",[177,6.345]],["content/70",[8,1.419,34,3.413,55,2.746,63,4.599,64,3.294,142,4.758,176,3.808,177,8.624,272,7.018]],["title/71",[3,3.668]],["content/71",[8,1.294,32,3.659,69,3.481,272,7.863,273,10.131]],["title/72",[30,3.836]],["content/72",[32,3.858,63,5.433]],["title/73",[272,6.345]],["content/73",[8,1.38,34,3.263,55,2.625,67,5.141,100,4.057,101,4.328,104,2.903,117,6.355,118,6.208,142,3.701,272,8.387]],["title/74",[3,3.668]],["content/74",[8,1.569,14,4.936,67,5.094,104,2.877,274,8.519,275,8.519,276,8.519,277,8.519]],["title/75",[30,3.836]],["content/75",[32,3.858,177,8.291]],["title/67",[18,1.243]],["content/67",[8,1.283,18,1.527,28,2.036,34,2.362,55,2.65,57,4.368,58,3.67,62,4.24,67,4.151,84,3.857,85,4.089,86,5.207,87,4.6,88,2.774,97,3.444,104,2.699,112,2.776,119,2.25,129,6.772,192,6.012,278,4.719,279,1.349,280,6.256,281,4.026,282,5.768,283,6.256,284,5.768,285,5.768]],["title/68",[3,3.668]],["content/68",[8,1.641,14,4.899,32,3.817,57,3.78,58,3,62,2.486,67,3.592,69,2.594,85,3.343,87,3.76,104,2.029,112,1.628,119,1.839,129,3.97,192,3.524,281,3.291,286,4.257,287,5.115,288,5.115,289,5.115,290,5.115,291,5.115,292,5.115,293,5.115,294,5.115,295,5.115,296,5.115,297,5.115,298,5.115,299,5.115,300,5.115]],["title/69",[71,2.39]],["content/69",[8,1.585,18,1.658,44,6.045,45,6.033,301,7.301,302,7.033]],["title/76",[303,6.345]],["content/76",[8,1.253,18,1.132,34,2.809,55,2.26,67,4.67,104,2.637,131,2.588,303,7.618,304,7.216,305,5.776,306,3.34,307,4.946,308,3.591,309,3.983,310,3.816,311,2.975,312,4.946,313,2.975,314,4.097,315,6.194,316,6.194]],["title/77",[3,3.668]],["content/77",[8,1.536,14,4.833,67,5.286,104,2.429,317,9.042,318,9.042,319,9.042]],["title/78",[71,2.39]],["content/78",[224,6.585,320,8.891]],["title/79",[31,5.746]],["content/79",[8,1.367,17,7.09,19,5.838,20,5.118,31,7.527,34,3.216,55,2.587,104,2.877,119,3.063,168,6.426,321,5.988,322,7.09]],["title/80",[3,3.668]],["content/80",[3,3.517,8,1.521,14,4.079,17,6.524,21,5.124,32,2.831,104,2.106,119,2.819,168,5.913,321,5.51,322,8.451,323,7.227,324,7.839,325,7.839,326,7.839,327,7.839,328,5.63]],["title/81",[71,2.39]],["content/81",[31,7.509,224,6.585]],["title/107",[281,5.26]],["content/107",[0,2.403,7,3.334,8,1.023,18,1.218,34,2.095,55,3.128,65,3.42,67,3.812,78,2.997,82,4.745,97,5.177,99,2.658,100,4.833,101,4.011,104,2.767,105,4.814,106,3.688,107,3.468,108,2.241,117,4.079,118,3.985,119,1.995,281,5.156,329,5.116,330,7.299,331,3.025,332,1.987]],["title/108",[3,3.668]],["content/108",[7,4.361,8,1.613,14,5.075,67,4.593,82,3.663,104,2.594,119,2.61,333,7.259,334,7.259,335,7.259,336,7.259,337,7.259,338,7.259,339,7.259]],["title/109",[71,2.39]],["content/109",[45,5.047,281,6.874]],["title/110",[30,3.836]],["content/110",[18,1.624,32,3.858]],["title/85",[186,6.166]],["content/85",[0,2.738,8,1.122,18,0.961,34,2.387,55,3.316,63,3.216,65,3.57,67,4.182,100,4.742,101,4.401,104,2.934,105,5.281,106,4.202,107,3.952,117,4.649,118,4.542,119,2.274,142,2.708,152,3.216,181,4.542,186,6.63,340,6.323]],["title/86",[3,3.668]],["content/86",[8,1.589,14,5,67,4.915,104,2.776,119,2.896,341,8.053,342,8.053,343,8.053,344,8.053,345,8.053]],["title/87",[30,3.836]],["content/87",[32,3.858,128,7.854]],["title/82",[83,5.746]],["content/82",[8,1.285,18,1.531,34,2.92,55,3.057,67,3.68,75,4.344,82,5.079,83,5.438,104,3.007,119,2.782,185,3.537,346,5.556,347,5.556,348,6.735,349,7.736,350,7.736,351,6.004]],["title/83",[3,3.668]],["content/83",[8,1.597,14,5.026,67,3.586,69,2.59,82,3.803,104,2.659,119,2.711,351,5.85,352,7.538,353,7.538,354,7.538,355,7.538,356,7.538,357,7.538]],["title/84",[30,3.836]],["content/84",[32,3.858,72,7.509]],["title/88",[226,6.553]],["content/88",[8,1.46,55,2.879,196,7.249,225,5.695,226,7.599,358,8.74,359,8.74]],["title/89",[3,3.668]],["content/89",[8,1.475,14,4.639,196,7.32,360,9.634,361,9.634]],["title/90",[30,3.836]],["content/90",[32,3.858,220,8.564]],["title/91",[178,6.345]],["content/91",[8,1.419,34,3.413,55,2.746,63,4.599,64,3.294,142,4.758,176,3.808,178,8.624,362,7.018]],["title/92",[3,3.668]],["content/92",[8,1.294,32,3.659,69,3.481,362,7.863,363,10.131]],["title/93",[30,3.836]],["content/93",[32,3.858,63,5.433]],["title/98",[362,6.345]],["content/98",[8,1.432,34,3.467,55,2.789,67,4.369,100,4.31,101,4.598,104,2.467,142,3.932,362,8.707]],["title/99",[3,3.668]],["content/99",[8,1.475,14,4.639,67,4.583,104,2.588,364,9.634,365,9.634]],["title/100",[30,3.836]],["content/100",[32,3.858,178,8.291]],["title/94",[187,5.633]],["content/94",[0,2.274,8,1.281,18,1.17,34,1.983,55,3.048,64,1.913,65,3.467,67,3.662,78,2.837,82,4.598,99,2.516,100,4.71,101,3.854,102,4.981,104,2.696,105,4.625,106,3.49,107,3.282,108,2.121,109,3.081,110,4.573,114,1.812,115,1.481,117,3.861,118,3.772,119,1.889,182,3.329,183,3.117,184,3.195,187,5.304]],["title/95",[3,3.668]],["content/95",[8,1.613,14,5.075,67,4.593,82,3.663,102,3.384,104,2.594,119,2.61,366,7.259,367,7.259,368,7.259,369,7.259,370,7.259,371,7.259,372,7.259]],["title/96",[71,2.39]],["content/96",[45,5.047,373,8.291]],["title/97",[30,3.836]],["content/97",[32,3.858,128,7.854]],["title/101",[192,5.633]],["content/101",[0,2.449,8,1.037,18,1.445,34,2.135,48,1.928,49,1.564,55,1.718,57,2.831,58,3.317,63,2.876,67,2.691,82,4.099,88,3.601,111,4.429,116,5.214,128,5.972,131,2.825,132,4.534,135,4.943,151,5.86,175,4.235,176,3.421,192,5.597,374,5.972,375,2.876,376,3.758,377,3.055,378,4.165,379,2.709,380,2.831,381,5.655,382,4.707,383,5.655]],["title/102",[3,3.668]],["content/102",[8,1.603,14,4.917,32,2.757,57,3.823,58,4.479,67,3.632,82,3.852,128,5.613,382,6.355,384,7.635,385,7.635,386,7.635,387,7.635,388,7.635,389,7.635]],["title/103",[30,3.836]],["content/103",[18,1.624,32,3.858]],["title/104",[88,3.624]],["content/104",[8,1.367,18,1.628,34,3.216,55,2.587,88,5.192,111,5.838,119,4.211,143,4.061]],["title/105",[3,3.668]],["content/105",[8,1.536,14,4.833,119,4.326,390,9.042,391,9.042,392,9.042]],["title/106",[71,2.39]],["content/106",[45,5.047,88,4.736]],["title/111",[62,3.972]],["content/111",[8,1.12,18,1.334,28,2.855,45,4.145,62,5.767,74,2.557,104,3.189,393,5.088,394,5.734,395,5.338]],["title/112",[5,4.261]],["content/112",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,396,9.96]],["title/113",[55,2.483]],["content/113",[0,3.857,32,3.216,34,3.362,62,6.232,63,4.529,64,4.01,65,3.308]],["title/114",[72,5.746]],["content/114",[8,1.104,24,4.024,28,2.813,45,4.084,72,7.596,73,4.758,74,2.519,75,4.854,82,5.452,108,3.49,397,3.765,398,4.585]],["title/115",[5,4.261]],["content/115",[8,1.316,14,4.141,82,5.201,399,10.309]],["title/116",[55,2.483]],["content/116",[32,3.316,34,3.467,72,6.455,73,6.175,74,3.269,75,5.157,76,6.103,77,6.328,78,4.96]],["title/117",[373,6.345]],["content/117",[8,1.043,28,2.657,45,3.858,74,3.038,84,5.033,85,5.337,86,6.795,104,3.25,182,5.176,183,4.846,187,5.626,248,4.967,351,6.337,373,6.337,400,4.256]],["title/118",[5,4.261]],["content/118",[8,1.515,12,4.498,13,5.408,14,4.768,85,5.734,104,2.357,351,6.809,401,8.773,402,8.773,403,8.773]],["title/119",[55,2.483]],["content/119",[0,2.626,8,1.09,18,1.298,32,2.19,34,2.289,55,2.592,64,2.209,65,3.619,78,3.275,82,3.059,99,2.905,100,4.636,101,4.273,102,4.605,104,2.293,105,5.128,106,4.029,107,3.789,108,2.448,109,3.556,110,5.279,114,2.092,115,1.709,182,3.843,183,3.598,184,3.689,187,5.881]],["title/123",[404,6.01]],["content/123",[8,1.173,18,1.396,28,2.988,45,4.339,104,3.389,248,5.587,393,5.326,404,6.751]],["title/124",[5,4.261]],["content/124",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,405,9.96]],["title/125",[55,2.483]],["content/125",[14,3.943,26,7.299,34,2.809,55,2.26,104,3.349,119,2.676,406,3.67,407,5.231,408,4.269,409,3.381,410,5.966,411,4.058,412,5.231,413,4.718,414,4.651,415,3.643,416,4.02,417,5.776]],["title/120",[301,6.804]],["content/120",[8,1.173,18,1.706,28,2.988,45,4.339,104,3.254,301,7.643,393,5.326,398,4.871]],["title/121",[5,4.261]],["content/121",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,418,9.96]],["title/122",[55,2.483]],["content/122",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/126",[167,7.117]],["content/126",[69,3.31,134,2.808,162,6.697,163,6.919,167,8.388,419,8.883,420,9.634]],["title/127",[55,2.483]],["content/127",[28,3.187,32,3.537,34,3.697,136,7.602,162,7.222]],["title/128",[302,6.553]],["content/128",[8,1.155,18,1.689,28,2.942,45,4.272,55,3.375,69,3.107,85,5.91,302,7.249,421,5.818,422,7.018]],["title/129",[5,4.261]],["content/129",[8,1.446,12,4.783,13,5.751,14,4.55,85,6.098,422,7.24,423,9.329,424,9.329]],["title/130",[55,2.483]],["content/130",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/131",[134,2.382]],["content/131",[28,3.241,69,3.422,134,3.655,425,9.183]],["title/132",[55,2.483]],["content/132",[28,3.241,32,3.597,34,3.76,134,3.655]],["title/133",[217,5.746]],["content/133",[8,1.137,24,4.099,28,2.898,45,4.208,82,5.554,108,3.596,217,7.738,218,4.766,397,3.879,398,4.724]],["title/134",[5,4.261]],["content/134",[8,1.316,14,4.141,82,5.201,222,9.505]],["title/135",[55,2.483]],["content/135",[32,3.597,34,3.76,112,3.169,217,8.28,218,5.331]],["title/136",[239,6.166]],["content/136",[28,3.135,45,4.552,48,3.284,49,2.664,239,8.71,242,4.552,243,6.021]],["title/137",[55,2.483]],["content/137",[0,3.307,32,2.757,34,2.882,47,3.852,48,3.791,49,3.075,50,3.98,51,3.658,53,4.913,112,2.43,114,2.634,115,2.153,134,2.225,239,7.529,240,4.015,241,2.769,242,3.608,243,4.772,244,6.355]],["title/138",[65,2.457]],["content/138",[8,1.191,28,3.035,45,4.408,65,3.404,104,3.043,112,2.968,393,5.41,426,7.478]],["title/139",[5,4.261]],["content/139",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,427,9.96]],["title/140",[55,2.483]],["content/140",[0,2.497,32,2.082,34,2.177,47,2.909,48,1.965,49,1.594,51,2.762,55,2.501,61,4.777,65,3.811,69,2.83,74,1.68,104,1.549,105,3.464,149,5.02,150,2.282,151,3.555,247,4.475,248,5.011,249,3.719,250,6.393,251,5.57,252,6.055,253,2.653,254,5.773,255,5.384,256,3.344,257,3.9]],["title/144",[18,1.243]],["content/144",[8,1.21,18,1.867,28,3.084,45,4.479,104,3.072,393,5.497]],["title/145",[5,4.261]],["content/145",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,286,8.289]],["title/146",[55,2.483]],["content/146",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/141",[44,5.633]],["content/141",[8,1.104,18,1.643,28,2.813,33,7.194,35,4.231,44,5.956,45,4.084,74,2.519,82,4.361,104,3.167,393,5.013,428,8.644]],["title/142",[5,4.261]],["content/142",[8,1.553,12,4.245,13,5.104,14,4.643,21,5.412,33,6.891,82,4.177,104,2.826,429,8.279,430,8.279,431,8.279,432,8.279]],["title/143",[55,2.483]],["content/143",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/150",[281,5.26]],["content/150",[8,1.104,18,1.314,28,2.813,45,4.084,69,2.97,84,5.329,85,5.65,86,7.194,87,6.355,97,4.758,104,3.167,281,6.953]],["title/151",[5,4.261]],["content/151",[8,1.515,12,4.498,13,5.408,14,4.768,85,5.734,87,6.45,104,2.357,433,8.773,434,8.773,435,8.773]],["title/152",[55,2.483]],["content/152",[0,2.799,18,1.357,32,2.334,34,2.439,55,2.71,65,3.594,78,3.49,82,3.261,97,5.626,99,3.096,100,4.796,101,4.467,104,2.397,105,5.361,106,4.295,107,4.038,108,2.609,281,5.742,329,5.958,330,6.925,331,3.523,332,2.314]],["title/147",[18,1.243]],["content/147",[8,1.173,18,1.842,28,2.988,45,4.339,85,6.003,306,4.121,393,5.326,421,5.909,436,4.528]],["title/148",[5,4.261]],["content/148",[8,1.316,14,4.141,85,6.738,437,10.309]],["title/149",[55,2.483]],["content/149",[18,1.88,28,3.135,32,3.479,34,3.637,278,7.267,279,2.077]],["title/153",[88,3.624]],["content/153",[18,1.489,69,3.365,88,5.521,111,5.34,143,3.714]],["title/154",[55,2.483]],["content/154",[18,1.465,32,3.479,34,3.637,88,5.482,111,5.253,143,3.653]],["title/155",[104,2.196]],["content/155",[14,3.943,26,7.299,34,2.809,55,2.26,104,3.349,119,2.676,406,3.67,407,5.231,408,4.269,409,3.381,410,5.966,411,4.058,412,5.231,413,4.718,414,4.651,415,3.643,416,4.02,417,5.776]],["title/156",[71,2.39]],["content/156",[45,5.047,404,7.854]],["title/157",[30,3.836]],["content/157",[8,1.69,18,1.085,31,5.018,32,4.543,44,3.269,45,5.427,62,2.305,65,2.145,66,3.578,83,3.335,96,3.407,112,1.51,134,1.383,186,3.578,187,3.269,224,4.4,272,3.682,281,4.593,301,3.948,303,3.682,320,3.948,362,3.682,373,3.682,404,3.488]],["title/158",[7,4.911]],["content/158",[6,5.356,7,6.938,14,4.639,34,3.637,55,2.926,438,6.199]],["title/159",[30,3.836]],["content/159",[0,3.977,1,6.825,8,1.547,15,7.643,32,4.051,134,2.676,281,5.909]],["title/160",[145,3.714]],["content/160",[14,4.302,18,1.295,34,3.216,55,2.587,144,5.988,145,5.582,439,4.997,440,4.834,441,6.829,442,7.855,443,5.252,444,6.118]],["title/161",[30,3.836]],["content/161",[32,3.858,112,3.399]],["title/164",[170,6.804]],["content/164",[13,5.661,14,3.689,19,5.007,55,2.789,69,3.155,71,2.685,78,4.96,119,3.302,170,7.643,253,4.226,445,4.598]],["title/165",[30,3.836]],["content/165",[32,3.858,168,8.058]],["title/162",[196,5.182]],["content/162",[14,4.381,24,3.267,34,3.312,55,2.664,196,6.914,446,4.294,447,6.809,448,6.809,449,8.089,450,4.783,451,8.773,452,8.773]],["title/163",[30,3.836]],["content/163",[8,1.294,32,4.297,134,2.953,226,8.122]],["title/166",[379,3.916]],["content/166",[14,3.668,26,6.912,28,2.174,34,2.522,55,2.029,119,2.403,257,4.519,279,1.441,332,2.393,379,5.925,407,4.697,408,3.833,409,3.036,410,5.357,411,3.643,412,4.697,413,4.236,414,4.176,415,4.469,416,3.609,417,5.186,450,3.643,453,4.236,454,1.453,455,3.609]],["title/167",[30,3.836]],["content/167",[8,1.294,32,4.297,83,7.121,192,6.981]],["title/168",[57,4.093]],["content/168",[14,4.685,34,3.697,55,2.974,57,5.839,144,6.885]],["title/169",[30,3.836]],["content/169",[8,1.61,18,1.277,32,4.649,46,6.334,61,4.87,129,6.518,152,4.271,192,5.786]],["title/170",[67,3.889]],["content/170",[12,4.186,14,4.188,24,3.882,34,3.935,55,2.48,67,5.463,446,3.996,449,7.528,456,8.165,457,8.165,458,4.256,459,10.424,460,2.739]],["title/171",[30,3.836]],["content/171",[8,1.682,18,0.844,32,4.78,62,2.696,65,1.668,66,4.185,72,3.9,83,3.9,96,3.985,128,4.079,134,1.617,162,3.218,168,4.185,186,4.185,187,3.823,192,3.823,272,4.307,281,3.57,303,4.307,362,4.307]],["title/172",[87,6.01]],["content/172",[12,5.751,14,4.507,34,3.467,55,2.789,87,6.751,253,4.226,461,10.343,462,5.909]],["title/173",[30,3.836]],["content/173",[45,5.047,281,6.874]],["title/174",[80,6.804]],["content/174",[14,4.215,80,8.732,225,6.304]],["title/175",[30,3.836]],["content/175",[32,3.858,72,7.509]],["title/176",[85,5.343]],["content/176",[14,4.594,34,3.578,55,2.879,85,6.196,253,4.362,462,6.099,463,7.475]],["title/177",[30,3.836]],["content/177",[8,1.547,18,1.396,45,5.961,281,5.909,302,7.362,373,7.127]],["title/178",[58,4.795]],["content/178",[14,3.911,26,7.254,34,2.774,48,3.318,49,2.691,55,2.232,58,6.402,104,1.975,119,2.643,407,5.166,408,4.215,409,3.339,410,5.892,411,4.007,412,5.166,413,4.659,414,4.593,415,3.597,416,3.97,417,5.704]],["title/179",[30,3.836]],["content/179",[8,1.61,18,1.277,32,4.649,46,6.334,129,6.518,134,2.447,192,5.786,239,6.334]],["title/182",[235,6.804]],["content/182",[14,3.808,34,3.578,103,4.449,152,4.821,233,3.992,234,8.876,235,7.889,249,4.28]],["title/183",[30,3.836]],["content/183",[32,3.858,152,5.433]],["title/180",[351,6.345]],["content/180",[14,4.215,225,6.304,351,8.143]],["title/181",[30,3.836]],["content/181",[8,1.294,32,3.659,45,4.787,83,7.121,373,7.863]],["title/186",[102,3.811]],["content/186",[14,3.935,34,3.697,102,5.806,114,3.379,115,2.761]],["title/187",[30,3.836]],["content/187",[8,1.294,32,4.297,96,7.276,187,6.981]],["title/184",[119,2.94]],["content/184",[14,4.044,34,4.225,55,3.057,112,2.461,119,4.024,146,6.004,443,4.769,454,1.682,464,7.736,465,7.736,466,4.769,467,6.438,468,6.735,469,5.141,470,4.14,471,6.438,472,6.004]],["title/185",[30,3.836]],["content/185",[8,1.672,18,0.951,31,4.398,32,4.761,65,1.88,83,4.398,88,2.774,96,4.493,112,1.991,134,1.823,152,3.182,162,3.628,168,4.719,186,4.719,187,4.311,281,4.026]],["title/194",[82,4.125]],["content/194",[14,4.594,34,3.578,55,2.879,82,6.196,473,8.253,474,5.626]],["title/195",[30,3.836]],["content/195",[8,1.66,32,4.584,44,4.767,45,5.003,72,6.571,83,4.863,96,4.968,134,2.016,187,4.767,192,4.767,217,6.571,281,4.451]],["title/188",[258,6.804]],["content/188",[14,4.001,34,3.76,254,5.984,258,9.803,426,7.984]],["title/189",[30,3.836]],["content/189",[32,3.858,65,3.211]],["title/190",[422,6.345]],["content/190",[14,4.639,18,1.465,34,3.637,55,3.507,422,8.963]],["title/191",[30,3.836]],["content/191",[45,5.047,302,8.564]],["title/192",[382,6.804]],["content/192",[14,3.668,26,6.912,28,2.174,34,2.522,55,2.029,119,2.403,257,4.519,279,1.441,332,2.393,379,5.788,382,5.561,407,4.697,408,3.833,409,3.036,410,5.357,411,3.643,412,4.697,413,4.236,414,4.176,415,4.469,416,3.609,417,5.186,450,3.643,453,4.236,454,1.453,455,3.609]],["title/193",[30,3.836]],["content/193",[32,3.858,192,7.361]],["title/196",[223,7.117]],["content/196",[112,3.065,217,6.772,218,5.156,223,8.388,306,4.323,475,7.267,476,6.402,477,3.232]],["title/197",[55,2.483]],["content/197",[32,3.597,34,3.76,112,3.169,217,8.28,218,5.331]],["title/201",[320,6.804]],["content/201",[8,1.155,18,1.375,104,2.986,134,2.635,303,7.018,306,4.058,320,7.526,475,6.82,476,6.009,478,6.82,479,5.818]],["title/202",[5,4.261]],["content/202",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,480,9.96]],["title/203",[55,2.483]],["content/203",[18,1.259,32,2.99,34,3.125,131,2.88,303,8.162,304,7.732,305,6.426,306,3.715,307,5.502,308,3.994,309,4.431,310,4.245,311,3.31,312,5.502,313,3.31,314,4.558]],["title/198",[31,5.746]],["content/198",[8,1.21,18,1.441,19,5.168,31,8.038,104,3.072,475,7.15,476,6.299]],["title/199",[5,4.261]],["content/199",[8,1.272,12,5.106,13,6.14,14,4.001,104,2.676,323,9.183]],["title/200",[55,2.483]],["content/200",[19,5.524,31,8.363,32,3.659,34,3.824]],["title/204",[481,5.26]],["content/204",[0,1.962,18,0.689,35,2.217,49,0.743,52,1.929,55,1.376,63,3.914,64,0.979,101,2.268,112,1.441,134,1.32,154,1.389,242,1.27,279,0.579,306,1.206,313,2.347,332,0.962,397,1.17,446,1.315,454,0.985,458,1.401,478,2.027,482,3.034,483,4.435,484,3.426,485,2.112,486,1.278,487,2.027,488,1.389,489,2.34,490,1.852,491,3.33,492,2.514,493,1.096,494,1.976,495,1.401,496,2.154,497,3.064,498,4.141,499,1.465,500,1.541,501,1.817,502,1.817,503,4.177,504,4.157,505,1.12,506,3.631,507,1.465,508,1.615,509,1.615,510,1.315,511,2.478,512,1.93,513,2.361,514,1.576,515,1.679,516,1.635,517,1.221,518,2.687,519,2.155,520,1.595,521,1.278,522,2.237,523,1.679,524,1.12,525,2.478,526,1.199,527,1.541,528,2.086,529,1.206,530,3.944,531,2.887,532,1.93,533,2.027,534,2.687,535,3.451,536,3.064,537,1.817,538,0.946,539,1.325,540,3.902,541,2.027,542,2.237,543,1.93,544,4.53,545,1.278,546,1.306,547,2.687,548,3.417,549,3.121,550,2.34,551,1.479,552,1.509,553,2.237,554,2.478,555,2.478,556,1.757,557,1.306,558,2.027,559,1.425,560,2.687]],["title/205",[561,8.175]],["content/205",[12,2.872,48,1.909,63,5.261,64,2.041,99,2.684,279,2.039,308,2.703,328,4.023,332,2.006,484,1.816,492,2.398,504,4.357,508,5.68,513,4.206,524,2.334,535,4.039,540,3.723,550,8.232,551,4.441,553,4.662,562,2.971,563,2.872,564,4.118,565,2.896,566,3.788,567,3.551,568,4.206,569,4.348,570,4.225,571,5.602,572,4.023,573,3.179,574,2.262,575,4.877,576,4.877,577,5.165,578,4.225,579,3.286]],["title/206",[580,6.553]],["content/206",[8,0.715,48,1.909,63,5.261,88,2.483,279,1.208,313,2.239,332,2.006,395,4.908,484,1.816,501,3.788,502,3.788,504,4.357,508,3.365,510,2.742,511,7.438,512,5.794,521,2.665,529,2.514,530,4.877,535,2.804,540,3.723,550,4.877,553,4.662,557,2.722,569,4.348,574,2.262,581,2.44,582,2.594,583,5.671,584,4.118,585,3.604,586,3.146,587,2.412,588,2.742,589,2.665,590,4.225,591,5.602,592,2.896,593,5.602,594,4.678,595,3.723,596,4.662,597,5.602]],["title/207",[594,3.755,598,5.389]],["content/207",[454,1.852,514,4.997,537,5.761,543,6.118,565,4.404,594,4.94,599,7.417,600,5.953,601,8.519,602,7.527,603,5.87,604,4.886,605,5.4,606,7.855]],["title/208",[510,4.001]],["content/208",[8,1.611,454,1.997,606,8.467,607,6.328,608,9.183,609,9.183,610,9.183,611,9.183]],["title/209",[612,7.537]],["content/209",[18,1.161,48,2.603,49,2.111,64,2.781,104,2.051,108,3.083,135,3.632,142,3.269,176,3.215,377,4.124,458,3.98,484,2.475,524,3.181,612,7.04,613,5.759,614,4.532,615,4.913,616,6.648,617,4.333,618,5.367,619,4.479,620,4.772,621,3.115,622,5.926]],["title/210",[63,2.726,531,2.245,623,3.074]],["content/210",[279,2.112,530,8.527,540,6.509,543,7.034,573,5.558,624,5.242,625,9.794]],["title/211",[88,3.624]],["content/211",[8,1.321,13,2.371,20,3.647,63,3.088,67,1.83,71,1.125,88,3.787,97,2.117,112,1.224,135,1.83,143,1.458,183,2.282,332,1.377,462,2.475,504,2.077,507,2.097,526,2.708,531,1.611,538,1.354,581,1.675,604,2.206,617,2.182,621,1.569,626,2.005,627,3.846,628,3.846,629,4.579,630,5.053,631,4.579,632,6.261,633,3.201,634,5.053,635,3.201,636,3.201,637,5.598,638,4.712,639,2.261,640,5.286,641,1.83,642,4.36,643,2.65,644,3.348,645,3.846,646,1.726,647,3.846,648,7.74,649,5.598,650,2.901,651,1.972,652,2.371,653,2.514,654,6.071,655,2.691,656,6.071,657,1.537,658,3.546,659,1.695,660,3.846,661,2.117,662,3.846,663,3.846,664,2.869,665,3.482,666,2.629,667,3.546,668,3.846]],["title/212",[48,1.559,49,1.264,377,2.47,504,2.47]],["content/212",[8,1.051,13,2.96,24,0.766,48,2.232,49,2.578,55,2.356,58,3.38,63,2.442,64,0.75,65,0.619,67,0.979,71,1.404,103,1.69,104,0.553,113,1.073,135,1.713,175,1.073,176,0.867,229,2.317,306,0.924,332,0.737,377,3.113,397,0.896,409,0.935,411,1.122,413,1.305,439,2.113,454,0.447,455,1.112,474,1.221,498,2.885,504,3.113,507,1.122,520,2.138,524,0.857,538,2.537,573,1.168,581,1.569,585,1.324,586,1.156,587,0.886,617,1.168,626,1.073,629,1.552,630,4.796,631,1.552,632,1.713,633,1.713,634,1.713,635,1.713,636,1.713,642,1.478,643,1.418,655,2.129,657,2.304,659,1.587,669,2.058,670,2.058,671,4.005,672,3.03,673,2.058,674,2.058,675,2.058,676,2.058,677,1.447,678,2.058,679,1.792,680,2.058,681,1.792,682,5.763,683,1.305,684,1.578,685,5.145,686,3.42,687,2.998,688,2.002,689,1.792,690,1.898,691,3.666,692,1.792,693,2.058,694,4.802,695,2.191,696,2.058,697,2.058,698,0.907,699,2.058,700,4.802,701,2.998,702,2.058,703,2.058,704,2.058,705,4.181,706,2.058,707,1.65,708,2.058,709,2.058,710,4.181,711,1.898,712,1.713,713,2.058,714,1.776,715,1.447,716,2.058,717,3.602,718,2.058,719,1.345,720,0.683,721,1.324,722,3.602,723,1.713,724,2.058,725,1.792,726,1.792,727,2.998,728,1.713,729,1.478,730,2.058,731,1.513,732,2.058,733,1.597,734,2.058,735,1.324]],["title/213",[104,1.74,279,1.396]],["content/213",[0,0.828,8,0.797,13,1.178,35,0.935,36,1.014,49,0.933,50,0.996,51,0.916,53,2.171,55,0.58,58,3.208,63,0.972,67,0.909,71,1.826,104,1.852,112,1.074,113,0.996,135,3.28,176,0.805,229,0.922,251,2.282,279,1.179,306,0.858,332,1.208,379,1.617,393,1.108,413,1.211,439,1.121,447,2.619,455,4.282,484,2.57,507,1.042,526,0.852,529,0.858,538,1.926,549,1.317,581,0.832,589,0.909,617,1.084,626,0.996,629,1.442,630,6.946,631,1.442,632,5.196,633,1.591,634,2.809,635,1.591,636,1.591,641,0.909,642,1.373,648,1.591,659,0.842,661,2.494,671,1.876,679,1.664,684,2.396,686,2.003,691,0.903,698,1.487,705,2.938,707,4.384,710,1.664,711,1.762,723,1.591,727,1.591,735,1.23,736,1.911,737,1.532,738,1.591,739,1.532,740,1.911,741,1.911,742,1.762,743,1.317,744,2.689,745,1.762,746,1.762,747,3.112,748,1.762,749,1.762,750,3.112,751,3.112,752,5.757,753,2.809,754,3.112,755,1.442,756,1.762,757,1.073,758,1.762,759,1.762,760,1.483,761,4.824,762,4.178,763,1.762,764,1.762,765,3.112,766,3.112,767,1.317,768,1.664,769,4.761,770,3.185,771,1.762,772,1.762,773,0.996,774,1.762,775,1.532,776,1.762,777,1.163,778,1.664,779,1.762,780,1.762,781,1.664,782,3.112,783,2.938,784,2.372,785,1.664,786,1.762,787,1.762,788,1.483,789,1.591,790,1.163,791,1.343,792,1.664,793,1.317,794,1.762,795,1.762,796,3.04,797,3.112,798,1.762,799,1.762,800,1.762,801,1.762,802,1.664,803,1.762,804,1.762,805,2.705,806,3.112,807,3.112,808,3.112,809,1.762,810,1.911,811,1.911,812,1.911,813,1.911]],["title/214",[18,0.984,446,3.169]],["content/214",[8,1.254,18,0.513,35,0.652,36,0.706,48,0.454,49,0.368,51,0.638,53,1.569,58,2.447,67,0.634,71,1.754,100,1.583,104,1.611,112,0.424,130,1.62,135,3.459,145,0.605,152,0.677,176,1.027,196,0.844,229,1.627,251,0.901,279,0.526,306,0.598,332,0.477,379,2.329,380,0.667,393,0.772,409,0.605,411,0.726,413,2.138,440,1.384,446,0.652,447,1.893,455,3.927,460,0.447,466,0.821,484,2.097,507,0.726,524,0.555,526,0.594,529,0.598,538,1.187,549,0.918,553,1.109,557,1.185,581,0.58,617,1.384,618,0.936,621,1.376,626,0.694,629,1.005,630,8.172,631,1.005,632,3.471,633,1.109,634,2.029,635,1.109,636,1.109,638,1.893,641,0.634,642,3.492,648,3.471,649,2.248,653,3.178,659,1.486,661,1.856,667,1.228,671,0.74,679,1.16,684,1.827,698,1.075,705,2.936,707,3.344,710,1.16,712,0.634,714,1.202,723,1.109,735,0.857,737,1.068,739,1.068,742,1.228,743,0.918,744,2.001,745,1.228,746,2.248,747,2.248,748,1.228,749,1.228,750,2.248,751,2.248,752,5.039,753,1.109,754,2.248,755,1.005,756,1.228,757,0.748,758,1.228,759,1.228,761,3.936,762,2.248,763,1.228,764,1.228,765,2.248,766,2.248,767,0.918,768,1.16,769,3.631,770,2.37,771,1.228,772,1.228,773,0.694,774,1.228,775,1.955,776,1.228,777,0.81,778,1.16,779,1.228,780,1.228,781,1.16,782,2.248,783,2.123,784,2.37,785,1.16,786,1.228,787,1.228,788,1.034,789,1.109,790,0.81,791,0.936,792,1.16,793,0.918,794,1.228,795,1.228,796,1.875,797,2.248,798,1.228,799,1.228,800,1.228,801,1.228,802,1.16,803,1.228,804,1.228,805,1.955,806,2.248,807,2.248,808,2.248,809,1.228,814,1.332,815,1.332,816,0.764,817,1.228,818,1.332,819,1.332,820,2.438,821,1.109,822,1.332,823,1.109,824,1.228,825,1.332,826,1.332,827,0.74,828,1.332,829,1.068,830,1.332,831,1.332,832,1.332,833,2.438,834,1.332,835,2.438,836,1.332,837,1.332,838,1.332,839,3.372,840,2.438,841,1.332,842,1.332,843,1.332,844,1.332,845,1.332,846,1.332,847,1.332,848,1.332,849,0.832,850,1.332,851,1.034,852,1.332,853,1.332,854,4.171,855,2.438,856,1.332,857,0.957,858,0.871,859,0.885,860,1.16,861,3.372,862,1.332,863,0.936,864,0.871,865,1.332,866,1.332,867,0.8,868,1.332]],["title/232",[565,3.347,869,6.475]],["content/232",[]],["title/233",[565,3.347,638,5.025]],["content/233",[]],["title/234",[48,1.827,49,1.482,377,2.895]],["content/234",[8,1.586,48,2.505,49,2.032,377,3.97,409,3.339,455,3.97,565,3.799,629,5.544,631,5.544,638,7.555,726,6.399,737,5.892,738,6.117,796,4.086,870,6.399,871,6.399,872,10.064,873,5.278,874,6.776]],["title/235",[104,1.44,279,1.156,691,2.533]],["content/235",[8,1.556,104,1.699,279,1.363,409,2.873,455,6.416,460,2.949,565,3.269,629,4.77,631,4.77,638,6.822,661,3.481,691,2.988,707,5.069,727,5.263,737,5.069,738,5.263,739,5.069,796,3.515,805,5.069,870,5.505,871,5.505,873,4.542,875,6.323,876,6.323,877,5.505,878,5.505,879,5.83]],["title/236",[135,3.889]],["content/236",[8,1.529,48,2.025,49,2.326,135,4.002,409,2.699,455,6.289,460,2.823,520,3.526,629,4.481,631,4.481,638,4.611,661,3.27,707,4.762,721,3.823,737,4.762,738,4.944,739,4.762,805,4.762,817,5.477,870,5.172,871,5.172,873,4.267,877,5.172,878,5.172,880,8.413,881,5.941,882,4.611,883,4.762,884,4.944,885,4.367,886,5.477]],["title/215",[484,1.738,505,2.233,535,2.684]],["content/215",[18,1.367,47,4.537,50,4.687,241,2.37,279,1.409,306,2.932,313,2.612,454,1.421,470,3.497,482,2.126,484,3.332,505,4.283,529,2.932,618,4.593,666,3.894,686,3.878,743,4.502,887,4.693,888,4.307,889,2.489,890,3.708,891,4.856,892,4.083,893,4.929,894,4.502,895,3.878,896,3.708]],["title/216",[505,2.697,897,5.637]],["content/216",[18,1.445,47,4.099,48,3.24,49,2.873,50,5.416,51,2.709,69,1.943,74,1.648,104,2.182,112,1.8,141,3.244,306,2.538,406,4.005,477,3.189,484,2.633,504,4.387,505,3.384,531,3.402,684,2.478,888,3.891,898,4.471,899,4.266,900,3.095,901,5.655,902,6.305,903,4.534,904,4.158,905,3.897]],["title/217",[400,3.375,888,3.102]],["content/217",[18,1.279,28,1.933,35,2.908,47,2.997,49,2.937,50,3.097,53,6.836,104,1.596,176,2.502,308,2.866,332,3.013,400,4.386,406,2.929,484,1.926,504,5.276,505,2.475,520,3.526,531,4.091,557,2.887,671,3.303,672,3.124,888,5.089,891,3.209,896,3.371,902,4.611,906,5.172,907,3.883,908,3.823,909,5.477,910,4.944]],["title/218",[397,2.335,484,1.738,535,2.684]],["content/218",[8,0.751,18,0.894,47,2.968,48,2.005,49,2.31,50,4.355,69,2.87,74,2.434,219,2.592,257,5.649,279,1.801,306,3.748,454,1.279,470,3.148,482,1.914,483,3.784,484,3.149,485,2.742,505,2.45,524,2.45,529,3.748,618,4.134,671,4.644,672,3.092,701,4.895,887,4.224,888,4.654,911,3.533,912,3.411,913,3.238,914,5.881,915,2.689,916,3.411,917,3.238]],["title/219",[918,7.117]],["content/219",[8,1.568,48,2.977,49,3.091,50,4.553,104,1.075,279,0.863,377,4.169,454,1.899,484,1.297,504,4.169,520,3.718,618,2.813,691,1.891,725,5.455,733,4.862,796,5.589,874,3.69,877,3.485,878,3.485,879,3.69,886,3.69,919,7.117,920,8.052,921,7.603,922,5.776,923,5.776,924,5.776,925,5.776,926,5.776,927,3.69,928,3.69,929,4.003,930,7.117,931,2.575,932,3.69,933,4.003]],["title/220",[895,4.852]],["content/220",[]],["title/221",[671,3.599,916,3.755]],["content/221",[18,1.488,49,2.444,64,1.816,74,2.852,104,1.99,253,2.294,279,1.906,309,2.668,332,1.785,397,2.171,454,2.128,482,1.622,485,2.324,535,2.496,582,2.309,655,2.21,659,2.197,671,5.44,681,4.34,691,2.355,698,2.197,888,3.549,895,2.959,900,1.899,916,2.891,917,4.078,934,4.985,935,5.749,936,4.149,937,4.596,938,4.596,939,3.76,940,4.985,941,3.76,942,3.313,943,7.408,944,4.985,945,2.924,946,4.985,947,3.996,948,2.959,949,3.435,950,4.596,951,2.891]],["title/222",[49,1.79,671,3.599]],["content/222",[8,1.238,35,1.8,36,1.951,48,1.997,49,2.812,52,3.11,58,2.157,74,1.708,104,0.988,219,1.621,253,1.692,328,4.208,347,4.208,379,2.807,398,1.951,406,2.889,416,1.986,450,2.005,454,1.274,455,1.986,492,1.575,520,4.945,548,2.774,549,2.534,557,1.787,671,6.201,672,1.934,684,1.611,686,3.478,698,3.672,701,3.061,720,1.22,735,3.77,757,2.065,761,2.237,784,2.585,788,4.548,858,3.83,903,2.948,915,1.681,916,5.277,935,2.854,936,3.061,937,3.391,952,1.986,953,2.704,954,2.948,955,3.391,956,1.856,957,2.209,958,3.678,959,3.678,960,2.774,961,2.585,962,5.86,963,3.678,964,3.678,965,3.678,966,3.678,967,3.678,968,3.678,969,2.487,970,3.678]],["title/223",[50,4.261]],["content/223",[8,1.388,35,1.079,47,3.05,48,2.06,49,2.726,50,6.002,53,2.461,103,1.035,112,1.611,176,0.928,279,0.825,306,1.716,309,1.18,313,0.881,378,2.596,411,2.085,415,1.079,447,1.711,454,1.629,455,5.177,482,1.244,484,3.007,529,0.989,549,2.635,581,0.96,618,2.688,671,1.226,686,3.587,725,1.919,735,2.461,755,2.884,769,3.329,770,5.656,781,5.262,783,1.919,785,3.329,790,2.327,796,2.815,864,1.441,888,1.056,894,3.489,895,1.308,902,2.968,919,4.669,920,7.852,921,3.329,922,2.033,923,4.669,924,5.573,925,2.033,926,5.573,927,2.033,928,2.033,930,3.526,932,2.033,935,4.691,971,3.526,972,2.204,973,1.711,974,2.204,975,2.033,976,2.315,977,3.824,978,2.204,979,2.204,980,2.033,981,1.465,982,1.835,983,1.835,984,2.204,985,2.204,986,2.204,987,2.204,988,2.204,989,2.204,990,2.204,991,2.204]],["title/224",[796,4.545]],["content/224",[50,5.192,411,5.43,414,6.224,484,3.229,588,4.875,796,5.537]],["title/225",[484,2.099,796,3.599]],["content/225",[8,1.106,55,2.63,88,2.744,219,4.402,249,3.91,379,2.966,416,4.678,455,6.871,460,3.959,642,4.446,661,3.408,671,4.815,672,4.554,686,3.674,916,5.022,992,5.152,993,8.008]],["title/226",[55,1.628,686,3.181,796,2.98]],["content/226",[3,3.768,57,4.204,455,4.536,460,3.56,529,3.768,587,3.616,621,3.426,659,3.701,686,4.984,723,6.989,796,4.668,976,3.839,994,5.489,995,6.989,996,8.398,997,6.989]],["title/227",[55,1.628,379,2.568,796,2.98]],["content/227",[3,3.382,57,3.774,379,3.611,455,4.071,460,3.321,526,3.362,529,3.382,587,3.246,621,3.075,659,3.322,661,4.149,775,6.042,784,5.298,796,4.19,805,6.042,821,6.273,823,6.273,976,3.446,994,4.927,998,9.898,999,9.898,1000,6.563]],["title/228",[18,0.984,1001,4.551]],["content/228",[8,0.962,18,1.146,47,4.994,48,3.767,49,3.459,50,5.761,51,4.742,61,4.371,112,2.398,377,4.071,484,2.443,504,4.071,902,5.85,1002,5.098]],["title/229",[411,4.457]],["content/229",[]],["title/230",[48,1.827,49,1.482,411,2.922]],["content/230",[3,2.315,48,1.759,49,2.494,55,2.308,57,2.583,63,2.624,105,4.565,134,2.629,257,3.49,377,4.872,455,5.729,460,3.339,484,3.226,497,3.49,498,4.565,501,3.49,502,3.49,526,2.301,540,3.429,587,2.222,588,2.526,618,3.627,621,2.105,655,2.287,659,2.274,661,2.84,686,4.51,796,2.869,896,2.928,976,2.359,993,4.136,994,3.373,1003,3.793,1004,4.136,1005,6.616,1006,3.225,1007,5.16,1008,2.898,1009,3.555,1010,3.139]],["title/231",[104,1.44,411,2.922,691,2.533]],["content/231",[55,2.26,88,3.299,104,2,279,1.605,379,4.702,397,3.242,411,4.058,415,4.804,454,1.618,455,5.932,458,3.88,460,3.293,562,3.948,686,5.826,969,5.033,976,3.403,993,5.966,1011,6.194,1012,6.194,1013,7.442]],["title/237",[574,2.614,1014,4.551]],["content/237",[134,2.953,279,2.185,536,6.852,543,7.276,1015,5.422]],["title/238",[1016,4.303,1017,5.637]],["content/238",[8,1.104,28,2.813,134,2.519,279,1.864,454,1.879,482,2.813,533,6.52,1018,6.709,1019,6.709,1020,6.52,1021,4.905,1022,5.956,1023,5.744,1024,6.709,1025,3.952]],["title/239",[8,0.827,1019,5.025]],["content/239",[28,0.934,36,1.523,74,0.837,102,1.338,103,1.347,112,1.523,134,0.837,143,2.726,171,1.665,241,1.041,305,2.228,311,1.148,312,1.908,375,1.46,376,1.908,454,0.624,482,0.934,497,3.238,499,1.565,500,1.647,531,1.202,538,1.686,562,2.54,574,1.933,582,1.33,592,1.484,600,3.424,622,2.228,626,1.497,641,1.366,646,3.225,657,1.148,688,2.662,691,1.356,720,2.384,757,1.612,777,1.747,859,1.908,891,3.326,898,1.58,942,1.908,973,2.228,1016,1.908,1019,6.2,1020,2.165,1021,1.629,1022,1.978,1023,1.908,1026,2.165,1027,3.182,1028,2.951,1029,1.665,1030,4.168,1031,4.788,1032,3.238,1033,3.238,1034,3.365,1035,1.551,1036,4.168,1037,3.716,1038,4.275,1039,2.228,1040,2.871,1041,2.871,1042,2.228,1043,2.228,1044,2.389,1045,1.523,1046,2.647,1047,2.871,1048,1.665,1049,2.228,1050,2.871,1051,2.871,1052,1.366,1053,4.414,1054,1.725,1055,1.908,1056,2.301,1057,2.871,1058,2.647,1059,1.77,1060,3.365,1061,3.904,1062,2.647,1063,1.794,1064,2.228,1065,2.228,1066,2.647,1067,6.159,1068,2.871,1069,1.497,1070,2.389,1071,1.647,1072,2.301,1073,2.062,1074,2.647,1075,2.499,1076,1.565,1077,2.647,1078,2.499,1079,2.018,1080,2.499,1081,1.794,1082,2.499,1083,2.647,1084,2.062,1085,2.165,1086,1.908,1087,1.405]],["title/240",[8,0.827,533,4.884]],["content/240",[154,3.999,176,3.258,454,1.682,498,4.647,528,6.004,533,7.594,546,3.759,646,3.471,657,3.092,905,5.33,951,4.486,1009,5.33,1021,4.39,1048,4.486,1084,5.556,1088,7.736,1089,6.201,1090,7.736,1091,5.687,1092,5.556,1093,4.978,1094,5.33]],["title/241",[113,4.261]],["content/241",[20,5.695,143,3.595,312,6.299,409,4.307,492,4.059,620,5.924,1095,6.969,1096,6.531,1097,7.599]],["title/242",[691,3.862]],["content/242",[62,3.759,101,3.873,109,4.537,112,2.461,134,2.254,279,1.668,400,4.033,454,1.682,505,3.223,595,5.141,691,3.655,720,2.565,858,5.056,951,4.486,1023,5.141,1055,5.141,1098,4.344,1099,7.736,1100,4.769,1101,4.3,1102,6.438,1103,6.201,1104,4.834]],["title/243",[64,2.978]],["content/243",[35,3.597,45,3.473,52,3.129,62,3.571,64,3.976,69,2.525,97,4.046,104,1.975,109,6.402,182,4.659,194,2.774,307,4.884,330,5.704,477,2.466,538,2.588,655,3.258,664,3.473,720,2.437,867,4.415,1100,4.531,1101,5.412,1105,6.776]],["title/244",[63,4.157]],["content/244",[8,1.12,78,4.738,100,4.117,109,5.146,152,4.462,256,5.088,330,6.809,698,3.866,913,4.829,1106,3.238,1107,6.617,1108,7.301,1109,8.773,1110,6.809]],["title/245",[698,3.602]],["content/245",[52,3.972,109,5.472,152,5.76,400,4.863,698,4.111,720,3.094,1101,5.186,1110,8.79]],["title/246",[65,2.457]],["content/246",[35,3.51,45,3.388,52,3.053,62,3.484,65,3.24,69,2.464,97,3.947,104,1.927,109,6.324,182,4.545,194,2.707,307,4.765,330,5.565,477,2.406,512,5.15,538,2.525,655,3.179,664,3.388,720,2.378,867,4.308,1100,4.42,1101,5.324,1105,6.611,1111,7.17]],["title/247",[63,4.157]],["content/247",[8,1.088,65,2.56,78,4.601,100,3.998,104,2.289,109,4.997,152,4.333,256,4.94,330,6.612,698,3.754,913,4.69,1106,3.144,1107,6.426,1108,7.09,1110,6.612,1112,8.519]],["title/248",[698,3.602]],["content/248",[52,3.85,65,2.718,104,2.429,109,5.304,152,5.651,400,4.714,698,3.985,720,2.999,1101,5.027,1110,8.624]],["title/249",[595,5.432]],["content/249",[18,1.724,74,2.016,109,4.058,134,2.724,152,3.518,242,3.269,306,3.104,314,3.808,477,2.321,595,7.036,646,3.104,698,3.049,891,3.736,1048,5.421,1100,4.264,1101,5.197,1113,4.678,1114,7.78,1115,3.968,1116,3.123,1117,6.023,1118,4.522,1119,4.451]],["title/250",[1120,5.343]],["content/250",[28,2.732,37,4.305,279,1.811,307,5.581,486,3.995,521,3.995,538,2.957,562,4.454,657,3.357,720,2.785,1038,4.494,1115,4.817,1120,5.489,1121,4.984,1122,6.174,1123,5.045,1124,3.864]],["title/251",[1125,4.911]],["content/251",[18,1.494,48,1.714,49,1.39,57,2.517,73,4.104,75,4.989,131,1.749,134,2.589,144,5.24,194,1.898,229,2.426,310,2.578,314,2.768,409,2.284,476,4.954,477,1.687,492,2.153,517,2.284,529,2.256,587,3.825,589,2.392,646,3.345,659,2.216,664,2.376,712,2.392,900,2.84,913,2.768,1028,3.099,1045,2.667,1095,3.696,1106,1.856,1120,6.423,1121,4.424,1125,5.903,1126,3.902,1127,4.184,1128,5.028,1129,2.949,1130,3.902,1131,2.853,1132,4.726,1133,2.768]],["title/252",[1134,5.637,1135,4.551]],["content/252",[73,4.875,75,4.973,78,3.453,108,2.581,134,1.863,331,3.485,332,2.289,380,3.2,486,4.213,495,3.332,587,2.752,657,2.555,714,3.152,720,2.12,956,3.225,1048,5.136,1106,3.269,1120,4.178,1125,5.32,1129,5.195,1134,9.551,1135,4.493,1136,3.995,1137,4.323,1138,5.789,1139,5.388,1140,5.565]],["title/253",[18,0.984,595,4.303]],["content/253",[18,1.028,75,3.796,76,4.492,104,1.816,131,2.351,134,1.97,135,3.215,169,3.308,176,2.846,304,4.969,310,3.465,311,2.702,314,3.721,406,4.537,517,3.071,582,3.13,588,3.308,595,6.115,951,3.92,1008,3.796,1103,5.418,1104,5.751,1120,4.418,1129,3.965,1141,5.098,1142,5.098,1143,4.112,1144,3.965,1145,6.759,1146,6.759,1147,5.098]],["title/254",[1066,7.537]],["content/254",[486,4.583,646,4.323,655,4.271,1048,5.587,1053,8.883,1122,7.083,1148,8.388,1149,7.723]],["title/255",[194,2.023,1045,2.843,1150,4.297]],["content/255",[73,5.135,134,2.719,176,3.929,409,4.238,1106,3.443,1113,6.309,1125,5.605,1151,7.478,1152,5.186,1153,8.601]],["title/256",[1154,8.175]],["content/256",[18,1.307,52,4.585,73,3.372,74,1.785,134,2.506,176,2.58,194,3.245,310,3.141,331,3.34,380,3.067,436,3.021,444,4.4,454,1.332,506,4.911,516,3.727,581,2.668,588,2.999,644,5.334,657,2.449,1045,3.249,1125,5.165,1129,3.593,1139,3.727,1150,7.963,1155,3.828,1156,4.504,1157,3.34,1158,5.334,1159,5.099,1160,6.126,1161,6.126,1162,4.911,1163,5.648,1164,6.126]],["title/257",[76,5.432]],["content/257",[18,1.04,75,5.208,76,6.994,112,2.176,113,3.564,134,1.993,194,3.501,331,5.738,332,2.448,454,1.487,516,4.16,714,3.372,1045,3.627,1048,3.965,1120,4.469,1129,4.011,1150,5.481,1157,3.728,1165,4.794,1166,5.691,1167,5.953,1168,6.837,1169,5.691,1170,4.4,1171,4.911,1172,6.837]],["title/316",[1118,5.343]],["content/316",[28,2.971,78,3.609,102,3.115,104,1.795,134,3.031,163,4.799,164,4.799,176,2.814,241,2.424,279,1.441,331,3.643,398,3.544,563,3.426,592,3.454,655,2.962,672,3.514,684,2.928,714,3.295,1091,4.913,1118,7.897,1173,4.799,1174,4.519,1175,4.913,1176,5.357,1177,3.454,1178,4.697,1179,6.161]],["title/317",[28,2.107,1180,6.475]],["content/317",[18,1.456,28,3.116,51,3.435,64,2.612,65,2.155,74,2.791,106,4.765,134,2.791,240,3.77,243,4.481,248,4.363,307,4.765,484,2.324,592,4.95,655,3.179,684,4.195,744,4.256,900,3.648,1035,3.873,1113,4.849,1174,4.849,1181,7.17]],["title/318",[134,1.562,684,2.348,1118,3.504]],["content/318",[18,1.51,47,4.338,134,3.427,241,2.222,242,2.895,243,3.828,454,1.332,477,2.055,483,3.942,557,2.977,558,4.621,563,3.141,589,2.914,592,4.444,672,3.221,684,2.684,714,3.021,816,3.514,900,2.334,1045,3.249,1118,4.004,1165,3.167,1170,5.532,1171,6.175,1174,4.143,1182,5.334,1183,6.126,1184,3.141,1185,3.727,1186,6.126,1187,5.334,1188,4.621]],["title/319",[108,2.164,714,2.643,1118,3.504]],["content/319",[18,1.531,74,2.254,131,2.69,134,2.254,241,2.806,331,4.218,492,3.312,557,3.759,641,3.68,956,3.903,1091,5.687,1118,6.58,1170,4.978,1171,5.556,1189,5.556,1190,3.706,1191,7.736,1192,6.201,1193,3.966,1194,7.736,1195,6.004]],["title/271",[895,4.852]],["content/271",[134,2.953,895,6.013,915,4.632,1028,6.245,1196,7.863]],["title/272",[134,1.887,1196,5.025]],["content/272",[18,1.016,48,2.278,49,1.848,134,3.031,169,3.271,306,2.999,454,1.453,497,4.519,498,4.015,510,3.271,513,3.484,582,3.095,624,3.576,643,4.604,655,2.962,698,2.945,895,3.966,912,3.875,915,3.055,952,5.618,969,4.519,1010,4.066,1015,3.576,1028,4.119,1196,8.072,1197,4.697,1198,3.484,1199,6.161,1200,6.682]],["title/273",[51,2.191,134,1.333,240,2.404,1196,3.549]],["content/273",[18,0.993,51,4.925,131,2.272,134,2.62,169,3.198,240,4.728,242,3.087,243,5.619,306,2.932,415,3.198,454,1.421,497,4.419,529,2.932,582,3.026,623,3.748,720,2.982,761,3.975,952,4.856,1008,3.669,1015,3.497,1029,3.789,1143,3.975,1144,3.833,1196,7.978,1197,4.593,1198,3.406,1201,4.204,1202,4.804]],["title/258",[952,3.497,1009,4.461]],["content/258",[141,5.108,509,5.35,573,5.054,624,4.766,626,4.643,952,4.81,1009,6.136,1203,7.139,1204,5.285,1205,9.584,1206,8.906,1207,8.906]],["title/259",[957,3.89,1123,3.89]],["content/259",[112,2.711,505,3.549,655,3.777,957,7.036,1028,5.252,1123,6.433,1208,6.263,1209,6.999,1210,7.855,1211,6.118,1212,7.855,1213,5.568]],["title/260",[1214,5.637,1215,5.97]],["content/260",[0,1.655,8,1.087,48,3.519,49,3.12,55,1.834,58,2.241,113,5.139,150,3.369,241,2.191,332,2.163,346,4.338,374,6.258,411,2.083,413,2.422,416,2.064,474,2.268,538,2.127,581,1.664,621,1.559,641,1.818,664,1.805,684,1.674,686,4.446,728,3.18,729,4.338,731,4.44,733,6.607,796,3.358,863,2.686,882,5.813,883,6.824,894,4.162,895,2.268,976,1.747,1009,4.162,1179,3.523,1190,1.83,1208,2.809,1215,3.523,1216,3.821,1217,3.821,1218,7.49,1219,2.965,1220,3.821,1221,3.821,1222,3.821,1223,3.821,1224,2.882,1225,3.821,1226,2.027]],["title/261",[67,2.451,416,1.218,455,1.218,512,1.619,1214,1.963,1227,2.255,1228,1.808,1229,2.255,1230,2.255]],["content/261",[8,1.22,24,3.559,135,3.891,332,2.045,411,4.459,413,5.185,416,3.084,444,4.101,455,3.084,460,1.916,462,3.674,468,4.972,470,3.056,512,5.874,549,3.935,573,3.24,659,2.516,684,2.502,698,2.516,712,2.717,728,4.753,733,6.348,767,3.935,864,3.732,882,8.099,883,6.557,1004,6.557,1009,3.935,1228,8.366,1231,5.71,1232,5.71,1233,3.24,1234,4.753]],["title/262",[1214,4.667,1235,5.36,1236,3.85]],["content/262",[8,1.534,24,0.497,32,2.34,47,0.674,48,2.208,49,3.168,50,0.696,53,0.859,71,0.39,97,0.735,112,0.778,113,2.854,130,1.624,150,0.967,169,1.196,175,1.274,233,1.029,256,1.417,332,2.841,379,1.171,411,1.332,413,0.846,415,1.196,416,1.825,446,1.196,454,1.19,455,1.32,488,0.69,514,1.982,517,0.606,520,2.48,524,0.556,538,0.47,581,0.581,585,0.859,637,1.231,639,1.556,640,1.162,648,3.478,655,2.663,659,1.841,688,0.742,698,1.489,729,0.959,731,0.981,735,2.689,743,0.92,757,0.75,860,2.127,882,1.036,883,1.07,895,1.45,900,0.931,935,2.622,956,1.233,975,2.253,976,1.545,1002,1.653,1009,2.328,1032,0.903,1106,0.493,1116,1.103,1165,0.69,1208,0.981,1226,0.708,1237,7.28,1238,4.178,1239,1.111,1240,6.006,1241,3.379,1242,2.005,1243,2.549,1244,0.981,1245,4.388,1246,1.231,1247,1.335,1248,2.253,1249,0.938,1250,0.981,1251,2.285,1252,1.335,1253,2.443,1254,1.401,1255,3.379,1256,1.335,1257,0.959,1258,1.231,1259,1.231,1260,2.443,1261,1.335,1262,2.549,1263,1.335,1264,3.379,1265,2.174,1266,1.335,1267,1.335,1268,1.231,1269,3.379,1270,1.231,1271,1.335,1272,2.443,1273,2.443,1274,2.443,1275,1.335,1276,0.92,1277,0.981,1278,1.335,1279,1.335,1280,2.443,1281,1.335,1282,1.162,1283,1.335,1284,1.335,1285,1.335,1286,1.335,1287,1.335,1288,1.335,1289,1.335,1290,1.335,1291,1.335,1292,1.335,1293,1.335,1294,1.335,1295,1.335,1296,1.335,1297,1.335,1298,2.443,1299,1.335,1300,1.335,1301,2.443,1302,1.335,1303,1.335,1304,1.335,1305,1.335,1306,1.335,1307,1.335,1308,1.335,1309,1.335,1310,1.335,1311,1.335,1312,1.335,1313,1.335,1314,1.335,1315,1.335,1316,1.335,1317,1.335,1318,1.335,1319,1.335,1320,2.443,1321,1.335,1322,1.335,1323,1.335,1324,1.335,1325,1.335,1326,1.335,1327,1.572,1328,1.335,1329,1.335,1330,1.111,1331,1.335,1332,1.335,1333,1.335,1334,1.335]],["title/263",[1335,8.175]],["content/263",[49,3.251,103,2.875,113,3.194,229,2.956,256,3.553,306,2.749,332,2.194,379,4.758,477,2.055,514,6.317,527,3.514,592,3.167,639,3.202,659,2.7,698,3.789,729,4.4,731,4.504,733,4.755,773,3.194,777,5.231,1208,4.504,1209,4.004,1327,5.532,1330,5.099,1336,6.126,1337,5.648,1338,5.648,1339,6.126,1340,6.126]],["title/264",[1341,8.175]],["content/264",[8,0.853,24,2.488,48,2.278,49,2.876,99,3.201,306,2.999,332,2.393,380,3.345,460,3.063,477,2.242,573,3.792,587,2.877,639,2.488,698,4.584,714,3.295,721,4.3,1190,3.201,1226,3.544,1233,3.792,1342,6.558,1343,5.561,1344,6.418,1345,6.682,1346,9.131,1347,5.357,1348,6.682,1349,5.561]],["title/265",[1236,4.65,1350,6.475]],["content/265",[13,5.033,20,4.905,49,3.175,103,3.832,229,5.029,380,4.088,514,4.789,538,2.875,592,4.221,698,3.598,1009,5.626,1208,6.003,1344,7.327,1349,6.795,1351,8.165]],["title/266",[1352,8.175]],["content/266",[49,3.102,71,2.685,135,4.369,176,3.867,380,4.598,454,1.997,581,4,587,3.954,698,4.944]],["title/267",[1236,4.65,1353,6.475]],["content/267",[24,2.281,48,2.088,49,3.464,229,4.148,306,2.749,332,3.557,380,4.973,587,3.702,592,3.167,639,2.281,684,2.684,698,4.377,714,3.021,1208,4.504,1233,3.476,1236,4.4,1327,3.942,1343,5.099,1344,7.57,1349,7.155,1354,8.597,1355,5.648]],["title/268",[67,2.176,1236,3.284,1356,4.573,1357,3.981]],["content/268",[48,1.856,49,3.421,52,2.319,71,2.721,84,3.357,332,1.95,376,6.184,380,3.958,514,5.458,526,2.429,573,3.09,653,3.56,659,2.4,698,4.499,714,2.686,721,3.504,757,3.059,1009,5.447,1226,2.889,1236,7.786,1249,3.828,1343,6.579,1344,3.828,1349,4.533,1358,5.446,1359,4.533,1360,5.446,1361,7.905,1362,5.446]],["title/269",[67,1.37,455,1.556,1236,2.069,1342,2.069,1363,2.881,1364,2.397,1365,2.508,1366,2.656]],["content/269",[8,0.715,32,2.023,49,3.253,52,3.435,71,1.638,103,2.629,135,2.665,229,2.703,379,4.529,380,4.039,411,3.054,413,5.114,444,4.023,446,5.063,454,1.754,455,3.026,514,3.286,538,2.841,624,2.998,698,4.166,712,2.665,882,4.348,883,4.49,1208,4.118,1226,2.971,1236,4.023,1344,5.671,1347,6.467,1367,5.602,1368,5.602,1369,5.602,1370,5.165]],["title/270",[455,2.47,1236,3.284,1371,4.573,1372,4.216]],["content/270",[48,1.543,49,3.411,51,2.168,52,1.927,71,2.014,113,2.359,176,1.906,240,2.379,306,2.031,332,2.466,380,2.266,411,3.755,454,1.813,477,1.518,500,2.596,514,4.04,517,2.056,520,2.686,538,2.425,581,1.971,624,2.422,671,2.516,686,2.686,698,3.675,712,2.153,714,3.396,727,5.733,728,3.766,729,4.947,731,5.064,755,6.29,757,2.541,777,2.753,894,3.118,1131,3.909,1233,3.909,1344,4.842,1347,3.628,1373,3.766,1374,4.525,1375,6.888,1376,3.25,1377,2.568,1378,4.172,1379,4.525,1380,4.525]],["title/274",[952,3.497,1010,3.939]],["content/274",[141,5.108,509,5.35,573,5.054,624,4.766,626,4.643,952,4.81,1010,5.418,1203,7.139,1204,5.285,1205,9.584,1381,8.906,1382,8.906]],["title/275",[8,0.827,1383,6.475]],["content/275",[20,4.905,49,2.882,279,1.761,498,4.905,504,5.63,531,3.42,563,4.186,592,4.221,617,4.633,698,4.594,816,4.683,957,4.905,1006,5.102,1010,6.342,1384,8.165]],["title/276",[1366,5.97,1385,6.475]],["content/276",[6,5.027,69,3.107,71,2.644,150,3.579,440,5.131,454,1.966,504,6.002,1010,6.761,1386,5.304,1387,7.873]],["title/277",[1388,7.537]],["content/277",[143,3.595,454,2.061,505,3.949,559,5.028,567,6.009,641,4.509,1389,6.663,1390,9.479,1391,8.253]],["title/278",[1392,8.175]],["content/278",[49,3.015,57,4.392,71,2.565,233,3.694,486,5.188,641,4.174,659,3.866,684,3.843,1393,7.638,1394,6.301,1395,5.83,1396,8.773]],["title/279",[1397,8.175]],["content/279",[32,3.587,48,2.088,49,2.746,97,3.372,105,3.68,112,2.736,150,2.425,306,2.749,347,4.4,454,1.869,653,4.004,698,3.789,757,3.44,913,3.372,1010,3.727,1184,3.141,1242,5.895,1391,5.334,1394,4.4,1398,4.621,1399,4.911,1400,6.126,1401,5.334,1402,8.597,1403,4.931,1404,4.4,1405,6.126,1406,4.306,1407,6.126,1408,6.126,1409,6.126,1410,5.648]],["title/280",[1411,8.175]],["content/280",[49,2.961,332,3.834,454,1.852,517,3.87,757,4.784,1129,4.997,1233,4.834,1406,7.527,1412,7.417,1413,8.519,1414,8.519,1415,8.519,1416,7.417]],["title/281",[1417,8.175]],["content/281",[32,2.949,49,2.882,71,2.388,97,4.494,304,7.663,454,1.775,642,5.864,698,3.598,757,4.585,915,3.733,1129,6.114,1233,4.633,1406,5.739,1418,8.165,1419,6.545,1420,8.165]],["title/282",[1421,8.175]],["content/282",[49,2.462,71,2.604,332,3.189,454,1.936,1010,5.418,1184,4.566,1422,10.15,1423,5.49,1424,8.906,1425,8.211,1426,8.906,1427,8.211]],["title/283",[1428,6.475,1429,4.76]],["content/283",[97,4.978,279,1.95,332,3.238,698,4.897,757,5.078,1018,7.018,1406,7.811,1423,5.574,1429,6.648,1430,9.042]],["title/284",[1406,4.551,1431,6.475]],["content/284",[49,2.539,446,4.495,454,2.439,915,4.199,1233,5.211,1364,7.643,1406,6.455,1416,7.995,1432,9.183,1433,9.183]],["title/285",[8,0.684,1434,5.36,1435,5.36]],["content/285",[332,3.394,454,2.061,755,7.15,1129,5.56,1233,6.489,1406,6.663,1416,8.253,1436,9.479]],["title/286",[1437,8.175]],["content/286",[32,3.423,49,2.621,671,5.27,1184,4.86,1419,7.599,1422,8.74,1427,8.74,1429,6.969,1438,6.531]],["title/287",[1439,8.175]],["content/287",[6,3.27,8,1.24,32,2.124,49,2.686,71,1.72,112,1.871,279,1.268,306,3.748,332,3.479,454,1.816,477,1.973,557,2.858,587,3.597,698,4.281,792,7.273,1010,3.578,1129,3.45,1226,3.12,1233,3.337,1242,4.958,1342,4.224,1406,4.134,1419,4.715,1429,4.324,1440,6.158,1441,5.881,1442,10.576,1443,5.881,1444,5.881]],["title/288",[1445,8.175]],["content/288",[48,2.946,49,3.259,71,2.528,514,5.07,653,5.65,890,4.905,1129,5.07,1184,4.432,1226,4.585,1242,6.413,1446,8.644,1447,8.644]],["title/289",[1448,8.175]],["content/289",[49,3.451,71,2.604,332,3.189,380,5.511,698,4.851,1184,4.566,1412,7.754,1449,7.139]],["title/290",[1357,5.637,1450,6.475]],["content/290",[49,2.708,71,2.864,698,4.316,1184,5.022,1406,6.885,1410,9.03,1449,7.851]],["title/291",[1357,5.637,1451,6.475]],["content/291",[49,3.015,71,2.565,306,3.937,463,7.129,684,3.843,773,4.573,1129,6.961,1184,5.592,1452,8.773]],["title/292",[1453,6.475,1454,5.97]],["content/292",[71,2.817,653,6.297,890,5.467,1129,5.651,1242,5.718,1338,8.883,1455,9.634,1456,9.634]],["title/293",[1457,8.175]],["content/293",[32,3.316,49,3.102,587,3.954,698,4.944,773,4.787,1184,4.708,1233,5.211,1242,5.45,1458,9.183]],["title/294",[1459,8.175]],["content/294",[49,2.754,71,2.912,1184,5.106,1233,5.652,1242,5.911,1406,7.001]],["title/295",[1454,5.97,1460,6.475]],["content/295",[32,3.168,71,2.565,454,1.907,463,5.734,744,5.207,773,4.573,1129,6.397,1184,4.498,1242,5.207,1429,6.45,1461,8.773,1462,7.033,1463,8.773]],["title/296",[1365,5.637,1464,6.475]],["content/296",[49,2.934,446,5.194,454,2.307,559,4.454,587,3.616,698,3.701,773,4.378,1010,5.109,1364,6.989,1370,9.784,1388,7.743,1389,5.903,1465,8.398]],["title/297",[1364,4.461,1365,4.667,1466,5.36]],["content/297",[49,2.39,446,4.231,454,1.879,463,5.65,559,4.585,684,3.787,773,5.633,1010,5.259,1129,5.07,1233,4.905,1389,6.076,1429,6.355,1462,6.929,1467,7.97]],["title/298",[1468,6.475,1469,5.97]],["content/298",[49,2.426,71,2.565,559,4.653,587,3.778,698,3.866,755,6.617,773,4.573,915,4.011,1010,5.338,1226,4.653,1233,4.978,1389,6.167,1425,8.089,1470,8.773]],["title/299",[1372,4.216,1429,3.362,1469,4.216,1471,4.573]],["content/299",[49,2.39,71,2.528,454,1.879,559,4.585,617,4.905,755,6.52,773,4.506,1010,5.259,1233,6.132,1389,6.076,1429,6.355,1462,6.929,1467,7.97,1472,8.644]],["title/304",[535,3.242,1119,4.166]],["content/304",[37,4.186,112,2.598,242,3.858,279,1.761,529,4.677,890,4.633,892,5.102,949,5.626,1076,4.451,1119,5.254,1473,7.528,1474,6.795,1475,5.254,1476,7.528,1477,4.735,1478,6.795,1479,6.795,1480,4.494]],["title/305",[1481,8.175]],["content/305",[242,2.724,309,3.086,454,1.254,582,2.671,641,2.743,657,3.841,666,2.497,720,1.912,890,3.272,898,3.174,912,3.344,952,4.449,1008,3.238,1076,4.491,1119,3.71,1149,4.622,1157,3.144,1474,4.799,1477,4.777,1482,5.147,1483,5.02,1484,5.317,1485,3.769,1486,5.317,1487,5.317,1488,5.766,1489,5.766,1490,5.766,1491,5.766,1492,5.766,1493,5.766,1494,4.799,1495,5.766,1496,4.141,1497,5.766,1498,4.475,1499,3.422,1500,5.766,1501,4.622,1502,3.71,1503,4.622,1504,5.766,1505,4.799]],["title/306",[113,2.794,1499,3.181,1506,4.461]],["content/306",[49,1.271,77,3.167,108,2.814,112,2.679,113,3.633,175,2.396,241,1.667,394,3.004,398,2.438,454,1.515,477,1.542,486,2.187,529,2.062,619,2.696,620,2.872,626,3.633,657,1.837,666,1.99,720,2.311,757,2.581,863,5.917,1048,2.665,1076,4.59,1092,3.301,1107,3.467,1115,2.636,1119,4.484,1136,2.872,1157,2.506,1190,3.339,1343,3.825,1423,2.833,1473,4.238,1477,2.665,1480,2.53,1496,5.005,1499,4.136,1506,5.8,1507,6.426,1508,7.006,1509,4.596,1510,3.004,1511,3.825,1512,3.467,1513,4.238,1514,4.002,1515,4.238,1516,3.825,1517,6.068,1518,4.596,1519,4.596,1520,4.596,1521,3.301,1522,4.238,1523,4.238]],["title/307",[113,2.384,379,2.191,1101,2.542,1499,2.714]],["content/307",[24,2.355,49,2.43,108,2.553,112,2.797,113,3.296,228,3.325,379,3.029,444,4.542,454,1.375,641,3.008,657,2.528,698,2.787,863,4.445,890,4.988,892,3.952,917,3.481,1023,4.202,1076,3.448,1092,4.542,1100,5.418,1101,3.515,1131,3.588,1477,3.667,1499,3.753,1506,5.263,1508,7.316,1523,5.83,1524,6.323,1525,4.202,1526,5.069,1527,4.133,1528,4.357,1529,5.83,1530,5.83,1531,5.505]],["title/308",[1528,5.633]],["content/308",[18,0.699,24,1.712,49,1.271,112,2.218,113,2.396,242,2.172,306,2.062,309,2.46,312,3.054,397,2.002,398,3.697,454,1.83,486,2.187,516,2.796,529,2.062,531,1.925,582,2.129,626,3.633,641,2.187,657,1.837,688,3.874,698,4.14,720,1.524,863,3.231,892,2.872,904,3.379,906,4.002,951,2.665,956,2.319,981,3.054,1008,2.581,1042,3.567,1048,2.665,1073,3.301,1100,5.189,1115,2.636,1119,4.484,1123,2.761,1137,3.108,1190,2.202,1423,2.833,1477,2.665,1480,2.53,1496,3.301,1507,4.238,1508,3.825,1510,3.004,1514,4.002,1517,4.002,1531,4.002,1532,3.825,1533,3.167,1534,3.825,1535,3.108,1536,4.002,1537,4.596,1538,4.238,1539,4.596,1540,2.46,1541,3.467,1542,4.596,1543,4.238,1544,4.238]],["title/309",[1545,4.591]],["content/309",[35,3.553,112,2.31,113,3.784,176,3.057,242,3.43,477,2.435,529,4.332,641,3.453,657,2.902,900,2.765,1042,5.634,1048,4.21,1476,6.693,1477,4.21,1499,4.308,1525,4.824,1532,8.035,1546,7.259,1547,5.337,1548,4.824,1549,6.693,1550,7.259,1551,4.416,1552,7.259,1553,6.32,1554,5.634]],["title/310",[74,1.887,242,3.059]],["content/310",[18,1.536,24,2.512,35,1.6,48,1.114,49,1.473,74,2.268,88,1.449,104,2.091,108,1.32,143,1.24,225,1.964,248,1.989,249,2.406,256,1.896,380,1.637,397,2.321,411,1.782,414,3.331,416,3.644,454,0.711,455,3.644,460,1.097,477,1.097,485,3.145,505,1.362,532,2.348,581,1.424,586,1.836,588,1.6,626,4.056,641,1.555,642,2.348,655,1.449,661,1.8,666,2.308,695,3.242,735,2.104,796,3.751,863,2.298,887,2.348,890,1.855,892,2.043,913,1.8,917,1.8,931,2.104,1004,2.621,1038,1.75,1073,2.348,1076,2.906,1081,2.043,1106,3.392,1170,2.104,1394,3.828,1480,1.8,1496,3.828,1510,2.137,1511,2.721,1517,2.846,1528,2.253,1531,2.846,1532,5.615,1551,3.242,1555,3.269,1556,3.269,1557,3.269,1558,2.348,1559,4.136,1560,3.269,1561,2.621,1562,3.269,1563,1.896,1564,2.621,1565,2.137,1566,2.348,1567,3.269,1568,2.104,1569,3.269,1570,3.269,1571,3.269,1572,2.846,1573,2.211,1574,3.269,1575,1.766]],["title/311",[74,1.887,698,2.853]],["content/311",[18,1.609,28,0.822,29,1.11,35,0.678,37,0.71,48,0.472,49,1.189,52,2.39,55,1.705,69,1.478,74,2.901,75,1.957,82,1.275,104,2.634,108,1.02,112,0.804,113,0.722,114,0.478,115,0.391,131,1.74,134,1.016,143,0.525,150,1.38,152,1.773,176,0.583,233,0.583,241,1.264,242,1.194,247,1.075,248,4.518,253,0.637,257,0.937,308,0.668,309,0.741,314,0.762,375,0.704,379,1.211,380,0.693,393,0.803,394,0.905,395,1.538,397,1.101,398,3.939,406,0.683,415,0.678,416,1.883,439,0.812,454,1.088,455,0.748,463,0.905,476,0.921,477,0.848,485,0.646,517,1.148,521,1.202,523,0.866,527,0.794,529,0.622,548,1.045,557,0.673,562,1.341,586,0.778,589,0.659,590,1.045,623,0.794,626,4.212,652,0.854,657,1.719,671,0.77,684,1.527,686,0.822,698,4.248,720,0.838,767,0.954,849,0.866,858,0.905,863,0.974,890,2.44,898,1.919,905,0.954,908,0.891,913,3.879,945,1.482,952,0.748,954,2.026,969,2.357,976,0.633,994,1.652,1006,0.866,1011,1.153,1015,1.353,1023,0.921,1029,0.803,1034,0.974,1069,0.722,1076,0.755,1087,1.706,1092,0.995,1097,1.11,1100,3.084,1101,1.938,1106,1.286,1120,0.905,1121,1.5,1125,2.094,1137,0.937,1143,0.843,1147,1.906,1151,1.11,1159,2.901,1165,2.223,1185,0.843,1423,2.149,1462,4.01,1475,0.891,1482,0.866,1496,0.995,1499,0.822,1510,1.652,1514,2.2,1526,1.11,1551,0.843,1563,0.803,1573,2.357,1575,0.748,1576,1.385,1577,1.277,1578,3.214,1579,1.385,1580,1.277,1581,1.385,1582,1.482,1583,0.974,1584,1.206,1585,1.277,1586,1.206,1587,2.705,1588,1.045,1589,0.974,1590,1.153,1591,1.018,1592,0.954,1593,1.906,1594,1.206,1595,1.11,1596,1.385,1597,1.777,1598,1.385,1599,1.277,1600,1.385,1601,1.018,1602,0.995]],["title/312",[74,1.887,576,5.637]],["content/312",[18,1.328,24,3.252,49,1.732,52,1.704,69,1.375,74,1.826,112,1.274,113,2.087,241,2.8,242,1.891,249,1.807,347,2.875,400,2.087,413,2.537,416,2.162,463,2.616,495,2.087,517,1.818,521,1.904,531,1.676,585,2.575,595,2.66,626,4.553,666,1.733,698,2.761,720,1.327,796,2.225,857,2.875,890,2.271,892,2.501,898,2.203,908,2.575,913,2.203,931,2.575,960,4.726,1015,2.142,1022,2.758,1042,3.106,1048,2.321,1071,2.296,1076,2.182,1081,2.501,1100,2.467,1165,2.069,1246,3.69,1462,5.022,1477,2.321,1496,2.875,1511,3.331,1528,2.758,1532,7.89,1554,4.862,1582,3.675,1593,3.019,1603,5.214,1604,3.69,1605,4.003,1606,6.265,1607,4.003,1608,5.776,1609,3.331,1610,2.943,1611,3.209,1612,4.003,1613,4.003,1614,3.69,1615,2.813,1616,3.106,1617,4.003]],["title/313",[916,3.755,1076,3.53]],["content/313",[18,1.584,35,2.42,48,2.509,49,2.035,55,2.236,74,2.563,75,2.776,104,1.978,176,2.082,248,3.008,253,2.275,398,2.622,406,4.337,521,2.352,532,6.999,562,2.622,626,5.08,698,5.124,890,2.805,912,2.867,916,2.867,976,2.26,1006,3.089,1076,4.013,1100,6.975,1125,2.97,1151,3.963,1342,3.55,1477,2.867,1496,5.287,1554,3.837,1599,4.558,1618,4.558]],["title/314",[890,3.674,916,3.755]],["content/314",[3,2.868,18,1.668,75,3.59,176,2.692,241,3.212,400,4.617,444,6.36,463,6.642,521,3.041,576,5.565,626,3.332,698,2.817,712,4.213,744,3.794,890,6.225,913,3.519,916,3.707,1117,5.565,1125,3.84,1185,3.889,1477,3.707,1554,4.961,1597,4.493,1618,5.894,1619,7.371,1620,2.8]],["title/315",[74,1.562,242,2.533,1540,2.869]],["content/315",[18,0.828,24,2.028,28,1.772,49,1.506,73,2.998,74,2.712,76,5.253,78,2.942,112,1.733,134,2.304,194,2.056,241,1.975,242,4.824,243,3.404,398,4.193,400,2.839,527,3.124,595,3.619,657,2.177,672,2.864,695,3.314,698,2.4,761,3.314,908,3.504,992,4.533,1006,3.404,1029,3.158,1045,4.193,1048,3.158,1052,2.591,1056,4.366,1092,3.911,1100,3.357,1115,3.124,1118,5.167,1137,3.683,1188,4.108,1496,3.911,1558,3.911,1621,5.021,1622,6.882,1623,4.742,1624,4.533,1625,4.742]],["title/300",[1144,4.795]],["content/300",[69,2.805,131,3.625,134,2.379,242,4.925,279,1.761,415,5.102,720,3.457,1144,6.735,1626,5.176,1627,5.626,1628,5.864,1629,7.528,1630,8.165]],["title/301",[1627,4.461,1628,4.65]],["content/301",[18,0.972,24,2.38,52,2.722,131,3.815,134,1.863,242,4.801,253,4.075,306,2.868,398,3.391,454,1.39,492,2.737,655,3.926,1035,3.453,1101,3.554,1102,5.32,1103,5.124,1169,5.32,1610,4.699,1628,7.298,1631,7.711,1632,8.146,1633,8.146,1634,6.392]],["title/302",[378,2.748,1033,3.625,1098,3.01]],["content/302",[176,4.724,533,6.927,951,5.326,1020,6.927,1023,6.103,1029,5.326,1033,6.211,1098,5.157,1590,7.643,1635,5.211]],["title/303",[1035,3.497,1636,6.475]],["content/303",[24,2.33,52,2.664,134,2.543,164,4.493,175,3.261,196,3.966,253,4.015,312,4.158,398,3.318,454,1.36,493,2.552,521,2.976,533,6.581,546,3.04,646,2.807,720,2.075,829,5.015,951,5.06,956,3.157,1020,4.719,1030,5.447,1035,4.712,1147,4.719,1193,3.208,1477,3.628,1527,4.089,1564,5.015,1610,4.6,1637,8.044,1638,6.012,1639,5.768,1640,6.256,1641,6.256,1642,6.256]],["title/320",[143,2.455,1643,4.046]],["content/320",[3,1.784,30,1.866,48,1.355,49,1.099,82,2.006,88,4.189,104,1.674,130,5.108,131,2.673,141,2.28,143,4.484,150,2.466,225,3.744,279,0.857,380,1.99,446,1.946,454,0.864,458,2.072,482,2.028,485,2.905,510,1.946,517,1.806,524,1.656,526,1.773,531,1.665,582,1.841,587,3.747,626,4.007,646,1.784,657,3.072,956,3.878,976,1.818,1086,2.642,1173,2.855,1373,3.309,1582,2.332,1594,3.461,1643,7.271,1644,2.689,1645,2.689,1646,2.923,1647,1.99,1648,3.975,1649,3.975,1650,3.187,1651,3.975,1652,3.461,1653,2.642,1654,3.665,1655,3.975,1656,2.256,1657,3.975]],["title/321",[1658,6.166]],["content/321",[32,1.455,88,1.787,131,3.049,134,1.836,143,1.528,150,3.99,171,2.337,279,0.869,311,1.611,409,2.862,460,2.113,474,2.392,477,1.352,510,1.973,513,2.101,583,4.427,588,1.973,589,3.689,600,4.873,603,2.777,621,1.644,653,2.634,684,1.766,688,2.24,714,1.987,777,2.452,827,2.24,849,3.936,900,2.954,992,3.354,1003,2.963,1063,2.518,1070,3.354,1081,2.518,1141,3.04,1157,2.197,1162,3.231,1175,2.963,1226,2.138,1484,7.149,1499,2.392,1522,5.807,1582,2.364,1643,2.518,1644,5.244,1658,6.612,1659,4.427,1660,3.716,1661,2.634,1662,2.518,1663,3.509,1664,3.04,1665,6.298,1666,5.049,1667,3.509,1668,3.716,1669,4.03,1670,2.287,1671,3.354,1672,4.03,1673,3.509,1674,2.894]],["title/322",[1667,7.117]],["content/322",[28,1.175,104,0.97,131,2.008,134,1.052,143,3.126,150,2.285,249,1.63,255,2.36,279,1.245,308,1.742,411,1.968,439,2.117,507,3.148,510,2.826,531,1.512,565,1.866,583,5.795,592,1.866,600,4.011,604,3.311,626,1.882,646,1.62,653,2.36,664,1.706,666,1.563,712,3.432,714,1.78,777,2.196,827,2.007,849,2.256,891,1.95,900,2.749,956,2.913,1003,4.245,1018,2.802,1052,1.717,1087,1.767,1157,1.968,1226,1.915,1327,2.323,1499,5.351,1530,3.328,1582,2.117,1643,3.608,1644,4.879,1650,4.628,1659,2.537,1660,5.323,1667,6.282,1668,3.328,1675,2.288,1676,2.894,1677,4.355,1678,2.723,1679,3.61,1680,4.147,1681,3.61,1682,3.143,1683,3.61,1684,2.802,1685,5.774,1686,3.61,1687,3.61,1688,3.61,1689,3.143,1690,3.61,1691,2.225,1692,3.61,1693,3.004,1694,3.61,1695,3.61,1696,3.61,1697,2.894,1698,3.61,1699,3.328,1700,3.61]],["title/323",[1701,6.01]],["content/323",[18,1.563,20,3.925,52,2.782,131,4.276,134,2.62,253,3.007,415,3.198,439,3.833,538,2.301,557,3.175,564,4.804,646,4.613,655,4.557,887,4.693,912,3.789,952,3.529,1055,4.342,1098,3.669,1104,4.083,1144,3.833,1201,4.204,1251,4.419,1701,4.804,1702,5.071]],["title/324",[131,1.864,1702,4.16,1703,5.36]],["content/324",[18,1.334,28,2.855,131,3.793,134,2.557,486,4.174,592,4.535,600,4.877,620,5.482,646,3.937,1091,6.45,1165,4.535,1663,7.638,1704,8.773]],["title/325",[131,2.252,1035,3.497]],["content/325",[]],["title/326",[1705,8.175]],["content/326",[]],["title/327",[1706,7.537]],["content/327",[18,1.04,102,3.188,131,3.925,134,2.703,171,3.965,415,3.347,646,5.064,655,3.031,1028,4.215,1035,3.693,1045,3.627,1106,2.524,1143,4.16,1157,3.728,1646,5.027,1663,5.953,1702,5.307,1706,8.551,1707,6.837,1708,4.624,1709,4.334,1710,6.837,1711,4.16,1712,6.837,1713,5.691]],["title/331",[151,3.304,375,2.726,415,2.624]],["content/331",[48,3.374,49,2.737,69,2.59,131,2.622,135,4.709,151,4.647,375,3.833,377,5.969,415,3.689,485,3.514,495,3.929,528,5.85,535,3.774,559,3.998,655,4.388,917,4.149,1089,6.042,1104,4.711,1610,5.542]],["title/332",[48,1.559,49,1.264,377,2.47,1089,3.666]],["content/332",[18,1.444,28,2.305,48,3.238,49,2.626,52,4.044,69,3.264,114,2.444,115,1.997,134,2.768,135,3.37,240,3.725,347,5.088,377,5.788,450,3.862,458,3.693,485,3.303,896,4.02,915,3.239,1032,4.791,1071,4.063,1104,4.427,1501,5.679]],["title/333",[1610,6.01]],["content/333",[18,0.961,26,4.202,48,3.722,49,3.019,52,2.692,69,2.173,108,2.553,135,3.008,151,5.418,253,2.91,375,4.47,377,3.415,415,4.945,453,4.009,454,1.375,536,5.945,557,3.073,559,3.354,581,2.754,655,2.803,695,3.847,899,4.77,1006,3.952,1023,4.202,1071,3.627,1089,5.069,1265,4.069,1714,6.323,1715,6.323]],["title/328",[18,0.815,20,3.22,400,2.794]],["content/328",[18,1.854,20,5.605,131,3.939,134,2.719,1184,4.783,1251,6.309,1646,6.858]],["title/329",[400,4.261]],["content/329",[0,2.196,18,1.141,45,4.219,73,2.791,74,1.478,76,3.37,112,1.614,131,3.105,134,3.325,176,2.136,182,3.215,183,3.01,242,2.396,308,2.447,311,2.027,314,4.13,380,2.539,400,2.644,415,2.482,506,4.065,516,3.085,521,2.412,590,3.825,644,6.532,684,2.222,720,1.682,757,2.848,793,3.494,915,2.319,1045,3.979,1048,2.941,1103,4.065,1115,4.303,1139,3.085,1149,4.065,1157,2.765,1165,2.621,1184,2.6,1477,4.351,1478,4.22,1582,2.974,1620,2.222,1666,4.065,1716,4.065,1717,4.22,1718,4.676,1719,4.676]],["title/330",[134,1.887,1035,3.497]],["content/330",[18,1.244,45,2.698,52,2.431,62,2.775,74,1.664,131,1.986,134,3.219,182,3.62,183,3.389,242,2.698,253,4.398,311,3.27,380,4.095,400,2.977,409,2.594,415,4.004,485,2.662,574,2.306,590,6.17,621,2.329,655,2.531,912,3.312,1035,3.084,1048,3.312,1084,4.101,1087,2.795,1106,2.108,1116,2.578,1126,4.432,1529,5.265,1691,3.52,1720,4.432,1721,7.47,1722,3.431,1723,5.265]],["title/334",[18,0.815,131,1.864,1646,3.941]],["content/334",[18,1.637,55,2.611,114,2.113,115,1.727,131,3.455,135,2.914,145,2.783,176,2.58,380,3.067,416,3.309,492,3.681,577,5.648,585,3.942,589,2.914,646,2.749,655,2.716,712,4.725,720,2.032,744,3.636,912,3.553,952,3.309,1152,3.406,1251,4.143,1702,6.673,1708,4.143,1709,3.883,1724,4.221,1725,5.099,1726,6.126,1727,5.334,1728,5.648,1729,5.099,1730,3.727]],["title/335",[114,1.849,115,1.511,1152,2.98]],["content/335",[18,1.41,48,2.331,49,1.89,51,3.276,61,3.965,74,1.993,77,4.711,114,3.199,115,3.182,131,3.226,134,2.703,150,2.706,240,3.595,242,3.231,243,4.273,331,3.728,412,4.806,477,2.294,493,2.789,559,3.627,590,5.157,657,2.733,796,3.801,900,2.605,1060,4.806,1731,5.027]],["title/336",[18,0.815,55,1.628,1152,2.98]],["content/336",[]],["title/337",[18,0.815,134,1.562,1152,2.98]],["content/337",[18,1.04,28,2.225,47,3.45,48,2.331,49,2.564,55,2.077,134,3.067,145,3.106,163,4.911,164,4.911,176,2.879,377,3.693,406,3.372,498,4.108,514,4.011,515,4.273,588,3.347,650,5.157,712,4.412,976,3.126,1104,4.273,1116,3.087,1133,3.764,1174,4.624,1185,4.16,1201,4.4,1242,4.058,1394,4.911,1732,4.334]],["title/338",[18,0.606,51,1.91,134,1.162,240,2.097,1152,2.217]],["content/338",[18,1.208,47,4.008,51,3.806,134,3.303,145,3.609,176,3.346,194,2.999,240,4.177,477,2.665,712,4.873,915,3.632,976,3.632,1155,4.965,1394,5.706,1643,4.965,1732,5.036,1733,6.612,1734,7.944]],["title/339",[18,0.815,65,1.611,1152,2.98]],["content/339",[18,1.571,28,2.62,55,2.446,65,3.617,101,4.032,107,5.033,134,3.011,145,3.659,411,4.391,477,2.702,900,3.068,1104,5.033,1404,5.784,1731,5.92,1732,5.105]],["title/340",[18,0.815,218,2.869,1152,2.98]],["content/340",[18,1.208,112,3.259,134,2.315,145,3.609,219,4.995,477,2.665,891,4.291,956,4.008,1104,4.965,1133,4.373,1142,5.992,1213,5.193,1643,4.965,1735,6.695,1736,6.612,1737,5.584,1738,7.944]],["title/341",[18,0.815,1152,2.98,1739,5.36]],["content/341",[18,1.433,74,3.321,75,3.931,76,4.652,112,2.998,134,2.746,145,3.18,218,6.098,348,6.095,376,4.652,915,3.2,956,3.532,1071,5.405,1104,5.889,1130,7.313,1155,4.375,1184,3.589,1732,4.437,1740,7]],["title/342",[18,0.695,143,1.734,1152,2.542,1643,2.858]],["content/342",[18,1.104,28,3.141,74,2.115,131,2.525,176,3.057,395,4.416,411,3.958,477,2.435,712,3.453,956,5.473,976,3.319,1086,4.824,1104,4.536,1133,3.996,1394,5.213,1633,5.819,1643,6.033,1644,4.909,1691,4.475,1741,6.041,1742,4.824,1743,7.282,1744,7.259]],["title/343",[18,0.695,130,3.039,143,1.734,1152,2.542]],["content/343",[18,1.09,30,4.494,74,2.09,130,6.364,176,3.02,446,3.51,712,5.474,976,3.278,1086,4.765,1133,3.947,1185,4.363,1190,3.435,1643,7.19,1653,6.364,1742,4.765,1745,9.576,1746,5.748,1747,7.17,1748,7.17]],["title/344",[1735,5.343]],["content/344",[18,1.132,69,2.557,74,2.169,112,2.368,134,2.169,219,3.28,279,1.605,497,5.033,521,3.541,528,5.776,720,2.468,917,4.097,1039,5.776,1049,5.776,1119,4.789,1131,4.223,1135,5.231,1184,3.816,1213,4.865,1475,4.789,1513,6.862,1563,4.316,1735,4.865,1749,4.946,1750,5.966,1751,5.614]],["title/345",[1100,3.304,1101,2.98,1735,3.504]],["content/345",[8,1.096,18,1.085,34,1.791,64,2.6,74,1.383,75,2.664,78,2.562,82,3.602,112,2.731,185,2.169,218,3.82,219,4.512,241,3.113,312,3.153,358,4.374,378,2.432,406,2.339,415,2.322,454,1.552,485,3.328,493,1.935,505,1.976,528,3.682,581,2.066,595,3.153,657,1.896,720,2.367,744,2.816,945,2.783,951,4.977,1028,4.4,1034,3.335,1100,2.925,1101,3.968,1102,3.948,1103,3.803,1106,1.751,1118,3.101,1135,3.335,1147,3.578,1159,5.941,1165,2.452,1527,3.101,1735,4.666,1752,3.335,1753,3.578,1754,4.744,1755,4.744]],["title/346",[1135,4.551,1735,4.232]],["content/346",[8,0.447,18,1.35,24,1.304,34,2.127,52,1.491,54,2.369,75,4.55,76,2.328,102,3.777,112,1.793,134,1.021,150,1.386,218,1.875,219,1.544,233,1.475,241,1.27,309,1.875,331,1.91,393,2.031,400,1.826,415,1.714,477,1.891,492,3.027,493,1.429,507,1.91,513,2.938,581,1.526,587,1.508,600,1.947,646,4.257,683,2.22,892,2.189,913,1.928,917,1.928,957,2.104,1071,2.009,1106,3.681,1113,3.811,1124,1.612,1131,1.988,1135,2.462,1138,3.684,1144,2.054,1184,3.625,1192,4.518,1193,3.625,1213,2.289,1249,2.462,1386,2.054,1565,2.289,1638,2.413,1661,2.289,1674,2.516,1732,2.22,1735,2.289,1736,6.743,1737,2.462,1751,2.642,1756,5.635,1757,4.518,1758,3.503,1759,3.229,1760,3.811,1761,3.503,1762,4.69,1763,4.374,1764,2.328,1765,3.503,1766,3.229,1767,2.159,1768,3.503,1769,3.229,1770,2.915]],["title/347",[74,1.562,218,2.869,219,2.362]],["content/347",[219,4.246,485,4.491,582,4.462,664,4.552,720,3.195,1135,6.772,1735,6.297,1771,8.388]],["title/348",[1197,5.746]],["content/348",[18,1.591,71,1.976,112,3.574,131,2.351,134,1.97,176,2.846,218,4.925,219,2.979,241,2.451,412,6.468,445,3.384,477,3.087,529,3.033,538,2.38,559,3.585,655,2.996,712,3.215,720,2.242,1104,4.224,1184,4.718,1197,4.751,1559,5.246,1771,5.885,1772,4.571,1773,6.759]],["title/349",[493,3.335]],["content/349",[64,2.328,65,2.662,100,3,112,2.818,196,4.052,219,2.817,279,1.378,311,2.555,412,4.493,445,3.2,454,1.39,485,2.98,488,3.304,538,2.251,559,3.391,791,4.493,796,3.554,931,5.698,952,3.453,1162,5.124,1175,4.699,1184,5.21,1197,4.493,1620,2.8,1729,5.32,1774,7.371,1775,8.165,1776,4.828,1777,4.248,1778,6.392,1779,5.32]],["title/350",[1730,4.974]],["content/350",[8,1.394,64,2.677,219,5.121,241,2.666,279,1.585,477,2.466,566,4.97,586,4.127,657,3.891,664,4.599,1135,5.166,1201,4.729,1730,4.472,1780,5.064,1781,7.349,1782,7.349,1783,7.349,1784,7.349,1785,7.349,1786,7.349]],["title/351",[1045,4.336]],["content/351",[]],["title/352",[171,4.741]],["content/352",[37,3.589,111,3.816,112,2.227,171,4.059,279,1.509,311,2.798,414,4.375,454,2.049,477,2.349,482,2.278,495,4.912,562,3.713,1022,4.823,1033,4.734,1034,4.92,1045,4.998,1048,4.059,1069,3.649,1084,5.027,1122,5.146,1528,4.823,1548,4.652,1561,5.611,1787,7,1788,5.433,1789,7,1790,6.095,1791,5.826]],["title/353",[1561,5.19,1791,5.389]],["content/353",[8,1.698,12,1.695,77,2.278,100,1.551,103,2.524,105,4.706,134,0.963,162,1.917,171,4.999,219,3.452,228,1.738,240,1.738,458,1.723,460,1.804,485,1.541,523,2.066,546,1.606,554,3.048,562,1.754,563,4.016,587,1.424,621,2.194,859,2.197,889,1.259,896,1.876,912,1.917,915,1.512,952,1.786,981,2.197,983,2.751,1029,1.917,1063,2.066,1106,1.22,1156,2.43,1157,2.932,1166,2.751,1176,4.311,1224,2.494,1344,2.324,1478,2.751,1559,4.174,1561,6.91,1742,2.197,1791,4.476,1792,6.268,1793,3.306,1794,3.306,1795,4.174,1796,3.048,1797,7.833,1798,3.048,1799,3.306,1800,3.306,1801,3.306,1802,3.306,1803,3.306]],["title/354",[111,3.53,414,4.046]],["content/354",[28,2.38,69,1.684,99,2.348,111,4.772,112,1.56,171,2.843,279,1.057,309,2.624,414,6.065,416,2.648,454,1.591,455,4.727,460,1.645,466,3.022,493,2,527,4.196,529,2.2,562,2.6,666,2.123,898,2.699,915,2.241,949,5.041,954,3.93,981,5.816,1008,2.753,1027,3.258,1034,3.446,1092,3.521,1137,3.315,1176,3.93,1185,4.451,1477,2.843,1482,5.469,1533,3.378,1547,3.604,1548,3.258,1559,6.793,1615,3.446,1670,2.782,1804,3.604,1805,3.93,1806,3.93,1807,4.902,1808,4.902,1809,4.902,1810,4.902,1811,4.52,1812,4.902,1813,4.902]],["title/355",[171,3.755,1814,5.97]],["content/355",[28,2.126,48,3.065,49,2.486,50,3.406,99,3.13,105,3.925,111,3.562,134,1.904,152,4.573,171,5.961,313,2.612,331,3.562,454,2.235,529,2.932,895,3.878,971,6.024,1032,4.419,1045,3.466,1106,2.412,1110,5.071,1115,3.748,1250,4.804,1561,5.238,1564,5.238,1575,3.529,1791,5.438,1814,6.024,1815,6.534,1816,6.534,1817,5.438]],["title/356",[134,2.382]],["content/356",[]],["title/357",[112,2.06,113,3.375]],["content/357",[0,2.159,28,1.622,47,3.738,48,2.525,49,2.048,69,1.713,78,2.693,104,1.99,111,2.718,113,2.599,134,1.453,163,5.32,164,5.32,194,3.337,199,4.596,201,4.596,241,1.808,254,2.995,279,1.075,398,2.644,409,2.265,436,2.458,454,1.084,488,2.577,492,3.785,499,2.718,684,2.184,873,3.58,1034,3.504,1035,2.693,1045,5.546,1120,4.842,1122,3.665,1123,2.995,1132,3.16,1169,4.149,1177,3.829,1548,3.313,1615,3.504,1632,3.996,1701,3.665,1742,3.313,1788,3.869,1798,4.596,1818,3.115,1819,3.16,1820,4.985,1821,7.408]],["title/358",[1045,2.843,1101,2.98,1115,3.074]],["content/358",[6,3.593,28,2.103,45,3.053,51,3.096,103,3.033,112,2.056,134,2.979,240,3.398,241,2.344,242,3.053,306,2.9,454,1.405,529,2.9,531,2.707,595,4.295,1023,4.295,1030,5.626,1038,3.459,1045,3.428,1049,5.016,1100,3.984,1101,4.961,1102,5.378,1115,3.707,1118,4.224,1124,2.974,1147,4.874,1165,3.341,1184,3.313,1355,5.958,1510,4.224,1593,4.874,1670,3.667,1822,6.462,1823,6.462]],["title/359",[1101,3.599,1824,5.025]],["content/359",[28,2.199,48,3.566,49,2.893,52,2.878,78,3.651,134,1.97,150,2.675,163,4.854,164,6.609,194,3.474,241,2.451,398,3.585,684,4.031,698,2.979,897,5.885,1045,4.881,1101,3.758,1169,5.625,1176,5.418,1177,3.494,1438,4.657,1633,7.377,1819,4.285,1825,6.232,1826,6.759]],["title/360",[194,2.023,1101,2.98,1610,3.941]],["content/360",[48,3.491,49,2.832,134,2.315,194,3.866,331,4.331,505,3.31,684,4.487,720,2.635,945,4.66,1023,5.279,1077,7.325,1092,5.706,1101,6.302,1265,5.112,1597,5.584]],["title/361",[47,2.705,134,1.562,1101,2.98]],["content/361",[35,4.335,47,6.014,48,3.019,49,2.449,69,2.196,78,4.783,112,2.034,134,3.357,176,2.692,241,2.318,331,3.485,516,3.889,684,2.8,1023,4.248,1101,5.649,1116,2.886,1184,3.277,1201,4.113,1597,4.493,1610,6.511,1737,4.493,1824,4.961,1827,6.392]],["title/362",[49,1.264,134,1.333,1101,2.542,1610,3.362]],["content/362",[35,3.837,48,4.061,49,3.294,134,2.284,398,5.386,505,3.266,684,4.448,1071,4.496,1087,3.837,1101,5.645,1824,6.084,1828,6.084,1829,7.839]],["title/367",[900,2.042,1830,5.36,1831,2.794]],["content/367",[0,2.653,8,0.782,111,3.34,143,2.323,279,2.142,375,3.116,378,3.141,482,1.993,484,2.787,485,2.856,508,3.68,509,3.68,519,2.914,539,4.239,542,5.099,546,2.977,552,3.44,574,2.474,582,2.837,588,2.999,589,2.914,614,3.636,683,3.883,712,2.914,911,3.68,1061,3.883,1189,4.4,1525,4.071,1832,3.141,1833,4.221,1834,3.883,1835,4.504,1836,3.776,1837,3.68,1838,5.334,1839,4.143,1840,4.911,1841,3.68,1842,5.099]],["title/368",[481,5.26]],["content/368",[18,1.241,51,3.911,154,5.388,279,2.248,446,3.996,482,2.657,484,2.647,486,3.884,531,3.42,568,4.256,691,3.858,1025,3.733,1423,5.033,1831,4.256,1832,4.186,1843,5.102,1844,5.739]],["title/369",[546,3.146,1845,5.025]],["content/369",[8,1.541,171,4.243,279,1.057,484,2.371,499,5.937,501,7.365,502,7.022,519,2.332,529,3.927,546,2.382,552,2.753,581,2.135,587,2.111,915,2.241,952,3.951,1039,3.805,1770,4.08,1831,3.814,1832,2.513,1836,3.022,1845,6.793,1846,4.243,1847,6.745,1848,6.9,1849,5.041,1850,3.93,1851,3.258,1852,3.93,1853,3.805]],["title/370",[1204,3.843,1675,4.104]],["content/370",[8,1.21,397,4.129,661,5.218,1854,9.479,1855,8.253,1856,8.74,1857,9.479,1858,7.357,1859,6.531]],["title/371",[563,3.32,1832,3.32]],["content/371",[8,1.652,74,0.915,102,1.464,154,1.624,162,1.022,194,1.186,224,1.086,229,0.85,249,0.796,279,1.276,311,0.704,377,0.952,397,0.768,454,1.547,460,0.591,474,1.046,477,0.591,484,1.377,485,0.822,493,0.719,502,1.192,517,0.801,519,0.838,527,2.437,531,0.738,546,1.526,552,0.99,563,3.648,564,1.296,573,1,581,0.768,588,0.863,594,1.022,600,1.746,604,1.011,621,0.719,665,1.801,677,2.986,688,2.867,695,1.072,712,1.494,896,1,900,1.197,910,1.467,917,0.97,948,1.046,956,0.889,1021,1,1060,1.239,1076,0.961,1116,0.796,1176,1.413,1190,0.844,1226,2.736,1423,1.086,1499,1.046,1589,1.239,1670,1,1680,1.266,1818,1.101,1832,3.364,1833,1.214,1836,1.936,1837,1.887,1845,2.438,1849,1.214,1850,1.413,1851,1.171,1858,1.368,1860,2.927,1861,2.256,1862,3.051,1863,1.467,1864,2.438,1865,2.734,1866,1.534,1867,1.534,1868,1.534,1869,1.625,1870,1.534,1871,1.762,1872,1.534,1873,3.269,1874,3.699,1875,1.368,1876,1.762,1877,1.368,1878,1.762,1879,3.141,1880,4.49,1881,3.141,1882,3.405,1883,1.762,1884,1.762,1885,2.896,1886,6.025,1887,1.762,1888,3.141,1889,1.762,1890,1.762,1891,3.141,1892,1.086,1893,1.625,1894,1.534,1895,3.699,1896,1.625,1897,1.534,1898,1.762,1899,1.762,1900,3.141,1901,1.296,1902,1.467,1903,1.762,1904,1.413,1905,1.762,1906,1.762,1907,1.762,1908,1.534,1909,1.534,1910,1.534,1911,1.534,1912,1.534,1913,1.534,1914,1.534,1915,1.534,1916,1.534,1917,1.762,1918,1.762,1919,1.762,1920,4.248,1921,1.762,1922,1.762,1923,1.762,1924,1.762,1925,1.534,1926,1.625,1927,1.534,1928,1.762]],["title/363",[1929,5.343]],["content/363",[]],["title/364",[436,2.255,510,2.238,563,2.345,1849,3.151]],["content/364",[164,6.595,279,1.98,311,3.671,454,1.997,484,2.977,510,4.495,600,5.105,1142,6.927,1675,5.821,1875,7.127,1930,9.183]],["title/365",[529,2.905,1848,4.303]],["content/365",[8,1.155,279,1.95,492,3.872,529,4.058,587,3.894,1848,6.009,1850,7.249,1851,6.009,1931,9.042,1932,8.337,1933,7.249,1934,7.249]],["title/366",[84,3.304,1837,3.22,1852,4.297]],["content/366",[84,4.588,103,4.606,224,4.588,501,6.638,546,4.769,885,5.471,1106,2.747,1165,3.847,1249,5.231,1662,4.651,1831,5.117,1832,5.032,1837,4.471,1845,5.776,1852,7.868,1935,7.442,1936,6.862,1937,7.442,1938,5.776,1939,6.862]],["title/372",[589,3.08,617,3.674]],["content/372",[8,0.975,539,3.765,552,5.606,581,3.326,594,4.428,602,5.367,641,3.632,664,3.608,942,5.074,1540,4.086,1582,4.479,1831,3.98,1836,4.707,1855,6.648,1856,7.04,1858,5.926,1862,5.484,1940,7.04,1941,6.328,1942,5.164,1943,5.164,1944,7.635]],["title/374",[565,3.347,1837,3.89]],["content/374",[84,4.832,169,3.837,194,3.833,224,4.832,225,4.709,529,3.517,539,3.865,541,5.913,565,4.052,581,4.423,582,3.63,624,4.195,651,5.206,1015,4.195,1653,5.209,1837,4.709,1845,6.084,1852,6.284,1945,7.227]],["title/375",[1946,8.175]],["content/375",[162,5.875,454,2.203,617,5.749,1832,5.194,1947,6.852]],["title/376",[1620,3.581]],["content/376",[8,1.34,1620,4.597,1948,7.375]],["title/377",[409,2.942,816,3.714]],["content/377",[8,1.59,119,3.522,162,5.68,1885,9.03,1947,6.624]],["title/378",[1949,8.175]],["content/378",[484,3.229,581,4.338,587,4.289,691,4.706,1620,4.363,1950,9.96]],["title/379",[1620,3.581]],["content/379",[8,1.34,1620,4.597,1948,7.375]],["title/380",[409,2.942,816,3.714]],["content/380",[8,1.364,409,4.853]],["title/381",[1951,8.175]],["content/381",[194,3.891,617,5.85,691,4.871,1832,5.285]],["title/382",[1620,3.581]],["content/382",[8,1.364,1948,7.509]],["title/383",[409,2.942,816,3.714]],["content/383",[8,1.683,104,2.106,119,4.05,219,3.454,248,4.769,249,4.585,404,5.763,691,4.798,1952,7.227,1953,5.913]],["title/384",[1954,7.537]],["content/384",[18,1.595,99,5.026,446,5.136]],["title/385",[1620,3.581]],["content/385",[6,3.303,7,3.569,8,1.529,18,1.485,32,2.145,48,2.025,49,1.643,50,3.097,55,2.555,61,3.445,88,3.73,112,2.677,114,2.902,115,2.372,119,2.136,134,1.731,147,5.172,242,2.807,243,3.713,253,2.734,406,2.929,454,1.292,486,2.826,664,2.807,672,3.124,888,2.846,889,2.263,1008,3.336,1403,3.407,1955,5.172,1956,5.477,1957,3.569,1958,5.941]],["title/386",[409,2.942,816,3.714]],["content/386",[8,1.589,18,1.224,104,2.164,119,2.896,253,5.538,308,3.885,310,5.297,315,6.702,316,6.702,1359,6.702,1742,5.352,1959,6.702]],["title/387",[1960,8.175]],["content/387",[219,4.624,664,4.957,888,5.026]],["title/388",[1620,3.581]],["content/388",[8,1.59,119,3.522,219,4.316,249,5.265]],["title/389",[409,2.942,816,3.714]],["content/389",[8,1.596,18,1.241,104,2.194,119,2.936,253,5.566,308,3.939,310,5.344,315,6.795,316,6.795,1359,6.795,1959,6.795]],["title/390",[1961,8.175]],["content/390",[219,4.624,888,5.026,1377,5.954]],["title/391",[1620,3.581]],["content/391",[8,1.59,119,3.522,219,4.316,249,5.265]],["title/392",[409,2.942,816,3.714]],["content/392",[8,1.596,18,1.241,104,2.194,119,2.936,253,5.566,308,3.939,310,5.344,315,6.795,316,6.795,1359,6.795,1959,6.795]],["title/393",[1962,8.175]],["content/393",[219,4.389,563,5.106,617,5.652,888,4.771,903,7.984,1832,5.106]],["title/394",[1620,3.581]],["content/394",[8,1.364,1948,7.509]],["title/395",[409,2.942,816,3.714]],["content/395",[8,1.687,119,4.076,219,3.501,379,3.806,671,4.417,686,6.079,916,4.607,1012,6.612,1963,7.944,1964,7.944]],["title/396",[1965,8.175]],["content/396",[48,3.284,49,2.664,52,4.917,219,4.246,671,5.356,698,4.246,753,8.018]],["title/397",[1620,3.581]],["content/397",[8,1.512,74,2.016,119,3.362,219,4.12,241,2.509,249,3.123,253,3.183,454,1.504,659,3.049,664,3.269,671,5.886,698,4.12,913,3.808,916,5.421,948,5.548,1403,5.362,1540,3.702,1953,5.218,1966,5.546,1967,4.968]],["title/398",[409,2.942,816,3.714]],["content/398",[8,1.557,48,3.18,49,2.579,52,3.972,58,5.472,119,3.355,219,4.111,698,4.111]],["title/399",[1968,8.175]],["content/399",[52,5.015,104,2.676,219,4.389,671,5.537,698,4.389]],["title/400",[1620,3.581]],["content/400",[8,1.512,74,2.016,119,3.362,219,4.12,241,2.509,249,3.123,253,3.183,454,1.504,659,3.049,664,3.269,671,5.886,698,4.12,913,3.808,916,5.421,948,5.548,1403,5.362,1540,3.702,1953,5.218,1966,5.546,1967,4.968]],["title/401",[409,2.942,816,3.714]],["content/401",[8,1.59,104,3.133,119,3.522,671,5.445]],["title/402",[1969,8.175]],["content/402",[587,4.362,617,5.749,691,4.787,1832,5.194,1970,5.577]],["title/403",[1620,3.581]],["content/403",[8,1.364,1948,7.509]],["title/404",[409,2.942,816,3.714]],["content/404",[8,1.61,104,2.256,119,4.183,219,3.701,248,5.109,249,4.791,404,6.174,691,3.968,1952,7.743,1953,6.334]],["title/405",[1971,8.175]],["content/405",[18,1.595,446,5.136,523,6.557]],["title/406",[1620,3.581]],["content/406",[8,1.632,18,1.584,32,1.785,55,2.236,88,3.263,112,2.342,114,1.705,115,1.394,119,3.747,147,4.304,219,3.244,225,5.284,241,1.793,249,2.232,253,2.275,436,2.438,446,3.603,454,1.601,472,3.837,509,2.97,664,2.336,671,2.748,888,2.368,916,2.867,945,2.9,1008,2.776,1403,2.835,1540,2.646,1953,3.729,1955,4.304,1956,4.558,1957,2.97,1966,3.963,1972,4.943,1973,4.114,1974,4.304]],["title/407",[409,2.942,816,3.714]],["content/407",[8,1.614,18,1.288,48,3.348,49,2.716,52,2.555,104,2.277,119,3.838,135,4.673,151,3.699,282,5.533,284,5.533,285,5.533,332,3.034,375,3.052,376,3.988,377,3.241,379,2.875,380,4.918,454,1.305,477,2.014,504,3.241,1975,6.001]],["title/408",[1976,8.175]],["content/408",[446,5.136,523,6.557,1948,7.375]],["title/409",[1620,3.581]],["content/409",[7,3.303,8,1.649,119,3.913,144,3.864,219,3.507,225,5.62,241,1.994,249,2.482,411,2.997,436,2.711,446,4.579,448,4.266,454,1.195,472,4.266,509,3.303,664,2.597,671,3.056,916,3.188,945,3.224,1403,3.153,1540,2.942,1948,7.974,1953,4.146,1966,4.407,1973,4.575,1974,4.786,1977,5.497]],["title/410",[409,2.942,816,3.714]],["content/410",[8,1.696,119,3.252,446,4.426,1948,6.356,1978,11.112]],["title/411",[1979,8.175]],["content/411",[691,4.957,1190,5.026,1875,8.143]],["title/412",[224,5.039]],["content/412",[8,1.557,119,3.355,219,4.111,249,5.114,446,4.566,454,2.028,1948,6.557]],["title/413",[1602,5.871]],["content/413",[8,1.577,62,4.2,119,4.441,249,3.903,404,6.355,447,6.709,1980,8.644,1981,8.644,1982,8.644]],["title/414",[1983,8.175]],["content/414",[484,3.284,691,4.787,1190,4.853,1875,7.863,1970,5.577]],["title/415",[224,5.039]],["content/415",[8,1.34,1620,4.597,1948,7.375]],["title/416",[1602,5.871]],["content/416",[8,1.504,119,4.236,249,4.497,404,7.322]],["title/373",[18,0.984,446,3.169]],["content/373",[8,1.639,12,2.194,18,0.481,19,1.726,36,0.943,55,1.808,63,2.64,64,1.153,65,1.56,88,1.404,112,1.652,135,0.846,143,1.201,145,1.438,177,2.457,178,2.457,194,1.195,225,2.571,249,2.344,250,3.321,251,2.894,254,2.571,279,1.119,311,0.711,328,2.274,377,0.961,409,0.808,454,0.688,477,1.062,484,1.683,493,0.725,494,3.146,527,3.415,531,0.745,552,0.999,563,0.912,565,0.919,573,1.009,581,0.775,588,0.87,600,0.989,604,1.02,621,2.428,677,1.25,691,1.496,695,1.082,816,1.02,905,1.225,917,0.979,1021,1.009,1060,1.25,1070,3.561,1226,1.679,1423,1.096,1499,1.055,1609,2.635,1680,1.277,1717,3.561,1832,1.623,1833,1.225,1836,1.952,1858,1.38,1859,2.948,1860,1.225,1861,1.277,1862,3.073,1863,1.48,1864,2.457,1865,2.756,1866,1.548,1867,1.548,1868,1.548,1870,1.548,1873,2.713,1874,1.548,1886,5.137,1893,1.64,1894,1.548,1897,1.548,1908,1.548,1909,1.548,1910,1.548,1911,1.548,1912,1.548,1913,1.548,1914,1.548,1915,1.548,1916,1.548,1925,1.548,1927,1.548,1953,1.341,1966,1.426,1973,2.635,1974,1.548,1984,1.162,1985,3.166,1986,1.778,1987,1.778,1988,1.778,1989,1.778,1990,3.166,1991,3.073,1992,2.894,1993,3.945,1994,1.778,1995,3.166,1996,1.778,1997,1.778,1998,3.166,1999,1.778,2000,1.778,2001,1.778,2002,1.778,2003,1.778,2004,1.778,2005,1.64,2006,1.778,2007,1.48,2008,1.778,2009,1.778,2010,1.48,2011,1.778,2012,1.778,2013,1.778,2014,1.778,2015,3.166,2016,1.778,2017,1.778,2018,3.166,2019,1.778,2020,1.64]],["title/417",[691,3.059,2021,4.551]],["content/417",[8,1.607,224,1.982,249,1.452,279,1.134,311,1.285,377,1.737,454,1.143,477,1.079,484,1.042,493,1.312,527,4.419,531,1.347,552,1.806,563,3.42,573,1.825,581,1.401,588,1.574,600,1.788,604,1.844,665,1.844,677,3.696,691,2.484,695,1.956,917,1.77,956,1.622,1021,1.825,1060,2.26,1190,2.519,1226,2.789,1423,1.982,1680,2.309,1767,1.982,1832,2.696,1833,2.216,1836,3.241,1837,1.932,1858,2.496,1860,2.216,1861,2.309,1862,4.79,1863,2.676,1864,4.081,1865,4.578,1866,2.8,1867,2.8,1868,2.8,1869,2.965,1870,2.8,1873,4.228,1874,2.8,1875,2.496,1886,7.463,1894,2.8,1896,2.965,1897,2.8,1908,2.8,1909,2.8,1910,2.8,1911,2.8,1912,2.8,1913,2.8,1914,2.8,1915,2.8,1916,2.8,1925,2.8,1926,2.965,1927,2.8,1970,1.77,2005,2.965,2021,2.26,2022,3.216,2023,3.216,2024,3.216,2025,3.216,2026,3.216,2027,3.216,2028,3.216,2029,3.216,2030,3.216,2031,3.216]],["title/418",[651,4.191]],["content/418",[]],["title/420",[651,3.32,1834,4.104]],["content/420",[18,1.077,194,2.674,279,2.311,332,2.537,454,2.065,482,3.091,484,2.296,537,4.791,541,7.165,552,3.978,558,5.344,562,3.758,581,3.086,651,5.494,1525,4.708,1834,6.021,2032,5.679,2033,6.532,2034,5.344,2035,6.532,2036,4.791,2037,5.679]],["title/421",[651,3.32,1061,4.104]],["content/421",[18,1.334,194,3.312,279,2.352,332,3.141,482,3.549,537,5.933,541,6.617,562,4.653,651,5.592,1061,5.561,2034,6.617]],["title/419",[651,3.32,1862,4.65]],["content/419",[18,1.456,101,3.59,148,3.909,194,2.707,279,2.325,332,2.568,454,1.559,482,3.508,499,3.909,537,4.849,541,5.409,562,3.803,581,3.123,651,5.528,891,3.873,1059,4.42,1862,5.15,2034,5.409,2036,4.849,2037,5.748,2038,3.838,2039,3.707]],["title/422",[114,2.234,115,1.825]],["content/422",[18,0.973,44,2.835,78,2.222,102,2.984,103,1.931,109,2.413,112,1.309,114,2.71,115,2.499,131,1.431,143,1.56,175,2.145,176,2.696,233,3.309,279,1.38,313,1.645,332,1.473,400,2.145,439,2.413,454,0.895,477,1.38,482,2.083,492,1.762,521,3.045,531,1.723,538,2.254,574,1.661,655,1.824,714,2.029,744,2.442,951,3.712,1016,2.734,1025,1.881,1029,2.386,1052,3.045,1069,2.145,1071,3.671,1087,2.014,1096,2.835,1119,2.647,1173,2.955,1190,3.066,1193,4.028,1213,2.689,1244,3.025,1386,2.413,1544,3.794,1577,3.794,1656,2.335,1735,2.689,1749,4.254,1752,4.499,1762,5.328,2040,4.114,2041,6.401,2042,3.582,2043,3.794,2044,3.103,2045,3.025,2046,3.193,2047,3.298,2048,3.794,2049,2.892,2050,3.582,2051,4.114,2052,3.298]],["title/423",[2046,6.345]],["content/423",[8,0.455,18,1.454,35,1.746,47,1.799,49,1.979,74,1.039,78,3.088,82,1.799,97,1.963,109,2.092,112,1.135,114,1.23,115,2.018,131,1.24,134,1.666,135,1.697,143,2.714,218,1.909,279,0.769,308,1.721,309,1.909,311,1.426,313,1.426,332,2.047,376,3.8,453,2.261,454,0.775,472,2.768,477,1.197,485,1.663,492,1.527,520,3.393,521,1.697,524,1.486,548,2.69,574,1.44,581,1.553,585,2.295,587,2.462,655,2.535,671,1.983,714,1.759,900,1.359,973,2.768,1081,3.573,1135,2.507,1137,2.412,1138,3.737,1151,5.737,1152,1.983,1165,1.844,1193,1.828,1197,2.507,1248,3.288,1249,2.507,1276,2.457,1386,2.092,1404,2.561,1628,2.561,1647,2.862,1691,2.198,1708,2.412,1709,2.261,1722,2.142,1735,2.331,1842,2.968,1957,2.142,1984,2.331,2046,2.768,2053,2.859,2054,3.288,2055,2.968,2056,3.566,2057,5.03,2058,5.956,2059,3.566,2060,2.968,2061,4.756,2062,3.566,2063,2.768,2064,2.622,2065,4.583]],["title/424",[1244,6.01]],["content/424",[18,1.551,44,3.243,74,2.771,99,2.255,102,2.194,104,2.295,109,2.761,112,1.498,114,2.946,115,2.681,133,2.941,143,2.691,154,2.433,254,2.827,279,1.015,398,3.764,439,2.761,477,1.579,493,1.92,516,2.863,517,2.138,581,2.05,624,2.519,657,2.836,664,2.224,687,3.917,720,1.561,896,2.671,898,2.591,952,2.542,1052,2.239,1069,2.453,1094,4.889,1106,1.737,1116,2.125,1119,3.028,1121,2.793,1178,3.308,1190,2.255,1592,4.889,1601,3.46,1635,2.671,1662,2.941,1749,3.128,2039,2.433,2066,3.308,2067,4.706,2068,4.706,2069,7.095,2070,3.653,2071,2.901,2072,2.671]],["title/425",[313,3.268]],["content/425",[108,2.553,114,2.181,115,1.783,279,1.363,321,4.445,416,3.415,523,3.952,546,3.073,574,2.553,595,4.202,657,2.528,777,3.847,1015,3.384,1021,4.988,1023,4.202,1052,4.807,1100,3.898,1477,3.667,1510,5.745,1661,4.133,1675,4.009,1677,4.77,1721,4.277,1777,4.202,2048,5.83,2049,4.445,2073,4.277,2074,6.462,2075,5.83,2076,4.009,2077,4.542,2078,6.323,2079,6.323,2080,5.263,2081,5.505]],["title/426",[102,3.018,486,3.08]],["content/426",[8,0.569,18,1.597,36,3.611,74,1.299,97,2.453,99,2.135,102,4.644,109,4.846,112,1.418,114,3.623,115,2.961,131,1.55,154,2.304,182,2.825,183,2.645,279,0.961,306,2,439,2.614,454,1.48,477,1.495,493,1.818,507,2.43,646,2,655,1.976,714,2.198,743,3.071,949,3.071,951,2.585,1058,4.109,1094,3.071,1106,1.645,1115,2.556,1116,2.012,1119,2.868,1152,2.478,1190,2.135,1378,4.109,1527,2.913,1558,3.201,1575,2.407,1609,3.709,1635,2.529,1749,2.962,1776,2.43,2057,4.786,2082,4.457,2083,4.109,2084,4.457,2085,3.362,2086,3.709,2087,4.457,2088,4.457,2089,3.88,2090,4.457,2091,4.457]],["title/427",[114,1.849,115,1.511,185,2.451]],["content/427",[2092,9.473]],["title/437",[1021,3.674,1731,4.76]],["content/437",[18,1.641,36,2.537,88,2.12,114,1.65,115,2.431,143,1.814,150,1.893,218,5.13,228,6.192,233,3.632,397,2.083,454,1.875,460,3.216,517,2.173,655,2.12,659,3.8,712,4.103,719,3.126,976,2.187,993,5.757,1052,2.275,1193,4.915,1245,3.834,1647,5.603,1762,3.981,1772,4.857,2061,4.773,2093,3.608,2094,4.164]],["title/438",[88,2.87,1245,5.19]],["content/438",[8,1.043,88,5.09,143,3.953,450,4.451,454,1.775,460,2.739,566,5.522,684,3.577,688,4.539,789,6.795,956,4.12,1143,4.967,1197,5.739,1245,6.545,1731,6.003,1880,7.109]],["title/439",[55,1.966,496,5.19]],["content/439",[6,3.336,7,3.605,8,1.363,24,2.235,119,3.532,196,5.372,249,2.71,411,3.272,438,3.862,447,4.658,454,1.842,462,3.862,492,2.57,521,2.855,538,2.113,566,4.059,586,3.37,589,2.855,1019,4.658,1021,4.808,2095,6.001,2096,6.001,2097,6.001,2098,6.001,2099,5.533,2100,6.001,2101,4.412,2102,6.001,2103,5.533,2104,6.001,2105,6.001,2106,6.001,2107,6.001,2108,4.527,2109,4.412,2110,6.001,2111,4.31]],["title/440",[144,5.746]],["content/440",[8,1.473,19,2.863,24,2.867,37,2.693,48,1.79,49,1.452,104,1.411,114,1.812,115,1.481,144,6.406,279,1.132,286,6.407,379,2.516,413,3.329,454,1.142,477,1.762,482,1.709,517,2.386,524,2.188,567,4.88,791,3.692,981,3.49,1063,3.282,1076,2.863,1116,2.371,1131,2.98,1592,3.619,1676,4.21,1851,3.49,2045,3.861,2099,4.842,2109,5.66,2112,4.076,2113,7.698,2114,3.961,2115,7.698,2116,3.282,2117,4.842,2118,7.698,2119,5.252,2120,5.252,2121,5.252,2122,4.371,2123,4.842]],["title/441",[119,1.928,467,4.461,2124,5.36]],["content/441",[6,4.736,8,1.367,119,3.063,144,7.527,397,3.711,454,2.328,467,7.09,657,3.405,729,6.118,1001,5.988,2101,6.263,2123,7.855,2125,8.519]],["title/442",[2117,7.537]],["content/442",[6,5.156,8,1.616,24,2.546,249,4.187,375,3.477,438,5.968,460,2.294,666,4.016,791,6.519,947,5.481,1479,5.691,1662,4.273,2126,6.837,2127,4.711,2128,5.691,2129,8.551,2130,8.075,2131,8.075]],["title/443",[2132,7.117]],["content/443",[8,1.586,115,1.783,196,4.009,252,6.462,311,2.528,448,4.908,460,3.85,466,3.898,526,2.82,581,2.754,585,4.069,621,3.586,659,2.787,1060,4.445,1070,5.263,1204,3.753,1233,3.588,1423,3.898,1635,3.588,2128,5.263,2132,5.505,2133,7.316,2134,5.83,2135,6.323,2136,5.263,2137,5.83]],["title/444",[1043,6.345]],["content/444",[2138,10.492,2139,6.858,2140,10.492]],["title/445",[2141,7.537]],["content/445",[8,1.489,249,5.265,666,5.05,2142,9.794]],["title/446",[8,0.684,957,3.22,1622,4.667]],["content/446",[8,1.634,24,2.193,55,1.124,108,1.494,228,1.946,249,4.603,443,4.522,460,2.461,477,1.976,493,1.51,505,1.542,510,1.811,549,2.55,659,1.631,666,3.176,900,1.41,957,5.84,993,2.967,1015,3.152,1149,2.967,1185,3.583,1190,2.821,1268,5.43,1347,2.967,1622,10.397,2134,6.763,2143,3.222,2144,4.571,2145,4.463,2146,3.701,2147,3.701,2148,3.701,2149,3.701,2150,3.701,2151,8.361,2152,3.701,2153,4.901,2154,3.701,2155,2.872]],["title/447",[69,2.809]],["content/447",[8,1.014,69,4.36,112,2.528,113,4.141,255,5.193,375,4.04,460,2.665,581,3.46,605,5.036,621,3.241,1124,3.656,1204,4.715,1277,5.841,1967,5.706,2109,5.841,2114,5.992]],["title/448",[445,4.093]],["content/448",[24,2.535,37,2.285,49,2.284,69,2.339,103,2.092,112,1.418,113,2.323,114,1.538,115,1.257,119,1.603,244,3.709,253,2.051,254,4.09,321,3.133,375,2.267,400,2.323,445,5.469,454,1.796,460,2.772,485,2.078,526,1.988,538,1.569,573,2.529,589,2.12,621,2.777,683,2.825,690,4.109,900,1.698,960,3.362,1006,2.785,1021,2.529,1026,3.362,1124,3.133,1204,2.645,1277,3.277,1403,2.556,1533,3.071,1553,3.88,1608,4.109,1804,3.277,1882,3.573,1967,5.933,2109,6.073,2156,5.284,2157,5.005,2158,4.457,2159,4.457,2160,4.457,2161,4.457,2162,3.459,2163,4.109,2164,4.109,2165,4.457,2166,3.459,2167,4.457,2168,4.109]],["title/449",[538,2.878]],["content/449",[55,2.48,114,2.817,115,2.302,279,1.761,538,4.043,621,3.331,1021,4.633,1749,5.426,2144,8.912,2169,9.075,2170,8.09,2171,6.707]],["title/450",[538,2.28,1749,4.303]],["content/450",[5,2.415,8,1.294,69,1.592,103,3.97,114,1.598,115,1.306,135,2.204,194,1.749,228,2.436,233,1.951,249,2.091,309,2.479,454,1.007,517,2.105,538,4.015,581,2.018,582,2.145,659,3.09,666,4.388,1116,2.091,1124,2.131,1204,2.749,1480,2.55,1503,7.562,1647,2.319,1749,5.621,1753,3.494,2101,5.154,2144,3.595,2169,8.822,2170,3.595,2171,2.981,2172,4.271,2173,3.327,2174,7.011,2175,4.632,2176,9.433,2177,4.271,2178,2.818,2179,5.835,2180,4.632]],["title/451",[538,2.28,2171,4.166]],["content/451",[18,0.983,103,3.033,114,2.229,115,1.822,143,2.451,228,3.398,408,3.707,454,1.405,538,4.072,581,2.815,623,3.707,666,2.799,915,2.955,1054,3.882,1124,2.974,1204,3.835,1213,4.224,1480,3.557,1749,5.93,1837,3.882,2109,4.751,2144,5.016,2169,7.769,2171,6.576,2172,5.958,2173,4.641,2179,5.378,2181,6.462,2182,6.462,2183,5.626]],["title/452",[1204,4.852]],["content/452",[69,2.59,114,2.6,115,2.125,194,2.845,375,3.833,421,4.85,454,1.639,538,3.485,573,4.277,712,3.586,1006,4.711,1021,4.277,1133,4.149,1204,5.874,1403,4.323,2109,5.542,2114,5.686,2184,7.538,2185,9.898,2186,7.538,2187,7.538,2188,7.538]],["title/453",[19,4.457]],["content/453",[8,0.689,19,5.542,20,3.242,26,3.586,49,1.492,51,3.762,55,1.639,112,2.499,115,2.214,119,1.941,143,2.978,154,2.79,171,4.554,256,3.129,397,2.35,445,2.702,454,1.707,460,1.811,462,3.472,524,2.248,562,2.862,574,3.171,666,3.4,720,1.79,757,3.03,913,2.971,942,3.586,976,2.467,1131,3.062,1498,4.188,1575,2.915,1831,4.093,2045,3.967,2170,4.188,2189,5.396,2190,6.648,2191,4.491,2192,4.975,2193,4.975,2194,4.975,2195,5.396,2196,4.491]],["title/454",[790,3.939,2170,5.025]],["content/454",[8,1.34,666,4.544,2197,6.384]],["title/455",[114,1.578,115,1.289,228,2.404,233,1.926]],["content/455",[143,3.714,228,5.15,233,4.125,1052,4.659,1193,5.979,1254,5.618]],["title/456",[957,3.89,1123,3.89]],["content/456",[18,1.808,115,2.656,194,2.642,218,3.746,228,3.681,233,2.948,309,3.746,439,4.106,445,4.717,460,3.162,505,2.916,587,3.014,957,6.399,1123,4.205,1133,5.187,1193,5.461,2057,4.92,2198,7.107]],["title/457",[5,2.794,233,2.257,249,2.42]],["content/457",[5,5.631,8,1.003,18,0.82,24,2.924,228,2.837,233,3.898,249,2.436,454,1.173,485,2.516,507,2.942,538,2.765,639,3.786,666,2.337,688,3,720,1.79,743,3.718,790,3.283,957,4.717,1165,2.79,1193,2.767,1327,3.472,1512,4.07,1593,4.07,1742,3.586,1780,3.718,2089,4.698,2170,4.188,2199,4.975,2200,5.396,2201,5.396,2202,7.24,2203,5.396,2204,5.396,2205,5.396,2206,4.698,2207,5.396,2208,5.396,2209,5.396,2210,6.836,2211,5.396,2212,5.396]],["title/458",[18,0.815,332,1.919,714,2.643]],["content/458",[3,3.127,8,1.2,18,1.28,24,1.712,55,2.117,61,4.882,64,1.674,74,1.339,108,1.856,114,1.586,115,2.847,143,3.563,145,2.088,218,2.46,228,2.417,229,5.127,233,3.545,332,2.496,380,3.489,454,0.999,460,1.542,477,2.338,526,2.05,581,2.002,588,2.25,657,1.837,666,3.018,683,2.914,889,1.751,917,2.53,948,2.728,1052,2.187,1106,1.696,1124,2.115,1592,3.167,1676,3.684,2213,4.596,2214,2.833,2215,6.969,2216,4.596,2217,8.418,2218,4.596,2219,4.238,2220,4.596,2221,4.596]],["title/459",[18,0.695,445,2.289,460,1.534,2198,3.449]],["content/459",[8,1.334,18,1.245,55,1.335,64,2.084,65,1.321,69,1.51,74,1.667,82,2.217,100,3.161,102,1.209,104,2.969,109,1.521,114,0.894,115,0.731,119,0.932,131,0.902,142,4.472,143,1.667,145,1.997,150,1.739,181,4.837,248,2.674,309,3.061,395,2.674,406,3.717,445,3.372,450,1.414,454,0.564,458,1.352,460,3.321,493,1.793,570,1.956,585,1.668,621,1.793,661,2.419,688,1.441,733,4.439,898,1.427,900,0.988,947,2.078,1015,2.352,1060,1.822,1116,1.171,1131,1.471,1401,2.257,1502,1.668,1583,4.734,1721,4.555,1841,1.558,2114,1.956,2155,2.012,2222,2.593,2223,6.735,2224,4.395,2225,2.593,2226,4.837,2227,6.735,2228,4.952,2229,1.723,2230,1.956,2231,2.593,2232,3.411,2233,2.593,2234,4.395,2235,4.395,2236,2.593,2237,2.593,2238,2.158]],["title/428",[114,1.578,115,1.289,228,2.404,1647,2.289]],["content/428",[7,6.419,8,1.364,18,1.228,24,3.523,37,1.785,55,1.057,71,3.026,112,1.108,131,1.211,143,1.32,171,2.019,218,3.769,228,2.949,233,2.966,249,1.572,309,1.863,417,4.353,454,0.757,470,3.002,485,1.623,517,1.582,526,1.553,582,1.613,588,1.704,621,1.42,666,2.429,712,1.656,945,2.042,1403,1.997,1647,5.349,2061,3.727,2109,2.56,2131,9.011,2170,4.353,2178,2.118,2190,4.028,2214,3.457,2239,3.482,2240,3.482,2241,2.56,2242,7.042,2243,7.042,2244,7.042,2245,7.042,2246,4.883,2247,3.21,2248,3.482,2249,3.482,2250,3.482]],["title/429",[7,3.89,2241,4.76]],["content/429",[3,2.357,5,2.738,6,2.92,7,5.475,8,1.567,18,1.17,24,3.394,49,1.452,52,2.236,55,2.768,64,1.913,71,2.251,74,1.531,115,2.17,142,2.249,145,3.498,150,2.079,375,2.671,406,2.59,445,2.629,454,1.142,460,1.762,493,2.142,659,2.314,960,3.961,1015,2.811,1647,4.562,1656,2.98,2061,5.116,2131,4.573,2143,4.573,2162,4.076,2229,5.116,2241,3.861,2251,6.702]],["title/430",[2252,5.746]],["content/430",[5,3.066,6,3.27,7,6.354,8,1.067,18,0.894,24,3.111,71,2.841,103,2.76,131,2.046,228,3.092,254,5.019,406,2.9,438,3.784,493,2.399,538,2.071,581,2.562,659,3.681,664,2.779,1116,2.655,1327,6.251,1656,4.74,1717,4.895,2229,5.551,2241,8.776,2251,5.121,2253,5.881,2254,5.423,2255,5.881]],["title/431",[1647,3.242,2061,4.303]],["content/431",[3,1.956,8,0.855,18,1.701,24,1.623,36,2.312,74,1.95,114,2.309,115,2.297,143,3.089,169,2.133,228,2.291,311,1.742,332,1.56,380,3.35,397,2.915,445,2.182,450,2.376,460,1.462,493,1.778,556,2.849,575,5.826,587,1.877,621,1.778,712,2.073,714,4.507,849,2.723,945,2.556,956,2.199,957,2.618,1052,2.073,1116,1.968,1123,2.618,1133,2.399,1404,3.13,1601,3.204,1647,5.211,1656,2.473,1662,4.182,1839,2.947,1967,3.13,2061,6.074,2065,3.494,2198,3.287,2252,4.704,2256,4.358,2257,3.494,2258,3.794,2259,4.358,2260,4.358,2261,4.358,2262,4.358,2263,2.423]],["title/432",[493,3.335]],["content/432",[8,1.577,18,0.626,49,1.138,55,1.944,64,1.499,74,1.199,82,3.23,104,1.105,108,1.661,142,3.364,143,2.427,145,1.869,380,2.06,438,2.647,439,2.413,517,2.908,588,2.014,621,3.205,659,2.821,666,3.402,698,2.821,777,2.503,1052,1.957,1087,2.014,1327,5.704,1647,4.808,1882,3.298,2061,6.382,2229,5.221,2230,4.828,2251,5.573,2264,4.114,2265,4.114,2266,3.582,2267,4.114,2268,4.114,2269,4.114,2270,3.193,2271,8.865,2272,4.114,2273,6.401,2274,4.114,2275,6.401,2276,4.114]],["title/433",[18,0.815,1193,2.748,1647,2.684]],["content/433",[6,3.554,7,3.84,18,1.858,71,1.869,115,3.093,169,3.129,228,3.361,233,2.692,438,4.113,445,3.2,460,2.145,587,2.752,621,2.608,666,3.835,712,3.041,945,3.749,957,3.84,1123,3.84,1133,3.519,1193,4.54,1647,5.087,2065,5.124,2198,4.822,2214,5.459,2277,4.822]],["title/434",[493,3.335]],["content/434",[6,2.11,8,1.514,18,1.566,26,2.523,51,2.879,64,1.383,69,1.304,74,1.751,104,1.615,108,1.533,115,1.694,143,2.279,171,3.485,248,2.31,380,1.9,394,2.481,397,1.653,454,0.825,460,1.274,621,1.549,666,4.002,913,2.09,1089,4.817,1116,1.714,1131,2.154,1142,2.863,1193,3.081,1327,5.458,1647,4.627,1742,2.523,1767,3.704,1853,2.946,2190,5.357,2192,5.541,2193,5.541,2214,5.697,2229,2.523,2266,5.232,2278,3.796,2279,3.796,2280,3.796,2281,3.796,2282,3.796,2283,3.796,2284,3.796,2285,3.796,2286,6.009,2287,6.009,2288,6.009,2289,6.009,2290,3.305]],["title/435",[218,2.869,1193,2.748,1647,2.684]],["content/435",[6,3.478,7,3.759,18,1.8,71,1.829,112,1.991,115,3.064,150,2.476,169,3.062,218,5.817,228,3.29,445,3.132,454,1.36,460,2.099,587,2.694,621,2.552,657,2.501,666,2.709,712,2.976,945,3.67,957,3.759,1123,3.759,1133,3.444,1193,4.473,1647,4.368,1804,4.6,2065,5.015,2198,4.719,2214,3.857]],["title/436",[493,3.335]],["content/436",[0,4.048,8,1.194,64,2.52,119,3.362,145,4.81,218,5.003,359,6.378,406,4.61,408,5.362,666,2.996,1131,3.926,1327,6.015,1647,4.68,1776,3.772,2214,5.763,2291,6.918,2292,6.918,2293,6.918,2294,6.918,2295,6.918,2296,6.918]],["title/460",[114,1.849,115,1.511,2246,4.667]],["content/460",[88,4.009,131,3.145,194,3.413,322,7.526,397,3.938,477,3.034,588,4.426,1015,4.839,2297,7.873,2298,6.115,2299,7.873,2300,9.042]],["title/461",[114,1.849,115,1.511,493,2.187]],["content/461",[]],["title/462",[142,2.772,2301,6.475]],["content/462",[8,1.608,52,2.845,55,2.029,99,3.201,100,3.136,104,1.795,142,3.909,233,2.814,460,2.242,659,4.024,666,2.894,1106,3.37,1138,4.368,1647,3.345,1991,6.558,2061,4.441,2128,5.561,2214,4.119,2229,4.441,2302,5.357,2303,9.131,2304,5.818,2305,6.161]],["title/463",[8,0.684,2306,5.36,2307,5.36]],["content/463",[8,1.598,18,1.56,55,1.976,64,2.901,65,1.956,97,2.313,99,3.117,100,3.054,104,1.129,115,1.185,142,3.839,233,1.77,253,1.934,286,3.498,311,1.68,313,1.68,380,2.104,413,2.664,416,3.515,460,1.41,477,1.41,556,2.747,582,1.946,655,1.863,659,2.868,666,2.818,712,1.999,714,2.072,720,1.394,1106,1.551,1575,2.27,1647,3.987,1772,2.842,2061,2.793,2070,3.262,2092,3.659,2214,2.591,2226,3.018,2229,2.793,2230,3.17,2304,3.659,2308,7.963,2309,4.202,2310,4.202,2311,3.875,2312,6.507,2313,6.507,2314,3.875,2315,4.202]],["title/464",[114,1.849,115,1.511,1021,3.042]],["content/464",[114,3.742,115,3.058,233,3.057,279,2.082,313,2.902,477,3.64,482,2.362,655,4.28,949,5.002,953,5.337,1021,5.479,1069,3.784,1193,3.722,1201,4.671,1545,4.076,1583,5.102,1635,4.119,1647,3.634,2241,5.337]],["title/465",[2316,8.175]],["content/465",[8,1.465,18,1.536,55,1.92,108,2.553,228,3.325,233,4.255,308,3.051,450,3.448,466,3.898,492,3.764,493,2.58,639,2.355,655,2.803,657,2.528,659,2.787,666,3.806,976,2.891,1106,2.334,1138,5.745,1193,4.507,1597,4.445,1764,4.202,1772,4.277,2214,5.418,2317,6.462,2318,5.83]],["title/466",[1647,4.093]],["content/466",[3,2.721,8,1.369,18,1.502,51,2.905,55,1.841,69,2.083,74,1.767,143,2.299,145,4.488,150,2.4,228,3.188,332,2.171,450,3.306,493,2.473,504,3.275,655,2.688,657,2.424,1647,5.657,1772,4.1,2061,4.029,2066,4.262,2101,6.275,2127,5.881,2229,4.029,2230,4.573,2319,5.279,2320,5.279,2321,8.535,2322,5.772]],["title/467",[957,3.89,1123,3.89]],["content/467",[3,1.97,8,1.263,18,1.395,34,1.657,48,1.497,49,1.214,50,2.289,51,3.224,55,1.333,57,4.594,64,1.599,65,1.32,69,2.812,74,1.961,100,3.841,104,1.808,114,2.322,115,2.587,119,2.42,142,2.882,143,1.665,145,1.995,150,1.738,152,3.423,228,2.308,309,2.35,380,3.37,445,4.097,454,0.955,714,3.319,957,4.043,976,2.007,1106,1.621,1123,2.638,1647,3.37,1772,2.969,2061,4.473,2114,3.312,2226,3.153,2228,4.948,2229,2.918,2230,3.312,2319,3.823,2320,3.823,2323,4.39,2324,4.39,2325,6.73,2326,4.39]],["title/468",[538,2.878]],["content/468",[18,1.295,114,2.939,115,2.402,228,4.479,233,3.588,279,1.837,332,3.05,454,1.852,495,4.441,538,3.77,1094,5.87,1647,4.265,2327,7.855,2328,5.761,2329,7.855]],["title/469",[2328,5.529]],["content/469",[3,2.275,8,1.527,18,1.141,24,1.888,52,2.159,112,2.841,145,4.483,176,2.136,218,4.015,228,2.666,347,5.388,376,3.37,379,2.429,406,2.501,453,3.215,517,2.304,559,3.979,581,2.209,639,1.888,684,2.222,1647,5.272,2241,7.254,2330,5.071,2331,5.071,2332,5.071,2333,6.93,2334,6.244,2335,5.071,2336,5.071,2337,5.071,2338,6.532,2339,5.071,2340,5.071,2341,5.071,2342,4.676]],["title/470",[2329,7.537]],["content/470",[8,1.099,18,1.638,47,1.966,48,1.328,49,1.077,51,2.939,55,1.183,61,2.26,64,1.419,65,1.171,100,3.561,104,1.047,115,1.099,142,3.248,143,1.478,145,1.77,229,3.66,233,4.538,477,3.14,664,4.066,666,4.667,1615,2.739,2053,3.124,2101,2.865,2128,5.106,2133,3.243,2214,6.643,2226,2.799,2304,5.341,2305,6.995,2314,5.656,2343,3.897,2344,3.897,2345,8.605,2346,6.134,2347,6.134,2348,6.134,2349,3.593,2350,3.897,2351,6.134,2352,3.897]],["title/474",[114,1.849,115,1.511,1204,3.181]],["content/474",[5,3.693,8,1.525,114,2.444,115,1.997,523,5.936,532,5.088,538,3.345,1106,2.615,1124,3.26,1204,4.205,1535,4.791,1592,4.881,2257,5.679,2353,5.498,2354,7.084,2355,10.716,2356,7.615,2357,9.499,2358,9.499]],["title/475",[2359,6.475,2360,5.97]],["content/475",[5,5.633,141,4.958,253,4.972,416,4.669,460,2.9,493,3.526,538,3.805,1265,5.562,1662,5.402,2360,7.97,2361,8.644,2362,7.194]],["title/476",[538,2.28,2179,5.389]],["content/476",[18,1.66,24,2.355,48,2.155,102,2.948,112,2.012,115,1.783,134,1.843,142,2.708,176,2.663,185,2.891,194,3.318,228,3.325,233,2.663,482,2.058,505,2.634,538,3.558,587,2.723,592,3.269,653,4.133,714,4.334,1049,4.908,1480,4.839,1535,4.277,1662,3.952,1749,4.202,1804,4.649,2173,6.313,2179,7.316,2363,5.263,2364,3.847]],["title/477",[69,2.225,1124,2.979]],["content/477",[65,2.598,69,2.97,74,2.519,102,4.03,108,3.49,115,2.437,119,3.108,143,3.278,408,4.958,445,4.328,483,5.562,1819,5.48,2365,4.758,2366,6.709,2367,6.929]],["title/478",[74,1.887,1124,2.979]],["content/478",[18,1.465,74,3.365,112,3.065,150,3.813,538,3.392,1124,4.433,1184,4.939]],["title/479",[1480,3.564,2368,6.475]],["content/479",[8,1.297,18,1.811,71,2.969,74,2.284,104,3.397,150,3.102,248,4.769,639,2.919,2369,10.154,2370,7.227,2371,6.825]],["title/480",[1480,3.564,2372,6.475]],["content/480",[8,1.028,18,1.892,71,2.355,74,2.347,104,3.234,150,3.187,587,3.468,639,2.999,684,3.528,1208,5.92,2370,7.425,2373,8.053,2374,7.011]],["title/481",[1480,3.564,2375,6.475]],["content/481",[8,1.155,48,3.788,49,3.072,71,2.644,248,5.501,639,3.367,2376,9.042,2377,9.042,2378,10.245]],["title/482",[2379,8.175]],["content/482",[8,1.272,71,2.912,104,2.676,2380,9.96,2381,9.96,2382,7.513]],["title/483",[1480,3.564,2383,6.475]],["content/483",[8,1.514,18,1.702,71,2.944,104,3.302,145,3.515,460,2.595,639,2.881,1133,4.258,2111,5.556,2198,5.835,2229,5.141,2384,7.736,2385,7.132]],["title/484",[1480,3.564,2386,6.475]],["content/484",[8,1.12,18,1.658,71,2.565,74,2.557,104,3.336,150,3.472,395,5.338,639,3.267,2387,8.773,2388,7.638]],["title/485",[1480,3.564,2389,6.475]],["content/485",[8,1.525,18,1.629,71,2.778,74,2.065,104,3.208,145,3.219,150,2.804,395,4.31,460,2.377,639,2.638,1133,3.9,1185,4.31,2111,6.822,2198,5.344,2229,4.708,2388,6.168,2390,7.084,2391,7.084]],["title/486",[2392,8.175]],["content/486",[8,1.285,18,1.702,37,3.966,71,2.262,103,4.725,104,2.078,380,3.873,406,3.814,445,3.873,639,2.881,1892,4.769,2232,6.004,2320,9.744,2388,6.735,2393,7.736,2394,7.736,2395,7.736]],["title/487",[1480,3.564,2396,6.475]],["content/487",[8,1.281,18,1.047,24,3.105,49,1.904,57,2.266,62,3.347,64,3.038,65,3.175,69,1.555,70,3.94,71,2.014,74,2.007,104,2.24,108,1.827,150,1.791,196,2.869,307,3.007,397,3,400,2.359,445,3.448,454,0.984,495,2.359,516,5.073,639,1.685,657,1.809,659,1.994,913,2.491,1071,2.596,1116,2.043,1449,3.628,1525,6.194,2226,4.947,2228,5.064,2397,4.525,2398,4.525,2399,4.525,2400,4.525,2401,4.525,2402,4.172,2403,4.525,2404,6.552,2405,3.94,2406,4.172,2407,3.766,2408,4.172]],["title/488",[1480,3.564,2406,5.97]],["content/488",[8,1.072,18,1.613,64,3.059,71,2.456,74,3.093,100,3.941,104,3.126,150,3.324,639,3.127,1525,5.581,2404,5.903,2409,8.398,2410,8.398]],["title/489",[1480,3.564,2407,5.389]],["content/489",[103,4.755,659,4.465,1116,4.574,2228,7.448,2411,9.341]],["title/490",[1480,3.564,2411,5.97]],["content/490",[8,1.417,12,2.645,18,1.371,62,2.507,65,3.335,71,1.509,74,2.215,104,2.673,150,2.042,255,4.967,448,4.005,460,2.55,621,2.105,639,1.922,655,3.369,659,3.975,698,3.349,1525,3.429,1992,5.139,2226,5.457,2228,5.587,2402,4.757,2404,3.627,2412,5.16,2413,7.599,2414,5.16,2415,9.02,2416,5.16,2417,9.02,2418,5.16,2419,2.96]],["title/491",[1480,3.564,2420,6.475]],["content/491",[8,1.354,18,1.155,24,2.83,49,1.427,57,2.583,62,3.692,65,2.991,71,2.222,74,2.215,104,2.423,108,2.083,150,2.042,196,3.271,397,2.247,400,2.69,445,2.583,454,1.122,516,3.139,523,3.225,639,1.922,657,2.063,659,3.349,913,2.84,1116,2.33,1125,3.1,1525,5.05,2226,6.478,2228,6.631,2404,5.341,2405,4.492,2407,4.294,2421,4.757,2422,5.16,2423,7.006,2424,5.16,2425,5.16,2426,5.16,2427,4.757,2428,5.16]],["title/492",[1480,3.564,2408,5.97]],["content/492",[8,1.391,18,1.029,24,2.521,49,1.223,57,3.389,62,3.289,65,2.984,69,1.52,71,2.404,74,1.973,104,2.209,108,1.786,150,1.751,196,2.804,397,1.927,400,2.306,445,2.215,454,0.962,460,2.759,516,2.691,523,2.764,621,2.761,639,1.647,657,1.768,659,1.949,913,3.726,1116,1.997,1125,2.658,1525,4.498,1993,4.078,2226,7.52,2228,7.698,2404,4.758,2405,5.893,2407,3.682,2421,4.078,2423,6.241,2427,8.493,2429,4.423,2430,4.423]],["title/471",[143,2.455,1124,2.979]],["content/471",[119,3.522,143,4.423,150,3.876,538,3.449,1124,4.507,1533,6.749]],["title/472",[2431,8.175]],["content/472",[6,3,8,1.379,18,1.194,71,2.296,88,2.392,100,2.533,113,2.813,114,2.709,115,2.214,119,3.329,143,4.275,150,3.108,233,2.272,253,2.483,413,3.421,438,3.472,444,3.876,495,2.813,538,1.9,566,3.65,582,2.499,598,4.491,639,2.01,666,2.337,791,5.519,1116,2.436,1647,2.702,2214,4.84,2432,4.975,2433,4.975,2434,4.975,2435,5.396,2436,5.396,2437,5.396,2438,5.396,2439,5.396,2440,5.396,2441,5.396]],["title/473",[2442,7.537]],["content/473",[6,3.673,8,1.421,18,1.378,71,1.932,88,2.929,100,3.101,114,3.126,115,2.554,119,2.376,131,2.298,143,4.219,150,2.615,233,2.782,279,1.425,438,4.252,444,4.745,639,2.461,666,2.861,744,3.921,1021,3.749,1647,3.308,2214,5.585,2432,6.092,2433,6.092,2434,6.092,2443,6.607]],["title/496",[115,1.825,1124,2.979]],["content/496",[115,3.288,150,3.876,538,3.449,587,4.217,1124,4.507,1533,6.749]],["title/497",[1480,3.564,2444,6.475]],["content/497",[5,3.784,24,2.703,36,3.85,52,3.091,69,2.494,71,2.123,103,4.531,114,2.504,115,2.046,234,7.493,249,3.277,460,2.435,538,3.82,621,2.961,639,2.703,664,3.43,2057,5.102,2171,4.671,2445,7.259,2446,9.654,2447,7.259,2448,8.902]],["title/498",[18,0.984,2449,6.475]],["content/498",[18,1.658,55,3.771,112,2.791,115,2.473,142,3.756,148,4.783,639,3.267,714,4.326,1535,5.933,2450,8.773]],["title/499",[18,0.984,2451,6.475]],["content/499",[18,1.028,37,3.465,99,3.238,102,3.151,112,2.151,113,3.523,114,3.174,115,2.594,119,2.431,145,5.338,196,4.285,406,3.333,408,3.877,454,1.47,462,4.349,493,2.757,573,3.835,639,2.517,714,3.333,890,3.835,1015,3.617,1124,3.11,1535,4.571,1559,5.246,2103,6.232,2232,5.246,2452,6.759,2453,4.657]],["title/500",[18,0.984,2454,6.475]],["content/500",[8,0.938,18,1.48,74,2.142,115,2.072,143,4.406,477,2.466,493,2.998,556,4.804,573,4.17,586,4.127,639,2.737,714,3.624,793,5.064,900,2.8,947,5.892,1535,4.97,1647,3.679,1882,5.892,2061,6.469,2163,6.776,2455,7.349,2456,7.349]],["title/501",[18,0.984,2457,5.97]],["content/501",[18,1.241,64,2.974,100,4.892,104,2.194,253,3.757,445,4.088,460,2.739,495,4.256,639,3.041,664,3.858,714,4.026,1535,5.522,2070,6.337,2229,6.927,2371,7.109,2458,8.165,2459,7.528]],["title/502",[18,0.984,2460,6.475]],["content/502",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2457,9.183]],["title/503",[18,0.984,2461,5.97]],["content/503",[18,1.317,64,2.255,65,1.86,69,2.127,100,4.688,104,2.327,253,2.849,445,3.099,450,3.375,454,1.346,462,3.983,494,4.551,639,2.305,661,3.408,664,2.925,698,2.728,714,3.053,1403,3.551,1535,4.187,1751,4.669,2070,4.805,2226,7.174,2228,6.367,2230,6.533,2371,7.54,2459,5.708,2462,8.661,2463,8.661,2464,8.661,2465,5.708]],["title/504",[18,0.984,2466,6.475]],["content/504",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2461,9.183]],["title/505",[18,0.984,2467,5.97]],["content/505",[8,1.338,18,0.877,24,2.147,47,2.909,49,2.898,51,5.311,61,4.777,445,4.124,495,3.006,581,2.512,639,2.147,664,2.724,714,2.843,796,5.342,1106,3.04,1394,4.141,1535,3.9,2166,4.475,2319,9.652,2378,8.859,2468,5.766,2469,8.237,2470,5.766,2471,5.766,2472,5.766,2473,5.766,2474,5.317]],["title/506",[18,0.984,2475,6.475]],["content/506",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2467,9.183]],["title/507",[18,0.984,2476,6.475]],["content/507",[18,1.571,104,3.065,114,3.564,115,2.913,152,5.255,454,1.751,517,3.659,581,3.508,639,2.999,664,3.805,714,3.971,1193,4.129,1535,5.446,2477,8.053]],["title/508",[18,0.984,2478,5.97]],["content/508",[69,3.422,103,4.674,1106,3.676,2139,6.51,2419,5.713,2478,9.183]],["title/530",[483,4.166,1124,2.979]],["content/530",[150,3.942,483,6.409,538,3.507,895,5.911,1124,4.583,1533,6.863]],["title/531",[2479,8.175]],["content/531",[5,5.282,474,6.013,784,7.121,2139,6.622,2480,9.341]],["title/532",[2480,7.537]],["content/532",[8,1.223,71,2.097,379,5.165,415,4.687,443,6.646,454,1.559,639,2.67,775,7.676,784,6.731,821,5.968,823,5.968,1000,6.243,1012,7.97,2481,9.576,2482,7.17,2483,7.17,2484,7.04,2485,6.611]],["title/533",[2486,8.175]],["content/533",[5,5.282,474,6.013,784,7.121,2139,6.622,2487,9.341]],["title/534",[2487,7.537]],["content/534",[5,4.256,49,2.882,51,3.911,112,2.598,115,2.939,134,2.379,672,4.293,900,3.971,908,5.254,1032,5.522,1064,6.337,1116,3.686,2139,5.337,2453,5.626,2488,7.528,2489,6.159]],["title/535",[2488,7.537]],["content/535",[8,1.261,49,2.731,71,1.773,112,3.595,144,5.999,176,2.553,379,4.089,414,5.334,415,2.968,443,6.089,454,1.318,639,2.258,775,4.86,784,6.943,788,6.624,821,5.046,823,5.046,1012,7.103,1394,6.13,2349,5.59,2490,9.877,2491,8.535,2492,6.063]],["title/536",[2493,8.175]],["content/536",[8,1.319,52,3.429,71,2.355,135,3.831,379,5.465,446,3.942,512,5.784,639,2.999,659,3.549,1228,6.456,2385,7.425,2485,7.425,2494,8.053,2495,8.053,2496,8.053,2497,8.053,2498,7.425]],["title/537",[2499,8.175]],["content/537",[8,1.355,50,4.378,53,6.828,71,2.456,112,2.672,415,4.11,443,5.177,639,3.127,1079,5.903,2500,9.784,2501,8.398,2502,8.398,2503,5.786,2504,8.398]],["title/493",[1124,2.979,2365,3.564]],["content/493",[150,3.692,490,6.428,538,3.285,1124,4.293,1533,6.428,1757,7.478,2365,5.135,2505,8.601,2506,7.478,2507,7.478]],["title/494",[2508,8.175]],["content/494",[52,3.576,112,3.889,135,5.535,538,2.957,639,3.127,744,4.984,796,5.899,1108,6.989,2509,8.398,2510,7.311,2511,7.743]],["title/495",[2512,8.175]],["content/495",[52,3.576,112,2.672,135,5.535,538,2.957,639,3.127,744,4.984,1108,6.989,1394,7.621,2510,7.311,2511,7.743,2513,8.398,2514,11.634]],["title/509",[1124,2.979,1819,4.104]],["content/509",[112,2.968,150,3.692,482,3.035,538,3.285,1054,5.605,1124,4.293,1620,4.087,1819,7.18,2173,6.7]],["title/510",[1480,3.564,2515,6.475]],["content/510",[519,4.992,857,7.536,2516,9.674]],["title/511",[1480,3.564,2516,5.97]],["content/511",[346,7.404,857,7.404,2166,8.001,2517,9.505]],["title/512",[1480,3.564,2517,5.97]],["content/512",[857,7.404,2111,7.404,2518,8.975,2519,7.776]],["title/513",[1480,3.564,2518,5.637]],["content/513",[8,1.18,18,1.034,36,1.754,71,0.967,102,1.541,103,3.191,108,1.335,111,1.802,114,1.14,115,0.932,119,1.189,131,1.87,134,0.963,143,1.254,176,1.392,219,2.996,242,1.562,279,0.713,308,2.595,310,1.695,346,3.863,409,3.559,416,1.786,445,1.655,454,0.719,460,1.109,462,3.461,469,2.197,474,1.962,475,2.494,476,3.574,478,2.494,488,1.709,519,2.559,524,1.377,538,1.164,557,1.606,621,1.349,623,1.896,639,1.231,641,1.573,665,4.493,666,1.432,719,2.161,889,1.259,908,2.127,956,1.668,1052,1.573,1054,1.986,1076,1.802,1094,2.278,1119,2.127,1184,1.695,1502,2.127,1521,2.374,1566,3.863,1611,2.65,1615,2.324,1620,1.448,1633,2.65,1666,2.65,1691,3.315,1722,3.231,1749,2.197,1819,5.856,1839,2.236,1872,2.878,1892,2.038,1947,4.598,1957,1.986,2111,2.374,2166,2.566,2297,2.878,2317,2.43,2519,5.908,2520,3.306,2521,4.174,2522,3.048,2523,3.048,2524,2.65,2525,3.048,2526,3.048,2527,3.048,2528,3.306,2529,3.048,2530,2.324,2531,2.878,2532,3.048]],["title/514",[1480,3.564,2529,5.97]],["content/514",[8,1.363,35,2.937,69,2.062,71,1.755,119,2.158,169,2.937,176,3.568,346,4.31,409,3.85,445,3.005,462,3.862,519,2.855,582,2.779,639,2.235,642,4.31,665,3.442,666,3.67,1133,3.304,1228,4.811,1620,4.303,1819,3.804,1947,5.731,2111,4.31,2166,4.658,2252,4.218,2317,4.412,2518,5.225,2519,6.392,2521,4.658,2533,6.001,2534,6.001,2535,6.001,2536,6.001,2537,6.001,2538,6.001]],["title/515",[408,3.714,1124,2.979]],["content/515",[119,3.522,150,3.876,408,6.689,538,3.449,1124,4.507,1277,7.201]],["title/516",[2539,8.175]],["content/516",[8,0.962,71,2.204,112,2.398,119,2.711,241,2.734,408,6.339,539,3.717,582,3.491,639,2.807,916,6.806,1133,4.149,2130,8.618,2210,6.563,2338,6.563,2540,7.538,2541,9.898,2542,7.538,2543,7.538]],["title/517",[2544,8.175]],["content/517",[6,4.245,8,1.275,24,2.843,71,2.233,119,2.746,241,2.769,408,6.379,438,4.913,539,3.765,582,3.536,639,2.843,916,6.84,1133,4.203,2219,7.04,2338,6.648,2545,9.982,2546,7.635]],["title/518",[2547,8.175]],["content/518",[8,1.553,71,2.421,408,4.749,460,2.778,639,3.083,947,6.637,1001,5.82,2356,6.637,2484,6.087,2548,8.279,2549,8.279,2550,8.279,2551,8.279,2552,7.208,2553,8.279]],["title/519",[2554,8.175]],["content/519",[8,1.529,24,2.958,34,2.999,71,2.323,119,2.857,408,6.501,460,2.665,639,2.958,2356,6.369,2484,5.841,2552,6.917,2555,7.944,2556,7.944,2557,7.944,2558,7.944,2559,7.944]],["title/520",[2442,7.537]],["content/520",[6,4.805,8,1.38,71,2.528,119,3.886,131,3.006,408,6.762,438,5.562,639,3.219,1376,6.208,2560,8.644,2561,8.644]],["title/554",[69,2.225,1124,2.979]],["content/554",[69,4.358,150,3.692,538,3.285,605,5.914,1124,4.293,1533,6.428,2114,7.037]],["title/555",[2562,8.175]],["content/555",[8,1.448,69,3.638,71,2.023,460,2.321,492,2.962,533,8.553,621,2.822,639,2.576,659,4.12,698,4.666,1503,9.09,2111,4.968,2419,3.968,2563,10.588,2564,6.918,2565,6.918]],["title/556",[2362,6.804]],["content/556",[8,1.406,49,2.462,69,4.105,71,2.604,253,4.098,639,3.316,659,3.925,661,4.902,2566,8.906,2567,8.906]],["title/557",[2568,7.537]],["content/557",[6,4.539,8,1.331,69,2.805,71,2.388,438,5.254,639,3.041,1376,5.864,2419,4.683,2569,10.424,2570,9.557,2571,7.528,2572,9.611,2573,9.611]],["title/558",[2574,8.175]],["content/558",[6,4.951,8,1.406,69,4.105,71,2.604,438,5.73,639,3.316,1376,6.396,1967,6.396,2575,8.906,2576,8.906]],["title/559",[2577,8.175]],["content/559",[8,1.537,69,3.92,71,2.355,477,2.702,639,2.999,1337,7.425,2178,4.9,2578,8.053,2579,8.053,2580,8.053,2581,8.053,2582,10.332,2583,10.332]],["title/560",[2584,8.175]],["content/560",[8,1.194,35,3.386,69,3.896,71,2.023,454,1.504,460,3.136,477,2.321,573,3.926,621,2.822,639,2.576,666,2.996,793,4.767,863,4.863,1093,4.451,1502,6.015,2129,6.378,2162,5.369,2419,6.073,2585,6.918,2586,6.918,2587,6.023,2588,6.378,2589,6.918,2590,6.918]],["title/561",[2588,7.537]],["content/561",[8,1.319,69,4.135,71,2.355,460,3.467,477,2.702,589,3.831,639,2.999,659,3.549,863,5.661,2419,6.543,2591,8.053,2592,8.053,2593,8.053]],["title/562",[2594,8.175]],["content/562",[8,1.618,69,3.345,71,2.149,119,3.5,639,2.737,1174,4.97,2419,4.215,2595,7.349,2596,7.349,2597,9.734,2598,9.734,2599,7.349,2600,9.018,2601,7.349]],["title/563",[2602,8.175]],["content/563",[8,1.155,35,4.426,38,7.873,69,4.133,71,2.644,445,4.527,639,3.367,1116,4.083,2356,7.249,2603,9.042]],["title/564",[2604,8.175]],["content/564",[3,4.928,8,0.95,24,2.772,35,3.643,38,6.48,69,3.774,71,2.176,445,4.914,454,1.618,460,3.293,526,4.378,621,4.004,639,2.772,1106,2.747,1116,3.36,2605,7.442,2606,6.862,2607,4.058]],["title/565",[2608,8.175]],["content/565",[8,1.155,69,4.133,71,2.644,639,3.367,1087,4.426,1116,4.083,1723,8.337,2356,7.249,2419,5.186,2609,9.042]],["title/566",[2610,8.175]],["content/566",[8,1.191,69,4.19,71,2.728,639,3.474,1116,4.212,1828,7.24,2611,9.329,2612,9.329]],["title/567",[2613,8.175]],["content/567",[8,0.95,24,4.52,69,3.774,71,2.176,229,3.591,328,5.345,460,2.497,492,3.187,639,2.772,659,3.28,698,5.349,1116,3.36,2419,4.269,2614,7.442,2615,6.862,2616,6.862]],["title/568",[2617,8.175]],["content/568",[8,1.043,69,3.945,71,2.388,460,2.739,492,3.496,639,3.041,659,3.598,698,5.331,1116,3.686,1521,5.864,2419,4.683,2615,7.528,2616,7.528,2618,8.165]],["title/521",[445,3.242,1124,2.979]],["content/521",[24,3.474,49,2.579,55,2.833,150,3.692,445,5.67,538,3.285,1124,4.293,1277,6.858,2619,9.329]],["title/522",[2620,8.175]],["content/522",[8,1.21,71,2.772,445,5.725,1967,8.213,2166,7.357,2621,8.74,2622,8.74]],["title/523",[2362,6.804]],["content/523",[8,1.137,24,3.316,49,2.462,71,2.604,253,4.098,445,5.982,621,3.633,639,3.316,2157,6.547,2623,8.906,2624,6.717]],["title/524",[2625,7.117]],["content/524",[8,1.194,24,4.223,49,3.275,71,2.023,445,5.677,573,3.926,639,2.576,957,4.156,2111,6.714,2156,5.369,2157,6.872,2621,6.378,2622,6.378,2624,7.051,2626,8.139,2627,6.023,2628,6.918]],["title/525",[2629,8.175]],["content/525",[8,1.203,24,4.429,49,3.15,71,2.047,445,6.267,639,2.607,948,6.322,2156,5.433,2157,6.927,2624,7.107,2626,8.204,2627,6.095]],["title/526",[2630,8.175]],["content/526",[8,1.139,24,4.564,49,2.826,71,1.89,229,3.118,445,5.117,639,2.407,653,4.224,2156,7.932,2157,8.103,2624,8.313,2626,5.626,2627,7.769,2631,6.462,2632,8.923,2633,8.923]],["title/527",[2634,8.175]],["content/527",[8,1.484,24,3.625,49,2.691,69,2.525,71,2.149,445,5.817,454,1.598,573,4.17,639,2.737,666,3.183,2141,6.776,2156,5.704,2157,7.156,2624,5.544,2635,7.349,2636,7.349,2637,7.349,2638,7.349]],["title/528",[2639,8.175]],["content/528",[8,1.12,24,4.42,69,3.014,71,2.565,445,5.942,639,3.267,2157,6.45,2624,8.226,2640,8.773]],["title/529",[2641,8.175]],["content/529",[8,1.014,24,4.221,49,3.134,52,3.383,71,2.323,445,5.675,639,2.958,653,5.193,1087,3.889,1377,4.508,2156,6.166,2157,7.53,2624,5.992,2642,7.944]],["title/538",[1124,2.979,2366,5.025]],["content/538",[150,4.01,538,3.567,1124,4.662,2366,7.863,2643,7.863]],["title/539",[2644,8.175]],["content/539",[8,1.308,36,4.214,71,2.323,253,5.216,466,6.314,526,3.543,639,2.958,849,4.965,1678,8.55,2645,7.944,2646,7.944,2647,7.944,2648,11.335]],["title/540",[2649,8.175]],["content/540",[8,1.173,71,2.685,253,5.573,462,5.909,466,5.661,639,3.42,2137,10.343,2650,9.183]],["title/541",[2651,8.175]],["content/541",[8,1.367,71,2.491,253,5.389,514,6.281,639,3.172,661,4.69,773,4.441,2652,8.519,2653,8.519,2654,8.519,2655,10.708]],["title/542",[2656,8.175]],["content/542",[8,1.476,71,2.123,253,4.442,460,3.64,526,4.838,639,2.703,1095,7.098,1767,4.475,2342,6.693,2657,7.259,2658,7.259,2659,7.259,2660,7.259,2661,7.259,2662,7.259,2663,7.259,2664,7.259,2665,7.259,2666,7.259]],["title/548",[1124,2.979,2367,5.19]],["content/548",[112,2.968,119,3.355,150,3.692,347,6.7,538,3.285,1054,5.605,1124,4.293,2241,6.858,2334,7.764,2367,7.478]],["title/549",[2667,8.175]],["content/549",[8,1.447,69,2.73,71,2.323,112,2.528,347,5.706,443,6.314,639,2.958,659,3.501,1054,4.773,2333,7.949,2367,6.369,2419,4.557,2668,7.944,2669,5.992,2670,7.944,2671,7.944,2672,7.944]],["title/550",[2673,8.175]],["content/550",[6,4.477,8,1.319,69,2.767,71,2.355,376,5.352,438,5.182,443,6.369,639,2.999,659,4.553,1376,5.784,2333,8.019,2419,4.619,2669,7.793,2674,8.053,2675,8.053]],["title/551",[2676,8.175]],["content/551",[8,1.46,69,2.15,71,1.829,112,1.991,347,4.493,443,5.378,538,2.203,639,2.33,641,2.976,683,3.966,1054,3.759,1276,4.311,1721,4.231,2333,6.772,2367,5.015,2419,3.588,2552,5.447,2669,6.581,2677,6.256,2678,8.725,2679,6.256,2680,10.046,2681,6.256,2682,8.725,2683,6.256,2684,6.256,2685,6.256,2686,6.256,2687,6.256,2688,6.256]],["title/543",[102,3.018,1124,2.979]],["content/543",[102,5.331,150,3.752,538,3.338,587,4.082,890,5.379,1076,5.168,1124,4.362,2057,6.663]],["title/544",[2689,8.175]],["content/544",[102,4.03,115,2.437,454,1.879,581,3.765,589,4.112,712,4.112,948,5.13,1087,4.231,2111,7.761,2139,5.65,2453,7.446,2625,9.408]],["title/545",[2625,7.117]],["content/545",[24,2.919,49,3.496,52,3.338,71,3.293,102,5.251,306,3.517,639,2.919,890,4.448,948,6.685,1185,4.769,2690,7.839]],["title/546",[2691,8.175]],["content/546",[24,4.599,49,3.415,102,5.038,306,3.879,639,3.219,1076,5.892,2692,8.644]],["title/547",[2693,8.175]],["content/547",[18,1.649,36,5.121,49,3.197,74,2.115,102,5.057,109,4.258,114,3.331,182,4.602,183,4.308,477,2.435,581,3.162,639,2.703,1377,5.479,1558,5.213,2057,6.786,2086,6.041,2694,7.259]],["title/578",[119,2.328,1124,2.979]],["content/578",[119,4.194,150,3.876,443,6.038,538,3.449,1124,4.507,1277,7.201]],["title/579",[2362,6.804]],["content/579",[8,1.406,71,2.604,119,3.202,253,4.098,467,7.412,621,3.633,639,3.316,1664,6.717,2484,8.093,2695,8.906,2696,8.906]],["title/580",[2568,7.537]],["content/580",[6,4.668,8,1.355,71,2.456,438,5.403,639,3.127,1376,6.031,2570,6.989,2571,7.743,2572,9.784,2573,9.784,2697,10.611,2698,8.398,2699,8.398]],["title/581",[2700,8.175]],["content/581",[8,1.476,71,2.421,119,2.977,253,3.81,443,5.104,639,3.083,1001,5.82,2484,7.732,2701,8.279,2702,10.063,2703,8.279,2704,8.279,2705,8.279]],["title/582",[2706,8.175]],["content/582",[8,1.406,71,2.604,253,5.498,443,5.49,639,3.316,1001,6.26,2707,8.906,2708,8.211,2709,8.906,2710,8.906]],["title/583",[2711,8.175]],["content/583",[8,1.447,57,3.977,71,2.323,119,2.857,144,5.584,443,4.897,639,2.958,650,5.992,1001,5.584,2484,8.333,2712,10.242,2713,10.242,2714,7.944,2715,7.944,2716,7.325]],["title/584",[2717,8.175]],["content/584",[8,1.173,71,2.685,119,3.302,639,3.42,2484,8.247,2716,8.467,2718,9.183,2719,11.218,2720,9.183]],["title/585",[2721,8.175]],["content/585",[8,1.173,71,2.685,119,3.302,639,3.42,2484,8.247,2722,9.183,2723,11.218,2724,9.183,2725,9.183]],["title/552",[108,2.614,1124,2.979]],["content/552",[8,1.23,78,5.204,108,4.663,150,3.813,538,3.392,1124,4.433,1533,6.638]],["title/553",[2726,8.175]],["content/553",[8,0.916,18,1.09,24,2.67,71,2.8,108,2.895,114,2.474,115,2.7,131,2.494,134,2.09,474,4.256,523,4.481,587,3.088,600,3.986,657,2.866,1003,5.272,1052,3.411,1116,4.324,1130,5.565,1575,3.873,2057,5.04,2266,6.243,2453,4.941,2489,5.409,2727,7.17,2728,9.576]],["title/569",[65,1.946,1124,2.979]],["content/569",[65,3.54,150,3.942,538,3.507,1124,4.583,1533,6.863]],["title/570",[322,4.461,1480,2.951,2729,5.36]],["content/570",[8,1.155,65,3.34,71,2.644,104,3.232,105,5.432,426,7.249,639,3.367,2730,9.042,2731,9.042]],["title/571",[114,1.849,115,1.511,1193,2.748]],["content/571",[]],["title/572",[18,0.815,115,1.511,1193,2.748]],["content/572",[3,2.357,8,1.164,18,1.799,69,1.805,88,2.328,99,3.688,104,1.411,115,1.481,143,1.992,152,3.915,194,1.983,228,2.761,233,2.212,454,1.142,460,1.762,573,2.98,588,2.571,664,2.481,666,3.334,712,2.499,777,3.195,889,2.001,957,3.155,1052,4.335,1085,3.961,1087,3.768,1116,2.371,1157,2.863,1193,4.672,1647,3.854,1772,5.206,2072,4.368,2214,4.746,2299,7.934,2732,5.206]],["title/573",[18,0.606,115,1.124,233,1.679,249,1.8,1193,2.044]],["content/573",[5,4.449,8,1.09,18,1.718,88,2.688,114,2.092,115,1.709,194,3.222,228,4.488,233,3.594,249,2.737,397,2.641,450,3.306,454,1.318,460,2.034,588,2.968,655,2.688,666,3.696,712,2.884,957,3.643,1052,4.06,1085,4.573,1193,3.109,1647,4.273,1772,4.1,2199,5.59,2210,7.431,2214,5.261,2299,5.279,2733,8.535]],["title/574",[78,2.154,108,1.61,115,1.124,397,1.737,1193,2.044]],["content/574",[8,0.938,78,3.97,88,3.258,108,3.93,115,2.744,233,3.095,397,3.201,412,5.166,450,4.007,460,2.466,473,6.399,474,4.362,657,2.938,666,3.183,1130,5.704,1193,3.768,1671,8.102,1763,5.704,2053,8.75,2214,4.531,2734,7.349,2735,7.349]],["title/575",[115,1.289,397,1.992,1138,2.989,1193,2.345]],["content/575",[8,1.741,88,1.716,115,1.091,119,1.392,233,1.63,397,1.686,411,2.11,436,1.909,450,2.11,460,2.535,466,2.386,474,2.297,574,1.563,657,1.547,659,3.779,666,1.676,683,2.454,1106,1.429,1138,3.989,1193,1.985,1243,2.92,1631,4.29,1763,4.736,1764,5.02,1766,3.569,2054,3.569,2214,2.386,2302,4.892,2317,2.846,2318,3.569,2702,3.37,2736,6.103,2737,3.871,2738,2.721,2739,3.871,2740,3.871,2741,3.569,2742,2.92,2743,3.871,2744,3.871]],["title/576",[18,0.695,115,1.289,218,2.447,1193,2.345]],["content/576",[8,1.106,18,1.519,88,2.744,112,1.97,115,2.442,150,2.45,194,2.337,218,6.483,228,3.255,233,2.607,454,1.883,460,2.077,521,2.945,590,4.669,600,3.441,641,4.12,666,3.75,712,2.945,892,3.869,957,3.719,1085,4.669,1193,3.174,1647,4.336,2214,5.339,2317,4.551,2745,8.661]],["title/577",[1157,3.53,1193,3.32]],["content/577",[8,1.614,18,1.542,55,1.11,84,2.253,88,4.021,233,4.948,249,1.65,460,3.244,466,3.594,659,3.206,666,5.011,719,2.389,731,5.348,1138,4.755,1157,1.993,1193,3.73,1592,5.72,1644,2.472,2053,4.674,2214,7.134,2669,2.757,2746,3.655,2747,3.655,2748,3.655,2749,5.831]],["title/607",[589,3.08,617,3.674]],["content/607",[114,3.27,115,2.672,279,2.044,508,5.695,509,5.695,513,4.941,684,4.153,900,3.611,2039,4.9]],["title/608",[1941,5.182]],["content/608",[8,1.606,113,1.992,114,1.318,115,2.112,143,1.449,229,1.843,311,1.527,439,2.241,454,0.831,477,2.513,510,2.956,539,1.884,565,1.975,574,1.543,580,3.063,588,1.87,594,5.377,596,3.18,600,2.124,602,5.983,603,4.162,604,5.654,626,1.992,651,3.84,657,1.527,900,3.532,917,3.325,976,2.762,1658,2.882,1661,2.497,1670,2.168,1680,2.744,1730,4.557,1836,3.723,2049,2.686,2750,2.744,2751,5.38,2752,3.523,2753,2.809,2754,7.411,2755,3.523,2756,3.523,2757,5.569,2758,3.523,2759,3.523,2760,3.523,2761,3.523,2762,2.882]],["title/609",[580,6.553]],["content/609",[311,4.121,594,5.978,602,7.246,2752,9.505]],["title/610",[477,1.798,604,3.074,900,2.042]],["content/610",[8,1.667,113,2.621,115,2.102,143,1.907,439,2.949,477,2.501,510,3.649,539,2.479,565,2.599,600,2.795,602,3.534,603,3.464,604,5.636,626,2.621,900,3.385,917,4.104,976,3.408,1680,3.611,1730,5.405,1836,4.595,2751,5.354,2753,3.696,2754,7.735,2755,4.636,2756,4.636,2757,6.873,2758,4.636,2759,4.636,2760,4.636,2761,4.636]],["title/611",[594,3.755,651,3.32]],["content/611",[594,6.632,602,6.663,603,6.531,604,5.437,651,4.86,1658,7.15,2754,8.253,2762,7.15]],["title/612",[115,1.511,684,2.348,1076,2.922]],["content/612",[5,2.005,8,1.618,18,0.923,20,2.31,24,2.261,71,2.2,97,2.117,102,5.001,115,2.121,131,1.338,233,1.619,477,2.524,493,1.569,527,2.206,538,2.649,592,1.988,651,1.972,655,2.691,659,3.315,1106,1.419,1139,2.34,1165,1.988,1190,2.908,1193,1.972,1342,2.762,1772,2.601,1873,2.438,2057,2.703,2127,2.65,2171,3.907,2190,2.762,2270,2.985,2751,2.762,2753,2.827,2763,3.083,2764,3.846,2765,3.846,2766,3.083,2767,3.348,2768,4.867,2769,2.762,2770,3.201,2771,3.846,2772,3.083,2773,5.598,2774,2.901,2775,3.201,2776,3.546,2777,3.348,2778,3.201,2779,3.546,2780,6.071,2781,3.846,2782,3.201,2783,3.846,2784,3.846]],["title/613",[8,0.684,510,2.624,1638,3.693]],["content/613",[8,1.687,24,2.862,36,4.077,102,4.405,115,2.167,454,0.864,460,2.579,482,1.294,510,4.259,527,4.408,603,2.739,621,1.622,655,1.762,677,2.794,688,2.21,942,2.642,951,2.305,1052,1.891,1124,1.829,1342,6.249,1638,2.739,1873,3.95,1886,2.855,2073,2.689,2127,2.739,2750,2.855,2753,2.923,2769,2.855,2785,3.975,2786,3.975,2787,3.975,2788,3.975,2789,3.975,2790,3.975,2791,3.309,2792,3.309,2793,3.309,2794,3.309,2795,3.665,2796,7.086,2797,3.975,2798,3.975,2799,3.975,2800,3.665]],["title/614",[102,3.018,1638,4.461]],["content/614",[8,1.626,35,2.879,36,3.12,102,5.208,115,2.355,397,3.638,493,2.399,510,4.089,592,3.04,621,2.399,677,4.134,1342,4.224,1638,6.694,1670,3.337,1873,6.158,1886,4.224,1941,3.728,2077,4.224,2769,4.224,2791,4.895,2792,4.895,2793,4.895,2794,4.895,2796,5.423,2800,5.423,2801,5.121]],["title/615",[961,4.551,1638,4.461]],["content/615",[8,1.617,36,3.216,62,4.8,64,2.209,97,3.338,102,2.827,104,1.629,115,2.406,248,3.689,440,3.441,488,3.134,493,2.473,510,4.178,677,4.262,961,4.262,1008,3.405,1638,5.881,1873,6.261,1886,4.354,1991,4.354,2791,5.046,2792,5.046,2793,5.046,2794,5.046,2801,5.279,2802,6.063,2803,5.59,2804,5.59]],["title/616",[103,2.516,482,1.744,2805,4.942]],["content/616",[8,1.7,36,2.496,62,3.448,64,2.585,65,2.132,71,2.075,103,2.209,104,2.741,115,2,454,1.023,477,1.579,493,1.92,510,2.304,659,2.074,677,3.308,1184,2.413,1638,3.243,1873,6.468,1886,5.096,1991,3.38,2791,3.917,2792,3.917,2793,3.917,2794,5.905,2803,4.339,2804,4.339,2805,4.339,2806,4.706,2807,3.917,2808,4.706,2809,4.706,2810,4.706,2811,4.706]],["title/617",[2039,4.226]],["content/617",[8,1.599,18,0.546,74,1.046,115,2.316,134,1.046,162,2.081,279,1.239,454,0.78,484,1.163,510,1.756,513,1.87,527,3.295,538,1.263,573,2.036,626,1.87,657,1.434,672,1.887,677,2.522,684,1.572,761,2.183,900,2.189,917,1.975,948,2.129,952,1.938,976,1.64,1052,2.733,1226,1.903,1403,2.058,1620,1.572,1661,2.345,1680,2.577,1730,2.183,1817,2.986,1858,2.785,1873,5.698,1886,6.455,1959,4.782,2039,3.715,2057,2.522,2072,3.26,2171,2.309,2328,2.427,2750,2.577,2753,2.638,2812,3.308,2813,3.308,2814,2.876,2815,3.308,2816,5.745,2817,5.297,2818,3.308,2819,3.308,2820,3.308,2821,3.588,2822,3.588,2823,3.588,2824,3.588,2825,3.588,2826,3.588,2827,3.588,2828,3.588,2829,3.588,2830,3.588,2831,3.588,2832,3.588,2833,3.588,2834,3.308,2835,3.308,2836,3.308,2837,3.308,2838,3.588]],["title/618",[115,1.825,1644,4.379]],["content/618",[8,1.612,47,3.302,104,1.758,115,1.845,134,1.234,162,2.455,450,2.308,477,1.42,510,2.072,527,2.428,538,1.49,600,2.353,641,2.014,672,2.226,677,2.975,889,1.613,900,1.613,917,2.33,948,2.512,1644,6.581,1680,4.699,1730,2.575,1873,5.071,1886,5.745,2171,2.724,2190,3.04,2753,3.112,2795,3.903,2812,3.903,2813,3.903,2814,3.393,2815,3.903,2817,6.033,2818,3.903,2819,3.903,2820,3.903,2834,3.903,2835,3.903,2836,3.903,2837,3.903,2839,4.233,2840,2.916,2841,6.543,2842,4.233,2843,6.543,2844,4.233,2845,4.233,2846,4.233,2847,7.999,2848,4.233,2849,4.233,2850,4.233,2851,4.233]],["title/586",[2073,4.379,2750,4.65]],["content/586",[97,3.372,106,4.071,114,3.427,115,3.036,131,2.131,143,2.323,148,3.34,183,3.636,279,1.321,409,2.783,454,1.869,458,3.194,482,1.993,486,2.914,532,4.4,546,2.977,568,3.194,655,2.716,976,2.801,1021,3.476,1052,4.09,1091,4.504,1100,3.776,1124,4.571,1157,3.34,2049,6.043,2073,5.814,2750,7.735,2852,6.126]],["title/587",[546,3.972]],["content/587",[114,2.6,115,2.125,131,2.622,143,2.858,154,3.897,408,4.323,458,3.929,646,3.382,651,3.865,657,3.013,743,5.194,915,3.446,952,4.071,953,5.542,1021,4.277,1124,3.468,1141,5.686,1249,5.298,1677,5.686,1777,5.009,1853,5.85,2116,4.711,2750,5.414,2853,6.95,2854,7.538]],["title/588",[2855,6.804]],["content/588",[8,1.624,18,0.621,24,1.522,48,1.393,55,3.079,69,1.404,97,4.861,102,3.647,104,1.098,114,2.196,115,2.49,131,1.421,143,1.549,183,4.642,233,1.721,241,1.482,397,1.78,408,2.343,414,2.553,524,1.702,531,1.711,538,2.242,539,2.015,567,2.59,568,2.13,655,2.822,712,1.944,889,1.557,942,2.715,1052,1.944,1087,2,1193,2.095,1219,3.171,1342,2.934,1403,3.652,1644,4.306,1831,2.13,2506,5.104,2766,3.275,2769,2.934,2770,3.401,2774,3.082,2855,6.51,2856,4.086,2857,3.401,2858,5.299,2859,4.086,2860,3.767,2861,4.086]],["title/589",[55,1.966,790,3.939]],["content/589",[7,3.759,8,1.283,14,2.513,55,2.65,57,5.441,58,3.67,104,1.681,119,2.25,131,2.176,408,3.588,462,4.026,529,3.915,655,4.454,790,3.806,796,3.478,1093,5.614,1157,3.411,2073,4.231,2770,5.207,2774,4.719,2840,6.012,2858,5.207,2862,6.256,2863,5.768,2864,6.256,2865,6.256,2866,6.256,2867,5.768,2868,5.447,2869,6.256]],["title/590",[538,1.887,790,3.261,2870,4.667]],["content/590",[18,0.779,20,1.871,36,2.716,48,1.061,71,0.91,102,4.186,103,1.461,114,1.767,115,1.839,131,2.904,143,2.866,182,4.135,183,3.871,233,1.311,249,1.406,311,2.047,328,2.236,332,1.115,377,1.682,380,1.559,397,2.23,406,1.535,454,0.677,477,2.535,478,2.349,485,1.452,504,1.682,529,1.397,538,3.342,572,2.236,574,1.257,592,1.61,655,2.891,684,1.364,721,2.004,790,3.116,873,2.236,945,3.004,949,2.145,953,2.289,1008,1.749,1029,1.806,1052,2.436,1104,3.2,1137,2.106,1151,2.496,1155,1.946,1165,3.372,1193,1.596,1201,2.004,1501,2.496,1644,3.463,1645,2.106,1647,3.265,1859,2.145,2049,2.189,2061,3.403,2071,1.919,2073,2.106,2076,1.974,2127,3.528,2190,2.236,2252,2.189,2870,2.711,2871,4.721,2872,4.721,2873,5.121,2874,2.711,2875,3.114,2876,5.121,2877,6.579,2878,7.556,2879,3.114,2880,2.871,2881,5.121,2882,3.114,2883,3.114,2884,3.114,2885,2.711,2886,2.711]],["title/591",[486,3.08,1100,3.991]],["content/591",[32,2.023,35,2.742,69,1.925,84,3.453,106,3.723,112,1.782,113,4.206,114,1.932,115,2.274,119,2.014,131,1.948,148,3.054,229,2.703,240,2.945,311,2.239,375,2.849,458,2.92,486,2.665,488,2.896,527,3.213,529,2.514,538,1.972,546,4.594,564,4.118,646,2.514,651,2.872,720,1.858,793,3.86,889,2.134,890,3.179,949,3.86,952,3.026,1029,3.249,1076,3.054,1079,3.938,1093,5.191,1100,5.828,1106,2.068,1124,3.712,2750,6.79,2887,5.602,2888,5.602]],["title/592",[148,3.53,538,2.28]],["content/592",[8,1.148,74,1.904,112,2.861,131,2.272,375,3.323,408,3.748,482,2.126,486,3.108,488,3.378,507,3.562,519,3.108,527,3.748,529,2.932,538,3.166,546,3.175,651,3.35,685,4.083,720,2.167,796,3.632,889,3.425,890,3.708,953,4.804,1100,4.028,1213,4.271,1234,5.438,1480,3.597,1559,5.071,1620,3.939,1837,3.925,1851,4.342,2073,4.419,2889,5.438]],["title/593",[74,1.887,2807,5.389]],["content/593",[8,1.642,24,2.576,52,2.945,57,4.68,62,3.361,64,2.52,65,2.079,100,3.247,104,1.859,117,5.086,118,4.968,409,3.143,519,3.291,659,3.049,685,4.323,1184,3.547,1620,3.031,2807,5.757,2840,6.441,2890,4.767,2891,6.918,2892,6.918]],["title/594",[74,1.887,2893,5.637]],["content/594",[18,1.712,52,3.338,57,5.084,71,2.292,74,2.284,104,3.026,150,3.102,248,4.769,409,3.561,519,3.729,685,4.899,1184,4.019,1620,3.434,2840,6.996,2893,6.825,2894,7.227]],["title/595",[74,1.887,2895,5.637]],["content/595",[18,1.518,19,5.442,24,2.843,52,3.251,57,4.997,71,2.233,74,2.225,104,2.682,406,3.765,409,3.469,519,3.632,536,5.164,684,3.345,685,4.772,1620,3.345,2530,5.367,2840,6.878,2890,5.261,2895,6.648]],["title/596",[74,1.887,2896,5.637]],["content/596",[8,0.988,18,1.531,19,5.489,52,3.294,57,5.04,71,2.262,74,2.254,104,2.705,398,4.103,406,3.814,409,3.515,519,3.68,536,5.232,685,4.834,1620,3.389,2530,5.438,2840,6.937,2896,6.735]],["title/597",[74,1.887,2897,5.637]],["content/597",[18,1.04,19,5.056,24,2.546,26,6.163,48,3.587,49,2.91,52,2.911,57,4.643,71,2.712,74,1.993,104,2.492,380,4.643,398,3.627,406,3.372,409,3.106,519,3.253,685,4.273,1254,3.922,1620,2.995,2840,6.39,2890,4.711,2897,5.953]],["title/598",[74,1.887,2898,5.637]],["content/598",[8,1.427,19,5.671,24,2.488,26,4.441,48,3.81,49,3.091,52,2.845,57,4.571,71,2.67,248,4.066,409,3.036,519,3.179,536,4.519,685,4.176,793,4.604,1185,4.066,1620,2.928,2530,4.697,2840,6.291,2890,4.604,2898,5.818]],["title/599",[74,1.887,2899,5.637]],["content/599",[8,1.712,18,1.252,19,4.491,24,2.147,52,2.455,55,1.751,57,2.887,63,2.933,64,2.1,65,1.733,71,1.686,104,2.213,112,1.835,115,1.626,142,3.527,143,2.187,145,2.62,409,2.62,519,2.743,536,3.9,685,3.603,1620,2.526,2530,4.053,2840,3.973,2890,3.973,2899,5.02]],["title/600",[74,1.887,2900,5.637]],["content/600",[8,1.706,18,1.227,19,4.398,24,2.086,55,1.701,57,2.804,63,2.849,64,2.041,65,1.684,71,1.638,74,1.633,104,2.167,112,1.782,115,1.579,142,3.454,143,2.124,145,2.545,150,2.217,395,3.408,406,2.762,409,2.545,519,2.665,536,3.788,685,3.501,1620,2.454,2530,3.938,2840,3.86,2890,3.86,2900,4.877]],["title/601",[115,1.825,2901,5.637]],["content/601",[8,1.607,19,4.757,24,3.249,36,3.318,52,3.715,57,3.132,71,2.551,103,2.936,104,2.344,114,2.158,115,2.832,234,6.772,409,2.842,519,2.976,538,3.072,685,3.91,1052,2.976,1620,2.741,2171,4.026,2448,5.768,2840,4.311,2890,4.311,2901,5.447,2902,5.768]],["title/602",[483,4.166,2903,5.637]],["content/602",[8,1.458,19,4.398,26,5.361,49,2.23,51,2.684,52,2.385,57,4.039,71,2.359,112,3.291,115,2.274,134,1.633,242,2.647,243,3.501,379,4.529,409,2.545,454,1.754,519,2.665,538,3.329,659,2.469,672,2.945,685,3.501,784,3.938,788,4.348,900,3.073,1032,3.788,1116,2.529,1620,2.454,2453,3.86,2489,4.225,2894,5.165,2903,4.877,2904,5.165]],["title/603",[483,4.166,2905,5.637]],["content/603",[8,1.636,24,2.047,49,2.586,51,2.633,52,2.341,57,4.683,71,1.607,112,2.532,115,2.244,134,1.602,135,2.615,242,2.597,243,3.435,379,2.633,409,2.497,454,1.73,512,3.948,519,2.615,672,2.89,685,3.435,900,3.032,997,4.575,1032,3.718,1081,3.435,1116,2.482,1228,4.407,1620,2.408,2453,3.788,2489,4.146,2498,5.068,2890,3.788,2905,4.786,2906,5.068,2907,5.497]],["title/604",[483,4.166,2908,5.97]],["content/604",[8,1.285,24,2.881,49,2.139,52,3.294,53,4.978,57,3.873,71,2.262,112,3.203,242,3.655,243,4.834,409,3.515,454,1.682,519,3.68,520,4.591,685,4.834,1620,3.389,2500,9.282,2503,5.33,2890,5.33,2908,7.132]],["title/605",[1620,2.837,1819,4.104]],["content/605",[8,1.436,18,0.988,19,1.689,24,1.153,36,1.643,71,0.906,102,1.444,103,3.05,108,1.251,111,1.689,114,1.068,115,0.873,119,1.114,131,1.773,134,0.903,143,1.175,176,1.304,219,2.864,242,1.463,279,0.668,308,2.46,310,1.588,346,5.41,409,3.422,416,1.673,445,1.551,454,0.673,460,1.039,462,3.281,469,2.058,474,1.838,475,2.336,476,3.388,478,2.336,488,1.601,519,3.962,524,1.29,538,1.091,557,1.505,621,1.263,623,1.776,639,1.153,641,2.426,665,4.32,685,1.936,719,2.025,889,1.18,908,1.993,956,1.563,1052,1.473,1054,1.861,1076,1.689,1094,2.134,1119,1.993,1184,1.588,1502,1.993,1521,2.224,1566,3.662,1611,2.483,1615,2.177,1620,2.847,1633,2.483,1666,2.483,1691,3.143,1722,3.063,1749,2.058,1819,5.678,1872,2.697,1892,1.909,1947,4.395,1957,1.861,2297,2.697,2519,6.756,2521,2.404,2524,2.483,2525,2.856,2526,2.856,2527,2.856,2530,2.177,2531,2.697,2532,2.856,2890,2.134,2909,4.439]],["title/606",[1819,4.104,2910,5.97]],["content/606",[8,1.654,19,3.054,24,2.086,69,1.925,71,1.638,119,2.014,169,2.742,176,2.359,346,5.794,409,2.545,445,2.804,462,3.604,519,4.498,538,1.972,582,2.594,641,2.665,665,4.627,685,3.501,1133,3.084,1157,3.054,1620,4.142,1819,3.551,2519,7.802,2521,4.348,2530,3.938,2531,4.877,2890,3.86,2909,7.024,2910,5.165]],["title/625",[2751,5.871]],["content/625",[48,2.088,114,2.113,115,1.727,143,2.323,229,4.148,279,1.321,378,3.141,397,2.668,477,2.055,482,1.993,499,3.34,521,2.914,574,3.471,579,3.593,581,2.668,651,3.141,857,4.4,858,4.004,1021,4.879,1033,4.143,1069,3.194,1087,2.999,1098,3.44,1136,3.828,1185,3.727,1538,5.648,1545,3.44,1582,3.593,1670,3.476,1677,4.621,1836,5.3,2049,4.306,2751,6.175,2911,5.648,2912,4.143,2913,4.306,2914,5.334,2915,6.126]],["title/626",[1069,4.261]],["content/626",[8,0.766,55,2.573,114,2.07,115,1.692,332,2.149,378,4.344,397,2.614,482,1.953,510,2.937,538,2.113,551,3.304,574,2.423,589,2.855,623,3.442,651,3.077,695,3.651,720,2.81,790,3.651,891,3.241,1021,4.808,1029,3.48,1093,3.862,1475,3.862,1675,3.804,1763,4.658,1836,3.699,2136,4.995,2171,3.862,2506,4.811,2750,4.31,2751,4.31,2855,4.995,2870,7.378,2871,5.533,2872,5.533,2916,6.001,2917,5.533,2918,6.001,2919,5.533,2920,4.811]],["title/627",[594,4.741]],["content/627",[114,3.661,115,3.28,332,3.007,454,1.826,477,2.818,565,4.341,594,4.87,602,7.459,604,4.817,900,3.199,976,3.839,1658,6.334,2753,6.174]],["title/628",[1276,5.633]],["content/628",[148,5.168,229,4.573,538,3.338,546,4.606,651,4.86,720,3.144,2049,6.663,2768,7.599,2917,8.74]],["title/629",[233,2.727,1780,4.461]],["content/629",[8,1.57,18,1.216,32,1.529,71,2.845,102,1.973,145,1.923,233,3.369,394,2.767,454,0.92,477,3.599,538,3.169,639,1.576,655,1.876,659,3.966,721,2.724,900,2.493,1052,3.113,1170,4.21,1193,4.614,1202,3.112,1327,2.724,1759,3.903,2171,5.147,2763,5.245,2766,3.393,2772,5.245,2778,5.446,2919,3.903,2921,3.903,2922,4.233,2923,3.903,2924,6.543,2925,4.233,2926,6.543,2927,6.033,2928,5.697,2929,6.543]],["title/630",[1403,3.714,2766,5.19]],["content/630",[18,1.545,82,3.225,108,2.581,114,2.205,115,1.802,119,2.299,131,2.223,218,4.74,233,4.851,314,3.519,397,3.857,450,3.485,454,1.39,473,5.565,492,2.737,639,2.38,641,4.213,655,2.834,1052,5.219,1106,2.359,1138,5.789,1193,3.277,1582,5.195,2053,5.124,2930,6.392]],["title/631",[538,1.887,1780,3.693,2052,4.297]],["content/631",[8,1.32,71,1.932,102,4.224,112,2.102,119,2.376,233,2.782,454,1.437,519,3.143,538,3.917,587,2.845,655,2.929,951,3.832,1087,3.234,1115,3.79,1201,4.252,1535,4.469,2052,8.289,2171,4.252,2763,5.297,2769,4.745,2772,5.297,2857,7.541,2921,6.092,2931,7.541,2932,6.607,2933,6.092]],["title/632",[538,2.28,639,2.411]],["content/632",[3,2.767,5,3.972,8,1.526,18,0.938,20,5.189,37,2.011,71,2.228,102,2.875,119,2.74,233,1.652,249,1.771,454,0.853,477,1.316,538,3.041,556,2.564,587,1.689,652,2.418,659,1.729,688,2.181,889,2.903,1131,2.226,1347,6.108,1753,2.959,1873,2.487,2052,3.144,2101,2.884,2171,4.903,2178,2.387,2763,3.144,2768,7.527,2769,4.429,2772,3.144,2774,2.959,2775,3.265,2777,6.634,2778,5.132,2782,3.265,2857,5.132,2933,3.617,2934,6.167,2935,3.923,2936,3.923,2937,7.025,2938,3.923,2939,3.923,2940,3.923,2941,3.923,2942,3.923,2943,6.167,2944,3.923,2945,3.923]],["title/633",[18,0.984,2946,5.97]],["content/633",[0,0.98,5,1.18,8,0.888,12,1.161,18,1.551,36,1.201,46,2.951,48,1.334,49,1.429,50,2.04,51,2.476,55,1.569,57,3.081,61,1.313,64,1.882,65,2.592,71,0.662,100,3.57,103,1.836,104,2.741,105,1.36,112,1.245,114,1.35,115,2.644,117,2.877,118,2.81,119,2.5,142,2.976,145,2.348,146,1.757,152,1.151,153,1.884,225,4.901,229,2.493,233,1.648,234,3.037,249,1.022,411,2.133,422,3.037,445,1.133,450,1.234,454,0.851,460,1.313,470,1.212,477,0.76,527,2.244,538,1.378,575,1.971,623,1.298,639,3.038,651,1.161,655,1.004,664,2.442,684,0.992,689,1.971,721,1.457,900,0.862,953,1.664,1093,1.457,1139,1.377,1327,1.457,1403,1.298,1575,1.223,1991,3.711,1992,2.646,2168,2.087,2328,1.531,2753,1.664,2774,2.951,2858,5.122,2928,3.407,2946,2.087,2947,1.36,2948,2.264,2949,2.264,2950,2.264,2951,2.264,2952,2.264,2953,2.264,2954,2.264,2955,4.301,2956,3.913,2957,3.608,2958,2.264,2959,2.264,2960,3.913,2961,3.913,2962,2.264,2963,3.913,2964,2.264]],["title/634",[148,2.922,538,1.887,1204,3.181]],["content/634",[8,1.59,18,0.673,19,2.921,29,3.551,36,1.745,48,1.826,49,1.225,51,0.89,62,2.152,66,2.481,70,1.617,71,0.543,74,1.975,103,0.871,104,1.97,112,1.704,113,0.968,114,1.528,115,2.202,135,2.107,154,0.96,175,0.968,234,3.438,240,0.976,242,0.877,243,1.16,248,2.002,332,1.178,380,0.93,397,0.809,398,1.745,409,0.844,454,0.404,477,1.486,482,2.205,483,1.195,493,2.185,507,1.012,524,0.774,527,3.514,538,2.581,546,0.902,562,0.985,659,1.952,684,0.814,720,0.616,788,1.441,1087,0.909,1106,1.977,1184,4.004,1213,2.15,1620,1.94,1717,1.545,1753,1.401,1819,1.177,1839,3.623,1873,5.45,2020,1.712,2052,1.489,2127,2.267,2178,2.002,2317,1.365,2363,1.545,2365,1.022,2374,4.664,2382,1.401,2519,2.481,2521,1.441,2522,1.712,2523,1.712,2530,3.113,2767,4.664,2807,1.545,2893,1.617,2895,1.617,2896,1.617,2897,1.617,2898,1.617,2899,1.617,2900,1.617,2901,2.864,2902,1.712,2903,1.617,2905,1.617,2906,1.712,2909,1.617,2965,1.857,2966,4.939,2967,1.857,2968,1.857,2969,1.857,2970,1.857,2971,1.857,2972,1.857,2973,1.857,2974,1.857,2975,1.279,2976,1.857,2977,1.857,2978,1.857,2979,1.857,2980,3.29,2981,1.857,2982,3.033,2983,1.857,2984,1.712,2985,1.857,2986,1.857,2987,3.29,2988,1.857,2989,1.857]],["title/635",[19,4.457]],["content/635",[8,1.589,12,2.303,19,3.733,24,1.672,71,1.313,102,4.328,171,2.604,454,1.489,461,6.314,477,1.507,485,2.094,493,2.793,495,2.341,524,1.871,529,2.015,538,2.411,651,2.303,655,1.991,659,3.018,688,2.497,898,2.472,1104,5.187,1224,3.387,1243,5.165,1584,3.91,1590,3.738,1873,4.341,2171,4.406,2190,5.961,2769,3.225,2773,6.314,2775,5.699,2776,6.314,2779,6.314,2782,3.738,2990,4.491,2991,4.491,2992,6.848,2993,6.848,2994,6.848,2995,4.491,2996,4.491]],["title/636",[414,5.109]],["content/636",[8,1.581,48,1.657,49,1.344,57,2.434,58,2.852,71,1.422,104,2.597,115,1.371,119,1.748,135,4.598,183,4.315,229,2.346,309,2.602,375,2.473,411,2.651,414,3.038,438,3.128,454,1.057,477,3.243,488,2.513,495,2.534,527,2.788,651,2.493,720,1.612,791,3.417,900,1.852,945,2.852,1008,2.73,1873,6.127,2767,4.233,2768,3.897,2966,4.483,2997,4.862,2998,4.862,2999,7.27,3000,4.862,3001,4.862,3002,4.862,3003,4.862,3004,4.862,3005,4.862,3006,4.862,3007,4.862]],["title/637",[1084,4.65,3008,5.97]],["content/637",[5,0.697,8,1.534,19,0.729,21,2.213,24,0.912,26,0.889,34,2.07,36,1.299,37,0.686,55,1.028,62,0.65,64,0.892,65,0.402,71,1.603,97,2.304,100,0.628,102,3.024,104,0.658,113,0.697,115,0.954,119,1.217,131,1.177,142,0.573,153,2.038,154,1.266,175,1.276,196,2.146,233,0.563,248,0.814,249,2.202,252,2.489,253,2.768,254,0.804,306,0.6,311,0.535,312,0.889,313,0.535,328,0.961,375,0.68,376,0.889,409,0.608,422,1.038,448,3.249,454,1.411,460,1.404,462,3.139,472,1.038,477,1.839,493,0.999,495,0.697,526,0.597,527,1.404,531,1.026,538,2.284,621,0.546,626,1.276,641,0.637,655,1.501,657,0.535,659,1.079,687,2.038,720,0.812,773,1.276,829,1.073,892,2.616,898,0.737,899,1.009,900,0.51,917,0.737,961,2.38,1001,0.94,1024,1.038,1028,0.825,1095,0.984,1104,0.836,1124,0.616,1140,1.165,1157,0.729,1184,0.686,1190,1.173,1197,0.94,1209,0.875,1211,0.961,1224,1.009,1233,2.375,1243,1.009,1342,3.006,1344,0.94,1482,0.836,1502,0.861,1503,1.963,1512,2.553,1541,4.135,1661,0.875,1664,1.009,1682,1.165,1780,0.922,1873,3.475,1901,0.984,1902,1.114,1967,0.961,1991,0.961,2108,1.847,2132,2.132,2171,3.528,2190,1.759,2257,1.073,2374,1.165,2453,0.922,2489,1.009,2503,0.922,2506,1.073,2600,1.038,2751,0.961,2763,1.073,2768,2.714,2769,0.961,2770,1.114,2772,1.963,2774,1.009,2775,4.06,2777,2.947,2778,4.06,2782,2.038,2801,1.165,2858,2.038,2863,1.234,2867,4.498,2874,1.165,2880,1.234,2927,1.234,2928,1.165,2937,2.258,2957,1.234,2982,1.234,2984,1.234,3009,1.338,3010,2.449,3011,2.449,3012,2.449,3013,2.449,3014,2.449,3015,1.338,3016,1.338,3017,1.338,3018,1.338,3019,3.385,3020,1.338,3021,1.338,3022,1.338,3023,1.338,3024,1.338,3025,1.338,3026,1.338,3027,1.338,3028,1.338,3029,1.338,3030,1.338,3031,1.338,3032,1.338,3033,1.338,3034,1.234,3035,1.338,3036,1.234,3037,3.121,3038,1.165,3039,1.114,3040,1.338,3041,3.356,3042,1.338,3043,1.338,3044,1.114,3045,2.449,3046,1.338,3047,1.338,3048,1.338,3049,1.338,3050,1.338,3051,2.258,3052,1.338,3053,1.338,3054,1.234]],["title/638",[510,4.001]],["content/638",[510,5.597,565,4.9,600,6.357,602,6.663,976,4.334,1052,4.509,1697,7.599]],["title/639",[551,4.5]],["content/639",[]],["title/640",[891,4.415]],["content/640",[8,1.498,18,0.471,19,1.689,55,1.974,97,2.807,102,2.377,119,2.337,141,1.776,150,1.226,154,1.601,183,1.838,233,1.304,241,1.123,249,3.76,255,2.025,332,2.327,411,1.689,414,3.186,416,1.673,436,1.527,443,1.909,454,1.109,471,2.578,472,2.404,493,1.263,507,1.689,538,2.288,562,1.643,565,3.359,568,1.615,574,1.251,582,1.434,583,4.568,600,1.722,602,2.177,604,1.776,613,2.336,626,2.658,643,5.19,721,1.993,816,1.776,863,2.177,891,4.068,913,1.705,948,1.838,976,2.331,983,2.578,1001,2.177,1017,2.697,1059,1.909,1087,1.516,1123,1.861,1124,3.466,1133,1.705,1192,2.483,1547,2.277,1582,1.817,1670,1.758,1677,6.756,1780,2.134,1840,2.483,2073,2.095,2101,2.277,2506,4.087,2750,4.667,2766,2.483,2769,2.224,2774,2.336,2853,2.856,2855,4.243,2857,2.578,3055,5.099,3056,3.097,3057,3.097,3058,3.097,3059,3.097,3060,3.097,3061,2.578,3062,2.856,3063,2.856,3064,3.097]],["title/641",[2039,4.226]],["content/641",[8,0.988,162,4.486,436,3.814,454,1.682,512,5.556,513,4.033,565,3.999,583,5.438,643,5.33,672,4.067,891,4.178,976,3.537,1226,4.103,1609,6.438,1661,5.056,1760,5.232,1817,6.438,2039,5.204,3062,9.282,3063,9.282]],["title/619",[513,4.261]],["content/619",[]],["title/620",[436,4.031]],["content/620",[28,3.035,279,2.012,436,4.6,510,5.544,891,5.039,905,6.428,2034,7.037,3065,7.764,3066,7.764]],["title/621",[594,4.741]],["content/621",[8,0.863,101,4.607,439,3.965,499,3.685,512,4.854,543,4.854,589,3.215,594,6.514,596,5.625,599,8.012,602,4.751,891,3.651,905,4.657,1019,5.246,1184,3.465,1199,6.232,1639,6.232,1658,6.941,1661,4.418,1743,5.098,1941,4.285,3067,5.098,3068,5.625,3069,6.759,3070,8.484,3071,6.759,3072,6.759]],["title/622",[2072,4.639]],["content/622",[52,2.98,62,3.401,63,3.56,64,2.55,97,3.853,99,3.353,104,2.862,141,4.015,142,2.997,182,4.437,183,4.155,440,3.972,513,3.649,568,3.649,574,2.826,600,3.892,643,4.823,712,3.33,1061,4.437,2072,6.044,2108,7.107,2145,4.259,3073,6.095,3074,6.454,3075,7,3076,7]],["title/623",[48,2.786]],["content/623",[48,3.514,194,3.891,513,5.374,2814,8.264]],["title/624",[2072,4.639]],["content/624",[28,3.187,64,3.568,146,7.602,279,2.112,572,7.034,1061,6.209,3073,8.527]],["title/642",[8,0.827,469,4.303]],["content/642",[8,1.316,469,6.851,1568,6.633,2607,5.62]],["title/643",[8,0.827,896,3.674]],["content/643",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/644",[8,0.827,623,3.714]],["content/644",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/645",[8,0.684,574,2.164,1014,3.768]],["content/645",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/646",[8,0.684,574,2.164,1831,2.794]],["content/646",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/647",[8,0.827,651,3.32]],["content/647",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/648",[8,0.684,114,1.849,115,1.511]],["content/648",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/649",[8,0.827,513,3.375]],["content/649",[8,1.603,114,2.444,115,1.997,436,3.493,460,2.377,513,3.693,526,4.779,574,3.835,623,4.063,651,3.632,896,4.02,1014,4.98,1568,4.558,1767,4.367,1831,3.693,2607,6.702]],["title/650",[8,0.684,63,2.726,484,1.738]],["content/650",[8,1.298,18,0.972,47,3.225,50,4.617,63,3.251,279,1.91,306,3.974,397,2.784,470,4.74,482,2.882,484,3.961,505,3.689,535,4.434,618,6.225,621,2.608,887,6.36,888,4.242,889,2.435,890,3.627,891,3.453,2607,3.485]],["title/651",[8,0.584,484,1.482,505,1.905,535,2.289]],["content/651",[8,1.298,18,0.972,47,3.225,50,4.617,63,3.251,279,1.91,306,3.974,397,2.784,470,4.74,482,2.882,484,3.961,505,3.689,535,4.434,618,6.225,621,2.608,887,6.36,888,4.242,889,2.435,890,3.627,891,3.453,2607,3.485]],["title/652",[8,0.584,397,1.992,484,1.482,535,2.289]],["content/652",[8,1.298,18,0.972,47,3.225,50,4.617,63,3.251,279,1.91,306,3.974,397,2.784,470,4.74,482,2.882,484,3.961,505,3.689,535,4.434,618,6.225,621,2.608,887,6.36,888,4.242,889,2.435,890,3.627,891,3.453,2607,3.485]],["title/665",[8,0.827,481,4.166]],["content/665",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/666",[8,0.684,589,2.55,617,3.042]],["content/666",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/667",[8,0.684,563,2.748,1832,2.748]],["content/667",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/668",[8,0.684,691,2.533,2021,3.768]],["content/668",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/669",[8,0.684,18,0.815,446,2.624]],["content/669",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/670",[8,0.684,565,2.771,1837,3.22]],["content/670",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/671",[8,0.827,1929,4.232]],["content/671",[0,1.975,8,1.449,18,1.053,135,2.17,143,1.729,194,1.722,225,2.74,279,0.983,378,2.338,436,2.249,446,2.232,481,2.934,484,1.478,493,3.418,508,2.74,509,2.74,510,2.232,519,2.17,539,2.249,546,2.216,552,2.561,563,5.159,565,3.582,574,1.841,589,2.17,614,2.707,617,2.588,641,2.17,665,2.616,691,3.274,911,2.74,1015,2.441,1076,2.486,1190,3.319,1499,2.707,1540,2.441,1582,2.675,1831,2.377,1832,5.159,1833,3.142,1834,2.891,1835,3.353,1836,2.811,1837,4.162,1849,3.142,1860,3.142,1929,2.981,1941,2.891,1942,3.084,1943,3.084,1970,2.51,1984,2.981,2021,4.87]],["title/653",[8,0.827,3077,4.166]],["content/653",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3077,5.254,3078,5.033,3079,3.733,3080,6.003]],["title/654",[8,0.827,3078,3.991]],["content/654",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3077,5.254,3078,5.033,3079,3.733,3080,6.003]],["title/655",[8,0.827,3079,2.96]],["content/655",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3077,5.254,3078,5.033,3079,3.733,3080,6.003]],["title/656",[8,0.451,64,1.288,65,1.062,1440,2.241,2071,2.179,3080,2.599]],["content/656",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3077,5.254,3078,5.033,3079,3.733,3080,6.003]],["title/657",[8,0.827,1832,3.32]],["content/657",[8,1.596,64,2.974,65,2.454,332,4.475,1440,5.176,1832,4.186,2071,5.033,3077,5.254,3078,5.033,3079,3.733,3080,6.003]],["title/658",[8,0.684,539,2.643,1565,3.504]],["content/658",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/659",[1,3.939,8,0.827]],["content/659",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/660",[8,0.827,21,4.232]],["content/660",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/661",[8,0.827,32,2.338]],["content/661",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/662",[8,0.827,45,3.059]],["content/662",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/663",[8,0.827,14,2.601]],["content/663",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/664",[8,0.827,224,3.991]],["content/664",[1,4.209,8,1.594,14,2.779,21,4.522,32,2.498,45,3.269,224,4.264,332,2.477,469,4.597,526,3.085,539,4.61,621,3.813,735,4.451,770,4.863,1440,4.385,1565,6.11,1656,3.926,2607,6.655]],["title/672",[8,0.584,279,0.986,3081,3.362,3082,2.782]],["content/672",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3077,4.069,3078,3.898,3079,2.891,3081,4.649,3082,3.847,3083,3.847]],["title/673",[8,0.584,279,0.986,499,2.493,3077,2.942]],["content/673",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3077,4.069,3078,3.898,3079,2.891,3081,4.649,3082,3.847,3083,3.847]],["title/674",[8,0.584,279,0.986,545,2.176,3078,2.819]],["content/674",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3077,4.069,3078,3.898,3079,2.891,3081,4.649,3082,3.847,3083,3.847]],["title/675",[8,0.684,535,2.684,551,2.951]],["content/675",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3077,4.069,3078,3.898,3079,2.891,3081,4.649,3082,3.847,3083,3.847]],["title/676",[8,0.584,279,0.986,3079,2.091,3083,2.782]],["content/676",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3077,4.069,3078,3.898,3079,2.891,3081,4.649,3082,3.847,3083,3.847]],["title/677",[8,0.584,279,0.986,484,1.482,1832,2.345]],["content/677",[8,1.517,279,2.561,454,1.375,460,2.949,484,2.05,499,3.448,526,2.82,531,2.649,535,3.166,545,3.008,551,3.481,574,2.553,607,4.357,661,3.481,1059,3.898,1670,3.588,1711,3.847,1832,3.242,2077,4.542,2607,5.953,3077,4.069,3078,3.898,3079,2.891,3081,4.649,3082,3.847,3083,3.847]],["title/678",[8,0.827,2751,4.65]],["content/678",[8,1.072,143,3.185,229,4.051,397,3.658,574,3.391,858,5.489,1021,4.765,1033,5.679,1069,4.378,1098,4.716,1136,5.248,1582,4.926,1836,5.177,2751,7.621,2911,7.743,2912,5.679]],["title/691",[8,0.827,551,3.564]],["content/691",[8,1.446,551,6.235,666,4.04,2038,4.993,3084,8.601,3085,7.764,3086,6.7,3087,8.601]],["title/692",[8,0.584,666,1.98,2038,2.447,3086,3.284]],["content/692",[8,1.446,551,6.235,666,4.04,2038,4.993,3084,8.601,3085,7.764,3086,6.7,3087,8.601]],["title/683",[8,0.827,2073,4.379]],["content/683",[8,1.411,114,3.415,115,2.79,279,2.134,454,1.639,460,2.529,508,4.528,509,4.528,513,3.929,568,3.929,589,3.586,617,4.277,651,3.865,684,3.302,900,2.872,1052,3.586,2039,3.897,2049,5.298,2073,5.098,2607,4.11]],["title/684",[8,0.684,589,2.55,617,3.042]],["content/684",[8,1.411,114,3.415,115,2.79,279,2.134,454,1.639,460,2.529,508,4.528,509,4.528,513,3.929,568,3.929,589,3.586,617,4.277,651,3.865,684,3.302,900,2.872,1052,3.586,2039,3.897,2049,5.298,2073,5.098,2607,4.11]],["title/685",[8,0.827,651,3.32]],["content/685",[8,1.411,114,3.415,115,2.79,279,2.134,454,1.639,460,2.529,508,4.528,509,4.528,513,3.929,568,3.929,589,3.586,617,4.277,651,3.865,684,3.302,900,2.872,1052,3.586,2039,3.897,2049,5.298,2073,5.098,2607,4.11]],["title/679",[3088,4.689]],["content/679",[279,1.954,479,4.252,507,3.602,509,3.97,539,3.258,546,3.211,578,4.984,579,3.876,604,3.79,900,2.517,911,3.97,1008,3.711,1028,4.073,1063,4.129,1065,5.128,1131,3.749,1620,2.895,1635,3.749,1643,4.129,1711,4.02,1818,4.129,1851,4.391,2063,5.128,3039,5.499,3065,5.499,3088,5.197,3089,5.499,3090,5.499,3091,6.607,3092,6.092,3093,4.391,3094,5.753,3095,5.499,3096,6.607]],["title/680",[3088,4.689]],["content/680",[279,1.585,411,4.007,421,4.729,441,5.892,442,6.776,443,4.531,493,2.998,521,3.496,532,5.278,539,3.624,542,6.117,543,5.278,605,4.659,891,3.97,900,2.8,1106,2.713,1659,5.166,1851,4.884,2037,5.892,2109,5.403,2913,5.166,2914,6.399,3068,6.117,3088,4.215,3097,7.349,3098,6.399,3099,7.349]],["title/681",[3100,8.175]],["content/681",[12,3.355,32,1.529,37,2.17,108,1.709,145,1.923,184,2.575,241,1.535,307,2.813,332,1.516,454,1.739,488,2.188,492,1.812,496,3.393,522,3.523,687,3.523,760,3.285,917,2.33,956,3.302,1021,2.402,1063,2.645,1075,3.685,1142,3.193,1195,3.285,1213,2.767,1244,3.112,1438,2.916,1485,2.767,1506,3.523,1597,2.975,1620,4.263,1635,3.713,1650,3.393,1743,3.193,1860,2.916,1904,3.393,2036,2.863,2055,3.523,2066,2.975,2086,3.523,2089,3.685,2162,3.285,2252,2.975,3065,5.446,3088,3.753,3092,6.033,3095,7.491,3098,3.685,3101,3.903,3102,3.903,3103,3.285,3104,4.233,3105,3.903,3106,3.285,3107,7.836,3108,4.233,3109,6.033,3110,6.543,3111,4.233,3112,3.523,3113,4.233,3114,3.685,3115,4.233,3116,4.233,3117,4.233,3118,4.233,3119,4.233]],["title/682",[3094,7.117]],["content/682",[143,3.517,183,4.058,454,1.487,529,3.068,539,3.372,562,3.627,900,2.605,915,3.126,1029,3.965,1133,3.764,1545,3.84,1589,4.806,1623,5.953,2101,5.027,2130,9.826,2570,8.759,3094,9.826,3098,5.953,3120,6.837,3121,5.953,3122,6.837,3123,6.304,3124,6.837,3125,5.953]],["title/686",[3077,5.26]],["content/686",[]],["title/687",[332,2.927]],["content/687",[]],["title/688",[249,1.433,279,0.684,482,1.033,1096,2.187,1713,2.642,2039,1.641,3126,1.684]],["content/688",[141,5.108,194,3.362,219,3.925,241,3.23,393,5.165,493,3.633,564,6.547,1730,5.418,1737,6.26,3127,6.912,3128,8.211,3129,8.906,3130,8.211]],["title/689",[626,2.794,945,3.144,3131,4.667]],["content/689",[20,4.205,88,3.103,142,2.997,311,2.798,397,4.104,454,1.522,543,5.027,574,2.826,626,5.94,646,3.141,1131,3.972,1165,3.619,1178,4.92,1211,5.027,1689,6.095,1730,4.259,1743,7.107,1843,4.375,2038,3.746,2912,4.734,3126,3.713,3131,6.095,3132,5.433,3133,5.826,3134,8.204]],["title/690",[99,0.654,104,0.367,148,0.744,279,0.294,454,0.542,494,1.004,551,0.751,605,0.865,626,0.712,641,0.649,900,0.95,1403,0.783,1659,0.96,2038,1.335,2072,0.775,3135,1.189,3136,1.365]],["content/690",[18,0.82,35,2.641,74,1.573,99,2.585,148,4.281,162,3.129,176,2.272,185,2.467,219,4.48,233,2.272,279,1.164,400,2.813,454,1.707,484,3.001,493,2.201,513,2.813,551,2.971,563,2.767,587,2.324,626,2.813,672,2.837,888,4.434,916,3.129,1659,3.793,1711,3.283,1892,4.84,2038,4.202,2039,2.79,2072,4.456,2155,4.188,2298,3.65,2328,3.65,2570,4.491,2814,4.326,3126,4.165,3135,6.836,3137,3.472,3138,3.586,3139,4.491,3140,4.975,3141,4.698,3142,5.396]],["title/711",[3078,5.039]],["content/711",[]],["title/712",[332,2.927]],["content/712",[]],["title/713",[279,1.396,545,3.08]],["content/713",[0,1.782,18,0.626,28,1.339,64,1.499,65,1.237,74,1.199,101,3.205,108,1.661,115,1.16,133,2.571,142,1.762,146,3.193,256,2.386,279,1.911,313,3.141,378,2.109,379,1.971,397,1.792,458,3.337,470,2.202,482,2.884,487,3.103,488,2.127,490,2.835,500,4.506,519,1.957,535,2.06,538,1.449,545,4.217,568,2.145,579,2.413,614,2.442,720,1.364,889,2.439,1016,2.734,1025,2.927,1152,2.287,1156,4.706,1198,2.145,1399,3.298,1575,2.222,1722,2.472,2047,3.298,2116,2.571,2139,2.689,2254,3.794,2263,2.287,2270,3.193,2328,2.783,2510,3.582,3093,2.734,3143,3.193,3144,3.794,3145,3.424,3146,4.114,3147,4.114,3148,3.794,3149,3.025,3150,3.424,3151,3.298,3152,3.582,3153,4.114,3154,4.114,3155,3.298,3156,2.835,3157,3.424,3158,3.794,3159,3.794,3160,3.582,3161,3.424,3162,3.025,3163,4.114]],["title/714",[8,0.584,279,0.986,505,1.905,545,2.176]],["content/714",[8,1.316,505,4.295,545,4.904,3164,8.975]],["title/715",[64,1.666,312,3.039,482,1.488,545,2.176]],["content/715",[36,4.585,185,4.941,454,1.879,458,4.506,482,2.813,490,5.956,526,3.855,1116,4.879,3149,7.944,3150,7.194,3151,6.929,3165,7.97]],["title/716",[279,0.986,482,1.488,529,2.052,545,2.176]],["content/716",[279,2.33,458,4.506,482,3.516,490,5.956,529,3.879,545,5.141,587,3.722,614,5.13,1757,6.929,2365,4.758,2507,6.929,2975,5.956]],["title/717",[194,1.505,279,0.86,501,2.697,504,2.154,545,1.897]],["content/717",[175,4.573,279,1.892,454,1.907,502,5.933,531,3.674,545,4.174,1038,4.695,1545,4.927,2975,6.045,3166,8.089,3167,7.301,3168,6.809,3169,6.809,3170,6.809]],["title/718",[484,2.099,2365,3.564]],["content/718",[28,2.199,65,2.031,99,3.238,114,2.332,115,1.905,154,4.757,306,3.033,308,3.261,482,2.199,484,3.391,490,6.34,491,4.969,531,2.831,1025,3.09,1052,3.215,1545,3.796,1757,7.377,1831,3.523,2365,6.183,2507,7.377,2975,7.209,3145,5.625,3171,6.759]],["title/719",[64,1.953,1776,2.922,3172,4.16]],["content/719",[0,3.857,64,3.244,218,4.766,241,3.23,279,1.92,331,4.855,454,1.936,507,4.855,614,5.285,1774,7.412,1776,4.855,3173,8.211,3174,8.211]],["title/720",[108,2.164,994,3.504,3175,5.36]],["content/720",[398,5.468,621,4.205,2738,7.246,3176,10.309]],["title/721",[545,3.08,584,4.76]],["content/721",[114,2.982,115,2.437,194,3.263,313,3.455,482,2.813,584,7.944,1015,4.626,1619,7.194,2365,4.758,3177,7.97,3178,7.194,3179,7.97,3180,7.194,3181,7.97]],["title/722",[49,1.79,1551,3.939]],["content/722",[]],["title/723",[20,1.731,108,1.163,115,0.812,379,1.38,535,1.442,545,1.37,2263,1.601,3156,1.985]],["content/723",[51,3.165,55,2.007,101,4.536,108,3.658,115,2.915,311,2.641,313,3.622,379,3.165,450,3.602,454,1.437,500,5.197,535,3.308,545,3.143,1087,3.234,1155,4.129,1156,6.661,1198,3.444,1485,4.319,1722,3.97,1828,5.128,2072,3.749,2263,5.037,3156,4.553,3157,5.499,3182,6.092,3183,5.297,3184,4.745,3185,6.607]],["title/724",[74,1.162,133,2.492,375,2.028,535,1.996,1152,2.217]],["content/724",[18,1.052,74,2.724,112,2.201,133,4.323,134,2.016,313,2.765,400,3.606,482,3.042,521,3.291,535,4.68,559,3.669,646,3.104,665,5.362,889,2.636,1025,3.163,1152,3.846,1198,4.873,1386,4.058,1709,4.385,1722,4.156,1795,5.369,1934,5.546,2173,4.968,2365,3.808,3093,4.597,3186,6.378,3187,6.023]],["title/725",[397,2.82,545,3.08]],["content/725",[]],["title/726",[279,0.86,375,2.028,545,1.897,646,1.789,2365,2.195]],["content/726",[18,0.983,51,3.096,65,1.942,74,2.6,107,4.038,114,2.229,115,1.822,133,4.038,142,2.767,152,3.287,279,1.924,313,2.583,379,3.096,454,1.405,477,2.168,482,2.103,484,2.095,524,2.692,535,3.235,545,3.074,559,3.428,619,3.791,646,4.004,652,3.984,1071,3.707,1152,3.593,1198,3.369,1404,4.641,1722,3.882,2039,3.341,2072,5.063,2263,3.593,2365,3.557,3156,4.453]],["title/727",[279,0.986,545,2.176,646,2.052,2365,2.517]],["content/727",[12,3.35,51,3.13,115,1.842,135,3.108,142,2.798,233,2.752,241,2.37,279,1.409,311,2.612,313,2.612,454,1.421,482,2.926,545,3.108,619,3.833,652,4.028,827,3.632,857,4.693,895,3.878,900,2.489,915,2.987,976,2.987,1104,4.083,1502,4.204,1540,3.497,1620,2.863,1828,5.071,1892,4.028,2045,4.804,2072,5.102,2333,5.071,2365,4.949,3156,4.502,3184,4.693,3188,6.024]],["title/728",[484,2.65]],["content/728",[]],["title/729",[28,1.033,454,0.69,484,1.029,513,1.655,1760,2.147,1877,2.464,3189,2.927]],["content/729",[28,2.517,37,3.966,240,4.067,458,4.033,484,3.628,485,3.606,513,5.248,672,4.067,910,6.438,1377,4.39,1589,5.438,1760,5.232,1877,6.004,3167,8.379,3190,7.132,3191,7.132,3192,5.835,3193,5.687,3194,7.132]],["title/730",[279,0.762,484,1.146,563,1.812,1848,2.349,1933,2.834,3195,3.077]],["content/730",[0,3.44,77,5.474,228,4.177,229,3.833,279,1.713,305,6.166,436,3.917,484,2.575,539,3.917,563,5.251,657,3.176,719,5.193,1069,4.141,1244,5.841,1933,8.211,2238,6.612,3196,8.917,3197,7.325]],["title/731",[486,3.08,1635,3.674]],["content/731",[]],["title/732",[18,0.483,29,2.545,142,1.359,1165,1.641,1666,2.545,3198,2.642,3199,2.927]],["content/732",[194,3.216,279,1.837,484,2.762,531,3.568,545,4.053,666,3.689,1165,4.404,1674,6.118,2277,8.077,3143,6.612,3200,8.519,3201,8.519,3202,6.612,3203,7.855,3204,4.94]],["title/733",[65,1.198,104,1.071,1062,3.676,1742,2.65,1760,2.697]],["content/733",[19,4.855,65,2.676,104,3.21,460,2.988,493,3.633,659,3.925,1060,6.26,1116,4.021,1502,5.73,1760,6.023,3205,8.211]],["title/734",[29,3.666,562,2.426,574,1.846,1483,3.981]],["content/734",[18,1.334,102,4.09,241,3.182,436,4.326,531,4.971,562,4.653,574,3.542,942,5.83,1438,6.045,1732,5.561,2063,6.809,3206,8.773]],["title/735",[19,1.927,279,0.762,482,1.15,545,1.682,2365,1.946,3207,3.535]],["content/735",[19,3.772,104,1.859,115,1.95,171,4.012,194,2.611,279,2.016,436,3.411,529,3.104,545,4.447,562,3.669,592,3.576,646,3.104,683,4.385,684,3.031,789,5.757,1054,4.156,1182,6.023,1251,4.678,1265,4.451,1438,4.767,1583,4.863,1635,3.926,2072,3.926,2197,4.209,3205,6.378,3208,6.378,3209,6.023,3210,6.378,3211,6.378,3212,6.378]],["title/736",[484,1.482,545,2.176,2365,2.517,3178,3.806]],["content/736",[88,3.165,108,1.916,311,2.853,395,2.886,454,1.552,460,1.592,484,3.993,517,2.155,521,2.257,526,2.116,545,3.396,559,2.516,590,3.578,621,1.935,661,2.612,712,2.257,827,3.968,892,2.965,898,2.612,912,2.751,976,3.264,1002,3.208,1116,2.142,1157,2.587,1190,2.273,1219,3.682,1243,3.578,1583,5.018,1635,4.051,1818,5.966,2145,2.886,2365,5.922,2732,4.828,3137,3.053,3178,5.941,3213,7.913,3214,4.744,3215,7.138,3216,4.744]],["title/693",[3079,3.738]],["content/693",[]],["title/694",[332,2.927]],["content/694",[]],["title/695",[8,0.451,249,1.596,279,0.762,505,1.473,3079,1.616,3083,2.151]],["content/695",[8,1.316,505,4.295,3079,4.713,3217,8.975]],["title/696",[194,1.505,279,0.86,501,2.697,504,2.154,3083,2.426]],["content/696",[88,4.271,194,3.637,526,4.297,1619,8.018,1832,4.939,1942,6.516,1943,6.516,3218,8.883]],["title/697",[64,1.953,1776,2.922,3172,4.16]],["content/697",[0,3.857,64,3.244,218,4.766,241,3.23,279,1.92,331,4.855,454,1.936,507,4.855,614,5.285,1774,7.412,1776,4.855,3173,8.211,3174,8.211]],["title/698",[499,2.922,529,2.405,1848,3.562]],["content/698",[241,2.633,279,1.565,488,3.752,536,4.909,537,4.909,572,5.213,605,4.602,1054,4.361,1132,4.602,1616,5.634,1635,5.479,1732,4.602,1846,4.21,1848,6.416,2036,4.909,2196,6.041,3126,3.85,3209,6.32,3210,6.693,3211,6.693,3212,6.693,3219,7.259,3220,6.693,3221,6.041,3222,6.041,3223,7.259]],["title/699",[240,1.186,279,0.486,586,1.266,684,0.988,1377,1.28,3103,1.75,3224,1.75,3225,1.607,3226,1.689]],["content/699",[24,2.658,100,2.226,107,2.965,184,2.886,240,5.869,279,1.023,311,1.896,313,1.896,505,1.976,521,2.257,524,1.976,570,3.578,582,2.197,592,2.452,619,2.783,646,2.129,658,4.374,719,3.101,720,1.573,864,3.101,900,2.72,1063,2.965,1139,2.886,1165,2.452,1211,5.127,1277,5.248,1282,4.13,1377,4.051,1541,3.578,1563,2.751,1635,2.692,1671,3.948,1767,4.4,1804,3.488,1853,3.682,2007,3.948,2108,3.578,2382,3.578,3103,5.54,3161,3.948,3224,3.682,3225,3.537,3226,4.434,3227,4.13,3228,4.13,3229,4.374,3230,4.744,3231,3.208,3232,3.803,3233,4.374,3234,2.886,3235,4.744]],["title/700",[241,1.446,1662,2.492,3226,1.727,3236,2.697,3237,3.987]],["content/700",[8,1.36,71,2.047,176,2.948,185,4.308,332,2.507,398,4.998,492,4.035,720,2.321,773,3.649,976,3.2,1136,4.375,1198,3.649,2108,5.28,2738,6.623,3172,5.433,3192,7.107,3231,4.734,3238,7.554,3239,4.652,3240,5.611,3241,6.454,3242,6.454,3243,5.433]],["title/701",[484,2.65]],["content/701",[]],["title/702",[28,1.033,454,0.69,484,1.029,513,1.655,1760,2.147,1877,2.464,3189,2.927]],["content/702",[28,2.517,37,3.966,240,4.067,458,4.033,484,3.628,485,3.606,513,5.248,672,4.067,910,6.438,1377,4.39,1589,5.438,1760,5.232,1877,6.004,3167,8.379,3190,7.132,3191,7.132,3192,5.835,3193,5.687,3194,7.132]],["title/703",[279,0.762,484,1.146,563,1.812,1848,2.349,1933,2.834,3195,3.077]],["content/703",[0,3.44,77,5.474,228,4.177,229,3.833,279,1.713,305,6.166,436,3.917,484,2.575,539,3.917,563,5.251,657,3.176,719,5.193,1069,4.141,1244,5.841,1933,8.211,2238,6.612,3196,8.917,3197,7.325]],["title/704",[64,1.452,65,1.198,1440,2.528,2071,2.458,3080,2.931]],["content/704",[]],["title/705",[332,2.927]],["content/705",[]],["title/706",[64,1.452,65,1.198,279,0.86,2071,2.458,3143,3.095]],["content/706",[0,1.089,37,1.29,64,3.133,65,3.107,74,1.248,75,1.412,78,2.313,88,2.927,103,1.18,107,1.572,108,1.016,114,0.868,115,0.709,175,1.311,184,1.53,194,1.617,241,0.912,249,1.136,251,1.701,279,1.424,309,1.346,311,1.712,312,1.671,313,2.236,321,1.768,395,1.53,426,3.433,454,0.547,477,2.485,482,2.798,485,1.173,488,1.3,490,2.951,492,1.077,493,1.026,500,1.443,505,1.048,521,1.197,524,1.784,538,2.608,545,1.197,562,1.334,574,1.016,587,2.843,592,1.3,604,3.787,621,1.026,646,1.129,657,1.712,665,1.443,689,2.19,695,1.53,761,1.53,867,1.511,885,1.849,889,0.958,912,2.484,956,1.269,1025,1.15,1116,1.136,1139,1.53,1173,3.076,1190,2.679,1195,1.952,1244,1.849,1440,5.452,1527,1.644,1545,2.405,1662,1.572,1670,2.43,1675,1.594,1699,2.319,1760,1.701,1777,1.671,1818,1.572,1843,1.572,2071,4.968,2076,1.594,2116,1.572,2363,2.093,2382,1.897,2975,2.951,3080,6.323,3106,1.952,3137,1.618,3148,3.949,3149,3.149,3228,2.19,3244,2.515,3245,2.093,3246,2.016,3247,2.515,3248,2.319,3249,2.515,3250,4.283,3251,2.515,3252,4.283,3253,2.515,3254,2.515,3255,2.515]],["title/707",[65,1.374,2071,2.819,3256,3.806,3257,3.549]],["content/707",[65,3.161,313,3.31,482,2.694,490,5.705,889,3.154,1061,5.248,1106,3.056,1675,6.667,2071,7.125,3149,6.087,3151,6.637,3258,7.208,3259,8.279,3260,8.279]],["title/708",[64,1.895,308,1.531,523,1.984,3256,2.642,3257,2.464,3261,2.927]],["content/708",[64,4.01,308,4.296,585,5.73,1662,5.565,2071,6.786,3256,7.412,3257,6.912,3261,10.15,3262,8.906,3263,6.547]],["title/709",[524,1.905,1479,3.806,2071,2.819,3264,2.989]],["content/709",[18,1.259,114,2.856,115,2.334,185,5.284,219,3.649,439,4.856,482,3.422,490,5.705,657,3.31,1052,3.939,1254,4.749,2071,5.104,3139,6.891,3149,6.087,3151,6.637]],["title/710",[64,1.288,252,2.599,466,2.179,582,1.637,1512,2.666,2364,2.151]],["content/710",[64,4.103,252,7.465,279,1.69,466,6.259,482,2.551,490,5.401,493,3.198,684,3.434,1165,4.052,1512,7.659,2071,6.259,2365,4.315,3265,6.284,3266,7.227,3267,7.839,3268,7.839]],["title/737",[1832,4.191]],["content/737",[]],["title/738",[332,2.927]],["content/738",[]],["title/739",[279,0.986,482,1.488,484,1.482,900,1.742]],["content/739",[35,2.732,51,3.36,88,1.535,143,1.313,240,1.82,241,2.025,249,2.52,279,1.204,306,1.553,307,2.3,310,4.126,313,1.384,407,2.433,421,2.227,440,1.964,454,0.753,460,1.161,466,2.134,474,2.054,484,1.809,526,1.544,527,1.985,531,2.938,540,2.3,556,3.649,557,3.408,559,1.836,579,2.03,585,2.227,589,1.647,594,2.007,615,2.227,621,1.412,641,1.647,646,1.553,661,1.905,684,3.525,691,3.314,721,2.227,761,2.106,858,2.263,859,2.3,888,2.674,890,3.168,898,1.905,900,2.127,907,2.263,976,1.583,1002,2.341,1010,2.106,1025,1.583,1072,2.775,1076,1.887,1173,2.486,1239,2.881,1250,2.545,1258,3.191,1389,2.433,1568,2.227,1575,1.87,1611,2.775,1662,2.163,1664,2.611,1674,2.486,1724,2.385,1767,2.134,1839,2.341,1841,2.08,1844,3.924,1846,2.007,1853,2.687,1970,1.905,2072,1.964,2322,2.341,2669,2.611,2742,2.611,3090,2.881,3126,1.836,3192,2.611,3193,5.157,3269,3.191,3270,3.313,3271,3.014,3272,3.461,3273,3.014,3274,5.838,3275,5.147]],["title/740",[104,1.229,279,0.986,400,2.384,484,1.482]],["content/740",[18,0.673,65,2.034,69,1.52,71,1.294,104,2.475,143,1.677,150,1.751,219,1.949,233,1.863,279,1.46,308,4.444,375,2.25,407,3.109,443,2.727,460,1.484,470,2.367,482,1.439,484,2.665,526,1.973,557,3.289,573,2.51,587,1.905,613,3.337,615,2.846,621,1.804,624,2.367,653,2.891,691,4.352,720,1.467,721,2.846,888,2.119,900,2.579,956,2.232,1025,2.022,1054,2.658,1106,1.633,1143,2.691,1239,3.682,1592,3.048,1684,3.433,1970,3.726,2034,3.337,2072,3.841,2127,3.048,2247,4.078,2298,2.992,3204,2.565,3269,4.078,3270,4.88,3276,3.682,3277,4.078,3278,4.423,3279,3.433,3280,4.976,3281,4.423,3282,4.078,3283,4.423,3284,4.078,3285,4.078,3286,3.177]],["title/741",[3287,7.117]],["content/741",[]],["title/742",[279,0.621,484,0.934,589,1.37,615,1.854,1818,1.8,1945,2.656,3288,2.881,3289,2.881]],["content/742",[88,1.932,233,1.835,279,1.443,313,1.742,436,2.149,454,0.948,460,1.462,484,2.169,502,2.947,504,2.354,507,2.376,526,2.985,531,3.412,538,1.535,541,3.287,559,2.312,574,1.76,621,1.778,626,2.272,641,2.073,643,3.003,661,2.399,683,2.763,744,2.586,827,2.423,907,2.849,976,1.993,1015,2.332,1119,2.804,1142,3.287,1148,3.794,1521,4.806,1558,3.13,1583,3.063,1635,3.797,1689,3.794,1839,2.947,1846,2.527,2036,5.51,2145,2.651,2258,3.794,3126,2.312,3135,3.794,3168,3.382,3169,3.382,3170,3.382,3218,4.018,3274,3.627,3290,4.358,3291,4.358,3292,4.358,3293,3.794,3294,3.627,3295,4.358,3296,3.287,3297,4.358,3298,4.358,3299,4.358,3300,4.358,3301,4.358,3302,4.358,3303,4.358,3304,4.358,3305,4.358,3306,4.358,3307,4.358,3308,4.358,3309,4.358,3310,4.358,3311,4.358,3312,4.358,3313,4.358,3314,4.358]],["title/743",[279,1.396,481,4.166]],["content/743",[18,1.186,28,2.996,44,3.684,185,2.445,241,1.939,249,2.414,279,1.682,313,2.137,332,1.915,454,1.163,477,2.617,482,2.538,529,2.399,531,2.24,535,2.677,539,2.637,714,2.637,720,2.587,891,2.888,911,3.213,1016,3.554,1025,4.21,1027,5.184,1033,5.275,1065,4.15,1276,3.684,1475,3.441,1482,3.342,1626,3.39,1627,3.684,1635,3.034,1691,3.296,1708,3.616,1709,3.39,1722,3.213,2034,4.033,2043,4.93,2044,4.033,2112,4.15,3315,5.347,3316,4.656,3317,4.93,3318,4.656,3319,4.656,3320,4.656,3321,4.45]],["title/744",[3322,7.117]],["content/744",[18,1.227,28,3.567,37,4.136,52,2.385,74,1.633,112,1.782,134,1.633,228,4.242,243,3.501,311,2.239,378,2.872,482,1.823,488,2.896,503,5.165,519,2.665,538,1.972,587,2.412,620,3.501,652,3.453,688,3.114,773,2.92,973,4.348,1005,4.877,1035,3.026,1045,2.971,1072,4.49,1226,2.971,1234,4.662,1628,4.023,1650,4.49,1709,5.114,1736,4.662,1769,5.165,2257,4.49,3245,6.714,3318,7.024,3323,5.602,3324,4.348,3325,4.877,3326,5.602,3327,5.165,3328,5.165]],["title/745",[3329,6.166]],["content/745",[18,1.423,28,2.592,52,1.448,74,2.02,84,2.097,103,1.596,131,1.183,134,2.549,150,1.346,171,1.973,228,3.645,229,2.655,242,2.6,279,0.733,306,1.526,311,1.36,313,1.36,314,1.872,332,1.971,454,1.902,458,1.773,482,1.107,485,2.566,492,2.357,517,1.545,563,1.744,646,1.526,714,1.677,720,2.299,976,1.555,981,2.26,1016,2.26,1027,2.26,1028,2.097,1035,2.973,1038,1.82,1045,1.804,1055,2.26,1071,1.951,1087,1.665,1098,1.91,1106,2.559,1121,4.114,1122,2.501,1144,3.228,1156,2.501,1170,3.541,1477,1.973,1547,2.501,1548,2.26,1563,1.973,1573,2.3,1620,1.49,1626,2.156,1627,2.344,1635,1.93,1691,2.097,1708,2.3,1709,2.156,1716,2.727,1722,3.307,1752,2.391,1772,2.3,1788,2.64,1804,2.501,1824,2.64,2046,2.64,2489,2.566,3245,2.831,3330,3.401,3331,3.401,3332,3.401,3333,3.401,3334,3.401,3335,3.401,3336,2.831,3337,3.401,3338,3.401,3339,2.64,3340,3.136,3341,3.401,3342,3.401,3343,3.401,3344,3.136,3345,2.961]],["title/746",[1708,4.379,1709,4.104]],["content/746",[18,1.333,28,1.311,74,1.174,103,1.891,112,1.282,131,3.049,134,2.772,175,2.101,194,1.521,229,1.944,254,2.421,279,1.358,306,1.808,311,1.611,313,1.611,374,2.963,395,2.452,409,1.831,415,3.083,454,0.876,470,2.157,477,1.352,482,2.049,485,1.879,486,1.917,492,1.725,505,1.679,529,1.808,556,2.634,588,1.973,655,1.787,688,2.24,889,2.4,956,2.033,1025,1.843,1027,2.678,1036,3.509,1037,3.128,1055,4.186,1063,2.518,1071,2.311,1076,2.197,1106,1.487,1113,2.725,1144,3.694,1158,3.509,1526,3.231,1551,2.452,1626,3.993,1627,4.34,1691,3.883,1708,4.26,1709,5.557,1722,4.658,1751,4.751,1792,3.716,2093,3.04,2108,3.04,3199,3.716,3324,3.128,3346,4.03,3347,4.03,3348,4.03,3349,4.03,3350,4.03,3351,4.03,3352,4.03]],["title/747",[1691,3.991,1722,3.89]],["content/747",[28,1.484,37,3.552,45,3.274,54,3.084,131,1.586,134,3.307,194,1.722,279,0.983,311,1.823,377,2.463,415,2.232,482,1.484,486,2.17,492,1.953,521,3.296,529,2.046,549,3.142,582,2.112,777,2.775,867,2.74,1035,2.463,1116,2.059,1144,2.675,1616,3.54,1620,1.998,1637,4.205,1684,5.377,1691,2.811,1708,3.084,1709,5.311,1711,2.775,1722,2.74,1725,5.766,1777,3.031,1795,3.54,2108,3.44,2860,4.205,3103,3.54,3232,3.656,3353,4.205,3354,3.971,3355,4.56,3356,4.56,3357,4.56,3358,4.56,3359,4.56,3360,4.205,3361,5.554,3362,7.501,3363,3.275,3364,4.56,3365,4.56,3366,4.205,3367,4.56,3368,4.205,3369,4.56,3370,4.56,3371,4.56]],["title/748",[1144,3.798,1626,4.104]],["content/748",[18,1.378,47,2.626,48,2.607,49,2.115,51,2.494,69,2.628,131,1.81,134,3.353,151,4.715,194,1.965,240,2.737,243,3.253,249,2.35,311,2.081,379,2.494,398,2.761,415,3.744,458,2.714,492,2.229,559,4.057,744,3.089,1003,3.827,1035,2.812,1045,2.761,1106,1.921,1143,3.167,1144,5.861,1158,4.532,1202,5.623,1485,3.403,1554,4.04,1588,3.926,1626,5.747,1628,3.739,1632,4.173,1733,4.332,2298,3.52,2606,4.8,3354,6.659]],["title/749",[1702,6.345]],["content/749",[18,1.577,20,3.145,52,1.362,69,1.799,73,1.761,74,1.937,99,2.508,104,0.859,131,3.947,132,6.156,133,5.294,134,3.573,145,1.453,152,1.627,181,2.297,182,2.027,183,3.107,241,1.16,242,4.298,308,3.206,314,3.658,331,1.744,374,3.848,406,1.577,409,3.019,415,1.565,446,1.565,476,3.479,477,1.756,479,4.942,546,1.554,557,1.554,559,1.696,589,2.49,619,3.07,887,2.297,891,2.827,896,1.815,951,1.855,976,1.462,1087,1.565,1141,2.412,1144,1.876,1149,2.564,1175,3.848,1404,2.297,1601,2.351,1615,2.248,1626,2.027,1691,1.972,1702,2.482,1722,1.921,2474,2.949,2868,2.784,3372,2.784,3373,3.198,3374,3.198,3375,2.949]],["title/759",[151,3.991,375,3.293]],["content/759",[18,1.446,28,1.673,47,1.579,48,2.584,49,2.63,50,1.632,62,1.521,69,1.076,74,0.912,131,2.277,132,2.509,134,1.499,135,1.489,151,4.673,176,1.318,228,1.646,229,1.51,279,0.675,311,3.348,313,1.251,331,1.707,332,1.842,374,2.301,375,3.855,377,4.095,393,1.815,454,1.118,477,1.05,482,1.673,497,2.117,504,5.138,515,1.956,524,1.304,562,1.66,568,1.632,581,2.24,641,2.447,688,1.74,873,2.248,889,2.494,1003,2.301,1032,2.117,1038,1.675,1063,1.956,1106,1.898,1137,2.117,1139,1.904,1143,1.904,1144,3.017,1152,1.74,1165,1.618,1190,1.5,1254,1.795,1395,3.418,1501,2.509,1505,2.605,1536,2.725,1540,1.675,1551,1.904,1624,2.605,1701,2.301,1721,2.117,1733,2.605,1957,1.881,2066,2.2,2298,2.117,2322,3.478,2912,2.117,3160,2.725,3320,2.725,3321,2.605,3324,2.429,3354,2.725,3376,3.13,3377,2.725,3378,3.13,3379,2.886,3380,3.13,3381,2.886,3382,2.886,3383,2.509,3384,3.13,3385,2.429,3386,2.886,3387,2.605,3388,2.886]],["title/750",[895,4.852]],["content/750",[28,3.035,44,6.428,279,2.012,895,5.537,915,4.265,941,7.037,1029,5.41,1276,6.428,2074,6.858,3389,7.764]],["title/751",[2074,4.76,3389,5.389]],["content/751",[]],["title/752",[12,2.345,48,1.559,49,1.264,3390,4.573]],["content/752",[12,3.426,18,1.388,44,4.604,48,3.81,49,3.091,52,2.845,74,1.947,104,1.795,150,2.645,279,1.441,379,3.201,380,3.345,394,4.368,454,2.261,485,3.115,517,3.036,714,4.502,893,5.04,895,3.966,1106,2.466,1485,4.368,1563,3.875,1573,4.519,1592,4.604,1711,4.066]],["title/753",[377,3.497,504,3.497]],["content/753",[18,1.27,35,2.879,49,3.088,135,3.974,151,3.626,332,2.106,375,2.991,377,4.512,380,2.944,492,3.577,497,3.978,498,3.533,504,4.512,520,6.277,582,2.724,657,2.351,720,1.95,889,2.241,891,3.177,912,3.411,951,3.411,1032,3.978,1081,3.675,1091,4.324,1093,3.784,1133,3.238,1157,3.207,1501,4.715,1880,5.121,2322,3.978,3231,3.978,3389,4.895,3391,5.881,3392,5.423,3393,5.423]],["title/754",[941,6.166]],["content/754",[28,2.453,35,3.689,88,3.342,247,5.85,279,1.625,415,3.689,453,6.274,720,2.5,895,5.874,1011,6.273,1093,4.85,1131,4.277,1498,5.85,1955,6.563,2885,6.563,2975,5.194,3066,6.273,3193,5.542,3383,6.042,3394,6.042,3395,7.538,3396,7.538,3397,7.538]],["title/755",[48,2.207,49,1.79]],["content/755",[0,3.143,8,0.927,48,2.474,49,2.007,88,3.218,241,2.633,247,5.634,332,2.599,377,3.921,415,3.553,454,1.578,455,5.859,497,4.909,498,4.361,686,4.308,873,6.934,894,5.002,995,6.041,997,6.041,1004,5.819,1106,2.679,1265,6.212,1540,3.885,3398,6.693]],["title/756",[379,3.916]],["content/756",[48,2.672,49,2.167,88,3.475,112,2.494,176,3.301,241,2.843,331,4.274,379,4.864,415,3.837,453,4.969,454,1.704,455,4.234,562,4.158,642,5.63,712,3.729,873,5.63,913,4.315,1127,6.524,2505,7.227,3399,7.227,3400,7.839]],["title/757",[18,0.984,104,1.74]],["content/757",[12,1.58,18,1.436,34,1.163,35,1.508,37,1.58,48,2.559,49,2.296,54,2.084,55,0.936,74,1.48,104,2.231,241,2.348,279,0.664,321,2.166,332,1.103,379,3.978,380,3.759,394,2.014,406,2.503,415,3.169,454,1.943,455,2.742,477,2.519,484,0.999,485,2.367,492,1.319,493,1.257,495,1.606,529,1.383,581,1.342,582,1.427,588,1.508,657,2.588,664,1.456,671,1.713,686,5.607,714,1.519,720,1.022,761,3.089,796,1.713,888,1.476,893,2.324,894,5.721,898,1.696,941,2.324,949,2.123,951,1.787,995,2.564,997,4.225,1004,2.47,1025,1.409,1027,2.048,1049,2.391,1063,1.925,1092,3.646,1098,1.73,1106,1.137,1137,2.084,1157,1.68,1201,1.983,1386,1.807,1423,1.899,1438,2.123,1563,1.787,1573,3.433,1580,4.681,1588,2.324,1737,2.166,2085,2.324,2947,1.851,3008,4.681,3086,2.213,3273,2.683,3401,2.841,3402,2.841,3403,6.475,3404,5.077]],["title/758",[415,3.169,948,3.843]],["content/758",[28,2.898,135,4.237,454,1.936,498,5.35,921,7.754,948,5.285,1008,5.001,1243,6.717,1635,5.054,2975,6.136,3405,8.906,3406,8.906,3407,8.906]],["title/760",[498,3.22,514,3.144,515,3.35]],["content/760",[]],["title/761",[498,3.22,514,3.144,515,3.35]],["content/761",[49,1.643,150,2.351,175,3.097,313,4.654,439,3.485,453,3.766,454,1.292,488,3.071,498,5.054,507,3.239,514,4.935,515,6.104,521,2.826,538,2.092,568,3.097,646,2.666,951,3.445,952,4.544,1038,4.503,1124,3.871,1545,3.336,1575,3.209,1711,3.614,3089,4.944,3182,5.477,3232,4.762,3408,5.941,3409,5.477,3410,5.941,3411,5.941,3412,5.941,3413,5.941,3414,5.941,3415,5.941]],["title/762",[279,0.986,498,2.747,514,2.682,515,2.858]],["content/762",[28,1.726,37,1.667,48,1.108,49,1.467,108,1.313,134,2.671,136,2.523,256,3.077,279,0.701,311,1.3,313,1.3,394,2.125,454,1.461,474,3.149,482,1.058,485,1.516,495,1.695,497,2.199,498,5.507,514,4.549,515,4.847,521,1.547,527,1.865,557,3.769,570,5.069,582,2.457,619,3.112,621,1.326,684,1.424,753,6.455,777,4.089,827,1.807,864,2.125,913,2.92,931,2.092,952,1.756,956,2.677,1001,2.285,1022,2.24,1063,2.032,1093,2.092,1097,2.606,1116,1.468,1189,2.335,1249,2.285,1548,2.161,1551,1.978,1804,2.39,1957,5.133,2178,1.978,2877,4.619,3088,1.865,3161,2.706,3296,2.452,3361,2.606,3362,5.388,3366,6.197,3385,2.523,3416,2.706,3417,2.523,3418,6.137,3419,3.251,3420,3.251,3421,3.251,3422,3.251,3423,5.305,3424,2.998,3425,3.251,3426,3.251,3427,2.706,3428,2.998,3429,3.251,3430,2.998,3431,2.706,3432,2.998,3433,2.706,3434,2.831,3435,3.251]],["title/763",[498,2.395,514,2.339,515,2.492,952,2.154,1203,3.196]],["content/763",[279,1.546,313,2.866,454,1.559,492,3.07,495,3.738,498,4.308,514,4.206,515,5.984,579,4.206,652,4.42,952,3.873,1009,4.941,1010,4.363,1016,6.364,1124,3.299,1166,5.968,1251,4.849,1387,6.243,1391,6.243,1575,3.873,1727,6.243,1846,4.158,2419,4.113,3427,5.968,3436,7.17,3437,7.17,3438,7.17]],["title/764",[279,0.986,1203,3.666,3439,4.573,3440,4.573]],["content/764",[0,1.733,37,2.052,49,1.107,50,2.087,52,1.704,53,2.575,76,2.66,134,1.166,135,1.904,175,4.024,176,1.686,279,1.351,313,1.6,379,1.917,453,2.537,454,0.87,477,1.343,483,6.1,492,3.305,497,5.906,514,2.348,515,2.501,529,1.796,574,2.53,592,2.069,619,2.348,686,2.376,761,2.435,894,2.758,895,2.376,902,4.862,945,2.348,1008,2.248,1009,2.758,1010,2.435,1027,2.66,1034,2.813,1079,2.813,1087,1.959,1136,2.501,1152,2.225,1201,2.575,1203,7.6,1204,5.626,1205,3.485,1276,2.758,1412,5.455,1474,3.331,1528,2.758,1563,4.477,1628,2.875,1650,3.209,1984,2.616,2298,2.707,2363,3.331,2364,2.435,3433,3.331,3441,4.003,3442,4.003,3443,4.003,3444,4.003,3445,3.485,3446,6.265,3447,4.003,3448,3.331,3449,4.003,3450,3.69,3451,4.003]],["title/765",[1025,2.96,1957,3.89]],["content/765",[]],["title/766",[1957,4.911]],["content/766",[18,0.71,28,1.519,47,2.356,50,2.434,74,1.361,134,1.361,279,1.521,306,2.095,311,1.866,313,1.866,378,2.394,393,2.708,485,2.177,488,2.414,517,2.121,535,2.337,568,2.434,578,3.522,622,3.624,657,1.866,666,3.054,720,1.548,743,3.217,761,2.841,829,3.743,892,2.918,904,3.433,913,2.57,1008,2.622,1016,3.103,1025,3.886,1044,3.886,1064,3.624,1087,2.285,1143,2.841,1399,3.743,1525,3.103,1545,2.622,1583,3.282,1591,3.433,1624,3.886,1635,2.649,1644,3.158,1777,3.103,1936,4.305,1957,6.424,2035,4.305,2081,4.065,2112,3.624,2912,3.158,2913,3.282,2975,3.217,3213,4.305,3266,4.305,3377,4.065,3452,4.669,3453,4.669,3454,4.669,3455,4.669,3456,4.669,3457,4.669,3458,4.669,3459,4.669,3460,4.305]],["title/767",[1002,4.379,1566,4.65]],["content/767",[37,2.534,49,1.367,50,2.577,63,2.514,74,2.145,219,2.178,313,1.976,321,3.475,454,1.601,477,2.47,482,1.608,484,2.851,485,3.432,491,3.634,498,2.97,505,3.664,519,3.502,520,2.934,521,2.352,563,2.534,666,3.188,888,2.368,889,1.883,898,2.721,900,1.883,908,4.737,912,4.269,913,2.721,969,3.343,1002,5.948,1039,3.837,1211,3.55,1395,4.892,1423,3.047,1545,2.776,1566,5.287,1592,3.406,1762,4.114,1777,3.285,1853,3.837,1957,2.97,2075,4.558,2322,3.343,3090,4.114,3140,4.558,3165,4.558,3240,3.963,3387,4.114,3461,4.943,3462,4.558]],["title/780",[888,3.916]],["content/780",[18,1.132,47,3.755,50,3.88,53,4.789,74,2.861,219,3.28,306,3.34,477,2.497,484,3.182,505,4.089,521,3.541,535,3.726,720,2.468,888,3.565,889,2.835,891,4.02,912,4.316,942,4.946,1399,5.966,1551,4.528,1591,5.471,1730,4.528,3463,6.48]],["title/781",[49,1.79,332,2.318]],["content/781",[37,3.015,48,2.005,49,3.209,54,3.978,219,3.681,253,2.706,306,2.639,332,3.479,484,1.907,505,2.45,514,4.9,531,3.499,570,4.436,671,3.27,672,4.392,684,2.577,744,3.491,885,4.324,889,2.241,900,2.241,909,5.423,916,3.411,1025,2.689,1063,3.675,1087,2.879,1131,3.337,1219,4.565,1254,3.373,1653,3.908,1670,3.337,1957,5.019,3464,5.881,3465,5.121,3466,5.121,3467,5.881]],["title/782",[50,2.794,666,3.384]],["content/782",[12,2.202,18,1.489,35,2.102,37,2.202,47,3.339,49,2.508,50,4.728,53,4.258,69,1.476,74,2.353,184,2.613,219,1.892,241,1.558,313,1.717,332,2.369,400,3.449,454,1.439,484,1.392,505,4.311,519,2.043,557,2.087,622,3.333,666,2.865,686,2.549,888,4.693,892,2.684,893,3.239,894,2.959,895,2.549,900,1.636,902,5.136,903,5.304,904,3.157,907,2.807,908,2.763,1006,2.684,1008,2.412,1039,3.333,1106,2.442,1143,2.613,1211,3.084,1226,2.278,1395,4.397,1578,6.101,2298,2.904,2322,2.904,3193,3.157,3382,3.959,3387,3.574,3468,4.294,3469,3.443,3470,3.739]],["title/783",[1777,4.303,3471,5.97]],["content/783",[3,2.399,37,2.742,48,3.139,49,2.546,69,1.837,74,1.558,154,2.764,171,3.101,279,1.682,408,3.067,440,3.034,488,2.764,491,3.931,493,2.181,521,2.544,539,2.637,557,2.598,559,2.836,562,2.836,622,4.15,888,3.737,889,2.037,900,2.037,917,2.944,1001,3.759,1002,3.616,1005,4.656,1025,4.21,1044,4.45,1087,2.617,1276,3.684,1395,3.554,1551,3.253,1741,4.45,1777,3.554,1824,4.15,1957,5.532,2081,4.656,2197,3.253,3126,2.836,3460,4.93,3472,5.347,3473,4.656,3474,5.347,3475,5.347,3476,4.656,3477,5.347]],["title/784",[949,5.633]],["content/784",[18,0.673,49,2.745,74,1.289,104,1.188,219,2.983,241,2.455,254,2.658,279,0.954,313,2.706,332,2.944,379,2.119,415,2.165,454,2.003,484,1.434,485,2.062,489,3.851,491,3.252,493,1.804,517,2.01,519,2.104,664,2.09,671,4.571,681,3.851,684,2.966,686,4.88,691,2.09,739,3.546,784,3.109,888,2.119,894,3.048,898,3.726,916,2.565,948,4.017,949,3.048,955,4.078,995,3.682,1000,3.851,1003,3.252,1106,1.633,1131,2.51,1165,2.287,1174,2.992,1211,3.177,1254,2.537,1265,4.356,1502,2.846,1957,2.658,2232,3.433,2317,4.976,3398,4.078,3478,4.423,3479,4.423,3480,3.851,3481,4.423,3482,4.423,3483,3.109,3484,4.423,3485,4.423,3486,4.423]],["title/768",[579,4.795]],["content/768",[256,5.497,279,2.044,521,4.509,538,3.338,639,3.53,1123,5.695,1653,6.299,2044,7.15,3061,7.889]],["title/769",[28,2.107,3316,5.637]],["content/769",[8,0.76,18,1.125,49,1.036,108,2.986,131,2.572,185,1.714,242,1.771,253,1.725,279,1.283,313,1.498,314,3.275,454,0.815,460,1.996,474,2.224,489,5.179,492,2.547,657,1.498,719,2.45,720,1.243,824,3.455,864,2.45,889,1.428,952,2.024,1023,2.491,1025,1.714,1027,2.491,1056,4.769,1081,2.342,1087,1.834,1106,1.383,1123,2.252,1144,2.198,1265,2.412,1344,4.181,1515,3.455,1566,5.312,1615,2.634,1627,4.099,1664,2.827,1670,2.127,1708,2.535,1709,3.771,1767,2.31,1777,3.953,2364,2.28,2669,2.827,3227,5.179,3316,3.263,3318,5.179,3319,3.263,3320,6.439,3321,4.951,3328,3.455,3361,4.769,3362,4.769,3363,2.692,3433,4.951,3487,3.455,3488,2.412,3489,3.748,3490,5.948,3491,3.455,3492,3.748,3493,5.948,3494,3.263,3495,3.748,3496,3.119,3497,3.748,3498,3.748,3499,3.748,3500,3.455,3501,3.748,3502,3.263,3503,3.748,3504,3.748]],["title/770",[531,2.712,1805,5.19]],["content/770",[328,5.946,482,2.694,515,5.174,531,3.468,579,4.856,587,3.565,767,5.705,889,3.154,911,4.974,1025,3.785,1038,4.431,1818,5.174,1846,4.801,2063,6.426,3066,6.891,3505,6.087,3506,8.279,3507,5.946]],["title/771",[1025,2.96,1957,3.89]],["content/771",[49,1.986,61,4.165,108,1.931,279,1.549,313,1.912,454,1.04,483,3.077,486,4.103,505,1.992,517,2.173,523,2.989,562,2.537,578,3.608,582,2.215,652,2.948,657,1.912,720,1.586,761,2.91,939,3.608,956,2.413,1006,2.989,1015,2.56,1025,3.284,1038,2.56,1063,2.989,1087,2.341,1143,2.91,1170,3.077,1399,3.834,1482,2.989,1635,2.714,1753,3.608,1957,6.724,2083,4.41,2145,2.91,2322,3.235,2587,4.164,2912,4.857,3329,3.608,3377,4.164,3401,4.41,3450,4.41,3507,5.158,3508,4.41,3509,4.783,3510,4.164,3511,4.783,3512,4.783,3513,4.783,3514,4.783,3515,3.295,3516,4.783,3517,4.783,3518,4.783,3519,4.783,3520,4.783]],["title/772",[1086,5.432]],["content/772",[8,0.657,12,1.605,18,0.476,28,2.13,37,1.605,48,1.067,49,0.865,65,0.941,74,1.499,77,2.157,88,1.388,108,1.264,111,1.707,134,1.499,143,1.187,148,1.707,151,1.93,256,1.815,279,1.806,332,1.842,375,1.592,378,1.605,397,1.363,415,1.532,454,0.681,471,2.605,477,1.726,482,2.13,492,1.34,510,1.532,516,1.904,517,1.422,529,1.405,579,3.017,580,2.509,604,1.795,720,1.038,744,1.858,790,1.904,816,2.95,849,1.956,884,2.605,889,1.193,904,2.301,913,1.723,915,1.431,945,1.836,994,3.362,1025,2.352,1048,1.815,1064,2.429,1065,2.429,1069,2.681,1074,2.886,1086,5.038,1106,1.898,1123,1.881,1143,1.904,1190,4.012,1201,2.014,1244,2.301,1251,2.117,1254,1.795,1257,2.248,1510,3.362,1591,3.781,1653,2.08,1721,2.117,1743,2.361,1746,2.509,1752,2.2,1843,3.214,1904,2.509,1938,2.429,1957,3.09,2039,1.618,2044,2.361,2196,2.605,2364,1.904,2419,1.795,2465,2.886,2912,2.117,3088,1.795,3089,4.281,3345,2.725,3383,2.509,3416,4.281,3417,2.429,3521,2.509,3522,3.13,3523,3.13,3524,3.13,3525,3.13,3526,2.886,3527,4.742,3528,2.361,3529,3.13,3530,2.886,3531,2.886,3532,2.605,3533,2.886,3534,2.429]],["title/773",[1818,4.046,3093,4.303]],["content/773",[111,3.862,241,2.569,279,1.528,492,3.033,507,3.862,543,5.088,546,3.442,604,4.063,619,4.155,646,3.179,757,3.978,900,2.699,1025,3.239,1525,4.708,1643,5.936,1653,4.708,1746,5.679,1818,4.427,1859,6.545,2036,4.791,2063,5.498,2162,5.498,2947,4.256,3088,4.063,3093,4.708,3535,6.532,3536,7.084,3537,6.168]],["title/774",[18,0.984,185,2.96]],["content/774",[18,0.806,24,1.973,28,1.724,64,2.823,65,1.593,74,1.544,131,1.843,134,1.544,185,4.188,194,2,218,2.836,279,1.143,311,3.097,375,2.695,397,2.308,406,2.613,415,2.594,416,2.862,454,1.685,482,1.724,485,2.47,492,2.269,521,2.521,582,2.454,698,2.335,744,3.145,773,2.763,864,3.464,1035,2.862,1071,3.039,1084,3.806,1093,3.41,1106,1.956,1165,2.739,1177,2.739,1512,3.997,1563,3.073,1611,4.248,1627,3.651,1720,4.113,1737,3.725,1752,5.447,1776,2.889,1779,4.41,1840,4.248,2382,3.997,3228,4.614,3264,3.464,3538,4.886,3539,4.886,3540,5.299,3541,5.299]],["title/775",[773,4.261]],["content/775",[8,1.17,18,1.502,28,1.425,36,1.369,52,1.099,64,1.595,74,0.752,99,1.237,103,1.211,114,2.594,115,2.12,131,0.898,134,0.752,142,1.875,152,3.824,185,4.768,241,0.936,242,2.694,253,2.623,254,1.551,306,1.158,311,1.032,314,3.138,375,1.313,394,1.687,406,2.159,416,3.079,439,1.514,455,1.394,460,1.469,466,1.591,492,1.105,521,1.228,527,1.481,569,2.003,581,1.124,582,3.111,587,1.885,595,2.91,620,1.613,641,1.228,683,1.636,695,1.571,719,1.687,757,1.45,773,1.346,793,1.779,849,2.736,864,1.687,898,1.421,951,1.497,981,1.715,992,3.644,1008,1.45,1029,1.497,1052,2.712,1061,1.636,1065,2.003,1081,1.613,1093,1.661,1106,1.616,1114,4.745,1144,1.514,1157,1.407,1165,1.334,1209,1.687,1510,1.687,1540,3.594,1591,1.898,1631,4.008,1638,1.779,1750,3.51,1767,1.591,1776,3.662,1779,5.59,2317,1.898,2334,2.148,3246,2.069,3264,5.989,3496,2.148,3538,4.037,3542,4.037,3543,2.581,3544,2.581,3545,2.247,3546,2.581,3547,2.38,3548,2.581,3549,2.148,3550,1.854]],["title/776",[55,1.628,406,2.643,3431,4.461]],["content/776",[]],["title/777",[28,2.66]],["content/777",[18,1.259,28,2.694,51,3.966,55,2.514,73,4.558,74,2.413,134,3.065,185,3.785,218,4.431,240,4.353,406,4.083,486,3.939,488,4.28,1008,4.65,1592,5.705,3264,5.412,3551,6.426]],["title/778",[888,3.916]],["content/778",[18,1.277,185,3.839,477,2.818,484,2.722,486,5.048,505,3.498,664,3.968,888,4.023,1139,5.109,1190,4.023,1592,5.786,2044,6.334,3264,5.489,3339,6.518,3552,8.398,3553,8.398]],["title/779",[65,2.457]],["content/779",[8,1.028,12,1.775,18,1.066,28,1.126,52,1.474,55,1.051,64,1.261,65,2.983,69,1.918,98,3.191,99,1.658,107,2.163,108,1.398,109,5.535,131,1.204,134,1.009,142,2.39,152,1.76,176,1.458,182,2.194,183,2.054,185,4.314,242,1.635,253,3.228,254,2.08,255,4.585,256,4.068,279,0.746,331,1.887,375,1.76,406,1.707,460,1.161,477,1.873,492,1.482,493,1.412,529,1.553,581,1.508,684,1.516,688,1.924,743,3.846,744,2.054,827,1.924,849,2.163,864,3.649,889,1.319,900,3.066,913,1.905,915,2.552,951,3.237,976,1.583,1006,2.163,1065,2.687,1106,2.06,1131,1.964,1139,3.396,1157,3.043,1165,1.789,1540,3.754,1584,3.014,1631,3.924,1701,2.545,1779,2.881,1780,2.385,1992,3.775,2252,2.433,2607,3.043,3264,2.263,3542,3.191,3550,2.486,3554,3.014,3555,3.461,3556,3.191]],["title/788",[1086,5.432]],["content/788",[143,2.863,279,1.103,482,2.92,492,2.19,517,2.324,524,2.131,531,2.142,538,1.801,579,3,594,2.966,620,3.197,720,1.696,777,3.112,849,3.197,884,4.257,904,3.76,908,3.291,912,2.966,951,2.966,1025,4.103,1039,3.97,1044,4.257,1048,4.379,1063,3.197,1086,5.964,1131,2.903,1386,4.429,1508,4.257,1645,3.459,1653,5.017,1678,3.858,1718,4.716,1838,4.453,2046,3.97,2058,4.257,2064,3.76,2252,3.595,3107,4.453,3336,4.257,3353,4.716,3383,6.052,3385,3.97,3462,4.716,3557,5.115,3558,5.115,3559,4.716,3560,4.716,3561,5.115,3562,5.115,3563,4.716,3564,5.115]],["title/789",[8,0.509,151,2.458,1025,1.823,1957,3.753]],["content/789",[256,5.013,378,4.432,471,7.194,579,5.07,580,6.929,913,4.758,1086,5.744,1591,7.944,1721,5.846,1843,5.402,2196,7.194,3385,6.709,3416,7.194,3527,7.97]],["title/790",[74,1.887,143,2.455]],["content/790",[]],["title/791",[481,5.26]],["content/791",[18,1.202,28,2.572,74,1.587,77,3.753,88,2.414,108,2.199,134,2.304,143,2.065,145,2.474,148,2.969,241,1.975,279,1.174,306,3.547,397,3.443,454,1.184,470,2.915,477,1.827,482,2.572,510,2.666,744,3.232,849,3.404,889,2.075,904,4.004,1019,4.227,1054,3.272,1069,2.839,1082,4.742,1083,5.021,1086,3.619,1106,2.918,1124,2.506,1143,3.314,1190,4.891,1743,4.108,1746,4.366,1752,3.828,1904,4.366,1938,4.227,2364,3.314,3416,4.533,3530,5.021,3531,5.021,3532,4.533,3565,5.446,3566,5.446]],["title/792",[169,4.001]],["content/792",[3,1.443,18,0.489,28,1.046,30,1.509,71,0.94,88,2.331,130,2.137,131,2.32,134,1.532,143,3.808,150,2.081,169,1.574,176,1.354,229,1.551,279,1.134,311,1.285,313,2.102,378,1.649,398,1.706,454,0.699,470,1.721,477,1.079,482,2.17,485,3.11,493,2.145,510,3.771,513,1.676,516,1.956,538,1.132,559,2.789,584,2.364,587,1.385,589,3.173,614,1.909,646,2.359,712,3.173,714,1.586,777,3.199,816,1.844,849,2.01,900,1.225,911,1.932,956,1.622,976,1.47,1061,2.038,1075,2.8,1086,2.137,1123,1.932,1136,2.01,1141,6.408,1142,3.966,1148,2.8,1157,1.753,1173,2.309,1175,2.364,1177,1.662,1226,1.706,1257,2.309,1327,2.069,1449,2.578,1510,2.102,1575,1.737,1643,6.494,1644,4.511,1645,2.175,1652,2.8,1653,2.137,1654,2.965,1656,1.825,1724,2.216,1752,2.26,1753,2.426,2039,3.448,2085,3.966,2114,2.426,3107,2.8,3234,1.956,3240,2.578,3324,2.496,3385,2.496,3567,3.216,3568,3.216,3569,3.216]],["title/793",[3533,7.537]],["content/793",[28,2.694,65,2.488,375,4.211,477,2.778,517,3.762,790,5.037,945,4.856,1035,4.472,1064,6.426,1069,4.316,1190,3.966,1254,4.749,1628,5.946,1843,5.174,2419,4.749,3088,4.749,3246,6.637,3534,6.426]],["title/785",[1735,5.343]],["content/785",[18,1.208,28,2.585,74,2.985,103,3.728,112,2.528,114,2.741,115,2.24,279,1.713,454,1.727,482,2.585,529,3.565,546,3.86,564,5.841,911,4.773,915,3.632,1049,6.166,1175,5.841,1213,5.193,1548,5.279,1735,5.193]],["title/786",[8,0.827,375,3.293]],["content/786",[18,1.559,74,1.602,112,3.263,114,1.896,115,1.55,131,1.912,134,1.602,218,2.942,241,1.994,308,2.652,311,3.181,332,1.968,439,3.224,454,1.73,476,3.653,477,3.139,507,2.997,532,3.948,849,3.435,915,2.513,954,4.407,994,3.593,1106,2.029,1120,3.593,1131,3.119,1190,3.812,1197,3.864,1213,3.593,1243,4.146,1563,3.188,1691,3.389,1708,5.382,1709,5.045,1722,3.303,1732,5.045,1735,5.202,1736,4.575,2874,4.786,3570,5.497]],["title/787",[219,3.602]],["content/787",[64,3.576,65,2.237,69,2.557,134,2.169,185,3.403,219,3.28,308,3.591,415,3.643,454,1.618,529,3.34,1177,5.074,1184,3.816,1652,6.48,1701,5.471,1735,4.865,1774,6.194,1775,6.862,1776,5.351,3038,6.48,3571,6.862,3572,7.442,3573,6.862,3574,7.442]],["title/794",[1045,4.336]],["content/794",[18,0.885,28,3.426,47,2.938,49,2.293,131,2.885,134,2.816,279,1.256,313,2.328,477,1.954,478,4.392,488,3.01,498,4.983,514,3.416,515,3.639,520,3.456,529,2.613,582,2.697,641,2.77,892,3.639,893,4.392,941,4.392,994,3.806,1022,4.012,1045,3.089,1056,4.668,1071,3.34,1133,3.206,1174,3.938,1548,3.87,1725,4.847,1805,4.668,2419,3.34,3101,5.369,3234,3.543,3418,4.182,3483,4.093,3575,8.295,3576,5.823,3577,5.823]],["title/795",[1185,3.939,1482,4.046]],["content/795",[28,3.035,112,2.968,495,4.863,519,4.438,546,4.533,587,4.017,1035,5.039,1045,4.948,1824,7.24,3578,8.122]],["title/796",[3579,7.117]],["content/796",[28,3.537,99,2.997,112,1.991,134,2.928,176,2.635,194,2.362,254,5.242,419,5.768,454,1.36,578,4.719,655,2.774,915,2.86,936,5.207,1034,4.398,1036,5.447,1037,4.856,1055,4.158,1106,2.309,1131,3.55,1155,3.91,1528,4.311,1662,3.91,1806,5.015,2066,4.398,2094,5.447,3209,5.447,3340,5.768,3466,5.447,3578,5.447,3579,5.447,3580,6.256,3581,5.768,3582,5.768,3583,6.256,3584,5.768]],["title/797",[3585,6.804]],["content/797",[28,3.276,103,3.63,108,3.123,112,2.461,134,2.254,546,4.892,578,5.835,643,5.33,655,3.429,915,3.537,1093,4.978,1477,4.486,1541,5.835,1772,5.232,2076,4.904,3103,6.004,3581,7.132,3585,6.438,3586,7.132,3587,7.736,3588,7.736]],["title/798",[485,3.018,535,3.242]],["content/798",[18,0.931,28,1.993,73,3.372,74,1.785,103,2.875,111,3.34,134,2.506,254,3.68,279,1.854,454,2.16,477,2.055,500,3.514,546,4.827,912,3.553,1033,4.143,1122,6.321,1137,4.143,1141,6.485,1165,3.167,1170,3.942,1171,4.4,1423,3.776,1551,3.727,1597,4.306,1721,4.143,1788,7.709,2045,4.504,2732,4.143,3445,5.334,3463,5.334,3589,6.126,3590,6.126,3591,6.126]],["title/799",[18,0.815,131,1.864,646,2.405]],["content/799",[18,0.941,99,2.966,108,2.5,112,1.97,131,2.153,134,3.318,171,5.022,184,3.766,194,3.771,241,3.623,308,2.987,314,3.408,331,3.375,436,3.053,516,3.766,546,3.008,563,3.174,915,3.96,1115,4.967,1136,3.869,1165,3.2,1175,4.551,1184,3.174,1614,5.708,1701,4.551,1772,4.187,2055,5.152,2094,5.39,2178,3.766,3592,5.152,3593,6.191]],["title/800",[18,0.815,28,1.744,74,1.562]],["content/800",[18,1.579,28,3.543,48,1.671,49,1.355,50,2.556,69,1.684,74,2.551,131,1.705,134,3.38,241,3.174,279,1.057,313,1.96,314,2.699,454,1.591,477,1.645,485,2.285,492,2.099,563,3.751,684,2.148,720,1.626,889,1.868,895,2.909,915,3.345,956,2.473,1029,2.843,1032,3.315,1045,3.88,1055,3.258,1071,2.812,1098,2.753,1106,2.7,1250,3.604,1395,3.258,1573,3.315,1709,3.108,2190,3.521,3234,2.983,3579,4.268,3594,4.52,3595,4.902,3596,4.902,3597,4.902]],["title/801",[73,3.564,74,1.887]],["content/801",[28,3.425,75,3.84,108,3.745,134,1.993,194,3.501,488,3.535,720,2.268,1003,5.027,1028,4.215,1043,5.307,1045,4.919,1071,3.922,1106,2.524,1120,4.469,1121,4.058,1150,5.481,1153,6.304,1548,4.544,1711,4.16,1764,4.544,3344,6.304,3345,5.953,3585,5.691,3598,6.304,3599,6.837,3600,6.837,3601,6.837,3602,6.837]],["title/802",[112,2.06,3578,5.637]],["content/802",[28,2.732,84,5.177,112,2.672,171,4.87,241,3.046,253,3.864,254,5.045,279,1.811,314,4.623,454,1.826,915,3.839,981,5.581,1035,4.536,1121,4.984,1742,5.581,1806,6.732,3584,7.743]],["title/806",[1118,5.343]],["content/806",[18,1.277,28,2.732,134,2.447,175,4.378,176,3.536,233,3.536,279,1.811,311,3.357,454,1.826,482,2.732,641,3.995,1045,4.454,1118,5.489,1122,6.174,1178,5.903,1788,6.518,3276,6.989]],["title/807",[1174,5.529]],["content/807",[0,2.653,18,1.307,28,2.797,49,2.377,69,2.105,103,2.875,104,1.646,108,2.474,111,3.34,112,1.949,134,3.306,163,4.4,164,4.4,304,4.504,311,2.449,313,2.449,332,2.194,394,4.004,463,4.004,557,2.977,559,3.249,589,2.914,646,2.749,672,3.221,684,3.766,1118,4.004,1174,4.143,1177,3.167,1242,3.636,1615,4.306,1620,2.684,1716,4.911,2419,3.514,3603,6.126,3604,6.126]],["title/808",[1190,3.916]],["content/808",[18,1.354,28,2.898,108,3.596,112,2.834,134,2.595,241,3.23,332,3.189,380,4.459,439,5.224,477,3.693,2290,7.754,3424,8.211]],["title/809",[1178,5.746]],["content/809",[18,1.505,28,2.453,69,2.59,131,2.622,134,3.221,468,6.563,485,3.514,557,3.663,558,5.686,589,4.709,666,3.264,1071,4.323,1170,4.85,1171,5.414,1178,5.298,1185,4.586,1188,5.686,1195,5.85,1573,5.098,1620,3.302,3061,6.273]],["title/803",[1170,4.166,1171,4.65]],["content/803",[18,0.993,102,3.046,112,2.079,134,3.227,143,2.478,194,2.466,279,1.939,311,2.612,313,2.612,415,3.198,454,1.955,482,2.126,506,5.238,657,2.612,956,3.297,1052,3.108,1117,5.689,1118,4.271,1121,3.878,1157,3.562,1170,5.785,1171,6.457,1188,4.929,1195,5.071,1563,3.789,1627,4.502,3605,6.534,3606,6.024,3607,6.534,3608,6.534]],["title/804",[257,5.529]],["content/804",[18,1.684,28,2.126,69,2.245,75,3.669,78,4.856,242,3.087,331,3.562,398,3.466,1048,3.789,1071,3.748,1106,3.319,1120,6.719,1170,4.204,1171,6.457,1187,5.689,1188,6.782,1195,8.594,1558,4.693,1620,2.863,1711,3.975,1764,5.975,1938,5.071,3226,2.83,3273,5.689]],["title/805",[1178,5.746]],["content/805",[18,1.388,69,2.296,78,3.609,104,1.795,134,3.258,176,2.814,242,4.314,306,2.999,314,3.678,331,3.643,398,3.544,406,3.295,454,1.453,477,2.242,557,3.247,657,3.65,688,3.715,714,3.295,1144,5.356,1185,4.066,1187,5.818,1188,6.887,1226,3.544,1558,4.799,1620,2.928,1626,4.236,1716,5.357]],["title/810",[3609,6.553]],["content/810",[]],["title/811",[477,1.338,579,2.339,891,2.154,3609,3.196,3610,3.676]],["content/811",[28,2.153,114,1.481,115,1.211,219,1.892,257,4.475,279,0.926,328,3.084,376,2.854,477,1.441,486,3.148,492,1.839,500,2.463,524,1.789,531,2.771,567,4.195,582,1.989,587,2.849,640,3.739,657,1.717,661,2.364,701,3.574,889,2.521,911,3.975,915,1.963,952,2.32,973,3.333,981,2.854,1002,2.904,1008,2.412,1016,2.854,1025,1.963,1081,2.684,1086,2.854,1094,2.959,1106,2.442,1173,3.084,1213,2.807,1226,2.278,1250,3.157,1377,2.437,1398,3.239,1620,1.881,1661,2.807,1749,2.854,1752,3.019,1846,2.49,1957,2.58,2071,2.647,2322,2.904,2643,3.333,2947,2.58,3221,3.574,3232,3.443,3245,5.507,3321,3.574,3394,3.443,3434,3.739,3609,7.27,3610,3.959,3611,3.019,3612,4.294,3613,4.294,3614,4.294,3615,4.294,3616,4.294,3617,4.294,3618,3.157,3619,4.294,3620,4.294,3621,3.959,3622,3.959]],["title/812",[279,0.986,546,2.222,604,2.623,3623,4.573]],["content/812",[28,2.551,142,4.348,143,2.973,507,5.536,557,3.809,1016,5.209,1071,4.496,1377,4.448,1818,6.346,2139,5.124,3105,7.227,3363,5.63,3609,6.284,3624,10.154,3625,7.839,3626,7.839,3627,7.839,3628,7.839]],["title/813",[69,2.225,3609,5.19]],["content/813",[]],["title/814",[482,2.66]],["content/814",[18,1.219,24,1.875,28,2.608,30,1.027,32,1.372,47,1.104,48,0.746,49,1.663,54,3.405,74,1.984,84,1.349,108,0.883,111,1.193,112,1.209,114,0.755,115,0.617,131,2.091,133,2.374,135,1.041,171,1.269,175,1.141,219,0.964,253,1.007,256,1.269,257,1.48,278,1.65,313,2.013,314,1.204,378,1.122,453,3.192,454,0.476,482,0.712,485,1.02,486,4.23,491,5.004,500,2.179,504,4.031,517,0.994,519,2.395,520,1.299,524,0.912,563,1.122,578,2.866,582,1.013,592,1.131,619,1.283,624,1.171,646,2.698,889,0.834,893,1.65,913,1.204,915,3.664,1016,1.454,1025,3.112,1038,1.171,1045,1.161,1081,2.374,1087,1.86,1122,1.609,1124,1.007,1144,1.283,1157,1.193,1170,1.408,1171,1.571,1213,3.291,1242,2.255,1250,1.609,1254,1.255,1377,1.242,1395,1.454,1510,1.43,1526,1.754,1547,1.609,1548,1.454,1626,1.387,1627,1.508,1628,1.571,1647,1.095,1691,1.349,1708,1.48,1709,1.387,1722,2.283,1733,1.821,1746,1.754,1788,1.698,1825,2.017,1840,1.754,1957,4.089,1984,1.43,2058,1.821,2080,1.821,2143,1.905,2419,1.255,3093,1.454,3325,1.905,3379,2.017,3383,3.046,3385,1.698,3388,2.017,3428,2.017,3431,1.821,3463,1.905,3470,1.905,3629,2.188,3630,5.926,3631,2.188,3632,5.926,3633,2.188,3634,2.188,3635,2.188,3636,2.017,3637,1.821,3638,2.188,3639,1.905,3640,3.503,3641,2.188,3642,2.188,3643,2.949,3644,2.188,3645,2.188,3646,2.188,3647,1.905,3648,2.188,3649,2.188,3650,2.017,3651,1.821,3652,2.188,3653,2.188]],["title/815",[2322,5.529]],["content/815",[28,2.382,37,1.516,49,0.818,54,2,112,0.941,175,1.542,176,1.245,306,1.327,378,1.516,446,1.447,453,1.875,454,1.067,463,1.933,504,4.73,510,1.447,517,1.344,519,2.335,521,1.407,588,1.447,712,1.407,757,2.756,777,1.799,889,1.127,893,5.523,912,1.715,915,2.244,941,3.702,1024,2.295,1025,2.244,1087,4.287,1116,1.335,1152,1.644,1219,4.882,1395,4.866,1516,6.758,1534,4.084,1588,2.231,1589,2.079,1684,2.295,1730,1.799,2164,2.727,2322,7.025,3184,2.124,3284,4.525,3630,7.07,3632,7.07,3643,6.797,3654,2.575,3655,2.957,3656,2.957,3657,2.575,3658,8.758,3659,2.957,3660,4.907,3661,6.29,3662,4.907,3663,2.957,3664,6.29,3665,2.957,3666,2.727,3667,2.957,3668,2.957,3669,2.957,3670,2.174,3671,4.084,3672,2.957,3673,4.907,3674,2.957,3675,2.957,3676,2.957,3677,2.957,3678,2.957,3679,2.957,3680,2.957,3681,2.461,3682,2.957,3683,2.957,3684,2.957]],["title/816",[498,4.911]],["content/816",[18,1.117,28,2.391,148,4.007,504,5.895,546,4.73,563,3.768,568,3.831,900,2.8,951,4.262,1038,3.933,1087,3.597,1563,4.262,3476,6.399,3630,8.475,3632,8.475,3685,7.349,3686,7.349,3687,7.349,3688,7.349,3689,7.349,3690,7.349,3691,7.349]],["title/817",[1121,4.852]],["content/817",[18,1.244,28,2.661,74,2.384,103,2.68,131,2.845,242,4.515,279,1.764,311,3.27,454,2.078,470,3.056,477,1.916,482,3.396,529,2.562,589,2.717,646,3.67,899,4.307,935,4.432,938,5.265,939,4.307,1025,2.611,1027,3.795,1038,3.056,1069,2.977,1095,4.198,1121,5.672,1126,4.432,1478,4.753,1590,4.753,1616,4.432,1678,4.307,1805,4.578,2197,4.976,3692,5.71]],["title/818",[131,2.843]],["content/818",[18,1.812,28,2.08,97,3.519,102,4.129,109,3.749,131,3.08,133,3.995,134,1.863,229,3.084,311,2.555,454,1.39,477,2.145,546,3.106,646,2.868,760,4.961,1022,4.404,1027,4.248,1035,3.453,1055,4.248,1056,5.124,1079,4.493,1106,2.359,1121,3.794,1178,4.493,1386,3.749,1626,4.052,1635,3.627,1845,4.961,2050,5.565,2066,4.493,3319,5.565,3393,5.894]],["title/819",[242,3.862]],["content/819",[18,1.725,48,1.432,49,1.162,73,2.313,74,2.613,99,2.013,104,2.756,112,1.337,131,2.769,134,3.222,152,2.137,181,4.673,242,5.577,314,4.935,406,2.072,477,1.41,912,2.437,956,2.12,1035,2.27,1106,2.939,1113,2.842,1116,1.897,1120,2.747,1125,2.525,1133,2.313,1211,3.018,1254,5.142,1480,2.313,1549,3.875,1575,2.27,2197,2.557,3208,3.875,3226,4.787,3480,3.659,3547,3.875,3693,4.202]],["title/820",[1144,3.798,1626,4.104]],["content/820",[18,1.437,28,1.823,51,2.684,69,3.249,104,1.505,112,1.782,131,1.948,134,3.429,176,2.359,194,3.045,242,4.887,243,3.501,311,2.239,488,2.896,492,2.398,951,3.249,1032,3.788,1035,3.026,1045,2.971,1084,4.023,1106,2.068,1121,3.325,1144,6.067,1510,3.661,1588,4.225,1620,2.454,1626,3.551,1632,4.49,1716,4.49,1727,4.877,2046,4.348,2066,3.938,3121,4.877,3694,4.877,3695,5.602]],["title/821",[73,3.564,74,1.887]],["content/821",[18,1.146,28,2.453,73,4.149,74,2.197,131,2.622,242,3.561,279,1.625,311,3.013,454,2.152,482,2.453,485,3.514,624,4.034,1006,4.711,1027,5.009,1035,4.071,1038,4.034,1121,5.874,1123,4.528,1178,5.298,1423,4.647,1510,4.927,1563,4.371,1573,5.098]],["title/822",[1551,4.974]],["content/822",[52,3.688,73,5.499,74,2.911,78,3.344,102,2.886,104,2.684,279,1.335,306,2.778,406,4.926,454,1.883,482,2.014,493,2.525,589,4.12,655,2.744,1027,4.114,1095,4.551,1116,3.91,1121,5.14,1123,3.719,1125,5.203,1635,3.513,1662,3.869,1764,5.755,2112,4.805,3696,6.191,3697,6.191,3698,6.191]],["title/823",[18,0.815,82,2.705,1587,4.16]],["content/823",[18,1.769,52,2.298,62,2.622,73,5.095,74,2.963,75,3.03,82,2.723,99,2.585,104,1.45,108,2.179,131,2.731,134,2.963,242,4.374,311,2.157,312,3.586,332,2.812,398,2.862,458,2.813,470,2.888,477,1.811,587,2.324,666,2.337,951,3.129,1027,3.586,1035,2.915,1106,3.416,1125,3.242,1129,3.165,1138,5.133,1143,3.283,1165,2.79,1764,5.218,2868,4.698,3465,4.698]],["title/824",[28,1.488,134,1.333,374,3.362,665,2.623]],["content/824",[18,1.336,28,3.287,48,2.155,49,1.748,73,4.839,74,2.562,75,3.551,134,3.182,150,2.503,194,3.318,241,2.294,242,2.988,332,2.264,374,4.649,398,3.354,470,3.384,488,3.269,589,3.008,665,3.627,666,2.738,712,3.008,951,3.667,1006,3.952,1034,4.445,1106,2.334,1113,4.277,1125,5.281,1175,4.649,1764,4.202,1806,5.069]],["title/825",[1129,4.795]],["content/825",[18,1.311,28,1.556,48,2.448,49,1.986,52,3.058,69,1.643,73,2.633,74,1.394,75,2.686,82,4.837,104,2.317,108,2.9,131,2.498,134,2.994,136,3.712,150,1.893,181,3.435,183,2.839,194,1.805,241,1.735,406,2.358,414,2.989,470,2.56,655,2.12,666,3.11,684,2.095,905,3.295,976,2.187,1034,3.362,1045,2.537,1048,2.774,1095,3.516,1106,1.765,1125,4.315,1129,4.213,1138,3.126,1150,5.757,1157,2.608,1165,2.472,1178,5.048,1625,4.164,1764,3.178,1767,2.948,1806,3.834,3699,4.783,3700,4.783,3701,4.783,3702,4.783,3703,4.783]],["title/826",[73,3.564,1132,4.104]],["content/826",[18,1.176,103,3.63,279,1.668,440,4.39,454,1.682,482,3.276,524,3.223,983,6.438,1029,4.486,1071,4.437,1106,2.855,1120,5.056,1121,6.642,1125,6.048,1132,4.904,2153,6.438,3317,7.132,3487,7.132,3704,7.736]],["title/827",[1551,4.974]],["content/827",[73,4.978,74,2.635,312,6.009,496,7.249,517,4.108,657,3.614,684,3.961,1132,5.732,1551,5.501,1770,7.526,1841,5.432,3705,6.82]],["title/828",[1129,4.795]],["content/828",[18,1.224,73,4.433,74,2.347,108,4.172,409,3.659,492,3.448,586,4.522,858,5.264,908,5.182,1121,4.78,1129,6.692,1133,4.433,1138,6.753,3706,8.053,3707,8.053,3708,8.053]],["title/829",[1130,6.345]],["content/829",[18,1.642,28,2.555,73,5.095,74,1.573,75,4.41,108,3.171,134,1.573,279,1.164,309,2.888,314,2.971,378,2.767,458,2.813,477,1.811,492,2.311,513,4.093,517,2.452,523,3.372,574,2.179,587,3.381,905,3.718,1071,3.095,1106,1.992,1125,3.242,1129,4.606,1130,8.384,1134,4.698,1138,7.06,1192,4.326,1202,3.967,1575,2.915,1638,3.718,1760,5.31,1763,4.188,3339,4.188,3709,5.396]],["title/830",[1125,4.911]],["content/830",[18,1.314,279,1.864,455,5.837,482,2.813,495,4.506,659,3.809,684,3.787,872,7.97,1125,5.193,1127,7.194,3494,7.526,3710,8.644,3711,8.644,3712,8.644]],["title/831",[18,0.815,646,2.405,1602,3.85]],["content/831",[18,1.066,52,1.972,73,5.868,74,2.043,75,4.75,78,5.758,104,1.884,108,1.87,112,1.474,134,3.107,242,3.997,306,2.079,314,2.55,332,1.659,348,4.033,415,2.267,460,2.352,492,3.002,684,3.071,714,2.284,761,2.818,897,4.033,915,2.118,969,3.133,1048,2.686,1129,2.717,1132,2.936,1136,2.895,1143,2.818,1144,4.112,1174,3.133,1184,2.375,1485,3.028,1588,5.288,1662,2.895,1764,4.659,2489,3.494,2931,3.855,2947,2.783,3095,3.855,3713,4.632,3714,4.632,3715,4.632,3716,4.632,3717,7.011]],["title/832",[18,0.984,3718,6.475]],["content/832",[18,1.519,52,2.216,73,2.866,74,1.517,108,3.088,134,2.229,279,1.122,314,4.21,395,3.167,440,2.954,454,1.132,475,6.839,476,3.459,477,1.747,557,2.529,587,2.241,619,3.053,714,2.567,887,3.739,896,4.34,952,2.812,956,2.626,1081,3.253,1106,1.921,1113,3.52,1120,4.999,1121,3.089,1125,4.595,1129,5.861,1132,5.747,1136,3.253,1449,4.173,1558,3.739,1602,3.739,1620,2.281,1626,3.3,1711,3.167,1742,3.459,1752,3.659,2197,3.167,3719,5.205,3720,5.205,3721,5.205,3722,5.205]],["title/833",[304,4.76,314,3.564]],["content/833",[8,0.863,18,1.399,28,2.199,52,2.878,73,5.065,74,1.97,75,3.796,112,2.151,133,4.224,134,1.97,171,3.92,194,2.551,242,3.194,310,3.465,311,3.678,605,4.285,620,4.224,666,2.927,720,2.242,898,3.721,1121,4.011,1126,5.246,1137,4.571,1563,3.92,1631,4.751,1670,3.835,2177,6.232,3585,5.625,3723,6.759,3724,6.759,3725,6.759]],["title/834",[1482,4.046,1627,4.461]],["content/834",[0,2.141,18,1.119,69,1.698,73,4.052,74,2.145,108,1.996,131,3.624,134,3.184,135,2.352,150,1.957,194,2.779,242,2.336,304,7.66,306,2.218,308,2.385,310,4.996,311,1.976,313,1.976,314,4.052,460,1.659,476,4.892,479,3.181,493,2.017,526,2.205,582,2.289,588,2.42,620,3.089,665,2.835,712,2.352,720,1.639,729,3.55,960,3.729,1106,1.825,1113,3.343,1121,2.934,1165,2.555,1189,3.55,1404,3.55,1589,3.475,1602,3.55,1674,3.55,1691,3.047,3726,4.943,3727,4.558]],["title/835",[314,3.564,1553,5.637]],["content/835",[8,1.597,18,0.868,52,2.431,74,2.785,103,2.68,114,1.97,115,1.61,131,2.845,134,2.384,142,2.445,152,5.307,253,2.628,306,2.562,310,2.928,314,3.143,476,5.436,479,3.674,493,2.329,529,2.562,898,3.143,917,4.503,1098,3.207,1114,4.753,1121,4.855,1126,4.432,1533,3.935,3158,5.265,3256,4.753,3728,5.71,3729,5.71,3730,5.71]],["title/836",[896,3.674,1602,4.65]],["content/836",[18,1.767,71,2.149,131,3.796,134,3.181,142,3.147,475,5.544,476,4.884,479,6.264,557,3.571,665,4.215,896,6.194,1602,6.991,1646,5.403,1732,4.659,2197,4.472,3325,6.399]],["title/837",[1189,4.65,2063,5.025]],["content/837",[18,1.544,76,5.209,131,2.726,134,2.959,135,3.729,304,5.763,310,4.019,314,4.315,416,4.234,446,4.97,529,3.517,620,4.899,981,5.209,1136,4.899,1265,5.044,1741,6.524,3549,6.524,3731,7.839,3732,7.839]],["title/843",[65,2.457]],["content/843",[18,1.09,61,4.158,65,3.24,151,4.42,255,4.687,279,2.065,454,1.559,477,2.406,524,2.987,527,4.113,655,3.179,688,3.986,889,2.732,900,2.732,949,4.941,1008,4.027,1069,3.738,1753,5.409,1805,5.748,2076,4.545,3733,6.611,3734,6.611,3735,7.17,3736,7.17,3737,6.243,3738,7.17]],["title/844",[2076,5.182]],["content/844",[18,0.983,63,3.287,64,3.25,65,3.072,107,4.038,109,3.791,113,3.369,114,2.229,115,1.822,142,4.376,176,2.721,279,1.393,406,3.187,516,3.932,521,4.245,529,2.9,574,2.609,582,2.993,657,2.583,695,3.932,882,5.016,900,2.462,1023,4.295,1093,4.158,1377,3.667,1386,3.791,1477,3.748,1545,3.629,1548,4.295,1851,4.295,2076,4.097,3739,5.958]],["title/845",[1777,5.432]],["content/845",[65,3.441,152,3.603,397,4.137,523,4.427,524,2.951,535,3.547,562,3.758,574,2.86,726,6.168,915,3.239,952,3.826,1777,4.708,1780,4.881,1841,4.256,1859,7.889,2197,4.31,2353,5.498,2503,4.881,3265,5.679,3740,6.532,3741,5.679,3742,6.168,3743,7.084]],["title/846",[1139,4.974]],["content/846",[18,1.117,35,3.597,55,2.232,65,3.28,74,2.142,145,3.339,194,2.774,229,3.546,279,1.585,406,4.8,408,5.583,426,5.892,477,2.466,537,4.97,655,3.258,683,4.659,900,3.709,1543,6.776,1565,4.804,1780,5.064,1842,6.117,3744,6.776]],["title/847",[1992,5.529]],["content/847",[6,2.819,8,1.595,55,2.278,65,3.314,107,4.688,249,3.387,250,5.823,251,5.074,252,5.515,254,4.507,460,2.517,466,3.126,493,3.06,793,3.494,889,2.858,1534,4.22,1589,3.565,1767,4.625,1992,5.074,2742,3.825,3041,4.065,3741,6.014,3745,6.917,3746,7.502,3747,7.502,3748,7.502,3749,7.502,3750,5.071,3751,5.071]],["title/848",[12,3.32,1992,4.379]],["content/848",[8,1.492,12,3.412,18,1.012,24,1.611,37,2.218,55,2.021,65,2.736,101,2.166,109,2.537,131,1.505,142,1.852,225,2.599,249,3.661,250,5.165,251,4.5,252,3.18,254,3.998,255,5.3,460,1.451,466,2.667,493,2.714,494,7.63,521,2.058,526,1.929,581,1.884,605,5.141,620,2.703,621,1.765,900,1.648,1143,2.632,1165,2.236,1659,7.295,1731,3.18,1780,2.981,1841,2.599,1991,3.107,1992,4.5,2453,2.981,3433,3.6,3752,3.989,3753,3.6,3754,4.326,3755,4.326,3756,4.326,3757,4.326,3758,3.989,3759,4.326]],["title/849",[65,1.198,1859,2.747,1992,2.697,3265,3.196,3741,3.196]],["content/849",[8,1.254,18,1.288,55,1.823,61,3.48,65,3.609,74,1.749,107,3.75,108,2.423,145,2.727,194,2.265,251,4.059,406,2.959,408,3.442,466,3.699,493,2.448,537,4.059,548,4.527,549,4.135,556,3.923,585,3.862,1116,2.71,1131,3.405,1565,3.923,1595,4.811,1859,4.135,1992,4.059,2155,4.658,3041,4.811,3265,4.811,3465,7.378,3741,4.811,3745,5.533,3760,6.001,3761,5.533,3762,5.533]],["title/850",[152,2.726,1859,3.693,3742,4.667]],["content/850",[3,1.859,8,1.606,12,3.3,18,0.63,35,2.028,37,2.124,55,1.258,65,3.199,69,1.424,100,3.021,107,2.589,145,1.882,152,4.525,225,2.489,249,1.871,250,3.216,251,4.353,254,2.489,308,1.999,406,2.043,450,3.509,460,2.648,466,3.968,493,2.625,494,4.732,621,1.69,900,1.579,1139,3.916,1659,5.547,1859,4.435,1991,5.668,1992,5.337,2155,4.995,2178,2.521,3041,3.321,3265,3.321,3741,5.159,3742,5.604,3752,3.82,3753,3.448,3761,3.82,3762,3.82,3763,6.436]],["title/851",[142,3.5]],["content/851",[8,1.654,18,0.979,55,1.258,63,2.107,65,2.896,88,1.837,99,1.985,100,3.021,104,1.729,105,2.489,112,1.318,114,2.22,115,1.814,117,3.046,118,2.976,142,3.81,255,2.708,279,0.893,307,2.753,460,2.648,484,2.086,485,1.932,488,2.142,493,2.625,494,3.046,519,1.971,621,1.69,623,3.692,685,2.589,761,2.521,767,2.855,900,1.579,960,3.125,1054,5.789,1750,3.321,1780,2.855,1954,3.82,1991,4.622,2133,3.448,2955,3.448,3764,4.143,3765,4.143,3766,4.143,3767,4.143,3768,4.143,3769,4.143]],["title/838",[18,0.984,74,1.887]],["content/838",[18,1.689,28,2.942,131,3.145,228,5.843,279,1.95,470,4.839,981,6.009,1106,3.337,1722,5.432,3770,9.042]],["title/839",[1097,6.553]],["content/839",[18,1.861,48,2.69,49,2.182,69,1.424,74,2.972,102,1.932,104,2.589,109,3.775,131,2.745,182,5.003,183,4.684,306,1.859,313,1.656,321,2.912,379,1.985,398,4.72,450,3.509,454,1.399,516,2.521,557,2.013,657,1.656,714,3.891,889,1.579,899,3.125,956,2.091,1106,1.529,1110,3.216,1131,2.351,1190,1.985,1386,2.43,1485,2.708,1585,3.82,1701,3.046,1817,3.448,1892,2.554,2050,3.607,2070,3.216,2173,2.976,2290,3.607,3137,2.666,3360,3.82,3389,3.448,3594,3.82,3771,4.143,3772,4.143,3773,4.143,3774,3.82,3775,4.143,3776,4.143]],["title/840",[18,0.984,113,3.375]],["content/840",[]],["title/841",[18,0.984,1646,4.76]],["content/841",[12,1.667,18,1.47,47,3.913,48,2.643,49,2.884,50,1.695,51,2.542,53,3.414,55,1.611,61,1.885,63,2.698,65,1.594,69,1.117,104,0.874,112,2.139,113,1.695,114,2.675,115,2.186,131,1.845,134,0.948,135,3.69,141,1.865,142,2.272,143,2.549,145,1.477,148,1.773,150,2.1,151,2.004,152,2.698,169,1.591,175,1.695,176,1.369,332,1.164,375,1.653,377,1.756,379,1.557,380,3.883,421,2.092,443,2.004,453,2.061,454,1.461,487,2.452,497,2.199,504,1.756,520,1.93,538,1.145,548,2.452,582,1.506,655,3.438,692,2.831,721,4.99,912,1.885,942,2.161,1008,2.979,1045,1.725,1137,2.199,1254,3.043,1257,2.335,1540,1.74,1563,1.885,1582,1.907,1646,2.39,1647,1.628,1659,2.285,1731,2.39,1770,2.706,1864,2.523,3044,2.706,3137,2.092,3777,3.251,3778,3.251,3779,3.251,3780,3.251]],["title/842",[18,0.984,131,2.252]],["content/842",[18,1.42,19,3.466,48,2.519,49,2.264,52,2.116,63,2.527,69,2.185,74,0.875,104,0.807,113,1.565,131,3.878,132,7.488,133,4.619,135,4.444,136,3.857,141,1.722,150,1.967,151,4.556,152,2.527,169,1.47,175,2.591,181,3.569,182,3.15,183,2.949,184,1.827,185,1.373,332,1.779,374,2.207,375,2.527,376,1.995,377,1.622,378,1.539,380,1.503,406,1.481,415,2.432,453,1.903,516,1.827,523,1.876,536,2.031,548,2.265,582,1.391,641,2.364,655,1.331,683,1.903,688,1.669,691,1.419,721,4.091,760,2.33,873,2.156,1048,1.741,1071,1.722,1133,1.653,1144,3.729,1174,2.031,1583,3.493,1588,2.265,1589,2.111,1595,3.984,1626,3.15,1627,3.424,1646,3.654,2197,1.827,3121,2.614,3368,2.768,3375,5.862,3781,3.003,3782,3.003,3783,3.003,3784,3.003,3785,3.003,3786,3.003,3787,3.003]],["title/854",[18,0.984,55,1.966]],["content/854",[18,1.775,28,3.574,55,3.335,134,2.861,150,2.946,314,5.403,406,3.67,454,1.618,621,3.036,858,4.865,1144,4.365,1404,5.345,1624,8.169,1647,3.726,2327,6.862,3788,7.442]],["title/855",[28,2.107,134,1.887]],["content/855",[18,1.314,28,2.813,134,3.599,150,3.421,241,3.135,600,4.805,889,3.293,900,3.293,956,4.361,1174,5.846,1730,5.259,1742,5.744]],["title/856",[28,2.107,3789,6.475]],["content/856",[18,1.465,51,4.615,134,2.808,240,5.066,600,5.356,720,3.195,1202,7.083,3790,9.634]],["title/857",[28,2.107,3791,6.475]],["content/857",[18,1.441,99,4.541,134,2.763,492,4.059,1177,4.9,1202,6.969,3792,8.74,3793,8.74,3794,9.479]],["title/858",[28,2.107,3795,6.475]],["content/858",[18,1.354,64,3.244,100,5.166,107,6.879,380,4.459,1116,4.021,1202,6.547,1764,5.918,2382,6.717,3792,8.211,3793,8.211]],["title/859",[28,2.107,218,3.465]],["content/859",[18,1.208,64,2.894,74,2.315,112,2.528,145,4.653,150,3.144,218,4.252,241,2.881,493,3.241,683,5.036,720,2.635,956,4.008,1116,3.587,1184,4.073,1742,6.806,1763,6.166,1776,4.331,2036,5.373,2453,5.474]],["title/860",[28,2.107,3796,6.475]],["content/860",[18,1.756,76,6.402,218,5.156,380,4.823,1202,7.083,1764,6.402,3797,9.634]],["title/861",[28,2.107,3798,5.97]],["content/861",[18,1.396,130,6.103,134,2.676,143,3.483,150,3.635,588,4.495,657,3.671,849,7.01,956,4.634,1373,7.643]],["title/862",[28,2.107,3799,6.475]],["content/862",[18,1.418,130,6.199,134,2.719,454,2.028,557,4.533,849,5.83,1327,6.003,1373,7.764,1729,7.764,3798,8.601]],["title/863",[28,2.107,377,3.497]],["content/863",[2092,9.473]],["title/864",[888,3.916]],["content/864",[18,1.465,64,3.509,65,2.895,454,2.095,484,3.123,900,4.399,3800,9.634]],["title/865",[3801,8.175]],["content/865",[18,1.567,47,5.201,655,4.57,888,4.938]],["title/866",[142,3.5]],["content/866",[18,1.465,150,3.813,152,4.9,517,5.619,2229,6.402,2230,7.267]],["title/867",[65,2.457]],["content/867",[18,1.595,65,3.153,655,4.651]],["title/868",[148,4.457]],["content/868",[18,1.791,169,4.875,375,5.065,890,5.652,2038,5.331]],["title/869",[112,2.601]],["content/869",[18,1.54,61,5.875,145,4.603,150,4.01,517,4.603]],["title/870",[115,2.305]],["content/870",[3,4.469,18,1.514,115,3.321,143,3.777,150,3.942]],["title/852",[64,2.359,65,1.946]],["content/852",[48,2.358,64,2.52,134,2.016,176,2.913,251,4.678,279,1.492,482,2.251,485,3.225,487,5.218,488,3.576,492,2.962,507,3.772,600,3.846,657,2.765,900,2.636,1097,5.546,1170,4.451,1541,5.218,1545,3.885,1818,4.323,2076,4.385,2912,4.678,3051,6.378,3066,7.78,3417,5.369,3643,5.369,3802,6.918,3803,6.918,3804,6.918,3805,6.378,3806,6.918]],["title/853",[65,1.374,3807,4.573,3808,4.573,3809,4.573]],["content/853",[18,1.064,32,2.528,65,2.104,134,2.746,229,3.377,311,2.798,483,4.504,492,2.997,524,2.916,531,2.932,574,2.826,600,3.892,773,3.649,1022,4.823,1035,3.781,1170,4.504,1545,3.931,2044,5.28,3264,4.575,3417,5.433,3528,5.28,3805,6.454,3810,7,3811,9.274,3812,7,3813,7,3814,7,3815,7]],["title/872",[279,1.156,499,2.922,3077,3.449]],["content/872",[28,2.813,148,4.713,194,3.263,279,1.864,313,3.455,477,2.9,574,3.49,864,5.65,892,5.402,1025,3.952,1055,5.744,1482,5.402,3126,4.585,3434,7.526,3816,7.97]],["title/873",[3322,7.117]],["content/873",[74,2.225,148,5.442,454,1.66,488,3.947,499,4.163,515,4.772,527,4.379,720,2.532,1035,4.124,1045,4.05,1063,4.772,1185,4.645,1482,4.772,1811,7.04,1934,6.121,2066,5.367,2298,5.164,3329,5.759,3339,5.926,3733,7.04,3817,7.635,3818,7.04,3819,7.635]],["title/874",[2913,5.746]],["content/874",[18,1.146,307,5.009,375,3.833,376,5.009,517,3.425,574,3.044,657,3.013,827,4.19,889,2.872,1087,3.689,1116,3.403,1482,4.711,1540,4.034,1545,4.233,1573,5.098,2038,4.034,2039,5.117,3126,6.225,3322,6.563,3734,9.126]],["title/875",[313,3.268]],["content/875",[28,1.569,74,2.106,112,2.299,131,2.513,148,3.94,194,1.82,279,1.04,306,2.164,313,3.464,440,2.736,482,1.569,499,2.629,521,2.294,684,3.166,720,2.396,743,3.322,793,3.322,890,2.736,896,2.736,898,2.654,908,4.65,939,3.637,1008,2.708,1025,2.205,1038,2.581,1045,2.558,1055,3.204,1063,3.013,1079,3.389,1081,3.013,1106,2.667,1126,3.742,1344,3.389,1482,3.013,1632,3.865,1708,3.261,1709,3.057,1848,3.204,1892,2.972,2066,3.389,2197,2.934,3126,5.105,3336,4.013,3361,3.865,3362,3.865,3507,5.19,3554,4.198,3637,4.013,3816,4.446,3820,4.822,3821,4.822,3822,4.822,3823,4.822,3824,4.822,3825,4.446]],["title/876",[1477,3.755,3826,6.475]],["content/876",[8,0.533,18,0.634,28,2.106,64,1.52,74,1.216,111,2.275,112,1.328,148,4.87,185,1.908,194,1.575,279,1.395,460,1.4,482,1.358,488,2.157,492,1.787,493,1.702,557,2.028,581,1.817,582,1.933,620,2.608,621,1.702,657,1.668,793,2.875,905,2.875,908,2.685,956,2.105,994,2.727,1025,2.959,1038,2.233,1046,3.847,1055,2.773,1106,1.54,1114,3.473,1116,1.884,1131,2.368,1185,2.539,1249,2.933,1477,2.42,1482,2.608,1737,2.933,1750,6.355,1757,3.345,2039,2.157,2302,3.345,2507,3.345,2521,3.239,3126,5.425,3139,3.473,3264,6.975,3476,3.633,3507,5.693,3539,3.847,3739,3.847,3818,3.847,3827,4.173,3828,4.173,3829,5.967,3830,4.173,3831,7.927,3832,4.173,3833,4.173,3834,4.173,3835,4.173,3836,4.173]],["title/877",[1582,4.795]],["content/877",[8,0.429,74,0.98,112,1.07,114,1.16,115,0.948,148,4.314,150,1.331,279,0.725,332,1.204,421,4.426,482,1.094,485,1.568,486,1.6,488,2.819,499,5.077,524,1.401,531,2.881,540,4.571,555,5.028,557,1.634,582,2.525,620,2.101,626,2.843,666,2.978,688,1.869,695,2.046,720,1.808,761,2.046,859,2.235,891,1.816,900,1.281,905,2.317,908,2.164,915,1.537,1008,1.888,1029,1.95,1042,2.61,1081,2.101,1093,3.509,1119,3.509,1184,1.724,1209,4.496,1213,2.198,1224,2.536,1393,2.928,1395,3.624,1482,2.101,1502,2.164,1536,2.928,1659,2.364,1675,3.457,1680,2.415,1697,2.696,1796,3.1,1831,1.753,1864,2.61,2038,4.234,2039,1.738,2197,2.046,2202,3.1,2232,2.61,2298,2.274,2920,2.696,3086,4.94,3126,4.613,3507,3.916,3515,2.317,3837,3.363,3838,3.363,3839,3.363,3840,3.1,3841,3.363,3842,3.363,3843,3.363,3844,2.61,3845,3.1,3846,3.363,3847,3.363,3848,5.338,3849,3.363,3850,5.453,3851,3.363]],["title/878",[1079,4.551,2007,5.389]],["content/878",[]],["title/879",[567,4.104,3852,6.475]],["content/879",[510,4.17,521,4.053,524,3.549,540,5.661,567,5.4,574,3.44,604,4.886,907,5.568,1209,5.568,2039,5.535,3090,7.09,3126,5.68,3294,7.09,3853,8.519]],["title/880",[574,3.301]],["content/880",[454,2.028,510,4.566,551,5.135,562,4.948,574,3.767,607,6.428,1185,5.676,2007,7.764,2039,4.822,3126,4.948]],["title/881",[3854,7.537]],["content/881",[8,0.916,249,3.237,378,5.528,482,2.333,499,3.909,524,2.987,531,3.003,551,3.947,565,3.707,566,4.849,567,6.07,603,4.941,623,4.113,626,3.738,888,3.435,1038,3.838,1096,4.941,1242,4.256,1545,4.027,1645,4.849,1819,4.545,2076,4.545,2197,4.363,3126,3.803,3127,5.565,3855,6.243]],["title/871",[1645,4.379,2039,3.347]],["content/871",[131,1.719,148,2.695,233,3.1,279,1.897,454,1.601,485,2.305,499,2.695,537,3.343,551,4.842,565,2.555,566,3.343,583,3.475,600,2.748,657,1.976,695,4.479,712,2.352,777,3.008,889,1.883,905,3.406,1025,2.26,1029,2.867,1033,3.343,1069,2.577,1092,3.55,1106,1.825,1131,2.805,1251,3.343,1276,3.406,1583,3.475,1620,2.166,1635,2.805,1645,4.979,1675,3.134,1938,3.837,2038,2.646,2039,5.849,2055,4.114,2085,3.729,3095,4.114,3123,4.558,3126,4.665,3582,4.558,3856,4.943,3857,4.943,3858,4.943,3859,4.943,3860,4.943,3861,4.943,3862,4.943,3863,4.943]],["title/882",[249,2.42,1096,3.693,2038,2.869]],["content/882",[104,1.927,163,5.15,249,4.324,375,3.647,477,2.406,488,3.707,521,3.411,536,4.849,657,2.866,1006,4.481,1008,4.027,1025,3.278,1038,3.838,1096,4.941,1482,4.481,1563,4.158,1583,5.04,1851,4.765,1947,4.849,3126,5.719,3127,5.565,3586,6.611,3848,5.565,3855,6.243,3864,7.17,3865,7.17]],["title/883",[3855,7.117]],["content/883",[24,2.086,55,1.701,74,1.633,88,2.483,104,1.505,134,2.351,148,3.054,175,2.92,249,3.642,279,1.74,454,2.249,495,2.92,585,3.604,624,2.998,657,2.239,664,2.647,695,3.408,720,1.858,1038,2.998,1096,5.559,1107,4.225,1233,3.179,1265,3.604,1393,4.877,1502,3.604,1528,3.86,1713,6.714,2162,4.348,2298,3.788,3126,5.015,3127,4.348,3445,4.877,3866,5.602,3867,5.602,3868,4.877,3869,5.165,3870,4.877,3871,5.602,3872,5.165,3873,5.602,3874,5.602,3875,5.165]],["title/884",[148,2.922,378,2.748,720,1.778]],["content/884",[18,1.28,55,2.557,74,2.453,148,4.59,421,5.417,470,4.505,657,3.365,664,3.978,1107,6.35,1116,3.801,1233,6.031,1593,6.35,3126,4.465,3127,6.534,3128,4.238,3130,4.238,3270,4.996,3657,10.651,3869,7.762,3870,7.329,3872,7.762,3875,7.762,3876,4.596]],["title/885",[3877,6.345]],["content/885",[18,0.941,148,3.375,279,1.335,313,3.462,441,6.943,458,3.227,482,2.014,495,3.227,529,2.778,549,4.265,559,3.284,568,3.227,605,3.924,655,2.744,900,2.358,1060,4.351,1087,3.03,1096,4.265,1242,5.14,1620,2.712,1693,5.152,1713,5.152,1741,5.152,1790,5.39,1848,4.114,2038,3.313,3126,5.739,3195,5.39,3277,5.708,3427,5.152,3545,5.39,3868,7.54,3870,7.54,3877,4.805]],["title/886",[460,2.172,1242,3.843]],["content/886",[49,2.186,50,2.839,61,3.158,78,2.942,131,1.894,176,2.294,454,1.719,477,1.827,522,4.533,536,3.683,551,2.998,565,4.81,581,2.372,588,2.666,641,2.591,666,2.359,858,3.56,896,3.09,1091,4.004,1096,6.412,1104,3.404,1242,6.434,1595,4.366,1620,3.463,2258,6.882,2298,3.683,2923,5.021,3127,6.135,3559,7.288,3868,6.882,3878,5.446,3879,7.905,3880,5.446,3881,5.446,3882,5.021,3883,5.446,3884,5.446,3885,5.446,3886,5.446]],["title/887",[74,1.333,621,1.865,664,2.161,1242,2.714]],["content/887",[18,1.17,28,1.709,49,2.954,50,2.738,74,1.531,131,1.827,134,1.531,145,2.386,150,2.079,162,3.046,176,2.212,376,3.49,454,1.674,505,2.188,516,3.195,520,5.409,546,2.552,551,2.891,565,2.715,581,2.288,600,2.92,624,2.811,657,2.099,666,3.334,672,2.761,889,2.001,916,3.046,1242,5.956,1254,3.012,2038,4.12,2039,2.715,2404,3.692,3126,2.786,3137,3.379,3848,4.076,3877,7.789,3887,5.252,3888,5.252,3889,5.252,3890,5.252,3891,5.252,3892,5.252,3893,4.842]],["title/897",[375,3.293,2038,3.465]],["content/897",[18,1.277,74,2.447,148,4.578,279,2.288,454,1.826,482,2.732,499,4.578,646,3.768,891,4.536,942,5.581,976,3.839,1485,5.489,1848,5.581,2038,4.494,3126,4.454,3637,6.989]],["title/898",[18,0.984,891,3.497]],["content/898",[8,1.618,18,1.429,37,1.273,84,1.531,100,1.165,103,1.988,104,2.296,112,2.084,145,2.517,148,1.354,150,1.677,184,1.511,247,3.288,332,0.889,379,2.03,400,1.295,406,2.089,416,2.993,421,2.726,460,2.197,478,1.873,486,1.181,493,1.013,517,1.128,524,1.035,526,1.89,551,1.367,562,1.317,587,1.069,603,1.711,620,1.552,624,2.965,626,4.172,743,1.711,768,2.162,796,3.08,829,1.991,889,0.946,899,1.873,1029,1.44,1210,2.29,1327,1.598,1483,2.162,1486,2.29,1644,1.68,1659,4.603,1676,1.991,1721,1.68,1724,1.711,1862,1.784,1863,5.45,1864,4.3,2032,1.991,2038,1.329,2064,1.826,2093,1.873,2353,1.927,2904,3.906,3039,2.067,3126,3.473,3399,3.906,3753,2.067,3894,5.54,3895,2.483,3896,2.483,3897,2.483,3898,3.906,3899,2.483,3900,2.483,3901,4.237,3902,2.483,3903,4.237,3904,2.483,3905,2.483,3906,2.483,3907,2.483,3908,2.483,3909,6.548,3910,4.237,3911,5.54,3912,2.483,3913,4.237,3914,4.237,3915,2.29]],["title/899",[145,2.942,3637,5.389]],["content/899",[6,2.24,18,1.179,54,2.725,74,1.836,99,1.931,104,1.083,108,1.627,112,2.004,131,1.402,134,1.836,145,2.862,148,2.197,279,1.358,306,1.808,400,2.101,409,1.831,412,2.833,436,1.987,440,3.574,441,3.231,479,2.593,482,1.311,499,3.434,557,3.061,564,2.963,620,2.518,623,3.613,624,5.09,626,4.958,639,1.501,714,1.987,757,3.537,859,2.678,896,2.287,907,5.068,916,2.337,1011,3.354,1029,2.337,1071,2.311,1106,1.487,1116,1.82,1121,2.392,1147,3.04,1157,2.197,1162,3.231,1184,2.066,1485,2.634,1573,2.725,1591,2.963,1620,3.397,1725,3.354,1819,2.555,1841,2.421,1842,3.354,1848,4.186,2038,2.157,2353,3.128,2931,3.354,3126,5.045,3294,3.354,3844,3.128,3848,3.128,3916,3.04,3917,4.03]],["title/900",[1190,3.102,3126,3.434]],["content/900",[18,1.48,74,2.142,99,3.521,134,2.142,308,3.546,395,4.472,477,2.466,524,3.062,624,5.21,684,3.22,695,4.472,889,2.8,907,4.804,1060,5.166,1116,3.318,1190,4.663,1423,4.531,1604,6.776,1620,3.22,1662,4.593,1947,4.97,2038,3.933,3126,5.163]],["title/901",[3126,3.434,3918,6.475]],["content/901",[8,1.074,18,1.279,88,2.634,99,2.846,112,2.677,134,1.731,143,2.253,162,3.445,184,3.614,380,2.974,395,3.614,460,1.993,466,3.662,482,1.933,505,2.475,624,4.503,665,3.407,976,2.716,994,3.883,1015,3.179,1742,3.948,1819,3.766,1859,5.797,1939,5.477,2045,4.367,2453,4.093,2587,5.172,2708,7.757,3126,5.181,3132,4.611,3430,5.477,3647,5.172,3898,5.477,3919,8.505,3920,5.941,3921,5.941]],["title/888",[666,2.321,2038,2.869,3086,3.85]],["content/888",[143,2.858,279,1.625,375,3.833,454,1.639,482,2.453,486,3.586,499,4.11,505,3.14,507,4.11,531,3.157,552,4.233,573,4.277,588,3.689,890,4.277,976,3.446,1209,4.927,1475,4.85,1841,4.528,2038,4.034,2039,3.897,3067,5.686,3085,6.273,3515,5.194,3922,7.538,3923,5.686]],["title/889",[3923,6.166]],["content/889",[]],["title/890",[108,1.61,684,1.747,1209,2.606,2039,2.061,3515,2.747]],["content/890",[0,1.408,8,0.415,18,1.022,48,1.808,49,0.899,69,1.823,74,0.948,84,2.004,88,1.441,141,1.865,142,1.392,145,2.41,150,2.1,185,1.486,229,1.569,241,1.924,249,2.395,279,1.144,310,1.667,407,2.285,446,3.29,450,1.773,454,0.707,470,1.74,477,1.78,482,2.187,484,1.054,520,1.93,526,1.45,538,1.145,556,3.468,557,2.578,558,2.452,568,1.695,581,1.416,587,2.284,592,1.681,624,1.74,626,3.504,641,1.547,650,2.452,691,1.536,720,2.229,790,1.978,851,2.523,888,2.542,889,1.239,898,2.92,908,2.092,917,1.79,1025,1.486,1054,1.953,1096,2.24,1139,3.228,1209,3.468,1242,3.149,1254,3.043,1376,2.335,1401,4.619,1403,3.043,1851,2.161,2038,1.74,2039,4.417,2072,1.845,2144,2.523,2252,2.285,3126,3.565,3131,2.831,3133,2.706,3137,2.092,3258,2.831,3270,1.93,3286,2.335,3515,7.568,3647,2.831,3924,2.032,3925,2.831,3926,3.251,3927,3.251,3928,3.251,3929,2.998,3930,3.251,3931,3.251]],["title/891",[1190,2.568,1209,3.504,3515,3.693]],["content/891",[18,1.379,20,2.58,48,1.464,74,1.252,88,4.343,112,1.366,142,1.839,145,1.951,148,2.341,150,2.619,185,1.963,241,2.4,279,0.926,309,2.298,395,2.613,436,2.118,446,3.951,454,0.934,458,2.239,477,2.708,482,2.951,484,1.392,531,2.771,556,2.807,557,2.087,558,3.239,587,2.849,603,2.959,624,2.298,684,1.881,691,2.029,720,1.424,791,3.019,851,3.333,889,1.636,1061,2.722,1101,2.387,1188,3.239,1190,4.345,1254,2.463,1597,3.019,1603,3.574,1678,3.239,1970,2.364,2039,2.22,2072,2.437,2086,3.574,2252,3.019,3270,2.549,3515,7.13,3916,3.239,3924,2.684,3925,7.028,3929,3.959,3932,4.294,3933,4.294]],["title/892",[1190,2.568,1242,3.181,3877,4.16]],["content/892",[0,2.054,18,1.697,20,2.85,48,1.617,49,1.974,51,2.273,74,1.383,88,3.165,142,2.031,145,2.155,185,2.169,279,1.023,306,2.129,446,3.494,454,1.032,482,1.544,484,1.538,520,4.237,531,1.987,556,3.101,557,2.305,558,3.578,587,3.074,624,4.593,664,2.242,684,2.078,691,2.242,720,1.573,851,3.682,889,1.807,1061,3.007,1096,3.269,1101,2.637,1190,4.905,1242,6.385,1254,4.922,1603,3.948,1970,2.612,2039,2.452,2072,2.692,3270,2.816,3515,6.578,3877,3.682,3924,2.965]],["title/893",[1209,3.504,3515,3.693,3919,4.667]],["content/893",[18,1.619,20,3.127,74,1.517,88,3.391,142,2.229,185,2.38,279,1.122,310,2.669,446,3.744,454,1.132,482,1.694,484,1.687,505,2.169,521,2.476,531,2.18,556,3.403,557,2.529,587,3.293,624,4.093,684,2.281,691,2.46,720,1.726,851,4.04,889,1.983,1061,3.3,1101,2.894,1190,3.664,1209,4.999,1254,2.986,1603,4.332,2039,2.691,2072,2.954,2144,4.04,3270,3.089,3515,7.927,3551,4.04,3618,3.827,3919,9.69,3924,3.253]],["title/894",[241,1.659,1133,2.517,1209,2.989,3934,4.216]],["content/894",[18,0.961,88,3.897,113,3.296,145,3.993,150,2.503,194,2.387,241,2.294,380,3.166,482,2.058,505,2.634,517,2.873,566,4.277,626,4.582,666,2.738,976,2.891,1106,3.729,1115,3.627,1242,5.217,1662,3.952,1737,4.445,1751,4.77,2039,4.544,3126,4.662,3196,5.505,3270,5.217,3286,6.313,3473,5.505,3877,4.908,3935,6.323,3936,5.83]],["title/895",[1895,5.637,2038,3.465]],["content/895",[71,2.355,141,4.619,279,1.736,310,4.129,484,2.61,531,3.373,563,4.129,615,5.182,691,3.805,898,4.433,942,5.352,1661,5.264,1895,8.996,2038,4.31,3204,4.67,3258,7.011,3270,4.78,3936,7.425,3937,8.053]],["title/896",[3854,7.537]],["content/896",[1,4.833,18,1.208,135,3.779,145,4.653,484,2.575,486,4.873,568,4.141,664,3.754,892,4.965,1106,2.932,1259,7.325,1395,5.279,1502,5.112,2038,4.252,2060,6.612,2145,4.833,3134,6.917,3925,6.917,3934,7.325]],["title/902",[551,2.195,565,2.061,566,2.697,567,2.528,2038,2.134]],["content/902",[194,3.04,279,1.736,454,1.751,482,2.62,543,5.784,551,4.433,557,3.913,565,4.163,594,4.67,596,6.702,598,6.702,626,4.198,1475,5.182,1675,5.105,2038,4.31,2039,4.163,3067,6.074,3085,6.702,3126,4.272,3938,7.425]],["title/903",[104,1.44,332,1.919,2038,2.869]],["content/903",[8,0.988,104,3.007,331,4.218,332,3.605,454,2.577,493,3.156,513,4.033,565,3.999,659,3.409,672,5.293,688,4.3,698,3.409,2038,4.14,3073,6.735,3141,6.735,3939,7.736]],["title/904",[2038,3.465,2039,3.347]],["content/904",[8,1.418,18,1.803,28,0.962,37,1.516,64,1.077,74,0.862,99,1.417,113,1.542,131,2.188,142,1.266,145,2.23,162,3.648,185,3.347,310,3.754,454,1.592,460,0.992,484,0.959,517,1.344,521,1.407,526,2.805,540,1.965,563,1.516,565,2.537,600,1.644,603,2.038,620,3.067,621,1.206,626,2.558,639,1.101,641,1.407,657,1.182,672,4.27,719,1.933,867,1.777,888,1.417,898,1.628,900,2.396,916,3.648,956,1.492,1054,1.777,1076,1.612,1116,1.335,1132,3.987,1133,3.463,1190,1.417,1595,2.371,1619,2.461,1674,4.518,2038,1.583,2039,4.527,2058,2.461,2072,1.678,2085,2.231,2178,2.986,2814,5.042,3126,3.336,3134,2.575,3139,2.461,3141,2.575,3172,3.809,3893,2.727,3940,2.957,3941,2.957,3942,2.957,3943,2.957,3944,2.957,3945,2.957,3946,2.957,3947,2.957,3948,2.957,3949,2.957,3950,2.957,3951,2.461]],["title/905",[279,1.156,545,2.55,3078,3.304]],["content/905",[64,2.855,65,2.356,101,3.924,153,6.524,279,1.69,313,3.133,482,2.551,485,3.654,490,5.401,500,5.824,545,3.729,574,3.165,695,4.769,889,2.986,1025,3.584,1045,4.158,1722,4.709,2116,4.899,3143,6.084,3149,5.763,3151,6.284]],["title/906",[49,1.79,1551,3.939]],["content/906",[]],["title/907",[108,1.61,115,1.124,379,1.91,2263,2.217,3156,2.747]],["content/907",[48,1.328,51,4.484,74,2.508,101,4.308,108,3.475,115,2.639,142,2.627,143,1.478,152,1.982,311,1.558,313,2.452,379,1.867,397,1.697,450,2.124,453,2.47,454,0.847,458,2.031,500,3.518,517,2.787,519,1.854,520,2.313,535,1.951,545,1.854,557,1.893,568,2.031,619,3.598,652,3.782,720,1.292,761,2.371,777,2.371,796,2.166,857,2.799,889,1.485,1016,2.589,1032,2.635,1080,3.393,1081,2.435,1087,3.003,1094,4.227,1155,3.834,1156,4.51,1198,3.955,1485,2.547,1502,2.507,1527,2.547,1575,2.105,1722,3.685,1828,3.024,2039,2.014,2072,2.211,2252,2.739,2263,4.784,2277,4.627,2885,3.393,3061,3.243,3156,2.685,3157,3.243,3183,3.124,3184,5.449,3226,1.687,3507,2.799,3916,2.939]],["title/908",[74,1.333,133,2.858,535,2.289,1152,2.542]],["content/908",[18,0.771,74,2.186,111,2.765,112,2.387,133,3.169,134,1.478,279,1.093,313,2.999,377,2.739,397,2.209,400,3.911,453,3.215,482,2.441,488,2.621,515,3.169,521,2.412,535,3.756,568,2.644,646,2.275,665,4.303,720,1.682,895,3.01,915,2.319,1018,3.936,1025,2.319,1055,3.37,1081,4.688,1094,5.169,1098,2.848,1156,5.515,1184,2.6,1198,5.144,1386,2.974,1528,3.494,1709,3.215,1722,4.507,1795,3.936,2173,3.642,2197,3.085,2365,2.791,3093,4.985,3156,5.169,3160,4.415,3184,3.642,3186,4.676,3187,4.415,3952,5.071]],["title/909",[279,1.396,2365,3.564]],["content/909",[36,1.988,51,3.543,65,2.223,74,1.734,101,2.978,104,1.007,107,2.342,108,1.513,114,1.293,115,1.677,133,2.342,142,1.605,152,3.025,184,2.28,233,1.578,279,1.595,308,2.87,311,2.378,314,2.063,379,1.795,397,1.632,450,2.043,470,2.006,477,1.257,482,1.936,484,1.928,524,2.478,535,2.978,545,2.83,592,1.937,619,2.198,646,2.669,652,2.31,688,2.083,715,2.634,827,2.083,885,2.755,896,2.127,915,2.72,980,3.455,1022,2.582,1052,1.783,1116,1.692,1133,2.063,1152,2.083,1155,2.342,1234,3.119,1251,2.535,1527,2.45,1564,4.769,1593,2.827,1620,2.606,1647,1.876,1724,2.582,1831,1.954,2039,3.075,2072,4.197,2206,3.263,2263,3.307,2365,4.635,2955,3.119,3156,4.099,3184,4.272,3226,3.647,3494,3.263,3953,7.396,3954,3.748,3955,3.263,3956,3.455]],["title/910",[279,1.396,2365,3.564]],["content/910",[12,1.41,35,1.346,51,4.045,65,1.388,101,2.989,114,0.949,115,2.198,135,3.328,142,1.178,151,2.847,176,1.158,184,1.673,233,2.515,241,0.997,279,0.996,308,1.327,310,1.41,311,1.846,332,0.985,379,2.213,425,2.536,450,1.499,477,1.55,482,0.895,484,1.497,492,1.178,500,1.577,524,3.249,535,4.904,545,1.308,592,1.422,646,2.679,652,1.695,720,2.586,760,2.134,761,1.673,827,2.568,857,1.975,895,1.632,900,2.275,915,1.257,976,1.257,1022,1.895,1069,1.434,1085,2.074,1087,1.346,1104,1.719,1165,1.422,1182,2.394,1185,1.673,1190,1.317,1233,1.561,1564,2.205,1575,2.495,1586,2.394,1620,2.616,1623,2.394,1647,1.377,1684,2.134,1737,1.933,1828,2.134,1861,1.975,2045,2.022,2060,2.289,2065,2.205,2072,3.97,2076,1.743,2173,1.975,2197,1.673,2263,2.568,2333,2.134,2365,4.293,2955,2.289,3138,1.828,3156,5.818,3184,6.064,3188,2.536,3226,4.382,3844,4.634,3955,2.394,3956,2.536,3957,2.394,3958,4.619,3959,2.75]],["title/911",[505,3.406]],["content/911",[0,2.799,154,3.341,378,3.313,395,3.932,454,1.94,481,4.158,508,5.361,510,3.163,513,3.369,531,3.737,539,3.187,574,3.603,624,3.459,720,2.143,757,3.629,827,4.961,911,3.882,945,3.791,1069,3.369,1251,4.37,1551,3.932,1653,4.295,1846,3.748,1947,4.37,2074,4.751,3078,3.984,3137,4.158,3164,5.626,3448,5.378,3505,4.751,3960,5.626,3961,6.462,3962,5.626]],["title/912",[114,1.578,115,1.289,584,3.362,2365,2.517]],["content/912",[114,3.026,115,2.473,194,3.312,313,3.507,482,2.855,584,8.018,1015,4.695,2365,4.829,3177,8.089,3178,7.301,3179,8.089,3180,7.301,3181,8.089]],["title/913",[1929,5.343]],["content/913",[241,3.675,624,5.422,1189,7.276,1929,6.622,2036,6.852]],["title/914",[3078,3.991,3923,4.884]],["content/914",[0,1.82,49,1.162,88,3.53,101,2.104,115,1.185,143,1.594,154,2.172,176,1.77,194,1.586,279,1.933,311,1.68,395,2.557,454,0.914,484,2.906,499,3.548,502,4.401,505,2.711,507,2.291,531,4.296,535,2.104,545,3.096,552,2.36,568,2.191,573,3.693,581,1.83,588,2.057,594,2.437,907,2.747,915,1.921,1015,2.249,1038,2.249,1132,2.664,1190,2.013,1423,2.591,1475,2.704,1547,3.09,1551,2.557,1839,4.401,1846,2.437,1848,5.292,1850,3.369,1851,2.793,1902,3.498,2047,3.369,2975,4.484,3067,4.908,3164,3.659,3166,3.875,3168,3.262,3169,3.262,3170,3.262,3220,3.875,3221,6.627,3418,3.018,3963,4.202,3964,6.507,3965,2.494,3966,2.896,3967,3.875,3968,3.875,3969,3.498]],["title/915",[479,4.166,615,4.166]],["content/915",[479,6.003,505,3.886,545,4.438,615,6.003,715,6.557,1724,6.428,3078,5.751,3204,5.41,3270,5.537,3970,8.601]],["title/916",[531,2.712,3924,4.046]],["content/916",[0,3.637,99,4.023,241,3.046,279,1.811,346,6.031,531,3.517,539,4.141,605,5.323,720,2.785,945,4.926,1143,5.109,1403,4.817,1499,4.984,1843,5.248,2122,6.989,3287,7.311,3924,5.248]],["title/917",[505,2.697,1069,3.375]],["content/917",[18,1.192,279,1.69,436,3.865,458,4.086,482,2.551,505,3.266,538,2.76,545,4.831,614,4.652,1115,4.496,1403,4.496,1438,5.401,1499,4.652,2277,7.659,2365,4.315,3112,6.524,3844,6.084,3924,4.899,3971,7.227,3972,6.825]],["title/918",[101,3.242,545,3.08]],["content/918",[18,1.192,97,4.315,142,4.348,169,3.837,241,2.843,279,1.69,310,4.019,446,3.837,484,2.541,545,3.729,592,4.052,619,4.598,646,3.517,652,4.832,827,4.358,1052,3.729,1157,4.274,1587,6.084,2145,4.769,2365,4.315,3246,6.284]],["title/919",[142,1.958,460,1.534,592,2.364,827,2.542]],["content/919",[1,3.033,3,2.237,55,1.514,65,2.226,100,2.34,104,1.99,142,2.134,184,3.033,185,2.279,194,1.882,229,2.405,241,1.808,279,1.597,308,2.405,311,1.993,377,2.693,407,3.504,482,3.184,484,2.401,507,2.718,545,3.524,563,4.532,573,2.829,581,2.171,588,3.626,624,2.668,652,3.073,714,2.458,827,2.771,948,2.959,976,2.279,1239,4.149,1403,2.859,1582,4.345,1593,3.76,1635,2.829,1656,2.829,1839,3.371,1929,3.259,1970,5.756,2070,3.869,2145,3.033,2365,4.078,2524,3.996,3279,3.869,3324,3.869,3973,3.76,3974,4.985]],["title/920",[169,2.238,310,2.345,621,1.865,827,2.542]],["content/920",[65,2.718,75,5.078,169,4.426,185,5.08,241,3.28,310,4.636,615,5.818,2145,5.501,2524,7.249,3224,7.018,3975,7.526]],["title/921",[142,1.958,526,2.04,827,2.542,1052,2.176]],["content/921",[18,1.393,100,2.487,104,1.424,115,1.494,131,1.843,142,3.922,171,3.073,241,1.922,279,1.143,305,4.113,307,3.522,308,2.557,310,3.973,407,3.725,440,3.007,446,2.594,474,3.145,484,3.267,508,3.184,519,2.521,545,2.521,646,4.11,683,4.912,719,3.464,720,1.757,851,6.014,915,2.423,1249,3.725,1587,6.014,1589,3.725,1656,3.007,1674,3.806,1839,3.584,2072,3.007,2197,3.224,2365,2.917,3137,3.41,3156,3.651,3271,4.614,3972,4.614,3976,5.299,3977,5.299,3978,5.299,3979,5.299,3980,5.299]],["title/922",[436,2.643,486,2.55,1438,3.693]],["content/922",[69,2.693,142,3.356,194,2.959,436,5.007,444,5.63,504,5.484,505,3.266,816,4.496,915,3.584,1069,4.086,1115,4.496,1147,5.913,1438,7.76,1839,5.301,1967,5.63,2503,5.401,3981,7.839,3982,7.839]],["title/923",[0,2.804,1403,3.714]],["content/923",[436,4.911,1107,7.513,1438,8.116,1521,7.153,1554,7.73]],["title/924",[142,2.295,233,2.257,665,3.074]],["content/924",[142,5.233,169,4.11,279,1.811,436,4.141,505,3.498,1377,4.765,1438,5.786,1653,5.581,2277,6.334,3222,6.989,3671,6.989,3972,7.311,3983,10.611]],["title/925",[646,2.905,2277,4.884]],["content/925",[18,0.961,65,1.9,100,2.968,104,2.362,131,2.199,185,2.891,308,3.051,310,3.242,393,3.667,400,4.582,440,3.588,454,1.375,482,2.058,484,2.849,507,3.448,557,3.073,563,3.242,583,4.445,621,2.58,646,2.838,715,4.445,915,2.891,1069,3.296,1674,4.542,2072,6.196,2277,8.236,2453,4.357,2738,4.445,2889,5.263,3984,6.323,3985,6.323]],["title/931",[535,3.242,551,3.564]],["content/931",[18,1.09,99,3.435,154,3.707,194,2.707,279,1.546,454,1.559,482,2.333,484,2.324,486,3.411,521,3.411,524,2.987,531,3.003,562,3.803,563,3.676,565,3.707,566,4.849,574,2.895,607,4.941,888,3.435,1008,4.027,1025,3.278,1059,4.42,1670,4.069,1675,4.545,1678,5.409,1711,4.363,1731,5.272,2042,6.243,2077,5.15]],["title/932",[594,4.741]],["content/932",[8,0.665,18,1.163,99,3.664,104,1.399,154,2.691,233,2.192,279,1.649,332,1.864,375,2.647,414,3.253,421,3.35,486,2.476,505,2.169,524,2.169,531,3.203,551,4.991,567,3.3,583,3.659,594,4.435,599,4.532,607,3.587,641,2.476,888,3.664,889,2.914,891,4.897,907,3.403,917,2.866,948,3.089,1061,6.335,1173,3.739,1658,3.926,1677,3.926,1743,3.926,1970,2.866,2032,4.173,3067,3.926,3068,6.365,3924,3.253,3969,4.332,3986,4.04,3987,5.205,3988,5.205,3989,5.205,3990,5.205,3991,5.205]],["title/933",[104,1.74,332,2.318]],["content/933",[24,2.919,52,4.323,104,2.728,332,2.807,379,4.864,397,3.414,415,4.97,421,5.044,672,4.122,686,6.026,698,3.454,889,2.986,894,6.996,948,4.652,1629,7.227,3992,7.839]],["title/934",[18,0.815,99,2.568,891,2.895]],["content/934",[18,1.842,35,2.285,55,2.876,64,1.701,65,1.403,99,4.072,134,1.361,142,3.639,162,4.09,229,4.1,241,1.693,397,2.034,398,2.477,454,1.015,470,2.499,492,1.999,493,1.905,517,3.204,581,2.034,657,2.819,664,2.206,672,3.708,698,3.108,720,1.548,889,1.779,900,1.779,917,2.57,948,2.771,1143,2.841,1568,3.004,1656,4.002,1730,2.841,1737,3.282,1947,3.158,1970,4.679,2145,2.841,2503,3.217,2762,3.522,3112,3.886,3204,4.09,3280,3.433,3282,4.305,3651,3.886,3924,2.918,3993,4.065]],["title/935",[64,2.359,142,2.772]],["content/935",[18,1.117,49,2.032,55,2.956,64,3.546,69,2.525,100,3.449,104,1.975,131,2.556,142,4.673,454,1.598,664,3.473,889,2.8,900,2.8,1072,5.892,1521,5.278,1670,4.17,1730,5.922,3204,4.262,3280,5.403,3994,5.278,3995,5.704,3996,6.399]],["title/936",[65,1.946,142,2.772]],["content/936",[65,3.615,104,2.429,105,5.432,142,3.872,450,4.93,657,3.614,849,5.651,1116,4.083,1224,6.82,3280,6.648]],["title/937",[152,4.157]],["content/937",[18,0.841,24,1.274,28,1.113,35,1.675,47,4.427,48,2.724,49,3.143,51,3.829,61,5.728,69,1.9,114,2.401,115,1.559,150,1.354,152,1.74,162,1.984,229,1.651,241,1.241,242,3.776,243,2.138,477,1.148,505,2.899,517,1.554,557,2.687,581,2.408,585,2.201,586,1.921,595,3.675,655,1.517,657,1.368,664,3.776,672,1.799,849,2.138,858,2.236,889,1.303,898,3.044,900,1.303,912,1.984,917,1.883,1015,1.831,1052,2.631,1106,1.263,1116,1.545,1139,2.081,1224,2.581,1487,3.154,1521,3.971,1582,3.243,1656,1.941,1730,4.234,1970,1.883,1984,2.236,2057,2.405,3204,1.984,3280,5.116,3994,6.301,3995,4.292,3996,4.814,3997,3.421,3998,5.53,3999,3.421,4000,3.154]],["title/938",[145,3.714]],["content/938",[18,1.208,55,2.413,145,4.653,229,3.833,589,3.779,643,7.057,889,3.027,898,4.373,2145,4.833,2153,6.612,2178,4.833,2762,5.992,3280,8.333,3994,5.706,4001,9.443,4002,7.325]],["title/939",[114,2.234,115,1.825]],["content/939",[18,1.176,55,2.349,114,3.473,115,2.838,229,3.732,589,3.68,643,6.937,889,2.947,898,4.258,2145,4.706,2153,6.438,2178,4.706,2762,5.835,3280,8.228,3994,5.556,4001,9.282,4002,7.132]],["title/940",[18,0.984,99,3.102]],["content/940",[18,1.396,585,5.909,664,4.339,859,6.103,917,5.055,1061,5.821,1730,5.587,3204,5.326,3280,6.751,3994,6.595,4000,8.467]],["title/941",[486,3.08,888,3.102]],["content/941",[18,1.052,52,2.945,99,3.314,162,5.421,219,4.12,397,3.013,450,3.772,486,3.291,505,3.894,589,3.291,657,2.765,664,3.269,672,4.915,688,3.846,888,5.674,889,2.636,898,3.808,900,2.636,1377,3.926,1656,3.926,1947,4.678,1970,3.808,3571,6.378,3924,4.323]],["title/942",[888,3.102,900,2.467]],["content/942",[454,1.997,477,3.081,505,3.826,672,4.829,720,3.046,888,5.374,900,4.274,3204,5.326,3994,6.595]],["title/943",[505,2.697,888,3.102]],["content/943",[64,3.149,69,2.97,219,4.762,505,4.502,517,3.927,858,5.65,888,5.177,900,3.293,948,5.13,1254,4.958,3204,5.013,3994,6.208]],["title/944",[8,0.584,219,2.015,586,2.568,1377,2.595]],["content/944",[3,3.298,55,2.232,69,2.525,219,5.584,249,4.395,440,4.17,477,3.266,671,4.086,900,3.709,916,4.262,948,4.362,1061,4.659,1072,5.892,1521,5.278,3994,6.991,3995,5.704,3996,6.399]],["title/945",[18,0.815,219,2.362,900,2.042]],["content/945",[18,1.692,37,3.388,162,3.832,219,4.903,307,4.391,397,2.878,477,2.217,517,3.002,549,4.553,672,3.474,686,3.921,698,2.912,888,3.165,894,4.553,900,3.452,942,4.391,1116,2.983,1563,3.832,1730,5.512,1970,4.987,2145,4.02,3204,3.832,3924,4.129,3994,6.507,3995,7.032]],["title/946",[279,0.86,551,2.195,565,2.061,566,2.697,1731,2.931]],["content/946",[37,4.129,103,3.779,169,3.942,194,3.04,279,1.736,440,4.57,454,1.751,537,5.446,551,4.433,562,5.48,565,5.897,566,5.446,604,4.619,721,5.182,1675,5.105,3381,7.425,3938,7.425]],["title/947",[3088,4.689]],["content/947",[143,3.185,421,5.403,470,4.494,479,5.403,537,5.679,539,4.141,574,3.391,1008,4.716,1059,5.177,1635,4.765,2036,5.679,3088,6.086,3240,6.732,3279,6.518,3294,6.989,4003,8.398]],["title/952",[279,1.156,3081,3.941,3082,3.261]],["content/952",[64,3.378,142,4.506,154,3.535,279,2.433,400,3.564,454,1.487,479,4.4,484,2.216,500,3.922,508,4.108,509,4.108,545,3.253,589,3.253,900,2.605,976,3.126,1233,3.88,3143,7.198,3145,5.691,3149,5.027,3150,5.691,3507,4.911,3923,6.996,3966,4.711,4004,5.953,4005,6.304]],["title/953",[154,1.827,279,0.762,454,0.769,479,2.274,508,2.124,545,1.682]],["content/953",[]],["title/954",[509,2.747,976,2.091,1233,2.595,3923,3.449]],["content/954",[64,3.667,142,4.792,279,2.413,400,4.033,484,2.508,500,4.437,589,3.68,900,2.947,3143,7.813,3145,6.438,3149,5.687,3150,6.438,3507,5.556,3923,5.835,3966,5.33,4004,6.735,4005,7.132]],["title/926",[539,2.643,3079,2.451,3083,3.261]],["content/926",[18,0.903,34,2.243,48,2.025,101,2.974,185,2.716,279,1.814,313,2.375,479,3.823,482,1.933,500,3.407,505,2.475,524,3.505,572,4.267,579,3.485,1025,3.847,1033,4.018,1055,3.948,1198,3.097,1386,3.485,1545,3.336,1645,4.018,1678,4.481,1846,3.445,2047,4.762,2116,3.713,2136,4.944,2328,4.018,3079,4.466,3082,3.614,3083,3.614,3138,3.948,3225,2.449,3239,3.948,3488,3.823,3534,4.611,3537,5.172,4006,4.944,4007,3.823,4008,3.209,4009,5.941,4010,5.172]],["title/927",[500,3.074,1025,2.451,3083,3.261]],["content/927",[18,1.178,55,1.609,101,2.653,114,1.828,115,1.494,142,2.269,175,2.763,241,1.922,313,2.118,463,3.464,482,1.724,484,1.718,487,3.997,500,6.15,524,3.816,588,2.594,641,2.521,791,3.725,889,2.019,915,2.423,939,3.997,1025,2.423,1086,3.522,1087,2.594,1156,5.697,1250,3.896,1527,3.464,1846,3.073,1892,3.267,2072,3.007,2116,3.312,2183,4.614,2519,3.997,2947,3.184,3083,5.573,3198,4.41,3363,3.806,3483,3.725,3500,4.886,3507,6.579,4011,4.886,4012,5.299,4013,2.917,4014,4.614,4015,5.299,4016,5.299]],["title/928",[49,1.482,1069,2.794,3079,2.451]],["content/928",[18,0.789,48,2.601,65,2.293,108,1.277,185,3.488,194,1.194,256,1.835,279,1.645,309,1.693,313,2.636,454,0.688,458,1.649,482,2.483,505,2.162,521,1.505,524,3.509,567,2.006,572,2.272,586,1.777,614,1.878,652,1.95,720,2.53,773,1.649,931,2.036,969,2.14,982,2.633,1025,1.447,1029,1.835,1033,2.14,1042,2.456,1043,2.456,1069,1.649,1073,2.272,1084,2.272,1166,2.633,1177,2.682,1198,2.705,1201,2.036,1377,1.795,1475,2.036,1477,3.009,1540,1.693,1545,1.777,1616,2.456,1631,2.224,1656,1.795,1818,1.977,1844,2.224,1846,3.825,1970,1.742,2047,2.536,2116,1.977,2947,1.901,3079,3.015,3082,4.013,3093,2.103,3225,3.73,3226,2.856,3234,3.157,3239,3.448,3264,2.068,3296,2.386,3339,2.456,3418,2.272,3508,2.917,3521,2.536,3670,2.326,3774,2.917,3965,3.079,3966,2.18,4008,2.802,4013,2.856,4017,2.917,4018,4.544,4019,2.386,4020,3.164,4021,2.917,4022,2.633,4023,3.164,4024,3.164,4025,3.164,4026,3.164,4027,2.386,4028,3.164]],["title/929",[505,3.406]],["content/929",[0,2.799,154,3.341,378,3.313,395,3.932,454,1.94,481,4.158,508,5.361,510,3.163,513,3.369,531,3.737,539,3.187,574,3.603,624,3.459,720,2.143,757,3.629,827,4.961,911,3.882,945,3.791,1069,3.369,1251,4.37,1551,3.932,1653,4.295,1846,3.748,1947,4.37,2074,4.751,3079,2.955,3137,4.158,3217,5.626,3448,5.378,3505,4.751,3960,5.626,3962,5.626,4029,5.958]],["title/930",[1929,5.343]],["content/930",[241,3.675,624,5.422,1189,7.276,1929,6.622,2036,6.852]],["title/948",[1198,2.384,3225,1.885,3226,1.98,4008,2.47]],["content/948",[]],["title/949",[1198,4.261]],["content/949",[1,3.689,18,0.922,65,2.565,169,2.968,185,2.772,308,2.925,311,2.424,488,3.134,500,3.478,517,2.755,524,2.526,614,3.598,619,3.556,646,2.721,657,2.424,720,2.011,889,2.31,915,2.772,1052,4.06,1087,2.968,1198,5.589,1386,3.556,1631,4.262,1645,4.1,1776,3.306,1970,3.338,2178,3.689,2364,3.689,3079,2.772,3225,2.499,3226,2.626,3488,3.901,3622,5.59,3955,5.279,3975,5.046,4006,5.046,4007,5.492,4027,4.573]],["title/950",[3225,2.669,3226,2.804]],["content/950",[24,2.488,34,2.522,65,3.126,71,1.954,185,3.055,240,3.514,308,3.224,495,3.484,524,2.784,568,3.484,664,3.157,720,3.028,900,2.546,1048,3.875,1262,5.04,1563,3.875,2139,4.368,3079,3.055,3225,4.608,3226,3.954,3488,4.3,3965,3.966,4007,4.3,4010,5.818,4013,5.026,4030,3.875,4031,5.357]],["title/951",[4008,4.415]],["content/951",[65,2.878,115,2.022,524,3.989,720,2.378,1177,4.95,1540,3.838,1970,3.947,2076,4.545,3079,3.278,3088,4.113,3138,4.765,3225,3.947,3226,3.105,3239,4.765,3488,4.614,3528,5.409,3965,4.256,4008,5.172,4018,4.941,4022,5.968,4030,4.158,4032,7.17,4033,6.243,4034,6.611]],["title/955",[71,1.166,185,1.823,1841,2.395,3044,3.319,3236,2.697]],["content/955",[]],["title/956",[185,3.738]],["content/956",[18,1.178,24,1.973,141,3.039,169,2.594,185,5.289,229,2.557,241,1.922,251,3.584,279,1.143,569,4.113,581,2.308,582,2.454,586,2.976,720,3.038,757,2.976,867,3.184,957,3.184,976,2.423,1043,6.014,1113,3.584,1190,2.539,1198,2.763,1892,3.267,3079,2.423,3138,3.522,3225,4.42,3226,2.295,3363,3.806,3491,4.886,3592,4.41,3654,4.614,4013,2.917,4030,3.073,4035,4.614,4036,4.614,4037,3.896,4038,4.886,4039,4.886,4040,4.614,4041,7.749,4042,5.299,4043,5.299,4044,5.299]],["title/957",[71,1.567,1841,3.22,3236,3.625]],["content/957",[24,1.501,34,1.521,71,2.267,100,1.891,101,2.018,108,1.627,185,2.88,256,2.337,311,1.611,394,2.634,439,2.364,474,3.738,516,2.452,527,2.311,683,2.555,691,2.976,720,2.089,757,2.263,773,3.283,1026,3.04,1035,2.177,1063,2.518,1087,1.973,1136,2.518,1177,3.256,1516,3.354,1525,2.678,1527,2.634,1682,3.509,1841,2.421,2173,2.894,2364,2.452,2419,2.311,2503,2.777,2732,4.26,2947,2.421,3039,3.354,3079,2.88,3138,4.186,3155,3.231,3225,3.92,3226,2.728,3231,4.26,3234,2.452,3236,5.244,3238,3.231,3239,2.678,3276,3.354,3363,2.894,3521,6.215,3549,3.354,3611,2.833,3670,4.63,3671,3.354,3965,2.392,4008,4.734,4013,3.467,4018,2.777,4035,3.509,4036,3.509,4037,2.963,4045,4.03,4046,4.03,4047,3.128,4048,4.03,4049,3.231,4050,3.716]],["title/958",[8,0.584,313,1.828,2366,3.549,3394,3.666]],["content/958",[]],["title/959",[8,0.684,2366,4.16,3394,4.297]],["content/959",[101,2.356,114,2.448,115,2,175,2.453,311,2.836,313,3.414,378,3.638,415,2.304,470,2.519,482,1.531,486,2.239,488,2.433,510,2.304,524,1.961,574,1.9,584,3.46,936,3.917,973,3.653,1016,3.128,1073,3.38,1197,3.308,1198,2.453,1201,3.028,1386,4.162,1477,2.729,1621,4.339,1661,3.076,1720,3.653,1776,2.566,1777,3.128,1840,3.773,1892,2.901,2085,3.55,2643,3.653,3079,2.152,3114,4.097,3138,3.128,3225,1.94,3232,3.773,3257,3.653,3324,3.653,3336,3.917,3363,5.096,3394,3.773,3488,3.028,3505,3.46,3671,3.917,3737,4.097,4007,3.028,4013,2.591,4014,4.097,4022,3.917,4035,4.097,4036,4.097,4051,4.097,4052,4.706,4053,3.55,4054,4.706,4055,4.706,4056,4.706,4057,4.339,4058,4.706,4059,4.339,4060,4.339]],["title/960",[961,2.803,1059,2.458,2643,3.095,3550,2.864,4007,2.566]],["content/960",[0,1.535,8,0.727,24,2.119,34,1.338,65,1.71,111,1.933,114,1.223,115,0.999,154,1.832,184,2.157,185,1.621,311,2.274,313,3.571,331,1.933,454,0.771,484,1.149,486,1.686,492,1.518,495,2.966,510,1.735,524,2.37,546,2.765,574,1.431,584,2.606,720,1.176,729,4.086,731,4.183,760,2.751,867,2.13,889,1.35,961,5.735,1018,2.751,1020,2.674,1024,2.751,1028,2.185,1052,1.686,1059,4.394,1084,4.086,1098,1.991,1116,1.6,1189,2.546,1386,2.079,1512,2.674,1516,2.95,1661,2.317,1776,3.102,1795,2.751,1846,2.056,1892,2.185,2044,2.674,2064,2.606,2074,2.606,2334,2.95,2920,2.842,3079,2.601,3082,2.157,3093,2.356,3114,3.086,3133,2.95,3224,4.416,3225,2.938,3226,3.087,3257,4.416,3550,5.119,3640,3.268,3744,6.572,3957,3.086,4007,2.281,4013,3.132,4051,4.954,4059,3.268,4061,4.954,4062,3.268,4063,3.545,4064,3.545,4065,3.545,4066,3.545,4067,3.086,4068,3.545]],["title/979",[3079,2.96,3923,4.884]],["content/979",[0,1.833,49,1.17,74,1.234,88,3.546,101,2.119,143,1.605,154,2.188,176,1.782,279,1.411,311,1.692,395,3.981,454,1.423,484,2.593,499,3.568,502,2.863,505,3.332,507,2.308,510,2.072,513,3.411,531,4.076,535,2.119,552,2.377,568,2.207,573,3.713,574,1.709,581,1.844,586,2.377,588,2.072,594,2.455,757,2.377,907,2.767,915,1.935,1015,2.265,1038,2.265,1069,2.207,1198,2.207,1251,2.863,1475,2.724,1547,3.112,1551,2.575,1760,2.863,1839,2.863,1846,2.455,1848,4.348,1850,3.393,1851,2.813,1902,3.523,2074,3.112,2975,2.916,3067,3.193,3079,1.935,3083,2.575,3168,3.285,3169,3.285,3170,3.285,3217,3.685,3221,5.446,3225,1.745,3239,2.813,3418,3.04,3448,3.523,3960,3.685,3967,3.903,3968,3.903,3969,3.523,4008,2.286,4029,3.903,4069,4.233]],["title/980",[479,4.166,615,4.166]],["content/980",[479,6.003,505,3.886,615,6.003,715,6.557,1061,5.914,1724,6.428,3079,4.265,3204,5.41,3270,5.537,3970,8.601]],["title/981",[531,2.712,3924,4.046]],["content/981",[0,3.637,99,4.023,241,3.046,279,1.811,346,6.031,531,3.517,539,4.141,605,5.323,720,2.785,945,4.926,1143,5.109,1403,4.817,1499,4.984,1843,5.248,2122,6.989,3287,7.311,3924,5.248]],["title/982",[505,2.697,1069,3.375]],["content/982",[8,1.088,69,2.927,101,4.265,505,3.549,538,3,586,4.784,614,5.056,1198,4.441,1377,4.834,2034,6.426,3083,5.183,3225,3.512,3226,3.689,3924,5.324,3971,7.855,4008,4.601]],["title/961",[4008,4.415]],["content/961",[64,3.591,65,3.102,106,4.014,309,2.045,394,2.497,397,1.664,460,1.282,477,1.282,486,1.818,526,1.704,592,1.975,621,2.464,650,2.882,661,3.325,684,1.674,719,2.497,761,2.325,931,2.458,1015,2.045,1022,2.633,1035,5.008,1038,2.045,1098,3.392,1106,1.41,1136,4.681,1141,2.882,1155,2.388,1177,3.122,1398,2.882,1475,2.458,1750,3.063,1767,2.355,1901,2.809,2263,2.124,2270,2.965,2302,3.063,2669,2.882,3144,3.523,3225,2.49,3226,1.655,3227,8.582,3236,2.584,3483,2.686,3611,7.523,3618,2.809,3924,2.388,4008,4.046,4018,4.162,4070,3.063,4071,3.821,4072,3.821,4073,3.523,4074,3.821,4075,6.04,4076,3.18,4077,3.821,4078,3.821,4079,3.821,4080,3.821,4081,3.821,4082,3.821,4083,3.326]],["title/962",[169,3.169,4040,5.637]],["content/962",[]],["title/963",[8,0.684,1177,2.771,3965,3.181]],["content/963",[589,4.738,1177,5.149,1724,6.863,3965,5.911,4084,9.96,4085,9.96]],["title/964",[492,2.295,1038,2.869,1098,3.01]],["content/964",[108,2.729,256,3.92,309,3.617,311,2.702,312,4.492,477,2.268,619,3.965,641,3.215,720,2.242,931,4.349,1035,3.651,1038,3.617,1098,5.168,1106,2.495,1155,4.224,1177,4.757,1563,3.92,1720,5.246,1752,4.751,2263,3.758,2947,4.061,3225,2.786,3236,4.571,3238,5.418,3483,6.468,3618,4.969,3670,4.969,4008,3.651,4037,4.969,4070,5.418,4086,6.759]],["title/965",[1155,4.046,2263,3.599]],["content/965",[24,2.047,65,1.652,397,2.394,460,3.139,526,3.549,621,2.242,948,3.263,976,2.513,1106,2.029,1155,7.488,1568,3.537,1647,2.752,1764,7.775,1901,4.041,2263,6.661,2302,7.499,2741,5.068,2742,4.146,3242,5.068,3361,4.407,3611,6.575,3915,5.068,3965,3.263,4030,3.188,4087,5.497,4088,5.497,4089,5.497]],["title/966",[1098,3.01,1670,3.042,3162,3.941]],["content/966",[8,0.569,64,1.624,65,2.483,101,3.408,108,2.749,184,4.142,194,1.682,477,1.495,492,1.908,493,1.818,517,3.093,526,1.988,581,1.941,587,3.557,621,1.818,652,2.747,659,1.964,666,1.93,761,2.712,1098,6.327,1155,5.162,1177,3.519,1233,2.529,1485,4.45,1527,2.913,1568,2.868,1615,3.133,1656,2.529,1670,4.688,1711,2.712,1861,3.201,1901,5.005,1970,2.453,2263,5.838,2742,3.362,3202,5.284,3556,4.109,3611,5.807,3618,3.277,3651,3.709,3966,3.071,3973,3.362,4030,4.791,4090,3.88,4091,4.457,4092,4.457,4093,3.88]],["title/967",[1177,3.347,1861,4.65]],["content/967",[65,3.052,477,2.63,583,5.51,666,3.395,889,2.986,1098,4.402,1155,6.346,1177,5.249,1670,4.448,1691,4.832,1861,5.63,2263,5.645,3432,7.227,3532,6.524,4030,5.889,4094,7.227,4095,6.524]],["title/968",[4096,7.537]],["content/968",[1,5.259,54,5.846,141,4.958,421,5.562,564,6.355,912,5.013,1095,6.355,3225,3.563,3226,3.743,3270,5.13,3924,5.402,4008,4.669,4018,5.956,4083,7.526,4096,7.97]],["title/969",[141,3.074,3225,2.209,3226,2.321]],["content/969",[65,2.493,141,3.34,169,4.06,241,3.008,440,3.304,486,2.77,539,2.871,568,3.036,581,2.536,582,2.697,605,3.691,613,4.392,619,3.416,624,3.117,664,3.919,720,1.931,889,2.219,931,5.337,976,2.662,1069,3.036,1115,3.34,1572,5.07,1892,3.59,2036,3.938,3204,5.603,3225,4.587,3226,5.155,3966,5.715,4008,3.145,4097,5.823]],["title/970",[141,3.074,3226,2.321,4008,2.895]],["content/970",[34,0.684,52,0.771,54,2.176,55,0.55,64,0.66,65,2.742,100,0.85,104,1.793,141,1.039,150,1.274,154,0.936,169,2.95,175,0.944,184,1.958,194,1.215,240,1.692,241,2.622,253,1.998,255,1.184,256,1.05,257,1.225,397,0.789,440,2.985,458,0.944,463,1.184,482,1.047,485,0.844,505,1.341,524,3.54,526,0.808,531,0.759,538,0.638,568,0.944,581,1.402,605,2.04,616,1.577,624,2.324,639,0.674,653,2.103,664,1.52,720,0.601,721,1.165,859,1.204,867,2.609,889,1.654,906,1.577,915,0.828,931,2.071,942,1.204,969,2.937,1035,1.738,1098,2.955,1106,1.188,1115,3.456,1132,3.335,1155,2.011,1159,1.507,1177,4.202,1265,2.071,1398,4.546,1419,2.58,1540,0.969,1541,1.366,1545,1.017,1572,2.802,1573,1.225,1626,1.148,1719,1.67,1751,1.366,1818,2.011,1843,2.011,1892,1.984,2036,1.225,2127,1.248,2191,1.507,2206,1.577,2246,1.577,2263,1.789,2600,2.498,2732,1.225,2762,1.366,2889,2.678,2913,2.262,2947,1.933,3079,0.828,3086,2.311,3125,1.577,3155,1.452,3162,1.332,3180,2.678,3183,1.452,3184,1.301,3204,2.518,3234,1.958,3236,1.225,3270,1.075,3286,4.328,3418,1.301,3505,2.366,3554,1.577,3611,1.273,3705,1.366,3844,1.406,3845,1.67,3951,1.507,3965,3.577,3995,1.406,4008,5.775,4019,1.366,4030,4.192,4037,1.332,4070,2.58,4090,1.577,4098,1.811,4099,1.811,4100,1.67,4101,1.67,4102,1.67,4103,2.967,4104,3.78,4105,2.802,4106,2.678,4107,2.967,4108,2.967,4109,1.811,4110,2.802,4111,1.811,4112,1.67]],["title/971",[62,2.605,75,3.01,141,3.074]],["content/971",[62,5.349,64,3.244,65,3.308,141,5.108,495,4.643,720,2.953,1006,5.565,3152,7.754,3226,3.857,3705,6.717,4030,5.165]],["title/972",[65,1.374,75,2.568,141,2.623,4008,2.47]],["content/972",[0,3.637,141,4.817,169,4.11,652,5.177,720,2.785,867,5.045,1177,4.341,2241,6.174,3505,6.174,3592,6.989,3705,6.334,4008,4.536,4018,5.786,4040,7.311,4113,8.506,4114,7.743]],["title/973",[1101,3.599,3965,3.843]],["content/973",[0,1.356,62,1.521,65,2.706,99,1.5,100,3.93,108,2.643,184,3.129,194,2.471,241,1.135,253,2.367,400,1.632,440,1.776,484,1.015,517,1.422,524,1.304,583,2.2,587,3.606,588,1.532,666,2.835,720,1.038,773,3.413,859,2.08,864,4.279,885,3.781,889,2.494,1069,2.681,1087,1.532,1098,5.056,1101,1.74,1107,2.361,1136,1.956,1155,5.234,1177,4.918,1254,1.795,1403,1.795,1485,2.046,1670,1.776,1861,2.248,1901,2.301,1934,2.509,2093,3.879,2263,4.656,2530,2.2,3162,3.781,3172,5.081,3202,3.992,3204,3.797,3236,2.117,3238,2.509,3618,3.781,3670,2.301,3965,5.646,3966,4.511,4030,5.221,4037,2.301,4094,4.742,4095,4.281,4100,4.742,4115,3.13,4116,4.742,4117,3.13,4118,2.725]],["title/974",[154,2.364,194,1.726,233,1.926,4008,2.47]],["content/974",[24,0.856,37,1.179,62,1.117,65,2.837,71,0.672,169,1.125,194,1.497,233,3.463,241,0.834,255,1.503,309,1.23,331,1.254,332,0.823,394,1.503,397,1.001,400,2.067,463,1.503,477,1.331,486,1.094,492,0.984,521,1.094,524,3.932,557,1.117,568,1.199,569,1.784,582,1.065,587,0.99,592,1.189,657,0.919,666,0.996,720,1.315,859,1.528,864,1.503,867,1.381,889,1.992,898,1.266,915,1.051,1028,1.417,1069,1.199,1073,1.651,1078,2.002,1087,1.125,1098,1.291,1106,1.464,1155,5.43,1165,1.189,1167,3.453,1177,5.037,1201,1.479,1233,1.305,1262,1.734,1403,2.275,1485,1.503,1545,1.291,1670,2.25,1674,1.651,1684,1.784,1691,3.223,1697,1.843,1771,2.002,1804,1.69,1861,1.651,1901,1.69,1938,1.784,2037,1.843,2085,1.734,2257,1.843,2263,4.83,3079,1.051,3088,1.319,3162,2.915,3202,1.784,3225,0.948,3231,2.682,3234,2.413,3236,3.536,3239,1.528,3243,1.784,3279,1.784,3418,1.651,3483,2.787,3496,1.914,3510,3.453,3528,1.734,3532,1.914,3549,1.914,3618,3.844,3639,2.002,3651,1.914,3705,1.734,3965,2.354,3966,2.732,3973,1.734,4008,3.79,4018,3.603,4019,1.734,4030,5.039,4031,1.843,4037,1.69,4049,1.843,4076,5.176,4095,4.352,4110,3.453,4113,1.843,4116,3.656,4118,2.002,4119,2.12,4120,2.12,4121,2.299,4122,2.299,4123,3.656]],["title/987",[3225,2.669,3226,2.804]],["content/987",[]],["title/988",[664,2.161,900,1.742,3225,1.885,3226,1.98]],["content/988",[900,4.357,1054,5.695,3204,5.497,3225,4.714,3226,4.952,3924,5.924]],["title/989",[241,1.151,460,1.065,827,1.765,900,1.209,1843,1.984,3225,1.308,3226,1.375]],["content/989",[18,0.581,36,2.027,48,1.302,62,1.857,64,2.729,65,2.962,100,3.515,106,2.539,131,1.329,185,1.747,241,1.386,256,2.216,279,1.302,310,1.959,311,2.414,331,2.083,450,2.083,482,1.243,484,1.239,495,1.992,581,1.664,588,1.87,592,3.872,619,2.241,641,1.818,650,2.882,692,5.259,712,2.873,773,1.992,790,2.325,867,2.295,900,2.301,912,2.216,913,2.103,931,5.477,976,1.747,1038,3.233,1106,1.41,1139,3.675,1185,2.325,1254,2.191,1527,2.497,1540,2.045,1566,2.744,1575,2.064,1656,2.168,1776,2.083,1795,2.965,1970,2.103,2076,2.422,2093,2.882,3079,1.747,3088,3.464,3137,3.887,3138,2.539,3224,2.965,3225,3.822,3226,4.269,3263,2.809,3264,2.497,3471,3.523,3727,3.523,3986,2.965,4011,3.523,4113,3.063,4124,3.821,4125,2.584,4126,3.821,4127,3.326]],["title/990",[131,1.002,310,1.477,621,1.175,827,2.669,1139,1.753,1226,1.528,3226,1.247]],["content/990",[1,2.266,8,0.476,18,1.554,62,2.876,65,1.779,104,1.979,130,2.475,131,2.058,145,1.692,169,1.823,175,1.941,279,0.803,310,3.776,311,2.366,313,1.489,458,1.941,470,1.993,477,1.986,482,1.212,484,1.919,495,3.84,517,1.692,559,1.975,568,1.941,586,3.324,588,1.823,592,1.925,615,3.808,646,2.656,657,1.489,691,1.76,712,1.772,715,2.618,720,1.235,767,2.566,816,2.136,889,1.419,900,2.255,1139,5.105,1152,2.07,1257,2.675,1540,1.993,1575,2.011,1601,2.738,1643,2.327,1732,2.361,1841,2.237,1941,2.361,2064,2.738,2127,2.566,2178,2.266,2197,2.266,2364,2.266,2600,2.89,3132,2.89,3204,3.432,3225,3.459,3226,4.426,3263,4.351,3270,3.513,3469,2.985,3551,2.89,3916,2.809,3975,3.099,4128,3.434,4129,4.926,4130,3.434]],["title/991",[241,1.944,2762,4.043,3226,2.321]],["content/991",[154,3.707,169,4.687,241,2.601,256,4.158,485,3.343,505,2.987,915,3.278,969,4.849,1106,2.647,1115,4.113,1132,4.545,1398,7.223,1626,4.545,2947,4.308,3079,3.278,3125,6.243,3183,5.748,3184,5.15,3225,2.956,3226,4.147,3270,4.256,3286,5.15,3505,5.272,4019,5.409,4101,6.611,4102,6.611]],["title/992",[169,1.952,1115,2.287,1843,2.492,3086,2.864,3226,1.727]],["content/992",[24,1.245,34,1.262,65,1.631,71,0.978,169,1.637,176,1.408,185,1.529,194,1.262,229,1.613,241,1.969,255,2.185,257,2.261,279,0.721,313,1.336,398,2.879,416,1.806,440,3.08,492,1.432,515,2.089,521,1.591,524,2.854,541,2.522,559,1.773,562,1.773,586,1.878,665,1.918,720,2.272,858,2.185,860,2.911,867,3.261,931,3.492,1026,2.522,1106,2.003,1115,3.113,1136,4.282,1152,1.859,1165,1.728,1265,3.492,1398,2.522,1545,1.878,1548,2.222,1587,2.595,1591,2.458,1597,2.35,1625,2.911,2191,2.783,2263,1.859,2503,2.304,2732,2.261,2738,4.816,2913,3.815,2947,2.009,3086,2.401,3088,1.918,3192,5.168,3225,2.237,3226,3.755,3231,2.261,3234,2.034,3236,3.671,3238,2.68,3243,4.213,3286,3.898,3521,4.351,3592,2.783,3598,5.004,3611,2.35,3670,2.458,3995,2.595,4013,2.988,4037,2.458,4050,3.083,4103,5.004,4104,2.911,4106,4.517,4112,3.083,4113,6.321,4114,3.083,4125,3.671,4131,3.343,4132,3.343,4133,3.343,4134,3.343,4135,3.343,4136,3.083,4137,3.343]],["title/993",[169,1.952,859,2.65,1115,2.287,1132,2.528,3226,1.727]],["content/993",[18,0.704,34,1.749,65,2.107,69,1.592,104,2.273,141,2.657,169,2.267,185,3.867,240,2.436,253,2.131,393,2.686,440,3.978,482,1.507,524,2.921,587,3.019,605,2.936,624,2.479,653,3.028,720,2.325,889,1.765,969,3.133,1113,3.133,1115,2.657,1132,2.936,1177,2.395,1198,3.655,1398,3.494,1419,3.713,1527,3.028,1575,3.787,1673,4.033,1843,2.895,1892,2.856,2503,3.192,2600,3.595,2889,3.855,2913,3.256,3088,2.657,3180,3.855,3225,2.89,3226,4.085,3231,3.133,3286,5.035,3431,3.855,3844,3.595,3951,3.855,3965,2.749,4018,3.192,4033,4.033,4037,5.154,4104,4.033,4105,4.033,4106,3.855,4107,4.271,4108,4.271,4125,3.133,4138,4.632]],["title/994",[154,2.364,194,1.726,233,1.926,3226,1.98]],["content/994",[24,1.245,34,1.262,65,3.254,71,1.587,101,1.674,175,1.743,185,3.132,194,2.049,233,3.651,240,2.854,308,1.613,309,1.789,331,1.823,332,1.197,400,1.743,486,1.591,492,1.432,500,3.113,517,1.519,524,2.261,568,1.743,586,1.878,587,2.337,657,1.336,664,1.58,720,1.109,859,2.222,864,2.185,867,2.009,889,2.068,915,1.529,1073,2.401,1078,2.911,1106,1.234,1167,2.911,1198,1.743,1201,2.151,1262,2.522,1377,1.897,1403,1.918,1545,1.878,1575,2.932,1697,2.68,1838,2.911,1843,2.089,2037,2.68,2178,2.034,2263,1.859,2328,2.261,2404,2.35,2732,2.261,3079,1.529,3083,2.034,3088,1.918,3162,2.458,3225,4.033,3226,4.562,3231,2.261,3234,2.034,3243,2.595,3263,3.99,3279,2.595,3488,2.151,3510,2.911,3670,2.458,3705,2.522,3965,3.221,4013,2.988,4019,2.522,4030,3.973,4031,2.68,4095,2.783,4113,2.68,4119,3.083,4120,3.083,4123,3.083,4125,4.633,4139,3.343,4140,3.343]],["title/995",[185,3.738]],["content/995",[71,2.528,111,4.713,185,5.39,659,3.809,720,2.867,3093,5.744,3225,3.563,3236,5.846,3621,7.97,4030,6.267,4136,7.97,4141,7.97]],["title/996",[8,0.509,64,1.452,397,1.737,931,2.566,3152,3.472]],["content/996",[64,1.587,111,2.376,185,4.179,241,1.581,255,2.849,256,2.527,279,0.94,397,2.915,440,3.797,477,2.245,505,1.816,524,1.816,526,2.985,529,1.956,604,2.5,605,2.763,613,3.287,659,1.921,720,3.031,889,1.66,915,1.993,994,2.849,1038,3.582,1069,2.272,1098,3.758,1177,3.459,1190,2.088,1254,3.838,1377,2.473,1502,2.804,1510,2.849,1545,2.447,1563,2.527,1691,2.686,1892,2.686,2947,2.618,3162,3.204,3226,4.694,3231,2.947,3236,4.526,3417,3.382,3483,3.063,3611,4.704,4008,4.937,4019,3.287,4030,3.881,4073,4.018,4083,7.957,4090,3.794,4141,4.018,4142,4.358,4143,4.358,4144,4.358]],["title/997",[664,3.059,3225,2.669]],["content/997",[454,1.852,586,4.784,646,3.823,1477,4.94,1545,4.784,2155,6.612,3088,4.886,3093,5.661,3155,6.829,3225,4.414,3226,4.637,3339,6.612,3973,6.426,4145,8.519]],["title/998",[241,1.282,460,1.186,586,1.985,827,1.965,1843,2.209,3225,1.457]],["content/998",[18,1.409,34,1.001,36,1.406,48,0.904,62,2.176,64,2.118,65,3.162,71,0.775,97,1.459,100,4.351,106,1.762,108,1.07,131,0.922,169,1.298,176,1.116,185,2.048,194,1.69,229,1.279,233,1.116,240,1.394,241,0.962,279,0.572,308,1.279,309,1.419,311,1.79,440,1.504,474,1.573,482,0.863,484,0.859,486,1.261,492,1.135,495,1.382,516,1.613,517,1.204,523,1.657,556,1.733,557,1.288,559,1.406,581,1.155,586,3.265,587,1.142,588,1.298,592,1.37,619,1.555,664,2.747,712,1.261,714,1.307,720,0.879,773,2.335,790,1.613,867,1.593,889,1.01,931,1.706,1028,1.634,1037,4.512,1038,3.657,1052,1.261,1106,0.978,1165,1.37,1226,1.406,1254,1.521,1262,2,1540,2.397,1566,1.904,1631,1.863,1656,2.541,1724,1.827,1730,1.613,1732,1.681,1776,3.725,2076,1.681,2080,2.206,2093,3.378,2145,1.613,2238,2.206,2364,1.613,2404,1.863,2912,1.793,3088,2.569,3137,3.741,3172,3.476,3198,2.206,3204,1.537,3225,3.636,3226,2.959,3263,1.949,3264,1.733,3270,2.658,3286,1.904,3372,2.308,3681,2.206,3986,2.058,4013,1.459,4030,2.597,4031,2.125,4053,5.76,4093,2.308,4125,3.029,4127,2.308,4146,2.444,4147,2.444,4148,2.308]],["title/999",[131,1.002,310,1.477,621,1.175,827,2.669,1226,1.528,1540,1.542,3225,1.187]],["content/999",[1,2.419,18,1.593,62,3.028,65,1.873,104,2.065,130,2.642,131,2.167,145,1.806,169,1.946,175,2.072,279,0.857,310,3.941,311,2.491,313,1.589,458,2.072,460,1.334,470,2.128,477,1.334,482,1.294,484,2.02,495,3.249,559,2.109,568,2.072,586,2.233,588,1.946,592,2.055,615,4.01,646,2.796,657,1.589,664,1.878,691,1.878,712,1.891,715,2.794,720,1.318,767,2.739,816,2.28,889,1.515,1139,2.419,1152,2.21,1257,2.855,1540,4.113,1575,2.147,1601,2.923,1643,2.484,1732,2.52,1841,2.388,1941,2.52,2064,2.923,2127,2.739,2197,2.419,2364,2.419,2600,3.086,3132,3.086,3204,3.614,3225,4.132,3226,2.699,3263,4.581,3270,3.699,3469,3.187,3551,3.086,3916,2.999,3975,3.309,4128,3.665,4129,5.187,4130,3.665]],["title/1000",[1377,3.674,3225,2.669]],["content/1000",[65,2.718,108,3.651,592,4.674,646,4.058,889,3.445,1262,6.82,3162,6.648,3225,3.727,3226,3.916,3965,5.367,3966,6.23,4149,9.042]],["title/1001",[241,1.282,460,1.186,827,1.965,1377,2.006,1843,2.209,3225,1.457]],["content/1001",[18,1.201,34,1.063,37,1.444,65,3.289,71,1.378,100,4.64,131,0.979,169,2.306,176,1.186,194,1.778,229,1.359,233,1.984,240,1.481,241,1.709,253,1.296,308,1.359,311,1.126,377,1.521,440,1.598,448,2.185,450,1.535,454,0.612,470,1.507,484,0.913,492,1.206,521,2.241,523,1.76,524,2.53,557,1.368,559,1.494,587,2.029,588,1.378,592,1.456,646,2.114,712,1.34,720,2.014,721,1.812,744,1.671,773,2.456,859,1.871,867,3.649,889,1.073,911,1.692,915,1.287,1038,3.251,1106,1.039,1226,1.494,1282,2.452,1377,4.849,1545,1.581,1575,2.545,1597,1.979,1724,1.94,1841,1.692,1901,2.07,2116,1.76,2145,2.866,2382,2.124,2404,1.979,2503,1.94,3137,1.812,3155,2.257,3203,2.596,3204,1.633,3225,4.208,3226,2.63,3229,2.596,3263,3.464,3270,1.671,3279,3.656,3502,2.452,3535,2.596,3681,2.344,3825,2.596,3951,2.344,3966,4.893,3986,2.185,4030,5.517,4049,2.257,4125,1.904,4148,2.452,4150,4.344,4151,2.816,4152,2.816]],["title/1002",[131,1.002,310,1.477,621,1.175,827,2.669,1226,1.528,1377,1.635,3225,1.187]],["content/1002",[1,2.91,18,1.702,62,3.49,104,2.317,130,3.178,131,1.663,145,2.173,169,2.341,175,2.493,310,4.421,311,1.912,313,1.912,460,1.605,470,2.56,482,1.556,484,1.55,559,2.537,568,2.493,588,2.341,615,4.621,646,3.223,657,1.912,691,2.26,712,2.275,715,3.362,720,1.586,767,3.295,816,2.743,889,1.822,1152,2.659,1257,3.435,1377,5.44,1601,3.516,1643,2.989,1732,3.032,1841,2.873,1941,3.032,2064,3.516,2197,2.91,2364,2.91,3132,3.712,3204,4.165,3225,4.235,3270,4.262,3469,3.834,3551,3.712,3916,3.608,4129,3.981]],["title/975",[1198,4.261]],["content/975",[]],["title/976",[65,1.946,1198,3.375]],["content/976",[18,1.241,97,4.494,169,3.996,241,2.961,279,1.761,310,4.186,446,3.996,484,2.647,592,4.221,619,4.789,827,4.539,1052,3.884,1157,4.451,1198,5.434,1587,6.337,2145,4.967,3079,3.733,3246,6.545]],["title/977",[241,1.446,460,1.338,827,2.217,1198,2.079,1843,2.492]],["content/977",[0,0.735,18,1.427,24,0.632,34,0.64,36,1.61,48,1.035,62,0.824,64,1.501,65,2.821,77,1.169,84,1.046,97,0.934,100,3.266,106,1.127,131,0.59,169,0.83,175,0.884,176,0.714,181,1.218,185,2.637,194,1.146,229,0.818,233,0.714,241,0.615,279,0.655,308,1.464,309,0.908,311,1.213,332,0.607,378,0.87,416,1.64,440,1.723,450,0.925,454,0.369,460,0.569,474,1.007,482,0.988,484,0.55,486,0.807,492,1.3,495,0.884,505,0.707,517,0.771,525,1.564,556,1.109,557,0.824,559,0.9,581,1.322,582,0.786,587,2.483,588,0.83,592,0.877,613,1.28,619,0.995,688,0.943,691,0.802,712,0.807,714,0.837,720,1.366,757,0.953,773,2.147,790,1.032,858,1.109,867,1.824,889,0.646,931,1.953,1006,1.06,1026,1.28,1037,3.892,1038,3.429,1052,0.807,1085,1.28,1113,1.147,1133,0.934,1165,0.877,1177,0.877,1198,4.294,1226,0.9,1254,1.741,1265,1.092,1540,0.908,1566,2.18,1575,0.916,1631,1.192,1635,0.963,1647,1.52,1656,1.723,1664,1.28,1673,1.477,1693,1.412,1724,1.169,1728,1.564,1729,1.412,1730,1.032,1732,1.075,1776,5.117,1841,1.824,1970,1.671,2076,1.075,2080,1.412,2093,2.29,2116,1.06,2127,1.169,2145,1.032,2263,0.943,2270,1.317,2364,3.898,2404,1.192,2912,1.147,3034,3.798,3088,0.973,3106,2.356,3137,2.651,3161,1.412,3198,1.412,3204,0.984,3225,2.869,3226,3.014,3231,2.053,3240,1.36,3243,3.197,3263,3.687,3264,2.693,3270,2.445,3271,1.477,3276,1.412,3286,1.218,3372,1.477,3418,1.218,3483,1.192,3488,1.953,3643,1.317,3681,2.526,3758,1.564,3986,1.317,4013,2.268,4049,1.36,4053,4.833,4093,1.477,4105,1.477,4125,3.391,4127,1.477,4146,1.564,4147,1.564,4148,1.477,4153,3.035,4154,1.696,4155,1.696,4156,1.696,4157,1.696,4158,1.564,4159,1.696,4160,1.696]],["title/978",[131,1.104,310,1.627,621,1.295,827,2.892,1198,1.655,1226,1.684]],["content/978",[1,2.818,18,1.683,62,3.407,100,2.174,104,2.273,130,3.078,131,1.611,145,2.105,169,2.267,175,2.415,185,2.118,308,2.235,310,4.337,311,1.852,313,1.852,460,1.554,470,2.479,482,1.507,484,1.502,559,2.457,568,2.415,588,2.267,615,4.511,646,3.146,657,1.852,691,2.189,712,2.204,715,3.256,720,1.536,767,3.192,816,2.657,889,1.765,1152,2.575,1198,5.772,1257,3.327,1601,3.406,1631,3.256,1643,2.895,1732,2.936,1776,2.526,1841,2.783,1941,2.936,2064,3.406,2197,2.818,2364,4.265,3132,3.595,3204,4.066,3270,4.161,3469,3.713,3551,3.595,3916,3.494,4129,3.855]],["title/983",[579,3.798,3234,3.939]],["content/983",[48,2.331,55,2.077,279,1.474,482,2.225,529,3.068,538,2.408,574,2.761,579,4.011,720,2.268,1025,3.126,1026,5.157,1106,2.524,1257,4.911,1330,5.691,1475,4.4,1661,4.469,1721,4.624,1751,5.157,2045,5.027,3079,3.126,3082,5.643,3088,3.922,3225,2.818,3234,4.16,3386,6.304,3526,6.304,3534,5.307,3811,5.953,4027,5.157,4049,5.481,4067,5.953,4161,6.304]],["title/984",[720,1.778,3225,2.209,4030,3.108]],["content/984",[65,2.758,71,1.968,101,2.198,185,2.007,308,2.118,311,1.755,378,2.251,454,0.955,463,2.87,477,1.473,486,2.089,488,2.27,500,2.518,579,3.948,604,3.86,614,2.606,720,2.232,917,2.417,1048,2.546,1073,3.153,1087,2.149,1132,2.783,1386,2.575,1528,3.025,1547,3.228,1575,2.371,1675,2.783,1846,2.546,2042,3.823,2116,2.744,2328,2.969,2732,4.552,2947,2.638,3079,2.007,3082,4.095,3088,2.518,3138,4.473,3225,4.622,3226,2.915,3234,2.671,3329,3.312,3392,4.048,3488,2.825,3528,3.312,3643,3.408,3694,3.823,4013,2.417,4018,3.025,4019,3.312,4030,5.321,4060,4.048,4162,4.39,4163,4.39,4164,4.39,4165,4.39,4166,4.048,4167,4.048,4168,4.39,4169,4.39,4170,4.39]],["title/985",[4027,6.166]],["content/985",[48,1.579,65,2.107,76,3.078,114,1.598,115,1.976,154,2.395,219,2.041,279,0.999,309,2.479,378,2.375,454,1.007,482,1.507,488,2.395,492,1.983,500,4.852,521,2.204,524,2.921,531,1.94,538,1.631,546,2.251,574,1.87,604,2.657,614,2.749,720,1.536,945,2.717,952,2.502,1025,2.118,1026,3.494,1028,2.856,1029,2.686,1094,3.192,1477,2.686,1511,3.855,1526,3.713,1563,2.686,1575,3.787,1675,2.936,1776,3.822,1831,2.415,1843,2.895,2191,3.855,3036,4.271,3079,2.118,3082,4.265,3083,4.265,3088,2.657,3225,1.909,3234,2.818,3488,4.511,3521,3.713,3643,3.595,3737,4.033,4013,2.55,4017,4.271,4027,5.288,4030,2.686,4047,3.595,4161,4.271,4167,4.271,4171,4.632,4172,4.632,4173,4.632,4174,4.632]],["title/986",[574,3.301]],["content/986",[0,1.873,48,1.475,114,2.296,115,1.876,219,2.932,279,0.933,378,3.412,470,2.315,477,2.233,484,2.157,496,3.468,505,1.802,521,2.058,524,2.772,531,3.396,538,2.343,567,5.141,572,3.107,574,3.676,579,3.903,604,2.481,715,3.041,891,2.337,900,2.535,1025,1.978,1043,3.358,1048,2.509,1059,2.667,1093,2.784,1675,2.742,1831,2.255,1846,2.509,2328,4.5,2947,2.599,3079,3.708,3082,4.934,3088,2.481,3093,2.875,3159,3.989,3234,2.632,3329,6.117,3502,3.766,3560,3.989,3811,5.794,3840,3.989,4010,3.766,4013,2.381,4034,3.989,4047,6.294,4057,3.989,4067,3.766,4175,4.326,4176,4.326,4177,4.326,4178,4.326,4179,4.326]],["title/1003",[918,7.117]],["content/1003",[]],["title/1004",[3079,3.738]],["content/1004",[48,2.904,65,2.56,279,1.837,482,2.772,500,4.886,586,4.784,1025,3.895,1029,4.94,1198,4.441,1386,4.997,1475,5.482,1846,4.94,3225,3.512,3239,5.661,4007,5.482,4008,4.601]],["title/1005",[1645,3.093,3488,2.942,4006,3.806,4007,2.942]],["content/1005",[35,3.689,55,2.289,65,2.265,101,3.774,111,4.11,454,1.639,495,3.929,500,4.323,524,3.14,582,3.491,646,3.382,720,2.5,939,5.686,1025,3.446,1094,5.194,1502,4.85,1645,5.098,1776,4.11,2643,5.85,3225,3.107,3226,3.264,3550,5.414,4007,4.85,4013,4.149,4180,7.538]],["title/1006",[1540,3.465,3225,2.669]],["content/1006",[34,3.312,65,3.278,71,2.565,240,4.613,308,4.232,524,3.655,646,3.937,864,5.734,3225,3.616,3226,4.723,3965,5.207,4030,5.088]],["title/1007",[720,1.778,3225,2.209,4030,3.108]],["content/1007",[18,1.277,24,3.127,65,2.524,185,3.839,495,4.378,524,3.498,720,2.785,1177,4.341,2116,5.248,2139,5.489,3225,3.461,3226,3.637,3231,5.679,3654,7.311,3965,4.984,4013,4.623,4030,4.87]],["title/1008",[1377,3.674,3225,2.669]],["content/1008",[65,3.248,100,4.057,240,4.545,308,4.17,492,3.701,524,3.601,646,3.879,3225,3.563,3226,3.743,3966,5.956,4030,5.013,4125,5.846,4150,7.97,4181,8.644]],["title/1009",[3226,3.54]],["content/1009",[24,2.919,65,3.385,114,2.704,115,2.21,458,4.086,495,5.293,524,3.266,582,3.63,720,3.367,790,4.769,889,2.986,1527,5.124,2139,5.124,3225,4.185,3965,4.652,4013,4.315,4125,5.301]],["title/1010",[1776,3.53,2364,3.939]],["content/1010",[54,5.679,65,2.524,416,4.536,1052,3.995,1776,6.343,2364,5.109,3054,7.743,3106,6.518,3226,3.637,3418,6.031,4013,5.841,4118,7.311,4125,5.679,4182,8.398]],["title/1011",[4053,6.166]],["content/1011",[181,5.784,229,3.885,309,4.31,458,4.198,524,3.355,956,4.063,1037,6.25,1052,3.831,1138,5.264,1249,5.661,1732,5.105,1776,5.633,1844,5.661,3225,3.319,3296,6.074,3327,7.425,4013,4.433,4053,6.074,4125,5.446]],["title/1012",[1198,4.261]],["content/1012",[65,2.524,185,3.839,194,3.17,233,3.536,517,3.815,579,4.926,1052,3.995,1198,4.378,1575,4.536,2066,5.903,2178,5.109,3079,3.839,3225,3.461,3226,3.637,3296,6.334,4013,4.623,4053,6.334]],["title/1013",[24,1.703,867,2.747,2263,2.542,3243,3.549]],["content/1013",[24,3.083,65,2.488,100,3.886,101,4.145,111,4.514,416,4.472,587,3.565,624,4.431,867,6.318,1265,5.328,2263,5.846,3079,3.785,3225,3.413,3226,3.585,3639,7.208,4076,6.891]],["title/1014",[3239,4.303,4008,3.497]],["content/1014",[20,4.061,35,3.308,49,1.869,71,1.976,101,3.384,175,3.523,308,3.261,483,4.349,524,2.816,538,2.38,579,3.965,619,3.965,720,2.242,918,5.885,1073,4.854,1177,3.494,1551,4.112,1575,3.651,1841,4.061,2116,4.224,2732,4.571,3079,4.207,3089,5.625,3138,4.492,3225,2.786,3231,4.571,3234,4.112,3505,4.969,3528,5.098,4022,5.625,4076,5.625,4183,6.759,4184,6.759]],["title/1015",[111,3.53,3705,4.884]],["content/1015",[]],["title/1016",[481,5.26]],["content/1016",[18,0.894,48,2.005,74,1.714,101,2.944,175,3.066,279,1.268,313,2.351,482,1.914,500,3.373,515,3.675,579,3.45,657,2.351,1025,4.442,1029,3.411,1033,3.978,1087,2.879,1198,3.066,1386,3.45,1475,3.784,1645,3.978,1676,4.715,1846,3.411,2116,3.675,2732,3.978,2947,3.533,3079,3.819,3082,5.082,3083,3.578,3093,3.908,3138,3.908,3157,4.895,3225,2.424,3239,3.908,3264,3.844,3329,4.436,3488,3.784,3534,4.565,3537,5.121,4006,4.895,4007,3.784,4008,3.177,4021,5.423,4185,5.881]],["title/1017",[1386,3.798,4007,4.166]],["content/1017",[35,3.426,65,2.104,101,3.505,150,2.771,175,3.649,229,3.377,311,2.798,454,1.522,491,5.146,495,3.649,568,3.649,744,4.155,790,4.259,939,5.28,1014,4.92,1106,2.584,1386,4.106,1656,3.972,2116,4.375,3079,4.308,3225,4.391,3226,4.081,3488,4.504,3550,5.027,4007,4.504,4013,5.187]],["title/1018",[3079,2.96,3234,3.939]],["content/1018",[34,1.965,48,1.774,65,3.003,71,1.522,114,1.796,115,1.468,185,3.497,240,2.737,279,1.122,308,2.511,309,2.786,332,1.864,378,2.669,454,1.132,458,2.714,482,1.694,507,2.838,531,2.18,538,1.833,540,3.459,570,3.926,574,2.102,586,2.923,623,2.986,664,2.46,720,2.536,777,3.167,790,3.167,891,2.812,1025,2.38,1106,1.921,1198,2.714,1262,3.926,1818,3.253,2328,3.52,2732,3.52,3079,2.38,3225,3.737,3226,3.926,4013,4.21,4027,3.926,4030,5.258,4031,4.173,4039,4.8,4047,4.04,4125,3.52,4186,5.205,4187,5.205]],["title/1019",[311,1.828,313,1.828,1720,3.549,4013,2.517]],["content/1019",[65,2.237,256,4.316,311,3.924,331,4.058,415,3.643,720,2.468,1038,3.983,1052,3.541,1106,2.747,1661,4.865,1776,5.351,1844,5.231,1882,5.966,2328,5.033,2364,4.528,3079,3.403,3082,4.528,3106,5.776,3226,3.223,3296,5.614,3488,4.789,3670,5.471,3694,6.48,4013,4.097]],["title/1020",[1177,2.771,3239,3.562,4008,2.895]],["content/1020",[48,2.444,64,2.612,65,2.155,279,1.546,332,2.568,482,2.333,487,5.409,720,2.378,915,3.278,994,4.687,1035,3.873,1177,4.95,1510,4.687,1545,4.027,1970,3.947,2076,4.545,3065,5.968,3138,4.765,3225,3.947,3226,3.105,3234,4.363,3239,6.364,3417,5.565,4008,3.873,4018,4.941,4047,5.565]],["title/1021",[961,2.803,1059,2.458,2643,3.095,3550,2.864,4007,2.566]],["content/1021",[8,0.996,24,2.905,34,2.019,65,2.344,184,3.253,185,2.445,311,2.137,331,2.915,492,2.29,495,4.066,720,1.773,729,5.602,731,5.735,867,3.213,889,2.037,961,7.115,1028,3.296,1052,2.544,1059,5.676,1098,3.003,1116,2.414,1386,3.137,1776,4.253,3079,2.445,3133,4.45,3224,6.054,3225,3.796,3226,3.988,3257,4.15,3550,6.613,3957,4.656,4007,3.441,4013,4.294,4051,4.656,4061,6.791,4062,4.93]],["title/1022",[493,2.641,773,3.375]],["content/1022",[8,0.807,62,3.073,65,3.57,100,4.742,150,2.503,308,3.051,393,3.667,477,2.122,773,3.296,961,4.445,1028,3.898,1059,3.898,1198,3.296,1404,4.542,1503,9.522,1527,4.133,2298,4.277,2524,5.069,3225,2.607,3226,2.738,3550,6.313,4013,3.481,4027,4.77,4061,7.653,4188,6.323,4189,6.323]],["title/1023",[1776,2.922,2364,3.261,4053,4.043]],["content/1023",[84,4.707,311,3.99,562,4.05,961,5.367,1059,4.707,1277,5.613,1563,4.428,1647,3.823,1720,5.926,1776,5.442,1844,5.367,2364,6.073,3296,5.759,3409,7.04,3483,5.367,3488,4.913,4013,6.122,4038,7.04,4158,7.04]],["title/1024",[1132,3.398,1189,3.85,4190,4.942]],["content/1024",[34,2.22,48,2.005,49,1.626,169,2.879,279,1.801,313,2.351,454,1.279,463,3.844,482,1.914,524,2.45,538,2.071,572,4.224,579,4.9,589,2.798,624,3.148,982,4.895,1018,4.565,1025,3.819,1276,4.052,1386,3.45,1494,4.895,1841,3.533,1846,3.411,2947,3.533,3079,3.819,3082,5.082,3106,4.565,3138,3.908,3225,2.424,3234,3.578,3239,3.908,3329,4.436,3534,4.565,3962,5.121,4007,3.784,4008,3.177,4013,3.238,4047,4.565,4166,5.423,4191,5.881,4192,5.881,4193,5.881]],["title/1033",[114,2.234,115,1.825]],["content/1033",[]],["title/1025",[114,1.578,115,1.289,2263,2.542,4008,2.47]],["content/1025",[]],["title/1026",[1177,4.226]],["content/1026",[64,4.362,394,5.193,460,2.665,484,2.575,526,3.543,621,3.241,661,4.373,1017,6.917,1177,4.107,3611,8.417,4194,7.944,4195,7.325,4196,7.944,4197,7.944,4198,7.944]],["title/1027",[4070,6.553]],["content/1027",[8,1.591,460,2.145,526,2.851,621,2.608,659,3.903,661,3.519,1098,6.996,1568,4.113,1664,4.822,2263,3.554,2742,4.822,3222,5.32,3528,4.822,3618,4.699,3973,4.822,4070,5.124,4199,6.392,4200,6.392,4201,6.392,4202,6.392,4203,6.392,4204,6.392,4205,6.392,4206,5.894]],["title/1028",[773,2.794,1177,2.771,2738,3.768]],["content/1028",[82,3.49,103,3.247,115,1.95,233,3.937,460,2.321,493,2.822,517,3.143,588,3.386,589,3.291,652,5.763,719,4.522,773,4.873,1135,4.863,1193,3.547,1671,7.78,2178,4.209,2738,7.442,3965,5.548,4018,4.767,4207,6.918,4208,6.918,4209,6.918,4210,6.918,4211,6.918,4212,6.918]],["title/1029",[102,3.811]],["content/1029",[65,2.766,78,3.651,100,4.319,102,4.29,108,2.729,254,4.061,398,5.958,773,5.855,956,3.41,1098,5.168,1136,4.224,1721,4.571,2353,5.246,3167,8.708,3965,6.666,4213,6.759,4214,6.759,4215,6.759,4216,6.759]],["title/1030",[773,4.261]],["content/1030",[8,1.672,244,5.207,460,2.099,538,2.203,657,2.501,712,2.976,773,3.261,1177,3.234,1479,5.207,2145,3.806,2738,6.133,4217,6.256,4218,8.044,4219,6.256,4220,5.768,4221,6.256,4222,8.044,4223,8.725,4224,10.046,4225,6.256,4226,8.044,4227,6.256]],["title/1031",[493,3.335]],["content/1031",[8,1.628,64,3.382,102,2.094,460,2.298,526,3.702,589,2.136,684,1.967,695,2.732,757,2.522,773,2.341,956,2.266,960,3.387,969,3.037,1085,3.387,1098,4.661,1177,4.29,1485,2.935,1568,2.89,2366,3.486,2738,3.157,3041,8.444,3402,4.141,3611,3.157,3882,4.141,3965,4.926,4008,2.426,4195,4.141,4206,7.652,4218,4.141,4220,4.141,4222,4.141,4226,4.141,4228,4.491,4229,4.491,4230,6.848,4231,4.491,4232,6.848,4233,4.491,4234,4.491,4235,4.491,4236,4.491]],["title/1032",[4237,8.175]],["content/1032",[8,0.916,62,3.484,64,3.488,65,2.155,99,3.435,115,2.022,460,2.406,493,2.925,582,4.435,1071,4.113,1131,4.069,1136,4.481,1177,4.95,2738,6.731,3202,7.432,3233,6.611,3480,6.243,4008,3.873,4110,8.337,4238,7.17,4239,7.17,4240,7.17,4241,7.17]],["title/1034",[279,1.156,484,1.738,1832,2.748]],["content/1034",[12,3.35,101,3.271,143,2.478,219,2.879,279,1.939,309,3.497,313,2.612,460,2.192,482,2.126,484,2.118,486,3.108,487,4.929,504,3.529,505,3.746,519,3.108,524,3.746,568,3.406,574,2.638,657,2.612,888,3.13,1002,4.419,1010,3.975,1025,2.987,1082,5.689,1389,4.593,1548,4.342,1844,4.593,1934,5.238,2074,4.804,2322,4.419,2912,4.419,4242,6.534,4243,6.534,4244,6.534]],["title/1035",[1069,4.261]],["content/1035",[18,1.112,64,3.188,65,2.199,69,1.684,99,2.348,104,1.317,105,4.395,143,1.859,240,3.847,279,1.057,308,2.365,454,1.066,484,1.589,486,4.164,494,3.604,501,3.315,505,2.042,529,2.2,545,2.332,569,3.805,691,2.316,888,2.348,917,2.699,952,2.648,976,2.241,1002,3.315,1021,2.782,1069,4.562,1157,2.673,1198,2.556,1389,3.446,1776,2.673,1992,3.315,2010,4.08,2112,3.805,2263,2.725,3082,2.983,3083,2.983,3192,3.698,3193,3.604,3225,2.021,3241,4.52,3285,4.52,3293,4.268,3427,4.08,4004,4.268,4008,2.648,4245,4.902,4246,4.902,4247,4.268,4248,4.268,4249,4.52,4250,4.902,4251,4.268,4252,4.902,4253,4.902,4254,4.52]],["title/1036",[540,4.303,907,4.232]],["content/1036",[484,3.463,907,6.983]],["title/1037",[2920,6.553]],["content/1037",[36,1.381,103,1.222,108,1.052,112,0.829,133,2.757,143,2.176,154,1.346,176,1.858,279,0.562,313,1.763,321,1.831,332,0.932,393,1.51,421,1.676,441,4.6,454,1.248,484,0.844,488,1.346,492,2.457,499,2.405,501,1.761,502,1.761,504,1.407,507,3.129,510,1.275,517,1.183,524,2.391,528,2.021,529,1.979,531,2.829,540,1.731,546,1.265,552,5.874,567,1.651,572,1.87,574,3.052,588,1.275,594,1.51,600,1.448,614,1.546,620,1.627,767,1.794,791,1.831,885,1.915,889,0.992,900,0.992,907,1.702,917,1.434,945,1.528,952,1.407,953,1.915,981,1.731,1006,1.627,1015,1.394,1020,4.328,1021,3.256,1024,2.021,1069,1.358,1091,1.915,1139,1.584,1204,2.618,1212,2.401,1395,1.731,1423,1.605,1474,2.167,1498,2.021,1528,1.794,1545,2.477,1594,2.267,1635,1.478,1677,1.964,1790,2.267,1818,2.757,1834,3.638,1846,4.383,1851,1.731,1892,1.605,1932,5.291,1942,1.761,1943,1.761,1973,2.167,2076,4.282,2136,2.167,2178,1.584,2183,2.267,2194,2.401,2507,2.088,2877,2.267,2913,3.101,2914,2.267,2920,4.6,2947,1.565,3168,2.021,3169,2.021,3170,2.021,3248,2.401,3264,1.702,3275,2.401,3362,2.088,3363,1.87,3563,2.401,3829,2.401,4014,2.267,4255,4.067,4256,2.604,4257,2.604,4258,2.604,4259,2.604,4260,2.604,4261,2.604,4262,2.604,4263,2.604,4264,2.604,4265,2.604,4266,2.604,4267,2.604]],["title/1038",[672,4.298]],["content/1038",[8,1.434,35,1.714,36,3.75,67,1.666,71,1.024,119,2.543,253,2.593,279,0.755,313,2.253,332,1.254,393,2.031,453,2.22,454,1.762,484,2.292,505,1.459,519,1.666,521,1.666,552,1.967,570,2.642,582,1.622,659,1.544,672,4.669,688,3.133,720,1.869,757,1.967,778,3.049,802,3.049,889,1.334,890,1.988,900,2.694,911,2.104,950,3.229,953,2.575,994,2.289,1021,3.198,1204,3.345,1209,2.289,1226,1.858,1245,2.808,1505,5.885,1834,2.22,1873,2.22,2010,4.69,2178,2.131,2232,4.374,2270,2.718,2702,3.049,3192,4.251,3193,7.332,3274,4.69,3293,3.049,3466,3.049,3483,2.462,3606,3.229,3973,2.642,4251,3.049,4268,3.503,4269,3.503,4270,3.503,4271,3.503,4272,3.503,4273,3.503,4274,5.635,4275,3.503,4276,3.503,4277,3.503,4278,5.635,4279,3.503,4280,5.635]],["title/1039",[313,2.588,531,2.712]],["content/1039",[37,1.658,49,1.46,77,2.228,105,4.644,112,1.029,143,2.003,146,2.509,154,1.671,219,1.425,233,1.362,241,1.173,249,1.46,253,1.488,306,2.37,313,2.111,436,2.604,439,1.897,454,1.681,460,1.085,474,1.919,482,1.052,485,1.507,491,2.377,499,1.763,501,2.187,502,2.187,504,4.175,505,3.22,529,2.37,531,1.354,552,1.816,559,1.715,562,1.715,585,2.081,588,1.583,621,1.319,623,1.855,657,1.292,688,2.936,695,1.967,720,1.752,913,1.78,935,2.509,976,1.478,981,2.149,1002,3.572,1010,3.213,1015,1.73,1038,1.73,1054,1.943,1079,2.273,1080,2.815,1081,2.021,1133,1.78,1204,1.919,1211,2.322,1226,1.715,1376,2.322,1387,4.598,1389,3.713,1395,6.411,1563,1.875,1662,2.021,2060,2.691,2112,4.099,2742,2.439,2912,2.187,3037,6.173,3070,2.981,3187,2.815,3363,2.322,3387,2.691,3496,2.691,3636,2.981,3666,2.981,3969,2.691,3993,2.815,4106,2.691,4247,6.73,4248,6.73,4249,4.87,4281,3.233,4282,3.233,4283,3.233,4284,3.233,4285,3.233,4286,3.233,4287,3.233,4288,3.233]],["title/1040",[112,2.06,306,2.905]],["content/1040",[18,0.357,24,0.476,28,0.763,32,0.461,34,0.886,35,0.625,49,1.303,50,1.696,54,1.587,62,0.621,64,0.855,69,0.439,78,1.267,82,1.184,88,2.09,104,0.343,105,0.767,112,1.5,134,0.684,143,0.89,150,0.505,154,1.213,162,1.361,176,0.988,194,0.886,219,0.563,229,1.132,233,0.538,241,2.918,253,0.588,279,0.702,306,3.018,313,2.52,321,0.898,331,1.774,332,0.84,393,0.741,398,1.726,421,1.51,436,1.605,440,1.847,443,0.787,454,1.269,455,0.69,474,0.758,482,0.416,483,0.822,484,1.528,485,0.595,486,1.116,493,0.521,501,0.864,504,0.69,506,1.024,513,0.666,514,1.376,517,0.58,519,1.92,522,1.953,524,1.681,531,3.37,538,0.826,540,0.849,552,0.717,563,1.203,581,0.556,587,3.464,594,1.361,613,1.77,615,1.51,616,1.112,622,0.991,623,0.732,641,0.608,643,1.617,652,0.787,657,0.51,672,2.479,684,1.768,688,2.243,720,0.424,735,0.822,773,0.666,796,0.71,884,1.063,885,0.939,888,0.612,889,3.685,903,2.609,917,1.291,954,1.024,976,0.584,982,1.063,994,0.835,1002,2.201,1010,1.427,1015,0.683,1021,1.847,1054,0.767,1064,0.991,1079,0.898,1106,0.471,1119,0.822,1123,0.767,1127,1.063,1140,1.112,1162,1.024,1163,1.177,1173,3.386,1192,1.024,1196,1.821,1204,0.758,1226,0.677,1250,0.939,1254,0.732,1265,0.822,1270,2.163,1327,0.822,1330,1.063,1376,2.337,1389,3.314,1395,3.878,1423,1.446,1496,0.917,1498,0.991,1505,1.063,1534,1.063,1541,1.77,1558,0.917,1573,5.441,1602,1.685,1693,1.063,1721,1.587,1760,0.864,1776,2.2,1818,0.798,1831,0.666,1837,0.767,1844,0.898,1877,0.991,1943,1.587,1970,0.703,2010,1.063,2122,1.063,2145,0.777,2178,0.777,2263,1.809,2322,0.864,2353,0.991,2419,0.732,2503,2.242,2732,2.729,2947,0.767,3038,2.833,3044,1.063,3074,1.177,3103,0.991,3112,1.063,3137,0.822,3193,0.939,3202,0.991,3274,1.063,3473,1.112,3545,1.112,3573,1.177,3657,2.043,3753,1.063,3848,0.991,3973,2.455,3993,1.112,4247,1.112,4248,1.112,4251,1.112,4254,3.721,4289,1.277,4290,1.277,4291,1.277,4292,2.346,4293,1.277,4294,1.277,4295,1.277,4296,1.277,4297,1.277,4298,2.346,4299,1.277,4300,1.277,4301,2.346,4302,1.277,4303,1.277,4304,1.277,4305,3.254,4306,1.277,4307,1.277,4308,1.277,4309,1.277,4310,1.277]],["title/1041",[154,2.771,279,1.156,482,1.744]],["content/1041",[35,3.163,154,3.341,194,2.439,240,3.398,279,2.204,439,3.791,482,2.103,492,2.767,507,3.523,537,4.37,546,3.14,552,5.74,574,3.603,586,3.629,604,3.707,651,5.24,1028,3.984,1054,3.882,1204,3.835,1749,4.295,1818,4.038,1831,3.369,1834,5.656,1855,5.626,2032,5.18,2033,5.958,2947,3.882,3222,5.378,3515,4.453,4311,5.626]],["title/1042",[1941,5.182]],["content/1042",[]],["title/1043",[3986,5.025,4312,6.475]],["content/1043",[552,5.789,1834,6.535,4313,10.309,4314,10.309]],["title/1044",[598,6.804]],["content/1044",[531,2.799,552,5.841,557,4.437,594,6.032,600,6.214,603,6.291,607,4.604,650,5.04,651,3.426,891,4.932,907,4.368,1020,6.887,1475,4.3,1675,4.236,1940,6.161,1942,4.519,2032,8.338,4315,6.682,4316,6.682,4317,9.131,4318,6.682]],["title/1046",[546,3.146,1831,3.375]],["content/1046",[49,1.492,111,5.047,241,1.957,279,1.996,313,3.139,458,2.813,482,3.012,484,3.295,520,4.66,531,3.877,539,3.872,546,4.498,568,2.813,574,3.171,579,3.165,582,2.499,672,2.837,712,2.567,889,2.056,899,4.07,911,3.242,1024,4.188,1025,2.467,1087,2.641,1525,3.586,1575,2.915,1831,5.299,1837,3.242,1839,3.65,1841,3.242,1844,3.793,1984,3.527,2931,4.491,4033,4.698,4255,4.975,4319,5.396]],["title/1047",[1115,3.074,1233,3.042,1276,3.693]],["content/1047",[18,1.133,36,2.667,49,1.39,103,2.36,176,3.139,194,1.898,219,2.216,233,3.139,241,2.704,310,2.578,400,2.621,446,2.461,454,1.093,484,3.563,485,2.344,493,3.624,520,2.984,524,2.095,587,3.825,641,3.546,691,4.198,744,2.984,892,3.142,904,3.696,912,2.916,941,3.792,956,3.761,1025,2.299,1087,2.461,1226,2.667,1586,4.377,1831,5.47,1844,3.534,1875,3.902,2886,6.49,3109,6.873,3183,4.03,3470,4.377,3650,4.636,4320,5.028,4321,5.028]],["title/1048",[1115,3.074,1233,3.042,1653,3.562]],["content/1048",[0,1.225,18,0.43,35,1.385,84,1.744,99,1.355,111,3.883,133,1.768,143,1.073,154,1.463,162,1.641,194,1.068,219,1.247,279,2.205,378,3.125,393,1.641,397,1.232,400,2.466,408,1.623,436,1.395,446,1.385,454,1.723,458,2.466,482,1.983,484,3.09,486,1.346,495,1.475,499,2.579,501,1.914,502,1.914,519,1.346,524,1.179,529,1.27,531,1.185,532,2.032,538,0.996,546,3.85,552,1.589,567,2.998,568,1.475,574,3.459,582,1.31,586,1.589,623,1.623,683,1.794,691,1.337,720,1.569,777,2.878,888,1.355,889,2.322,892,1.768,896,2.684,912,1.641,915,1.294,952,2.555,969,1.914,1054,1.7,1204,3.617,1482,1.768,1494,2.355,1575,1.528,1711,1.721,1819,1.794,1831,4.97,1834,2.998,1837,2.842,1846,4.595,1849,1.95,1852,2.268,1862,2.032,1892,1.744,1904,2.268,1942,1.914,1943,1.914,1947,3.199,2116,2.956,2133,2.355,2311,2.609,2913,1.989,3168,2.196,3169,2.196,3170,2.196,3740,2.609,3848,3.671,4311,4.118,4322,5.619,4323,2.829,4324,2.609,4325,2.829]],["title/1049",[4190,7.537]],["content/1049",[8,0.515,111,2.197,133,2.518,154,2.083,194,1.521,241,1.462,279,1.672,309,2.157,313,1.611,378,3.229,393,2.337,397,1.755,454,0.876,458,2.101,482,2.049,484,2.841,486,1.917,519,1.917,531,2.638,532,2.894,546,4.259,567,2.555,574,3.84,582,1.866,605,2.555,623,2.311,661,2.218,695,2.452,889,1.535,896,3.574,898,2.218,976,1.843,1076,2.197,1087,1.973,1204,3.738,1219,3.128,1226,2.138,1477,2.337,1482,2.518,1494,3.354,1498,3.128,1616,3.128,1643,2.518,1711,2.452,1831,3.283,1834,3.993,1846,3.653,1847,7.149,1859,2.777,1862,2.894,1984,2.634,2116,3.936,2886,3.509,2913,2.833,2975,2.777,3067,5.848,3068,3.354,3102,3.716,4311,5.484,4322,7.149,4324,3.716,4326,4.03,4327,4.03,4328,4.03,4329,4.03]],["title/1045",[539,3.193,1565,4.232]],["content/1045",[14,2.846,21,4.631,32,3.43,45,3.347,55,2.151,97,3.9,175,3.693,332,3.401,393,4.108,454,2.065,469,4.708,539,3.493,542,5.896,567,4.491,655,3.141,889,2.699,1079,4.98,1535,4.791,1565,7.005,1656,4.02,4330,7.084,4331,7.084,4332,7.084,4333,7.084,4334,7.084]]],"invertedIndex":[["",{"_index":8,"title":{"239":{},"240":{},"275":{},"285":{},"446":{},"463":{},"613":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"650":{},"651":{},"652":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"678":{},"683":{},"684":{},"685":{},"691":{},"692":{},"695":{},"714":{},"786":{},"789":{},"944":{},"958":{},"959":{},"963":{},"996":{}},"content":{"2":{},"3":{},"4":{},"5":{},"6":{},"9":{},"12":{},"13":{},"15":{},"16":{},"19":{},"20":{},"22":{},"23":{},"25":{},"26":{},"28":{},"29":{},"31":{},"32":{},"34":{},"35":{},"37":{},"38":{},"40":{},"41":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"52":{},"53":{},"54":{},"55":{},"56":{},"58":{},"59":{},"61":{},"62":{},"64":{},"65":{},"67":{},"68":{},"69":{},"70":{},"71":{},"73":{},"74":{},"76":{},"77":{},"79":{},"80":{},"82":{},"83":{},"85":{},"86":{},"88":{},"89":{},"91":{},"92":{},"94":{},"95":{},"98":{},"99":{},"101":{},"102":{},"104":{},"105":{},"107":{},"108":{},"111":{},"112":{},"114":{},"115":{},"117":{},"118":{},"119":{},"120":{},"121":{},"123":{},"124":{},"128":{},"129":{},"133":{},"134":{},"138":{},"139":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"157":{},"159":{},"163":{},"167":{},"169":{},"171":{},"177":{},"179":{},"181":{},"185":{},"187":{},"195":{},"198":{},"199":{},"201":{},"202":{},"206":{},"208":{},"211":{},"212":{},"213":{},"214":{},"218":{},"219":{},"222":{},"223":{},"225":{},"228":{},"234":{},"235":{},"236":{},"238":{},"244":{},"247":{},"260":{},"261":{},"262":{},"264":{},"269":{},"287":{},"345":{},"346":{},"350":{},"353":{},"365":{},"367":{},"369":{},"370":{},"371":{},"372":{},"373":{},"376":{},"377":{},"379":{},"380":{},"382":{},"383":{},"385":{},"386":{},"388":{},"389":{},"391":{},"392":{},"394":{},"395":{},"397":{},"398":{},"400":{},"401":{},"403":{},"404":{},"406":{},"407":{},"409":{},"410":{},"412":{},"413":{},"415":{},"416":{},"417":{},"423":{},"426":{},"428":{},"429":{},"430":{},"431":{},"432":{},"434":{},"436":{},"438":{},"439":{},"440":{},"441":{},"442":{},"443":{},"445":{},"446":{},"447":{},"450":{},"453":{},"454":{},"457":{},"458":{},"459":{},"462":{},"463":{},"465":{},"466":{},"467":{},"469":{},"470":{},"472":{},"473":{},"474":{},"479":{},"480":{},"481":{},"482":{},"483":{},"484":{},"485":{},"486":{},"487":{},"488":{},"490":{},"491":{},"492":{},"500":{},"505":{},"513":{},"514":{},"516":{},"517":{},"518":{},"519":{},"520":{},"522":{},"523":{},"524":{},"525":{},"526":{},"527":{},"528":{},"529":{},"532":{},"535":{},"536":{},"537":{},"539":{},"540":{},"541":{},"542":{},"549":{},"550":{},"551":{},"552":{},"553":{},"555":{},"556":{},"557":{},"558":{},"559":{},"560":{},"561":{},"562":{},"563":{},"564":{},"565":{},"566":{},"567":{},"568":{},"570":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"579":{},"580":{},"581":{},"582":{},"583":{},"584":{},"585":{},"588":{},"589":{},"592":{},"593":{},"596":{},"598":{},"599":{},"600":{},"601":{},"602":{},"603":{},"604":{},"605":{},"606":{},"608":{},"610":{},"612":{},"613":{},"614":{},"615":{},"616":{},"617":{},"618":{},"621":{},"626":{},"629":{},"631":{},"632":{},"633":{},"634":{},"635":{},"636":{},"637":{},"640":{},"641":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"650":{},"651":{},"652":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"678":{},"683":{},"684":{},"685":{},"691":{},"692":{},"695":{},"700":{},"714":{},"755":{},"769":{},"772":{},"775":{},"779":{},"833":{},"835":{},"847":{},"848":{},"849":{},"850":{},"851":{},"876":{},"877":{},"881":{},"890":{},"898":{},"901":{},"903":{},"904":{},"932":{},"960":{},"966":{},"982":{},"990":{},"1021":{},"1022":{},"1027":{},"1030":{},"1031":{},"1032":{},"1038":{},"1049":{}}}],["0",{"_index":659,"title":{},"content":{"211":{},"212":{},"213":{},"214":{},"221":{},"226":{},"227":{},"230":{},"251":{},"261":{},"262":{},"263":{},"268":{},"278":{},"397":{},"400":{},"429":{},"430":{},"432":{},"437":{},"443":{},"446":{},"450":{},"462":{},"463":{},"465":{},"487":{},"489":{},"490":{},"491":{},"492":{},"536":{},"549":{},"550":{},"555":{},"556":{},"561":{},"567":{},"568":{},"575":{},"577":{},"593":{},"602":{},"612":{},"616":{},"629":{},"632":{},"634":{},"635":{},"637":{},"733":{},"830":{},"903":{},"966":{},"995":{},"996":{},"1027":{},"1038":{}}}],["0,1",{"_index":2593,"title":{},"content":{"561":{}}}],["0.01",{"_index":1779,"title":{},"content":{"349":{},"774":{},"775":{},"779":{}}}],["0.013",{"_index":4200,"title":{},"content":{"1027":{}}}],["0.02",{"_index":1755,"title":{},"content":{"345":{}}}],["0.024",{"_index":4201,"title":{},"content":{"1027":{}}}],["0.043",{"_index":4202,"title":{},"content":{"1027":{}}}],["0.077",{"_index":4203,"title":{},"content":{"1027":{}}}],["0.1",{"_index":3491,"title":{},"content":{"769":{},"956":{}}}],["0.139",{"_index":4204,"title":{},"content":{"1027":{}}}],["0.2",{"_index":2342,"title":{},"content":{"469":{},"542":{}}}],["0.22",{"_index":3945,"title":{},"content":{"904":{}}}],["0.23",{"_index":3944,"title":{},"content":{"904":{}}}],["0.25",{"_index":4041,"title":{},"content":{"956":{}}}],["0.251",{"_index":4205,"title":{},"content":{"1027":{}}}],["0.3",{"_index":4141,"title":{},"content":{"995":{},"996":{}}}],["0.35",{"_index":4043,"title":{},"content":{"956":{}}}],["0.42w",{"_index":3504,"title":{},"content":{"769":{}}}],["0.453",{"_index":4206,"title":{},"content":{"1027":{},"1031":{}}}],["0.5",{"_index":4044,"title":{},"content":{"956":{}}}],["0.8404452690166976",{"_index":4232,"title":{},"content":{"1031":{}}}],["0.9",{"_index":2135,"title":{},"content":{"443":{}}}],["0/0",{"_index":3479,"title":{},"content":{"784":{}}}],["00",{"_index":872,"title":{},"content":{"234":{},"830":{}}}],["000",{"_index":2860,"title":{},"content":{"588":{},"747":{}}}],["0000",{"_index":2840,"title":{},"content":{"589":{},"593":{},"594":{},"595":{},"596":{},"597":{},"598":{},"599":{},"600":{},"601":{},"618":{}}}],["0000...c1c8",{"_index":3004,"title":{},"content":{"636":{}}}],["0000000000",{"_index":2381,"title":{},"content":{"482":{}}}],["000012345",{"_index":2371,"title":{},"content":{"479":{},"501":{},"503":{}}}],["00001ab",{"_index":2223,"title":{},"content":{"459":{}}}],["00001abc",{"_index":2158,"title":{},"content":{"448":{}}}],["00001ac8...4f",{"_index":3766,"title":{},"content":{"851":{}}}],["00001bc",{"_index":2224,"title":{},"content":{"459":{}}}],["000023456",{"_index":2464,"title":{},"content":{"503":{}}}],["00003bafdfb7a8e66b59de5692b79088063853bbd69a7d555faec906e6215e57ff98",{"_index":2268,"title":{},"content":{"432":{}}}],["000056789",{"_index":2370,"title":{},"content":{"479":{},"480":{}}}],["00005da88a4adaf5b40c958a20db981bd168008e03efbb7fc9d35e11be182a0d3065",{"_index":3939,"title":{},"content":{"903":{}}}],["0000ab12",{"_index":2227,"title":{},"content":{"459":{}}}],["0000abcd...ef",{"_index":3765,"title":{},"content":{"851":{}}}],["0000ba28ce06631ff2ef4fe3dc89a34be13c0d252f8952bbfa3173b03dbef3c04afd",{"_index":2269,"title":{},"content":{"432":{}}}],["0000c13373c96538b468ccdab8f95fdc3744ebfa2cd36a81c3791b2a205705d9c3a2",{"_index":3762,"title":{},"content":{"849":{},"850":{}}}],["0000d574d171a484f8deac2d61fc3f7cc984beb52465d69b3b5f670090742cbf5cca",{"_index":2303,"title":{},"content":{"462":{}}}],["0000f1fd",{"_index":3763,"title":{},"content":{"850":{}}}],["000108a5c",{"_index":2377,"title":{},"content":{"481":{}}}],["000abcd",{"_index":2113,"title":{},"content":{"440":{}}}],["000abcd123",{"_index":2119,"title":{},"content":{"440":{}}}],["001",{"_index":1990,"title":{},"content":{"373":{}}}],["0014ac",{"_index":2395,"title":{},"content":{"486":{}}}],["002",{"_index":2016,"title":{},"content":{"373":{}}}],["00743b809adde7e1e3e9b5afb704813d06155958fbbb78cd052cc45a1b19f976b",{"_index":1570,"title":{},"content":{"310":{}}}],["00:00",{"_index":1765,"title":{},"content":{"346":{}}}],["00:00:00",{"_index":3716,"title":{},"content":{"831":{}}}],["00:00am",{"_index":3797,"title":{},"content":{"860":{}}}],["00abcd",{"_index":2385,"title":{},"content":{"483":{},"536":{}}}],["00bcde",{"_index":2497,"title":{},"content":{"536":{}}}],["00efab",{"_index":2388,"title":{},"content":{"484":{},"485":{},"486":{}}}],["01",{"_index":3403,"title":{},"content":{"757":{}}}],["01/08/2024",{"_index":4085,"title":{},"content":{"963":{}}}],["01234",{"_index":2869,"title":{},"content":{"589":{}}}],["01309f1c765967ac7",{"_index":3404,"title":{},"content":{"757":{}}}],["01ab2cd",{"_index":3905,"title":{},"content":{"898":{}}}],["02",{"_index":726,"title":{},"content":{"212":{},"234":{},"845":{}}}],["02/11/2021",{"_index":3713,"title":{},"content":{"831":{}}}],["02:00am",{"_index":3792,"title":{},"content":{"857":{},"858":{}}}],["03/11/2021",{"_index":3715,"title":{},"content":{"831":{}}}],["04",{"_index":727,"title":{},"content":{"212":{},"213":{},"235":{},"270":{}}}],["04xi",{"_index":725,"title":{},"content":{"212":{},"219":{},"223":{}}}],["05/17/2024",{"_index":4098,"title":{},"content":{"970":{}}}],["07/17/2024",{"_index":4099,"title":{},"content":{"970":{}}}],["08",{"_index":817,"title":{},"content":{"214":{},"236":{}}}],["0ac1bfa9",{"_index":3906,"title":{},"content":{"898":{}}}],["0ac7fj",{"_index":3909,"title":{},"content":{"898":{}}}],["0d574d171a484f8deac2d61fc3f7cc984beb52465d69b3b5f670090742cbf5cc",{"_index":2345,"title":{},"content":{"470":{}}}],["0f",{"_index":3697,"title":{},"content":{"822":{}}}],["0fb27dac",{"_index":3902,"title":{},"content":{"898":{}}}],["0th",{"_index":1556,"title":{},"content":{"310":{}}}],["0x",{"_index":2115,"title":{},"content":{"440":{}}}],["0x00",{"_index":1220,"title":{},"content":{"260":{}}}],["0x0000",{"_index":694,"title":{},"content":{"212":{}}}],["0x00001234ab",{"_index":2279,"title":{},"content":{"434":{}}}],["0x00001ac8...4f",{"_index":3768,"title":{},"content":{"851":{}}}],["0x0000abcd...ef",{"_index":3769,"title":{},"content":{"851":{}}}],["0x000abcd",{"_index":2118,"title":{},"content":{"440":{}}}],["0x000abcd123",{"_index":2120,"title":{},"content":{"440":{}}}],["0x00abc",{"_index":2234,"title":{},"content":{"459":{}}}],["0x00abcd",{"_index":2402,"title":{},"content":{"487":{},"490":{}}}],["0x00abd",{"_index":2424,"title":{},"content":{"491":{}}}],["0x00bcde",{"_index":2414,"title":{},"content":{"490":{}}}],["0x00def",{"_index":2235,"title":{},"content":{"459":{}}}],["0x00defa",{"_index":2427,"title":{},"content":{"491":{},"492":{}}}],["0x00fedc",{"_index":2416,"title":{},"content":{"490":{}}}],["0x04",{"_index":1221,"title":{},"content":{"260":{}}}],["0x06",{"_index":1303,"title":{},"content":{"262":{}}}],["0x0b",{"_index":1304,"title":{},"content":{"262":{}}}],["0x1234",{"_index":2433,"title":{},"content":{"472":{},"473":{}}}],["0x14",{"_index":1311,"title":{},"content":{"262":{}}}],["0x1a",{"_index":1292,"title":{},"content":{"262":{}}}],["0x1b",{"_index":1309,"title":{},"content":{"262":{}}}],["0x24",{"_index":1299,"title":{},"content":{"262":{}}}],["0x33",{"_index":1310,"title":{},"content":{"262":{}}}],["0x374c7527733556",{"_index":2501,"title":{},"content":{"537":{}}}],["0x44",{"_index":1288,"title":{},"content":{"262":{}}}],["0x46",{"_index":1296,"title":{},"content":{"262":{}}}],["0x52",{"_index":1301,"title":{},"content":{"262":{}}}],["0x64",{"_index":1305,"title":{},"content":{"262":{}}}],["0x67",{"_index":1287,"title":{},"content":{"262":{}}}],["0x69",{"_index":1312,"title":{},"content":{"262":{}}}],["0x6e",{"_index":1302,"title":{},"content":{"262":{}}}],["0x71",{"_index":1285,"title":{},"content":{"262":{}}}],["0x82",{"_index":1414,"title":{},"content":{"280":{}}}],["0x83",{"_index":1284,"title":{},"content":{"262":{}}}],["0x84",{"_index":1289,"title":{},"content":{"262":{}}}],["0x8d",{"_index":1295,"title":{},"content":{"262":{}}}],["0x90",{"_index":1293,"title":{},"content":{"262":{}}}],["0x9000",{"_index":668,"title":{},"content":{"211":{}}}],["0x95",{"_index":1415,"title":{},"content":{"280":{}}}],["0x97",{"_index":1286,"title":{},"content":{"262":{}}}],["0xa1",{"_index":1307,"title":{},"content":{"262":{}}}],["0xa5",{"_index":1297,"title":{},"content":{"262":{}}}],["0xaa",{"_index":1313,"title":{},"content":{"262":{}}}],["0xb3",{"_index":1290,"title":{},"content":{"262":{}}}],["0xbaddecod",{"_index":794,"title":{},"content":{"213":{},"214":{}}}],["0xcc",{"_index":1294,"title":{},"content":{"262":{}}}],["0xd7",{"_index":1298,"title":{},"content":{"262":{}}}],["0xda",{"_index":1308,"title":{},"content":{"262":{}}}],["0xf2",{"_index":1306,"title":{},"content":{"262":{}}}],["0xf8",{"_index":1291,"title":{},"content":{"262":{}}}],["0xf9",{"_index":1455,"title":{},"content":{"292":{}}}],["0xfd",{"_index":1300,"title":{},"content":{"262":{}}}],["0xffff",{"_index":682,"title":{},"content":{"212":{}}}],["1",{"_index":460,"title":{"459":{},"886":{},"919":{},"977":{},"989":{},"998":{},"1001":{}},"content":{"170":{},"214":{},"225":{},"226":{},"227":{},"230":{},"231":{},"235":{},"236":{},"261":{},"264":{},"310":{},"321":{},"353":{},"354":{},"371":{},"429":{},"431":{},"433":{},"434":{},"435":{},"437":{},"438":{},"442":{},"443":{},"446":{},"447":{},"448":{},"453":{},"456":{},"458":{},"459":{},"462":{},"463":{},"475":{},"483":{},"485":{},"490":{},"492":{},"497":{},"501":{},"513":{},"518":{},"519":{},"542":{},"555":{},"560":{},"561":{},"564":{},"567":{},"568":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"605":{},"613":{},"633":{},"637":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"683":{},"684":{},"685":{},"733":{},"736":{},"739":{},"740":{},"742":{},"769":{},"775":{},"779":{},"831":{},"834":{},"847":{},"848":{},"850":{},"851":{},"876":{},"898":{},"901":{},"904":{},"961":{},"965":{},"977":{},"978":{},"999":{},"1002":{},"1026":{},"1027":{},"1028":{},"1030":{},"1031":{},"1032":{},"1034":{},"1039":{}}}],["1,2",{"_index":2129,"title":{},"content":{"442":{},"560":{}}}],["1,2,3",{"_index":2356,"title":{},"content":{"474":{},"518":{},"519":{},"563":{},"565":{}}}],["1,2,3,4",{"_index":2581,"title":{},"content":{"559":{}}}],["1,2,3,4,5",{"_index":2140,"title":{},"content":{"444":{}}}],["1..10",{"_index":2142,"title":{},"content":{"445":{}}}],["1..5",{"_index":2138,"title":{},"content":{"444":{}}}],["1.0",{"_index":2128,"title":{},"content":{"442":{},"443":{},"462":{},"470":{}}}],["1.0e2",{"_index":2107,"title":{},"content":{"439":{}}}],["1.1",{"_index":2134,"title":{},"content":{"443":{},"446":{}}}],["1.1.0",{"_index":2300,"title":{},"content":{"460":{}}}],["1.18",{"_index":3989,"title":{},"content":{"932":{}}}],["1.2",{"_index":2463,"title":{},"content":{"503":{}}}],["1/3",{"_index":3544,"title":{},"content":{"775":{}}}],["10",{"_index":1767,"title":{},"content":{"346":{},"417":{},"434":{},"542":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"699":{},"739":{},"769":{},"775":{},"825":{},"847":{},"961":{}}}],["10.25",{"_index":3045,"title":{},"content":{"637":{}}}],["100",{"_index":2108,"title":{},"content":{"439":{},"622":{},"637":{},"699":{},"700":{},"746":{},"747":{}}}],["100.12345678",{"_index":3268,"title":{},"content":{"710":{}}}],["100.123456789123456789",{"_index":3267,"title":{},"content":{"710":{}}}],["1000",{"_index":3041,"title":{},"content":{"637":{},"847":{},"849":{},"850":{},"1031":{}}}],["10000",{"_index":2312,"title":{},"content":{"463":{}}}],["100000",{"_index":3751,"title":{},"content":{"847":{}}}],["1000000",{"_index":2891,"title":{},"content":{"593":{}}}],["100000000",{"_index":1991,"title":{},"content":{"373":{},"462":{},"615":{},"616":{},"633":{},"637":{},"848":{},"850":{},"851":{}}}],["10000000000",{"_index":2892,"title":{},"content":{"593":{}}}],["100000000000",{"_index":3745,"title":{},"content":{"847":{},"849":{}}}],["100_000_000",{"_index":2803,"title":{},"content":{"615":{},"616":{}}}],["1025",{"_index":3046,"title":{},"content":{"637":{}}}],["10250",{"_index":3048,"title":{},"content":{"637":{}}}],["1095",{"_index":4089,"title":{},"content":{"965":{}}}],["10:00:00",{"_index":3714,"title":{},"content":{"831":{}}}],["10^8",{"_index":2957,"title":{},"content":{"633":{},"637":{}}}],["10_000",{"_index":2104,"title":{},"content":{"439":{}}}],["10_000.0",{"_index":2105,"title":{},"content":{"439":{}}}],["10min",{"_index":3570,"title":{},"content":{"786":{}}}],["11",{"_index":3610,"title":{"811":{}},"content":{"811":{}}}],["11.25",{"_index":4081,"title":{},"content":{"961":{}}}],["11100000",{"_index":1813,"title":{},"content":{"354":{}}}],["11:30pm",{"_index":3790,"title":{},"content":{"856":{}}}],["11_250_000",{"_index":4197,"title":{},"content":{"1026":{}}}],["12",{"_index":2702,"title":{},"content":{"575":{},"581":{},"1038":{}}}],["12.1",{"_index":2705,"title":{},"content":{"581":{}}}],["123",{"_index":2680,"title":{},"content":{"551":{}}}],["123456",{"_index":2670,"title":{},"content":{"549":{}}}],["128",{"_index":1317,"title":{},"content":{"262":{}}}],["12:00",{"_index":4209,"title":{},"content":{"1028":{}}}],["12:03",{"_index":4207,"title":{},"content":{"1028":{}}}],["12:57",{"_index":4208,"title":{},"content":{"1028":{}}}],["13",{"_index":2708,"title":{},"content":{"582":{},"901":{}}}],["13.2",{"_index":2710,"title":{},"content":{"582":{}}}],["1391309040",{"_index":2352,"title":{},"content":{"470":{}}}],["13:00",{"_index":4210,"title":{},"content":{"1028":{}}}],["14.26239",{"_index":2410,"title":{},"content":{"488":{}}}],["14.26239591",{"_index":2418,"title":{},"content":{"490":{}}}],["1405",{"_index":3207,"title":{"735":{}},"content":{}}],["15.00",{"_index":3050,"title":{},"content":{"637":{}}}],["15.5",{"_index":2434,"title":{},"content":{"472":{},"473":{}}}],["15000",{"_index":3049,"title":{},"content":{"637":{}}}],["16",{"_index":770,"title":{},"content":{"213":{},"214":{},"223":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{}}}],["1622801400",{"_index":1754,"title":{},"content":{"345":{}}}],["1674564088",{"_index":2267,"title":{},"content":{"432":{}}}],["1676332800",{"_index":2735,"title":{},"content":{"574":{}}}],["1677493444",{"_index":2727,"title":{},"content":{"553":{}}}],["1677598185",{"_index":2265,"title":{},"content":{"432":{}}}],["1693519200",{"_index":2747,"title":{},"content":{"577":{}}}],["1693605600",{"_index":2748,"title":{},"content":{"577":{}}}],["16byte",{"_index":782,"title":{},"content":{"213":{},"214":{}}}],["18",{"_index":3265,"title":{"849":{}},"content":{"710":{},"845":{},"849":{},"850":{}}}],["180",{"_index":4087,"title":{},"content":{"965":{}}}],["181812.87",{"_index":2399,"title":{},"content":{"487":{}}}],["19",{"_index":3742,"title":{"850":{}},"content":{"845":{},"850":{}}}],["197",{"_index":3359,"title":{},"content":{"747":{}}}],["1:1",{"_index":3262,"title":{},"content":{"708":{}}}],["1\\ncondit",{"_index":2456,"title":{},"content":{"500":{}}}],["1e731fb84d0a094c6273fffed68147c381a273c83868cdeb9b81c7ec790c6d38",{"_index":732,"title":{},"content":{"212":{}}}],["1fb2ha",{"_index":3913,"title":{},"content":{"898":{}}}],["1mb",{"_index":3834,"title":{},"content":{"876":{}}}],["1s",{"_index":1164,"title":{},"content":{"256":{}}}],["1st",{"_index":960,"title":{},"content":{"222":{},"312":{},"429":{},"448":{},"834":{},"851":{},"1031":{}}}],["2",{"_index":621,"title":{"887":{},"920":{},"978":{},"990":{},"999":{},"1002":{}},"content":{"209":{},"211":{},"214":{},"226":{},"227":{},"230":{},"260":{},"321":{},"330":{},"353":{},"371":{},"373":{},"428":{},"431":{},"432":{},"433":{},"434":{},"435":{},"443":{},"447":{},"448":{},"449":{},"459":{},"490":{},"492":{},"497":{},"513":{},"523":{},"555":{},"560":{},"564":{},"579":{},"605":{},"613":{},"614":{},"637":{},"650":{},"651":{},"652":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"706":{},"720":{},"736":{},"739":{},"740":{},"742":{},"762":{},"848":{},"850":{},"851":{},"854":{},"876":{},"904":{},"925":{},"961":{},"965":{},"966":{},"1026":{},"1027":{},"1039":{}}}],["2.0",{"_index":2133,"title":{},"content":{"443":{},"470":{},"851":{},"1048":{}}}],["2.1",{"_index":2658,"title":{},"content":{"542":{}}}],["2.5",{"_index":4078,"title":{},"content":{"961":{}}}],["2.58933391",{"_index":3943,"title":{},"content":{"904":{}}}],["2.o",{"_index":3436,"title":{},"content":{"763":{}}}],["20",{"_index":1440,"title":{"656":{},"704":{}},"content":{"287":{},"653":{},"654":{},"655":{},"656":{},"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"706":{}}}],["200",{"_index":2521,"title":{},"content":{"513":{},"514":{},"605":{},"606":{},"634":{},"876":{}}}],["2000",{"_index":1899,"title":{},"content":{"371":{}}}],["20000",{"_index":2026,"title":{},"content":{"417":{}}}],["2022",{"_index":3248,"title":{},"content":{"706":{},"1037":{}}}],["2024",{"_index":3249,"title":{},"content":{"706":{}}}],["2026",{"_index":4072,"title":{},"content":{"961":{}}}],["2048",{"_index":4279,"title":{},"content":{"1038":{}}}],["21st",{"_index":1441,"title":{},"content":{"287":{}}}],["22",{"_index":2882,"title":{},"content":{"590":{}}}],["22.5",{"_index":4080,"title":{},"content":{"961":{}}}],["22_500_000",{"_index":4196,"title":{},"content":{"1026":{}}}],["23",{"_index":2739,"title":{},"content":{"575":{}}}],["24",{"_index":3192,"title":{},"content":{"700":{},"702":{},"729":{},"739":{},"992":{},"1035":{},"1038":{}}}],["24h",{"_index":3237,"title":{"700":{}},"content":{}}],["25.75",{"_index":3053,"title":{},"content":{"637":{}}}],["25/07/2024",{"_index":4084,"title":{},"content":{"963":{}}}],["255",{"_index":3711,"title":{},"content":{"830":{}}}],["255121",{"_index":3904,"title":{},"content":{"898":{}}}],["256",{"_index":1127,"title":{},"content":{"251":{},"756":{},"830":{},"1040":{}}}],["256kb",{"_index":2526,"title":{},"content":{"513":{},"605":{}}}],["25750",{"_index":3052,"title":{},"content":{"637":{}}}],["27",{"_index":2907,"title":{},"content":{"603":{}}}],["2^31",{"_index":459,"title":{},"content":{"170":{}}}],["2nd",{"_index":1608,"title":{},"content":{"312":{},"448":{}}}],["3",{"_index":526,"title":{"921":{}},"content":{"204":{},"211":{},"213":{},"214":{},"227":{},"230":{},"268":{},"320":{},"428":{},"443":{},"448":{},"458":{},"539":{},"542":{},"564":{},"637":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"696":{},"715":{},"736":{},"739":{},"740":{},"742":{},"834":{},"848":{},"890":{},"898":{},"904":{},"961":{},"965":{},"966":{},"970":{},"996":{},"1026":{},"1027":{},"1031":{}}}],["3,2,2,1",{"_index":2612,"title":{},"content":{"566":{}}}],["3,4",{"_index":2580,"title":{},"content":{"559":{}}}],["3.24",{"_index":4313,"title":{},"content":{"1043":{}}}],["3.5",{"_index":4314,"title":{},"content":{"1043":{}}}],["3.53553390",{"_index":2654,"title":{},"content":{"541":{}}}],["3.6",{"_index":3490,"title":{},"content":{"769":{}}}],["30",{"_index":3915,"title":{},"content":{"898":{},"965":{}}}],["3000",{"_index":3261,"title":{"708":{}},"content":{"708":{}}}],["300000000",{"_index":3754,"title":{},"content":{"848":{}}}],["31",{"_index":2740,"title":{},"content":{"575":{}}}],["31536000",{"_index":4229,"title":{},"content":{"1031":{}}}],["32",{"_index":735,"title":{},"content":{"212":{},"213":{},"214":{},"222":{},"223":{},"262":{},"310":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"1040":{}}}],["32byte",{"_index":780,"title":{},"content":{"213":{},"214":{}}}],["32bytesinsid",{"_index":772,"title":{},"content":{"213":{},"214":{}}}],["33",{"_index":1569,"title":{},"content":{"310":{}}}],["34",{"_index":822,"title":{},"content":{"214":{}}}],["35040",{"_index":4240,"title":{},"content":{"1032":{}}}],["3600",{"_index":4220,"title":{},"content":{"1030":{},"1031":{}}}],["365",{"_index":3242,"title":{},"content":{"700":{},"965":{}}}],["374c7527733556",{"_index":2491,"title":{},"content":{"535":{}}}],["3c21ef708bf11b4232",{"_index":2731,"title":{},"content":{"570":{}}}],["3mb",{"_index":3897,"title":{},"content":{"898":{}}}],["3rd",{"_index":690,"title":{},"content":{"212":{},"448":{}}}],["3s",{"_index":1161,"title":{},"content":{"256":{}}}],["4",{"_index":661,"title":{},"content":{"211":{},"213":{},"214":{},"225":{},"227":{},"230":{},"235":{},"236":{},"310":{},"370":{},"459":{},"503":{},"541":{},"556":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"736":{},"739":{},"742":{},"811":{},"961":{},"1026":{},"1027":{},"1049":{}}}],["4,5,6",{"_index":2358,"title":{},"content":{"474":{}}}],["4.05902597",{"_index":2428,"title":{},"content":{"491":{}}}],["4.md",{"_index":4328,"title":{},"content":{"1049":{}}}],["410",{"_index":3921,"title":{},"content":{"901":{}}}],["4317.35583398",{"_index":4236,"title":{},"content":{"1031":{}}}],["4317.355833989885",{"_index":4233,"title":{},"content":{"1031":{}}}],["45",{"_index":4079,"title":{},"content":{"961":{}}}],["456",{"_index":2682,"title":{},"content":{"551":{}}}],["45_000_000",{"_index":4195,"title":{},"content":{"1026":{},"1031":{}}}],["4756.5401",{"_index":2403,"title":{},"content":{"487":{}}}],["4:15:30",{"_index":4333,"title":{},"content":{"1045":{}}}],["4th",{"_index":697,"title":{},"content":{"212":{}}}],["5",{"_index":1664,"title":{},"content":{"321":{},"579":{},"637":{},"739":{},"769":{},"977":{},"1027":{}}}],["5/month",{"_index":3833,"title":{},"content":{"876":{}}}],["500",{"_index":3836,"title":{},"content":{"876":{}}}],["51",{"_index":3497,"title":{},"content":{"769":{}}}],["512",{"_index":3485,"title":{},"content":{"784":{}}}],["5136.986301369863",{"_index":4230,"title":{},"content":{"1031":{}}}],["52e77c79bea0f84e2d9c40356932fb0dd31688c23d6b6e9ac99d2869dc407692",{"_index":730,"title":{},"content":{"212":{}}}],["539",{"_index":4231,"title":{},"content":{"1031":{}}}],["59",{"_index":2737,"title":{},"content":{"575":{}}}],["592ac76afa",{"_index":2713,"title":{},"content":{"583":{}}}],["5s",{"_index":1801,"title":{},"content":{"353":{}}}],["5th",{"_index":699,"title":{},"content":{"212":{}}}],["6",{"_index":2742,"title":{},"content":{"575":{},"739":{},"847":{},"965":{},"966":{},"1027":{},"1039":{}}}],["6/20/2024",{"_index":4332,"title":{},"content":{"1045":{}}}],["64",{"_index":778,"title":{},"content":{"213":{},"214":{},"1038":{}}}],["650",{"_index":681,"title":{},"content":{"212":{},"221":{},"784":{}}}],["66",{"_index":824,"title":{},"content":{"214":{},"769":{}}}],["68420",{"_index":3899,"title":{},"content":{"898":{}}}],["68656c6c6f",{"_index":2715,"title":{},"content":{"583":{}}}],["69.75757441",{"_index":2647,"title":{},"content":{"539":{}}}],["6th",{"_index":702,"title":{},"content":{"212":{}}}],["7",{"_index":1568,"title":{},"content":{"310":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"739":{},"934":{},"965":{},"966":{},"1027":{},"1031":{}}}],["730",{"_index":4088,"title":{},"content":{"965":{}}}],["7330d2b39ca35ea",{"_index":2482,"title":{},"content":{"532":{}}}],["754",{"_index":452,"title":{},"content":{"162":{}}}],["7th",{"_index":703,"title":{},"content":{"212":{}}}],["7z",{"_index":3927,"title":{},"content":{"890":{}}}],["8",{"_index":466,"title":{"710":{}},"content":{"184":{},"214":{},"354":{},"443":{},"465":{},"539":{},"540":{},"575":{},"577":{},"710":{},"739":{},"775":{},"847":{},"848":{},"849":{},"850":{},"901":{}}}],["8.75",{"_index":4082,"title":{},"content":{"961":{}}}],["8.90800012",{"_index":2425,"title":{},"content":{"491":{}}}],["8_750_000",{"_index":4198,"title":{},"content":{"1026":{}}}],["8am",{"_index":2318,"title":{},"content":{"465":{},"575":{}}}],["9",{"_index":2669,"title":{},"content":{"549":{},"550":{},"551":{},"577":{},"739":{},"769":{},"961":{}}}],["90",{"_index":3361,"title":{},"content":{"747":{},"762":{},"769":{},"875":{},"965":{}}}],["901a365ff22b895",{"_index":2492,"title":{},"content":{"535":{}}}],["99.99999999",{"_index":3357,"title":{},"content":{"747":{}}}],["9f",{"_index":3698,"title":{},"content":{"822":{}}}],["_",{"_index":2102,"title":{},"content":{"439":{}}}],["_dnslink",{"_index":3875,"title":{},"content":{"883":{},"884":{}}}],["_dnslink.example.com",{"_index":3871,"title":{},"content":{"883":{}}}],["_preferencesbox.h",{"_index":3308,"title":{},"content":{"742":{}}}],["_preferencesbox.lock",{"_index":3309,"title":{},"content":{"742":{}}}],["_vaultbox.h",{"_index":3310,"title":{},"content":{"742":{}}}],["_vaultbox.lock",{"_index":3311,"title":{},"content":{"742":{}}}],["a0b1c2",{"_index":2685,"title":{},"content":{"551":{}}}],["a1",{"_index":3632,"title":{},"content":{"814":{},"815":{},"816":{}}}],["a3d7e45a0d9be5f",{"_index":2483,"title":{},"content":{"532":{}}}],["ab",{"_index":4188,"title":{},"content":{"1022":{}}}],["abc",{"_index":2672,"title":{},"content":{"549":{}}}],["abc123f",{"_index":3900,"title":{},"content":{"898":{}}}],["abcdef0123456789",{"_index":4269,"title":{},"content":{"1038":{}}}],["abdecoin_bal",{"_index":2422,"title":{},"content":{"491":{}}}],["abi",{"_index":2506,"title":{},"content":{"493":{},"588":{},"626":{},"637":{},"640":{}}}],["abi_decode/2",{"_index":2512,"title":{"495":{}},"content":{}}],["abi_encode/2",{"_index":2508,"title":{"494":{}},"content":{}}],["abil",{"_index":3416,"title":{},"content":{"762":{},"772":{},"789":{},"791":{}}}],["abitrati",{"_index":2323,"title":{},"content":{"467":{}}}],["abouth",{"_index":2543,"title":{},"content":{"516":{}}}],["abov",{"_index":549,"title":{},"content":{"204":{},"213":{},"214":{},"222":{},"223":{},"261":{},"446":{},"747":{},"849":{},"885":{},"945":{}}}],["abritrati",{"_index":2324,"title":{},"content":{"467":{}}}],["absenc",{"_index":2110,"title":{},"content":{"439":{}}}],["absolut",{"_index":3349,"title":{},"content":{"746":{}}}],["abstract",{"_index":2917,"title":{},"content":{"626":{},"628":{}}}],["acc",{"_index":2176,"title":{},"content":{"450":{}}}],["accept",{"_index":556,"title":{},"content":{"204":{},"431":{},"463":{},"500":{},"632":{},"739":{},"746":{},"849":{},"890":{},"891":{},"892":{},"893":{},"977":{},"998":{}}}],["access",{"_index":505,"title":{"215":{},"216":{},"651":{},"695":{},"714":{},"911":{},"917":{},"929":{},"943":{},"982":{}},"content":{"204":{},"215":{},"216":{},"217":{},"218":{},"242":{},"259":{},"277":{},"310":{},"345":{},"360":{},"362":{},"446":{},"456":{},"476":{},"650":{},"651":{},"652":{},"695":{},"699":{},"706":{},"714":{},"746":{},"767":{},"771":{},"778":{},"780":{},"781":{},"782":{},"887":{},"888":{},"893":{},"894":{},"901":{},"914":{},"915":{},"917":{},"922":{},"924":{},"926":{},"928":{},"932":{},"937":{},"941":{},"942":{},"943":{},"970":{},"977":{},"979":{},"980":{},"982":{},"986":{},"991":{},"996":{},"1034":{},"1035":{},"1038":{},"1039":{}}}],["access//aeweb.archethic.net",{"_index":3087,"title":{},"content":{"691":{},"692":{}}}],["accommod",{"_index":4127,"title":{},"content":{"977":{},"989":{},"998":{}}}],["accompani",{"_index":4104,"title":{},"content":{"970":{},"992":{},"993":{}}}],["accord",{"_index":744,"title":{},"content":{"213":{},"214":{},"295":{},"314":{},"317":{},"334":{},"345":{},"422":{},"473":{},"494":{},"495":{},"742":{},"748":{},"772":{},"774":{},"779":{},"781":{},"791":{},"1001":{},"1017":{},"1047":{}}}],["accordingli",{"_index":1872,"title":{},"content":{"371":{},"513":{},"605":{}}}],["account",{"_index":691,"title":{"231":{},"235":{},"242":{},"417":{},"668":{}},"content":{"212":{},"213":{},"219":{},"221":{},"235":{},"239":{},"242":{},"368":{},"373":{},"378":{},"381":{},"383":{},"402":{},"404":{},"411":{},"414":{},"417":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"739":{},"740":{},"784":{},"842":{},"890":{},"891":{},"892":{},"893":{},"895":{},"957":{},"977":{},"978":{},"990":{},"999":{},"1002":{},"1035":{},"1047":{},"1048":{}}}],["accountnam",{"_index":1995,"title":{},"content":{"373":{}}}],["accountsubscript",{"_index":2022,"title":{},"content":{"417":{}}}],["accru",{"_index":4140,"title":{},"content":{"994":{}}}],["accumul",{"_index":1167,"title":{},"content":{"257":{},"974":{},"994":{}}}],["accur",{"_index":2439,"title":{},"content":{"472":{}}}],["achiev",{"_index":1022,"title":{},"content":{"238":{},"239":{},"312":{},"352":{},"762":{},"794":{},"818":{},"853":{},"909":{},"910":{},"961":{}}}],["acknowledg",{"_index":3201,"title":{},"content":{"732":{}}}],["acm",{"_index":3880,"title":{},"content":{"886":{}}}],["act",{"_index":478,"title":{},"content":{"201":{},"204":{},"513":{},"590":{},"605":{},"794":{},"898":{}}}],["action",{"_index":233,"title":{"455":{},"457":{},"573":{},"629":{},"924":{},"974":{},"994":{}},"content":{"55":{},"182":{},"262":{},"278":{},"311":{},"346":{},"422":{},"428":{},"433":{},"437":{},"450":{},"455":{},"456":{},"457":{},"458":{},"462":{},"463":{},"464":{},"465":{},"468":{},"470":{},"472":{},"473":{},"476":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"588":{},"590":{},"612":{},"629":{},"630":{},"631":{},"632":{},"633":{},"637":{},"640":{},"690":{},"727":{},"740":{},"742":{},"806":{},"871":{},"909":{},"910":{},"932":{},"974":{},"977":{},"994":{},"998":{},"1001":{},"1012":{},"1028":{},"1039":{},"1040":{},"1047":{}}}],["action'",{"_index":2065,"title":{},"content":{"423":{},"431":{},"433":{},"435":{},"910":{}}}],["action(triggertype.interv",{"_index":2924,"title":{},"content":{"629":{}}}],["action(triggertype.transact",{"_index":2775,"title":{},"content":{"612":{},"632":{},"635":{},"637":{}}}],["actionnam",{"_index":2960,"title":{},"content":{"633":{}}}],["actionrecipi",{"_index":155,"title":{},"content":{"28":{}}}],["actionresult",{"_index":2764,"title":{},"content":{"612":{}}}],["actionresult().setstate(ctx.st",{"_index":3024,"title":{},"content":{"637":{}}}],["actionresult().setstate(st",{"_index":2783,"title":{},"content":{"612":{}}}],["actionresult().setstate(updatedst",{"_index":3014,"title":{},"content":{"637":{}}}],["actionresult().settransact",{"_index":2927,"title":{},"content":{"629":{},"637":{}}}],["actionresult(address",{"_index":2959,"title":{},"content":{"633":{}}}],["address",{"_index":104,"title":{"155":{},"213":{},"231":{},"235":{},"690":{},"733":{},"740":{},"757":{},"903":{},"933":{}},"content":{"22":{},"23":{},"28":{},"29":{},"43":{},"44":{},"55":{},"61":{},"62":{},"64":{},"65":{},"67":{},"68":{},"73":{},"74":{},"76":{},"77":{},"79":{},"80":{},"82":{},"83":{},"85":{},"86":{},"94":{},"95":{},"98":{},"99":{},"107":{},"108":{},"111":{},"112":{},"117":{},"118":{},"119":{},"120":{},"121":{},"123":{},"124":{},"125":{},"138":{},"139":{},"140":{},"141":{},"142":{},"144":{},"145":{},"150":{},"151":{},"152":{},"155":{},"178":{},"198":{},"199":{},"201":{},"202":{},"209":{},"212":{},"213":{},"214":{},"216":{},"217":{},"219":{},"221":{},"222":{},"231":{},"235":{},"243":{},"246":{},"247":{},"248":{},"253":{},"310":{},"311":{},"313":{},"316":{},"320":{},"322":{},"357":{},"383":{},"386":{},"389":{},"392":{},"399":{},"401":{},"404":{},"407":{},"424":{},"432":{},"434":{},"440":{},"459":{},"462":{},"463":{},"467":{},"470":{},"479":{},"480":{},"482":{},"483":{},"484":{},"485":{},"486":{},"487":{},"488":{},"490":{},"491":{},"492":{},"501":{},"503":{},"507":{},"570":{},"572":{},"588":{},"589":{},"593":{},"594":{},"595":{},"596":{},"597":{},"599":{},"600":{},"601":{},"615":{},"616":{},"618":{},"622":{},"633":{},"634":{},"636":{},"637":{},"733":{},"735":{},"740":{},"749":{},"752":{},"757":{},"784":{},"805":{},"807":{},"819":{},"820":{},"822":{},"823":{},"825":{},"831":{},"839":{},"841":{},"842":{},"851":{},"882":{},"883":{},"898":{},"899":{},"903":{},"909":{},"919":{},"921":{},"925":{},"932":{},"933":{},"935":{},"936":{},"970":{},"978":{},"990":{},"993":{},"999":{},"1002":{},"1035":{},"1040":{}}}],["address'",{"_index":1579,"title":{},"content":{"311":{}}}],["address(\"0000",{"_index":2951,"title":{},"content":{"633":{}}}],["address(\"0000...be4a7",{"_index":3000,"title":{},"content":{"636":{}}}],["address(\"0000...c1c8",{"_index":2998,"title":{},"content":{"636":{}}}],["address(\"00000000000000000000000000000000000000000000000000000000000000000000",{"_index":2980,"title":{},"content":{"634":{}}}],["address(\"00001ff1733caa91336976ee7cef5aff6bb26c7682213b8e6770ab82272f966dac35",{"_index":2972,"title":{},"content":{"634":{}}}],["address(\"0000583a6a1d9a536ed7f3c8e7f3981ed2f7ff8cb3c3f8f2b9eb0c862d81f75d28cb",{"_index":2806,"title":{},"content":{"616":{}}}],["address.compar",{"_index":2970,"title":{},"content":{"634":{}}}],["address.compare(addr1",{"_index":3002,"title":{},"content":{"636":{}}}],["address.compare(requestedaddress",{"_index":2810,"title":{},"content":{"616":{}}}],["address_index",{"_index":707,"title":{},"content":{"212":{},"213":{},"214":{},"235":{},"236":{}}}],["address_len",{"_index":809,"title":{},"content":{"213":{},"214":{}}}],["addressit",{"_index":810,"title":{},"content":{"213":{}}}],["addresslength",{"_index":820,"title":{},"content":{"214":{}}}],["addtokentransfer(to",{"_index":2958,"title":{},"content":{"633":{}}}],["adducotransfer(contractaccount.address",{"_index":2827,"title":{},"content":{"617":{}}}],["adducotransfer(new",{"_index":2950,"title":{},"content":{"633":{}}}],["adducotransfer(to",{"_index":2954,"title":{},"content":{"633":{}}}],["adher",{"_index":3114,"title":{},"content":{"681":{},"959":{},"960":{}}}],["adjust",{"_index":4093,"title":{},"content":{"966":{},"977":{},"998":{}}}],["admin",{"_index":1256,"title":{},"content":{"262":{}}}],["administr",{"_index":1393,"title":{},"content":{"278":{},"877":{},"883":{}}}],["adopt",{"_index":2044,"title":{},"content":{"422":{},"743":{},"768":{},"772":{},"778":{},"853":{},"960":{}}}],["adpu",{"_index":869,"title":{"232":{}},"content":{}}],["advanc",{"_index":4166,"title":{},"content":{"984":{},"1024":{}}}],["advantag",{"_index":3448,"title":{},"content":{"764":{},"911":{},"929":{},"979":{}}}],["advis",{"_index":3295,"title":{},"content":{"742":{}}}],["ae",{"_index":902,"title":{},"content":{"216":{},"217":{},"223":{},"228":{},"764":{},"782":{}}}],["aebnb",{"_index":3154,"title":{},"content":{"713":{}}}],["aebridg",{"_index":3078,"title":{"654":{},"674":{},"711":{},"905":{},"914":{}},"content":{"653":{},"654":{},"655":{},"656":{},"657":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"911":{},"915":{}}}],["aeeth",{"_index":3152,"title":{"996":{}},"content":{"713":{},"971":{}}}],["aeeth/uco",{"_index":4083,"title":{},"content":{"961":{},"968":{},"996":{}}}],["aehost",{"_index":3077,"title":{"653":{},"673":{},"686":{},"872":{}},"content":{"653":{},"654":{},"655":{},"656":{},"657":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{}}}],["aeip",{"_index":1859,"title":{"849":{},"850":{}},"content":{"370":{},"373":{},"590":{},"773":{},"845":{},"849":{},"850":{},"901":{},"1049":{}}}],["aemat",{"_index":3153,"title":{},"content":{"713":{}}}],["aeronaut",{"_index":3369,"title":{},"content":{"747":{}}}],["aerospik",{"_index":1492,"title":{},"content":{"305":{}}}],["aes256",{"_index":921,"title":{},"content":{"219":{},"223":{},"758":{}}}],["aes256(mode=cbc",{"_index":988,"title":{},"content":{"223":{}}}],["aes256(mode=ctr",{"_index":979,"title":{},"content":{"223":{}}}],["aes\\_key",{"_index":989,"title":{},"content":{"223":{}}}],["aes_key",{"_index":924,"title":{},"content":{"219":{},"223":{}}}],["aes_key_iv_tag",{"_index":774,"title":{},"content":{"213":{},"214":{}}}],["aeswap",{"_index":3079,"title":{"655":{},"676":{},"693":{},"695":{},"926":{},"928":{},"979":{},"1004":{},"1018":{}},"content":{"653":{},"654":{},"655":{},"656":{},"657":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"695":{},"926":{},"928":{},"929":{},"949":{},"950":{},"951":{},"956":{},"957":{},"959":{},"960":{},"970":{},"974":{},"976":{},"979":{},"980":{},"983":{},"984":{},"985":{},"986":{},"989":{},"991":{},"994":{},"1012":{},"1013":{},"1014":{},"1016":{},"1017":{},"1018":{},"1019":{},"1021":{},"1024":{}}}],["aeswap'",{"_index":4047,"title":{},"content":{"957":{},"985":{},"986":{},"1018":{},"1020":{},"1024":{}}}],["aewallet",{"_index":1832,"title":{"371":{},"657":{},"667":{},"677":{},"737":{},"1034":{}},"content":{"366":{},"367":{},"368":{},"369":{},"371":{},"373":{},"375":{},"381":{},"393":{},"402":{},"417":{},"653":{},"654":{},"655":{},"656":{},"657":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"696":{}}}],["aewalletcli",{"_index":1911,"title":{},"content":{"371":{},"373":{},"417":{}}}],["aewalletclient.clos",{"_index":1927,"title":{},"content":{"371":{},"373":{},"417":{}}}],["aewalletclient.connect",{"_index":1925,"title":{},"content":{"371":{},"373":{},"417":{}}}],["aewalletclient.connectionstatestream.listen((ev",{"_index":1918,"title":{},"content":{"371":{}}}],["aewalletclient.getcurrentaccount().valueorthrow",{"_index":1922,"title":{},"content":{"371":{}}}],["aewalletclient.getendpoint().valueorthrow",{"_index":1923,"title":{},"content":{"371":{}}}],["aewalletclient.signtransact",{"_index":2008,"title":{},"content":{"373":{}}}],["aewalletclient.subscribecurrentaccount().valueorthrow",{"_index":2027,"title":{},"content":{"417":{}}}],["aewalletclient.unsubscribecurrentaccount(subscription.id",{"_index":2031,"title":{},"content":{"417":{}}}],["aewasm",{"_index":3063,"title":{},"content":{"640":{},"641":{}}}],["aeweb",{"_index":2038,"title":{"690":{},"692":{},"882":{},"888":{},"895":{},"897":{},"902":{},"903":{},"904":{}},"content":{"419":{},"689":{},"690":{},"691":{},"692":{},"868":{},"871":{},"874":{},"877":{},"885":{},"887":{},"888":{},"890":{},"895":{},"896":{},"897":{},"898":{},"899":{},"900":{},"902":{},"903":{},"904":{}}}],["aeweb'",{"_index":3856,"title":{},"content":{"871":{}}}],["aewebvers",{"_index":3898,"title":{},"content":{"898":{},"901":{}}}],["af28c3d5b3828ad3f8682f1b1d14a8507b829f65f7be6c50427a6019ccb6801c",{"_index":2344,"title":{},"content":{"470":{}}}],["affect",{"_index":4118,"title":{},"content":{"973":{},"974":{},"1010":{}}}],["afterward",{"_index":3292,"title":{},"content":{"742":{}}}],["again",{"_index":1162,"title":{},"content":{"256":{},"321":{},"349":{},"899":{},"1040":{}}}],["against",{"_index":3296,"title":{},"content":{"742":{},"762":{},"928":{},"1011":{},"1012":{},"1019":{},"1023":{}}}],["aggreg",{"_index":76,"title":{"257":{}},"content":{"19":{},"116":{},"253":{},"257":{},"315":{},"329":{},"341":{},"346":{},"764":{},"837":{},"860":{},"985":{}}}],["ago",{"_index":4092,"title":{},"content":{"966":{}}}],["agpl",{"_index":3627,"title":{},"content":{"812":{}}}],["agre",{"_index":3933,"title":{},"content":{"891":{}}}],["agreement",{"_index":3371,"title":{},"content":{"747":{}}}],["agvsbg8gd29ybgq",{"_index":3908,"title":{},"content":{"898":{}}}],["aim",{"_index":911,"title":{},"content":{"218":{},"367":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"679":{},"743":{},"770":{},"785":{},"792":{},"811":{},"911":{},"929":{},"1001":{},"1038":{},"1046":{}}}],["aka",{"_index":887,"title":{},"content":{"215":{},"218":{},"310":{},"323":{},"650":{},"651":{},"652":{},"749":{},"832":{}}}],["al",{"_index":1111,"title":{},"content":{"246":{}}}],["alca",{"_index":550,"title":{},"content":{"204":{},"205":{},"206":{}}}],["alert",{"_index":4155,"title":{},"content":{"977":{}}}],["algo",{"_index":1012,"title":{},"content":{"231":{},"395":{},"532":{},"535":{}}}],["algorithm",{"_index":415,"title":{"331":{},"758":{}},"content":{"125":{},"155":{},"166":{},"178":{},"192":{},"223":{},"231":{},"262":{},"273":{},"300":{},"311":{},"323":{},"327":{},"329":{},"330":{},"331":{},"333":{},"345":{},"346":{},"532":{},"535":{},"537":{},"746":{},"747":{},"748":{},"749":{},"754":{},"755":{},"756":{},"757":{},"772":{},"774":{},"784":{},"787":{},"803":{},"831":{},"842":{},"933":{},"959":{},"1019":{}}}],["alic",{"_index":2570,"title":{},"content":{"557":{},"580":{},"682":{},"690":{}}}],["align",{"_index":4129,"title":{},"content":{"978":{},"990":{},"999":{},"1002":{}}}],["alloc",{"_index":106,"title":{},"content":{"22":{},"85":{},"94":{},"107":{},"119":{},"152":{},"317":{},"586":{},"591":{},"961":{},"977":{},"989":{},"998":{}}}],["allow",{"_index":889,"title":{},"content":{"215":{},"353":{},"385":{},"458":{},"513":{},"572":{},"588":{},"591":{},"592":{},"605":{},"618":{},"632":{},"650":{},"651":{},"652":{},"706":{},"707":{},"713":{},"724":{},"746":{},"753":{},"759":{},"767":{},"769":{},"770":{},"772":{},"779":{},"780":{},"781":{},"783":{},"791":{},"800":{},"811":{},"814":{},"815":{},"839":{},"843":{},"847":{},"855":{},"871":{},"874":{},"887":{},"890":{},"891":{},"892":{},"893":{},"898":{},"900":{},"905":{},"907":{},"927":{},"932":{},"933":{},"934":{},"935":{},"937":{},"938":{},"939":{},"941":{},"949":{},"960":{},"967":{},"969":{},"970":{},"973":{},"974":{},"977":{},"978":{},"990":{},"993":{},"994":{},"996":{},"998":{},"999":{},"1000":{},"1001":{},"1002":{},"1009":{},"1021":{},"1037":{},"1038":{},"1040":{},"1045":{},"1046":{},"1048":{},"1049":{}}}],["allow_mint",{"_index":3750,"title":{},"content":{"847":{}}}],["alogrithm",{"_index":3422,"title":{},"content":{"762":{}}}],["alon",{"_index":3412,"title":{},"content":{"761":{}}}],["along",{"_index":1201,"title":{},"content":{"273":{},"323":{},"337":{},"350":{},"361":{},"464":{},"590":{},"631":{},"757":{},"764":{},"772":{},"928":{},"959":{},"974":{},"994":{}}}],["alreadi",{"_index":650,"title":{},"content":{"211":{},"337":{},"583":{},"890":{},"961":{},"989":{},"1044":{}}}],["alter",{"_index":4153,"title":{},"content":{"977":{}}}],["altern",{"_index":1903,"title":{},"content":{"371":{}}}],["although",{"_index":4276,"title":{},"content":{"1038":{}}}],["altogeth",{"_index":3033,"title":{},"content":{"637":{}}}],["alway",{"_index":2453,"title":{},"content":{"499":{},"534":{},"544":{},"553":{},"602":{},"603":{},"637":{},"848":{},"859":{},"901":{},"925":{}}}],["amang",{"_index":1497,"title":{},"content":{"305":{}}}],["amazon",{"_index":3475,"title":{},"content":{"783":{}}}],["amd",{"_index":1463,"title":{},"content":{"295":{}}}],["amm",{"_index":4007,"title":{"960":{},"1005":{},"1017":{},"1021":{}},"content":{"926":{},"949":{},"950":{},"959":{},"960":{},"1004":{},"1005":{},"1016":{},"1017":{},"1021":{},"1024":{}}}],["among",{"_index":1576,"title":{},"content":{"311":{}}}],["amort",{"_index":1794,"title":{},"content":{"353":{}}}],["amount",{"_index":100,"title":{},"content":{"22":{},"64":{},"73":{},"85":{},"94":{},"98":{},"107":{},"119":{},"152":{},"214":{},"244":{},"247":{},"349":{},"353":{},"459":{},"462":{},"463":{},"467":{},"470":{},"472":{},"473":{},"488":{},"501":{},"503":{},"593":{},"633":{},"637":{},"699":{},"850":{},"851":{},"858":{},"898":{},"919":{},"921":{},"925":{},"935":{},"957":{},"970":{},"973":{},"977":{},"978":{},"989":{},"998":{},"1001":{},"1008":{},"1013":{},"1022":{},"1029":{}}}],["amount_send",{"_index":2308,"title":{},"content":{"463":{}}}],["an",{"_index":3812,"title":{},"content":{"853":{}}}],["analys",{"_index":3814,"title":{},"content":{"853":{}}}],["analysi",{"_index":3671,"title":{},"content":{"815":{},"924":{},"957":{},"959":{}}}],["analyt",{"_index":4108,"title":{},"content":{"970":{},"993":{}}}],["analyz",{"_index":1483,"title":{"734":{}},"content":{"305":{},"898":{}}}],["anchor",{"_index":1183,"title":{},"content":{"318":{}}}],["and/or",{"_index":2923,"title":{},"content":{"629":{},"886":{}}}],["android",{"_index":1942,"title":{},"content":{"372":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"696":{},"1037":{},"1044":{},"1048":{}}}],["annot",{"_index":2921,"title":{},"content":{"629":{},"631":{}}}],["announc",{"_index":3594,"title":{},"content":{"800":{},"839":{}}}],["annual",{"_index":3238,"title":{},"content":{"700":{},"957":{},"964":{},"973":{},"992":{}}}],["anoth",{"_index":2178,"title":{},"content":{"428":{},"450":{},"559":{},"632":{},"634":{},"762":{},"799":{},"850":{},"904":{},"938":{},"939":{},"949":{},"990":{},"994":{},"1012":{},"1028":{},"1037":{},"1038":{},"1040":{}}}],["answer",{"_index":3358,"title":{},"content":{"747":{}}}],["anyon",{"_index":3090,"title":{},"content":{"679":{},"739":{},"767":{},"879":{}}}],["anyth",{"_index":947,"title":{},"content":{"221":{},"442":{},"459":{},"500":{},"518":{}}}],["apdu",{"_index":638,"title":{"233":{}},"content":{"211":{},"214":{},"234":{},"235":{},"236":{}}}],["api",{"_index":623,"title":{"210":{},"644":{}},"content":{"273":{},"311":{},"451":{},"513":{},"605":{},"626":{},"633":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"851":{},"881":{},"899":{},"1018":{},"1039":{},"1040":{},"1048":{},"1049":{}}}],["app",{"_index":540,"title":{"1036":{}},"content":{"204":{},"205":{},"206":{},"210":{},"230":{},"739":{},"877":{},"879":{},"904":{},"1018":{},"1037":{},"1040":{}}}],["appear",{"_index":407,"title":{},"content":{"125":{},"155":{},"166":{},"178":{},"192":{},"739":{},"740":{},"890":{},"919":{},"921":{}}}],["append",{"_index":863,"title":{},"content":{"214":{},"260":{},"306":{},"307":{},"308":{},"310":{},"311":{},"560":{},"561":{},"640":{}}}],["append/2",{"_index":2584,"title":{"560":{}},"content":{}}],["appendix",{"_index":2198,"title":{"459":{}},"content":{"431":{},"433":{},"435":{},"456":{},"483":{},"485":{}}}],["appli",{"_index":849,"title":{},"content":{"214":{},"311":{},"321":{},"322":{},"431":{},"539":{},"772":{},"775":{},"779":{},"786":{},"788":{},"791":{},"792":{},"861":{},"862":{},"936":{},"937":{}}}],["applic",{"_index":531,"title":{"210":{},"770":{},"916":{},"981":{},"1039":{}},"content":{"204":{},"211":{},"216":{},"217":{},"239":{},"275":{},"308":{},"312":{},"320":{},"322":{},"358":{},"368":{},"371":{},"373":{},"417":{},"422":{},"588":{},"637":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"717":{},"718":{},"732":{},"734":{},"739":{},"742":{},"743":{},"770":{},"781":{},"788":{},"811":{},"853":{},"877":{},"881":{},"888":{},"891":{},"892":{},"893":{},"895":{},"911":{},"914":{},"916":{},"929":{},"931":{},"932":{},"970":{},"979":{},"981":{},"985":{},"986":{},"1018":{},"1037":{},"1039":{},"1040":{},"1044":{},"1046":{},"1048":{},"1049":{}}}],["application'",{"_index":3981,"title":{},"content":{"922":{}}}],["application(i",{"_index":958,"title":{},"content":{"222":{}}}],["appnam",{"_index":662,"title":{},"content":{"211":{}}}],["approach",{"_index":1528,"title":{"308":{}},"content":{"307":{},"310":{},"312":{},"352":{},"764":{},"796":{},"883":{},"908":{},"984":{},"1037":{}}}],["appropri",{"_index":1902,"title":{},"content":{"371":{},"637":{},"914":{},"979":{}}}],["approv",{"_index":130,"title":{"343":{}},"content":{"25":{},"214":{},"262":{},"320":{},"343":{},"792":{},"861":{},"862":{},"978":{},"990":{},"999":{},"1002":{}}}],["approx",{"_index":3726,"title":{},"content":{"834":{}}}],["approxim",{"_index":2728,"title":{},"content":{"553":{}}}],["appup",{"_index":1649,"title":{},"content":{"320":{}}}],["appvers",{"_index":654,"title":{},"content":{"211":{}}}],["appversion[0",{"_index":660,"title":{},"content":{"211":{}}}],["appwallet.h",{"_index":3300,"title":{},"content":{"742":{}}}],["appwallet.lock",{"_index":3301,"title":{},"content":{"742":{}}}],["apr",{"_index":3236,"title":{"700":{},"955":{},"957":{}},"content":{"957":{},"961":{},"964":{},"970":{},"973":{},"974":{},"992":{},"995":{},"996":{}}}],["arbitrageur",{"_index":4173,"title":{},"content":{"985":{}}}],["arch",{"_index":1708,"title":{"746":{}},"content":{"327":{},"334":{},"423":{},"743":{},"745":{},"746":{},"747":{},"769":{},"786":{},"814":{},"875":{}}}],["arch_address",{"_index":879,"title":{},"content":{"219":{},"235":{}}}],["archet",{"_index":4199,"title":{},"content":{"1027":{}}}],["archeth",{"_index":279,"title":{"213":{},"235":{},"672":{},"673":{},"674":{},"676":{},"677":{},"688":{},"690":{},"695":{},"696":{},"699":{},"703":{},"706":{},"713":{},"714":{},"716":{},"717":{},"726":{},"727":{},"730":{},"735":{},"739":{},"740":{},"742":{},"743":{},"762":{},"764":{},"812":{},"872":{},"905":{},"909":{},"910":{},"946":{},"952":{},"953":{},"1034":{},"1041":{}},"content":{"67":{},"122":{},"130":{},"143":{},"146":{},"149":{},"166":{},"192":{},"204":{},"205":{},"206":{},"210":{},"213":{},"214":{},"215":{},"218":{},"219":{},"221":{},"223":{},"231":{},"235":{},"237":{},"238":{},"242":{},"250":{},"275":{},"283":{},"287":{},"300":{},"304":{},"316":{},"320":{},"321":{},"322":{},"344":{},"349":{},"350":{},"352":{},"354":{},"357":{},"364":{},"365":{},"367":{},"368":{},"369":{},"371":{},"373":{},"417":{},"419":{},"420":{},"421":{},"422":{},"423":{},"424":{},"425":{},"426":{},"440":{},"449":{},"464":{},"468":{},"473":{},"513":{},"586":{},"605":{},"607":{},"617":{},"620":{},"624":{},"625":{},"650":{},"651":{},"652":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"679":{},"680":{},"683":{},"684":{},"685":{},"690":{},"697":{},"698":{},"699":{},"703":{},"706":{},"710":{},"713":{},"716":{},"717":{},"719":{},"726":{},"727":{},"730":{},"732":{},"735":{},"739":{},"740":{},"742":{},"743":{},"745":{},"746":{},"747":{},"750":{},"752":{},"754":{},"757":{},"759":{},"762":{},"763":{},"764":{},"766":{},"768":{},"769":{},"771":{},"772":{},"773":{},"774":{},"779":{},"783":{},"784":{},"785":{},"788":{},"791":{},"792":{},"794":{},"798":{},"800":{},"802":{},"803":{},"806":{},"811":{},"817":{},"821":{},"822":{},"826":{},"829":{},"830":{},"832":{},"838":{},"843":{},"844":{},"846":{},"851":{},"852":{},"871":{},"872":{},"875":{},"876":{},"877":{},"883":{},"885":{},"888":{},"890":{},"891":{},"892":{},"893":{},"895":{},"897":{},"899":{},"902":{},"905":{},"908":{},"909":{},"910":{},"914":{},"916":{},"917":{},"918":{},"919":{},"921":{},"924":{},"926":{},"928":{},"931":{},"932":{},"946":{},"952":{},"954":{},"956":{},"976":{},"977":{},"979":{},"981":{},"983":{},"985":{},"986":{},"989":{},"990":{},"992":{},"996":{},"998":{},"999":{},"1004":{},"1016":{},"1018":{},"1020":{},"1024":{},"1034":{},"1035":{},"1037":{},"1038":{},"1040":{},"1041":{},"1046":{},"1048":{},"1049":{}}}],["archethic'",{"_index":535,"title":{"215":{},"218":{},"304":{},"651":{},"652":{},"675":{},"723":{},"724":{},"798":{},"908":{},"931":{}},"content":{"204":{},"205":{},"206":{},"221":{},"331":{},"650":{},"651":{},"652":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"713":{},"723":{},"724":{},"726":{},"743":{},"766":{},"780":{},"845":{},"907":{},"908":{},"909":{},"910":{},"914":{},"979":{}}}],["archethic.config.j",{"_index":2812,"title":{},"content":{"617":{},"618":{}}}],["archethic.net",{"_index":560,"title":{},"content":{"204":{}}}],["archethic.oraclechain",{"_index":1783,"title":{},"content":{"350":{}}}],["archethic.oraclechain.service.mynewservic",{"_index":1786,"title":{},"content":{"350":{}}}],["archethic.oraclechain.services.ucopric",{"_index":1784,"title":{},"content":{"350":{}}}],["archethic/a",{"_index":2966,"title":{},"content":{"634":{},"636":{}}}],["archethic_derive_with_seed_key",{"_index":718,"title":{},"content":{"212":{}}}],["archethic_lib_dart",{"_index":1855,"title":{},"content":{"370":{},"372":{},"1041":{}}}],["archethic_nod",{"_index":1660,"title":{},"content":{"321":{},"322":{}}}],["archethic_wallet_cli",{"_index":1856,"title":{},"content":{"370":{},"372":{}}}],["archethiccli",{"_index":1874,"title":{},"content":{"371":{},"373":{},"417":{}}}],["archethicclient.connect",{"_index":1894,"title":{},"content":{"371":{},"373":{},"417":{}}}],["archethicclient.rpcwallet",{"_index":1893,"title":{},"content":{"371":{},"373":{}}}],["archethicclient.rpcwallet.clos",{"_index":1897,"title":{},"content":{"371":{},"373":{},"417":{}}}],["archethicclient.rpcwallet.getcurrentaccount",{"_index":1889,"title":{},"content":{"371":{}}}],["archethicclient.rpcwallet.getendpoint",{"_index":1887,"title":{},"content":{"371":{}}}],["archethicclient.rpcwallet.onconnectionstatechange(async",{"_index":1876,"title":{},"content":{"371":{}}}],["archethicclient.rpcwallet.oncurrentaccountchange(async",{"_index":2023,"title":{},"content":{"417":{}}}],["archethicclient.rpcwallet.unsubscribe(accountsubscript",{"_index":2025,"title":{},"content":{"417":{}}}],["archethicclient.rpcwallet.unsubscribeconnectionstatechang",{"_index":1898,"title":{},"content":{"371":{}}}],["archethicclient.transact",{"_index":1986,"title":{},"content":{"373":{}}}],["archethicdappcli",{"_index":1900,"title":{},"content":{"371":{}}}],["archethicdappclient.auto",{"_index":1912,"title":{},"content":{"371":{},"373":{},"417":{}}}],["archethicdappclient.messagechannel",{"_index":1906,"title":{},"content":{"371":{}}}],["archethicdappclient.websocket",{"_index":1907,"title":{},"content":{"371":{}}}],["archethicindex",{"_index":1429,"title":{"283":{},"299":{}},"content":{"283":{},"286":{},"287":{},"295":{},"297":{},"299":{}}}],["archethicjs/a",{"_index":2753,"title":{},"content":{"608":{},"610":{},"612":{},"613":{},"617":{},"618":{},"627":{},"633":{}}}],["archethicjs/sdk",{"_index":1858,"title":{},"content":{"370":{},"371":{},"372":{},"373":{},"417":{},"617":{}}}],["archethicwalletcli",{"_index":1871,"title":{},"content":{"371":{}}}],["archethic’",{"_index":2879,"title":{},"content":{"590":{}}}],["archiv",{"_index":3925,"title":{},"content":{"890":{},"891":{},"896":{}}}],["area",{"_index":3565,"title":{},"content":{"791":{}}}],["areaes_key",{"_index":779,"title":{},"content":{"213":{},"214":{}}}],["aren't",{"_index":2177,"title":{},"content":{"450":{},"833":{}}}],["aresam",{"_index":3001,"title":{},"content":{"636":{}}}],["arg",{"_index":234,"title":{},"content":{"55":{},"182":{},"497":{},"601":{},"633":{},"634":{}}}],["arg1",{"_index":2188,"title":{},"content":{"452":{}}}],["arg2",{"_index":2185,"title":{},"content":{"452":{}}}],["argument",{"_index":5,"title":{"3":{},"5":{},"112":{},"115":{},"118":{},"121":{},"124":{},"129":{},"134":{},"139":{},"142":{},"145":{},"148":{},"151":{},"199":{},"202":{},"457":{}},"content":{"2":{},"4":{},"429":{},"430":{},"450":{},"457":{},"474":{},"475":{},"497":{},"531":{},"533":{},"534":{},"573":{},"612":{},"632":{},"633":{},"637":{}}}],["arithemet",{"_index":1640,"title":{},"content":{"303":{}}}],["arithmet",{"_index":2132,"title":{"443":{}},"content":{"443":{},"637":{}}}],["ariti",{"_index":2360,"title":{"475":{}},"content":{"475":{}}}],["around",{"_index":1750,"title":{},"content":{"344":{},"775":{},"851":{},"876":{},"961":{}}}],["arriv",{"_index":1158,"title":{},"content":{"256":{},"746":{},"748":{}}}],["arrow",{"_index":3282,"title":{},"content":{"740":{},"934":{}}}],["arsèn",{"_index":2720,"title":{},"content":{"584":{}}}],["articl",{"_index":4308,"title":{},"content":{"1040":{}}}],["as/assembl",{"_index":2767,"title":{},"content":{"612":{},"634":{},"636":{}}}],["asc",{"_index":38,"title":{},"content":{"9":{},"563":{},"564":{}}}],["ascend",{"_index":41,"title":{},"content":{"10":{}}}],["ascii",{"_index":2124,"title":{"441":{}},"content":{}}],["asconfig.json",{"_index":2759,"title":{},"content":{"608":{},"610":{}}}],["ask",{"_index":1586,"title":{},"content":{"311":{},"910":{},"1047":{}}}],["asn",{"_index":882,"title":{},"content":{"236":{},"260":{},"261":{},"262":{},"269":{},"844":{}}}],["asn1",{"_index":1216,"title":{},"content":{"260":{}}}],["asn_der_sign",{"_index":815,"title":{},"content":{"214":{}}}],["asn_sign",{"_index":854,"title":{},"content":{"214":{}}}],["asnsigns",{"_index":1230,"title":{"261":{}},"content":{}}],["aspect",{"_index":1811,"title":{},"content":{"354":{},"873":{}}}],["assembl",{"_index":2755,"title":{},"content":{"608":{},"610":{}}}],["assembly/counter.t",{"_index":3015,"title":{},"content":{"637":{}}}],["assembly/index.t",{"_index":2763,"title":{},"content":{"612":{},"629":{},"631":{},"632":{},"637":{}}}],["assemblyscript",{"_index":2751,"title":{"625":{},"678":{}},"content":{"608":{},"610":{},"612":{},"625":{},"626":{},"637":{},"678":{}}}],["assert",{"_index":1104,"title":{},"content":{"242":{},"253":{},"323":{},"331":{},"332":{},"337":{},"339":{},"340":{},"341":{},"342":{},"348":{},"590":{},"635":{},"637":{},"727":{},"886":{},"910":{}}}],["assert(name.length",{"_index":3022,"title":{},"content":{"637":{}}}],["assert(response.statu",{"_index":2989,"title":{},"content":{"634":{}}}],["assert(state.count",{"_index":2995,"title":{},"content":{"635":{}}}],["assess",{"_index":4050,"title":{},"content":{"957":{},"992":{}}}],["asset",{"_index":101,"title":{"918":{}},"content":{"22":{},"28":{},"40":{},"73":{},"85":{},"94":{},"98":{},"107":{},"119":{},"152":{},"204":{},"242":{},"339":{},"419":{},"621":{},"713":{},"723":{},"848":{},"905":{},"907":{},"909":{},"910":{},"914":{},"926":{},"927":{},"957":{},"959":{},"966":{},"979":{},"982":{},"984":{},"994":{},"1005":{},"1013":{},"1014":{},"1016":{},"1017":{},"1034":{}}}],["assets/app.css",{"_index":3910,"title":{},"content":{"898":{}}}],["assets/image.jpg",{"_index":3911,"title":{},"content":{"898":{}}}],["assign",{"_index":1347,"title":{},"content":{"264":{},"269":{},"270":{},"446":{},"632":{}}}],["assist",{"_index":3223,"title":{},"content":{"698":{}}}],["associ",{"_index":1254,"title":{},"content":{"262":{},"455":{},"597":{},"709":{},"759":{},"772":{},"781":{},"784":{},"793":{},"814":{},"819":{},"841":{},"887":{},"890":{},"891":{},"892":{},"893":{},"943":{},"973":{},"977":{},"989":{},"996":{},"998":{},"1040":{}}}],["assum",{"_index":575,"title":{},"content":{"205":{},"431":{},"633":{}}}],["assumpt",{"_index":3543,"title":{},"content":{"775":{}}}],["assur",{"_index":3208,"title":{},"content":{"735":{},"819":{}}}],["ast",{"_index":2440,"title":{},"content":{"472":{}}}],["async",{"_index":677,"title":{},"content":{"212":{},"371":{},"373":{},"417":{},"613":{},"614":{},"615":{},"616":{},"617":{},"618":{}}}],["asynchron",{"_index":3325,"title":{},"content":{"744":{},"814":{},"836":{}}}],["at/2",{"_index":2562,"title":{"555":{}},"content":{}}],["ath",{"_index":2213,"title":{},"content":{"458":{}}}],["atom",{"_index":1722,"title":{"747":{}},"content":{"330":{},"423":{},"513":{},"605":{},"713":{},"723":{},"724":{},"726":{},"743":{},"745":{},"746":{},"747":{},"749":{},"786":{},"814":{},"838":{},"905":{},"907":{},"908":{}}}],["attack",{"_index":3232,"title":{},"content":{"699":{},"747":{},"761":{},"811":{},"959":{}}}],["attempt",{"_index":1860,"title":{},"content":{"371":{},"373":{},"417":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"681":{}}}],["attest",{"_index":304,"title":{"833":{}},"content":{"76":{},"203":{},"253":{},"281":{},"807":{},"834":{},"837":{}}}],["attract",{"_index":4112,"title":{},"content":{"970":{},"992":{}}}],["attribut",{"_index":1245,"title":{"438":{}},"content":{"262":{},"437":{},"438":{},"1038":{}}}],["audit",{"_index":584,"title":{"721":{},"912":{}},"content":{"206":{},"721":{},"792":{},"912":{},"959":{},"960":{}}}],["auth",{"_index":4284,"title":{},"content":{"1039":{}}}],["auth_key",{"_index":785,"title":{},"content":{"213":{},"214":{},"223":{}}}],["auth_se",{"_index":783,"title":{},"content":{"213":{},"214":{},"223":{}}}],["auth_tag",{"_index":769,"title":{},"content":{"213":{},"214":{},"223":{}}}],["authent",{"_index":1395,"title":{},"content":{"278":{},"759":{},"767":{},"782":{},"783":{},"800":{},"814":{},"815":{},"877":{},"896":{},"1037":{},"1039":{},"1040":{}}}],["authenticateyk",{"_index":1392,"title":{"278":{}},"content":{}}],["authentif",{"_index":4289,"title":{},"content":{"1040":{}}}],["author",{"_index":47,"title":{"361":{}},"content":{"12":{},"28":{},"43":{},"52":{},"58":{},"61":{},"137":{},"140":{},"215":{},"216":{},"217":{},"218":{},"223":{},"228":{},"262":{},"318":{},"337":{},"338":{},"357":{},"361":{},"423":{},"470":{},"505":{},"618":{},"650":{},"651":{},"652":{},"748":{},"759":{},"766":{},"780":{},"782":{},"794":{},"814":{},"841":{},"865":{},"937":{}}}],["authorit",{"_index":3771,"title":{},"content":{"839":{}}}],["authorization/deleg",{"_index":149,"title":{},"content":{"28":{},"61":{},"140":{}}}],["authorizationd",{"_index":193,"title":{},"content":{"43":{}}}],["authorized_key",{"_index":2319,"title":{},"content":{"466":{},"467":{},"505":{}}}],["authorized_public_key",{"_index":2350,"title":{},"content":{"470":{}}}],["authorizedkey",{"_index":46,"title":{"12":{}},"content":{"12":{},"52":{},"53":{},"169":{},"179":{},"633":{}}}],["authorizedkey.encryptedsecretkey",{"_index":59,"title":{},"content":{"13":{}}}],["authorizedkey.publickey",{"_index":60,"title":{},"content":{"13":{}}}],["authorizedpublickey",{"_index":230,"title":{},"content":{"52":{}}}],["authpolici",{"_index":1280,"title":{},"content":{"262":{}}}],["authvalu",{"_index":1271,"title":{},"content":{"262":{}}}],["auto",{"_index":3573,"title":{},"content":{"787":{},"1040":{}}}],["autolock",{"_index":4293,"title":{},"content":{"1040":{}}}],["autom",{"_index":1645,"title":{"871":{},"1005":{}},"content":{"320":{},"590":{},"788":{},"792":{},"871":{},"881":{},"926":{},"949":{},"1005":{},"1016":{}}}],["automat",{"_index":1656,"title":{},"content":{"320":{},"422":{},"429":{},"430":{},"431":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"792":{},"919":{},"921":{},"928":{},"934":{},"937":{},"941":{},"966":{},"977":{},"989":{},"998":{},"1017":{},"1045":{}}}],["autonom",{"_index":2046,"title":{"423":{}},"content":{"422":{},"423":{},"745":{},"788":{},"820":{}}}],["autor",{"_index":3999,"title":{},"content":{"937":{}}}],["avail",{"_index":194,"title":{"255":{},"360":{},"696":{},"717":{},"974":{},"994":{}},"content":{"43":{},"243":{},"246":{},"251":{},"256":{},"257":{},"315":{},"338":{},"357":{},"359":{},"360":{},"371":{},"373":{},"374":{},"381":{},"419":{},"420":{},"421":{},"450":{},"452":{},"456":{},"460":{},"476":{},"572":{},"573":{},"576":{},"623":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"688":{},"696":{},"706":{},"721":{},"732":{},"735":{},"746":{},"747":{},"748":{},"774":{},"796":{},"799":{},"801":{},"803":{},"820":{},"824":{},"825":{},"833":{},"834":{},"846":{},"849":{},"872":{},"875":{},"876":{},"894":{},"902":{},"912":{},"914":{},"919":{},"922":{},"928":{},"931":{},"946":{},"966":{},"970":{},"973":{},"974":{},"977":{},"992":{},"994":{},"998":{},"1001":{},"1012":{},"1040":{},"1041":{},"1047":{},"1048":{},"1049":{}}}],["availability/lat",{"_index":3599,"title":{},"content":{"801":{}}}],["availabilityaddingtim",{"_index":79,"title":{},"content":{"19":{}}}],["averag",{"_index":1169,"title":{},"content":{"257":{},"301":{},"357":{},"359":{}}}],["averageavail",{"_index":195,"title":{},"content":{"43":{}}}],["aviat",{"_index":3499,"title":{},"content":{"769":{}}}],["avoid",{"_index":892,"title":{},"content":{"215":{},"304":{},"307":{},"308":{},"310":{},"312":{},"346":{},"576":{},"637":{},"736":{},"766":{},"782":{},"794":{},"872":{},"896":{},"1047":{},"1048":{}}}],["avro",{"_index":1808,"title":{},"content":{"354":{}}}],["await",{"_index":1886,"title":{},"content":{"371":{},"373":{},"417":{},"613":{},"614":{},"615":{},"616":{},"617":{},"618":{}}}],["awar",{"_index":3276,"title":{},"content":{"740":{},"806":{},"957":{},"977":{}}}],["award",{"_index":4109,"title":{},"content":{"970":{}}}],["away",{"_index":3759,"title":{},"content":{"848":{}}}],["awc",{"_index":4322,"title":{},"content":{"1048":{},"1049":{}}}],["awri",{"_index":1068,"title":{},"content":{"239":{}}}],["b",{"_index":1503,"title":{},"content":{"305":{},"450":{},"555":{},"637":{},"1022":{}}}],["b298kjkfs98dj7xdnsq",{"_index":3907,"title":{},"content":{"898":{}}}],["back",{"_index":859,"title":{"993":{}},"content":{"214":{},"239":{},"353":{},"739":{},"877":{},"899":{},"940":{},"970":{},"973":{},"974":{},"994":{},"1001":{}}}],["backbon",{"_index":4057,"title":{},"content":{"959":{},"986":{}}}],["backend",{"_index":555,"title":{},"content":{"204":{},"877":{}}}],["background",{"_index":3244,"title":{},"content":{"706":{}}}],["backpressur",{"_index":1562,"title":{},"content":{"310":{}}}],["backup",{"_index":1514,"title":{},"content":{"306":{},"308":{},"311":{}}}],["backward",{"_index":1955,"title":{},"content":{"385":{},"406":{},"754":{}}}],["bad",{"_index":3435,"title":{},"content":{"762":{}}}],["balanc",{"_index":62,"title":{"15":{},"111":{},"971":{}},"content":{"15":{},"17":{},"64":{},"66":{},"67":{},"68":{},"111":{},"113":{},"157":{},"171":{},"242":{},"243":{},"246":{},"330":{},"413":{},"487":{},"490":{},"491":{},"492":{},"593":{},"615":{},"616":{},"622":{},"634":{},"637":{},"759":{},"823":{},"971":{},"973":{},"974":{},"977":{},"978":{},"989":{},"990":{},"998":{},"999":{},"1002":{},"1022":{},"1032":{},"1040":{}}}],["balance.address",{"_index":396,"title":{},"content":{"112":{}}}],["balance.token",{"_index":68,"title":{},"content":{"16":{}}}],["balance.token.length",{"_index":2969,"title":{},"content":{"634":{}}}],["balance.token[i].amount",{"_index":2973,"title":{},"content":{"634":{}}}],["balance.token[i].tokenaddress",{"_index":2971,"title":{},"content":{"634":{}}}],["balance.uco",{"_index":70,"title":{},"content":{"16":{},"487":{},"634":{}}}],["ban",{"_index":3421,"title":{},"content":{"762":{}}}],["bandwidth",{"_index":1806,"title":{},"content":{"354":{},"796":{},"802":{},"824":{},"825":{}}}],["banish",{"_index":3366,"title":{},"content":{"747":{},"762":{}}}],["bar",{"_index":2552,"title":{},"content":{"518":{},"519":{},"551":{}}}],["base",{"_index":492,"title":{"964":{}},"content":{"204":{},"205":{},"222":{},"241":{},"251":{},"301":{},"319":{},"334":{},"346":{},"357":{},"365":{},"422":{},"423":{},"439":{},"465":{},"555":{},"567":{},"568":{},"630":{},"681":{},"700":{},"706":{},"745":{},"746":{},"747":{},"748":{},"753":{},"757":{},"763":{},"764":{},"769":{},"772":{},"773":{},"774":{},"775":{},"779":{},"788":{},"800":{},"811":{},"820":{},"828":{},"829":{},"831":{},"852":{},"853":{},"857":{},"876":{},"910":{},"934":{},"960":{},"966":{},"974":{},"977":{},"985":{},"992":{},"994":{},"998":{},"1001":{},"1008":{},"1021":{},"1037":{},"1041":{}}}],["base16",{"_index":410,"title":{},"content":{"125":{},"155":{},"166":{},"178":{},"192":{}}}],["base64",{"_index":3753,"title":{},"content":{"848":{},"850":{},"898":{},"1040":{}}}],["basi",{"_index":4100,"title":{},"content":{"970":{},"973":{}}}],["basic",{"_index":496,"title":{"439":{}},"content":{"204":{},"681":{},"827":{},"986":{}}}],["baz(uint,address",{"_index":2511,"title":{},"content":{"494":{},"495":{}}}],["be",{"_index":908,"title":{},"content":{"217":{},"311":{},"312":{},"315":{},"513":{},"534":{},"605":{},"767":{},"782":{},"788":{},"828":{},"875":{},"876":{},"877":{},"890":{}}}],["beacon",{"_index":73,"title":{"801":{},"821":{},"826":{}},"content":{"19":{},"114":{},"116":{},"251":{},"252":{},"255":{},"256":{},"315":{},"329":{},"749":{},"777":{},"798":{},"819":{},"821":{},"822":{},"823":{},"824":{},"825":{},"827":{},"828":{},"829":{},"831":{},"832":{},"833":{},"834":{}}}],["beaconchain",{"_index":1120,"title":{"250":{}},"content":{"250":{},"251":{},"252":{},"253":{},"257":{},"311":{},"357":{},"786":{},"801":{},"804":{},"819":{},"826":{},"832":{}}}],["beaconchainsummari",{"_index":72,"title":{"19":{},"114":{}},"content":{"19":{},"21":{},"84":{},"114":{},"116":{},"171":{},"175":{},"195":{}}}],["beaconchainsummary.availabilityaddingtim",{"_index":89,"title":{},"content":{"20":{}}}],["beaconchainsummary.p2pavail",{"_index":90,"title":{},"content":{"20":{}}}],["beaconchainsummary.summarytim",{"_index":91,"title":{},"content":{"20":{}}}],["beaconchainsummary.timestamp",{"_index":399,"title":{},"content":{"115":{}}}],["beaconchainsummary.transactionsummari",{"_index":92,"title":{},"content":{"20":{}}}],["beaconchainsummary.transactionsummaries.limit",{"_index":93,"title":{},"content":{"20":{}}}],["beaconchainsummary.transactionsummaries.pagingoffset",{"_index":94,"title":{},"content":{"20":{}}}],["beaconchainsummary.vers",{"_index":95,"title":{},"content":{"20":{}}}],["beauti",{"_index":3839,"title":{},"content":{"877":{}}}],["becom",{"_index":899,"title":{},"content":{"216":{},"333":{},"637":{},"817":{},"839":{},"898":{},"1046":{}}}],["befor",{"_index":588,"title":{},"content":{"206":{},"224":{},"230":{},"253":{},"256":{},"310":{},"321":{},"337":{},"367":{},"371":{},"373":{},"417":{},"428":{},"432":{},"458":{},"460":{},"572":{},"573":{},"608":{},"746":{},"757":{},"815":{},"834":{},"861":{},"886":{},"888":{},"914":{},"919":{},"927":{},"973":{},"977":{},"978":{},"979":{},"989":{},"990":{},"998":{},"999":{},"1001":{},"1002":{},"1028":{},"1037":{},"1039":{}}}],["begin",{"_index":1724,"title":{},"content":{"334":{},"739":{},"792":{},"898":{},"909":{},"915":{},"963":{},"977":{},"980":{},"998":{},"1001":{}}}],["beginn",{"_index":4023,"title":{},"content":{"928":{}}}],["behalf",{"_index":2056,"title":{},"content":{"423":{}}}],["behav",{"_index":2874,"title":{},"content":{"590":{},"637":{},"786":{}}}],["behavior",{"_index":1197,"title":{"348":{}},"content":{"272":{},"273":{},"348":{},"349":{},"423":{},"438":{},"637":{},"786":{},"959":{}}}],["behaviour",{"_index":1604,"title":{},"content":{"312":{},"900":{}}}],["behind",{"_index":1449,"title":{},"content":{"289":{},"290":{},"487":{},"792":{},"832":{}}}],["believ",{"_index":3516,"title":{},"content":{"771":{}}}],["below",{"_index":1770,"title":{},"content":{"346":{},"369":{},"827":{},"841":{}}}],["benchmark",{"_index":1484,"title":{},"content":{"305":{},"321":{}}}],["benefit",{"_index":4039,"title":{},"content":{"956":{},"1018":{}}}],["best",{"_index":1084,"title":{"637":{}},"content":{"239":{},"240":{},"330":{},"352":{},"774":{},"820":{},"928":{},"960":{}}}],["beta",{"_index":3930,"title":{},"content":{"890":{}}}],["better",{"_index":312,"title":{"715":{}},"content":{"76":{},"203":{},"239":{},"241":{},"303":{},"308":{},"345":{},"637":{},"706":{},"823":{},"827":{},"964":{}}}],["between",{"_index":458,"title":{},"content":{"170":{},"204":{},"209":{},"231":{},"320":{},"332":{},"353":{},"459":{},"586":{},"587":{},"591":{},"702":{},"713":{},"715":{},"716":{},"729":{},"745":{},"748":{},"823":{},"829":{},"885":{},"891":{},"907":{},"917":{},"928":{},"970":{},"990":{},"999":{},"1009":{},"1011":{},"1018":{},"1046":{},"1048":{},"1049":{}}}],["beyond",{"_index":3496,"title":{},"content":{"769":{},"775":{},"974":{},"1039":{}}}],["bia",{"_index":3119,"title":{},"content":{"681":{}}}],["big",{"_index":829,"title":{},"content":{"214":{},"303":{},"637":{},"766":{},"898":{}}}],["bigger",{"_index":3588,"title":{},"content":{"797":{}}}],["biggest",{"_index":3558,"title":{},"content":{"788":{}}}],["bigint",{"_index":2956,"title":{},"content":{"633":{}}}],["billion",{"_index":3318,"title":{},"content":{"743":{},"744":{},"769":{}}}],["binari",{"_index":414,"title":{"354":{},"636":{}},"content":{"125":{},"155":{},"166":{},"178":{},"192":{},"224":{},"310":{},"352":{},"354":{},"535":{},"588":{},"636":{},"640":{},"825":{},"932":{}}}],["biometr",{"_index":2322,"title":{"815":{}},"content":{"466":{},"739":{},"753":{},"759":{},"767":{},"771":{},"782":{},"811":{},"815":{},"1034":{},"1040":{}}}],["bip32",{"_index":937,"title":{},"content":{"221":{},"222":{}}}],["bip32/bip44",{"_index":940,"title":{},"content":{"221":{}}}],["bip39",{"_index":4274,"title":{},"content":{"1038":{}}}],["bip39_mnemon",{"_index":4280,"title":{},"content":{"1038":{}}}],["bip43",{"_index":943,"title":{},"content":{"221":{}}}],["bip44",{"_index":739,"title":{},"content":{"213":{},"214":{},"235":{},"236":{},"784":{}}}],["bip44path",{"_index":797,"title":{},"content":{"213":{},"214":{}}}],["bip44pathlen",{"_index":801,"title":{},"content":{"213":{},"214":{}}}],["bit",{"_index":954,"title":{},"content":{"222":{},"311":{},"354":{},"786":{},"1040":{}}}],["bitcask",{"_index":1524,"title":{},"content":{"307":{}}}],["bitcoin",{"_index":489,"title":{},"content":{"204":{},"769":{},"784":{}}}],["bitfield",{"_index":3732,"title":{},"content":{"837":{}}}],["bitstr",{"_index":1812,"title":{},"content":{"354":{}}}],["black",{"_index":3288,"title":{"742":{}},"content":{}}],["blake2b",{"_index":1000,"title":{},"content":{"227":{},"532":{},"784":{}}}],["blob",{"_index":3896,"title":{},"content":{"898":{}}}],["block",{"_index":228,"title":{"428":{},"455":{}},"content":{"52":{},"307":{},"353":{},"428":{},"430":{},"431":{},"433":{},"435":{},"437":{},"446":{},"450":{},"451":{},"455":{},"456":{},"457":{},"458":{},"465":{},"466":{},"467":{},"468":{},"469":{},"476":{},"572":{},"573":{},"576":{},"703":{},"730":{},"744":{},"745":{},"759":{},"838":{}}}],["blockag",{"_index":3552,"title":{},"content":{"778":{}}}],["blockchain",{"_index":482,"title":{"616":{},"688":{},"715":{},"716":{},"735":{},"739":{},"814":{},"1041":{}},"content":{"204":{},"215":{},"218":{},"221":{},"223":{},"238":{},"239":{},"320":{},"352":{},"367":{},"368":{},"419":{},"420":{},"421":{},"422":{},"440":{},"464":{},"476":{},"509":{},"586":{},"592":{},"613":{},"625":{},"626":{},"634":{},"650":{},"651":{},"652":{},"706":{},"707":{},"709":{},"710":{},"713":{},"715":{},"716":{},"718":{},"721":{},"724":{},"726":{},"727":{},"740":{},"743":{},"744":{},"745":{},"746":{},"747":{},"759":{},"762":{},"767":{},"770":{},"772":{},"774":{},"785":{},"788":{},"791":{},"792":{},"803":{},"806":{},"814":{},"817":{},"821":{},"822":{},"826":{},"830":{},"852":{},"875":{},"876":{},"877":{},"881":{},"885":{},"888":{},"890":{},"891":{},"892":{},"893":{},"894":{},"897":{},"899":{},"901":{},"902":{},"905":{},"908":{},"909":{},"910":{},"912":{},"917":{},"919":{},"925":{},"926":{},"927":{},"928":{},"931":{},"959":{},"970":{},"977":{},"978":{},"983":{},"985":{},"989":{},"990":{},"993":{},"998":{},"999":{},"1002":{},"1004":{},"1016":{},"1018":{},"1020":{},"1024":{},"1034":{},"1039":{},"1040":{},"1041":{},"1046":{},"1048":{},"1049":{}}}],["blockchain'",{"_index":3560,"title":{},"content":{"788":{},"986":{}}}],["blockchain/ecosystem",{"_index":3440,"title":{"764":{}},"content":{}}],["bloom",{"_index":1618,"title":{},"content":{"313":{},"314":{}}}],["bnb",{"_index":3148,"title":{},"content":{"706":{},"713":{}}}],["bodi",{"_index":2519,"title":{},"content":{"512":{},"513":{},"514":{},"605":{},"606":{},"634":{},"927":{}}}],["body'",{"_index":2525,"title":{},"content":{"513":{},"605":{}}}],["bolo",{"_index":530,"title":{},"content":{"204":{},"206":{},"210":{}}}],["book",{"_index":4180,"title":{},"content":{"1005":{}}}],["bool",{"_index":1366,"title":{"269":{},"276":{}},"content":{}}],["boolean",{"_index":7,"title":{"158":{},"429":{}},"content":{"2":{},"3":{},"4":{},"5":{},"43":{},"44":{},"107":{},"108":{},"158":{},"385":{},"409":{},"428":{},"429":{},"430":{},"433":{},"435":{},"439":{},"589":{}}}],["boost",{"_index":4077,"title":{},"content":{"961":{}}}],["boot",{"_index":3408,"title":{},"content":{"761":{}}}],["bootstrap",{"_index":1118,"title":{"316":{},"318":{},"319":{},"806":{}},"content":{"249":{},"315":{},"316":{},"318":{},"319":{},"345":{},"358":{},"803":{},"806":{},"807":{}}}],["both",{"_index":652,"title":{},"content":{"211":{},"311":{},"632":{},"726":{},"727":{},"744":{},"763":{},"771":{},"907":{},"909":{},"910":{},"918":{},"919":{},"928":{},"966":{},"972":{},"1028":{},"1040":{}}}],["bottleneckarcheth",{"_index":3341,"title":{},"content":{"745":{}}}],["boundari",{"_index":1574,"title":{},"content":{"310":{}}}],["bounti",{"_index":4065,"title":{},"content":{"960":{}}}],["box",{"_index":1080,"title":{},"content":{"239":{},"907":{},"1039":{}}}],["bracket",{"_index":2167,"title":{},"content":{"448":{}}}],["branch",{"_index":1650,"title":{},"content":{"320":{},"322":{},"681":{},"744":{},"764":{}}}],["brand",{"_index":1787,"title":{},"content":{"352":{}}}],["brave",{"_index":1933,"title":{"703":{},"730":{}},"content":{"365":{},"703":{},"730":{}}}],["break",{"_index":1880,"title":{},"content":{"371":{},"438":{},"753":{}}}],["breakdown",{"_index":4040,"title":{"962":{}},"content":{"956":{},"972":{}}}],["bridg",{"_index":545,"title":{"674":{},"713":{},"714":{},"715":{},"716":{},"717":{},"721":{},"723":{},"725":{},"726":{},"727":{},"735":{},"736":{},"905":{},"918":{},"953":{}},"content":{"204":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"706":{},"713":{},"714":{},"716":{},"717":{},"723":{},"726":{},"727":{},"732":{},"735":{},"736":{},"905":{},"907":{},"909":{},"910":{},"914":{},"915":{},"917":{},"918":{},"919":{},"921":{},"952":{},"1035":{}}}],["bridge'",{"_index":3953,"title":{},"content":{"909":{}}}],["briefli",{"_index":1935,"title":{},"content":{"366":{}}}],["bring",{"_index":1544,"title":{},"content":{"308":{},"422":{}}}],["broad",{"_index":3104,"title":{},"content":{"681":{}}}],["broadcast",{"_index":3585,"title":{"797":{}},"content":{"797":{},"801":{},"833":{}}}],["broader",{"_index":3163,"title":{},"content":{"713":{}}}],["brought",{"_index":1936,"title":{},"content":{"366":{},"766":{}}}],["brows",{"_index":3074,"title":{},"content":{"622":{},"1040":{}}}],["browser",{"_index":1848,"title":{"365":{},"698":{},"703":{},"730":{}},"content":{"365":{},"369":{},"698":{},"875":{},"885":{},"897":{},"899":{},"914":{},"979":{}}}],["browser'",{"_index":3982,"title":{},"content":{"922":{}}}],["browser’",{"_index":3197,"title":{},"content":{"703":{},"730":{}}}],["bsc",{"_index":3151,"title":{},"content":{"707":{},"709":{},"713":{},"715":{},"905":{}}}],["buck",{"_index":3832,"title":{},"content":{"876":{}}}],["buffer",{"_index":648,"title":{},"content":{"211":{},"213":{},"214":{},"262":{}}}],["bug",{"_index":4064,"title":{},"content":{"960":{}}}],["build",{"_index":891,"title":{"640":{},"811":{},"898":{},"934":{}},"content":{"215":{},"217":{},"239":{},"249":{},"322":{},"340":{},"419":{},"620":{},"621":{},"626":{},"640":{},"641":{},"650":{},"651":{},"652":{},"680":{},"743":{},"749":{},"753":{},"780":{},"877":{},"897":{},"932":{},"986":{},"1018":{},"1044":{}}}],["builder",{"_index":2946,"title":{"633":{}},"content":{"633":{}}}],["built",{"_index":1475,"title":{},"content":{"304":{},"311":{},"344":{},"626":{},"743":{},"888":{},"902":{},"914":{},"928":{},"961":{},"979":{},"983":{},"1004":{},"1016":{},"1044":{}}}],["burn",{"_index":2382,"title":{},"content":{"482":{},"634":{},"699":{},"706":{},"774":{},"858":{},"1001":{}}}],["burnt",{"_index":3959,"title":{},"content":{"910":{}}}],["busi",{"_index":3847,"title":{},"content":{"877":{}}}],["button",{"_index":3204,"title":{},"content":{"732":{},"740":{},"895":{},"915":{},"934":{},"935":{},"937":{},"940":{},"942":{},"943":{},"945":{},"969":{},"970":{},"973":{},"977":{},"978":{},"980":{},"988":{},"990":{},"998":{},"999":{},"1001":{},"1002":{}}}],["buy",{"_index":4253,"title":{},"content":{"1035":{}}}],["byte",{"_index":455,"title":{"261":{},"269":{},"270":{}},"content":{"166":{},"192":{},"212":{},"213":{},"214":{},"222":{},"223":{},"225":{},"226":{},"227":{},"230":{},"231":{},"234":{},"235":{},"236":{},"261":{},"262":{},"269":{},"310":{},"311":{},"354":{},"755":{},"756":{},"757":{},"775":{},"830":{},"1040":{}}}],["c",{"_index":533,"title":{"240":{}},"content":{"204":{},"238":{},"240":{},"302":{},"303":{},"555":{}}}],["c:\\users{user}\\appdata\\roaming{yourapporgan",{"_index":3314,"title":{},"content":{"742":{}}}],["ca",{"_index":1283,"title":{},"content":{"262":{}}}],["cach",{"_index":1147,"title":{},"content":{"253":{},"303":{},"311":{},"345":{},"358":{},"899":{},"922":{}}}],["cachemanager.h",{"_index":3302,"title":{},"content":{"742":{}}}],["cachemanager.lock",{"_index":3303,"title":{},"content":{"742":{}}}],["calcul",{"_index":773,"title":{"775":{},"1022":{},"1028":{},"1030":{}},"content":{"213":{},"214":{},"263":{},"291":{},"293":{},"295":{},"296":{},"297":{},"298":{},"299":{},"541":{},"637":{},"700":{},"744":{},"774":{},"775":{},"853":{},"928":{},"957":{},"973":{},"977":{},"989":{},"998":{},"1001":{},"1022":{},"1028":{},"1029":{},"1030":{},"1031":{},"1040":{}}}],["calculate(x",{"_index":2746,"title":{},"content":{"577":{}}}],["calculate_new_reward",{"_index":4217,"title":{},"content":{"1030":{}}}],["calculate_reward",{"_index":4211,"title":{},"content":{"1028":{}}}],["call",{"_index":103,"title":{"616":{}},"content":{"22":{},"55":{},"182":{},"212":{},"223":{},"239":{},"263":{},"265":{},"269":{},"353":{},"358":{},"366":{},"422":{},"430":{},"448":{},"450":{},"451":{},"486":{},"489":{},"497":{},"502":{},"504":{},"506":{},"508":{},"513":{},"590":{},"601":{},"605":{},"616":{},"633":{},"634":{},"706":{},"745":{},"746":{},"775":{},"785":{},"797":{},"798":{},"807":{},"817":{},"826":{},"835":{},"898":{},"946":{},"1028":{},"1037":{},"1047":{}}}],["call_function/3",{"_index":2444,"title":{"497":{}},"content":{}}],["callabl",{"_index":2172,"title":{},"content":{"450":{},"451":{}}}],["caller",{"_index":2199,"title":{},"content":{"457":{},"573":{}}}],["callfunct",{"_index":2901,"title":{"601":{}},"content":{"601":{},"634":{}}}],["callfunction(address",{"_index":2982,"title":{},"content":{"634":{},"637":{}}}],["u64",{"_index":2858,"title":{},"content":{"588":{},"589":{},"633":{},"637":{}}}],["u8",{"_index":2863,"title":{},"content":{"589":{},"637":{}}}],["uco",{"_index":64,"title":{"243":{},"656":{},"697":{},"704":{},"706":{},"708":{},"710":{},"715":{},"719":{},"852":{},"935":{},"996":{}},"content":{"15":{},"22":{},"37":{},"49":{},"70":{},"91":{},"94":{},"113":{},"119":{},"204":{},"205":{},"209":{},"212":{},"221":{},"243":{},"317":{},"345":{},"349":{},"350":{},"373":{},"429":{},"432":{},"434":{},"436":{},"458":{},"459":{},"463":{},"467":{},"470":{},"487":{},"488":{},"501":{},"503":{},"593":{},"599":{},"600":{},"615":{},"616":{},"622":{},"624":{},"633":{},"637":{},"653":{},"654":{},"655":{},"656":{},"657":{},"697":{},"706":{},"708":{},"710":{},"713":{},"719":{},"774":{},"775":{},"779":{},"787":{},"844":{},"852":{},"858":{},"859":{},"864":{},"876":{},"904":{},"905":{},"934":{},"935":{},"943":{},"952":{},"954":{},"961":{},"966":{},"970":{},"971":{},"977":{},"989":{},"996":{},"998":{},"1020":{},"1026":{},"1031":{},"1032":{},"1035":{},"1040":{}}}],["uco'",{"_index":3538,"title":{},"content":{"774":{},"775":{}}}],["uco.archethic.net",{"_index":3260,"title":{},"content":{"707":{}}}],["uco.aud",{"_index":2546,"title":{},"content":{"517":{}}}],["uco.usd",{"_index":2219,"title":{},"content":{"458":{},"517":{}}}],["uco/token",{"_index":340,"title":{},"content":{"85":{}}}],["uco/token/cal",{"_index":329,"title":{},"content":{"107":{},"152":{}}}],["uco_bal",{"_index":2398,"title":{},"content":{"487":{}}}],["uco_mov",{"_index":2222,"title":{},"content":{"459":{}}}],["uco_transf",{"_index":2229,"title":{},"content":{"429":{},"430":{},"432":{},"434":{},"459":{},"462":{},"463":{},"466":{},"467":{},"483":{},"485":{},"501":{},"866":{}}}],["ucobal",{"_index":2968,"title":{},"content":{"634":{}}}],["ucodata",{"_index":226,"title":{"88":{}},"content":{"49":{},"50":{},"88":{},"163":{}}}],["ucodata.eur",{"_index":360,"title":{},"content":{"89":{}}}],["ucodata.usd",{"_index":361,"title":{},"content":{"89":{}}}],["ucoledg",{"_index":178,"title":{"91":{}},"content":{"37":{},"38":{},"91":{},"100":{},"373":{}}}],["ucoledger.transf",{"_index":363,"title":{},"content":{"92":{}}}],["ucotransf",{"_index":362,"title":{"98":{}},"content":{"91":{},"92":{},"98":{},"157":{},"171":{}}}],["ucotransfer.amount",{"_index":364,"title":{},"content":{"99":{}}}],["ucotransfer.to",{"_index":365,"title":{},"content":{"99":{}}}],["ui",{"_index":1594,"title":{},"content":{"311":{},"320":{},"1037":{}}}],["uint16_t",{"_index":633,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["uint32_t",{"_index":705,"title":{},"content":{"212":{},"213":{},"214":{}}}],["uint8_t",{"_index":630,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["ultrason",{"_index":3680,"title":{},"content":{"815":{}}}],["ultrasound",{"_index":3660,"title":{},"content":{"815":{}}}],["un",{"_index":2013,"title":{},"content":{"373":{}}}],["unambigu",{"_index":2088,"title":{},"content":{"426":{}}}],["unauthor",{"_index":3470,"title":{},"content":{"782":{},"814":{},"1047":{}}}],["unavoid",{"_index":1057,"title":{},"content":{"239":{}}}],["uncompress",{"_index":728,"title":{},"content":{"212":{},"260":{},"261":{},"270":{}}}],["uncompromis",{"_index":3346,"title":{},"content":{"746":{}}}],["undefin",{"_index":2795,"title":{},"content":{"613":{},"618":{}}}],["under",{"_index":1251,"title":{},"content":{"262":{},"323":{},"328":{},"334":{},"735":{},"763":{},"772":{},"871":{},"909":{},"911":{},"929":{},"979":{}}}],["underli",{"_index":1793,"title":{},"content":{"353":{}}}],["understand",{"_index":1841,"title":{"955":{},"957":{}},"content":{"367":{},"459":{},"739":{},"827":{},"845":{},"848":{},"888":{},"899":{},"957":{},"977":{},"978":{},"990":{},"999":{},"1001":{},"1002":{},"1014":{},"1024":{},"1046":{}}}],["unexpect",{"_index":3018,"title":{},"content":{"637":{}}}],["unfalsifi",{"_index":3615,"title":{},"content":{"811":{}}}],["unhid",{"_index":4296,"title":{},"content":{"1040":{}}}],["unicast",{"_index":3590,"title":{},"content":{"798":{}}}],["unifi",{"_index":3740,"title":{},"content":{"845":{},"1048":{}}}],["uniformli",{"_index":3253,"title":{},"content":{"706":{}}}],["uninstal",{"_index":3298,"title":{},"content":{"742":{}}}],["union",{"_index":4331,"title":{},"content":{"1045":{}}}],["uniq/1",{"_index":2608,"title":{"565":{}},"content":{}}],["uniqu",{"_index":256,"title":{},"content":{"61":{},"140":{},"244":{},"247":{},"262":{},"263":{},"310":{},"453":{},"713":{},"762":{},"768":{},"772":{},"779":{},"789":{},"814":{},"928":{},"957":{},"964":{},"970":{},"989":{},"991":{},"996":{},"1019":{}}}],["unique.ecc",{"_index":1329,"title":{},"content":{"262":{}}}],["uniri",{"_index":1205,"title":{},"content":{"258":{},"274":{},"764":{}}}],["uniswap",{"_index":4051,"title":{},"content":{"959":{},"960":{},"1021":{}}}],["unit",{"_index":1682,"title":{},"content":{"322":{},"637":{},"957":{}}}],["unitari",{"_index":278,"title":{},"content":{"67":{},"122":{},"130":{},"143":{},"146":{},"149":{},"814":{}}}],["univers",{"_index":3245,"title":{},"content":{"706":{},"744":{},"745":{},"811":{}}}],["unix",{"_index":473,"title":{},"content":{"194":{},"574":{},"630":{}}}],["unless",{"_index":2257,"title":{},"content":{"431":{},"474":{},"637":{},"744":{},"974":{}}}],["unlik",{"_index":2183,"title":{},"content":{"451":{},"927":{},"1037":{}}}],["unlimit",{"_index":1805,"title":{"770":{}},"content":{"354":{},"794":{},"817":{},"843":{}}}],["unlock",{"_index":1861,"title":{"967":{}},"content":{"371":{},"373":{},"417":{},"910":{},"966":{},"967":{},"973":{},"974":{}}}],["unmatch",{"_index":4261,"title":{},"content":{"1037":{}}}],["unnecessari",{"_index":3583,"title":{},"content":{"796":{}}}],["unpredict",{"_index":3354,"title":{},"content":{"747":{},"748":{},"759":{}}}],["unpubl",{"_index":3918,"title":{"901":{}},"content":{}}],["unpublish",{"_index":3919,"title":{"893":{}},"content":{"893":{},"901":{}}}],["unsign",{"_index":636,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["unspent",{"_index":182,"title":{},"content":{"40":{},"94":{},"117":{},"119":{},"243":{},"246":{},"329":{},"330":{},"426":{},"547":{},"590":{},"622":{},"749":{},"779":{},"839":{},"842":{}}}],["unspentoutput",{"_index":187,"title":{"94":{}},"content":{"40":{},"41":{},"94":{},"117":{},"119":{},"157":{},"171":{},"185":{},"187":{},"195":{}}}],["unspentoutput.amount",{"_index":366,"title":{},"content":{"95":{}}}],["unspentoutput.from",{"_index":367,"title":{},"content":{"95":{}}}],["unspentoutput.st",{"_index":368,"title":{},"content":{"95":{}}}],["unspentoutput.timestamp",{"_index":369,"title":{},"content":{"95":{}}}],["unspentoutput.tokenaddress",{"_index":370,"title":{},"content":{"95":{}}}],["unspentoutput.tokenid",{"_index":371,"title":{},"content":{"95":{}}}],["unspentoutput.typ",{"_index":372,"title":{},"content":{"95":{}}}],["unsupport",{"_index":3219,"title":{},"content":{"698":{}}}],["until",{"_index":1485,"title":{},"content":{"305":{},"681":{},"723":{},"748":{},"752":{},"831":{},"839":{},"897":{},"899":{},"907":{},"966":{},"973":{},"974":{},"1031":{}}}],["unwrapwithdefault(1",{"_index":2983,"title":{},"content":{"634":{}}}],["up",{"_index":1670,"title":{"966":{}},"content":{"321":{},"354":{},"358":{},"371":{},"608":{},"614":{},"625":{},"640":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"706":{},"769":{},"781":{},"833":{},"931":{},"935":{},"966":{},"967":{},"973":{},"974":{}}}],["updat",{"_index":1190,"title":{"808":{},"891":{},"892":{},"900":{}},"content":{"260":{},"264":{},"306":{},"308":{},"319":{},"343":{},"371":{},"411":{},"414":{},"417":{},"422":{},"424":{},"426":{},"446":{},"612":{},"637":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"706":{},"736":{},"759":{},"772":{},"778":{},"786":{},"791":{},"793":{},"839":{},"891":{},"892":{},"893":{},"900":{},"904":{},"910":{},"914":{},"956":{},"996":{}}}],["update_contract",{"_index":2180,"title":{},"content":{"450":{}}}],["updatecount",{"_index":3016,"title":{},"content":{"637":{}}}],["updatecounter(ctx.st",{"_index":3013,"title":{},"content":{"637":{}}}],["updatecounter(st",{"_index":3010,"title":{},"content":{"637":{}}}],["updatedst",{"_index":3012,"title":{},"content":{"637":{}}}],["updatehandlesindex",{"_index":1341,"title":{"264":{}},"content":{}}],["upgrabl",{"_index":2861,"title":{},"content":{"588":{}}}],["upgrad",{"_index":1644,"title":{"618":{}},"content":{"320":{},"321":{},"322":{},"342":{},"577":{},"588":{},"590":{},"618":{},"766":{},"792":{},"898":{}}}],["upgradeaddress",{"_index":2839,"title":{},"content":{"618":{}}}],["upgradeopt",{"_index":2859,"title":{},"content":{"588":{}}}],["upload",{"_index":3134,"title":{},"content":{"689":{},"896":{},"904":{}}}],["upon",{"_index":715,"title":{},"content":{"212":{},"909":{},"915":{},"925":{},"978":{},"980":{},"986":{},"990":{},"999":{},"1002":{}}}],["uppercas",{"_index":2716,"title":{},"content":{"583":{},"584":{}}}],["uptim",{"_index":3794,"title":{},"content":{"857":{}}}],["upto",{"_index":826,"title":{},"content":{"214":{}}}],["uri",{"_index":2909,"title":{},"content":{"605":{},"606":{},"634":{}}}],["url",{"_index":1947,"title":{},"content":{"375":{},"377":{},"513":{},"514":{},"605":{},"882":{},"900":{},"911":{},"929":{},"934":{},"941":{},"1048":{}}}],["us",{"_index":454,"title":{"690":{},"702":{},"729":{},"953":{}},"content":{"166":{},"184":{},"192":{},"204":{},"207":{},"208":{},"212":{},"215":{},"218":{},"219":{},"221":{},"222":{},"223":{},"231":{},"238":{},"239":{},"240":{},"242":{},"256":{},"257":{},"262":{},"266":{},"269":{},"270":{},"272":{},"273":{},"276":{},"277":{},"279":{},"280":{},"281":{},"282":{},"284":{},"285":{},"287":{},"295":{},"296":{},"297":{},"299":{},"301":{},"303":{},"305":{},"306":{},"307":{},"308":{},"310":{},"311":{},"318":{},"320":{},"333":{},"345":{},"349":{},"352":{},"354":{},"355":{},"357":{},"358":{},"364":{},"371":{},"373":{},"375":{},"385":{},"397":{},"400":{},"406":{},"407":{},"409":{},"412":{},"417":{},"419":{},"420":{},"422":{},"423":{},"426":{},"428":{},"429":{},"434":{},"435":{},"437":{},"438":{},"439":{},"440":{},"441":{},"448":{},"450":{},"451":{},"452":{},"453":{},"457":{},"458":{},"459":{},"467":{},"468":{},"487":{},"491":{},"492":{},"499":{},"503":{},"507":{},"513":{},"527":{},"532":{},"535":{},"544":{},"560":{},"564":{},"572":{},"573":{},"576":{},"586":{},"590":{},"602":{},"603":{},"604":{},"605":{},"608":{},"613":{},"616":{},"617":{},"627":{},"629":{},"630":{},"631":{},"632":{},"633":{},"634":{},"635":{},"636":{},"637":{},"640":{},"641":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"681":{},"682":{},"683":{},"684":{},"685":{},"689":{},"690":{},"697":{},"706":{},"715":{},"717":{},"719":{},"723":{},"726":{},"727":{},"736":{},"739":{},"742":{},"743":{},"745":{},"746":{},"752":{},"755":{},"756":{},"757":{},"758":{},"759":{},"761":{},"762":{},"763":{},"764":{},"767":{},"769":{},"771":{},"772":{},"774":{},"782":{},"784":{},"785":{},"786":{},"787":{},"791":{},"792":{},"796":{},"798":{},"800":{},"802":{},"803":{},"805":{},"806":{},"814":{},"815":{},"817":{},"818":{},"821":{},"822":{},"826":{},"832":{},"839":{},"841":{},"843":{},"854":{},"862":{},"864":{},"871":{},"873":{},"880":{},"883":{},"886":{},"887":{},"888":{},"890":{},"891":{},"892":{},"893":{},"897":{},"902":{},"903":{},"904":{},"907":{},"911":{},"914":{},"925":{},"928":{},"929":{},"931":{},"934":{},"935":{},"942":{},"946":{},"952":{},"960":{},"977":{},"979":{},"984":{},"985":{},"997":{},"1001":{},"1005":{},"1017":{},"1018":{},"1024":{},"1035":{},"1037":{},"1038":{},"1039":{},"1040":{},"1045":{},"1047":{},"1048":{},"1049":{}}}],["us2019044735",{"_index":3633,"title":{},"content":{"814":{}}}],["us2019089539",{"_index":3677,"title":{},"content":{"815":{}}}],["usag",{"_index":1276,"title":{"628":{},"1047":{}},"content":{"262":{},"423":{},"551":{},"743":{},"750":{},"764":{},"783":{},"871":{},"1024":{}}}],["usage/usage_overview",{"_index":4193,"title":{},"content":{"1024":{}}}],["usb",{"_index":3387,"title":{},"content":{"759":{},"767":{},"782":{},"1039":{}}}],["usd",{"_index":359,"title":{},"content":{"88":{},"436":{}}}],["usd/eur",{"_index":1775,"title":{},"content":{"349":{},"787":{}}}],["useful",{"_index":3056,"title":{},"content":{"640":{}}}],["useless",{"_index":1768,"title":{},"content":{"346":{}}}],["user",{"_index":524,"title":{"709":{}},"content":{"204":{},"205":{},"209":{},"212":{},"214":{},"218":{},"262":{},"320":{},"423":{},"440":{},"453":{},"513":{},"588":{},"605":{},"634":{},"635":{},"699":{},"706":{},"726":{},"759":{},"788":{},"811":{},"814":{},"826":{},"843":{},"845":{},"853":{},"877":{},"879":{},"881":{},"898":{},"900":{},"909":{},"910":{},"926":{},"927":{},"928":{},"931":{},"932":{},"949":{},"950":{},"951":{},"959":{},"960":{},"970":{},"973":{},"974":{},"985":{},"986":{},"992":{},"993":{},"994":{},"996":{},"1001":{},"1005":{},"1006":{},"1007":{},"1008":{},"1009":{},"1011":{},"1014":{},"1024":{},"1034":{},"1037":{},"1040":{},"1047":{},"1048":{}}}],["user'",{"_index":2060,"title":{},"content":{"423":{},"896":{},"910":{},"1039":{}}}],["user/blockchain",{"_index":547,"title":{},"content":{"204":{}}}],["users/{user}/library/containers/{yourappname}/data/docu",{"_index":3312,"title":{},"content":{"742":{}}}],["user’",{"_index":2886,"title":{},"content":{"590":{},"1047":{},"1049":{}}}],["usual",{"_index":2232,"title":{},"content":{"459":{},"486":{},"499":{},"784":{},"877":{},"1038":{}}}],["utc",{"_index":1766,"title":{},"content":{"346":{},"575":{}}}],["utf",{"_index":465,"title":{},"content":{"184":{}}}],["util",{"_index":2328,"title":{"469":{}},"content":{"468":{},"617":{},"633":{},"690":{},"713":{},"926":{},"984":{},"986":{},"994":{},"1018":{},"1019":{}}}],["utilis",{"_index":4267,"title":{},"content":{"1037":{}}}],["utils.parsebigint(\"1",{"_index":2828,"title":{},"content":{"617":{}}}],["utxo",{"_index":109,"title":{},"content":{"22":{},"94":{},"119":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"422":{},"423":{},"424":{},"426":{},"459":{},"547":{},"779":{},"818":{},"839":{},"844":{},"848":{}}}],["v",{"_index":2498,"title":{},"content":{"536":{},"603":{}}}],["v1",{"_index":3256,"title":{"707":{},"708":{}},"content":{"708":{},"835":{}}}],["v1.5.0",{"_index":2189,"title":{},"content":{"453":{}}}],["v14.0",{"_index":597,"title":{},"content":{"206":{}}}],["v2",{"_index":3257,"title":{"707":{},"708":{}},"content":{"708":{},"959":{},"960":{},"1021":{}}}],["valid",{"_index":131,"title":{"324":{},"325":{},"334":{},"799":{},"818":{},"842":{},"978":{},"990":{},"999":{},"1002":{}},"content":{"25":{},"76":{},"101":{},"203":{},"251":{},"253":{},"273":{},"300":{},"301":{},"311":{},"319":{},"320":{},"321":{},"322":{},"323":{},"324":{},"327":{},"328":{},"329":{},"330":{},"331":{},"334":{},"335":{},"342":{},"348":{},"422":{},"423":{},"426":{},"428":{},"430":{},"459":{},"460":{},"473":{},"513":{},"520":{},"553":{},"586":{},"587":{},"588":{},"589":{},"590":{},"591":{},"592":{},"605":{},"612":{},"630":{},"637":{},"745":{},"746":{},"747":{},"748":{},"749":{},"759":{},"769":{},"774":{},"775":{},"779":{},"786":{},"792":{},"794":{},"799":{},"800":{},"809":{},"814":{},"817":{},"818":{},"819":{},"820":{},"821":{},"823":{},"825":{},"834":{},"835":{},"836":{},"837":{},"838":{},"839":{},"841":{},"842":{},"848":{},"871":{},"875":{},"886":{},"887":{},"899":{},"904":{},"921":{},"925":{},"935":{},"977":{},"978":{},"989":{},"990":{},"998":{},"999":{},"1001":{},"1002":{}}}],["valid_secret",{"_index":2287,"title":{},"content":{"434":{}}}],["valid_tim",{"_index":2288,"title":{},"content":{"434":{}}}],["validat",{"_index":1773,"title":{},"content":{"348":{}}}],["validation/repl",{"_index":3591,"title":{},"content":{"798":{}}}],["validationstamp",{"_index":192,"title":{"101":{}},"content":{"42":{},"67":{},"68":{},"101":{},"167":{},"169":{},"171":{},"179":{},"193":{},"195":{}}}],["validationstamp.ledgeroper",{"_index":384,"title":{},"content":{"102":{}}}],["validationstamp.proofofintegr",{"_index":385,"title":{},"content":{"102":{}}}],["validationstamp.proofofwork",{"_index":386,"title":{},"content":{"102":{}}}],["validationstamp.protocolvers",{"_index":387,"title":{},"content":{"102":{}}}],["validationstamp.signatur",{"_index":388,"title":{},"content":{"102":{}}}],["validationstamp.timestamp",{"_index":389,"title":{},"content":{"102":{}}}],["validationstampchecksum",{"_index":350,"title":{},"content":{"82":{}}}],["validit",{"_index":3400,"title":{},"content":{"756":{}}}],["valu",{"_index":24,"title":{"7":{},"10":{},"1013":{}},"content":{"9":{},"114":{},"133":{},"162":{},"170":{},"212":{},"261":{},"262":{},"264":{},"267":{},"301":{},"303":{},"307":{},"308":{},"310":{},"312":{},"315":{},"346":{},"428":{},"429":{},"430":{},"431":{},"439":{},"440":{},"442":{},"446":{},"448":{},"457":{},"458":{},"469":{},"476":{},"487":{},"491":{},"492":{},"497":{},"505":{},"517":{},"519":{},"521":{},"523":{},"524":{},"525":{},"526":{},"527":{},"528":{},"529":{},"545":{},"546":{},"553":{},"564":{},"567":{},"588":{},"593":{},"595":{},"597":{},"598":{},"599":{},"600":{},"601":{},"603":{},"604":{},"605":{},"606":{},"612":{},"613":{},"635":{},"637":{},"699":{},"774":{},"814":{},"848":{},"883":{},"933":{},"937":{},"950":{},"956":{},"957":{},"960":{},"965":{},"974":{},"977":{},"992":{},"994":{},"1007":{},"1009":{},"1013":{},"1021":{},"1040":{}}}],["valuat",{"_index":4054,"title":{},"content":{"959":{}}}],["value2",{"_index":2624,"title":{},"content":{"523":{},"524":{},"525":{},"526":{},"527":{},"528":{},"529":{}}}],["value3",{"_index":2633,"title":{},"content":{"526":{}}}],["values/1",{"_index":2639,"title":{"528":{}},"content":{}}],["valuex",{"_index":2632,"title":{},"content":{"526":{}}}],["vancouver'",{"_index":2292,"title":{},"content":{"436":{}}}],["var",{"_index":2846,"title":{},"content":{"618":{}}}],["vari",{"_index":3976,"title":{},"content":{"921":{}}}],["variabl",{"_index":957,"title":{"259":{},"446":{},"456":{},"467":{}},"content":{"222":{},"259":{},"275":{},"346":{},"431":{},"433":{},"435":{},"446":{},"456":{},"457":{},"467":{},"524":{},"572":{},"573":{},"576":{},"956":{}}}],["variat",{"_index":4147,"title":{},"content":{"977":{},"998":{}}}],["varieti",{"_index":4119,"title":{},"content":{"974":{},"994":{}}}],["variou",{"_index":614,"title":{},"content":{"209":{},"367":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"697":{},"713":{},"716":{},"719":{},"792":{},"917":{},"928":{},"949":{},"982":{},"984":{},"985":{},"1037":{}}}],["vector",{"_index":4055,"title":{},"content":{"959":{}}}],["venou",{"_index":3665,"title":{},"content":{"815":{}}}],["veri",{"_index":1804,"title":{},"content":{"354":{},"435":{},"448":{},"476":{},"699":{},"745":{},"762":{},"974":{}}}],["verif",{"_index":1152,"title":{"335":{},"336":{},"337":{},"338":{},"339":{},"340":{},"341":{},"342":{},"343":{},"724":{},"908":{}},"content":{"255":{},"334":{},"423":{},"426":{},"713":{},"724":{},"726":{},"759":{},"764":{},"815":{},"909":{},"978":{},"990":{},"992":{},"999":{},"1002":{}}}],["verifi",{"_index":559,"title":{},"content":{"204":{},"277":{},"296":{},"297":{},"298":{},"299":{},"331":{},"333":{},"335":{},"348":{},"349":{},"469":{},"724":{},"726":{},"736":{},"739":{},"742":{},"748":{},"749":{},"783":{},"792":{},"807":{},"885":{},"977":{},"978":{},"990":{},"992":{},"998":{},"999":{},"1001":{},"1002":{},"1039":{}}}],["verifypinyk",{"_index":1388,"title":{"277":{}},"content":{"296":{}}}],["version",{"_index":88,"title":{"104":{},"153":{},"211":{},"438":{}},"content":{"19":{},"22":{},"67":{},"101":{},"104":{},"106":{},"153":{},"154":{},"185":{},"206":{},"211":{},"225":{},"231":{},"310":{},"320":{},"321":{},"373":{},"385":{},"406":{},"437":{},"438":{},"460":{},"472":{},"473":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"689":{},"696":{},"706":{},"736":{},"739":{},"742":{},"754":{},"755":{},"756":{},"772":{},"791":{},"792":{},"851":{},"883":{},"890":{},"891":{},"892":{},"893":{},"894":{},"901":{},"914":{},"979":{},"1040":{}}}],["version.cod",{"_index":390,"title":{},"content":{"105":{}}}],["version.protocol",{"_index":391,"title":{},"content":{"105":{}}}],["version.transact",{"_index":392,"title":{},"content":{"105":{}}}],["versionedhash",{"_index":382,"title":{"192":{}},"content":{"101":{},"102":{},"192":{}}}],["veto",{"_index":3531,"title":{},"content":{"772":{},"791":{}}}],["via",{"_index":1054,"title":{},"content":{"239":{},"451":{},"509":{},"513":{},"548":{},"549":{},"551":{},"605":{},"698":{},"735":{},"740":{},"791":{},"851":{},"890":{},"904":{},"988":{},"1039":{},"1040":{},"1041":{},"1048":{}}}],["vibrant",{"_index":3526,"title":{},"content":{"772":{},"983":{}}}],["vibrat",{"_index":4301,"title":{},"content":{"1040":{}}}],["video",{"_index":3895,"title":{},"content":{"898":{}}}],["view",{"_index":1115,"title":{"358":{},"992":{},"993":{},"1047":{},"1048":{}},"content":{"249":{},"250":{},"306":{},"308":{},"315":{},"329":{},"355":{},"358":{},"426":{},"631":{},"799":{},"894":{},"917":{},"922":{},"969":{},"970":{},"991":{},"992":{},"993":{}}}],["view:avail",{"_index":3703,"title":{},"content":{"825":{}}}],["virtual",{"_index":2507,"title":{},"content":{"493":{},"716":{},"718":{},"876":{},"1037":{}}}],["visibl",{"_index":3284,"title":{},"content":{"740":{},"815":{}}}],["vision",{"_index":3345,"title":{},"content":{"745":{},"772":{},"801":{}}}],["visit",{"_index":3294,"title":{},"content":{"742":{},"879":{},"899":{},"947":{}}}],["visual",{"_index":3125,"title":{},"content":{"682":{},"970":{},"991":{}}}],["visualis",{"_index":1651,"title":{},"content":{"320":{}}}],["vital",{"_index":3681,"title":{},"content":{"815":{},"977":{},"998":{},"1001":{}}}],["vitest",{"_index":2786,"title":{},"content":{"613":{}}}],["vm",{"_index":1031,"title":{},"content":{"239":{}}}],["void",{"_index":1214,"title":{"260":{},"261":{},"262":{}},"content":{}}],["volatil",{"_index":635,"title":{},"content":{"211":{},"212":{},"213":{},"214":{}}}],["volum",{"_index":4136,"title":{},"content":{"992":{},"995":{}}}],["vote",{"_index":1746,"title":{},"content":{"343":{},"772":{},"773":{},"791":{},"814":{}}}],["vote(candid",{"_index":2281,"title":{},"content":{"434":{}}}],["vote(firstnam",{"_index":2209,"title":{},"content":{"457":{}}}],["vote_for_class_president(firstnam",{"_index":2733,"title":{},"content":{"573":{}}}],["voter",{"_index":3384,"title":{},"content":{"759":{}}}],["vp",{"_index":3831,"title":{},"content":{"876":{}}}],["vs",{"_index":2202,"title":{},"content":{"457":{},"877":{}}}],["vscode",{"_index":4318,"title":{},"content":{"1044":{}}}],["w+),(\\\\d",{"_index":2684,"title":{},"content":{"551":{}}}],["w3c",{"_index":2081,"title":{},"content":{"425":{},"766":{},"783":{}}}],["w_{e",{"_index":919,"title":{},"content":{"219":{},"223":{}}}],["w_{key",{"_index":696,"title":{},"content":{"212":{}}}],["wafer",{"_index":3425,"title":{},"content":{"762":{}}}],["wait",{"_index":1674,"title":{},"content":{"321":{},"346":{},"732":{},"739":{},"834":{},"904":{},"921":{},"925":{},"974":{}}}],["wallet",{"_index":484,"title":{"215":{},"218":{},"225":{},"650":{},"651":{},"652":{},"677":{},"701":{},"702":{},"703":{},"718":{},"728":{},"729":{},"730":{},"736":{},"739":{},"740":{},"742":{},"1034":{}},"content":{"204":{},"205":{},"206":{},"209":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"223":{},"224":{},"228":{},"230":{},"317":{},"364":{},"367":{},"368":{},"369":{},"371":{},"373":{},"378":{},"414":{},"417":{},"420":{},"617":{},"650":{},"651":{},"652":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"690":{},"702":{},"703":{},"718":{},"726":{},"729":{},"730":{},"732":{},"736":{},"739":{},"740":{},"742":{},"757":{},"767":{},"778":{},"780":{},"781":{},"782":{},"784":{},"851":{},"864":{},"890":{},"891":{},"892":{},"893":{},"895":{},"896":{},"904":{},"909":{},"910":{},"914":{},"918":{},"919":{},"921":{},"925":{},"927":{},"931":{},"952":{},"954":{},"960":{},"973":{},"976":{},"977":{},"978":{},"979":{},"986":{},"989":{},"990":{},"998":{},"999":{},"1001":{},"1002":{},"1026":{},"1034":{},"1035":{},"1036":{},"1037":{},"1038":{},"1040":{},"1046":{},"1047":{},"1048":{},"1049":{}}}],["wallet'",{"_index":3135,"title":{"690":{}},"content":{"690":{},"742":{}}}],["wallet_iv",{"_index":977,"title":{},"content":{"223":{}}}],["wallet_len",{"_index":807,"title":{},"content":{"213":{},"214":{}}}],["walletaccount",{"_index":1888,"title":{},"content":{"371":{}}}],["walletaccount.shortnam",{"_index":1891,"title":{},"content":{"371":{}}}],["walletlen",{"_index":868,"title":{},"content":{"214":{}}}],["walletprivatekey",{"_index":722,"title":{},"content":{"212":{}}}],["wallet’",{"_index":4323,"title":{},"content":{"1048":{}}}],["want",{"_index":898,"title":{},"content":{"216":{},"239":{},"305":{},"311":{},"312":{},"354":{},"424":{},"459":{},"635":{},"637":{},"736":{},"739":{},"757":{},"767":{},"775":{},"784":{},"833":{},"835":{},"875":{},"890":{},"895":{},"904":{},"937":{},"938":{},"939":{},"941":{},"974":{},"1049":{}}}],["warn",{"_index":1693,"title":{},"content":{"322":{},"885":{},"977":{},"1040":{}}}],["wasm",{"_index":2750,"title":{"586":{}},"content":{"586":{},"587":{},"591":{},"608":{},"613":{},"617":{},"626":{},"640":{}}}],["wasmbuff",{"_index":2792,"title":{},"content":{"613":{},"614":{},"615":{},"616":{}}}],["wast",{"_index":4241,"title":{},"content":{"1032":{}}}],["wat",{"_index":3058,"title":{},"content":{"640":{}}}],["watch",{"_index":2021,"title":{"417":{},"668":{}},"content":{"417":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{}}}],["way",{"_index":485,"title":{"798":{}},"content":{"204":{},"218":{},"221":{},"310":{},"311":{},"320":{},"330":{},"331":{},"332":{},"345":{},"347":{},"349":{},"353":{},"367":{},"371":{},"423":{},"428":{},"448":{},"457":{},"590":{},"635":{},"702":{},"706":{},"729":{},"745":{},"746":{},"752":{},"757":{},"762":{},"766":{},"767":{},"774":{},"784":{},"792":{},"800":{},"809":{},"814":{},"821":{},"851":{},"852":{},"871":{},"877":{},"905":{},"970":{},"991":{},"1039":{},"1040":{},"1047":{}}}],["weaken",{"_index":3614,"title":{},"content":{"811":{}}}],["weather",{"_index":2293,"title":{},"content":{"436":{}}}],["web",{"_index":499,"title":{"673":{},"698":{},"872":{}},"content":{"204":{},"239":{},"357":{},"369":{},"419":{},"621":{},"625":{},"672":{},"673":{},"674":{},"675":{},"676":{},"677":{},"871":{},"873":{},"875":{},"877":{},"881":{},"888":{},"897":{},"899":{},"914":{},"979":{},"1037":{},"1039":{},"1048":{}}}],["web3",{"_index":3818,"title":{},"content":{"873":{},"876":{}}}],["webapp",{"_index":3837,"title":{},"content":{"877":{}}}],["webassembl",{"_index":2049,"title":{},"content":{"422":{},"425":{},"586":{},"590":{},"608":{},"625":{},"628":{},"683":{},"684":{},"685":{}}}],["webassembly'",{"_index":2911,"title":{},"content":{"625":{},"678":{}}}],["webauthn",{"_index":3460,"title":{},"content":{"766":{},"783":{}}}],["webhost",{"_index":3853,"title":{},"content":{"879":{}}}],["webpag",{"_index":3888,"title":{},"content":{"887":{}}}],["websit",{"_index":3126,"title":{"688":{},"900":{},"901":{}},"content":{"689":{},"690":{},"698":{},"739":{},"742":{},"783":{},"871":{},"872":{},"874":{},"875":{},"876":{},"877":{},"879":{},"880":{},"881":{},"882":{},"883":{},"884":{},"885":{},"887":{},"890":{},"894":{},"897":{},"898":{},"899":{},"900":{},"901":{},"902":{},"904":{}}}],["website'",{"_index":3864,"title":{},"content":{"882":{}}}],["websocket",{"_index":1849,"title":{"364":{}},"content":{"369":{},"371":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"1048":{}}}],["week",{"_index":2741,"title":{},"content":{"575":{},"965":{}}}],["weight",{"_index":4070,"title":{"1027":{}},"content":{"961":{},"964":{},"970":{},"1027":{}}}],["weightofthislevel",{"_index":4224,"title":{},"content":{"1030":{}}}],["welcom",{"_index":479,"title":{"915":{},"953":{},"980":{}},"content":{"201":{},"679":{},"749":{},"834":{},"835":{},"836":{},"899":{},"915":{},"926":{},"947":{},"952":{},"980":{}}}],["well",{"_index":1006,"title":{},"content":{"230":{},"275":{},"311":{},"313":{},"315":{},"333":{},"448":{},"452":{},"771":{},"779":{},"782":{},"821":{},"824":{},"882":{},"971":{},"977":{},"1037":{}}}],["weth",{"_index":4005,"title":{},"content":{"952":{},"954":{}}}],["we’v",{"_index":4073,"title":{},"content":{"961":{},"996":{}}}],["wheel",{"_index":2080,"title":{},"content":{"425":{},"814":{},"977":{},"998":{}}}],["whenev",{"_index":2121,"title":{},"content":{"440":{}}}],["wherea",{"_index":2231,"title":{},"content":{"459":{}}}],["whether",{"_index":1376,"title":{},"content":{"270":{},"520":{},"550":{},"557":{},"558":{},"580":{},"890":{},"1039":{},"1040":{}}}],["whichev",{"_index":2239,"title":{},"content":{"428":{}}}],["white",{"_index":3289,"title":{"742":{}},"content":{}}],["whole",{"_index":456,"title":{},"content":{"170":{}}}],["whose",{"_index":884,"title":{},"content":{"236":{},"772":{},"788":{},"1040":{}}}],["wide",{"_index":1042,"title":{},"content":{"239":{},"308":{},"309":{},"312":{},"877":{},"928":{}}}],["wider",{"_index":4167,"title":{},"content":{"984":{},"985":{}}}],["widget",{"_index":4263,"title":{},"content":{"1037":{}}}],["will",{"_index":3372,"title":{},"content":{"749":{},"977":{},"998":{}}}],["win",{"_index":3523,"title":{},"content":{"772":{}}}],["window",{"_index":3170,"title":{},"content":{"717":{},"742":{},"914":{},"979":{},"1037":{},"1048":{}}}],["wise",{"_index":4326,"title":{},"content":{"1049":{}}}],["wish",{"_index":3279,"title":{},"content":{"740":{},"919":{},"947":{},"974":{},"994":{},"1001":{}}}],["withdraw",{"_index":3966,"title":{},"content":{"914":{},"928":{},"952":{},"954":{},"966":{},"969":{},"973":{},"974":{},"1000":{},"1001":{},"1008":{}}}],["withdraw(secret",{"_index":2286,"title":{},"content":{"434":{}}}],["withdrawn",{"_index":4094,"title":{},"content":{"967":{},"973":{}}}],["within",{"_index":1575,"title":{},"content":{"310":{},"311":{},"355":{},"426":{},"453":{},"463":{},"553":{},"633":{},"713":{},"739":{},"761":{},"763":{},"792":{},"819":{},"829":{},"907":{},"910":{},"977":{},"984":{},"985":{},"989":{},"990":{},"993":{},"994":{},"999":{},"1001":{},"1012":{},"1014":{},"1046":{},"1048":{}}}],["without",{"_index":1087,"title":{},"content":{"239":{},"311":{},"322":{},"330":{},"362":{},"422":{},"432":{},"529":{},"544":{},"565":{},"572":{},"588":{},"625":{},"631":{},"634":{},"640":{},"723":{},"745":{},"749":{},"764":{},"766":{},"769":{},"771":{},"781":{},"783":{},"814":{},"815":{},"816":{},"874":{},"885":{},"907":{},"910":{},"927":{},"949":{},"957":{},"973":{},"974":{},"984":{},"1016":{},"1046":{},"1047":{},"1049":{}}}],["wk_{ae",{"_index":920,"title":{},"content":{"219":{},"223":{}}}],["wo2017162930",{"_index":3678,"title":{},"content":{"815":{}}}],["wo2017162931",{"_index":3634,"title":{},"content":{"814":{}}}],["won't",{"_index":1945,"title":{"742":{}},"content":{"374":{}}}],["wonder",{"_index":3401,"title":{},"content":{"757":{},"771":{}}}],["word",{"_index":3193,"title":{},"content":{"702":{},"729":{},"739":{},"754":{},"782":{},"1035":{},"1038":{},"1040":{}}}],["worflow",{"_index":1705,"title":{"326":{}},"content":{}}],["work",{"_index":375,"title":{"331":{},"724":{},"726":{},"759":{},"786":{},"897":{}},"content":{"101":{},"239":{},"311":{},"331":{},"333":{},"367":{},"407":{},"429":{},"442":{},"447":{},"448":{},"452":{},"591":{},"592":{},"636":{},"637":{},"740":{},"753":{},"759":{},"772":{},"774":{},"775":{},"779":{},"793":{},"841":{},"842":{},"868":{},"874":{},"882":{},"888":{},"932":{}}}],["workflow",{"_index":1702,"title":{"324":{},"749":{}},"content":{"323":{},"327":{},"334":{},"749":{}}}],["world",{"_index":1753,"title":{},"content":{"345":{},"450":{},"632":{},"634":{},"771":{},"792":{},"843":{}}}],["worldwid",{"_index":3503,"title":{},"content":{"769":{}}}],["worri",{"_index":3277,"title":{},"content":{"740":{},"885":{}}}],["worst",{"_index":4157,"title":{},"content":{"977":{}}}],["worth",{"_index":2311,"title":{},"content":{"463":{},"1048":{}}}],["wrap",{"_index":1564,"title":{},"content":{"303":{},"310":{},"355":{},"909":{},"910":{}}}],["write",{"_index":1076,"title":{"313":{},"612":{}},"content":{"239":{},"304":{},"305":{},"306":{},"307":{},"310":{},"311":{},"312":{},"313":{},"371":{},"440":{},"513":{},"543":{},"546":{},"591":{},"605":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"739":{},"746":{},"904":{},"1049":{}}}],["writes/read",{"_index":1552,"title":{},"content":{"309":{}}}],["written",{"_index":532,"title":{},"content":{"204":{},"310":{},"313":{},"474":{},"586":{},"680":{},"786":{},"1048":{},"1049":{}}}],["wrong",{"_index":1062,"title":{"733":{}},"content":{"239":{}}}],["wscat",{"_index":1930,"title":{},"content":{"364":{}}}],["x",{"_index":729,"title":{},"content":{"212":{},"260":{},"262":{},"263":{},"270":{},"441":{},"834":{},"960":{},"1021":{}}}],["x509",{"_index":1408,"title":{},"content":{"279":{}}}],["x509_get0_pubkey_bitstr",{"_index":1409,"title":{},"content":{"279":{}}}],["x68\\x65\\x6c\\x6c\\x6f",{"_index":2125,"title":{},"content":{"441":{}}}],["xxx",{"_index":3889,"title":{},"content":{"887":{}}}],["y",{"_index":731,"title":{},"content":{"212":{},"260":{},"262":{},"263":{},"270":{},"577":{},"960":{},"1021":{}}}],["yarn",{"_index":601,"title":{},"content":{"207":{}}}],["ye",{"_index":1619,"title":{},"content":{"314":{},"696":{},"721":{},"904":{}}}],["year",{"_index":3611,"title":{},"content":{"811":{},"957":{},"961":{},"965":{},"966":{},"970":{},"992":{},"996":{},"1026":{},"1031":{}}}],["year=1",{"_index":4228,"title":{},"content":{"1031":{}}}],["yellow",{"_index":4133,"title":{},"content":{"992":{}}}],["yes/no",{"_index":3946,"title":{},"content":{"904":{}}}],["yield",{"_index":3239,"title":{"1014":{},"1020":{}},"content":{"700":{},"926":{},"928":{},"951":{},"957":{},"974":{},"979":{},"1004":{},"1016":{},"1020":{},"1024":{}}}],["yk",{"_index":1443,"title":{},"content":{"287":{}}}],["ykcertif",{"_index":1456,"title":{},"content":{"292":{}}}],["ykindex",{"_index":1406,"title":{"284":{}},"content":{"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"287":{},"290":{},"294":{}}}],["ykpiv_algo_eccp256",{"_index":1433,"title":{},"content":{"284":{}}}],["ykpiv_attest",{"_index":1418,"title":{},"content":{"281":{}}}],["ykpiv_authent",{"_index":1396,"title":{},"content":{"278":{}}}],["ykpiv_decipher_data",{"_index":1436,"title":{},"content":{"285":{}}}],["ykpiv_fetch_object",{"_index":1426,"title":{},"content":{"282":{}}}],["ykpiv_obj_histori",{"_index":1430,"title":{},"content":{"283":{}}}],["ykpiv_obj_key_histori",{"_index":1422,"title":{},"content":{"282":{},"286":{}}}],["ykpiv_save_object",{"_index":1420,"title":{},"content":{"281":{}}}],["ykpiv_sign_data",{"_index":1432,"title":{},"content":{"284":{}}}],["ykpiv_util_generate_key",{"_index":1413,"title":{},"content":{"280":{}}}],["ykpiv_verifi",{"_index":1390,"title":{},"content":{"277":{}}}],["you'd",{"_index":3960,"title":{},"content":{"911":{},"929":{},"979":{}}}],["you'll",{"_index":2238,"title":{},"content":{"459":{},"703":{},"730":{},"998":{}}}],["you'r",{"_index":2404,"title":{},"content":{"487":{},"488":{},"490":{},"491":{},"492":{},"887":{},"977":{},"994":{},"998":{},"1001":{}}}],["you'v",{"_index":4148,"title":{},"content":{"977":{},"998":{},"1001":{}}}],["your",{"_index":3520,"title":{},"content":{"771":{}}}],["yourself",{"_index":3969,"title":{},"content":{"914":{},"932":{},"979":{},"1039":{}}}],["you’r",{"_index":4000,"title":{},"content":{"937":{},"940":{}}}],["you’v",{"_index":591,"title":{},"content":{"206":{}}}],["yubicloud",{"_index":4247,"title":{},"content":{"1035":{},"1039":{},"1040":{}}}],["yubico",{"_index":1387,"title":{},"content":{"276":{},"763":{},"1039":{}}}],["yubico’",{"_index":4287,"title":{},"content":{"1039":{}}}],["yubikey",{"_index":1010,"title":{"274":{}},"content":{"230":{},"272":{},"274":{},"275":{},"276":{},"279":{},"282":{},"287":{},"296":{},"297":{},"298":{},"299":{},"739":{},"763":{},"764":{},"1034":{},"1039":{},"1040":{}}}],["yubikey.c",{"_index":1381,"title":{},"content":{"274":{}}}],["yubikey.h",{"_index":1382,"title":{},"content":{"274":{}}}],["zero",{"_index":2565,"title":{},"content":{"555":{}}}],["zip",{"_index":3926,"title":{},"content":{"890":{}}}],["zone",{"_index":147,"title":{},"content":{"28":{},"385":{},"406":{}}}],["zpoint",{"_index":1380,"title":{},"content":{"270":{}}}]],"pipeline":["stemmer"]}} \ No newline at end of file