Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AlphanetGenesisBlock = &blocks.Block{ Header: &blocks.BlockHeader{ Version: 1, Height: 0, Parent: hexToBytes("0000000000000000000000000000000000000000000000000000000000000000"), Timestamp: 1708697633, TxRoot: hexToBytes("133f64cb8f4a45edac74ee8806292f449c9cd8c8a7e08b67c4cac71b6a10e89e"), Producer_ID: nil, Signature: nil, }, Transactions: []*transactions.Transaction{ { Tx: &transactions.Transaction_CoinbaseTransaction{ CoinbaseTransaction: &transactions.CoinbaseTransaction{ Validator_ID: hexToBytes("0024080112208f743f9bd03eee12598ac062a71152033cb14252a4d31d87301afc09a590b825"), NewCoins: 230584300921369395, Outputs: []*transactions.Output{ { Commitment: hexToBytes("087e67844c7712bb61589a2e37c8699d5554e16daad42c02e2fcc21469027cc6"), Ciphertext: hexToBytes("36a0c45a6cf3b28cc5b04535ef41d5e15d219a1653a02efade77bd0226ca0c5cee275fb2706412fa02193d46c9dd4e3e5187ebde836d8fcf13c8de7c0d53b14c39aa19eddd6a0d9267a08cd3eb28004d070ba9f20b6b583d7e66ef804199a5391fb7b0eb22098d2d9fe1df0b96f106863fe4a7aef19ac2538bbde989f41f4004647975a67b11381965036454f2628c4c8203181aa72fe456dfae7f8b75d1def24b9a1b601e8796d1abae0debfdfdd519444cdc3d889752aa53c4dfe6027a4e3905b607b07b8d1ba79444d853b15cb0fa1838eb66b2378b7aad71825762bcd25ecb1d984b2c48eb7d9ec7d1e091f129e97a48fcdb60077f8ebc578d5e3a75d3bcb49d40e43b3f8a9e89df9d0e262d901afabc27a3111089c9\n849e5f844b5e0ff9faae2fb9427d4a65dc6149f4a829b1d63e883156cde13a5499630218adbf280a2f1e355744d7af0b51e852087e6c6c373baa1a256853daaf6baacc3565cc175616339062826a0e03494ed94071ad5a9233b25d1a6ca61d48ab4d7f9d851a828f3e8"), }, { Commitment: hexToBytes("225d198429bf616d2edc423bafc27e3ffbfc834b9d76c96f4381006561536087"), Ciphertext: hexToBytes("f79c4bb8c8ae08c9e746ab518741859dbbf87fdb63a1354e7e0fc5291f67bf43e908af4dacdab42d6b8483fbd6808662450c67139c0f29637307b03f432e7d4cc14657efc8b393cbd2efef93410f40c2e2f85f61fb16898ce336527a01d9c5cc6fa4a8b053d797687d61e3c65efc408caa0acfcbafcc33c5578488e0380702c7cc961531cae347f90ef3b12ad4d23d8e0a8ccc18c6ecda51a17fbf98395ac88cee309c5f5031ab1f0aff3d8ff96a6f2c7c43d600058c542195486c95ad04fe6c9c216d832eb8ed1532284c49da6ca7d57c66cd0487bf03fb3c6a3a81721919f4e91e983e52fb7336e53515dd4604215fa518d2145c01ab366cadcf04941c3128eef2cd79be5283b0e879dd0a28834a825ef3bbb6bbe77ac0\n849e5f844b5e0ff9faae2fb9427d4a65dc6149f4a829b1d63e883156cde13a5499630218adbf280a2f1e355744d7af0b51e852087e6c6c373baa1a256853daaf6baacc3565cc175616339062826a0e03494ed94071ad5a9233b25d1a6ca61d48ab4d7f9d851a828f3e8"), }, }, Signature: hexToBytes("da41e3baf18c4bc1004302abe9093cd28b8190833c11af5737bca41022c8e16699326326a40d2a096e8f4e2ac1db678545359096d8ab3de4dd9b0f8553dbb00c"), Proof: hexToBytes("7d186f675649609912b4d0dc7bbbb5ced4817359940e22e4f538cd7064b6010a789ced9b55506541b6a6718783bbbbbbbb5be1ee5ab8bbbbbb3b856ba18553b85be1144e0185bbbbcd8d983e3cccc374dfb81113d311fdbfe44312df9f3b77e6ca64ed7540414040a041feb7ba2b0e6cc6ddb8ce3a76a4afcf6d57893dd474a22abe849edbd561ca272420c92c7180861052fa180c356a80800586cdb37d6362ed44be777da052989d0263b200fb072738556d02bbe8b4383f5716c5a943facb26f18aaca377a265ba474cec6d1e3a6cfbd0816f9f516555bfe236c6f0032e95bb7bb1ac1e5425167704cd63d71f2ff4397493494b8d4e86e94845a27713db390290ff9602ff593f18c8ff170afc67fdff19e77f4b81ffacff3fe3fc6f29f09ff5ffbf1a27ca3f5af07ff1ef09bb35bfde64835b3a111d15057389cb02f03edc182fe6452176762566c571516e0d6daec1cc00dcedd6b45d4f3f0d7551535e188f8490334440eca905b66971813e13beddee34cefcafbde519cfd02f27b9b0177cd3732c1234f4c8eab950bb5208a4206ab219f951419a19fb32cb9ebdeb4826377f36f359dd38e8404ce0d5bbe9235592ea50bd3f426d31b31ebe7214e610d88f9ef2aea33b5d4344762b3148e3007db22c64e5278cbba62b2486f4de70e40fa5fcda6dd2e0c123f2a7857ce3a16661f32e7757d96f2ea6860e50495784cdcf42fb58cfd308acf29b3d620e1f9da1a994752361e7c27066a8630ad1ef0ebd29d83cac2ffc3cbc69ccd89b287361b789813ed8fbc9eba967fee88e8fe8d4bfca482dfc5ed410744d6e042087d4f5035465d0ddcdcb62f4f1afb59293f09ab92718f16d03d5b63b61fceabae9af2ce0c34bc0706173c120f5a38ed1d1d8a8173c3a2aefa08cb55a66743e0efb7f5bfe42182001fac864cc71c77c85e2524cf0fefd4bc7c9ae000d3315b90267af7ec1b868484d1eb174a4611a4773cc6fe11aef5859e3f98e2f0891dea1de1e4d15e9b57428b312d64e88610e51d8abb6de1dcb93713b31b790648c227009a44f8333e80d06fc1906e8b333353aa23f5ab5c984ca1407d3e8eac83c41335f2fa6eb42d27ffd9d32608ccafde52cd4633bf42b8560ff2652da34b797a707088afbf560d3115d0b998e0b26eab64b96fd4f631c65e7f26fae578a7dc4fdd8d48fbf461e0439ae8e9be04be0803e7e9a00400829c84eb0367c5a27f30791b85f163c19abf9acc848955266750c40a23398089c6502040b0e9708027a98a7bc9911a0c2b6034ff9c7235ebd59843293393aafcfbb7fe83d4bff3d9f56d0f25e36a2ae4f4469e2c402d2cd6d2e0e09e8e3c95b58a3ec4ad21baa1a1c24b9081db94cf23b7456db31053635c0ceb7079708ab73de1d34a9d306226e1925e55ccfe2d508d20d56771bfd847a4b20805b078fd1b647f72e3d4472b005e9a140c58889c9da1f3d9e68ad7a261cb3fca3558806e8734125002be706a182d25c9df2d59109ab343457a58bde5a72d4bb39c22dda04eb4539ea3d887d3638f6e055b6fe4543c655853e36452b5ad81631665fa7ed04d6222e7cae133bf44ae4b9339ed472229de46fb44e4867115ebfc2dc84ce502638d0a7e484635383f47d91f3a124ffd511b1de4e3521d6e5d22d71562bc97c8c43018e964ddc6b3e6db0f94edd102a7afef75238ed181b0f049413b34fad7c315c22b606312dc60b14e98ccab31b965f21a4ca5472140020389029faad522ca5fbfd739f8aec17f46490d0f07b4df746595f051b42ff4cbe5de9f6be94dcef94eeec6a62404abeb7cd5bdf54081ae66db666f5960e6345850df5a11aa1dc40e390c13240897b364d3644137f6a39de44d49b9f75fc85fd1293cfea805e7ac033f14e338008f4c92f1e46500c93b0c125b65ef8d28879b6592f73e7555cf5921f2746b48dac833f1bb1eee4b7d13e02170d180b7ec3fca1cdb1db6ac069ea4d3161fc07df141995b83f066b5a96f0342b13b933ae6fe49759c2888bc77c68021decce021d463305d0878124f9e017c69e9dc9c676f014f3fe9c8afd127dcea9c239c2997c79d50c36fd9ff30f6b3b7fac1b851bad5710f517e7b93330adfedf44c4f4a7cb8d7508c3742573f8ae8fbcb35783f697cd567632bcbbdff19d293a9f78489efaf868f1e9b1803ebacac5a381e6fc7d91c770f55a7de8d39853614bed5508dee122ef01cd545f716c3ba6a2d5fa023b59707694dd13ba0d25b0189bd5f4562da42917b7fe400fc06cb6d432b5d30ecf663e8bd2b87d555bc0228f9258d956c6c5a8b8d413a03fa405fa9cc895a60caae3ba3da07f2b551606b36793e7a8e97f2df98942fb26b568368fa6d9c894be2b8be892349f29d0ddb7f900a975bc52e0cf1e350c0aa2dd4b038ef70a9ab58cde3be202d350c9d430ccd20129304d2d73f6e0e4b0523c999a5ef1190f22474b7b759a864d2ad2cad15a1ac410496346e6df595b6e6abf7cbc0d278e00464bf12ec96f266616e0d8702006354d7f0f91e8aaefb0e0c85320bc79c07e457b5b6f3fe07a13f549e1b158be663aff798286724489e9aaa3ec5362d7b8ab4609f461f5fce247657cc29c27bed68257e3df9e33891727dc23ed59a2fc6e214db340ca3b15cd6dfee7594f2e6546ad85e29bbaa3fa6b0ad12c84440e6138a1145339e22adb62ba5af5a8caa558de541c033eccc6965ad28eed1883782905a2a7bc0e00781f177f0ca7b172978ad26529a2f0502f1d51012558c50a51a27a8a4a6914bed9a170aeb45427b8c9c511ebe0296bdd8689ee9138a55decf2f372ebd56f9e3c47a2ead7ddda9491ddfee37ce69be39adf420fff95ecf922c9e7315d09446dce52120de43ffa8ffe0702ae53a544d8ce5ca51b5f54d08c4bebf2310eb0a6241aa7ef56c8984405bb932e447020ffe642fd470bbcef5ebe1237c6ddc807bce20408b19742aa0ee1c63e55b69e2f6f1d557c84867ea0902dbb53fcb992db839aebcd7b9a08b48ceb98b2ead6f69443539cef5056c607fdbc378b3fa96229d2fa1e5bb5eea7c1060ef5c5ff212a4885a056a8ffdb22c6aac7846cd4950c02956af9565387968b6033b6e2a84fdc6e603b7165471c88cb428b02e450b14517b9e310616786152e24134740f5f9f3205856512e56fdc072a9d3ef85c7d8be52e21134d2955eab02779baaf5128b9773792becf32027ba92e9d6cdc603729a8a1706f24693c461bf8e0a74ffc86014a18abef3035947748a87752ce726a43bd63b5640cd29a0aad4758878fd068e6afb407b0657306c0095a222be2f20cf0ce44ca997389dfaea523dc9b364fe96a5905cbd81a1be57ab93aea3306c09cfc826d84e7523360667cc6e656c5e26b072fe416e947a0f87fac3929200e524850d011bc8f189ad671d208b27276228e64021f400137f06c02dc18acaf42a4592885b0890979bf1a52f10dfddc095adccd080a2e4c6572da81fe472a3edb8a5600a13ad02809c54464157308abf162476b5fd09a85c5c99adde67240aef47592e536d77b3f96031c6d97999c786cb3f18264344f7e4a7eb5ecc52ec82fcff4235494d9501a860811ce7b4c6e212dee5a1019b97a26ad8c50eb6109517b7a5697917d28520b3140282524af87ce58a406e5fcbdaf7fc57141d0854be28f8e9cede6f3e3a4b77afca58400ee4def58860356dbfa62d6fe80aea6f214599c2ef6d1cbd7a76bc506e27661670003d3ed2c2dd22c57cdd1edb6fee8c5046f90afb4ff9675d764ef60023bc290420e7512a1fe361dcb2f0eb0a39b77a968b6e0a07c3b259cb4277bfdeaaf8ef911b8c6a0055a64148915d2bad1e57de82d6c6f3e59db8e2ec72631b878c49061c140e90434dd83ff0ae72dc95ffa503d0e39834c77a1fca6b6f2cb8afb7cd7b4768d045b8db9b38df85eb82651f8fb6169d0fb04a50c3d0346e8baf9baf2838b7f095fedc17342164025aefae7ce6d81d70a21c8991a4673e8f637f3835cce12543606cc89937f19aba3ed6bcebc5c1a8aa1335184a655cfd322b4a8f77d9a6c595c1f752e1811cfe82f197d26c3b3f8a01e5e8d57703d63c1ced152ac97c9972c79fc3e9f9c38c365aa900670cfe6bacb8bc98adfd7a8f4212ec254e041a444b26aea1412c29302047d801f9656296bb5396c90eef28623ded11279c4cd92a7d90092c3d81407882fc42cd5c7860d8f9799cea2bc0997d693807e14e0aab7ba3a484cd96b7d95ded739e8378d899aec886151cfc20f4b96eecf9b692e77189aafdef17677554fa7eca33d05a1eb64fafe4d3b98d3ba9699c60289ced740ec0fa71f89e508fc68a907c4102722257ef0bf83d79834476030d36144f1d09950901c3dfd4c9408b3728b442aa1990c1671030c0d736fd285b5b2b6fb31f10739954f8ecefb20ecca214dfe0753f393c63b9540ceb4c7c29481fbde77daed303930ba3ef36af70e3ab8a55cf7cc1d0cc53459d516ff951e803a3b800611535210746737c8e0c6506986a22a1cefecffdd5de8bc1b28b66d08f55c3dbe12ffb66bda8b21f2020ae8f5ed30312d84f884eddc7e61ebd6e27bc54feadd89cdc7be3722e2ca762b662ad2d2d9fb581d7b5170718ff57491c50ef929feb3dd9e6f84002e3f79410c23a344345a338a505008f097ad020ffe602e61f80f366196aadb2aa16fafb78b027faf65d9e28af42eefbb5c0221bfc105b236172355de76aeb83e93688d47e720c71d9e0281246817e18e03ec3f50d4de4f49a2a94f493d32a4a6e9bb7c7b46a448ce323bb32a1f12dff5b3ebd600a84b6d6c69dbf35dd30e15a95302f5e4a4a8b15ddcedcead0053ada4a1c3e2ebe029e7603dcb0381190338fe2be7d910c39eb2d6368675509674cbbf118666bbfdd4c13bc5e9781b8c8f0d772d05a47d1c4ffabc1ec2dcf9ebaf7692c72d71965d8a6db6d3354eaef5ff4408ebaaf1e31a7f535f26f3a0e4dbb722937e7fa54b22422a95fb9452eb2f448644879106d4743f1f6022954942fc5723c0b1eada79c821b1d067b5f9c4baab3b169809c4db82fc7b6fd79244da4e21a3456f71500bfb4da842f3287d7ce0c0bc5b1e90cf25d0bf37870959ca074e2cb4ed41d2fd00c48785084eb274b752fc92790dbe49fcf350263eee1baedfa3706192673d526d776dbca80592af16f98c92e1fdfa905064916bf4c5c244e6952f454e4cdc8c481a6453c1a77267123a5ac6b60c341cfe77e317e996d58c0516a19fa6d909d4b118fbd4248a3555607ad66aaba4f523c7288692696d52b418fa9df5ce3dbff7021c0e966da43dbc746c84acc6c4cc968ec0d09e448f9ac2e1598ceb216a6962f08b2fbcee9a14bcf06d935adc6a757340a94d4619e34462821e1902cb222c57f4f626ac1d3ab34ce0e1477a9b446c28e52b3f0ff9c1f4b7c7aec41310fba0ffa23725feacba5ddca5c3444ddb86dc366301611706ceac95115a624f018ab20c8043d37b98707642a89848914a8e3ec8bda0b9650efcf387958c817aeb442a4f708a3de7c61bb244a908f5dcc9537b8332c1d154056da86938cbdfad5df1520991d936c0e9949085bb5115c5ff5f67aff0607ae23a0a2f4b99ecbb6fc7b9a57144f93490d2a9e1362341b1ab3692db528d2a85345705c0ca4906db482a278b4aeabf41882053d462d5c79a28fe4ce07184b17297f8543c58d630039caccfa0b9e8a6183e9e82f2e6d53312acda62112acec74bc493bd171f9395e3421df7f6b904c989e1a86dc147542782c9705f052b39753d8b3ef2faf6a56a17d9eb39eb23052890572f250bf786169c40ab218f56eec3963247866c2c90644f673c0d7e7701c4eb9b3042a94e0f686198ffd6d19f89a895fb346f41728976f777a3ed7f3226aacab99f56c07a135dacd5f93c8cbec7d64d473945dbd4d19da562d2359d01b7a9a5a51f4609a7cb5f09f2161da24604435db440b891c1ed93dab1992d79ff707dacddf07a93e24fc553bf657f58517a60f3699ca3abf37f2e3707ca9698708f00e091ef07b35b7dc4e9a4c6554bbbeea70d5481af743bae3486751dad01e287d9efbf0db74e9b79999a3fd18b37b93ea4725028bd6cd559616e8eb20ca20f0c25960d1a1b6389d9c6f03eee526d2fcc80f3b9d1f38c684d40d6ef337ac97d45d2174404e0c0837af3b0af1cee3462f55167115f25cab34ba45327813a2044acc1695378c860b19076742a7bc5a9056d81651173b41a6e0b01d41ffd71ebec17df9c43774a47f709e840c09c687d13030b2417b29dcf1c724955f75ba3c52191be3d05baac1420120ffe6fa63f5ebbc23e0268da52293deb0723d047ed9835f4fbe4bddf7822979f3e01b28c8bfb990ffd1b6d1a667c7d862da7470c804094990da20f2c8a3c39ab456a4d97fbdb635352460ba75f9b5de7b5fcf2c92dc4696d7729a372201724fd37d62b5db6c919b62640debc853df7cd1846ca4b82a3d517ecc6327abb63fb6b8b193e98ed364f5c80c26bca55dd4b5fba4bdb1d84f3e2f1252e216b5003af6980e96e9a8937a1b6104ebb03a2365e95325e7fdc40e7bbea54a6ec1c49837fb1a9452a5cf77d09bfa08215eb87482c9c6451d10f74ebe7939550f88dfe0773a3987b9e0808661e7c906a1792b62e759228f251fa04a0a34ec3af6819ec86a5440939f104eb1600c329328b3f6e3e5c91d7365b72ca9451df4aa3cdd7d6fa48330e7454ea81343f10b3362abd192c96951d5df78ef8b8881331590a513c15e5d5a0e4b604ed4cfafd5a42b2d114aa7713f44aae751fad51fc1b9357c6cb103506f65e10f6afcaa9648f6e51c4b20c3f8053138dc0cf92d304a4bf34784c215de775495ab0117cca02a76c5a776583b32bc714ac3998a73eb53a25c55391fc9d118fe4779de699e38cc41a62d7a418cfae3b159df8a46574fc6497f21a81eca463e45db49497f91bb02b6afcc64d70b91e9288fba78ad89b1c9197208ab8d3cb56b72c51cbff53535eca9e50e61d202202071952ced437b987e7532ed92f90ff3afabade7c5924236b81130a32316c59cac2d121c25f7ef177732f5dc70da15ae3c57d19ad09f91c8fa325003f352c07b4a65168af6c85bdb039d4e1509543b4e383af3bcd57605805819aec66b493d935eef820d4acadcd1f578cd292dd9c62596657e32f39b1c0da5560f27bb12c61858c0d41714eb54997e0a62fbdb7c90312445f9e8b509dca2ec3eff528024e8156dbcbd9af6f4a3c7314801beaa4a8fd12aa2e140eaf54a7a048fddc2bdabf30cf9fa6d2dd6c1e5f55737865e0bbc22c77dd132e4c5a2042eab4345136c926241181b039c009fae9e9afdf198875b4b75b329e25a323d27d8cc17b9d1f194155eccf4b7159a5a4068d032adde3256c47e6ae44f79169a103d667bb951528a2e6dd25b0612e5ed9b6dcd5f04362cf4f60f703c8b21c9acc1825f151eef1de52d2531c559f669cb6815122968abd7ec53e397aecad0a2fe4a95db8508cf088e76742206f6e4386d0551ace497b9bd5fff0e6cf85dbb265abb40d36ed5216d38943c82fddc9c10fab874148bb41e29395a65e32e29fe61326ba86dc0655e70273cfe8cf21b517d39f086b538d8a2ff6e278e8e9d4277c2068991cb31303596b4ba0c91900fcdad66b00407b9c27a23841f2015496be817eff3c47b2893044d35b1894bbac775e726e3ee1816ea45a20ccbf9921dd2486fbbd1d6ed2d59fac05788a90a951112364dd617bf90335bb1e015de3c8b607b3324666b04ba4f253cf5cd5e0ad9abff158428d35963d6e6ade0f50b85c8e3d39d7e3356cedaec8caf7721b4161dc159bc781e023da708943d41b09a683ff7624e94861bb232feb769d7812a3f7ce03ab94f9292f110255fca69b64c502991099e35c545cf50145ad35784fa22abfa93689ca0b944688d8a3a74cbb78b8718654ec9cb10fbaff6a3c96b074fa0096439aeb1e60a9c98b34493d01461f27aa6036ab1e7928088d982e65e64fa3036130f0a7c430d6b95ec9757464365450de6522fa8a863be1a169e471b03c48368f8304ca261696aa1b03d8b59bc67ca131f94b58d6772d24e3447e5eda32dd3b7a22b62306fec5bd2946b8ace54a40fb87606d15ee8da7ef4b14d61f1c8fe04de87577a93e9770b1daa2a2a546127a5f26b89155d6319679a00eef3f96e22cedabf2e0c91b8df53e51fb7fcb901243ff0780a095dd9306a98ad682c9e5c612fcff4dc299ebef0db79fc5c9ec991f3b7c1a1b73632ea7e88ad5a9d9e7a9c0d6a64d5c541fac66c2450debb36becb4ce6906067cc36b5c792833f8910a49b59d708522c88217967ed16d383deb17210015ab7a899e35511dde902474a3a2121b2e6574dc40436cbffe73146d65a78129583ee91df0ec16b5029c49831ed7c0179559c6f8ae2a3b52ad63de12d4b7264e1706e865222d4c013da89e5bc0c4f919e55c9d39442d8d22cb673cd8700eab294fb98d74abdd3010cf26739feeca9c6fd42e09736fa706841e9a641fe351b1fd10e46afad2c653363827af709474f573c65b1476a38e503df5b53b99c49a2b500346b18269082772203ed14263c91eb381ab7781f989d781fbaade1ab9673c186433485cbe5a8784333e15253a2130489994aad3070e03a4197e91bf23d0b774c77d0fed8b9cefcd62d8dc88a59706a341fa0bacefe2b1d8e233e8037bff8e025a969cb7727b6c1386ec26426499329a4032e13dad99f9af65ea34cb8403015f4522551c6e16985014984366450a2639e67bf91754d52909af5af93abbf470684b1076b0c4dab141815baa9686473b101630bd7ea5a7114bc064d80020b68ece07966661bb2369a4784a4bc01c95a912e9dbb9fae21c812b594ca667cd5afabd55c7591bdaae51fbf956a4e179b7e2a55c67793e5a9f798436e326e88c796abb223290b605616ebc8fa63f1fcbea7f8beefc4e642f966b001464e525903d27e31680f38d59a4758efde69c78c37acf8f69077b5549df3db80140c59fbd51da751a493181a9631d8921f8603ecefda0a569f682f4808345c00340b7dc7b003e58f98287d1c8b085ceef6de96aff31ea876fc9021af6cef1cd128223d4ce181d93ec50867edf72437a65e66270dcceeac92de653a419a557b1f705ff4c22676c3314337b3c79e9a628d5ebd322a90c0956449a4a223cf3661d52954b88922cfed0de4dc07c1bdfc597e762c714aa274d662a2b38f6323305fb1639dfbd97a068f6f2f867f2327140806190bc4e6d633deccd0d39a7ae3820b6823a6d3cfa5ffb07f3dd70714e9275738f85817c3ee3143c21571a043ff71dbe6a663d8ffd98aeedabfa56f36e427d64a4c0bc0a0a9be5192692a8cd858947e9fa5e2774becbdc8a87357fd4bbdfebbfe6da24b8218c6c7de21b70f630aa13dcd151678fe60d914bb4520af95a4adcdc879f97524edeab6ba85e3ee9b29b786d241cd901102d22cb0b7a1bf3f66914146d707e723065a846dc8a581879ea5e467e45ba952e7cabd79d7d358519883da8ef217d071a40ab9fe688019314888c49c5491a4041b98b1fc4d202ecfbc70a9cce93a83f1631e4bd1779cda23b1e88952966781c01e7662a71636e02af01e89ef0d7540b6b7b625922ee138df7b6d38cd1fe39d5fc2074fc1bcca1984e1d807ead8669f26fd08f57b512100f67a54a7900542840489f09cc327591037ec1ca4e5c464ab502eabc4957b7a58416923bc792cdd22451878ff26f3a77a45eefea952e6815c45c3371c7d4fce9598884f5d2a6c7cc00eadca4aabf491ce4a21dd931caf106e2646cbe16bb6c4aae5f583117193e34e412e859166b2c230be886e3d7dd2c85de36fdfcf5cbcffe35e174fe4fe1e785d6cad0ed11f5f0e40e1d3a8ab48da50a9217d3e38f9e6d5ef600d1c4715b320c8559a36b7e4525b7c347517f59b0a6e547322640b766edadcc81f4290f60567ad017b9eee1cbce588f545ed60f860b06fe419538900342b3016de13503a362e2b98bc6057c7375a9d64b90dd7d336f296198e7598d225625314030e49e03f00ff6add05d3fe9a2fbff8a4f957e19df76422e4bd12f0857d88fc3ba98ce581997b91409a10cdc9273d12fb54a2ba1f5da1a1bdf4551f7d52d110ab6a7e126d7cb804bba0401f70791693353178e74c377fa46ec4764b3b15d68bc7743133e19003970e4a4746b1b204920055933bd9397a72de810f08f2052eefc19d5bfe9fb4dd5380d6652cbbd2ec98280878a2b9e2288563b08221fee7d24b1fee663fa10832b9580aaecf3a85f2bd1f4a5f3cbce40d21f79173ccad47da3e9468ab2bccfc6e601748483f46d0568ed40360edbe637687195771663ee31d3666234a2114e7075480f53b71ded1c0e7a7e2902267cbfd34b69e1ca85882b321b7813db6a64b18a9d4d33bb69c8306fad852fbfd18fb9aa08e1c7564cba57656527d17df021bfc0e06870b6d12e9608638ae21971e07d3364e3e4197ebe77978d982a27adbecdeeedb6f88f0c3325d165a31df444db86d13a114e95bb776b05b95d74fab61d9364347816cf3aa456d0f6ca0cf2fb18be5e3576807f5017b3477526300fb7512ac3467bcc02b86d3b3f899096e73e3be0721f92d14accf7e93713c467d563b3dedc8fa6eaebe7995bd642e3e7d20bad5a9af752516b7a207163589007476b7f06bd0adb172a1afa018b4db2c15d0c7e1904deacd9c224d60b3e69b42f63b320045902ae93e7845fa329eceebaf21c61e26e1ad73b65c323463c0bb054c660805746ef3c8ab4c17a98a3203ba1c3eaab8bf0ab7cab195a3216f3cf8b5da4856fb1f118a14ecbaf0c3a14c3c81005900d087d3ea403494c0f383ad6b46094be2f79d7fa8d448c320fd0c4f1adb267f912e0caa22b68b7c89c4db30cf764493166ccb8b0293ae511ef852c5ab3cc8eb780b534acd0f9d436f4f0bf49527599a374d5178d12708b922e698bfdd35bf2f7a943e9fe734d4eb892e102b9ca7adcbd7a3c31d6f48b96dbc892f87e6e9176e2b86911c08a8118df341be60d0c82bf62a98059ef7abc8ec896bd4a55cf9214de2bc6924d64bb21ad497530e48ccbdefa47108e2f7261419114b3cc114d4005acfc2e90f64a0cf91caab01b364d1fe8a9b4d3fa5d4c15b49f50ee48ecab97408852da24afd574843b34ea9ffca32d579ad4ac25629c2a809599fec253bc1c530f5625c771c2f924d3fd03679d7b3dd271f44b287b7a273b49f2288d60f5f6461d0249d2d2ad381017dea778c70146cfe3ce6f98cdcdfc431248a74b9072568d5666370aaae73303920efcd446f85d945685c7b19b9370838e0232bad3f207a9434525594dba650ffa157e2e8f818335cae501b560a3b411ce6ac0394bf205295349478d264f3625b7ed691cca572933a45e42c294d5d19fa51af25356f73b1f0fdac3ed5e013223769b9a64eac3e408dec6a737e639b20fcd1ff9d73e2f23ebd5d52b8d74cc6fd4b4f9c32b44da45c2a99e54d6f5c56bb3ca7be923664b55226cf3d58b8b2720112fe81c9679d02d690d515f7a69feeccde0f035b94b78f9f9c5762d8f7ac65c6cc37d76ad8fdd86269081163a6fad27d5597f7642f58c65715e2fdfefcd1cc474d479dcaf0b6e023a76971aef5bc054b37c7d39272a1eb5922c72dbfd013485cd83932097bdb3e7ddef23b1596f525718e0310ddfd53bd87ecbe3e6ff7c998eff67cb1d047bdfd201e6499b06a767b0afd1817fa0e153305b14073884b63e30655483670673e0e4ab3177fc489efded5b2433636318c11ad00890179f7e7bfcef95699bb309d5181cfba18b9593b39970230a3ab7d8aacc77b129ef00ad8acf206ef1a1e469aac860565841a4ff1f49e1a7e8b3e6d2781cc31ce0d17bd32dd5f24a6a2fe4d2c267fa67f10e836fed4f532e4de422bc27696a31bdd1066e48c47cda06f2ce3e94971cdf9f9190fb8cc992c0404e2fabd7b0e0801b961f2784e8d4411fee28e256dbd7fd523757152d2e02bc9739a2fee1477628cbb0ffe8c61b68ae74e3c893d57f66c44fb50d3e128054905e7af886ed35ea060820acb619874d07b3d4e9b1b34bd0bb37aa1c04d7b49d5fc1a954e2b7c396a01ed3be23d35975812ddd2b2b8266c3dc32a96630837c9cc38f2a0501ac648c1ff4e8a0f52f9cb153ea600c42e9ac93499384a1daa3f2ee08494cf47270124467c4854816c0d16d53a9ab4a66ef4b8644ef858181d8a5b7f4c58bda5fd08ef4457d65ced464ca19a2f61a7e2fbbdcfb0802d85023e30ff013c0f236058716d1acbd41dff765197e34e10a09e4c685662ac5921adfeacdb8bf62215bcae69497fee34ffd2f57ceba8a19b979095197fc5caafbb1ec008b0e4b0facca71b48faf0effd347ca0347a5fb03aef612ebe513b86a6486d25d680a2861b5f067f0f9bd8ea6e3b42d8da26c88734715df4555bb49d2eb9ed6c109ccc619b09040772d046167bf1945969260523e1785696f45fc49f550abe4f84cd1f6fc1870562a2cb6716e1a918a7f1d82df57a2f123350bc76375211b336d6e26c2d1041b6fcfecc87da94fdf011e0b8f1db36e4c0f2c4d109b9829c0acc84bcefa144613a1c0ae18597bfdee3cbe6b793670c66bdba7f67601883d7b879f9e0eb1e8b8a9e88468af8cc83fb9c07de9557308a1f6f6c701ba299ef8f08482f5d65b9803953efb17d205230bf83b758b55a938e539c26e010d6b3ef9490b54a485e9e2307bf3cc0fc57ac87017256a56dbbde068ae075bcca9291344f6bb55146d79cb5eb5fd97cd3ae18c37f1242b5106010eb204e0f0eeabc9393a94749f84c6f5a71a8acec194ace6c98cc7fe655a91b334362296520e394641cdd29770d72f251346043f58b917d2267b27a13713757c6467e91d34c397c30c4facbd92d6a60596c17729250c566dfab5a1c08a001391f1cf6ccd9a2871857d63b5a18530b0d8cb642a774cd2b486ba843013198b46017ef85ce7866ba61b5e295bbe72363aaad38d6cd96d703b68e307e499928d59ff97da55a63593cd0e80f4529076f4730fb22f655ac3270bfd877c5b0f1b362c4769aa36f6e103dbc6ec9f554a6478b06a57167500d3c90da2a3a21c46a9ccae72c9f79e78e219f991e5ee29fa780b8ac37ae5121f7972b5a6675369d499a7c1a081f0a6cb0b8bd6685069cf7abd0eedcf3d165d94dcd291cce58a7603b733410b6d6210620278fa3f40784da154428a6cfd086f828fe3575962bdf2b12fc94f250fcd0512ff9a993c37b9ccd323914a5739b1d35637f2d22ec55877114bfd734adc17892e9e7fa2971cc6d51158099e32beeefb6aaabf7650acf2b56d8be370af7cfe0af748526e0fff2ab0f308dd07681b6799ab50467f97bd7509b6bf3834e22108edb1de2f9f37be119df8529bf57caf1004f331311986739a19d70b4527ed9a1adf9d8fc158601a6fa71636313e786c2d2043b7fb27b9f0fe5d770d0f44ba5f3823ceb9d8fef0e9fcf75ae9cbe10bc44f35223a0582cf2210dca2b79f38d08d40cf21bf1f3518b3c3a32d816852903f50bc43e842e1f38ca4be46bcfe8d39cd2fd3b8996ab70b38aff671e1cf98c823776f34d36b93c1f26fa852377519405c1b59b2baeabba5fdf62dd1196cae944d83d34fe5c7ca953417d8b69e5d7d30439ebfe9ef429f8e81ee10d2f3a90d35fcc749ab20d113a256e2e76e8f545070681078afa7be02056b53e672ca33ca48fb9c7f87772f329415f998921771ffb70513fcf4907f3272d8d37cf5cb52d247e7b14066ceaf216adfe0a496e87fcb91344cc959a02524ce93bd60223e2617cc0ff11a7c8dd9924cb7ea43aac4d34ecde63846a34a3a95fa052e93c598d415aa36c45e0b8a4d5efdb1f2f7d8b681d2924f06e2b7d304e16534bb0b5d448a949057ba6c4fdac6b38d399aa33a8ffd2db1511beadfefdbe80168b0e670a7cb451a738bc466d110d7c3c2526ddc540fffdfbe0da95c6db40004327cc95d1071ade6b6fada714d3e77bad0962ed8df9763226582c65e003018f73e8b1dc6175e93df0c29e4cd660bc4f36a1812b7dcc06d20a2f794ef878f546e6271e52121c5c9cb84b82ccaef97ef5f95ebb2e5ce317f764546b4063dc951bc7466118337b6e394faa1ef386ed05d9a4b01ccf849417cc8ab56919e262d779d84b2d1d2b8ccac00866f1e4cee58e135d3ebf233d11476766f1d44532fb8cacf287bf6196b0fbfc9031ad2ce953ba13603dcd438944cd71d96078d5d6ad14f7d002e9df250b7e9762dc2b4d83e10d4e483dc84404724e8a4520fbcbb9610953e7b9fac60f507f65e0e6baad5c8dfcfa53eac029c6407fa7ca105b26d694e99f6f9787d848b930eadb246febe2481e9f2187d8c201ffc9e1a2089ac14e8254edc3cf889d27d9b91e9167b5f9e18be908a8da3ee96ec585c47fae019437aae53dfd252ea190586a4927ea89a343b4d11ff611f2688afbce08e408c92afd9cf42110415c395eda635919241599a07b5b3314c2f93ad25eb93944c1de51806f263943c09fb93bf43e7636cf6e3d8ba8c83e8054b9b380d0e80ff319c735379e4aea92774fba6f3a26a39f23f999f95dc2491276cdb06560f133ca845138e4190bc9e7a45d39f5095fe292b3f7deebe664b4537da9ea003d394ff01f9f7141cee7618090267249be6c74ad34ba555fb063f0637392f4635fa0b96419700057d9c9086874ef988fb4cdb41313d6b920592770a452674423f2b38270d284a102725a2cdbdb63b213afa273349366021c761c2b07c3395ad7e1f7cbd9cb636c9ab0b1c80dfd504e2df3373cd6c4b075dcc6acfb5c37ef1a885c713d299da06a383ee7b9604cdd7905017445c13caf03927f31c368d074c8eaef3b3764ecd94ee32f2df8fc1493e92b63dd1d7a0ce2450f7d5ab2be590b785d5cf1e970abbd8fd78c5c382067d0f21c0529aced4af7605e886ec17cfdce9ab3bab5af56fe59ff463ffd873b8c33f1fc1296a26a9b07118441a58e3196835fc52f61233958cb6f5f33862eae3fcf155155b8dddb3c13387e01f91a86efcfa3338bf2f3e8e72f46e13fa4307f84da12a0402ee44bd0f378ff09e9d19bff1ba81b6a68319193727caaa72c84fa70a4f2593f028d36ee61614038f961a1d6fdfd2f67c1e12f3023f0251b9792f0765b843c421c7f7c246ca28a470fc38be81f50a02571545ca9a8214af3820eb87bbe4d50a39f718ac45155a915d66da1ce5392f6a261497d2996f29e4decf8585f89287f2b5a981e1063ddab1f653ac97f7c4720179295241e0ee1bbd935f74dfbfdd84fa27a8202188738fede35d261fe1eb73d6c7178d0edf8c2e66c69c6cbef59bb7c60affbd3a312c639a37c490e1e1223c8e2b4ee77d10f661a5033432348a1905b2c57e17c6e3dccc0adc117428ba527b0b2f551877d48c3c8fa7bfe5246eaa2f92f854174690d1439937192ddae95e309e0459343576a75e5cc4c5fa1e43124a2631bbc9423d014cbbab2148892fa414ab046b3991c847dcbf2355273a727b66e45a72444393110f597c8f6a36e0606a6a449249d717fbbd9e27beb6b2de7697b76df4f30c863a2475350ddd72364ce1d232c471998e0c776c8b150eafacd8a2a945b38dd17d83a08d70acd8dc47e31e10a1db1552dc21d2757c975cfb31ba52f214ad85ed28335b723eb80f9127d45332990729953e705ebcda681e8bc306537663d146ffe37c4e06a5b39d087f646ac2898dcd8d7551c74bddf69c4d813e2835f0cf3ae7b14830edde35bc1a2117205a9881c7f02a4e1fbbadd7097dc3a11763742c02251f9a9e5db4562523c2d04e08c4d2bce124fcb458b0e9e5d65440089cd3d108f4432888223a3133bff12f668e096993c91574f3d215a8d83b7f2489eba92229b6a0e8ae2cd7b183798c166ab8e2aea7cdadb1f12d2dc1637a0267603134e2f5bf6b8d43e9f4d4cf37ac9396400665fa60413dd6c8b08768eb7c70c87d7185141f50d0901f89e77fab5c3c51babea532830b731df1ca0529e876bd8fd0e1edf6f86aec485cead6137466799f9d3ff0613a920ac7aafc0f2f2525ea52315a9dc7232494da3408371cc209fe474a2723798bafed168c4555d800d98aefe72503648f7e012d3db8ea1c8adaf6a4dc5b7208fc59d4cdaff8688e9ce06b808068bd347e54d66e015a69dc681fe3399e47d139a7e6f40d5a07664e97b77d9ed60bf0658b332582dfb0e9e2279b8d076dc923ae70cf60cd66c58a18395c87b76adb767483f50d52210423e563391dd3fdc98a833689eabb1646cc62a9ee3112ddeccc088d1598219a9092ed23d8942e4f7fe96fd5c002dd8cdb4a0a1c420d5fa77acce6cc82ae00f550d9cfbac3fcfeed1943bef512ebc7a5ca5f6c187ddc09817c6f7da74381243ad19864a3980984fd5b29cb38f210f3ae5ecfdd1cbfbf365847eb1514a1e943c1a1bc5822ccaf1b485e8df6d0421eca244c71bd276b73b1cfeb7017b15be392b11614aae3ebbe002d98af170ae410e6e143e05d36264d7c8fd3b01c71c0a795e0e56c0b323964353df82a36130d3a0858581f230c6fb2b2d59b6f809ed79c893a71789c581896fb1bccd56dcba69f19cdbfa0963b209d8215c6df091cc1162717a1a5e575b1579fcb23f1507f4d6572e82fc1af6938d092b3eb634b7af9d1b2ccd2d88f813e2393ace5e59ef5d6e2181b70605662dd359b6044db6be001606fdda2d325e907f4d50ff68ffd9efb9e4620b937befab7f225a624ec12a099bf20ade4fe44c955cb7b12b0b735cea112180fccf8484fc7fefd7bdf17920a87c1753adb0b664605cc5ff48f80101cd28cb0a103284816e28c5ff573fe8ff2f4ea7ab92"), }, }, }, { Tx: &transactions.Transaction_StakeTransaction{ StakeTransaction: &transactions.StakeTransaction{ Validator_ID: hexToBytes("0024080112208f743f9bd03eee12598ac062a71152033cb14252a4d31d87301afc09a590b825"), Amount: 115292150460684697, Nullifier: hexToBytes("12a74253cfaba21ba4a385cf2be93ca5252bf381f000f84db5b409b248f9db81"), TxoRoot: hexToBytes("0ab74d0b2f2371c82b0823fce1d17bde91c6245c83941c07dcf3b63bbbeac719"), LockedUntil: 0, Signature: hexToBytes("f1a9a1356682bf8dd73c8300528f829c1c35f40c9b6e6942ebd61895f772ffe107645cf65fa3e4bf5067675243f4c29eee1b7d621a1c918829012abc7d109909"), Proof: hexToBytes("9ceb241f7a3772f2a653332e6a885b2b2bfa9b731f86a581b82c91b6d5cd211f789ced9b537426efb7e763db66c7b6ddb1ad8e6da363db49c7b6d9493ab66d756cdb9ab3d69c376bcdb998df396bd67f662ecef7e6bda8aacff7a9aaa7f653b5f77e818180802081fea712659336372524898606efe86a86bce298c99e4288e218d4457fb18d6cff34134be25b89a88d198e1e0cc48d26b85f89182e44c6c2db580945711e48aeb6e8b606f9774edac52182414066ef2e1f5588fef9f4a64315468968507756e242d5e7fef53bd5c23cdcde698729179a2f64b5b3dad613b6ba46aeaeeee6e5ec5e3833964e3912bb7015a40be872e3e25b93de8e49023406d07f497effb41d04e8ff0bf9fdd3f6ff1ee7ff2a3d457135a76bb88cf576a9ed8cfb5fc7da1b3ee0a34eec9f48f6ebc3eeed030aff70f8d738f9b67b9b100414b944028c9da65cef21043446fd4992943f0772750b9d9c2911c2f3eefd3f6f3df74b942829af6f37f5872c87bdcbf4dfcd8f30182bcdfeee232af5417276646385b7bfeb7843d2a07bff47a3c922563c0e658a566b9f0f123f0b363ef93455902212ed977d3f1c8ca70e52d39aaca65539fb14dba54c4667c724f742b9f2ccc23e756cc61588df1d08d3b0e28071929dec41fbf89c035fdcb06ac060338ba1682dd20047f28bc9e7f122956f9dc35dbe155d7daae7ac3d21974ecd57117eb6db8375c3500bc403ad82847e976120a423b22b0c31661ca929e1b8bd2656c00006fa2fc9ef9fb6ffdfbaefc8fffe0bfa9fdcffc707c3f75727e9c889f464bf8f4d823fb75183120ca64abbceb7065a51bf7351f6748ab80c781c7a5e6da0fb69f9d8f33e83fa26345d32fbac177353778a60a8003e9199a1dc38f6927a63682b123b32126ae353d71fe57446ba0d453d4f5e6a916044a518de3392fe770d07dd7105766e729def636de5939103e3d3c55cd50dd4b06e0ec897cea9f0ad4cc5998faa2399b83a70681c2ed575bf74c7be872a733a7c03f80ced214132468af172b7e391514379be64b190ae2258759dde489d8a0db95590671f9b88242fe464a6805e524cb30c49c41f09f8cba220fe60c22d9e979a2d422d4ae388440d06126cafea7a18119a0c1d59d9c20fad5de9b05f3a3cef40dfa606f81cca8a9b4c6362c4840df09674cca67bb660f5914b3b7aba5779b54ee917ffa175314a512d447a7eb015fb4d452dedb5b99573195f8e03f390d8c46a03d6520d3e342ca798ae65b26c5f1946d9634b95acc7d486f94856a5d2c3076fa70d878f0bf09956a251297bd3db014fd5f8807a1add68e3542de42fbc525a967ad2a1599001533da58b9dfcc0938d214baeea5ca0da42d2630cbc701740615f7cf69bd00c86bfbee916590904e6fdddaa0f0931cab55aa1615bd453343081e7704d7e5776fe753e0fdf2b7ced804030e9a67cb83691e980893ff471c1561429564f8a8df755f530172b552c7dca340daa7272f3cd0a4e0efa98ba25f7ba37296e41f77f131f8e01ad068a3dd4ad128f73c085a43f15d383a2395993c00f85c57cb693e63f865b60037cd0d3ec6fd0a2b23c44ea2f2c3ba6fff62225d7f16a9912b1bde63137a765a6535c6c1f4de0df319305eb515b4d7de4ada0eab824dfc58d9fd2ac265f75d17221fc5ae0cd6a16c48185a15746b602ef63300ef46f0a9bf77048810c63da9fdf8206f8a40f5c53ebc3345d7270c356ba89240bbfffb2dcf4ff5b18f93a522d30f4a704af9111ab0698bd60501ee16308ced07206be4160110ba562dd8c21abd96fdf0a23c65e1f7f82ad2deb619f3fa41c1a8ae073dabe0bd784542fbbcc8ac6bc821713e0733afd3b3c5fd0c5577ca35f08d54807d6a45f055a7e129b1bae26ab93ffef29cc01508412d3708f2b742f2cd15bbc03ab12fc6e6dc2fdd5cfc3491f74f2277808685547c39c28e0ac15eba9accf2afa8dfcc7487ebdd7f8c9347811427078cbaf7910cf31628823e6f2dbc5d13a32efa28d7e56e7075d99e4a36de56e910dd2410eb4bd019ef8c24c68ebfe84a8db4d1289b22fd6262e59ea2450c59d2681c72510ad957cf6e6cd61453b7c50409cb1240fca40f4de16eb8a05901da8a70b2c253011c067bbf36ca14ee95ac265846736a56db7ab403a6e736f1eb5cacab6d5132e7f90fa2f07f0a88be91c3f92f343ce3d09b75c13aed76b4028873255c908b7921d06c6e60beaa9529e885e7c55fc94d68be52dda370afe2636953fb47dcb3829db7570009f04618cb6d3ef984b1d8258c6e64687ebad88ab360b15526fa203798f49dee550d5757bb40ee712be748404767fd06b1a7e136982c08fe7876e07f8b72cfc0da06baeef694ca025dfda3bd4a00fb6aaa6ad2da38509fc2857927d4391c1df1b2104f834292efa5de8e21f8fda407d185f3006f5d48b35efe032f12e71abdad26f3513bf269118c0695f57e242acc5be37aee48e4e4a6e24e1b25d77e51419e8fd7880b3435d41bddaa7629a647207f17b756454d3f10f975162e65e28f2457aafe42401f8d46e618ba5bc74d7709fa44957719f298d3ae4df39083bab2b1dde77b45e08414f97b4ab115e5321e68850715767a862777d9b9f53d652552e732e78838423c50cfa951945a8e6df45140d73d6efca24d1fa89fb011fed8cc275793858bd49fce5e3d00c855593efdaf870e4148831d32c3a8c18822a353506da88c4d38fbfb386331b8f8376c056e753a335cd15d64360a24a34d28a556006c2bf890b0cabcbfeed4ac5d7c1acc9b609e455df0528f32f840973ec2949304fb5f06b58ce4d9d2929c02796424f8e6aa9cb593f1f714b771ffabb3082dba5143cb08afb4110e788e3040d87ecf1cfcb3202bb92c9a96d86311a3f873ad7ce7484e9a078871f4e6c0f5404604fa7b82a9ee6bef67a5e03171a94af168aab6808bcdbce1a8efedc31fb3328009f25dbbf40d9bdb8ea502402d83028f7215c77953d8aed23222e214f3148bdacb851be214c5271d382670b3ee22ba0b3e5d737ccb3ef17d3e5c20e55fe2637e934ac85fba7fe9e2a7a5cd8c9a51f4e3e54b06e7729baa317931a310bbfa0f3fd9001efe35c89638acc7385575da84433f80d6403a90719bc86f5c00267ab29bfa90415100ff84cac1b8b477f742858d90ccf1fccb0bb1be7b393eb8a1a4763fe0a779da417319fcf6336702c53cdccdb974ddc7d53cf6385b4b37ada64d6656b88def54002fa6ffd6fc59744d6aa989fdbe7151e394abd8a16593ad511d61c102968b104ce9b9c8008f1ce6b16a689f76bbc421e7c37692832236bb1307ab5e2025b61e589017e4d12777e464f55828a1e0fc3827128a08da04bca4bf0e9bd6611de677de934265b0c442f4ea2f54dcc970b6ea7685cd7c9332041bd0dcdab192fdeb6cba78a6fec83d894aa9ac15e309beba1a48c85427fe6ed870156f264b50ba8ef123edda17f2ecec571237e1c7fd7ecc9a923fad607349455a0221dae36c83b66e3e28e706a3902d0bf588079da26227e2e67b9a1b31f8d689f1e58193ce70c4414b53f9aee2b4ea31f80e44900f4ff587e3da0d03dc1eda8311a6a6d998343fca05246d2d432670c71419d49e333a750ff743ccabfff02de77214c10b0e355ea7f274d398f5788998a17fa99a2ce38d672f050afe634e96f41556912d53e5d912cea27c6c1639245edeb0e65ebc2bac1ae79dabfcdbea19b910138d0e3a34cfd47873f0b5138e15cc693b33d224be484285faa9180844c924617c129029da47e56fa28c6beedd386006f5c73f00d6a79e8bf8c9b97ad5c6b32b9a301381e930bded37dd26e4f8cb3f31cde780db2c77d1be051bc0e0103d101efc0a6a0cb40ba3a64d33233395de7207aea1f841d4be7b153bf1d05d55681251b760591001cb692e635e244a69e708ca53a955a11f5c8d078180b81020178a0a0b4ceadcf6fb553edbe892bfdeb40bc3afe17ae063f25c3223cda9f659c0734f29e6888a6bec6a3babe94c2bd595b3d0deea078f53bb5df1ea557bd77dc2919f8e625c0c1ba196f8924a1321df3fc7e78a0733eee85b38b1edeb10d9272d8c40994dbb7d7a30e01c0190f865c423aee006246d754689d99c43bc356f2803fe098b02db13e621392271e959323a684aa53501c4db714e1e4d2dbc1cef24e14665924de8bc5fb8611000ee044176b9326671006426463a0d842bc7ebcc7473729911485176b007b15390e209b1186d97e94aef753c92589ade62a584b08dfe486a40cf2482da46c4394d17d714a33383239270db08c4573e3b40eee1e78c10b30831467f915a5db9c84fc2b19b40f8ccb56ae960d55f4868e6d750822587ae61eb7ab14ad998a7096cdf6dc69001c90bf0529eab81e351994fd7a5c6fe2811e5d7552998a19f7b665e0fb93a476b4ab0d0b25d443b0410afbac74ce8576a7a403f74bf42eeededcf9360825052820000e824647c490c28b6e7003195651a24b488739e288b61a30ea88488801f6011f44cf342fe6e27704932616db2b6ee59a58e216cc646e4551ea98603145db17080800072366b102eab378b6deab188a7ae241ef1dc6d11b7f4dbf4725969f3eabd40529d836a4c10fd9895f98b42aa698d0b0ec503e07a9d833c2918e09814889f21516c029ce8e71f37a0dfce54b789811cb059cbb8edcf2919e2a765fc976681e5c5409a46a87620fdc589c6f2474068226dac877f632207bb49f53c9d7a592c6523d8f0ee0e07c639b167de8e6e6790c3e6a745b739b16207592dde38984085fe009ed79465d35442afdb3b61d2f9fce3baa8dddf0a36674cf740a5828d2cd8328b01556111bc0c13d61ab37fa9e0704056f722e68f87e1574c98327059c73c15d9abd0a6c6606d42647378fbffec937d750ce15fcede7aa2a1cfa985360bdca6cfdfbc875071f0180d303362e258c521366a7399650eaa054d3f66145b3fba3603270c57566c222138f03d73d00e3ce8fe9909cbb2509472686d32553864f36bebb7679141cff17371c80330f462713b8d6200d2b694076422b8b0934c6ecbd4db95cf35d098e2d8aef922cfc4f1d30e22df192ac66da7e267b9277c98b00a889b0e4070b77a85ca3ed1d3c80f36bdf2ae5edf7e4d3c769cf2422a3928df0453dd33b84d1df5b69d0ae6c2b4e3ac13535d4111d66d8248202eb6fab3c71c109e3edebc4e208eca07e719e614cf4008e89d5785b59ff945c4683cdef68ff3194044f830d249db978bb8800cfc1b600520838768cfc8541a7d47c86a38fb487bd21c578f3894da08cb80a52d0c4222c3840fc37624a24d9782750c4890ca42534ce69a7d2aa59cf03ef0ab6f4a34dad8ceac502fa176bdd27e9728a26deef90de0e410589c7817a7828678089d2da24a52081770305817ef3d33e816b885e79cf922c81b85b6c99b1278535cc23c8303dca32942c1ce69ff880fc03e0bae952ec4d14559e573358861e32a3da960e0635649eed9b5a35e5659d698120404d877e44760f1940faaad3d3f277ba9c13f944624bdf5a4cdff1d61579e222917ec5b75a0efc8805b17c6b27d19d3fa36fec28569799e2a6012d220e15bb9a641684b00d4d1616e992e218262cb345c03ca4fdfaea5de3c96d0d71a8dd49b284d65fcf0be7a7013032dfd0d2f32c24b33a2559f4788cd160043ff344822c6923068119fc944e5913da64c47aa3030a039172dc3c6c64c709b42939c79e9e67452027342280f3a12dc832024d923545be4b6629f1b11fd8906989e49c76d937e07809e7db04338c305978053ca06073198da457f2983b26b13fd7a1e214942b9745ec48cb030ce0e4edf2e95f90731c56c1617cfe8118ee72b10dc86236e2b2ff81b0025369e3819b6b0094ea51ed8ff5d67cbdf797b264aa47b012640f460fb4b0e6482852698ee22b9e4ce62927f1baf8433ded03ebb8a194eb76b4eca66e402c40d2f8cdc2b4ede376f51d65509b89342a586ca8709efef5a6e597d9a3fd40c6f123d76d1526d9fa8ab769c7ac8333c744410c75de4ab198aa93e165dc06e2365258c0f19a9290da57d8c7134c0edc8ffdec65064d3925517fa038dbbb2a31fa1a31cf30bfaddc68f34201387d43869813addd150f132a9d892705921bbfe7ceadef5b140e3919f2a34097b14c17790885da90a93fdd8b6508cb36a95ff80fdbe5fc03667a8a9d84a0e49fa9009c424c992336fd71537c5b0fa21da5075f526655ffca7bb78496d10c0413ca40e897d1aa73cbddf0bfda01be1b7513185b3492791d4826ce6d9f3a909aefdc428c000e7a49c8aed1a94344ff93639a5fadaf422ba84f2f2b23727f3df9f288d7f21ebebebf24114377100bcf5dc0395b6d3a113c70d446dcdf113419e5967b4e1533daaff57a88b23f60ae38b384ebbd5db6f9a78691858a7200bc2fb5cc4606e6b7792d904386b350c29479db729e0eb652c1d71db31e91d2f51364e27031466c17b25b1c00e7ef3e024fac1722630159cf3caebefbc1cd512fcf68f82f4a75b83aa684e3252af4de662f2b2dbb55d6fccfc3cb8da3f8b3f8cf91b90a2c43d3d18a2e970aed2f0ef67e31575d1789f72aefe1f5e547cf5fec6ed9c7db746ff011451ff272d3202a26ddec97ab4f077b28c95ce0e302a16b166f04ecf6c335fafe648c400221e7afe7d4aa6ca72472f0f785be591a88b6ad098e3ce2e0f1ca0d4be348e6ce9fbddb04949055b277f496474ff22d421398fb501a0f337c9c869c294e90ef7f0d5b7fc4a2003802a2508c3fa67ebaf49d35784519e6b50cb7729db9b05028707c5696e7dbfd867e5060130be3d392757737448b4dc604abf7490d5ae7be16cd7553b438733d24ff9acfa3368db356421882b4f0a50bf7c03bf02afa7bf267d93a083a77628ce813509818fe2e043e2a068f4c047d92a439a80e36e2106991f9bdc7ad899a89583a94004ed122871cf5e53cc6b2ab3f15abe9fe2d642339d049a7e11f292b900875d712aaf57799d257ef63e458ac2a22c602694498526e9e793c9c4022dfb75951820712c08701490a90a71c61ef8b4c48ed6d560718d14632a1fc2178ad91dcbb8c8d6f13373ed0bf585377a9ee0a63717cedfaad9d42575712fca07d583f35f005b02f0ee2d65c7980659c5584ac3b038e383b225ef138f4981536139f39174f3968e0a389390e6d90ff89af7b2072b8e864740e337b6f451a64ff392ab1a5ab3c0abf1e9f3d29d4ddf62f5f96fe510e3b341712ef530357590969087247a347a20ee53c6e652d473c02737615afa8ff743ce0035e82fbc6557c1e983eb0c41bfe7694138ae381dbb5d04aaaae91ff8a22ffc0d0e8af13a6e43d7b3bce99ada5140e1144af7e72bae5789889bd59607c8b54858a54d22a4a54f4b0005c499863d2b2ff378d9c09f5e77779c77e7cc1d1ee7aff5b12a03a8c939aa3cc82cba03c9c754d183d56c3bab8f5e7d349b0d7b211673c20dd6a4c0da150b1a5cd876ff3d3657c3115a7c18c214147c3b0a25a95667969cfc68af7e842aeba7057c83f5b7e9c10c0169d288d08cb2e1ce3697758cc68e6f8aa0509467312661aecdaa9aecebbe8a3e66c60a734b815d42c906d6e1e381e588bf0d4d8937a04aed183db607cab56a8ba8d79709b3d64f1a1954328e34accada3f20407ddd5f8116aa67ef18e5587e124e6b9426b8e2ac9ccacdac2f956dac9684b5110d5d2af4039a6cd7e90eb264c16db5e247402b450cfdc39046440267d838888fd2d0d0e3f42e66dc43a2035c5c35a677ae3fd23ff3c4cf13010530d7b49ba63fb2c311ea961acdb720cab895e081a61bd93b8aac804a556e6e01ad3414e8a12bdaf651a0629e8006dfad17bd10b1892d924e174a9f5b7852c46aa2041b188baaa0106f406fa1090c84abca01256b27a2f7d2cf3a6564abccf05e6017230b6ee51cdd40277fe52b3843fc9c405a9753eee8c621d3c6c6adfdbfa949b0016b43d4fb8408cabc7ca129b7e7be696c754a865c6a2f0eaac61cb80b566c410a414202f057820ec098ff4a198eb651a1fda5cb0e23b5f2dd6ef42db7c37e49bec4fceaaef6fc8cd2e5090f45a2f3f2a7603b4972eaac295517c8a8658395cb7cda37a4ca8514851d4cac77809e905bab38b5a5a069f205ff8382d51b34f88cb87f4483a6d20e80b9f4ed8c1247a37d3412a22bc830a65459f20295d9378252cd050f4b23087a15beed76c4676fb6f10a667b276bfd17467203c546e8caa820bc124847039a0e3c3b46969daa2f20e6ced166fc37c62a9ff2dcb14af1e1786103b24c63a355101a2d05e2f01a795f730b296ea7e1977cb6bdde43de84cf96083613ccbbf4a292717090cfc5395e66df1acb4e311f2971e828f5796671b6c14f68a91a86bd28e99363e76af635f9c2a6dd7932d31867c6d0c5eb56cf8191dce2a9219a5ce8f3090e66f3ffd29f9da2b7080a7181054493da342aa28510f69bd6734e1fe75071e22660d7e566487cc796425c923a2d57d933ca362c46743a04e665f78beee6b8c21b157a19f7f9c448fc8680a57f69f185065b035ccf530a121282a6a3ed84be822c845523a5ce00ccef9d0ebba92d26cae0ae1295649ce0a896a75e612d5c169795cf8b1dfdaa50d4d2497051629bf69a8ed451c39931da85737cae6d85d26d32549477645ac465ececd1258e1f4d3c5286bb99e8699bc0fcb5117a9a78160c694f15a3003cc17e148dcf98cd6b844f4c37b43b3606db8243d6981a9eb640f906f40b6ac2c6a6a33ed63a3ba8d38dbf8dd1a68ac12258aad1f712dc4f7aeddf7d0e901f34434761bf4451e3fd04b8890fb1924d5c39facd140eb6f04774276198c92012cba5e3b0ca384d40f5425e8486ae7b30e65a219a46ff3bd711e8e5cee45f17619a835bfd3da84a480aeecbd4e9ab2066f67eff0038576bda70c7ff6ad53cda6fec2ad591b8cd007916a1136b34d35e314e629a7237d65e735af582016814463fe4334d0ff0b09e1e76a1ea90bbc02c4ae6c39a3f853e8c678ec467a5d60b8dcde3ce6d07c4f6bd99cf6f90a044a4a875088238223c5b0a988458f3bfa6dce30630b6e77ae64bcd6bccef2f2a3875f54c35685420bd86d7be0343d1392453a26dc23de4dc5ec4a7e2ab0d237fb0da36a0acc4893460d4c461f03b17a979a1684365546ca791801db86c808f00bbd1b0c3752f4c3b3f250b73be73f9fbef024e7ebaf282a6c569a14881b17d224045488b28adc4bd0d1214e36eac703ca9753787cfad81e606b8747769cef184baaa9b56ce8693f971c0aeca4d99ef2d786af70b5ab30804b18be856014495131a44937b928425e4bd5ed5a97fab7a998201a784bcd912677884abdb5c3a7edd66506c76a11808865f141ca504d158e5274320bd2fa80d64d8f7933d660caac1819cdfb1b16d2fdac8816e15188cf7899c0339b539a80e36b1fce92cfab20ca754423cec6dc03799ae99a9c65f3f671b2584498015b856a50ae3158d16b95e2e29d6020aadd5f142e6bb6e8849987ffd97450f21be13b70a0200a5da36b783c32b9985ca6ffec3e6c965e7da2a010612e487e7ecfc5301c609e440b221c6a38fbef121d86b72e6af763fea25fdd29e48c739328ac0ee302be004deee11f0506b5db8ac0e009ac0ef5f6b55ac0b3eec77d79f377e1130c70b0848c9a53d0dec635ebf6c66f20a540fb56cee5586539e5a533ab56e12337403305aa171aaa85275185f2cbdf34741c1207a47eaec6a87286fc3b643e01b0bd04365e010d0ffd01a2216ca99588b31d4ec06b4e485b70ea1b018189f5f748ea4b66fad76758f3e119b08229e43ec951b7bc3c209c987c16fa8f66fb6783835c9a5be0c775817a3ba2ddcb3be8d1b03853217da3bd13bbd9331fd88ffaba43428b551c196854d63e9296a50c2a75839570ea2653a205664689b7b9a4f7e83ccf304362b03f1855ebe55cd7fe7652943a13d47a89ae5204f15bf5b758c2414cc55199e00156365ec6947527f084e55ac2de6a595e64cc4a82ee4c9a0d600bdefa969b783da427ab8737a0d416a9a98df77258c5cde799a35d28df7e4edb05dbce2c2b411c33b51cc7955bf2c7b664ec7810b9426060859820db83ff1c0a424a2a6df2253b9e4a54c45267f3112c9520b6c03ef32867cc15c4409481a99923b520014587e0aaddf933906f24bcf3d77aef0445eb87792ab885cd9fda0ebb59eb6860be5c7a14c8cbf27c98d7fed90a6395475df85ea06ce650bec0a34823eeee3526d163bacfbae52aa0fec0385725c2d2a02df4e18bf956457650697f0a5cc850555c6a32a96e5dd0d1032eceab21efd24410c1425582172667b31f444a1c5790d179e01480f5679e16a8f44333e5ba5166f31213a9f84550ffd3657984b201f8af4d4a1c3a38287f77d9fefd3b45ced93826b2f27e2feba52c5a8fcc225a9c0bbc87f7b9f0285274c6c82d417c60607afba8d2d0c31ed84e51a073e5776bf72593f7fea32d75e0ddc336b1296ed898689aa399bcc454b11dc23fce79743e348b03b820259b3f2887774931bb61f9dd6b7fb93a4241f84921dbdb25dc2820b9af0acca59732be52192968dc610aeb3d56903dcc4db771e557c567f986f67491ba4fd406a35eb9535cf6d636db8ff5827173c35bf3b850689c23c32cc3eec6a242901fda94d7947fe5ddc87522b017c04e7b9172bcf2fdae045dfc7fff828ec7cf8eee16eae754d56d079543bec0a38f1ed1f643bca5aa13d47d8242c13d933ca7e0d235e32184a2b024976ec8df939e75662b1d12a1ccfa44f8f31ffb9b06e950c6733b14be6b7b8eafde3f0ae4830b653c534f824dd17db7a1a40a76d2038c83c2f455b9c07d8f8339e4b0f8c5d0ba24e0469d3659bfd52b8659ca50880202b817b999bbd3fef082c5d5496e350b4b84da8354c1f8c5bfc2531bdefb26af01d4e0a8d1d00cb4bf7cf132e168a36cb0973064d627d655d173db54f48f60aa983ae2bffbfc67fb2eb8c6e1a1630ccfd2d1612fd95111e539177de0fb1e3441268321909c62649b615fa953f9ee24a7ba5a165caff747db54044a5d6d71c698c272e1dccd2710c2f0013e0261daf3dd5e1507d3d17807f62af90ea5e8496857bba3c889fb72bfdc3c7840191a4da48a20a3f591c16caa9bda441482a26d13d40c6f4434ed9f6aa14904b1382ab47b11de4deb30766eb1d7f582daebcad4e0f5c47a3d9bc39433d33fe9c9003e0c82a9397590dc3fee2cd2c4c80d42c87a5aded903a9244effc0cac2165ce510c1e0229a5083478c1dfdb52b08b053a9a3f98b45c1d1514c6e2e39f484555d4586a29d135202b93a31598bee295967c27058c48cb500f5d1096d12837af810fb556fbfe30ddfd2bdb8d9e877ea41f5281ef7dbd17025cfed781f04d6f059e8d4b644b13c441003bbf816338906f3996e8f522c8661187d583d6193aa28c81dcb840a04e7ccc9eb168175d839581b20c3104bbaf522cc5dba7d1d31499388fdd9ec0d06f071f1241c61b6eefbc9d61094fc003a9aa3d51394d9a14c0a257a192f27627d4d678b8f19472a5f9761e6fdf400b3a95fdfaed372c8283a28e88681e46c35a04a2788e6ecb020d3e416ce293cbf781e8bcd20efdbd4fdd977b4881ae4543abaf7d577018c73df46f92c72e8f152c551d6c3af563cdd0397f60db93234636e487e999ee4ea217f6bd9be71497d81fdb02eb20dbf90f9661dec373b57c6f8564763fc14c981448f736ed37bb28a46e427b4fda27956cae12af66f1dcbba36ba608d426334800f3472e04dd1e70cacaf890175022b7d55da772753df97e5fd025ee9b0bcd61b98237c7d2b831437d13786c78a2b3e3ca69ef11c8761b5c6d11e8fc59085c642a8cf8d34374f130dba365f63b8b32cfdb5abe9c0bb63347c703e6766ee64376f06808f1962c3761fec666731c1fb331922c1a8e89522a9e706d160885372c0e33a29250f45cc9ce88bb848216e3f1d1794539f26dc52735d78aaa7916ad1076e003c54b6bc942a14194e2498381bbed5e28c8304fe145338c3b40f45f7b3a1e272c9575d3f637495fedf1229c213b69bbe6ab6b52c823f849a1b6c9603b6459ca8d5375ad1bf67f84362948acbe614291cce3386afaf9793569417b85d0cfe7ceb8bd8ddc2843e2f0d3d8c38912befc29d77d3775bdddaa0047ad7bcc95676570e8ca16f8601f85894d96144d58f049de8c08271a271c86bb57a9d6ff26b281ca652b101b3a8517ecbce28123536ed5ade29fa316af9a71d8cecd25c5523c509fe6cb870543a92d2418d8ef7d90af367ff696ba4ff7175ee495229fdab385da2dd5afc6570df3cd4577f47ca75987c487ca71bd1f1a7bab007c676f35e44d012952d495b0bc9fc4432b9d39ff16602c48f99f4ad586a7713b9039a76b6ce02aa53c30ad774fdeb5a5d086e90ec675d3030014dffcc25f9b58663582ddc38475b472a37230376cda01d60800f07f82eee6f02e6e8fdbca973b430570223fab4a9d1c11d995c6f96471b526aac1d15e562a4753e329ce352bc444c812aa6399ac0f5c97c512df01cf19adb2da87cc90d07f09a2658577fbc8b12fa2477b860b72411333bd7f6e61e145f306102800f1b49928d1346572547c3be04a1fe31d57bab189bebfa3c8c3427dc8a82d737ca9a686525f907d1d3b66e03ca7a20e42ddb6d1a87434f23a70c3430416db96198114a648260f65e5c292b5b749a93e4286096e552d1fb5781e7978ad4469c791c800f27b139467aca5e90a65a45f77efcc6afc1c7ab9ff139a73d2bb2da726a571530a64e9ceba854bda19c4f102705737b20651362c98b3121793eab0955ad505648bf1dff5065a28ad3b03607f93bc981142872b520a7f2612986b1e31066383c80007c764a3c6572f40bcb6bac29023fcaa4fbc24e5cfe06be932b3527d269945cdf3010913405ef9acc3c5b56766ccb301b56b7589502cba8f06e79bd86e40f8bf793aa3d43ca80adc3df4d4aaaa27250a30b30670e180cb0e5a85f5226787a479dc316867a732e21628ec0807830a119283bd8284a973aced1a7808e6538a15d0e92fa72586014cd0c6f3ca97962c6541871524a53d7101f4ad2339c8ad5c4de9003b549e100d5592e80dbb6f6516680c667fba7873a1fac0b6ffc4110c68e393e8283b7f517b51437baf2b0c960e64020d41ecd5f5b530b9b4110c2cedafd1b70fa95fff8cacb3b56134d1e6721ae17073b9c5209d0c065952538159b3eea993a11d83e8ea19f8b2e964c5703f51b5dbbe89981b1085e22820c1036cbd9f4784bdc9db1487d71d64170be514d5aab9187dd84713d2e1806e8f5c1445d634e5c7234bd6a0aac50c61b796acae2568de09f7b9594542cce4282eec058f4bdce566d570dae182212033881f7aa9fb7d5eca8d15749c4b46edb5912f3b80ddf128bb82616bceb333c67c84b8de8396778121ed4781ab9f908d0310b4c2b8bc65f77428bec22ec9b5ef6bff2f2bf903f64c989407f8f89b3658dbecbf2926ea7a762b03c1b572f2eee0fad3040e92b3d74e79548cc76dceba89092328d75689adb8759dbaf8fd5a851ad75b4100238ac65474d639aa2f7e0c3f17bf608c3bdc6fbd47e1ad9541cce728c4fd561dd48822e7bb5f7fb55ce52c42c7937e61cd173554ab783c4febf5c65c095898bfabef298129c12e446d1dbf7ea60745a940a9358ed03bad02f961e37e28130e0e2193d64d5e462c601d7df65c8bd9a6e9bf43b76496a9003e512101845ecb11c57c9dfbfea733fcc629725f5bd3a5d3b6a9b6d4ab261849c7f7913e93ddb644d5d66b5a777d3be508d81932bd01557761be0beefc4ffc4806ea4cd1589d4c8dcc88f81c950220270b636955722fbf92c5d1d53fb5c23f53a2f75c5e44b34ab2644484bef7c478111d3df7c23453b6aee63a61cb8f417129e68e35550369879d24e2106ed9a374fc1001ca705f70270fc7bff2b18542ebe5f01a7bbd2031bb3235a094f13128582c5a2b077d9fc9103a1bfc398df123e35dafdefd40e5e3f3e23251b0c6146bd9f64d4f1001c4458c6ebe6646430fb61712a860251d52532919cc85c77b34e752312153a659ad089922c625b8bd5156f07e51fafb3a7c74b574230bd47c8d7cfee025b9bc15fd719d9063233e15464042484bf4b93e0757456653abfae1603c8da5c848c32bf93802477ee66ed8c36b2386a675052b8112f1379d2eec42cbb6eb3e3c783467d362480b3f7845342de8e480dabc67c459f79b5fc9449740f2cae24f4532c2aeb5988864a84cc3723582787f6724fec470a77b8bb0ed396c2a858e306e20f061d60ff9baf7ae1dd15b40842ef6f4d3f563950de2cc96f48816a112b1b2c89820cc53b85a491043152753e677dabf060db213a5c05b76d9c5eab66a19871ad6de3af27dba7ac5ff5662edf336fdbd7104eb66a2796bd91eabfb795b5fa88f0d986e998c9d2d33ee6a4bad6f94b0120993d98cbf163ee8439aa6ecc312de6c2c686b2a62b0b9c81825f79f0f00dd2e03e21f6c147838083682dd7177405d2b97e99b86d9ba375b2abd0611ca71efc5f7b76e892df8ff7061fb1983314a733923db9d40c26090b8c16ac9fa8bfeacdd62396831195a54d6afe748d507c7a91853b21916cb3caf217389d81ac71104c1002ae891ad30e41c5bc16b9aa6d70516b678852bc1ee61c89361e274e44d814a2b028bf96dc35098d90bca25055150bc2865558625fa7c18a77c226c1346111ff439c729eaab4276766872b16ad742bb3ef9b40d833492ef265d5ca92d357db0d8146dd2c42744e66cf92fa9ecfc5e62770effd9ce01c11f91c0eeb58999dff8c74000de0d476cfdfc2f063e4f179017165d7ee49e865c82a5e13a993c543973c7c3f6ca78e38825a29fd16112ded5ea28b7af6dd924a20b72fcfc5e645b16be7761f78e6eb7bc6e69387760e322c67a8f1224d31213716d1218f6223e2d3797c92f3d34637061604c93e26b30db49f345012627a1e19f12f4fc061610e0a956b7771e47836fc57fddf5fe2ac93fb9dbc4a74b0988b11911f62ba588c6f70d0869fbde41d0fcb9f06269202f1109aca8605fd9b34e4d8c84450665c9e8b6dae68670c35c86f59c84b500067a1eabd43245153ccc3d442baf912bd861e9101bd6a0f86bbcb659daa40cf9eb2d6ac9cbff1a3e1c89d52989237e67ea0270c9accc7010e8b5fd38e2ca5e8e42bbef40abb4d98c9296f7b95a563bea749d57bef9e53adba3648e907633b77c521a00eee7c9a0acdfd04c6f665448262354f458a101558ce38c68fcf52fb990ad78701e0501b5b85beeaf992ac3985577dae1ced13846db2ed08a0d13f7cc77890c426c3348ec38fb5f523ebb67e684a0fa564d98011ac47b4a6614c7f80e06eca0e98fbea8b115a501190611c5bc407491f4ee073f098eb7f94ea0f057356f054861b773e0056f69d05b3fc152d12602c420a3663378486d8612f29943cd84dcc606ac99dfbd517036ba231fcda84cf8be5537b143c68b3cc82fd22d051403b188ec4c55e6d1c035413e89c2b61fc8046c93b12bdec50e035896cbec813563d23bbb2f59a4909f6553f04690b7bf2927b6c1be551e36ebd84231075262c54ac1e3bf2cadf781cc6800511ed984a84408a14622883f7316f2dc1d9c78cf2ad3980fcc07d370eaa4ec8fdba3ecee8c3b4679a2ad97a34b7e3f7df051cbfc5079df9e8fc990011515e9fe835a7345315409387ed1a57120808fe243267ffd69fe720261b7f8a22a30dc951bcf855f7d341cdf9645a6fd9b1abc09e95421b2b4e97187ba83e1254865c4e739f8fd0a6408627e5414fe33abb37cff4a7d2e22f471eb49437b243a3f90c41228e7759a70370a4676f451ab5bd26c03b36dfab0526f08feadfaac3bee3886076699f8caaae42e367b0435acbcd8d67d75eccaa4df13a665c57a21ab9497cbecf5f0cfa9763a17ef5679d22f3f4df3e03c372e63fa38cceeb9270c15085993d321e90bcd191043ad1d6c7203b6aa8e6c96871e80b551019484888e2e78c7dab44aa9cd1ab0437fdfb755e97fc212dab0f9f0ed734eeaeec279837ebebcd67360a8c825bc6fc8f4a44840c104bbf40185edb2ab6d010d67c6038c86e8d43eeed80b646472c7bc0b59e18beea907392b6fc24f40db4b16db8b4dd02e63f4965067e13a1f5cc90c90c6a12b2de52ad4bde3977e41899c7272f1aba9faa4344d62d35e9b95f734e5def9e4f658ea100e2d0f9e88f449e00fe452015de240d88e749b1422e230a96f385fc437108ec327b65b173550377bc25f59fb334f5cfc99c7c433c07b2098d514798eabc32357ad8642b669d0aba979c46fa3ed87926b7750ada77727bb862b3206f9a5361cef0a6f226a5a887bb8f4294466daf842959dba1a38fc14721e074ce21ac0ed997289b187c5477e798c55d42ac1aa50e2539a3e4b67a50de9dc06a44e3615126da70c224b06d4d1dee84ea484a67d2d0e257cdb5176e5d4f2c54bea9fbd9de90728952aa34f909ab5e20766032e35cd5493eb5ed4fbca94eeabee6e8fbf9a64ba98a15167a71cdc5eb954c8c1f5d1167e2694d864ad00328d0729efc97cc6c6325344846cb7f2a7b03938b2fa90b1bfeac8d96a7afae2daa818eab5bd7c14ceeb5968a6333667f1e3be93edb51ebcedd58e160ee83552495e605ceec50426617236cb36a2af605a63c9cc98d1afb0a999618305ec37d1787cd1d72224c589743f3da08d60a0df1783d2f415eb7af5c894e954ad7c8738c1688e2276c7281e513a42af18156d5455f068d40b4a45a09fa4040e2437e771b470dd26031e39fca437f73d9c2c2d19a29faa026c79b87d417d5331324015674f5fca1d48c36565bfb2c2ed484e35bb7ae11f516aff8dd2c657bd06545c1bdd1efb376c95b287ef98aec5921001c709f2f93995923bf8d15b7d55ca5f804347f3e0432420a6e38847dd0b04838590f0841b0c3e25b30e28cb937983789050b42f0e0d28546acc566edd53d7511630a10ae431eadefe1046ccafed89b6ef8ac54b7a3ada4f33ea8d9555ac3f14edc3226f5ce78eaacde91cffdc911707abcd0dc007b4be2a532fcbc100655b99d307842bca5ebb7525ed681e4ee1e67fd2efbcae850d82c84b56cf8f4c46d77844adb2c199b45ef64d15eaf6c885907e4697f605ccd0d2a8dc9c4f5596409bb19e935abe85e0183f54d4784e232f206c338c5d8570c7b7613698d744ac9141cf2046919acce556fc920948e455a2c3c1624d766071e74fef8b1bb64159ce2c138dd8b5e4afbb7f5d5fd30813ad44be31670a7354f08c663e31b4140fdc7e3986c293e9090596e00f1c4cdbbec4accbfc527ff9345648b5f42ccc87fb0469380a0e32e29adc361970a6a34260d84cdc443213f72a9c96903884a297edd513a72531ecb7f372d5d5de07e9a4457f6b339304951e8615a6210aef297ca2dc5cb2be03b0a05c3c547df70ddaf0d4fda7284936af2e9bf1260778b1ed221e1de80576228cea6031dd4c8be40ca29218110e979241a1a8a2d8d267ad58ab084342861c5be1260b1ba0ab8e1d32f857f7a59a1ea99ee579ac0fc1bbeeb11724ee30532d6a24a9a04498e2286348e18395d02b69dabd8a478bad6944c058cd3b26a77d5979926bf80c008f49f1304603df887fd64a2f212ba1f2a5be1cd3126a115048db8f91fc632260b6ffeb02a0ab25dfd208403fa3f13c23f74a46bdf7a3ee2977d8828975a9ad3d1afe27dc6d68141d24b31230ae84141d617e1fd67ffdff63f006fdf1dcf"), }, }, }, }, }
View Source
var AlphanetParams = NetworkParams{ Name: "alphanet", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkTestnet1)), SeedAddrs: []string{ "/ip4/143.244.176.180/tcp/9002/p2p/12D3KooWKUMHDGvDuJjSkhey1Gz9kYPpt5Nw1wpzRtt9xwYWF1tx", "/ip4/142.93.66.176/tcp/9002/p2p/12D3KooWLoQo9F8Et4qn8ikHPgLN15fxJJJt9hRADNHoApcNNtuk", }, ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9002", "/ip6/::/tcp/9002", "/ip4/0.0.0.0/udp/9002/quic", "/ip6/::/udp/9002/quic", }, AddressPrefix: "al", GenesisBlock: AlphanetGenesisBlock, EpochLength: 60 * 60 * 24 * 7, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: false, }
View Source
var MainnetGenesisBlock = &blocks.Block{ Header: &blocks.BlockHeader{ Producer_ID: []byte{0x00}, Height: 0, Timestamp: time.Unix(0, 0).Unix(), Parent: make([]byte, 32), Version: 1, TxRoot: []byte{0x00}, Signature: []byte{0x00}, }, Transactions: []*transactions.Transaction{ { Tx: &transactions.Transaction_CoinbaseTransaction{ CoinbaseTransaction: &transactions.CoinbaseTransaction{ Validator_ID: []byte{0x00}, NewCoins: 1 << 60 / 5, Outputs: []*transactions.Output{ { Commitment: []byte{0x00}, Ciphertext: []byte{0x00}, }, }, Signature: []byte{0x00}, Proof: []byte{0x00}, }, }, }, { Tx: &transactions.Transaction_StakeTransaction{ StakeTransaction: &transactions.StakeTransaction{ Validator_ID: []byte{0x00}, Amount: 0, Nullifier: []byte{0xff}, Signature: nil, Proof: nil, }, }, }, }, }
MainnetGenesisBlock is the genesis block for the mainnet.
Technically this is not a valid block and would not pass the normal validation rules. The reason for this is because the genesis block needs to do two things ― create new coins and stake them. Without at least one validator created in the genesis block the chain cannot move forward. Normally however, a stake transaction cannot stake a coinbase created in the same block since the stake's zk-snark proof must make use of the block's txoRoot which isn't known until after the block is connected.
View Source
var MainnetParams = NetworkParams{ Name: "mainnet", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkMainnet)), GenesisBlock: MainnetGenesisBlock, SeedAddrs: []string{ "/ip4/167.172.126.176/tcp/4001/p2p/12D3KooWHnpVyu9XDeFoAVayqr9hvc9xPqSSHtCSFLEkKgcz5Wro", }, ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9001", "/ip6/::/tcp/9001", "/ip4/0.0.0.0/udp/9001/quic", "/ip6/::/udp/9001/quic", }, AddressPrefix: "il", EpochLength: 60 * 60 * 24 * 7, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: false, }
View Source
var RegestParams = NetworkParams{ Name: "regtest", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkRegtest)), ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9003", "/ip6/::/tcp/9003", "/ip4/0.0.0.0/udp/9003/quic", "/ip6/::/udp/9003/quic", }, SeedAddrs: []string{"/ip4/127.0.0.1/tcp/9003/p2p/12D3KooWN2RRWUokkcCjrf8zypvHwGv2u6rUepFAXheambSst5fV"}, AddressPrefix: "reg", GenesisBlock: RegtestGenesisBlock, EpochLength: 60 * 3, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: true, }
View Source
var RegtestGenesisBlock = &blocks.Block{ Header: &blocks.BlockHeader{ Version: 1, Height: 0, Parent: hexToBytes("0000000000000000000000000000000000000000000000000000000000000000"), Timestamp: 1708697633, TxRoot: hexToBytes("0b1d865b8517f47ea443582b89cb6002748d1515b1950d3eceeeab0d346b3371"), Producer_ID: nil, Signature: nil, }, Transactions: []*transactions.Transaction{ { Tx: &transactions.Transaction_CoinbaseTransaction{ CoinbaseTransaction: &transactions.CoinbaseTransaction{ Validator_ID: hexToBytes("002408011220b562e48ca118db0f24a53cfbae9f6a3a67f863e6031595d643b7d891621ac280"), NewCoins: 230584300921369395, Outputs: []*transactions.Output{ { Commitment: hexToBytes("168bb827bac316b98b5df3d0cff30d9ffe799ee2975e1e2d5b489490aa9e2778"), Ciphertext: hexToBytes("638f962a00b3a199faf3e4bd75333ca8408f26956b967bdbcc24141b9e01996f659e89e98c591f98213c66766121661614ef29abf3583f05d02a008c64a43616ee4a5d299a3810597fc0707c707c21a10fd6e844b2e64ff55962e3352993ca84f5e5d4ed77b8ee02d762c4efb0691c26cdd7205814b4277994d2945182a11627e789f2847fe825c9841d8443f853cc9ea49e508257519c05b298de6ee0d12bc411d9852c45f651225025e97be8748e0a6ca189c5b7a7901e9c521d9d577c9bc91f4269a42c18b7e02fbf2f5f5751ae3544f96e26536158ad8b9a8bf095f46464299aedc51faf6f76579f3dbd6a38e1b0d7e629d92e47faefc7a71326add14d819044ed885f37ff286539d0abafbd2aa0c27e91d3dd8f27cd"), }, { Commitment: hexToBytes("173393c878dd397f72760d50d81f3b344468bff6fdb67b1c13b81f0d5a9b35bf"), Ciphertext: hexToBytes("2e2c27a9325c1540b708c178f30b2211b4e842e24ecc4106260121c775f60d3884aad324a7b3e3b81d45ae07cc4f5c947affbc537ff5b7518df35c6f4cf1481c8d5bee052784bdddc3c85823aef4f354e47ce5a25f2c649931a1a238748ca8a688ee41427ec5a48e570a3d95a163d4a595002cc3881ea1d3a6c16c8bec739a00db997b1b32cae872f8cee9d396b44721bfe95c09e62ce5ef31645015ec35582416f4664039c5c55c597e1e29493b40e36f5dbd4bf9f25bfacffe75617fda9cd7129be408df8719ba4cb8d72d9f935d6e089a74902b5258ea90c4401936df281b0f1cc22da20b6acbea1853c1e361de5a550dd0bb071f6523c881d38bbec462386fc4996b74b7a9a24ddc6fd0237c22fccf2337d046398183"), }, }, Signature: hexToBytes("30d695e3f212a9dafeb0e5e75ebce08d01b714afdaf17aeca6b0dbed3f74073c8cef2281fd38af9a2d26cbd398115b660419e2e06ab7cc73af69fd26b4ad3a0e"), Proof: hexToBytes("37ade3dd00d7a5194a70ca9d2fe46d7b427d120be7d9be07c5b730f953988e1c789ced9b5370e5c1daee9315dbb66ddbb66d3b134fac0926b6ad8935b1ad89cdc9c44e2676ce5775f6cac5b9387b7ff5559d3abb6a3f377dd1ab7e4fabdeeed56fff41414040a040feb79af8520e88cba9c61c508cbb750f9aea937b1af34361f2ab6c19b6ab487532247abb443475162a256cf06ae0afc4eeda0f0772147ee6596e7322be1c6c363a8a00fec1d902176da8b0cda0796d862d892045fbfbc289a10dc211d3c9e9d4f4da7c318204177128ebdf59e8fa577c91891e15d5d9237bb208ae4966a3a421b188fa6e9209c13a2d43a1cf9021b3d284f88a0db29710e4bfa5c07f560f00f9ff4281ffacfe3fedfc6f29f09fd5ffa79dff2d05feb3faff57ed44f94709f62ffe9ec9d088f297004a4b7ea5c8b6e6be546ed15cc009144e3e91e55f48c6cdb0115c036dc324e3fe3a5266c631f493e5c05267d51f8554255106afcbd39b163b1ad8401f7526b4f6f6a224cb6ffdc9d60c8487e61be0ec5be8cc6d040c627cc60097680aa3468bf54cd5882dfc4df2734a5c1edb9f0edafd09acb48a2a4d0508ed62fee0478333aea6e592828e430c507411dfd16c5cad44876424c2bf2b342098d2e763027d94add50dd8a50c897dd87866d3a1c87e2c168c9becabec821a997964427ac530c0e0017ca28c264a6d6bb83fca439451906079232d1286bae1108e25c0062d686ab77677ed72a8c27945d2c38e19e6a2c1bd38667d210acf2889b9f560f34e20813e0d27b70462bba52883545122fa7aa010bbb8a75c491a6206ad458ab1c7cd35642cb210fe1467720b41df5447153dd07cc8bb25eec798ad31ce8a4cda6e58c2e048f833dc910b9489e57bc25dfae11aa27d131ac56460cb24b63c428d2b63f230803e9d16a7b504a6d0f2df51d653d2908482774a2b92a2d9284a760f2916be47cd132fe803aeb14c6b872a9a974547e9108ce8ece613f9c7f479003dc1669b13a5f05eef2c27adf535a2d8f019184e8595c4f64386c8468c1c5f7b54009becbe4734401fc4d827f68e79b95c4411b24addbbb62b5a0d69f7400151b8ceeac8f63f18aeb87335aac2be0b33c6a214192706902aa786a265a00426dedf1e629394de29c5c1a84533a75a5058025219985aca5bf978a9dbb378eba2c261bef44978a17c9f0505fa585d1bf4a41afab215246e48f32923478680c9ae1a37ef646c8778103ad6be511204915f3c824ed4e63598e3b4b64fc5cb1da3e225ed2f36082b6cefcc589e9131f1de1b31f414084fe88f7c1733279e8e65d58def95a76a6c9bdaab61eeefa006fad8911bca67e6ae9e71f4904c6478dc24a18be2fed4dfdac2849cc238953827863d3a4d5026bf21bac2debeceac00707c475aaded870b12bccaada120bfe79227c482d99065106c42f7a392d81103e4f16236db227f5926d936f9ba47e068408205f4016389f26f79019184efa066de2fa1edf2608fd77141f96d7d933043288461c2389925e825b7683034cf67edfcbd28c48eddf7012dd347510fd2c97912035788cec0e54a2735491cce255bb47a707d5b9e9f3f6384a9df7283354dee72feaaf2b33f9594355e8d9a2797808e23782f0bfa2aee9100bd1c72ae16823ef8cd7bcd60c2f5a04c4d35975d02c88c8944cc21a8dfabaa66dfdfd5e66e9ccae52968451bb1f6f7f28d981ecc32ddfa97431eb68613c014d6f2b9ee6572640fc318b9f41f3ee787937c2be87bc0eab8d65d715375b915f2c889410eaeff28be0e543e878a0d2592abcb3e55b733577870341924613ef91fbe3f573ef393bb841c0306a8a6fa28f0a596530cc3fe136fcf3bdf8258c2e3ecc1d98b3d99fdad15bcb2924e0502c001409f9816dcb3fde8348c0a24bcd052e3d8daf2e18f1a4eb754b7487ec97506afafa4f98494a032156050c5fa9bbe9459fd04396aeff546a8141013eaa8cc54619144161d4b3a9b71036aa7dc1989018c49984318104cfe2f1fa062b5bd97f167d4cc409fbdfbd7a0d3665ad3c2b273fd35cb5bfd2b99e69c45fbfc348aa051e7efe301548c37a484eb55ce132be646f4a8bf986287d450243b3f18312e9211575860dd91d18f402968607ad7f2698871f473b8d4d6dfd485cbfc8fe05cd8be0a889a0480017d8ceaf23361cbe67249604544446a531e91be4e69d42073013818359b3a5c39480dbf7be1c04890160f0bade4ac4f16b6eebfee6a797c9f02eb133ba393b9f18734d6bca0c80efe61c6cd1070c6ef63bba052fa9e4161996bcd0560d46a4df4f88c3b2a1cfe01d5bb85b9471b8a03807b9081dc3101154cce93fd5ea47bdd1f6f7ce8d7c56ce1de351bdf8358ea7da203a7d6e838136f7f3adca2896d4bd0c2a38492f49e83d99129953da7464b69489ed73879a683e4467a202735e0e36e1241827fc65130512d317aa37e9234ac16836bbfdd616e809e401e6c83a97741996d5f49355180d8bc5d8d93178fe4595adea477dc6f75bd05983a52da75c850b06ff00be3e0018cc705aacc64d271f188a5e7d894eaa4a448080fa394f163d68728437f3768813e77ea5fad04fef0382c1e1b153204a235bb6f3ed34404ff08a1afcde6cb191cc5537a8e5b24f0ba61aa69c79f0dedc724f86dfb357f65f783402ddab9056cdb8fd050165552b7c701cc16e7be666517f6638f7c49059dc932f3bc74fcb9a82d071c781e2fa636d97f36013bf87b7c1cb5413d8947af84f704a0ea8c9fa2785a4b769325c6747f20181e20389df80573ad0f37658931127e2610388943dc499b0e5e5e4aaae8f1c529955b0d0061b322ac71085f375ddb1397119c6cac3c05502aa86c8105f98ffea3ff8180eb544489089d859fcc986420f90e033924296f85f3614b8ae75ab198de48effc09e4df5da8ff2881e75d0151e37bedb7b486228e6a32debf4eaf4a206d63d6aa4bd66b45111c690ee080176dc0aa82a16c925401a1c57ef2b79fd29103b629c1da58dfd1f440438a00b840ce043e096258806a2f45c8e93b796a3ef36ae012e8ef190830d437acb60d2d3f62db85b2d9fb1012dbb7edd500b849bc8c51b8fa293aa71c30e9671788b43e470820c718948f645c3397ce0a1e0cd922537e1c6cf0e7154371a56dea4af94a0a92352276fa5140086be0fab6b27d1f792faceb1ecbfc42dde2b09f11d696a60f3a23159033f50ba6632eb6376ceb2c02bf7b5f2427c04edf5afbb85ecdaea2def178220c829016c37d36f6a28231bbe59a86c35de76fb902607569e772d115f03d29e4901ec8213202053f3a51277abf73f5d71cfba24129ff6638806026b6fd8a93218e23088615c5a43a1ae0588f06e306953ff3b597cd50c927e938faa36868ca2ab4800106c8811de6192c3ca947b11e256c3f0d0b9d5c39d31bdbba04781b551bf623cadc630aecf459147db00f87f3fe392cc8b7e933fc1087a79986b3b0b2257feb9a1a620472aabaa2ddc76a041f0a6d2b8ffed6ac704f6bf6fdd7d00b304b16625a10018a11d996365366757824a10a6c136ca2c11d06cf5ebed7eee43256c6545736648043023965d4912ebd82a1ee3dc5cb7721ea353ce28749a2c137ba981efeccc610a7622417bb0931a2d174b08e9cd8cbad14e0bf548a597130b7b36a4c0a04e7dbc3f989801cb1a3ab93af28f7492a1ba0369dc1ebd6897875f0f6d9775fc23bd3661e2a2998a19a1b79217da6d721d6f89ee8e906c2bf6af75816df850a37e714acf08c925200391da285bd0153c87a512af35d90e76b80f610ac9c90d6e636a9410a3c2e256fd2c1cd482c80fa4aaffbed391ace33403e5995e3ed4e143b725663df616bc60c00e4c025f8d9b7156766c6b3103ce632fe91943a304ee1927345fcc8c39d51f6d426289cb99573254fa02b2e8552b1e76944ba52aefd4ad1d3dc1c1d19c1cc8803c90ce4a07e5fc7769fc46e20875a5a840e8ab1cb8ad23ce136c7e74affebc1b053ac0f76877bf3b75df4f456016620b202b4d5a345e1e69dc82e5e0165eaf54fc68f52582067da3cc16c3d700e2976203a8bfbb4207f96beaf4de396542b46bdb4826bb20d0fc1b617122d4a8f718140a8267db486edc8ee6ec81d30ef0221e9b86383c7f939efde59d9d52db3f0bf18d8be09c51735416faf4ef0eac18bcb4b73c7200ae5525373816238c0e729fedd19df89ec1fb813ba8fe3543fbd215375977b818f712f84077276364a3df9fab3e7fb0caaf568befd4df2f6d778fe0b36bb5e864931c9b39e0a4280485d4e93154832251df87e1bfc3bc126cbe0c0a1a6d29deb7466cd5b6c8314c8d15d1dce8fffbe0d1d7a34fb2cb7205a2066ffa5ad08d1a89f8f04ea9e8ea089a09ea46f3be53b0b23b68822d21ddb26db3a1f6c98c99f22622ea6bf3bc52a8388404ea07d3c724f575fc1ec856030003d614d7bc515cfcfd34c6af9842031e16724a3210e4d153c2e2ee106c7c251c6618f16a59d7975e1563daa02a2af2d669a1c099033ea52e8591a5fa1aa5bdae936c592c2a8e9c00cd1d4b41cd84fbfc04e02a347e75b157d86911f699119a2d10616e56003e7793c2bd1ffc8d98c9c73cd6475810a8cfff3526d5f19457129c6d737d51ebd6ffdace990be22dc383ed3e386e3c948b51280fc9b0b78ff001cb76bd31fcd6c600e55e99bb03a012cde2d236a7419cac115ece6fa787ff56aaf91bcb9330515304d13c1b64d30ce576133cb8fd4405f44219db96cc27be77cc930811ce495eaa3b3a44bb51dee541ab5ccf50ed38d4d77fb9abb259ffe5328a1923ff41234d4e93e7063ef5528880c8aceacfc58f3fef98caa263f904a2098218348c9809c54e36be53333f7e6820badb602d8f9c4a73ca479b94e055778f243f975f50986d7acc3d788b4a64a70a8f2da53588104b21592a8d83b971810a5ad6fd859eb60408ed42b9623912affa0a22adbd65258056ffc09264833423606055c0545bdc73bfde015d4f7c36f38da25ae90da77d94e02fc1d27c859512b6e5137f5a9f76c8ce8400e2dc1c64f1b7486b9890a15feb71739b8c4046a1337f5f2e04431aae2c3d05a5c96ccf279b90b198eb1144e3f1270d158857849ab097e4f5cb282fe57e95a48accf7d6d84422ecdec5795443e2edd69d4193eff2332ad5f9002d40f0d468c7e8006ddf2c5129977231127cc86d12cb7bf7580f5d64c6def12466a277c6ac73ce92831903384e996927b3b293bc8aa2d883a64d702f0bd1ba9d00cd38d1b27692b3124c60f96586aafd0a734c12b324e7efa224bdfc5d9add4dc844e9d7afbaca42ab8890de4acead686ff294e445d841c46f2b17b9005775c3746babe70e9a016d4b9e880a68234e6310d2de39be37617572bb35cb152f106d8ad9932d6dc60ea65afdc0b7ec6a54128aa840114e460dabdf1380ff23915e766886ae1bbc14bf503bea318f944a4e99df2b4310c9b6ffd645c9bf587f38d6cca7c332ff565756c93d0bf9c85bf10023922cc4b36711c37feeb9425086578e4822388226bbbb9a01d997fabac63b419703e0ed6142b56294aedc20fad672f7b562f63502f7234788fdfd6ce59b2dd28c0811c1649899a892bc1af6cf34af37129b7f2983755eba997f1f1d18fc64292574ba8c4cf895543d947a54302f9d491d00b4dab68bc2ee68b76ab322071090ad83ac8404e0596885540483b181b9b50fa0fae5bf5988ab3888bfe3082b09851b89fedf674e8fd4b898885e9fa1825311b4e52c56aaf1c93935f468c18355c384d756bb93fe73d39977b359d945d06ac7a049bc74ec93ba2aff75bbd6a51d59d337df6f4452f3940aba1492d4c91862b7793462073bfdc36a93e1bfcfbb6e5f65ce8f4d2aa0ad3e739cd656e24dc57f4496817e37e2d5e3ff83a327c2d874ce558728b566fab221b9ef59bef18e83e039dd0e31e7dc1b3fa4cfa94f1d8d99f9e3b0ef5def28dec31b4cf7d0dca69354ca6eeb733f3b100ccdc6950338e9f0fb5f50c3f67f457e924fb37eae054ec6e4a9d161588da520f554d08e85c7b38f36e06aeb07b2dd1b04915493c2047de0aafdc273411271697a4d0453009ac20840ac766ff395132e1a0cf95a91b61a8165623269e041ba55f329c9a62a8ec9ba15a9d8244e57ace9336ba8641173e90e3720bf6b6d93a1eebfa6c75525158795f8f26c740031ba6ef9b8f4b8bf3a790aa7931f5375730b8e7303473ef92662ef7dcc9e3d2993bae75eea6b2d77a733501e23f3821f03253313ffcd8c6a5ce99882d2f41dab105856152d9f95753fa8b5d6f21d041fecd152fccdf2851351af323802be5276a34197978eab975e6965ba3b6367979bb1923c8bfb990ff5132faa0a539a3ce885a213f6472f3b573de0bc2dbca12598c30fb3d0f6af670131daf4e1730fb4ee2093cd5bb5bf17c59e25ba0a45b5ffe6d89c78015c42e2aca003f8e1536e36a9bfde71c4ef58724aba2cbecbdbd1e75f063ecb5266ac89034c21529c9f0d06574bfc2a4411f9607384778225e09a20dcd9186a6f3b4f70a1304e687878036878487ffd04af00fcd3a155a5102fdfcef8addcd7cfcf3e479dd54a02b649821d670a9d6c1bc9d54835e399144875a2cda15d4f9cbe57eda2dafe26bc6725219aa8178fb6b5a9b50550c741a46d2467e433581773935ee36ec9e94594146b58a025b052e6025da0feda2f8746fcbd44f53444eec357af817e804faac1ea9ae0aba4545043d04c877e699eed6f2929ccb9a7eea38313c8841385e0c395fbbf9c2374dce330c9a677542979d22fcf667625628424127bab3d4b825614845325d8d1300a1e6a04aad83d90e954ff22a6777ba46c5af6ee94f7391472a94f87fe0a6a6a66584cd310cb4387f79d167237678220c1b1a84bad342662e494bb0f631841c69e12e56be5b879d78bfe422a456c4f5c7418b468531405cd2d28ad8cc396dab1f8eb125fc3448c854e51ce056369ce8567b151db2870946822476d006d873bdaf2564de473f4fb7fe9e2927a764a7d5cd10f17f7c2a25240c9175a3a419f6ff402db254912e3f8fc34e0161a2560883478f38dbe2620135e8f8bc77079e53929b8b2b75582cbe051b2bdbe524978fca96f4415e3be9533f9d47004ed2bf4170814e877cad2d8586fe168583d8fb328afef8771b3481f5aea1ff7b8559871c61220c1e0f8a81de0f09c10b672d673b94b8ccbc172d9f25065a7d68b52cac200ce52824c22dfa88f819cffd9f1d0c180993fb47f17dfd795c9169243f7225c2186dae5c4206667e1e7810d6c358471f0cd8b9985349ccb0b0cade9a6c2fecdde16ab34892f6a4a57b65a60f61c3183a96a4122c8c8682e06a15057b401ab2789199e3ed0ce18d5b71e037fd1d2f70648777eba9df0d57827dd3146dc59173bca0b2cf43921cee3f1f58ee059d5682422ae8fdde351b941b4df7a26e446584c1c6dcc483dfb3348a116594474f364aedcfe0d26358b33ebeedbff3ea6410670b8dc22c4222aed347772958d1809c27b7ca7230ec5ed806fb93d124bab56467b199be981ff73ad6dafaacc9f56ac5b98f2f9a56bade79b620ee2852c0819742c8866e79d19f9b4cc45a5dc771971104939e2c2d6803428a7f45fab06afac152811a4221beb21a775a670804321d5f2de1c0c1078abcc6ca40ee7912425ae674511d8cf6d7af568f717f3f4ad278fce9927e08ed473010758f1d12083aae3f22a44b54b3b567c959da4b692cc35e71ef10a47083136d039ed5d9b80da99e9199251d74bed477d59063c4a6ea91df92659b4d197282203b0c29f7aab4064d34b20f77f10ef0a2845a067616b9e5747b72e8a761340978555e10638557bfb6587ec80d1302d709bc5f3f654007b7b10a8e2635e25d5a850af987ff7978ec9057ce56575c173132ac8f000a43bb0e33d5dbcbdf71885f84dd8e746f733f4e1f161f8503c81605188fba681b05e72895bae58a86962ec9d7cb181df8259a57b23d439286d6209c284a9eee7f0264732e1fb1afff22b5fdf83a985a416fcb600a97abd9208a3ec3446ed5ebe4bbf59b5469f7ec86aafbe0775906f293cd5e1656e0b0fc219dd0b219438d28cee2d6a4a64e2af71f074e15e436467c515a3cc4dd6f4a48d115ca0ce0f816614eca5ef67bb33d07b601eea21fbafecd7c916ffa958584bddd4e424db2b8a1be4f351e697ee7496f00ff3913e1ad87872ffb895ac54c501138d788e3c6340356bf6370ae06876298974a717cb3f86cacaa1cc8cf067442c2f1bcae09a218aeb79813b0d1a7fbf5bbbe637e43d07f685de1d7a4dcc2ec88eb8054c3b6ef24b735ff9848747d9e1bdfceec53d84cf187816352dac1a7937ec715f5636c7d01693ef1ea1c452a5a78bf6ee3950b9646d60b349c3f4781c31ab707fb60e6d8609817005504f8f855c3948c7955772beb6433ef1346b0920c8016666e105a5653bb3ef984b3a2a4ab9ce3416a6a3e745c5a3736ac0aa250989ba7d7b7a39708e1f2ddaecce637669a1df4b42cdcad633d655576ca1ebdeecb0657e059ea58eb30de71d066c724db83a39aae6949c519e4089a77c27dcd1f452b5373852ceb65608e227d33b9f96da53e4bd3e915aba977385c4dec482f87c19dca4b580e158e850d5c279d8c481f704ba4b1fe17b3113255092b49cf3cb77a8b146bf6182b0a2e4dedb89a49522f904e9a305216d30a2f7b88eabf8755bfe45287e435e485577689c590b9ef782ff8ded267e7cdcdba3c87e1a4cbda79cd90c2fce4ba12dfd3ca270a67e0ec54f74b85c6748d261b83118b10e139e9d982a5aa6677d1650a7db8f7f80a86193af668f32e25133199451e6a7270fd51093b71dce58a044abd71c6c6204bfd12f04a48798034c2223c97d4f5b120294aa5fb040583a018efb4aed3e682cc04bf45f3b5692277928bcdd3a5d10651b0d793566f82443eb9485750fb07c500997e96c8ad16d6377996f5095a7fe479241c41f086b0ea9e945aec2888f1083b824e754aae9826dba5939df30cd4b0b26152384de83ea674ac88c9bd5305a94774167c81717216bbfced6fd5b2553c1facc10d255ddf631473b9c1031bb855df69b016b51d8ea9e3b8e70cc194e191b62c5e0cb8beb442b82809c94f045f92fdc5343eef5a3bf2d7c21bcc8631b64a848edb94c52792b3178f4f75a74999e644a251e3100aacaae320ba5721ee8f6056a1ea4bfcb85ded90ce4e332dd547a8fc0b316377a174dd4cebb129aa48e9b344042880a0aa2dc52caeb7e5a29af6175186bcc07efca3acdc5dd67b029723c0fb2131fb8298a525e6c0cb3d8ebd7d2bdd0a251a29e15c165d092230e9df9bf1bced553087e418b9d1e3631cae4120b479468457bb9e13c31f4713a38e9dad1e32eba91d375084b52a061341ff9e5de6144009dc7f6a2c00bb843fd102628ff9b70d57d30757c0b672bcc64d473aa5927f9d8f17d0fc729cb25d67824c4fd2a6c6d72e71287c15291cff5b407cdda50ad1493519834783f5ab905ab4d12d59a8a7f28526b170b4695124417ca6fed66089b339e703df80948f642281d1797de894d6ace3a5188994cb4b69d21eb18ae526fd15b750c66c2ace63e627e0cf4d2714f1090a514c5a0517bcf3ba8bb401ef1727a1c82314d8c4940b61642e84af2d1af024c7c2845acad68d7d503049a8a9892aedd186d6ca4a599b3f4c9abdd7fdb037ad5a7c77d0e3e075fecec1ede45d8d7a0fefced900cfdfc4e81495563c48e5e02a248c35965bc5da676f25321ab61c135dbd935e306c0cb720059b533446db0e2265807486adee53452b8261e21e0a5922c8713b8a2690cc6667ab5a2e9ca9a8826e019370fb17dcffe35cc787158d6d8a1096164ec621f6eb5761e85acb21553775f9884ca9d67233628212b01d038be1e5a1855836cb270ed8cb3d0e5f2bfe38a0fbea9246cb5bb185837457005caefccc4742c69db1c88b05060506895739b6296fe407123ae972680ab506417dae85cc2b5a0842edb774ef99b51ea5d4b1c89d69a91bcc40aaefc15db77a4590fee1f3afbebb80a6a4d64cfdf611df892e9b9c0d7dbb12437f3a0246c76cc3f3061f956ac70779ec9f81bb53136922d4068246a63c651bda140da17332973961045f7a96d74904f4292af6e085fc32ab67163e73e2e12e364bc8c106ab2098b03860a19c339afd001bb7305409812cb706af1f9f4575f53c92393e7114f1d55595a040368008299ab1530123053791745b53b645652da891a5193e066d77ef9ba01822c78b4ca8300cd0c72101f3e04df4940fe66f40d7acc2c8e1f92396701866dd26bd27316dd42f7a02caa4b75a3517b71b3d763dee2ae717328bbabae61a993eb921db5b31848c4d345a9d28b62872e4fa81cb4e82fce3e2ac5da33ecef399b0aa96584311244b4b92cff7033517a9bf45b69055feeb46324fdb12008b24fb03bff47a9f961e6bd85b3d97729f328371c5c4263b988546748952a19ca877616ac8bba5a87099b713633e0fc3f4de44a511ed78a39c5149284ebb3e734dafa3b152e10b80da739109d7d1f9339f6b20259d0d4ff3fafdb510e6a1ae78abb30d7f7f55304318c521546d4b513f11c0a6dd69bd6f3082e876804f4917c22ed44858998619c2666211fd6624c76e4e069f8d21164777d498d3a17f9e022e47252f3ae939306bd074cd30b2afa2ce0d0ff419cbd0ea0ee89c0731a01c77c6270f84ae79a4a25a3287f5ae6fcadec5422d403d5a82506f5452916270826ea29d6ed5cf8f4098d14691720295835f73171323b639e8a75571fe2abe7c295452be183332d923c232d3115c0f973d3b4f2efb4c06f4a136cf40e7f182dd75bdcd612c6aec6a1813242855581efd23510e5af32531969a541fe14a4b16b64ab8d4476c761972283d22c2893a992b6f56b00d75bc7a94425a4986fc7b17bb99393ae8337246f7337141a4668088b0665b561467c450c7a7cf86fa8ed66ebe4b5829c1f4f2830e1f279d27dee4baac293f8c2ba695905417c117ce47ed5b5b1963cfd4fd61d47426df8c013fd27e3634a1c067be2f4b814d28dafba741e3a3c3cdcbb63ecbd3e914c30bafdaf73bb69743ac778e335ac85c9fef558ed437a18fb95dc35d570e58d39b947bc106cf17c792e703e18ba857f33bce205ce985c8946673b50cbcf85a2934b874f068e952e63ab3f1da3fe02d0d43abd10ef410ca04a061165be913f5f58936fcca3fb20b2703992386e9ab1ecc2bef08803e8ac67dd67b63ebd0a2eee22fa32d17aefcfe5aae0d7f946adaa8d7e35b4c6d18398dc1b11529db087e4e3434b5292052a8a314755499a39862536922d2864733c9fd08adb7633b0e633a3fdb7f557728becd6f501be59221ad3ac3b2535488f88cf71abef41eb51b6d6a5c8f83240857e2dfc01d5a3f74a9323277b9210d1c5dab184c7b78bd419e911f17b60c8b3a4c3155b80383a8bd06c8a6edbdc8c952640698f8145887f3b98601b97fe2a5916c61d77c4ea9c54762af53e56886c1aed0353ee7e72e5dcd2fff3a4ee89d9bc66a088c75a4ca658fb19af02078d8489bc00420c124a6242069578f0a5dde373233e6b2ff74082b5c38c13332f2baf06d0f7e9696beb819de651a35aa426eadd6663b03354ee1eda8dd26745f62b8d9079f14e909f5331eb897cac178c12abce1a652b52317668dc59706462f9f7e510d57365f1c0943bb49aaab56a3a104719dbeaaa930d1f875f23c1e6e096ea3ce21f1f736f8520e3508556f1ef54778b1521d7a0c47be5204b558b661062197efa586d5c747662d0ed0e7f13dfb602ab5232b558fef8c46f8a3c493d7a191a6badb9f2abf9721f2c7344364feab3628f66137ca6e63a225d728645aaf73b5901dc68d11192b6bb935003ba0659d778ab8a8dcf4ac8c1b7ced449e174b3f95949f34fb091e86d56d53f933eed4a0c2e294643de7171e20faf8b33128403c0dc68f49055fc8816257d44248d326b43df0428702b2840459234fbc25e5e95cfe84b52f824a7f73bba3fa01bd873ed970f2eeddfef5cbc2a37c02d7a8eecd00a45ba82968c075b1ecc96524fe39084ee719cf6cf78bef14842b98a8efd8f73f168426ea8afdc9a972975477fe48f4586356f939e5c2faa6973521b3006629240ef54ce3a289c9b5379719c1e23ae220f7fc0f1945ecf98c58f7bd215f587310437165bfe9e9d81af40b10ab995be819b65f31d0a4bbcae7c17f6b79c09dc6753d7a677114193a463627880910aeb181f71fc0fdf0211f27a388919535ea72bc4888284098c40db5624cde4d0ef7beb9a3d7ce02bef0f64fd16ffd870edab8f26b40f3f09581ef71d9e3737510217c73d28142d067de9198cd1bcaf2a2050ff52f8d52abbbf5cf09163bdd77cbfb2c70b198d179657442a8fd6bb93392b66cc5126910fce06e824c0ab38afffaa7ea8c2677a9796d260e0de4c46e80f8110c1dd5bdf6d8735e9038baa7f373efee8ab7d2a402167ce3bf2553cc4384b90062124ef29dc9431dace5f54a4aa602f2d9e82ec2f90d2d8cb5f23ff33dc4f2172ac25f3cb514ad350226e427797816290ecdb14a49877e20308041e4e3da51896b97aa889705857f1bf49e72a2bddb01ebcd94b79b49a0c5255238e2fdcc5fbed5e3f372140431f83e8cfb6674b68fd7785492623a146760c298a929e1e1c24230eeffd0cad0ffb2db365e76cd2ac1efcba75c04e8e510977c0f77a6a435a40172a86e60c74bc511822dfa3d212ab256fd0a39b3bba36b17eca8350abf44878c11825ab9d7f4d19d48e882af6c79faeb35aacecbe1e1e97ee9cc212008836564ffbcc77c501c3e72ba754ca27d7a0795dd9fb7b1d8a24456ddabd60a1072abba12a7c6a5e899096fecd4af9877aaca5acbe14cdeabbce27b7f8d7113a0e86708bc25feecd751cb59d505bb4578ee2bbcca2cd96b814a8099a4f29a41e3db20de5d5db126caed1905618f641f4c579d6f6ecb4aa5835176e7021c2042cff26626fbd5edea336fd15ada1387995db44f0b0a9685a12fa9f08742e7d2fb2522efa3bbed8d080604b5933fc0987bbfb9083d5f1992d3200ece2db516a3a8f4f6da1cccddfc1ea4fb332fcb7fb62e6c44fef80d1d03b7e83ca90899ab09cf9f0adce0175de451a49667001e2681fefda133746922fffba3b5e4a08bd9dfdc2e4fb454821f0676ad10760a9fe3ec5444f81ecce15ec7d09517ab9211e4f2868e04b28aba1dda6e71d1b51dd0cd548a12395cd969bfad694eb8ac76f4e1c776f9de49516a1e93348105b80b27fccc376333ebb41d81ec7eb7c0359ba5d8ab990d7cae775444ca4304d7173154131fc697ab6b3c63ac68461b1ba57e9aec8a1a410c1247c21dd5beab42eafdddb9b9fdd99e25b4d1191bc8b209a9de9a2052b6a0a6764624706f9db89df162cdc70eab76846d22aead9d78772cf51a2da2c01348dd7de9ed501530842c75b4e4769cf711242087dddb58b13d449c6465b9fbb809a17ffb6248f1ea088f7e947c84cd5a60b91d933042e75784312ad94f23bb938ad780ecaec3a947fe13e6b5a631d1835a309dcff972e94f56d81e57fdb29193317320f70cca4f86de0b7dc1edfbec124df2adce9e7ca4b0c2b3b21b1c44fc8524bf878c990c42ad24cdbddbc1b4ba32691b254ce433ff6d023a8661716a48f8525241562796436be21025d5c53ca7758ef23bb1818084d00790c8ca66981ce24fd52d9bf64bac2983e263013e79c0902835568f308701f9c8cc6b8f4ca66f572289345a8b01578f20382dd0be2083b9cd1a0c92eda3881ce9ff8853bcef2b43dac8b7eb75534d51042e6c814f54c6a535870659bf90db3d8360be42f8e9714b97ad66154fc24d7d0363e017ce992424add8ab5a273d1fd6db5b4ea605727c93b7fb358d5c90b2dcdd6564d85452d81152b29fe508113b1f3077d284f130ac3f3c2b5d781a9f7460403113b0f5bee20af51c4e86925671633879163b7851033974eefe8ef11215c187e74aaaa169bcd8089eba99846e9014d4297ab496b00cf4394e2c02e34283412f5abf51c8b1dc522cd9a3fdcaa3bf18d9f9fa43e3e3f37ce65b9e732bd3ded9723008a95bbae669ba25d2fcb325f8bb64d6c01955546243f971b39cecee2e25b38426dcda4e271ffcd59f1b94afc3964dcb3f768e14bc469d3edfb32ce4eddfc0b1b7965278951250d024c222e565ed8e985da6a159210e4bba9932be15325de85ce81d90fe02e9ea87ef1afa61ece921d416b9f615e19890af938d01c8515c6125abe209759003170388ec5087dcd4f94eb8ba92622ec4ae34845eb0a05e9bb85d19f58f69d08682a308f174088cd1e36269cc3cc5154e1d80f4fe9925f8fc9e65bcd3f1c09c6ad13db270ad38b6b640e8fe4b02eec2b0326c688aa351f625b5a72b097a2f0036fdf925b0d2392500fd11c4413e27c8c59793aabf97fd67cb679e2dcff27a0594b7bc9857fdec2def0a1a3aab13ff912f3e1697df1970d2c8fcc0c481d62b3aae97c255e9b22ee70fb5bf8dfec28a2ebc445658198c6cba939bf39987a481b3295929c8b9b50571a00be3333eb4c72a522b0440d66ae1062be8bb3f129ce993934409fb08ce033a37a1ad62224177239617defa5af4c47df0d703283ef3ffb2cf36f7cf923f5140999f272dfd28035b556069634140e6783ddde54d295c90bb0f3a89488f1eff106550f84c5b68176d99b5394d98f840f4c50b758389f3817ec6df750c2d63108ac7fb5e3a5162d9a25291d8dd1abab6f2b8d6473c27e19fd4308ee811a3e78d879d37e9db369e9e8f5f0e89cbc844bed41fd4e8aa091c0b907fc69734ceae43da6b7a660a670c0fc11d7ec9c5607624e297bf63fae64d00a3ee4d94d67dfd2d97465659458e8d1b6315d1e67bb098a4a8df86f08bfaf8dd97f8149f71a113eeb6ca431fd29d77a6ac685a1e914e1750d14facb62de1bc58e8a801da006a22170cad56a574e87882f27ab3d9367af5349d58f32e056e083f9570fb37edb35ff7be51b6f3667a04a95aa331f295d91dfdbd0fdfaee920485276b52dc2d77b90e4e8ae7a74cb0cb558daf49a40f8637948fe526e5662a441f3eadf9e19e372a30239c1d5ed8ba19d579468bf013531fc9e476c65fb2cd315b5e0b3308929add90620f9ab9a842cd64c656f4652a42c938a132c187c8c4b20e2530f670cbf75d7009f71bc1bf4b1fd7e016eb64a30eacffe41ef6b37bcab1fdb631c8fd34f67e8f8787444b4c635ddf01d87804a73eb2cad1e41158b525ecb0489da32ca4580049578050d300e054c2929e0e0ec21c6da9178ac07ba517c4036d815cfcd41ba232c617699de3a3d4be38718a2e769fff0193aa89c37621d75e0e3e7071167a4d839a3289672573f57262b5b7752dfdf5b962f26abfe598c268f8449d4323fd58981e8635feb0a970de6b2808edb373c05d1b359cf6e8ea31962bce4f56b68b5b55fb698d59b116243ac87034a05b1e7c38750f34f92ce6f52285570c2030584de45341dec355fc7f8f179778df65bc2aa430ff69ffa274db10394bbdbf858a2ac87ee4308fe2932911bdec70fef67c56696dd56f59e9b1f313bcc4f0339ac6c5c69faba3335c638e0730811dac83cf5d2797568f1dbc97fae0d3bd55401240dafd80d3acaebf3e646c9dcf2a9cd308292cde98308a92ec24c1b0677d9f10529ca6a913774fe79fac5388a145ac732a104cd070c50a132a72a8edda0038652933302b448b5901f0e4930758b118fae0dfaf0938e96c291640daa81017b5be6499103d57d2097f4d28b29a69acc3ca94d988456b1e276282de184aefbd801e16dd4b1ad50b01237000565d6be067671f4ab962c5c523d5671dba7ce9e27715e36d45cee0d44a83038598352274ee17e70110c975299d953b33529c7d204974d9326ada56bbb7468ec1fdf8dad7c566f3969a90b10e73930c7232bdaf8da4fd40c9613756dc9133c2980f34ca14cd4c37653e2596b4adbdb56d3cff7f194af21563b88825da8711cb78a208ecab674ec6c1751bcf20aa73887e222c74e7c10dae83553c0ae4d58c3380c908e95a772d52b7c0898d61a8e34391f49292e230a9b06237b7c52ee094b62851399a354dcbafefbc53e0e6ff6695114ab993bcface5b8f92609b6c4a776f40d56fdedb96e405866d420de2ace19c992f9d9cab84e979cc52413b70e193c24441f3592bd3b09e25d2ff6040929722fa922cd02c4c4527641622f3a6877a925711053dec0dac7dfa72bc0c9938627dcee678e0b5715587dd4851824bd891e22da249922447315c1b19bc6cb5e9dc06005c9d7bd2e323225942c4cd1b1c0bdb49030fa5674905c3b4ace00131249d78c5258ecf6e558c6e1f59b7c781b547d5c0750f462a73fe72eafc30ffe9b87b6725e47db2215a86c7f068398e67f9131047f8c104248f104fb3fd3553f6e3dba251893560e267beca2706e7bafd8f1a1c2697790597da7efc3dc2c2810a345b1d4437cbc1ab456cf903e9554d4637323e2cd9c3666a9224fee1659eb51d55372fb81c47a8de3199ccfdd85bca73fd050468749a17620e4c1a0dc1b9bd0b812a03675a32fa614aa907c95f12a99b3fee461a2e866209cb9fb780139b4b7fba1642a0ac36e22dcab715aed25b74f718341e388f2aef62efdf27b9d7a1339e5c96d7e90ada47c5bfc4446a5d1b1fa6770fb2ebef718032fc8bf26c87f94ffec7b2ef9e882c4defbaa76046bcc29186561335ec1fb89aca9e2eb567615618e2b7d227890ff991091ffeff57a373e0f04e5ef626a3f6cad1918d7f03fe2eac1a118655991848ca0a11a4af04141fe35fd2f52789ac4"), }, }, }, { Tx: &transactions.Transaction_StakeTransaction{ StakeTransaction: &transactions.StakeTransaction{ Validator_ID: hexToBytes("002408011220b562e48ca118db0f24a53cfbae9f6a3a67f863e6031595d643b7d891621ac280"), Amount: 115292150460684697, Nullifier: hexToBytes("10a4ed9f04c1a8dccd57a78341c32ba0f8b9517dc271eecd2e508bbe7301a2b8"), TxoRoot: hexToBytes("0e4a29447763292bb4e6c1f87a8402de31cf2da2acb9e6d4a50e73d50e06467c"), LockedUntil: 0, Signature: hexToBytes("83334a6dc8a50e55b86457a44267b0c5842572d41f14e98d47bc23258ccc03b94500eca8f9a754c3288ee4225b07d53a465f6bf27bbe4f36d7a02638368a6007"), Proof: hexToBytes("bbefef4c7e4892a1549dd921a21ae346af99a056dba7852760d8d6db303f280f789cedbb5390655fb7e69db66ddbb6edacb459693b2b5169dbb66d54dab66d5b95d6f7467c6f66479f8bfe9f8e8ed3dd173d6ef6c55aebf7ccbde68831e79ecfd880000000e000ff7f6cc238eef56476b1b7c0f32f344a85620f41a35bf4e71f096901dcba6eace9e89289ab3ea7d56eca6cf265d2d9f82dec40cd368440c7d948161a20e837af550a03fd9bd31d7f55e5ac9c44b5bc4f29e91227ed4bb4fba9efb66cf7ac4712f8cbbe1c08746024265e699dea61e3630dbd88f777a38cb519164d2b5290f6a18fc2c0ca36c867924207eb56b36f3203529e77196d1d3ac0ff54f8fcd3752080ff2bc2e79faeffbf71fef7f1785f494d4115124b299a938e7b5bd43b4752b873f76635c6b36dad565ea302fd0f8f7f8fd3df75d32b0ae6c2ab3d6376fb54a12f05d1fa7d95f3158c113f7aae47744e90d42069a8b8a3739e407f6362a2fc984aa24f6fab9740eee06af3fcd10ee0dc08e4f29c082e1fb53dcfab7f2e71704226f23f0a31331aa20cceae183532dbca1ad17fc0734da49a99dab8a0498a398b43dfb059c60a91f3ef2f72f280aa6251a83fc18341fdc49ea0acab68e328b4dc1acaec35f91a67419c894a9f7215fe035f1000b5bee53293056b4ca7e23ea33148bbf6008825988e7f1f23e3ab416ea9b74ec3661c32d34329467ae0203125bd5e2ce345f2025c609eb99f5b011cd9766d5d0642aa610620c0ff54f8fcd3f5ff5df38ef8ef4fe0ffe4fd36be9e79c5032d8ad7f12232c73d99aa526196b08435644ec4b50417eaf23440b6c93e24d61c5a7950f090b1f6091c5b5577ee21d4f8a6bfea275cb761d46168bf74525d6f5c71687639b2da828d9d7d3fd870c1574b890a5776fb13fdf074fb22c0b0d033eccffb34a0561c039e1809af40e608eb69dc77e513370a387660baec2067df4062f5bb56e9ec19f390ec6ebce1255bdabddc29b28cb8017225dc612ad0be747a48f6663e3e3eadc71fe0c3820ab2f9e59982e3e05e4b2bdd16853119d21bf1abfa6bccf20c67f134390143bd220ddd7cc6d2f537735f610b97efd6bd075a29c278d83f826be9f472994294abb1b4b4efe9633cdaecfc0b85dc4afdeaf03ec0bf7402a32035722bd0c34de35ed5e266f3e866453dd2742dc5f3b461bb4de6819850c35914565e476cf51f17dcc15ab412277ab6c43143403ac67cd80059b9df65217c795dd12d9efd77bc91c678f8900ba28f71f7e04efd4b885fb026415fa7d141bf74a2d9622c978c20ee3e6414c607f045e37104f26f06cf8671a8ca83a3c8c08170b13d87dc2d69a57cfbee9c18e13f6799bb1d165c3f6bcd2c740ee18d84490c612ac62dae63f68863def30020821530e7c91bfa983b9e05e010f277217b823c88be742047fbf6f3cc43f9ca7b97bbfc8758280fceadd878c06ca1cbf01669da887c09e538db6b8e7902f6f46ee8d0442ae9e92e6f18cd529d89f0c71b7f72b58b33d2cd9f879a70784db35d0947b31af4252b80dd2b6ba3a2c1430249acabba6818517ee9c44ace6a168e4adb88a960578ab432864c3e98159f7a8dc8e77f7a7b694dee508311319dc3ff62e8d4da91385e4fad08a064c53aeeb416f05860d08af4b34e05e1b2bf7ef6224e97fbed87e6b2745b6e30b1090a9e65234f683742ac745d858ff3a5b3820d4149942691e0721330aa546cf0b8a648675a0a1dd848a26f16cf644780c931d9061a015de167f93364a2955daa1d1fac31be57daa910b07d190407b91dfd61bb5415641afe53ea3c6366dfd10f47b7957d9563cdfa657a1944f6e0d291e04b2766109a10144b6679716018d9a3bc909c37122b207ec0dfcea5bf5a7cf00d8fb665b1ec2aa71fe9f69d4f5fc62ea8cc8bf0baf69a50ed2fcfd6a67571143a2198fb1384b86574049c3e9d0a1fbfb7b9ad0e928e209ac5917dab575db4e36cd7775e776c1b527b3a15b9c2a2a01500d7dff5fed4cdf457c2b740a6e698736f451ec18e6b5725426348b0c8cc815732ce8795a58e604a50f75c0c98ac1dc57aeb15c3871a9720f8c9cc112c40b65e2577b3980ce1bb3dc01fa6ea9dcbacc045c831f25d0f6e90c34c4a9c6e1c153f25a2cb9dd725778c33accd5621b2e2532e50e34defa8f621c222b1d1d9cc26c61ae2b6907a5aa179eac79c6fa6dfbac35bfcb46d9211752792d0b012b2312bfda9ba100a0b78530c676cef7fa0b6e9125b2cae14227dcfcf02c6188f4e1738304b01973cb8afc5e5a9e5922394f224e08ad9ed1c074f36681b2d2187692cc369e1506c504819cb46cf4117fae49597568be9303a64472824288468e4b5236cfeb9ae272768d1347f7e45350ead39480c66296d1de13d10fa97ceb82ac66ff413b98cd9ec7bcad3eb0245b73b611ac85a789747025f4994d34b3abedd276753cd3accdc1c683f7a4f5c38513b5e53b2541e9a090c6077d4d512d0f79e7a96d97585a8b4a583133260049eba8482ddd945829754932b8350a443e02f1ddf5d250b54d6dd584852966d696f73f3d93df8de89014b46bf36df100e556b6c2310de45a45e0da4556a4765b4f09b82738577c157f8d64533fad7e9df87dc18468e0bf1c458d93a2abb80428688a40121f6187db5384aa1a5042bc770cda5245f3afbfdc69b20153abf6972f23bdcf473e6e58a135d3f6a2df37c482646f7da55c020ab2b6ff087dc814b5083673463742942f7fb95d676d2b42005c937f85b27e0cbbb3c73d49e0f127c3416cf9afa1ced75b1b2b2619b1b5daa719d9682765011bf74b2115ff3c919ea11fa907504030528ed3d95691b9c29d28a9f33f2763572b190c2919c066f64b56a80d79881813660a95a152e1696eb3dd79bd0f174c1fb1d805f065ca9fbd3b5853a37ccdf833b430f5690bab967e6a3ae649535f05ec483e9be74d2176956a5b98134242e2a8cb3b4d6c6a1b2e45888867f5324abed3a38b116c1fdda9e2e944774829079be9c9714b106aba518228ada48bd94cd62118aa349a1027036a86e240ea495be59f0c48567b13024cd8a58ad655ace6b7e1781c3c4c6f8da8f7b1ce1924a658c8c619360c3bcbb24fee22f9e55195350064690fb514efd960de92a32cbc64876973860e50d904dd61a46135ca09ab17b326897aaf8a31ae782f4d03408d8128f849851f2d24c340933ab1ae6b25335f6e3813f9ca3df8ac6081ce0ffc5ff30d2d451aef624c4d76c5e2ba932a9ca166c2e7406efcc8c06647024dc2015286990fa1299cd8e55a63a0e5550495dd33e97d773a151209e9dcebc1457096da5e859a73139d01417e51b79c83be0e86dbaf5e773c24c62c4f78bcc88fa20071549011fc8085789c55e0ea1b35b7c34f84cfd8977a1affb4eb358d264627ef7e922422fdb1d62eedd92f9ab3d16f39dc84e1458ef8b4b274703263bfe0801536d037b632b71b1ef318b490bd9de2eea7d48ac5802f5f6190e42465ffd55a7f1da450ff05f1c5f09244e3b013cb9fe24660812e02dc3add1d2f6db30b7b15e061db56886a437648300e0ff70c8c33e782e5c1b49a0f5e375fc7ca7e8e80b028e4fc2816af283b49372323fc2fda7e791fefdf9b5df1dd00fa9bc396507384a8de175f221b0c4f1d6b0053409c3f3644274618131c1d3ab0d335cebab36688c2004eb13e63d30cc71ae6e9f3ec524bb7e65e9c49045fae2702fc09d7565e013e2fa6d3217738dd69558629f5ac1ee57c1c3a97729d9375247ae11258951486d275c5bac54cc115ab477c479d20feebc2ba3925bb57617007d716ed257efac9acfc122182c184d9fe61530049871d43cee92bd65ca7a4f556650959fe4e872ffc47ab998867120d8663ba9d7c6e20b10f4a9700de0468a5442917c71ec73864f1aaa493e64191d2bc6a60295b39eb5a44799b9b41a86064ff06e50d0dafde25a99de8bfa4d8ca3c0f518a9de0915301e99488de1690bdeb573a5ff227f71b6e9b05e1405c209a8927498e3e07f46b0639665aa320a493fb045165faefda686b9e058ff4d44a1d7ea6e85bc8338b7ec97c86ab1057261e0f3f82a878f470efe7d8eb03622419cc1f3091559263e4160a58570c7998439fcf7c2346183c3a1ab8a7c47a692ba871626ecdd3a7d9e11bbda481a6224dc4f08ca58623105f552041df88b33f311c4c6f4dbe2643f3e0c77dde6be75a48ecdd10cc384d496da019e48a71908832e6bce5de77dff4c1f5cf1b9717762ed42d5b0e016b5dda49853fd3c2706fb8b830b18f7e3685656d49d8d0dc98d558011b71934f7ef59968bd9adc7afb3834b244581fc9747432cf8435088396b8c0ae0871b57952643a93f37c9c6c254e804f05f1c653bcb7a0edaf2d1a51254d560676bf21cddc8c173a7facc6da5e9124e317e7833bdfc1a12f5493ae6d04b5efa64c0e896c701d15045e1c6869464acb95879842fce91fe19658ecc9e1e6a64cdbb310b1c98205687956e6f984f9475dd4aa591158e6825f5d2e27b1db9a1ac1d1124c921fb26a0b58b3e6a375a9493c909c6213dd51747e5f1c1a3f4659ff0a58087a084096cea9209591824409dad5aac941ec6690e4469c59ecd599269b1a2e497016439e0745cd9cab467f7037baae67b3f251315d817071050b872521e118fa7fe329c96f260c35fe364ada2a4496a617516bb2b930bc4e8efdfb928af1d5b1f8cd12dcf522cb7c411a3f1e57324c3b2279079f30162fc2f0e6bd3a6e7b2f02c7de7f52941f78096af65a6bbf0982dadbe124486eadca13655b51294106da9c1316ec84514df5cad2d55d8d2849139826d5e4a7ad226941bda1707680bc95e8d6be98fe70d5f906badf810cc21f82436441026daec736923a72d28ea8245f87632c58ec0390cb0c0edd4983545ae1b65b192b053ecf4d63d1a28d41767bf674dc573a7eca0d3c0a3fa462ba84d0d97956db19395041290419e29bf00f272c6c87d63afbd283ec10cacf14e34a0bfcb2738bc236c9ea3ae721c044987ec8bf38c89cfdd2567a610f3f7b39d21fd698914cec78805c93aa80a84b57f68d30b1469d6c59356b1017a58b01949244c98d4c3ed2f7ccddc3918b53ba5674d3e3fe417c76ccfac601978696ba9d4e5b9295315c92102dd17abbd6b0f170423bc7c1d92764f8117dad94f682976908fc663bab8dfd20e08d5b49ed7f543227883e5aef33b7ff6b0c0f28f635ea51799552b5cec8aec4f77414bd914b495aae80355136df6110101385150a93fa017f7a60fb552001ba3b7c8902739c6ae105a0edad90bb0b1bfea3f886f0c5ac3b02f4f23c174dfae478ad86e6a007ab39baf6b8d9d11299d893402c07f71806e308fea37041cb0ca8dfdb6e0c22dbeba183b5c72e3544c65d04cee0d6b45494bdaf905bbdeaa2307af13c57100c8e7423beb354a84d4476b5264e0ada78af64ffcaff387aff7b6da47036b0bf7384af09b4f6c493266b8b7d3afd22529bcd691ec99f5b8fe041d44de7dafda78038e6ab66ddd269f434a9a8e3943333fb979daa8faca371115fa8bf38befc62961c91c1cff0cb5d253d60fcd34be0cbb5efbcd276c1bb55d83741fca68af05de718a34fe50216581398c32d3c585ec00c714e2855f841003a8b416e38b33adaebb4baaacece8b7124ec67a42f13ea1029022e3e390f8a0ffa76bfd5e0a594645bd8dc98e669eb8f2ba7b91478928176673d0ba246737e4f1d06d596706f38b33ced5ff3173d8c6fdd69f98ffc0bde2810d391d0f7af153a6a2dc6f63f6b50e217d86f819c8903b8a5c2c6a8ba66ab7de0e43dedae45ac925e4b6aae315ee06f08bd3d1255f74db24317ae4c28b2729c8181b494d0d90da68964b9a3479877d998794b54a9bc87035a4de4a0cc1fd51107bb8eab8036c819c3b4e5927fca2651544f1c5c96b3d415447d7d271a4f36f0047cc66d572346f811d111c3acfdee010fe9c0344f0e427219603df75d4c5f64bb3cb4a1c54c20449e1c3b41e92c82a704c28fe9eaf72b495a44870a2bda7bfb5d83cf9059cb7d38d8b97bb94a08ed3a76d76a601e8bc80012a3be44f454cfb6f894e4f23d0893345f98e58cbe5d70155b564c751dfe3b108ad77d9c2046652113f87bb053413a6864e702fb3310deebfb7492a2e3fc13c6fa611933a113ef4d2ac5573df5f7f00446fc8311d632c2660364ebe9d0444fde24c89c66fcbc0d8eb489fbf0f72af143128842c2e16368139d474a71151b4d4411b8a20d2c84f6aa2d47608d192e6a9fea2c9be5a068bdd2c10f226ff102126ff9e77c26ceabdac219e781da5c6a2a3a29aa16df6cfba0218e83609ee18842d4f385ac46b275e78218f102078fa024373f62187e18f2b23d1bc397f79b75ff68215d45f9c54e1f4e722b59935517786d49b1c113ff18b65a58b9c60897df1c176ee3205440ffa4b365fb6bb277ef079b54f7db5c3c257e4b3d6be304ad2c2067b24de9cefbaedcfb6fac2076d2b8e768b423321fd8bdd59da1c2f0db1004452b20857c325004adbac0866b881a30af18dd1df7c4fe26232c5a7e5ef7569c88f84ad53c98c6bbc2f8ee55db4798fb9378cf494edf8fd6ed4d8b6c913340f61719c833ba4f823eb04e0aa7dd620819fdad66788b05d3713eaa3a70993df932b3812b0dc7c8f3832dcf7ba6fdea2a236cab2e4dcde0d4c20561a0ff0b27268b20a4f9aa4437b94ed63478e77ae41d386effda40cea044df0f340f761ab78164d540edad00fc6dd186fde16e48be388cf526ddd8599ea90bc4436de9746e78683866d0cd279320cf8b4b1ab92055a8e9b287124dbce1fe5689af631e7b1871e0eb0281b4af46e24f181757d0309f3c591ab5c7bef9385a28ff8b3c3f44e8d373cd22cc578e1e68274439f0ccb20c100dd25666899df3c2ba35f148d16f5e6065665611a76c94f8a6f7d8aac115378fabd1ee5ed1100432116a42e15352a605d3604debc05708e361e6e45644f6f873b70d0b8b0de381b3669c8a9003f7d8ea8c44922d4ca34366e5762dbd6c972da0136e0c0fd9ba32d0fc9cbc725992e60c8ca9c2026e4e1fb74155cf104bba3e12ac222fe9b8c10e0bf38c49859e6f4f4ab3101ca7fb0b6d3e16c529d8ab9bc996813b978b2213d319e41eea5a7331a3e55e74328f47d1efe26f17b5c943f86453616a4da31b7b5a4c6c2ff277e902a0f5640227b2239cb29f91ec8a8c9a7948faa6d289d087f8f08d0b5010232c0ffe1f80ded30ac77d875ea7703d7038edda459b1a6648271f4d87035207ac5df10f18fb6d7d7c2cabda0c94fc8215cf42721ee36cc8ccd55bb7e18addcede8d8861f8620ecefb1860249297429fd3842b6ded2f1df266a98e0822b214851b41894163a6d76365b0bd6cffe163690a2522243b6bf1a5bb9bec153017a9c4bef7e0610c138f137d5baab06c88388c38ef003a53b9cd2f88829572ee7eb54f2fbfee0c3cdaf031bbd344374a3588bf5a916954d334cf1c95d18c5f5cccff124c8ea0acb5d7fb15e168447910503e7dd0e09d2a68c9db3ec030705577a737752cc2be544ac772d98c508a4600a0f4b946fd77f232bc9601c72fc3414c4d9a2b7aef9c37c082bda936185fcd05fe1b186635b7efd64e67341a3414d9a4e9e7641dc282300db1a240e424a7446a3a6d52bd3259c5e0c2bec9f77793c3e0ded137f62c99d2717b3ed6acc4bf2e1cb8b5eeaebb5ef61466acbe98d6e4ede4ad588686934c2b4790ce987e16b899cce63af547b1fc579809ebe7fe8ba4da0e764f09bbd82312438b2d25cd28d54894bdc5e019b13894924ca799021d25df347970b0f4b30238ec22d88aac80e7de566f46841c10a075aa40fe39b0f9b4ecd58b83d56f45ca655296c84a7fc8c92fc52a4b361526b7d5064d81efc2c258fa1463b0233446c965cd463fc299ab7d5617eb8b7e9c28f13c861e74c5dbac6292974edde566b502a2b610ef9d91f0fb4b707c7284f943d8353631446a708a7c65c1b9e08fb89072507e19957b46967205fe7525ffb94433c34adaa1576a01e4bd500d6c0eef43d510b1938d12bc1cdca64c635c9023462a3ec2ee2a15a375e623615545d3c87252045f49e31275f90c4458275b09f80c244a5814d2f986bf728a0edd0a5e58aaf92b71425347b81258a42b8dd10f63894b7cd577700c30ed61d440362438ce2c36d823de89821e33181e46e2bb45e78f624078c83e5011718a5c0febbd3fcc361430f69908613a89036a6dd042902d8c2c0d711ae4e4f3fbd87f96a3027d34cd161500c46778be4ff8407c897ed06e1c86a0fd7058032ffa859888d43b23030e489c8b948fdb5007f2d565f50768503397ff73c928e4ac4087cb8fe77ca958fd5ca0604fdbc90a80e2480bb656f40ec5f0e8258fd0d2baef8c9f1738e543ebf03290aa19bff720afa04afc56762562399eea17259338d66edbdac0844c8319e03e9591c5efd4164f3bd5d62ab37922bf6806f60e739f673004ba852ec34fdc56c0b7e0e0eec26f727a006515042413861482dc278a06bf3ecf6459aa45cad68240a19e4501d303e2bbb3d7597558129bc9ff541cf110279e9ef4390f80fd113f5e4dc475751bbb244131003e8d68917803ff21325d29f54b4f05cba30f77ed78fe450f610bf112ac099d4ee6445365521849f3a93f05bc91e07318ecc90446bd97bd38714f7bb09d513e4671f354b6f70b1a6dfcf0f9521e20a75324be157394deb5f2965da24d4b096d56f53795859005da3d1b705aa0a9a50dad635f30d5ceaed880ea15af750056bb737b24257f489bff244069fad9e2fa748bae13543d1f5e355ffe32ad1e305f5ea41647876d5ff488922a01bdce8eebd49cb4e1754d6c89393002b61f4e21818581e3c227d4823e11778a9efca43755357f6390bebf24dd78c55ff6d0635a076e7fa400cc5b43a9a380cfe804207764cbec46fc91e108debe178d3856eca011be245da005bce42a13b9450937e53721aa469c176163003b0d6134fd667cddae34fc4b7333e1e288442d2d6a382151821319b6e5887d463b769a74d0ed5fb20fb5cad1ff7fd5e0fc2caf0faa1be43762620e8accce717e3059b012af73c17d25514a22dbdc693681ef6f8f16780d1811c9323b01bdade7e6a491bbc38a884f2c4f2e2c17228004aa9b7f03405a8f9e56837450c4641872eb6d4a728274266bc867517f03598e142b233e0e600d5543fe708a23321b5a396117a06c3a9200eb46b54c17fedd92eb7026c605de74067a119001f5c001a6d370510776e6bd126761ab1259980e4e204e4cb30cc101cec5c3066b653ffa91d7ca368ae4029e483e7fd45c13f686ad05ce7a540c21daabf05729c275310b0e4ccb03fa5212ddb6c5deb3c7f3a246fd0fe6651856e5d15f126cd12227ce2c624ca79ac3e1b393f1e39474c22a7095ceeba9dfd84af7d32ce26560e17480f654d3abd5c012b94c24f672f65cac646070ccdf33a05d53e82da1c9c73d3b69ed22b2f2bbce6c8d4b27a64fac23d4c98c0f16299a38260fe94f3a26cdd860ac81a957f7a6a5382f5afca40a9faccf2c7cc9fe56f4b3bd0579e48d6c04de70fabf13c744eb199fe9ea17e561851c1b6258e15bbfce3d0f303880ec7611943dd619a17f6944350e545390f5a2f5b388c32f14fc26f2b9543eb17d8a9cad105924e65aecefdce4da8809c8639954a7df9c1711ee0630e3fdb5fe1b4672f1aa8b184a7e64282ebceddb891e219572853c52a521552d269a621b8fc84bf8c9209d9aff46cc99362215c4defc3489f5257e96397ec67ee477848a41151b520c3782b00e324e33b56ba548672e31911e79b5285ebd9a5f3f7ba3bd254002304d978575de3e99ee28a285a9e2d0352f728c4a60c18b18ffa7d6df988f631e85b8b4a4b9a53478431800c27a5c723c4aed0a8eba83c9e2be8e44505eb9ea0e550e82126aaf3ce131462e496d4f27787ba4a7e6b6b561857eca4231c246122670a1f74bc3a6d004c7105a64f7b1fb0ceb3dc4fb32f087ac60475dea4562953f51913cc210bd8bb79df35e145f77c4a79f7eb268913e0926238a79f28dd48a089c6efd7f5ad19e7ee23d50d518d12e8ad737ba8e28d45af048a2b787e326a625152b83791ecf6d37d167879de3f4cb3ac9832986adae3d1f191f75d42dd3f6384eb53cfce101f4e6c5529f2eadd4d36ba3961fa0e11aedecbdba60800deaec2d3ba882feaa9ac7909f6202550e43ba1ff76eeaeaee581d9f5d40ac4e71a82a7d8df250afc094babe25c29e0296c81c01369e30b6b8fc6697464b2378d1007807e39eee0fc26705b169e49cd135fd6a8929381a2be490a44a2ddd3aa05dca1f1ed976fbd856fb50b68575f9bdbe33e151a3e9883d446224c4a47ffeb4ca266cbc90506cd5dc2a581f8141efc4f71eb1b8db7111f0b60f68b3cb767940b3c6f7ae012153eb17f0a1f48a62caa39e6695ca70b27a637b35f784f55e4ad7a5b078dbf2f0af2bdfd40cdea161bbf2be07caf6c60b356d909ac381c346452a7ea071727013c0f685de098f90d07fe82bd05405adf324854b58e6b8417e6e30fb94244c852816b205fef4709479897df35d17760dbfddc251c5492a224eaf95d4774663bc16a89eeb5be6f9f7a23d4e97191120a6770c27cc9721f1ac36a9b45ee099ed7f2df7d195b2a851389f28ff938ca08267c4219e29aed028e4bbb843c817dd277640de4e035b3e3c5fa30bbef75c90f998a5d55b8e6996335069d26b0365e7de36444c9d46d25e8eaba22b54805d1af9fe0debd0aff71a307b6616459ce0a162b61b36924912d1c3578418b8b6c057d992cd3486bb02184fb358e4c6f2fbde4225b1d6667d41566779dcbb86795a020990fe71dfb8fc79fcce300450a576478e00e04b66f98d8d33e4cc5e12bbf7e60e9b160fc74f18da93daa029c3ae3eb594b3c3ba66045e39f5e0f79d4693a94353e6dcd47916146552f4fa482ffb7ce7fb6ef42cdf75907045f6770407bc6bbd5e679d7ae50b0974829b57f92149b123a481f429b1a72cbe8397c1643ce8e4355b5de1c1410c4ca5cae14291de575a8d08703e14ba789e0cc61a0721bbfc22200603f9ebfcb952406a812b42b381e59cd0339770fdb0a5439ee0743ec51d8215a6b331d2f0ba6e9d20fd14382b924e2ebfaa4bfaeb01904c24d337383b2ab6009d7a8c66337c585d57a038fc4de683d100973b588b85f3a4b9cc2253d84c66691debe277e55a44ffc70ca8887756af507bc3a99b03932b01f6f46b15ce7847b6f03d600c158f867026e28c033d197ae014bd95b0afb95e4d4dbb2cf19983f1e4e0ab1f99e6fb77556fe4a12e1c572d5df520193576137507ce9605a997bfb1492c309f06f081771a1ba849b0a9f380e71342dd008055da95d614a8632b8d5b84f04add3e70ddeb86253294e2e4debbec524a4ebd2e9da61311133c73956b7188c3c4afd49b61151530fceef0fc37f88bead4198fe151e45528ffaa5a3809aeaca313a9eb4a7887fd4f7f63848f9e8823c0e0644dbc58be821af678263afa0704859fe102703db43ca4dba693dae89ace10f8f0a95e221516806a885d3bb82ce01b27ece90cc727e1ac1bc9d2d508b40e66183df588a13532ae148f6ed7fee06d6eea6b2fd92e58a570347eb7824ddb4a8eafbd1478089434424b489b68ba0779ff1633f213bb86b6534a2ac32bfa606e08d83134ff46a8a0bbe2c90d2012b46bd78e05a60942e2f1cf9373eb997866325a215b91307bd99c9afd2bb4e9c6f9de5558dc38365c4a23783f8467593bd8fb8bdcfd79529e18f0a8fed4dac845a502598115bf9b1c3f92a0da940e5049a2b438263551d77dc949f72c43a0e5ca340ecf933d4580932851dca934be2356838fac039119dde0484173d11bc87356c905f3ab544b95c0756b834accd6f7b7a79ebfc85a5bea5ef1a55ec469cd6b42a8b04704c04494a9c59117b1a3a24b6a14a7b546d9916385d306fe6296ef2bdc7a0ecd8577b70693530f0bc196e7d33e096edbfba50d953ad82ef51a75d8382271455bff3ed73ea879b900f907b872d588f8422b762b680f39ede0c22a23549b41978492311bbedc7b3581132c9a2d050476f23a7782084b2efb49d99b2e5c9caf55bc500d5af1209599275f7c893aadf9a078725549f820bbdb5a14636045de507bda3e9dfbf034cc479ed87a2f17d5fb4e0c0496d4e72c75e305375dabd48e8a768bb22c85a09bcc0544f803cae6213f94362ba39a98b6f174fdf1d7ae10442b251a60df837409202f80f746eb3ff552b961e2a11edcc9a86cca8bac468ca24fbcb0536b7c6bfeb3de3880bcfae2563ba16ac07761f72c6804544cb9af17b2f5e43c135f05d8002fc8116b23b2c4330b59ce6bc4ac52065ec67e4fae05f974fd75c5d5316f0e3513c259969c54fc0fe3eca9f5b184742e14df6aeb74bb551f32d1c2ff8633d2a9fdffd2a5bc9ba9e9240b6b2e6f483a6180e276a31ddd64d7250390774534559004c4440ea32f3dbc30d6e39e3788aaf62356c205cd03981e7990912a9fd6ac1cef3cd48824292e8c91fab1ab0fb00dad9e3bd6b6c79343ba3859e236b054d293699ffad1ec86e04eb707abeb1d0c6879cf56b49c8dc80dbcf11dd0afde03734dff0796b8728c9f52550caf142acffc3a8cf56f2aa12716702ae731bfcab2e99d807427b1a7106fde41514e08871934070e8fa2788233b82a377e3990836d2751c7930cf22f677ff0d06d1ef4c5eefc316ed6e06398babc8b6fa74344c171e2f64fe8a1d46b7034a660c404d8d43b8b5f65abafe2b43b208deb7feb94c9ea1372da4583609c370eaac301efe3a7b48c7b08f19bb0fe76243934ad0f922e1d45685836423a1646ffa2f1d2912944a78f4687b53335e652d61339ccb23ebc385f4ecc89f6f50747dd716c43c3813718bb38408499d72174542d0d3d10caf33eaeb9565b294ccfe0b10c33472c9dc73f77e98bf38f90fd79d8d9edc5627831208c1676f51e805da6c8e4e21083a95e7239d69dad54811f83409d1831256eb5facb926d2a1bb0a4e933581209d44296093dd2cb85601e24c2d75534965208c85568fb705290999dc822f8ae18c1355a75be517990201ec5652b9a85b7340598e4ffb8b5031e479dfb7ce83509551b08353b043ff42775a3e589171d934095de88159e7c8a0f62bd0cc34c3d07d9d7f7cad873861a5ca262ae043c32225fda28ee10f6b5505a5bec558a962cf16b819c107946fc7c66323d00a2f53a24435223557e8f6e0133e0c59231079d478f5fe0196dffee55283b08c714769efcb4cd9497c3d3a8f2518d8d62ce4433c79ca943de0d518057a68a133649e556e6bbfb09fed38fb6b63a2c4403f2b9881ac3bede9ab8eeab75f7828decae8591731dea1bb4e618e9330ae4db27432d9acc7b76383f47a74234efbcc82224755fcb824595d8848f827247c6e920b5387194c6e5c72a2214c41e1dbdf255985cccc95cca9109f3743a1a5c27a6c69835094a75edb74d1ab196198b2a0d7caa183459425cfccf3b7685bb29af4d30a3b80626c5385d6d41a67a1d5c0fcf677a7ee2917479cd49bc20234d373e31cf925a3a2e15d1df6727de9fc5ddbe0f3a0a0ccf6b51c6cef630da268fd97547928e6cd29e0902d095fffee08efd0438a7ffbb2a119d5e3fdb6de9fbeef8dd275a6bbebd6c4e34cce23c9a8b9eedbeae498f4407e294f8d50d0fc9cf705b3fb2e288c7e8fe2dd5673bbfc1c7efcb5372937afdffeb74b0bb8de23b599f3d048b4789a7b4b1ffc1514a7a6a64c9968a988be2521298da682d48119c3ada4eb2320d714465d12f99ac38b7b9f6374e61f3939970332822f4ed55d35ec1a410d2eed344c3127a1aff949bf7a03ef85c1d867e889a55e6c09ae7dec0ebdc24286e245b29ae1a2196777596ded5dda928073170c26671a4018cd17c786b6bfd8abd6f0600f62b50284a335f9808b8ce5ac278012647939e28ece1f0ee4911e43ecdc5158bd8f88aac72eb8ef9e39cd393ef96fc26b1093b2b2a6cfb70f9ac7efc1f7638909341cddc853767ccac329e910895ca8f647a9e619e8dfbb730cbec8133df5d4f0e2554a5e4fcdc53c20a42181d1cd34ad9b7d4369a3da71a7ef7c9e7379b3628ec7cdfa75597bfb40b5b9218be171bd06215f3ff1030dfc199e0e4875f19654ded634a6d892979ecb4d326c03613680d3a5622c0ba67c38f871f9fb5c1e6113967aac821888450a2604ed273183c24f337d53233713154705b358df565c2e2a25b6c59d23ef9d9c1edba1200e043324defc8f3811cd60715a6bc638816f9f20adfb52b4bb4d7b947704b31037da564deb105af716c51e3efd3484931b8b104cd59d82882dea6df7dc4d466496bc35323288b9698762802c032363da5991fafb3da7b0e7c524cd8a2b3f89405d17350b071e902be14b76a1783aa3a30c5f5c17104b37f6f7bb14abd2865b68f9b04abb63ed293597efcda0fa3a4ffdde1cd4f543f9e2c0e778cb0011bef2cfec149f7b6ad31fe9f005af09314f73a9e55e09aafb101264760bd777706bc9f0d72602f4c1f47b5615b7986b7eece99ce107a30276a0c27d712eea7a21cf9e083c93688bba0168a79783c3ce2434c891c1e57dc151a67eae20676843089226c444b876ea5aa22db06dbac9e84e45fb17d982d30d1dc55aa2a3858eef118eccb323dc6a2677d86d6c2690d506b2dc1790b44fa38360602d2d60c1ff873ac55472f3fbecc2d5f045d1ca526649b8cc6e3d2c335c931fe1c35c3392536e9d66e2b91ea61c90c1f7d7806a29889f73b33e313ef7a3bd1d5ff04d4fcd1ecdc6b71f45ddf1a8eae030d52f967af1d72c5507da7ad6d0890864ab3a6aa58d8f52c10dca743d26bc253320a9c843d20c7caa16e582820a017f836d9adc6d99991f3911f4bb1fc1db962fe6bc623b67baf4e390db52bc30d27f65d7b4a904b128c7876f929a9809867346f7bce9fdfa7a78016e0e6081189db54f2fbddfc7e3f2675f7eddd9f7bc1ae11e247bc6c754b48ecda008bd0c1ce46c7a2bd613e3909aaf0d1638800f91176eb737ecc68df8c58cecc9a86afdb4d58f81da0a662dad9825cb87070690f9f6a5cfc4195de48390607615bd00435dd6867dc2b5b9d73781ea73b246ef45b1e8e06aa212098d361d08f19426c4e3082922098d805ff3df35f272b39b1e078a04bebf97b7e370767461f80790a7f8050981ad28dce0a462c3218c35dc42f1a6c80e30323bccd336d1bedd1f9013902c0fd7abe1ce607ba36d7f237a5f9c2b8f7a8bfdeffc7018871030ab7fbca6dbd891b1de19844fb048fbe42aea82c1e060f4182f9e2077f59a8950bfcc0eea9caf3f3041679beaf975c69da286517c2e51d46e71bd8bf8c5b105fed0c0219536059510d360aef126b14ffae3be4f489ba17abd3cb7febb1b08ddb0f85f4669686e0911cd0720ea2ad623a04087991fae83fd143cc1c40fc2ef7e0df4da1ef476222e820faf7c48206b80de1600839866831069df501643359c59324a1f4683741962ab92c6df18d9807f0ef123d02c5b928b10cb8ee275348a91bed7a7dc5a4a15ad5a40d7a03278964ec4f439097929a603ef2c6b87e81ca24d9e446af1f843c94ea381a19316daec624dd6d61f587637214bd72112c0528385e201dfbe31d8ebd15ecb654e9cd526de28fbea95690df35e504affa416bffe258598631800dfdd85d8e95b369065aa5eb4eeb03fb4c5a8ede1df8650a247de20a6dc3cd56f5f143a57b6678a3a1fbf570f685668a5297487a0d0b919b56f755c3cdf465e070c03b4b59053cf45284687a10dbaf175efbd168b47b08e9c928b7e72c309b788f6fbfd14127027f57935daf50c0b02391cb8da8631d0dc54fd91cf4535a376cfdf6247d6c51fd0227a0c4dcbe5f7f5a6d03cc6ce64175beee3bee1699d33ae1d3116fe9e2fa3d101d908e048b1cb787a78a7031d7df1f9ed891eedf42e828b309ea1c4bf04bf02e8fac6bd1629535aafadbc7f4e4261dc573dcdacf58692aecbf9de67167fafdf5e06484fc7eefe6de83e53e45e58d0b6c096549cd4cbbca67516a709d24c1aa8d0cb122b33689afd820f208497615cc70d147b89ecd0212df907a98bec3b4f845f1cda2233495d75ba20207d6217585272f71ffe24bede3af6cac751dc6eee6d8bf0a1973e8d3da2581291a37f3bc89b6fd9c51299028580cfb8212856fbe32c2408bfea103e7cf42d3d82923fcd50c5cb385518095c69699a8b5d89a66ac198a39d87b64a6fcda2c0aba213a28ea84811da81e5dd340353d462328c313ffe8f519ac0f29f0d8dbd57f582e9e974ea16fb5d0e61351ba14119d0294a9a3fdcf54b0cb3f000484aaee60c22fade6ddeebe1e3690051df09dfc96dab7e1a2473703c495360208f62eced9d34ecab7a301f2eda54cbe583b318eacc3d582670121bfa24b9062b6fa1c751c5c2fac980234896098f2d65e9fd4dbff0144e8768fd71f40a4c0726e5d25a96a072cf92f51e346f87b51a327cdd238e0e9666b5ed51bf6bc567318a4d90b185b391cd46fa40a89f95538573abf04ce018a43301504993282529850796be8e35af341a0985bbe3414c82926fdabe5901c529e2917491d1adff185669f17ea50bdce859234ddc08cd8945adf7da854839ee5a9469f0ae270e3cfab7460ce1058300eb8ffb850978031c9d2e1c6d6d045e006b7a49398011c2a79413a6a979c84b5189e869025977c6595f930667fac51a1b157fd839dadb8b3355abb13a29f32dd84e914b0523af3e0c946c0087c0dc0f62a46d5c00e5b80f555b6a79f2dbf66082d7ee6afff430e236772efec534c6fd008feb179a741a01eb87636b03184377347b5e3c08c7c3bc7cbf3cd9bcdd39ffd0491e44bc73af4bb4533c7986eff5a6e2228a557fb8be2a4f96bf986ac7537d518cc17d222d13df7ea2f58af78f8afa20ca21d9511b6f530c93de4da24600aacb4abc914228da42448dbada89338e5e69dc9bcceb60bb5a635c0d95bd55673a0ae1f5b364ff8a9803d14f7ec038382fb7261053de273468247a6282b73501c7d0ad60fc589f3447fe0947fb437a7431ac13ac268c848eadd05fc9bf807d2db92521c61c34562da9cf8e43df8ba101bdcb0d508c9c0875a3c12bb9957d1769cdd711e41d4c54efb09f8e444c5174a450a164ec6b0bb0c6f8b578d514d79c4c8820f437252ca6d91e5be08ea844046c4e5b73e1a8b2dfa5907190e057f11a4526880c540a27650829aa4d427adc492415ac65c082705c5bc3815195c92f2d7bcc8a258056ba6b84f3e4dc7e71c02ea3219af1e8a1e62e77e5101ad3db9b93efaf4478250395d78cded53cbdcf8398d39a853a383ee38961f2646daeb3344b2c984df8d95baac6b35c02d94ff60329ff0cf53797bf0d2730fa08f8b0412053bff1121b63d404d85e1bb7d802a7f51035d99a921f305863881d8df4c1715184bdb9252c83da2d8fcade6986741b71240094786814510513dcbabeb89e722a49a0d54273379368f8cc46fded13b137f30427ea5597d927c06b5281331000dcc4010cc52075bd6f857dd432c3645226962d54d39c588a88f02297d8d196295baa871855540c0e657733f6fee3411725e12f0903c07f2ec0bef2e51fee9389c88deb7ea8688535439b84fc21f0938bef612c7db2e0f60f8b8200ebb5363e0cc0ff5ac0fd43a798d69dc7236ee987b0528985192ddd2ace67742d08389d14133cbf1e04785d21ce7ff6ff6dff1f8b06dd88"), }, }, }, }, }
View Source
var RegtestGenesisKey = []byte{
0x08, 0x01, 0x12, 0x40, 0xdc, 0xd8, 0xb1, 0x9d,
0x2c, 0xc6, 0x6f, 0x0e, 0xc6, 0x13, 0xd4, 0xb0,
0x8b, 0x7d, 0x73, 0x68, 0x2e, 0x2e, 0x11, 0x12,
0x2c, 0x09, 0x95, 0x9a, 0x2c, 0xc0, 0x00, 0xb9,
0x9a, 0x52, 0x5a, 0xcb, 0xb5, 0x62, 0xe4, 0x8c,
0xa1, 0x18, 0xdb, 0x0f, 0x24, 0xa5, 0x3c, 0xfb,
0xae, 0x9f, 0x6a, 0x3a, 0x67, 0xf8, 0x63, 0xe6,
0x03, 0x15, 0x95, 0xd6, 0x43, 0xb7, 0xd8, 0x91,
0x62, 0x1a, 0xc2, 0x80,
}
View Source
var RegtestMnemonicSeed = "" /* 151-byte string literal not displayed */
View Source
var Testnet1Params = NetworkParams{ Name: "testnet1", ProtocolPrefix: protocol.ID(path.Join(appProtocol, networkTestnet1)), SeedAddrs: []string{ "/ip4/167.172.126.176/tcp/4001/p2p/12D3KooWHnpVyu9XDeFoAVayqr9hvc9xPqSSHtCSFLEkKgcz5Wro", }, ListenAddrs: []string{ "/ip4/0.0.0.0/tcp/9002", "/ip6/::/tcp/9002", "/ip4/0.0.0.0/udp/9002/quic", "/ip6/::/udp/9002/quic", }, AddressPrefix: "tn1", EpochLength: 60 * 60 * 24 * 7, TargetDistribution: 1 << 60, InitialDistributionPeriods: 520, AValue: 2.59, TreasuryPercentage: 5, LongTermInflationRate: math.Pow(1.02, 1.0/52) - 1, AllowMockProofs: false, }
Functions ¶
This section is empty.
Types ¶
type Checkpoint ¶
type NetworkParams ¶
type NetworkParams struct { // Name is a human-readable string to identify the params Name string // ProtocolPrefix defines the prefix for all network protocols. // Using different prefixes for different network effectively // segregates the networks as the handlers do not respond to // different protocol IDs. ProtocolPrefix protocol.ID // GenesisBlock defines the first block in the network. This // block must have a coinbase and stake transaction for the // network to move forward. GenesisBlock *blocks.Block // Checkpoints are known good blocks in the blockchain. We // use these to speed up the initial block download. Checkpoints []Checkpoint // SeedAddrs are used to connect to the network for the first // time. After first start up new peer addresses are stored in // the db and used to connect to the network. SeedAddrs []string // ListenAddrs defines the protocol, port, and interfaces that // the node will listen on. These are in multiaddr format. ListenAddrs []string // AddressPrefix defines the illium address prefix used as part // of the bech32 serialization. AddressPrefix string // The following controls the rate of coin emission for the network. // // EpochLength is the length of time (in seconds) between coinbase // distributions. EpochLength int64 // TargetDistribution is the target number of coins to disperse // with an exponential decrease before the long term inflation rate // kicks in. TargetDistribution uint64 // InitialDistributionPeriods defines the number of periods over which // the TargetDistribution will be emitted. InitialDistributionPeriods int64 // AValue tweaks the first period's distribution according to the following: // w0 = ((TargetDistribution - GenesisCoinbase) / InitialDistributionPeriods) * AValue // // Since the distribution follows an exponential decay, the larger the first // period's distribution, the more coins will be distributed in InitialDistributionPeriods. // If you are changing the coin distribution parameters, you will want to // pick an AValue such that the total coins distributed over InitialDistributionPeriods // equals TargetDistribution - GenesisCoinbase. AValue float64 // TreasuryPercentage is the percentage of new coins that are allocated // to the treasury. TreasuryPercentage float64 // LongTermInflationRate defines the rate of emission per epoch after the // TargetDistribution is exhausted. LongTermInflationRate float64 // AllowMockProofs sets whether the node be made to use mock proofs. // This is primarily for testing purposes as full proofs are very heavy. AllowMockProofs bool }
NetworkParams holds configuration information for different networks.
Click to show internal directories.
Click to hide internal directories.