diff --git a/artifacts/demo_chain_specs/polkadot.json b/artifacts/demo_chain_specs/polkadot.json index 682bac911a..af09777ef1 100644 --- a/artifacts/demo_chain_specs/polkadot.json +++ b/artifacts/demo_chain_specs/polkadot.json @@ -31,8 +31,8 @@ "/dns/dot-bootnode.stakeworld.io/tcp/30310/p2p/12D3KooWAb5MyC1UJiEQJk4Hg4B2Vi3AJdqSUhTGYUqSnEqCFMFg", "/dns/dot-bootnode.stakeworld.io/tcp/30311/ws/p2p/12D3KooWAb5MyC1UJiEQJk4Hg4B2Vi3AJdqSUhTGYUqSnEqCFMFg", "/dns/dot-bootnode.stakeworld.io/tcp/30312/wss/p2p/12D3KooWAb5MyC1UJiEQJk4Hg4B2Vi3AJdqSUhTGYUqSnEqCFMFg", - "/dns/dot14.rotko.net/tcp/35214/wss/p2p/12D3KooWPyEvPEXghnMC67Gff6PuZiSvfx3fmziKiPZcGStZ5xff", - "/dns/dot14.rotko.net/tcp/33214/p2p/12D3KooWPyEvPEXghnMC67Gff6PuZiSvfx3fmziKiPZcGStZ5xff", + "/dns/polkadot.boot.rotko.net/tcp/31001/p2p/12D3KooWPyEvPEXghnMC67Gff6PuZiSvfx3fmziKiPZcGStZ5xff", + "/dns/polkadot.boot.rotko.net/tcp/30335/wss/p2p/12D3KooWPyEvPEXghnMC67Gff6PuZiSvfx3fmziKiPZcGStZ5xff", "/dns/ibp-boot-polkadot.luckyfriday.io/tcp/30333/p2p/12D3KooWEjk6QXrZJ26fLpaajisJGHiz6WiQsR8k7mkM9GmWKnRZ", "/dns/ibp-boot-polkadot.luckyfriday.io/tcp/30334/wss/p2p/12D3KooWEjk6QXrZJ26fLpaajisJGHiz6WiQsR8k7mkM9GmWKnRZ", "/dns/boot-polkadot.luckyfriday.io/tcp/443/wss/p2p/12D3KooWAdyiVAaeGdtBt6vn5zVetwA4z4qfm9Fi2QCSykN1wTBJ", @@ -46,10 +46,10 @@ }, "id": "polkadot", "lightSyncState": { - "babeEpochChanges": "0x04f2e30c55524b3c38f823f0c3c4af97fd3956b0144595df76d9a31e39c1fb9179f981840101f323531100000000532d531100000000044a83e58300d37a542703495b601a06472954c3b61469fba89e659b41b3328ad53d8b840101532d531100000000b3365311000000000423690aea0f348ba387b50a6bfca3db774872f7dec41685e3d68256ca97dd86cd8094840101b336531100000000134053110000000000000c23690aea0f348ba387b50a6bfca3db774872f7dec41685e3d68256ca97dd86cd8094840101a329000000000000b3365311000000006009000000000000610976441c448aefcf40a72128edc9b44a4f7ef9c267c503e98f5f9c72d5e9e92f00010000000000000012549e625056f554578ab32d29cbfccc5529e404db8234af00a0856923f6e3030100000000000000c65fb01e233e312b7d3dd6bf7d6c159d30a06550fbf40e664d2f97f21def7c1d0100000000000000ae5797a6246fc7f96394d09712e9abdfb1ca3e7793c3f093aae6c126024ab72e01000000000000006c9c53f3824abe976dedc2792e1c6b8cc55c317eed2f30916c3229b60e579206010000000000000080f20c794a97e6080e7b81854feb03a4924ee28b33bb2269cae8fa582dfedf2e0100000000000000ec8fcbae6ca9d402b51bb0bde913f0c29769d8d1b9653f4933db117890fe38720100000000000000c29a52b01236996d090dc112e63aca2ec383da79f89c5db420319c7a7ec9645a0100000000000000cad93fbaf78ceb031a3677b27a9e579688602099c97258c746b080422c34bc4d0100000000000000f69a39a051376ea1dbb2a00c3e18369664beb746ca10453dad7db5f9341fde7e010000000000000082c934f66716490be643b87b99dcfc1c530e4b2ff2ef2df2d1844120cadb293d0100000000000000dadcf49d502bc401f146b250e918ae4d0a441958b24825e3c09dc820bc03131f01000000000000002a7c2591d7e46c931a3430a059b2b05be4b4871540a837037c1c4fc7d352ce460100000000000000e81d0d57bfad740cb4d3cb5e4a37fc80687f9d0d0eb3ac83883bcf8b77bb937e0100000000000000147ccca21c4dedac43e0222ab379ef490987b302176a8010ba2265aa29567b610100000000000000e0c8701616aea15e91edc27c9e64e0afdd3abbf4f502c0f646fa060eded3bc680100000000000000906ec0a56171d27f65c29683a31c71a87a4e32b273596a0a704ff07ba344d0660100000000000000e03e8b838de23dc7dbe96982a43cb33b406d6f9978132eac11ae555efa8d226b0100000000000000ba395fcb33327501109ed40712c7a372d25bf3339edfabe2a1964fb7b5d4d82401000000000000003a36963a41de2036872df1c499f45acc0e7179457316ec2d99a6018e078f6a050100000000000000da9bf8b51b8396da87113ba296940b23a9fb3cfe7c3fd0b3d541331121b8f57c01000000000000003c2943d6777720179fafe62691d06390210dfb03a1f4c77150cd7e708b86be1e0100000000000000f63eafe185aeaf7071501cebcc6e0f1d1ed4a21a7994a64ae7e51f98c23218500100000000000000c0ff0ad7de8b9403d14459655c0ec4107f119e74406be3161faf15b5ddf1395001000000000000004c9886e2e62ee92a6778d6a7928052732044b64fa61969cd8e37f3f7e3406f720100000000000000baedcd27682fb5289898711ed238fa3fb93b4cb4f4068e0e2b359d91dc726c550100000000000000a23237719086db4a3c6e4ec298be9fbd400f80f44b694f69cc1dd1cd84ecfe1d01000000000000006a84d16e0196639a917baad78fb5e3b716d7ffd6c447ccadeedead0882482e6e010000000000000058cc4e48b26665ec1d6c2a128f0f5b70434ab4a771743429058b963257e6563d01000000000000007a42c87630d09e4d4b041cee10fe20840cc0ae2089514c51e248e137c6d5ab0a0100000000000000c80f32768e5bcf83095be0dc3db1f59f43650d58aebe4ca599dc02de3bbede120100000000000000228dfe58ff0326d8c8e0c51476692d0610424b01244c52c561f02dd133e83e0a01000000000000001e8d73bf05780fababa732bf11ea5251ca67db705955f2936fdbf2f1f1c8f13601000000000000001c0856b04c28ed8bdee95096f95646efc095737d4482b475053245db424e022901000000000000005237e4509f24bc9e8bf9bfd78b594219d86853ae16601f692f10c9b16b88f83b01000000000000002cbd43e95a827c6a62a0621b1297f0328c5919029173b2b4fabea89fa65848380100000000000000a0511c06f6fc317bbc43df8b47b7c36ca7e3ad43010607e88f21cccb32ecbd5b0100000000000000c87bf24eebac187534f689c35ab23038e0a49f890fabfc10613ed78dba1f67170100000000000000362701313409bc9d55aee9cb57aaa8d97bea27bcb918c08b99e8cff39301936501000000000000003879f0af6cd2398db42a96d1510ae6f652929b17aae73926a3f11a8d4c90b72a0100000000000000b88e803bf4241f6465c0393416858ce6a0ac3c350be41cf0434a3566eeb79c4701000000000000008084d934bf7a7ad960de3b325ad5109d10eef00e90d6ab776240b7bbeb6a6a7e0100000000000000c66476c56a07a8e1a9e57bec84efe2817bddb252ddae336d0e64ae2905397e0d010000000000000028187c06cc7e198c70651d2e147597c299c3953f11113715847b419d39e41a7c01000000000000009ce7136b5fb85ba83e153c64a212fca1eee9c3ee42fd010fb27f2d55695b29640100000000000000707c6f8128973d552e4e13c7b3e0a7cebca93fecf8efc5df89fb66865acbaf72010000000000000006d2846642c835b0fb1ff1ef908449376aa8e7c0f3352e55da9a1e97e9528b230100000000000000d4be6f891156ecfd5f9ff661f780884578ac18dcc999b7f574510196c5243c220100000000000000ca29cefbde4a2167c5b0b4900dd25b7dd6877111ce52029ee334f02aa9a05459010000000000000076fc5ac3dc0ccd5aee50f0a686a0cb5ceb87bb037034dfc5e050cc477a327f150100000000000000702aa745c823db83579c2ab00ff4477b39e270874349bf7278447fcdde4d18790100000000000000f8a681118ea0bb9dfde2813ce5144eeb5cee881c27883de1c0c759255ec32654010000000000000016e3f8f5ce2e2b22b816bed27dc767115513198ec47d2795ba9edcccdde2d1580100000000000000b43a022b3cf70d5c2f080a2759d1778cc246f6f817df139391b9e7a952fdb14a010000000000000000345471200425fecce5c32680fa8c00141ab3ba13dc931f753ee13ae52281680100000000000000b6e36baeb73f17807fc72f8fd2518bd25be7ad6c96a2bf73d2202d1c225eb31b0100000000000000c08c91ecf8879f5042960c3d61c0e74f125463ca2726e6655fb922af5cdcb8510100000000000000e23173bf099d870567cbac0e94678e62cb1a554f4bf92c14ec2d46d9dbd8570101000000000000002ea26372b229d0438f7fa19e9c80f90fce3fb41024c48475938d6501ddd8547f01000000000000002c637ca0ccfc4fcf709987ab93933fde929687f615951f4db7ada7cba981e53e0100000000000000e67c524e443cda4cd27dfcce70488a5d23a93c8c46a5e83ef5a69eff3a02fa5a0100000000000000a42289d68c963358f3c450a850242bb53121e73e17f0e2ea2b93327446bea33c0100000000000000caa53cf3e8ff5604d82bac45868bf3e25115f7e8f4d1cdfada68f8487d03e91b0100000000000000a263f3bcd4a33da0112d793dd5f5beeb40eacfa37e3775e2493fa502b7215b5401000000000000005a22cbf55ee96a7afcbaca5ea1aca08d0eb0f2eaead1f43633ead6ad4c30c2390100000000000000a8e470f2339e3ed0da456780dd9207e9c6a02459238ec3057a6ade01fd6cd60a010000000000000002a65bcaa7e35aa60238c784f04cb771829d09bb4e0f7c1c14f4e0b4c0a6391e0100000000000000987b7ecf8720281e4a19c9c5ec6c62be561b6c2e341d5236a6ec0ada32f3e15201000000000000001892bc64859d3f7b26ea46d591a09bb55a80bcb9f2624c61d2ae145e01f56f530100000000000000da2ae63c251f8974aca311e38f118bc404fa9492c08576a3863d2944f97901050100000000000000c4eeba433f476d40e4d6967214298eff1088a8404d81df860229f484cba14944010000000000000088dcb7ea2da86c213e8c735fd1c3c9048bb6312be7045f298f098ba056b87b2d01000000000000003462df838ecb66d01d18c0c4beb28576871b0751075e14668fceb8970104150a01000000000000004e505749e5bbc4d469c2640820ce1f61e6062bc979e258d26e2c1a52b820b47e01000000000000001abb26ba0076d5e001abdcf18d4454fe25c5076bc5ceb1b8f35d6041670c265f0100000000000000b4ffe3c5959ff37c11c6f19d91926cb97aa4bf0f604919e1753bb55664d061680100000000000000bc4c9b5425f9a2aa09e3239332c702dedbfffa2b9f4cc1b978b307fc1fa1337c010000000000000082adf4dd2acaba7512ff01a3134c63e3491c88a10ca13ceb92b60d34b6750b760100000000000000bcb501cabb14adc6bd1c1d8a94284bedd2a20a21f3caf33d7e60edf1a73065530100000000000000b0d4319a2ca1e335440462c6b9c80cefdbfc9aa735d84301a618ca480b56033001000000000000001ee57665488b5ad6f7358157b73009a4ec4b14b4a03c976487e188f54bff7d6401000000000000007022686a613aa1387ea688fdd9a23170bf587f7f1dbaf7b8b022f120f3a4560d0100000000000000ecc606e7ba3eed5d7f6bfd00bf679f03078761d1cb50904d1caa1080431d4c340100000000000000dc387c0249b862faa91a5fd30d1c2b86dbc741b2feac242f274bed763d647b6c0100000000000000dcf4298b520c110042e482f1a64fdf4d579782abe773d79417354ed8528202670100000000000000e208256605f8c064a2ea00f8503293d0dc4aeaacffe021a328cd164c22b623370100000000000000c47bd7af17b6ad4f01e2880542c8596f5a800a20eeebcb37756ffca94a6b98100100000000000000d8632901dcd20c3415349407ec167034633de91f3aa55f64c8bb35882c1b0c190100000000000000dca99b59a15cd12f53c2e069f1cc440c0d73b7f0f027e3d5c759ad5af7b32f4b0100000000000000a0c43d97dab42fbb65ba08c2960f8ad589ba74ce07bb67026b0e8579c3cbfc2301000000000000000052e7df40b49fce61ac4b3099dd48d9bd647d7bdd7dbc9e9f487e2301dc3b07010000000000000026cc6964564859f16a2c5ce9df5e08804d65acea2bedef70a72b13adb5147d370100000000000000c8871294c3dbdab785b4e8ad9604d5f49db8260dcd8980275c980222e6eb261601000000000000005245c68abe0cf4f23b04bfd3a21f80cadef5f3a8545e49540c3999c3e7079f59010000000000000022be2f3730ae90e20d6e0f1f76fceedd68c124fd811c18482937756127ce86260100000000000000c49cfd152ce3ac1fa142b3b6e720cb173eb7f43c82f021418253a070036f870c01000000000000000ee4b76ec5fabf011e00bc27b36039f3d397e021e8bcacf9532c90fc419fca0a01000000000000000e8a4443fefd81456a49fb947583e7eab5e78b3aa9e3743c4b316de9c38b9f7901000000000000003e79c115c01b959b324017f0e1120c76d87b9a734354fde75efcd05401ad173301000000000000009a0b42e88688d547c31a1bb811fdd062908e88a115e1aae39f7bdcd95b927d530100000000000000e2d8807911771f762fef5e4fc3b9685517fe91c48292ec59b4ce13f95bc8ee5d010000000000000076da659f398bb896e8c36d0a9160d5df59c58bd4bbfada4fe8d40e7f4a84b856010000000000000028bc76450afad8c197d1fe5ab3055c8635a370d4adfa17c898b3df93a50b00300100000000000000ecce43c0be3c9134a0d62a0b6463edfdbfce1b2b1bf5bac37fbd1cca48e67e7f0100000000000000887fb18ae45feaa3e449cd0b529bcf06a9795b3cf50425c79e1fe94c1db2ce7d01000000000000008ef93e538ce16500f27b4c9a10ef7b02a46d8a9624778d0f83b9f7d8b560466501000000000000006a1274b6748bf822ba80c9a9416abd3cf591b7aee6adabb8359b7dbed8ebb3770100000000000000c6cfae23e776800744036a6881d20a0476c1852cea187fbf9db79c936c51db0d0100000000000000a893d2350e59c1937884d11aa7b680ceb7a49e7dba5a43c67bc7c20bf347c60c01000000000000003001ce583fa1f84555808f8d46c3242ce898060693aa0573f54d139263c178390100000000000000ee664cd198f60d2b4001685a624bbdb21ddcd881138a5d61bd450f298fc5833a010000000000000068f87aa7b88463d824f528b27648d786a8d3ec27e76fb920bc1294ef9432b60b01000000000000000662540f9c0bfc8a506a5aac301c968d56fb0e34fc6c05dfdd84e42369982066010000000000000090708d1a49ef0acfea32147a109d08d9aa15ee975b5237d56ca9b8e324108d0f010000000000000010bfe5eb616325eacbdad84fbf5ecc1f78d087aa73c1fc98e11bdd6a4251616a01000000000000008242511e6c6595b11edb7affa9912e42e6c632b2be955273e852d932d94a47330100000000000000487c6aad1cc26893dc7e498916a4c23d303f098c04b0a8b0c8242fbb7e73a16e010000000000000040aacd312f15eb011e69b5dbd8fe8b59637e06259954e6e3d8f940e4dfbe2071010000000000000088f9a16886165d00612032cb1b36669ad62b7325536f499191e711134c71b60701000000000000005e6d779219b00ae1d5e6320faff3b6eb963d3acf7705672ff56d2cb46ac44e5b0100000000000000bc4b95226de4e10f91e0254cfe4541232252deaa347f567df124aba81bac4d3f0100000000000000246615914ed30f855044df3bd63491ca8af4af5614e2a19d5c9fcf8950d13d2a01000000000000001eb833e31087d6baffee4e7f1d9a8e3b7013ea392c81f74313a354ba82e92f6b01000000000000009c8c7c8c91df0ed53864f69017d530b5ebda3ab4bde3c67027e70893213d533a010000000000000018ec239eec5457ba11a41518e7c5f98266d1bdbd67602641d04706f95dba5c5601000000000000002e053f0352e6cfbbef91cb61435853a03573fddbabb3621ddd1ed68a04ad3e4401000000000000001e7b9381ff03ccb2f27fa0142dd09c4c0b6672a4cb3a099cbfee1842ef5541000100000000000000b640f3f59d687a3a2608d96c86ae380ac41d9dc8b175480a8830e27fc046590c01000000000000004ce4e086b9782dfddcb793a3efd7cf37db624c0f8274b1fc36f0802d5455386d0100000000000000aa7e2ba0ac23106e76a0efad2d34747769f669773802cc4de44aacd6bd3e3b780100000000000000f80643f72c8dc15503957f39e6d9ac6ef062c43c516a1693e87d2a3d26e9db440100000000000000e487051ee8f32b1f8d0af5e897b49730512303471416e689ccfd0bc3f726f447010000000000000028a027ca1c0bdeebfc8fce85ac4bac48cc072523d9c4a86b4f2594f9142e7e3b010000000000000042e4c41a899dfb238649e5b17dc232c2699353635d60e6a3bdcd71f9b82cda300100000000000000ce4bfd8c5611b1637066ef9e579c85efadfc9513b882184e00b75871ef7f5a2d01000000000000006c0da9efeafc98d2d9d0e21c83e6e937f417ad40f2aa3a21ccf818dd5af7b21401000000000000008e2eaf4ac96e0c79da47d2b76956b3578b39ee4979826d5344254fc37d508c04010000000000000028558e46037c51ece4d39a8a4d34688662e629413c221d6226afe454240e702101000000000000006a4284a9ea438f75390f6547faad885b235c208634da73a79e2e61c51a7cb410010000000000000098da9bbd7e6841370bac817945d087a30acbbf47f7c0243d6588ed32f7c6f15a0100000000000000a8660bbc474f75581461f56345e963a788f3c33621bd0c1eb9834dae39719d6e0100000000000000be44be4a3132cd45c14bc457aaeec81660600df0f65e28194802f8385134610c0100000000000000bad91c9aefe173441dae1f273e55090706d412b0723d39bd6c3af053feb1832001000000000000003cd9f863ad569b4f0123525a9307dff13dd75a81afe7b790d4d8ff418d97d9110100000000000000c6debd3b107fbd0382b1ccbcd0063aea1f8e27536561fe7f3c6ceb77b219753a0100000000000000be03fe6bc03a7884524047567a8ccf43b3c988bf3b447ca9e1520d1c1f83c53901000000000000005461977495f9c407a8d951e860a1cb2087592103229bdbd879629cc538a4182b0100000000000000b05ad6cde0dfc019d740c3f50b8aac16550ff4c197da19cf23b9293f0c5c3907010000000000000034caede521bed7f19b2a5577234751925041209dec1c5b5771d8ccf33ebd49340100000000000000bc56c07cea21bcbbe058aedd2ced9fb4757caead55f96bda9bed1c9669c32b640100000000000000427f116e5ab35a62aa60203420dd112fd9a116690cec550ad6aabcb0b2a0c86501000000000000002a01b311e75c72271b3638f584b85169e1118dc5f850862add04c9a20e33b131010000000000000078e1a4fecbaac940c04e0b591a01ea66a574b5098852ded2810e3a534971111f01000000000000006ccf2ce8e149999a7bb996faa65194e60aeb7bcd1937c787f886fe979fb49e6601000000000000002ae95f2c9044d5ac14beb234c93680b9a0591a70b3c8ef971f3a1498b580fb4c010000000000000092bb282d46ed819e46fb3ee929f7662354fd095b67a8ed51326b47e83f86653a010000000000000082b820c5bee8ee77e35203dab387f3434b8502e5f1c35dfb2ad15b5c89d47b3c0100000000000000c8469111a9fb61c9e775d2b006fff88874ca9633fced938b19794026f2e9a03201000000000000001cf3446b4b5116a1784d92cdc5101e55a5fb91ed3d93efccd06b304a94362d0a0100000000000000160e7af1774196f2395d4019a498e397faa50b61f698c16edc78f0d5333b6e1e010000000000000092c983ba8716f18073d703e7c8556e65e2565ec377f0f9a587d7aa8b5ec4d8500100000000000000583ecb6dde18a2984d5af56152b337cc90422fd6e937b5e06c1c6caf50be212a01000000000000009201460331a900504240f5a2b781820c82762b95f9f2f5993caed8913d8be96b01000000000000004a539d3b629768bcd3530b7aa14c53fc84252c8258e610f57ea5730466e0d02b01000000000000007203b3dc19c8ff42aa0c90d10328d49e6aae97e4d93d91f33e584fd16073f27f010000000000000052d58f50e6ad841adfe6c77ff332933380712c236fb0bf00565d58b3b4e41d78010000000000000018d99932bbe04bdd1da315bf0c31ad9ce555b84955db60ce36bb73aec0d8a61c0100000000000000e26019435e06e3807360b546063269ab645e6fb3db5c99a573d0fec63e2d537101000000000000000e1b958cae4235db85f6494d1d9af4d435450f10e39485735d7ebe0b6454933b010000000000000006379582a73f65db4e43d5bb5d73209c970b2a4c903b3dbfee465eaf7b89336d010000000000000024030139ec9ee0e2d96a22a3fa6b3c3e3bfe7fbf57bf55e9efc4586a103447200100000000000000e286e0fc739361f9e413d23c3faf924082604a390f3e81821e257c4eea5ce337010000000000000014310c77d75c16c2c8d1191a58d4fc682c4e6e5e8f9c1e90eb15dadb13d26a1501000000000000008e0fdb9c1c1175d91743756935f6860d7b29cbce467275b8de3e6425717f6b02010000000000000040a2527ffa7d30d788eca127d435c8b5aa48972cda538b9a1627a57e85c8fa1901000000000000005673f82330a1ee6e6889f745fe15c353f5f8989e4a281e8aa53e38ce1e74556d0100000000000000a280a51ce0a86f40fdce664751a8209051eb2a782c0ed47ac218558717e7de1001000000000000008e47d90d960a22d3c9486e3ef6cee79c6413bf8aec18d14d55cc7e0b43e5cb650100000000000000e8f048309f03e3d9a329dc04bc48c8d1befee7928d14509121dd06e76cec0d2f01000000000000004e524be219d0f11a7489c27d0e01cb5430bc9f58f75a66ea464b717dc25c9a6b0100000000000000ae46c529ba59b0317f6aa431f79802e087355cc32d78258809da6a9b04b8f2600100000000000000ccf230623370ef275ca417c85fbc6e913e3f5fc8f51e67f54beb8686593ec85401000000000000008e5f0b817e1f12b66afdb60a3406ced3d491000cf12866ada159cdcaa3bf010c0100000000000000fced8f1dff4f6c6852b0d643e26ee532086e72be7aecee28d94d1d59b5f9986701000000000000004a905d0574cebf6e8d00d382b104fc8ee1c008f1b9ffa6fa5c3b67ff29719c0d0100000000000000fcccf8e328b4cc968af52a23f6c960b5e34241047b630c19a0661ace6b9c273b0100000000000000ac09c48f5dfccc02362c489ff2522fdad54d1f37e6b47729411a93227f602b780100000000000000be6106f9217a1847af66de9510fdfb40514409556506ddc1c1a897818434125b010000000000000016f2e4835ecdec4c373e17f48c95cb119263cbd229f7e32c0e2185f7003d7d030100000000000000f0eaddce7b63e666eece637b1128a3e4f54178df87a9b032fa3312f68fbd961f010000000000000004d74e03b4e2cdd0109cc8efc5bbdf36b7b5d89c17d4a56cfdb23b0b2b77e10101000000000000009818995c97cbaa84126b0c0a8c4c26fb202e4b255811ca5627600c11c19242760100000000000000e09b8828dd7af7ab17cb00b73845871b69d925dcc38d6d29f79197f5c87bd8460100000000000000b2518044cc31062ee50fa81cb6983f314291a0300865fa5cfe149829c5050d24010000000000000072993ca365788924450fed32848a67b7b711f3d353c960fbc530e8874bfd64360100000000000000d2c97828a993b57a79d8e70e9b6cd9e90f01d1bbd934641509aeebbc625b9f7e010000000000000092cae8f83675e95178a7368ef2ff9e46a2403fc98f94e90519c3ac4d7cdbc711010000000000000050f3e6382021e3c7ee097307d03933571ad45bd056c0eacc86b9ed5174dbd52e01000000000000002eab7eb696d4c3dcef6c5f74cd704eed76fb51790875d8ddbbda133ae7a42f7601000000000000006cb2f0f0e5fe70eb547a0814ca5346f59f7f2ca74c00714aad555157cd5a29490100000000000000042e7c894dd88fb2b0c7dc7a56b44269e0ee606c73d5a297cb459dbfc7649a1701000000000000004ad8fedb395dc0ed63e0edbdbd2d20555b61a46aa7cd751e4308335c277cbd6a010000000000000054a4e00f3df9f09e23118cce02f804d36c4968894a621305a0e8150a2910dc6a01000000000000002a6290670f4302bcbbf2cb0d1cac7390ced076334d3d614b604d734a1ce1217101000000000000004c5e6997b6f186855b1f4c9f8ab2d6cea3da2e86445605ab89e5b5821e05bd3d0100000000000000269e8d252b8a4e91c2ebdb7f4b07bfa9201b88bd436e6c4044e70364c746614e0100000000000000c8763ec27b5b8f3d5ad45b4eeb6b47dbdedc406d969375ac509dda2315ffa409010000000000000064c6cab11d72a27c48de2f30478a51258057aa5a275059d1455b480fbb181e330100000000000000b6a7cbce4a2c96b0f290ced2c10278ccffd1c2922f1126cda8227d35f1ad98150100000000000000fca3b0bf7a3b4ee818a50f86de0be2f976621c6f5a3e768448732252e099cc1e010000000000000018820322d29e40465465fc5f0b488431e710db471615f780451342f5690e20350100000000000000407d69fc26f00269186d96a26e6fa3537160898d761d6a785cb7dba141f87a7a0100000000000000bada36224e4b8748b004ac32cb69ba73235cc177c2aaab775b5536218b27df5e010000000000000074f02ed037d28c883df643034a596e4d2a97a23782ee8483c9ae3429ede7e70901000000000000008e3728649624aa32d3f1d71d0d57fb42a9ea9d3155a2679b02f2330e4c7cda2601000000000000000eb2499cf6581d6480292832d84efa484bb7dc9a36861b35591e4289952db27901000000000000009493e6de34e09c9679b6dca602e38d8c07abb77b3cc487ae3a80661968caa37f01000000000000007acafc914dcd1ac429f85e4a1c89580c0bb58b8c67b3cb6924643eca63ce306c0100000000000000d2bd2d471f119d01186c7efe6604e7186de3a72278b28bb93cd0e6355488ce6e0100000000000000984522609ae23fa1279b0e70b1e274dde52dc22a93191376b0a197d00301a82a0100000000000000c2dcde1e4a7ff6f8406b59a7896bce7c2b69bcd12a5a1908493b7beeb97c7f3c0100000000000000582030a59816ace3ab2c2b8c66ca50a69991899df57096da6f6ca8a49b16550f0100000000000000840290d318350bff32db3dcf6138b822cb2adf1dedf5bad8729471988955915c01000000000000008c6dc982725d0f925557f77e1844d64ebbd5e01b7ba9466e0c1f1ce8bb757f3901000000000000006601e1af585ce0bb093a81463302caa6f02919efa89aeed138d25264b32f3d420100000000000000ba1a89293f8cdef3c8d0eddf74059662db8bfe781c27f214b9818b46d159ca78010000000000000054a7be1f3969266e7b653b0712fcf4d237fd6a673ee6eacef2cd4fdb5e5536350100000000000000bec3821f0ead5fcccc95e22def052a2995ea23ebe898344d6f7ee8bd0bae0f580100000000000000d4ccf5e2a8acb9cfed3eadff326730c60d23683a044d59b26e53a4e1abfc895b010000000000000046543a6ba7d90d6f10febc8b628775c1dc08b55cb93c04e09f0a072f264907360100000000000000620708ccbc822d0be9a49eb46e73955d4cdd8735a5f2cfed44bb656a71501a750100000000000000d8faee17dcc461acb22ca1720b86385414ea8810ba31509fbd8da8733029eb190100000000000000105aab27f211e6df23599236853b58c04654709d9c7d0d5c27145369450f324301000000000000008e703730fd72822a067f724f3efa6bbbc82d5c064d3560c5833bf49edc21061a0100000000000000847f4b6d72993380e0e76fe2d885e429796335dc10f470005e9a268880c6fa1b0100000000000000c80a16a172ea19de337c120de8ba72df1b81efb23ff74e0ee7cbf36e666ede1f0100000000000000f820a8ed2c97f639fea2892d0a89ae98ffc4c0054f948f9a0108e4d99f89994c0100000000000000fcd5f4c4fe11f20ad99dc8345b7dc5600caba5d5b7d3f499c3253c095152d45401000000000000002097dfa5836d3a90ca759b40ef83229a4cfcf3dae217cda8299278c9bce37b420100000000000000b66836e9d42ceff254416bfd6cd80592da3a276bfbef6018540bb0c93a5c44410100000000000000ce8df132517fec1b06b9b7ad5a9e18f861df5bf14dd32b0c7dc3f03be447b2730100000000000000566779977b35c81ab477958e39cc697ffce60fe1aa31f8121da08329b25f4e0501000000000000001644ac70036fc8b19ec0e580bfb10d272798d8c7aa3dccd00d5ceb639fbde603010000000000000008a2c8bc8457a382313d040c40f3f0c02eed0e5357910b19ae4f0c9360e4dd1b0100000000000000a8bbf134d2c82050f455ad50876ce102de5e63600d2226ae2d6cf3f52ad6eb240100000000000000480defe8739c9518d5507480bb9c68ec408a60b944824521f1184b74bc47f2170100000000000000780e4353aca40b0f2b2403c862cb33032d49a820244bdc2853ce158d48c4f610010000000000000054793d64aad2cfb3d01ba50441a008cf5cc9acfeb8390ddc3b7945f7e6e65e290100000000000000046e9ea6faab3f6ea31d95f9b4339bc5622323907570fc9c788dbf46a13bb92201000000000000003ae7d174f16f034ff7816b8d9ef1b4b2b15ac5a16eefe819253b03d958babc110100000000000000b2f392bf1ee5258bb5cd29a4b800747a419f4df00c61acacf46dfbbab8094a7e01000000000000003cd825436dadf293b1f5c315d478b960b1e6f141e3244f2f0c892f42c0b15904010000000000000096d1078e96b0902ded888c744f9093b43347ced9c4aa6b37c06aaf320b98714e0100000000000000ac7c9bb11bbd24b64b4611071ac5ebc4c83e94d38abc3df541eb9dd04b726659010000000000000068f3e478d28f00ce97dcbcce5e9cff5674f6b3d8b06f7dd8be7b5f3b6f1b555d0100000000000000da7bfba48819dcd92eeb75e2435784132a257ce38ca01a6eb3fb66bed9422b240100000000000000ccc5a764f42aa0da463245aad924f65618099b1605ef6e3cf7efddaf791cf34c010000000000000056da6e5ada211131376b8d0571118b69fe57fae1393d23572b484f394857904801000000000000008c3fa761a684f89c63b5014e6a934f763345f91c5829d88cdaf28abe75c0823101000000000000000ee6df339af6749cf9b9fdabafc0cdc59ba35a1244fa56b0adf6bcf7cd3333000100000000000000c081b6f9b341d1355ff2caa0bb297d9cfa88dc9db48eab74f1c004c189513e4f01000000000000006a1b43dc9100e51e8a92f4a4d3591b82bbf77fdfad6546330c67d3bdeafce71a0100000000000000667f7af26c8dd32504777bb2a259a26757808ead5155f3f098558a70d90c575b010000000000000006f8df3b49930c691067ddce8889df6179b8ac05a3e9a96d0a7e98904c969b14010000000000000092ee092cd2215c7c1628086c08be10a3cb969f6b276f600422f3526f303bd87801000000000000007e7b48c563ecd0c6e472ddf2d70e03d0a40313ff137671f291aa17413eef087301000000000000009aeda969400e2e21c35ef284458dbc898f277a49da9dbcd675eefcf265f6d4450100000000000000f89ddca1869a2c3a9d40f6401029bde79a46752f60a71abc2d9966b5514e94050100000000000000020d34131c7a0ab6d104839ed8b9e0cdf075b80409a36fbe94d0cf83f7ea1f1e0100000000000000b484046e76bdb203eca3e22bcc5525f7973cfc70ab7eec3f568fccbbac6ba140010000000000000060722aa6239a4b5f138bc30c5b3ebb5cf0c53b901f71076f213b72d073d2cf3601000000000000001098c3193759138d2ce96e47b00dbff13b7542669fec49b78355e10e68f6e4330100000000000000269d2ef380d1b161d3479448fad38c3f1328dfd8a134d5c40399f3692cd7545901000000000000005093664828343ccc86b8a41b0638b5f38c8e5995d2cd01267d49d2651d5898650100000000000000b27ccb4edaf0edc92ce1f35b0950251d38af8cea2dd129a8ff5e6c946ed6546b010000000000000070e31469f5d889be009fb327129c841179474ad84a5c3c732d5260f65f8a3767010000000000000014e5caa5709b3d5a8e50aaaa9ceba368e2d66f964e598f861938f093dadac32b010000000000000040dc7c3e4af430f523ce1ceb5de4c836056a079da82caf752cceab452743695a010000000000000062a20e32bc5903bd091251507aee7b4860fc74348f53ce32f078c7a4cfbbdc3f0100000000000000ea0853b1a9c0bacbc2c57c8233940af4bc51b0734b721f75b8ab5f74d66c0a230100000000000000f44b3ec5c7b2188f208d60d159d1f5b0914a51a0632eacea6b88ec7b26d6673d01000000000000000e3e265f291f50053f38c5c9f145c86caaf56ca085edcc521d58371be0d54d7d010000000000000002d0beaa25938ea3c9f16d3004577ec1e1e60a8198c268e209d2f64a6561b32c010000000000000046c5d9750776edafdced20206ffe4b799489f6de9e0983eeb3a9fb6485c7e22201000000000000007e2f54190ec59a98cc3930dcd41c7113812c0596c9537277ca93038a9e57976b010000000000000054ecb1c6cdd76e77a694ad7d62b50187c0de759e60b46c82ce70e62a9a328e3a01000000000000003ef1fa1b2ae33d6fe3d94915baf7540a6d3b3c34d01bc2670608bf8e24c1b15c0100000000000000829f64b96b37d0aa283fe99a6d2150069bcbb6be61d076f23b3992b6c1fe6756010000000000000052d36d934905359a84c6ab4d2e4aa7db403f77fa694cb05c70d5477f7079595f010000000000000078044b468a3e1a848ba57d04ab36ed1653fd9d59294edcaaed0dcb945d9088770100000000000000ca4750f3796fb66fc707269f6c846b0aef6416f03aebcf728018144bbf76a22b0100000000000000c458431a6f3345a706126fc390af857b97bebfb0d55cb3fdeff7f673e46afb650100000000000000f259a1355699c7b5ef71820c5e04d9e6436dd8844d347ddf84f7325dd93a60590100000000000000ca7706bbef090e99e2cedf4833d3bd4c215121c9596957b651ca4924b773032a0100000000000000a065f45a353f24ba187248aacd9c64d5c3a92ddf92b4a5c33994f56a07cea8400100000000000000584cc334d89181207fad8289d1e89a85848439b16d4bae59f1004188e8e26e500100000000000000a6d498495e591b3b16dc6388c4cf43edf35e263d80d743aa827951f22e0ac91901000000000000009821465bd76d11b25f1384d98901fed08727f3cff92131d817a987333cfc5b650100000000000000b0200adae0feaeea78d77e0de3b4a63c7d44544dd0082beaa93a293abbb06e4901000000000000001a04f32b2351585bca74d9feec86d759d49ee55b615bcabe955f2def5b98df0e0100000000000000742a6a8943509da1d899f82879b8965a928dc3db99996a7ef65dab90c22c99090100000000000000d0f1d3ebce8c9d5346422585d9022f843cbc102d29c28c7b0cd287849e595f4f010000000000000074e859fd23da9f3b5c0b554492134ec981deca6fc0d8e4fc6e33ca517a0ce26a010000000000000022b634563bc2b885326ed31f52644cef011566a890a26192a8b5435b19fb6e42010000000000000010f6d73ff674b4168adce9e291ae84b250293e48eb40839ea8ffea9c057c83090100000000000000ac04c4e0f5a8d352a19ad6fab6226fa1d69222aee364d12809591265f193403c0100000000000000ca377174a1aacc948264510f8fb2f4264475ed6acf4402110d99aac6813a990b01000000000000000cee7204e361a4c8d648f92b4bc058f517a5ebe90bf75f34116934631c610b0c0100000000000000d460e8effd89689383e396bda01d4fb48658d1b2be0f3497a635d92a00783e4301000000000000002a98fbaf7ec22832522e3f96821711ef684283911a524960efb14953255baa2b01000000000000006cd1066d5ccff0f29049137b42feedf12c3a4e91f37170a20e87a84bd6aa1d2a01000000000000002076bc34bf8c9ba9c0922f484f04637c02b4a44e5dd7ec861f1ca8b6cf84c8400100000000000000f8d7cac8239edc444da065c812e4fb38f7b0d928f963388f951e2b0115077a7c0100000000000000a4945508cf103aabe69457d9ea2b46425d9d26e57f89e6b1f799ec18219ad25501000000000000000469ef46bfe2de21a792a23490ee7791b7115c35c71805dd6fc133f6ddb22d270100000000000000d285950cb237602bee1798bcd24418a2a562b549fdd8e5ef2d1f74101358a0460100000000000000662688be862e6bb6c983901a7cfb7d4688fdb4ba82e3d6d6da93ed315029b45a010000000000000096f9ec98d4cfa00b9ff41b5962d3c68f12201556d80bcde84cd85251252b822401000000000000009eb1b5beb8b5ca4613c17e6d41996337b26e0ca7289d2f52df05997020eddc5001000000000000002a89ca2ad62c6b326ac778f63292142fcaf4d9721b13d9994ba4abd46152f30b010000000000000078294f515c659b94bfce9674db37a3cf2f32d89ce1758ca53d1860037cf1d42a0100000000000000a2d57783e292b34b8415c5aae90097a5b7b243b7d80c216e43067d210004f3080100000000000000047e42afb61bd0d49aeed1975a96c8398a0ec4643fcf5625cac5b22c097a02590100000000000000bc4529c25a2a01667d6e451ab753e1713be0835456e6fbd29854cfbd45dd2e3c01000000000000007efe2d823470c2d98b6a020e469747a7a03429abe579202b97b2a5be6c209277010000000000000004efb918028f583768356118e9457c36583319eca6d53536596714e782f1596d010000000000000048ce0aba6f1554e139568b4d2358d6cca9bc291d3600787cc3e732291002ca220100000000000000a0a1cc9172a71b134162a60272739d19b59162748f9e1c4adf86d3a10834c72d01000000000000005440e71292507c1b33554e8d95fd85ca3de6499e1b7c838236051dab5fa3f37c0100000000000000a8731d355eefdfbdb7fb12cfa5a280c0b1e408aca264ef585d42bf97fcfba1160100000000000000f038e6d72ac8c9b9d165e9154b1f7978dc906e6bbb501ffb8e3e9a739a89cf5701000000000000003ce775a4a6215dbfbdc2b0a8a8b71936abd61642b5fd1a0c1d06ba548ad3025e0100000000000000607e87afdec2df93da6947c6cfda81f74329952a2ef95a7173a66db78a3ce7540100000000000000fe24bd4f4b0e75ff21dcf16a3ccba49556cfa9586348a8f939df8def8a214c0d01000000000000001a5c0eed62bc68c0c018b8878a4514706a996dd8dfdc94798684656c8ccce27b0100000000000000f6c3258308f4382c9c7d36f4435b692b42a20d6a7fa74765f7a965eef088c82a0100000000000000685506af78bd0b16513f09395368600e5b6fcde0f89d280c6446b1613844351c01000000000000009cc697b491304d797292fd5f14284c376a0adb2d420add197617126cd258f62c01000000000000002488a8bee91b989dff6adff396074f3300e7938a962ea3728943f37a23a7763e0100000000000000ec25078562fb511f0945c3af78d77c8e02f570c647957c0932475aac3ce72f6a0100000000000000dc4ae9ca42fe496af7a466de59735813691d9c050f3256c3d4a96664cb6f9f670100000000000000028393ee5fcd06734e381651c82cb89b08bdcd64d1aecb4727fef82ae5c44b4501000000000000005045ad06375c923fef7d2b183ead536af9814d951037ee8a37ea010d791f227b0100000000000000c220d72d1562268f43bfa2a12f4b516f060e696091b122eb2e3fe93faccbd67b0100000000000000e0d7a8263f27cb76d32137dfa7ca09355a2821fd2c9454b222b3e5cfd81ca359010000000000000064eda01bc8dd522756c6728f9b030c1b1f605ed89e91233199476e5b0e96ba2c01000000000000008c53786209d22e7605c5ac59b155f2ec9bf5d088d77abd8930fbe65463cd8d6101000000000000001e534cbbe982369a968006efa465cf2a16807a88a5c877d45f090192ea619c6001000000000000009c4a01b4b6e187c0c98931ed673f6c02ead7030a0f6a967185d7823a30d17969010000000000000042f799c01beb57b5ae0779f17bc6be1a8a6ab789cec7c00318049f1a68da504301000000000000006e8af7492bafe8cc6e8113ed4d36dd0d0f28f42b381238da06e4aebc48cd656c0100000000000000a8799cec2aeeea9f33bafbcd60c947d0bcf3b1c9be450c43f63004e16a857e72010000000000000078cf1debe3fc0da2ed2473d1e1835a478cc3e7008e0cf42043f287bc36804b710100000000000000b8f696197dfc324b72f06560c38ac6635d1bfe5ea4cf59c133c36234a0a012540100000000000000266f93d04b5ea1ae454eaa25946da19eb9f1ebd3a6408d8d1ac4a373305fc92301000000000000006ae77bbe36c1554126d56d6bdc72946f26b4323f38125fe5392e154640a60e300100000000000000fcf8c8db78fab04b332758bb6edb9fde68e74ee228c1eac78812cd80adce1273010000000000000032e2c97e308c84afea4b37d7dd8f62e67763126c357c9e6e49b27f54c3702b730100000000000000c64c595519886ef38c2fa837c795ee92f6fe003037c9ded2c1282a939408513d0100000000000000c6a07400a9c7d51d51e5b2c120b40c313ea99b4af9c0c4106bd753f3185f40680100000000000000a0c28669f01d5b4decdab2abfd9d14b989c1d4b32323f264b24a788de0b9d2430100000000000000843778dfeddea10578fab2773f2827c62fe0efe374d9a01eb370bd8f1427e7630100000000000000b67d043a780b897a23192cba22595b758d2a5db517d50951c99d5acdadf3210701000000000000009829a89b84bf8a0c76dad25d99c2e4476e51bff2ee9e917a65edd1b4175cf5400100000000000000b67a042a5fc9668101e9aad4a291ea2aeafe50eae796865cb201201a6dc691530100000000000000080527decdf951ba9bd3ed9acb5e1454d07c661cd84833a455a2d239c18d42140100000000000000847f948b67d6f455e2f2923f366dfe3c0a3925b451210a46cd36fafb8cd8290601000000000000001e6d57d7109cc6dc573360e5f2192578e3324f2a8dcbd823483b82d725a9771701000000000000007cb1f225b90c00f426c33ac4338eeb2dae6467b8a9da5c1556e6588c12ca977b0100000000000000b261a66b9bae17b65e7f6a88d65efb4519925d6c418c9e2ba17bfdbf684b77630100000000000000c4046e6cf48c9913b2af1dd8caa4f7ffd03a01255af691cc1b70f142b97d2a150100000000000000560c91919fc22867159ed77bee1b3e70d2e222a5fe6e830fceb13b58b0daa5290100000000000000b6068f3b8a0ef7a3f7916e5559eea8158d5f5b09d9db89e40dfc5bab0549911a01000000000000003680cf4852c43b2a708608cd7e09b531e7748e4d7e9d65904676f53ca7565352010000000000000010381a1fde26d95804978d4ccaa1d6e634efe2ac922f7dae4da3cf3a64568a4e01000000000000003227028def74f8ea7bede3e112e4ce09d8fb823790ed599f2259019945f2690a0100000000000000d28eb111cd786c6f09c003d958c4a26cfd7a33f9e8bf6db02795f12afc7a1e0e01000000000000004ca838afa9f12e88436eacb5024f3f94c95a66c32e114f65f3136176e426c75501000000000000000ea6f5d4087d599603b0c39fbd588c198b9d9bec85a77a5579ff68fad12fc20c0100000000000000ae3abe7a22e9bdc2c56ccd4ee8b99867ca5c54b0728ff372f3ff5caa3c6266160100000000000000fc5b39a7b7d737c7d1dee9dbaa77969b95a7edd3926c538d8dbb854d53cb3c1101000000000000008868524e56bed527bb3039e7d01a84af44e8e62ed00b1f44098c47789e4b201001000000000000007e8fa0ce0acea9cb5bab44ae7112ffd068f3a3c193a90f1fd4fb00adc1a2042c01000000000000000c60356c02d5d99293952c478fd07b2cff982dbad863ebdadf25c9e69206f14901000000000000000c6cc2bc932adace83516fe99076d532e6197ae08d66610988288044c6bdbf3601000000000000004843126f2fe8ee46dd4a489f97b1f4717ef777ed371da544e30e8c7e5f0d681a01000000000000008e67bbfe6269ba4ea2b216e7cc21a54ab882859d65a691ff2eec486f66a9035f0100000000000000103680fee8923b681b7721ef2bdfaac20a99bae45e643b42a228be43b3d211660100000000000000603fef5a531a03b8e83a8b66f583edf78706b93a11eff454f5a56093a6434a3a01000000000000001e724d980809bc793ae72d15a9b33cbf93b4cc17875a4259970548c5137c6b4d01000000000000005edd53eab09b1834ec2435a78a19daee1acefe1e84de77bf788740d9bf6938360100000000000000981f14da22574782d35643e2fdf2c514245b6d7475048becf8143136acabb00c010000000000000090b7aa9d2cd7f44f20fdf30f34ccb9d34c943c1e5c3d4553c6c43049dd8ddf1d01000000000000002aa57ae83dbf829a794b555b8acddc97657b2178d0722c6263c8ddd19ffd474901000000000000009664e4e01c42d9a22435a39dfb1daa6cf043abbd01c1b081c28ee271988b415b0100000000000000381a3708c945f1d295122322f3b3b7e161a4f2556d6f8d8ebfe052377ed37b700100000000000000e09ecf865113ac4f2520de61ba8b8fa5480534d41145d1ff3db5c8ea3f3c9a100100000000000000ecf0297bddebd3d766ea7def2bac79ad6eb650fabdcd029b99cb1649ff7dc815010000000000000090b46ba005eb064c8ea5ebec94a5facfe2ad0c0050dee0f51026f0d1603911170100000000000000f256b9b48c47178b2f1896a017caed1ea2451c84c29ca1453ac153d0dab019130100000000000000509f915fe6f099fb5807c03be526a055dbb7565c35831a7dd76d6e506d493c460100000000000000042cc9a90ee7801f29bde1f77ebc42e68fc8432df113d23b82201d1a10e33d0a01000000000000001a47252288a7ce1b8f8892ca42e0f279967de49258218eaea8bfd94ae117b77401000000000000003c2f81db928e84552574a761e6bf8991a337ef5907a5ad26d8d21385da1b7e3201000000000000001e63ed13cb9b8d544a73307d348a241d87d3d1063715d686572e705b37b7483e0100000000000000eeaf1f835802c8997d3158c153aa6b5a01c5cf2772b0c00339bffb059ca9ed420100000000000000183e5f34c7c987bb4f165e2b737a9300495ecc1b7f9681c5c748bffea19bdd650100000000000000a0935670e98d2bf4800f84af8a051ce9d600d2f515cc2de17a9e354d3488db460100000000000000e84ad35c6913d9fb006b3d64760b959edf736c080c8fdd58af24ba8e6a6fd47b0100000000000000e8b7e227a0ca7c64a4099a3fbb509620d4b8e1dd91e1ca32a5bda49d4aebb31f0100000000000000ea3c4034fa89a8744f7c8a55560418d7298cccf97fdba7cfc0a9c83701dd680c010000000000000036ac66f4a630e6c2af684fa7ad07390d67ba6fa05b50bb5dc3ec8cb3fc39f66b010000000000000008bb4e156026608c59c8b2b6f8068e7398c30278a90b8f478724fd04456a67300100000000000000f8e53780bed6bf624f73d22731cb6c5eb520d40e0b4d47f62f8a73705ee9853d01000000000000004e466f6a4930d856a1f53f21c1a44451ead20c8c71319f6a685f0e254d24c32101000000000000004c1af564e989c30c6e5ae1b8035ced5f59653b40cbc2d78fe17336468c8f441b01000000000000002e885398b2f8018002abd2595f86a4168d37c1dc2e189108a02c520f17225b7b01000000000000003ac231bc9a6e280f3d1ae2020b2e56c5888098427a186d35c052ffd6e42f264301000000000000009647f0ba124d459f0633dfd82a3c3a0010124072d4e274742c7c17a536eba91401000000000000000eabd85c2d5a1631f4b14cab1afb71b4c8b9543b3c93ed53b5a557513bd8394e010000000000000024706d6d41dbaf2bac8cf1c4375d87c3a5b84b8bde07036968aebe83906610450100000000000000e6b0227620e1921d97976f803bcd20553e4e6bc80f1e269c8d8485757f269a47010000000000000088fa8bb07ebce99964718c65d0d6f1b091ef2f4d4cdf7b94a22c42c007ecd706010000000000000048f68e4cd520fc8d0d253c8b5816082302690cdef1ed1cd2e4f76215243e723801000000000000008213c855c6cda8c660559fe47d08cb584050fb4d2dc411cb1311047a806c874a010000000000000000f79cec5a6b6b70f768ed05e94d2cfd70b13bc58fa16e62d742ee49aabe967e0100000000000000d8bb28523be3666290cf2748c87eef425e0d92cfc359de1d74004354cb583c4e01000000000000004cb3593968c0254cadc7f1a2270f9a89e0909e12a6eb5ceb7f723ab6ee9b7275010000000000000066367dc21d99167386ed0d0018a18b23a1f7531aba9f6e1d299a43446c86201f010000000000000060f640b7d3d4e9316603270a4e5771ff2d9e48927a6210a67eab2a25149f17740100000000000000d2179a30faa13f5b821213d4e45bafebfe069746e5afe09254f80fa301ae093a0100000000000000860f027419d3673cc8e103d0812025ad5151e2bd630d8fe55fa7b8314e37105a010000000000000092e5bb9d0906f768dbdde0696b78e493cc78dc1f68789575b24f0b962799b51e01000000000000009295a1f023157921d346b73484b120d46048382107015aa9ed998f1fae95970e01000000000000003e652d1f8e78c4011cc9b19a2fbe253a6c8708a30e94b549550f11f17d9b3f700100000000000000d2c456a3002282450e0419b0aa5293b85a9e6f5e9d181652a494a2e613f12a11010000000000000046920ef4915f3036b0686792a741f2d04698b23c5e6b8338d03a7e935d61343001000000000000006cb96487d8bb7c4ba7726a623709a27687866740b7a400b9c5322e806711aa0501000000000000008a061720463abda562f0802f43ff556ef8382f737ec6370150396ec14dec820901000000000000004a512ac212da2c96d7bc8590865ce627e6b60246700595bb100b240e80a3f0760100000000000000be2ee8034bdda18863bca0a0af63015a85ee2551b62e0b1c732417ed06ea39540100000000000000d65ce90b9f6560a41d71a5a53303b2e9fe2fa2c7b5aa7b8d77f7c0ed4473993001000000000000005a15fb3423d8efc0d616665530a6d478b661c324eb30a42f72b828f5ea99421e01000000000000001caf58ab15b9012fdd60832fedda98852b1a37a488f89c57cc1c19f11048ce5b0100000000000000c6fbf5153c7b8dd896e8daab854560e2ab669890479fed689ca39f210fe880080100000000000000cef0ed2766b32d77a4c7f040c05353dd8a918b01bb9705492a53c419ef282c39010000000000000086f750fd8e37cabe5049c7336bc317cb011c62d1e0dbb59a68706c366de0c2610100000000000000aa58ec5f9f12a8cf5286c9620b3c3d9190ac57e7d2aeaace1bd6aa27ce48167101000000000000007eaa6ebab8bf9421751c15e0dc061d9fc6bd225c6efae51c88c58a7f8387b90901000000000000008253aa8ced658c953f1052f9117421984cbe6dbf14fda93f723f3fad901d88020100000000000000f2482ae122cad07e9aba73acdda2f47ee8dbdbe85f6921c1f1ba968852c5df31010000000000000058e325dff1555077716069f76f83f6e2ff171bb43fdce83659d250a1abe7342f0100000000000000ea88c9aa1e449f4c62b86af5da1abda7479f9be5344eafcaca482b892601c457010000000000000026538b2b883a97c4e4ca0c01a9e136d42832e07156bf9df23bee062df009230501000000000000000cc6b385d54b772686de9137405b523af4bc79c0e2ca6c162163808521ad79570100000000000000bcbd81964eb726de1abd2b7608252278066fa196b100b15ea8d8976a94ac743e0100000000000000b0d9dc44559810ad536b1c9792b5624cb087972bf5fe3ee484f9214497d6f8380100000000000000fad87158d4a6234fd1444bf61c5d4b7e741f31a9e1d49bd5ef1ab21e19143e530100000000000000eae34c5f0c88e2cefa9ef36ea262faf41315a0de4074c6f3b3696c153f8f023c0100000000000000b600ec4f4068eff1e9d03edd1eb00e4bb2795eb1029348825e604ed28829bb6b0100000000000000d23c53a531e356646133db73065cd83999693a5bdfc05931238434f5b031522f010000000000000094d28205c958a5d713fe7dec4dac2cb85cce31872e3faf9eb9487e8fcabbac6001000000000000008af88ab005ea3b1a0b3412054c721e574c4b4469e231aa487d9132946e42bb690100000000000000aa74176b5870c97b754a157ec0d8032148c2ae717a905e0e5e626048b6f53343010000000000000062d37e495af1a21a15c93556362a0e29726926302d9453bcf2c2f0a7b4001e5a010000000000000032fdd22fdc3662f97008fbb6f52d0fbe7b62c24956849fe04f9b023007a8932301000000000000003e07b075219fc7ace8dc3bf3a06f5dc12aa9c7e45fe30244d2284bcfb1e6ee190100000000000000a4a0bc81aaad1ebce3fdf896a8d6d081ab93efc2de9d5c56f2632edfeaa7ad0f0100000000000000a07fe18d0151b0bbb2a2f9604122716fa2ae881babe7e6d84a22cfabdcd1267a010000000000000042c7ee18833ca3f3a56b91ea1f57f1984a7d127efd57802caadd0a4a7e3d5f480100000000000000f6fabc667ca7e609a18fbc1b44af598f189f769f5e7419d2632a3dbfb46b266101000000000000005ae2495c65862ec124cbc8c9268f7a1fa66a9013b01f10198855149cc549c3710100000000000000465242c8915eea46e25549f2ab97cfe78784f25083e51773e07d5a0cafc2de320100000000000000e886d0c8ecc3af997d07b9426599a43adb274a3b0d5ab3262331a5da13e7555601000000000000009ef8d5705da658687f96fb0a6f937611a3127911a1694a46ec7226741ce43e4f010000000000000018728d9d1125cfc79ab103aff7fecddfb9c6528d3a707e8e088b92c9c7a5d41b01000000000000009875dea5d493af94567673bfcaf096919a921cbb806f55b7488bb0a554fed66c01000000000000009a3b32b7cc94b119b2753d77d4f38b0e63900a5633773105a551de5b22670e7a010000000000000046ed02242cf70665583c79a324b0e53c1e957c2b6c41371fdfa7c632513a86530100000000000000643589f0627aa555aefb01d2f0a366eacc252af9437ec2a892935da2a1052c170100000000000000241cb8ac6036dff8d9e0f6f092f17932945166e75010dee9adb2e245a4b6e5500100000000000000a877af86b958cb961cc97cc61fc35602350a87cf9cccefb09dd91f9f792919250100000000000000ec1ccac47bdcd80ce07faf39b9b1791033ef5587d0647b9b83ee433fcb8d32170100000000000000288c08430a7e427400dd5b61926b74a82abcbbc91ac739190cc791a581f6836a0100000000000000b40a7dad67fc795dda1dfc1ebc78dbe45a8116888183aadd0cb4698dc4415912010000000000000028052d0b965ed862b7861aa7f3f91fe52ff8b0f795ff476c7e0a7aa42e7993300100000000000000a853037e17e9d4ad15f03f236723506cb78607413d233975c9ef793397de156a0100000000000000b6c42607db8cf37421c805c1c54fcfe85f3d25405ff4c55286501818c9dc584601000000000000006e196558c4d270a0c85c034ec2d427b99eb9e43ea2a76c30d74eb902aa11d67001000000000000004c877f2d5a9fb22cb8526dda4256da8e575f09cd838d5e15032e8e150ee1ea7f0100000000000000769ea03c7b16ccfa42f5aec6127e19f165bd61e60180299da4145854061e1e180100000000000000c22b3fe29c3b9eef11a6db4c79ebac692efa4e3a9e4a48affdc415275ce387640100000000000000aa646448bef869fb04cbe6c623251e10ddda7c039fdb8b642b704c3a0416dd27010000000000000028a0a3e8d2a6ff3213d142b94caa64965d1c738c4195706f133175065165130801000000000000003680810b04e4cf0eb010ea7491e9833698f14a98b2a7f1fb991488fd39f3a35d01000000000000003622bfbaf9350b5906bdf9ce362e06726224ed141c5d29e8e175e0beedbd3d3d010000000000000070f08007867b02d11f3fa909154b03a7915ae7971e474ae27725fc6b99c8425b01000000000000002c6ef636d3bba8ef79dfc0e6d77bcb38426b54c92b764b29115d25f3af9c87160100000000000000e8b977fa9876c391f9ea7fa563d64da4af9b50fabac9a2425b2f18c7eef2f54c010000000000000086088c15ab94ed86455e4473c198b99730e99585b88d6fa465ce429d268ea27d01000000000000006ca1fff449e7504cdaacafd3e53d23f3e9b566178f592811a7a423fba6f0506201000000000000006ed90090a744a0d55adf8f8af5af4d5198bb67220ce33fe71121d7c51f27a41301000000000000005415709fd8ddce1a97512f0950815e25178679d2591270d89e83c5350bfd4b0501000000000000000a73873c9828f50900fec8ebe613db998e6fe476142718ce0589822f88dffb3d01000000000000002e1112ae35f007b16eac0058c77a85d3dca8687cf6f1bf231f84d768fb389c040100000000000000809dc13a93316ffb2f1cfecfbce374272a81639b11fdb1836f04d3bac622f24c0100000000000000687cbc1bf231505a492d00bbbbd0f7adc9df484ae46143f1088f469e51f95d740100000000000000e4e005984bbae507a03d158ea8ca3a87505ae3e8723d8f5bfffccb63a23ea61c01000000000000008a40c3acc862dcac958866b738b304be7d84c33d9420b0747eb82aaa21b8c40c01000000000000007a2430a3ba06afdacb8cdd51b95a8f94e97f6f3da16a16db190a83fc8d7f380c010000000000000030071950e33b60f29acdcaabac9e3f6f1436f337cbd3f123f5aed3f0307ee823010000000000000092439f4dab2f4b2e8d1bd040505ee33fb2c1dd56f3946826cc27288422313b3a0100000000000000aa6e4b27f80410ae5ce7ab8e7bf083f6e6a87f87a784d6aca9e5fd9843176926010000000000000094b4d71ff20170266393c4cb481cbc68d0f04264e067f456dfcbae3ae0af5739010000000000000092c996c1fedd09190bb0fa8cc79e4075ad79eca3d6895d2a99d20e6f89e4182b010000000000000072bb32222caca7113141263e12a4193da7f29806dc93cdd11fa9653464344e32010000000000000000140d4493060751979098f686733955e6e71d01bbaa8a3e6cb297400c5c624f0100000000000000204791fdb49af594e5b04e0f26492e56ad8ef4cc8533245609d10e66c340302e0100000000000000c21f66c32b614761850e5795a3afdaec1461b45184702e3c2cd5ec2df9623c3a01000000000000008ec59e4c60c8e07ea1c5de77d0510924f4d399071cf1f09606e0e58c961c1c020100000000000000941dd915e0ed9ab77c5902ad8840b81dc84402df589ee4d846480c63cc5d9731010000000000000076f132027235278f9c582ad1c52fa62390aa10f04add56321a28b4f22074092d0100000000000000428992924b7c66ae24e3c55a9d85fcd8343ab1bf0089a8e5038313d1f3fcf9700100000000000000f2065428f52da2f7a881f9b94bfd38719bb6e5ff88a6800bbb3aebb1a9ad21020100000000000000ae48bbbfd5aa564f0945a2d79428d0182fe40770999ffcf472944e28bac852790100000000000000664e22b28ad76fa3b6e8ff42b67991593fc2895257515564be879070b9aea430010000000000000028f159f324744bc9c1024c1cf5767b285d4c99f5503994801a2935b1c5b07770010000000000000094ca8d9a1ac9afe584ea99954a80926de626990ba9087c0a8ac242ab67fcb7780100000000000000fc3fa462e56b8a4aadc369f88cad272f9e52da4a11c4896c30e3e0ee19c403140100000000000000d4ea40358db730c989516c396564c35219ccfc967d4e8dcfb02ca41417bf614901000000000000009452d0cd850a8a3fce455d099302e7d641242037956cb39f679f343e2af9601401000000000000004e09267475354ac23e1cc62749139e0dedb5e403013fb807490e37487594707e0100000000000000aad8cadd0411f99a40ca280442477e707101189728ee1252931e28bc75edc6370100000000000000bae8e68bc8f1b66fe3229ee72d77137b394c6b7dfbf55e424f9d2c82d5c996000100000000000000183a83cfb0fcd53d29c91527754e3f6e4697fc680d43247d200b39589084f84d0100000000000000deafec3833f9925dbc5d185762c864d1294215c8eeb3f63da6f4cd5fa78eee3b010000000000000076fbe24a9ab4cd3cd99386300fca0e4ad3d97aba0558ef4929aaab74931a274d01000000000000002e80afd2cf30e0415e4f442a662a9f7da2d07043f87832ce66f15049c022d46301000000000000003c7d4e79e3531b0b00ad005934e642cd0d49ae04fc2a10f3d1945951c8190c16010000000000000004c1f0acbfa8d8f1169684bde1c6e3938fe90d54879168a6a4a7fbe99eefb9290100000000000000a60345c5939d4ef77e57e8fea426929956c826524c7df8b5d880d5274d77461d0100000000000000683f0e1d68ab68c7b04bc1928a8b47abff720349ddc36d7073793f43c2afb030010000000000000060b521110672f6f871978fd3ac4a835b5e30c3fa727c04c70dbc543fcad38b0e0100000000000000e047754ec2beaaf49bded84adef9b7cd827641ada004b050b58859ff91abbc5e0100000000000000c40c9ed995aac4b4aeab516c9614b4614616a75eaf2fbe628dde6d3be5bc9b6601000000000000002ab0b5cc358184be4fa29e7a3dc24806a72e55baad40ec9a117324a884242c280100000000000000e05c7c7d82498be85294ee984e1f0caf23c53fa9a64cc7e6c5053304c4bb785101000000000000005afe620da258a48f00c3afbb8a98161e977f076c7e7f8392975a4f0db4b57d610100000000000000a61667ea6442054b56111477f57ecf39b6e90480bfadf54c3e6cb5ac3a3e275801000000000000001ae9aab4a890c558ac8ab90ccbbf193b3841083670ebed278b2161fa2ec7b3040100000000000000c0730aba0523c10c535c2640ec878a0f5d2a240c8d53fc37fd30f5735a38ec4001000000000000004059f5de23fd2e6805528d79475470526ee7e2f17192988e10c681e15672857c01000000000000002ef1963041466a7d5160843012c4fcad880ed969cff996152f4283ffbe645e0c01000000000000009e6528fe0232f7e9162c5292621c135c47e949e54e91fe5fd500b8b80632625f01000000000000003c0e8a8f204aa9b2f088877f0e03c6ec1c0552baaff43bdbffe904dac305675b01000000000000004e7a559a6f6f685a8b438db6acc074df322e2a38b9f49b26fb60026b9301f42a0100000000000000e27224d559cb0628012bf4e5c6b1f0f2a678300a360010b9985bbf9bb4ca6d2a01000000000000005a3788f9347ad802a56974dfb4ed19b22fa91c20e5c8dcffaf4208f25471432601000000000000004616ac86f0d45899eed3f1246dc5744858a694a92b0abd9f10e52dfc9c28674601000000000000004c0b37ebd9e67b237a2b3a9545c269bc382735bc3907baf9ee468bae0d8feb2e0100000000000000c65e37495239d0eec6f8ca9000a0e8ad618fbe5c366c25825ca7fb26c7b27a7a0100000000000000a4b31af719e5d9c3b69326ef920736e8b620b329eade475ae23a33fbd445df72010000000000000044752934a6a030f482e9d8fa9e704e7e4ae9c2f8b4eb12faaa31c87c8f12c44c0100000000000000347a2ed2ed3db2d6e3c90f3988349ca56a33021537202d17412e1b1862a8c35101000000000000009281394b5d35827c826e1d7444f346c247b9a004aa0292a9ca2b16e0fb556877010000000000000080a4dd2b8d5f3d3aa4b1d6506be93c75b78f2d45a58e468d0474f20d366d0335010000000000000094be52a3a400ca82f2ad77c8c3c8d572235345249a622ff0588235981c95d7700100000000000000a2cf2f85a782a37f8635661c3ad7cd4aaffbd35c6658a408c3d31ba489d69d7101000000000000006e5b6b3ed154c062b39552c901772d5cf23eb9e4a629c7689c16f1d827ebec2e01000000000000007e88cd54f47c1f4ddd9d3a198fc689d24a523fe186d526b14e476f14ced7db3c0100000000000000d2905cebd84223d1985b48d8c9104ca9ef6195d2cb3a5a839b57f238db79ae7901000000000000006ac27e3d6423f2d9488d1bf42dd6f2d3eec911c471b51d69cef6371ff242a3750100000000000000ece4c3c5e3b6ac008899adf3458f1f59ae7db2e674bbe80412756963446913030100000000000000881a3f7b045cf93b13e79864a7617ce7f5dba554463e5b00a441d226da016c140100000000000000e63548b7be72f3559c789fc7e7e15e187b44a7217c46848f11ac822741c39c57010000000000000072c2d06efacbb9760446b7f5eeacf6dd626098dfea6ccc1c7574f03fcae4b06801000000000000007c6d7bf7c2dfb84a3f14e25e97676617269616b56c57b59d670b2337bdc5117901000000000000007eb2523d97733bc3e38e966e85e9f7cc841ecfe993d37e849becc80033b6c5740100000000000000aaf44f9d4dca217ceb1de3ee4cd8e5ea99fcadff20c2626a52796567a316ea7e0100000000000000b85b1b7b8ed510a5bc1d0979fdc04ec7b73d84c7d1d767dafb6faccc8dfd402c01000000000000007e8ebb46c80883225df2fc91fe7ede9933dcf073f3d74ea3db0525585984e74c0100000000000000068245d8a483bdbd4e9d88b49e17a651ec168f25e6851fc52c2e36a516031d5e0100000000000000283e38e57cd8630b855b32b734fc426530742419ac407dfd215b3cf46aa8fc4c0100000000000000383d2ea99f1550060500295b8dccd50a9b78e2e868c01f28adf6ef2e8007ac7c010000000000000000a5fc354a5669536eba3ab51a608e9c811214c5b7702b571535d48feeb9742301000000000000003063dc6994f705aafd8f6a9c3252629f17d2bde6ae269ce9d0fa4ab0c8a1ce3a01000000000000008859563f3d771b1ca9e5afb70b9c760158a970bf9767060c34af3eb32354ba5d010000000000000068b2ac21afb21cc0d5a063c77fea17f09885bff57d0200cb83ec85da7eeb614e0100000000000000bc3cdcf9f41b5f3f073a7f6a29931a6be12fbcdfc1dfe7145c4e0a527e9e243c0100000000000000e2448caf0194050db8eaec00df9b2729de602fb307147d00e82172141211ea180100000000000000da132f2f832c8e2a4e268b4faa923d9449c94ebe66f03fa0ac4303f2ceb1b053010000000000000070eb857f0386996d388029ac2d19c3c31ccb3766a9d118bb5dd36ab331d33b2201000000000000007c4bd3b9b81241ca657d1b461afe675272ad933187ee5855fc71475d1f01812f0100000000000000a8d082a4289fe5ccaada604e70c4b1473d6fae4374663672e61474852c1ebf2a0100000000000000007cffa67942272b1974dd65c87828e1535799e008d9e81b2818f5e308ed4f3901000000000000004a75953fedaf3e983357fdee67ca8174bae4c7c4634e616338bd075aa486564a0100000000000000cc840ae0117378161b86a52baa6decb97ccfc1101325256f178ba8f67761671d010000000000000050deb42e933545c7892d2d25496d9934505fce1d08ad50652a755869c8684309010000000000000096b9efe3e08609cd61aa98f3202618d928074308d9f189d97f7c1e52d2afca1101000000000000009623ad5bd17b75cc58839c76474636ad5675c519e15f090ec008eb626db73b1401000000000000009f0bc826a43e48ba2dce5ca320ef5edaf7f456f8a375bbdb10ab7512c3c70b7b01000000000000000400000000000000024a83e58300d37a542703495b601a06472954c3b61469fba89e659b41b3328ad53d8b840101a229000000000000532d5311000000006009000000000000610976441c448aefcf40a72128edc9b44a4f7ef9c267c503e98f5f9c72d5e9e92f00010000000000000012549e625056f554578ab32d29cbfccc5529e404db8234af00a0856923f6e3030100000000000000c65fb01e233e312b7d3dd6bf7d6c159d30a06550fbf40e664d2f97f21def7c1d0100000000000000ae5797a6246fc7f96394d09712e9abdfb1ca3e7793c3f093aae6c126024ab72e01000000000000006c9c53f3824abe976dedc2792e1c6b8cc55c317eed2f30916c3229b60e579206010000000000000080f20c794a97e6080e7b81854feb03a4924ee28b33bb2269cae8fa582dfedf2e0100000000000000ec8fcbae6ca9d402b51bb0bde913f0c29769d8d1b9653f4933db117890fe38720100000000000000c29a52b01236996d090dc112e63aca2ec383da79f89c5db420319c7a7ec9645a0100000000000000cad93fbaf78ceb031a3677b27a9e579688602099c97258c746b080422c34bc4d0100000000000000f69a39a051376ea1dbb2a00c3e18369664beb746ca10453dad7db5f9341fde7e010000000000000082c934f66716490be643b87b99dcfc1c530e4b2ff2ef2df2d1844120cadb293d0100000000000000dadcf49d502bc401f146b250e918ae4d0a441958b24825e3c09dc820bc03131f01000000000000002a7c2591d7e46c931a3430a059b2b05be4b4871540a837037c1c4fc7d352ce460100000000000000e81d0d57bfad740cb4d3cb5e4a37fc80687f9d0d0eb3ac83883bcf8b77bb937e0100000000000000147ccca21c4dedac43e0222ab379ef490987b302176a8010ba2265aa29567b610100000000000000e0c8701616aea15e91edc27c9e64e0afdd3abbf4f502c0f646fa060eded3bc680100000000000000906ec0a56171d27f65c29683a31c71a87a4e32b273596a0a704ff07ba344d0660100000000000000e03e8b838de23dc7dbe96982a43cb33b406d6f9978132eac11ae555efa8d226b0100000000000000ba395fcb33327501109ed40712c7a372d25bf3339edfabe2a1964fb7b5d4d82401000000000000003a36963a41de2036872df1c499f45acc0e7179457316ec2d99a6018e078f6a050100000000000000da9bf8b51b8396da87113ba296940b23a9fb3cfe7c3fd0b3d541331121b8f57c01000000000000003c2943d6777720179fafe62691d06390210dfb03a1f4c77150cd7e708b86be1e0100000000000000f63eafe185aeaf7071501cebcc6e0f1d1ed4a21a7994a64ae7e51f98c23218500100000000000000c0ff0ad7de8b9403d14459655c0ec4107f119e74406be3161faf15b5ddf1395001000000000000004c9886e2e62ee92a6778d6a7928052732044b64fa61969cd8e37f3f7e3406f720100000000000000baedcd27682fb5289898711ed238fa3fb93b4cb4f4068e0e2b359d91dc726c550100000000000000a23237719086db4a3c6e4ec298be9fbd400f80f44b694f69cc1dd1cd84ecfe1d01000000000000006a84d16e0196639a917baad78fb5e3b716d7ffd6c447ccadeedead0882482e6e010000000000000058cc4e48b26665ec1d6c2a128f0f5b70434ab4a771743429058b963257e6563d01000000000000007a42c87630d09e4d4b041cee10fe20840cc0ae2089514c51e248e137c6d5ab0a0100000000000000c80f32768e5bcf83095be0dc3db1f59f43650d58aebe4ca599dc02de3bbede120100000000000000228dfe58ff0326d8c8e0c51476692d0610424b01244c52c561f02dd133e83e0a01000000000000001e8d73bf05780fababa732bf11ea5251ca67db705955f2936fdbf2f1f1c8f13601000000000000001c0856b04c28ed8bdee95096f95646efc095737d4482b475053245db424e022901000000000000005237e4509f24bc9e8bf9bfd78b594219d86853ae16601f692f10c9b16b88f83b01000000000000002cbd43e95a827c6a62a0621b1297f0328c5919029173b2b4fabea89fa65848380100000000000000a0511c06f6fc317bbc43df8b47b7c36ca7e3ad43010607e88f21cccb32ecbd5b0100000000000000c87bf24eebac187534f689c35ab23038e0a49f890fabfc10613ed78dba1f67170100000000000000362701313409bc9d55aee9cb57aaa8d97bea27bcb918c08b99e8cff39301936501000000000000003879f0af6cd2398db42a96d1510ae6f652929b17aae73926a3f11a8d4c90b72a0100000000000000b88e803bf4241f6465c0393416858ce6a0ac3c350be41cf0434a3566eeb79c4701000000000000008084d934bf7a7ad960de3b325ad5109d10eef00e90d6ab776240b7bbeb6a6a7e0100000000000000c66476c56a07a8e1a9e57bec84efe2817bddb252ddae336d0e64ae2905397e0d010000000000000028187c06cc7e198c70651d2e147597c299c3953f11113715847b419d39e41a7c01000000000000009ce7136b5fb85ba83e153c64a212fca1eee9c3ee42fd010fb27f2d55695b29640100000000000000707c6f8128973d552e4e13c7b3e0a7cebca93fecf8efc5df89fb66865acbaf72010000000000000006d2846642c835b0fb1ff1ef908449376aa8e7c0f3352e55da9a1e97e9528b230100000000000000d4be6f891156ecfd5f9ff661f780884578ac18dcc999b7f574510196c5243c220100000000000000ca29cefbde4a2167c5b0b4900dd25b7dd6877111ce52029ee334f02aa9a05459010000000000000076fc5ac3dc0ccd5aee50f0a686a0cb5ceb87bb037034dfc5e050cc477a327f150100000000000000702aa745c823db83579c2ab00ff4477b39e270874349bf7278447fcdde4d18790100000000000000f8a681118ea0bb9dfde2813ce5144eeb5cee881c27883de1c0c759255ec32654010000000000000016e3f8f5ce2e2b22b816bed27dc767115513198ec47d2795ba9edcccdde2d1580100000000000000b43a022b3cf70d5c2f080a2759d1778cc246f6f817df139391b9e7a952fdb14a010000000000000000345471200425fecce5c32680fa8c00141ab3ba13dc931f753ee13ae52281680100000000000000b6e36baeb73f17807fc72f8fd2518bd25be7ad6c96a2bf73d2202d1c225eb31b0100000000000000c08c91ecf8879f5042960c3d61c0e74f125463ca2726e6655fb922af5cdcb8510100000000000000e23173bf099d870567cbac0e94678e62cb1a554f4bf92c14ec2d46d9dbd8570101000000000000002ea26372b229d0438f7fa19e9c80f90fce3fb41024c48475938d6501ddd8547f01000000000000002c637ca0ccfc4fcf709987ab93933fde929687f615951f4db7ada7cba981e53e0100000000000000e67c524e443cda4cd27dfcce70488a5d23a93c8c46a5e83ef5a69eff3a02fa5a0100000000000000a42289d68c963358f3c450a850242bb53121e73e17f0e2ea2b93327446bea33c0100000000000000caa53cf3e8ff5604d82bac45868bf3e25115f7e8f4d1cdfada68f8487d03e91b0100000000000000a263f3bcd4a33da0112d793dd5f5beeb40eacfa37e3775e2493fa502b7215b5401000000000000005a22cbf55ee96a7afcbaca5ea1aca08d0eb0f2eaead1f43633ead6ad4c30c2390100000000000000a8e470f2339e3ed0da456780dd9207e9c6a02459238ec3057a6ade01fd6cd60a010000000000000002a65bcaa7e35aa60238c784f04cb771829d09bb4e0f7c1c14f4e0b4c0a6391e0100000000000000987b7ecf8720281e4a19c9c5ec6c62be561b6c2e341d5236a6ec0ada32f3e15201000000000000001892bc64859d3f7b26ea46d591a09bb55a80bcb9f2624c61d2ae145e01f56f530100000000000000da2ae63c251f8974aca311e38f118bc404fa9492c08576a3863d2944f97901050100000000000000c4eeba433f476d40e4d6967214298eff1088a8404d81df860229f484cba14944010000000000000088dcb7ea2da86c213e8c735fd1c3c9048bb6312be7045f298f098ba056b87b2d01000000000000003462df838ecb66d01d18c0c4beb28576871b0751075e14668fceb8970104150a01000000000000004e505749e5bbc4d469c2640820ce1f61e6062bc979e258d26e2c1a52b820b47e01000000000000001abb26ba0076d5e001abdcf18d4454fe25c5076bc5ceb1b8f35d6041670c265f0100000000000000b4ffe3c5959ff37c11c6f19d91926cb97aa4bf0f604919e1753bb55664d061680100000000000000bc4c9b5425f9a2aa09e3239332c702dedbfffa2b9f4cc1b978b307fc1fa1337c010000000000000082adf4dd2acaba7512ff01a3134c63e3491c88a10ca13ceb92b60d34b6750b760100000000000000bcb501cabb14adc6bd1c1d8a94284bedd2a20a21f3caf33d7e60edf1a73065530100000000000000b0d4319a2ca1e335440462c6b9c80cefdbfc9aa735d84301a618ca480b56033001000000000000001ee57665488b5ad6f7358157b73009a4ec4b14b4a03c976487e188f54bff7d6401000000000000007022686a613aa1387ea688fdd9a23170bf587f7f1dbaf7b8b022f120f3a4560d0100000000000000ecc606e7ba3eed5d7f6bfd00bf679f03078761d1cb50904d1caa1080431d4c340100000000000000dc387c0249b862faa91a5fd30d1c2b86dbc741b2feac242f274bed763d647b6c0100000000000000dcf4298b520c110042e482f1a64fdf4d579782abe773d79417354ed8528202670100000000000000e208256605f8c064a2ea00f8503293d0dc4aeaacffe021a328cd164c22b623370100000000000000c47bd7af17b6ad4f01e2880542c8596f5a800a20eeebcb37756ffca94a6b98100100000000000000d8632901dcd20c3415349407ec167034633de91f3aa55f64c8bb35882c1b0c190100000000000000dca99b59a15cd12f53c2e069f1cc440c0d73b7f0f027e3d5c759ad5af7b32f4b0100000000000000a0c43d97dab42fbb65ba08c2960f8ad589ba74ce07bb67026b0e8579c3cbfc2301000000000000000052e7df40b49fce61ac4b3099dd48d9bd647d7bdd7dbc9e9f487e2301dc3b07010000000000000026cc6964564859f16a2c5ce9df5e08804d65acea2bedef70a72b13adb5147d370100000000000000c8871294c3dbdab785b4e8ad9604d5f49db8260dcd8980275c980222e6eb261601000000000000005245c68abe0cf4f23b04bfd3a21f80cadef5f3a8545e49540c3999c3e7079f59010000000000000022be2f3730ae90e20d6e0f1f76fceedd68c124fd811c18482937756127ce86260100000000000000c49cfd152ce3ac1fa142b3b6e720cb173eb7f43c82f021418253a070036f870c01000000000000000ee4b76ec5fabf011e00bc27b36039f3d397e021e8bcacf9532c90fc419fca0a01000000000000000e8a4443fefd81456a49fb947583e7eab5e78b3aa9e3743c4b316de9c38b9f7901000000000000003e79c115c01b959b324017f0e1120c76d87b9a734354fde75efcd05401ad173301000000000000009a0b42e88688d547c31a1bb811fdd062908e88a115e1aae39f7bdcd95b927d530100000000000000e2d8807911771f762fef5e4fc3b9685517fe91c48292ec59b4ce13f95bc8ee5d010000000000000076da659f398bb896e8c36d0a9160d5df59c58bd4bbfada4fe8d40e7f4a84b856010000000000000028bc76450afad8c197d1fe5ab3055c8635a370d4adfa17c898b3df93a50b00300100000000000000ecce43c0be3c9134a0d62a0b6463edfdbfce1b2b1bf5bac37fbd1cca48e67e7f0100000000000000887fb18ae45feaa3e449cd0b529bcf06a9795b3cf50425c79e1fe94c1db2ce7d01000000000000008ef93e538ce16500f27b4c9a10ef7b02a46d8a9624778d0f83b9f7d8b560466501000000000000006a1274b6748bf822ba80c9a9416abd3cf591b7aee6adabb8359b7dbed8ebb3770100000000000000c6cfae23e776800744036a6881d20a0476c1852cea187fbf9db79c936c51db0d0100000000000000a893d2350e59c1937884d11aa7b680ceb7a49e7dba5a43c67bc7c20bf347c60c01000000000000003001ce583fa1f84555808f8d46c3242ce898060693aa0573f54d139263c178390100000000000000ee664cd198f60d2b4001685a624bbdb21ddcd881138a5d61bd450f298fc5833a010000000000000068f87aa7b88463d824f528b27648d786a8d3ec27e76fb920bc1294ef9432b60b01000000000000000662540f9c0bfc8a506a5aac301c968d56fb0e34fc6c05dfdd84e42369982066010000000000000090708d1a49ef0acfea32147a109d08d9aa15ee975b5237d56ca9b8e324108d0f010000000000000010bfe5eb616325eacbdad84fbf5ecc1f78d087aa73c1fc98e11bdd6a4251616a01000000000000008242511e6c6595b11edb7affa9912e42e6c632b2be955273e852d932d94a47330100000000000000487c6aad1cc26893dc7e498916a4c23d303f098c04b0a8b0c8242fbb7e73a16e010000000000000040aacd312f15eb011e69b5dbd8fe8b59637e06259954e6e3d8f940e4dfbe2071010000000000000088f9a16886165d00612032cb1b36669ad62b7325536f499191e711134c71b60701000000000000005e6d779219b00ae1d5e6320faff3b6eb963d3acf7705672ff56d2cb46ac44e5b0100000000000000bc4b95226de4e10f91e0254cfe4541232252deaa347f567df124aba81bac4d3f0100000000000000246615914ed30f855044df3bd63491ca8af4af5614e2a19d5c9fcf8950d13d2a01000000000000001eb833e31087d6baffee4e7f1d9a8e3b7013ea392c81f74313a354ba82e92f6b01000000000000009c8c7c8c91df0ed53864f69017d530b5ebda3ab4bde3c67027e70893213d533a010000000000000018ec239eec5457ba11a41518e7c5f98266d1bdbd67602641d04706f95dba5c5601000000000000002e053f0352e6cfbbef91cb61435853a03573fddbabb3621ddd1ed68a04ad3e4401000000000000001e7b9381ff03ccb2f27fa0142dd09c4c0b6672a4cb3a099cbfee1842ef5541000100000000000000b640f3f59d687a3a2608d96c86ae380ac41d9dc8b175480a8830e27fc046590c01000000000000004ce4e086b9782dfddcb793a3efd7cf37db624c0f8274b1fc36f0802d5455386d0100000000000000aa7e2ba0ac23106e76a0efad2d34747769f669773802cc4de44aacd6bd3e3b780100000000000000f80643f72c8dc15503957f39e6d9ac6ef062c43c516a1693e87d2a3d26e9db440100000000000000e487051ee8f32b1f8d0af5e897b49730512303471416e689ccfd0bc3f726f447010000000000000028a027ca1c0bdeebfc8fce85ac4bac48cc072523d9c4a86b4f2594f9142e7e3b010000000000000042e4c41a899dfb238649e5b17dc232c2699353635d60e6a3bdcd71f9b82cda300100000000000000ce4bfd8c5611b1637066ef9e579c85efadfc9513b882184e00b75871ef7f5a2d01000000000000006c0da9efeafc98d2d9d0e21c83e6e937f417ad40f2aa3a21ccf818dd5af7b21401000000000000008e2eaf4ac96e0c79da47d2b76956b3578b39ee4979826d5344254fc37d508c04010000000000000028558e46037c51ece4d39a8a4d34688662e629413c221d6226afe454240e702101000000000000006a4284a9ea438f75390f6547faad885b235c208634da73a79e2e61c51a7cb410010000000000000098da9bbd7e6841370bac817945d087a30acbbf47f7c0243d6588ed32f7c6f15a0100000000000000a8660bbc474f75581461f56345e963a788f3c33621bd0c1eb9834dae39719d6e0100000000000000be44be4a3132cd45c14bc457aaeec81660600df0f65e28194802f8385134610c0100000000000000bad91c9aefe173441dae1f273e55090706d412b0723d39bd6c3af053feb1832001000000000000003cd9f863ad569b4f0123525a9307dff13dd75a81afe7b790d4d8ff418d97d9110100000000000000c6debd3b107fbd0382b1ccbcd0063aea1f8e27536561fe7f3c6ceb77b219753a0100000000000000be03fe6bc03a7884524047567a8ccf43b3c988bf3b447ca9e1520d1c1f83c53901000000000000005461977495f9c407a8d951e860a1cb2087592103229bdbd879629cc538a4182b0100000000000000b05ad6cde0dfc019d740c3f50b8aac16550ff4c197da19cf23b9293f0c5c3907010000000000000034caede521bed7f19b2a5577234751925041209dec1c5b5771d8ccf33ebd49340100000000000000bc56c07cea21bcbbe058aedd2ced9fb4757caead55f96bda9bed1c9669c32b640100000000000000427f116e5ab35a62aa60203420dd112fd9a116690cec550ad6aabcb0b2a0c86501000000000000002a01b311e75c72271b3638f584b85169e1118dc5f850862add04c9a20e33b131010000000000000078e1a4fecbaac940c04e0b591a01ea66a574b5098852ded2810e3a534971111f01000000000000006ccf2ce8e149999a7bb996faa65194e60aeb7bcd1937c787f886fe979fb49e6601000000000000002ae95f2c9044d5ac14beb234c93680b9a0591a70b3c8ef971f3a1498b580fb4c010000000000000092bb282d46ed819e46fb3ee929f7662354fd095b67a8ed51326b47e83f86653a010000000000000082b820c5bee8ee77e35203dab387f3434b8502e5f1c35dfb2ad15b5c89d47b3c0100000000000000c8469111a9fb61c9e775d2b006fff88874ca9633fced938b19794026f2e9a03201000000000000001cf3446b4b5116a1784d92cdc5101e55a5fb91ed3d93efccd06b304a94362d0a0100000000000000160e7af1774196f2395d4019a498e397faa50b61f698c16edc78f0d5333b6e1e010000000000000092c983ba8716f18073d703e7c8556e65e2565ec377f0f9a587d7aa8b5ec4d8500100000000000000583ecb6dde18a2984d5af56152b337cc90422fd6e937b5e06c1c6caf50be212a01000000000000009201460331a900504240f5a2b781820c82762b95f9f2f5993caed8913d8be96b01000000000000004a539d3b629768bcd3530b7aa14c53fc84252c8258e610f57ea5730466e0d02b01000000000000007203b3dc19c8ff42aa0c90d10328d49e6aae97e4d93d91f33e584fd16073f27f010000000000000052d58f50e6ad841adfe6c77ff332933380712c236fb0bf00565d58b3b4e41d78010000000000000018d99932bbe04bdd1da315bf0c31ad9ce555b84955db60ce36bb73aec0d8a61c0100000000000000e26019435e06e3807360b546063269ab645e6fb3db5c99a573d0fec63e2d537101000000000000000e1b958cae4235db85f6494d1d9af4d435450f10e39485735d7ebe0b6454933b010000000000000006379582a73f65db4e43d5bb5d73209c970b2a4c903b3dbfee465eaf7b89336d010000000000000024030139ec9ee0e2d96a22a3fa6b3c3e3bfe7fbf57bf55e9efc4586a103447200100000000000000e286e0fc739361f9e413d23c3faf924082604a390f3e81821e257c4eea5ce337010000000000000014310c77d75c16c2c8d1191a58d4fc682c4e6e5e8f9c1e90eb15dadb13d26a1501000000000000008e0fdb9c1c1175d91743756935f6860d7b29cbce467275b8de3e6425717f6b02010000000000000040a2527ffa7d30d788eca127d435c8b5aa48972cda538b9a1627a57e85c8fa1901000000000000005673f82330a1ee6e6889f745fe15c353f5f8989e4a281e8aa53e38ce1e74556d0100000000000000a280a51ce0a86f40fdce664751a8209051eb2a782c0ed47ac218558717e7de1001000000000000008e47d90d960a22d3c9486e3ef6cee79c6413bf8aec18d14d55cc7e0b43e5cb650100000000000000e8f048309f03e3d9a329dc04bc48c8d1befee7928d14509121dd06e76cec0d2f01000000000000004e524be219d0f11a7489c27d0e01cb5430bc9f58f75a66ea464b717dc25c9a6b0100000000000000ae46c529ba59b0317f6aa431f79802e087355cc32d78258809da6a9b04b8f2600100000000000000ccf230623370ef275ca417c85fbc6e913e3f5fc8f51e67f54beb8686593ec85401000000000000008e5f0b817e1f12b66afdb60a3406ced3d491000cf12866ada159cdcaa3bf010c0100000000000000fced8f1dff4f6c6852b0d643e26ee532086e72be7aecee28d94d1d59b5f9986701000000000000004a905d0574cebf6e8d00d382b104fc8ee1c008f1b9ffa6fa5c3b67ff29719c0d0100000000000000fcccf8e328b4cc968af52a23f6c960b5e34241047b630c19a0661ace6b9c273b0100000000000000ac09c48f5dfccc02362c489ff2522fdad54d1f37e6b47729411a93227f602b780100000000000000be6106f9217a1847af66de9510fdfb40514409556506ddc1c1a897818434125b010000000000000016f2e4835ecdec4c373e17f48c95cb119263cbd229f7e32c0e2185f7003d7d030100000000000000f0eaddce7b63e666eece637b1128a3e4f54178df87a9b032fa3312f68fbd961f010000000000000004d74e03b4e2cdd0109cc8efc5bbdf36b7b5d89c17d4a56cfdb23b0b2b77e10101000000000000009818995c97cbaa84126b0c0a8c4c26fb202e4b255811ca5627600c11c19242760100000000000000e09b8828dd7af7ab17cb00b73845871b69d925dcc38d6d29f79197f5c87bd8460100000000000000b2518044cc31062ee50fa81cb6983f314291a0300865fa5cfe149829c5050d24010000000000000072993ca365788924450fed32848a67b7b711f3d353c960fbc530e8874bfd64360100000000000000d2c97828a993b57a79d8e70e9b6cd9e90f01d1bbd934641509aeebbc625b9f7e010000000000000092cae8f83675e95178a7368ef2ff9e46a2403fc98f94e90519c3ac4d7cdbc711010000000000000050f3e6382021e3c7ee097307d03933571ad45bd056c0eacc86b9ed5174dbd52e01000000000000002eab7eb696d4c3dcef6c5f74cd704eed76fb51790875d8ddbbda133ae7a42f7601000000000000006cb2f0f0e5fe70eb547a0814ca5346f59f7f2ca74c00714aad555157cd5a29490100000000000000042e7c894dd88fb2b0c7dc7a56b44269e0ee606c73d5a297cb459dbfc7649a1701000000000000004ad8fedb395dc0ed63e0edbdbd2d20555b61a46aa7cd751e4308335c277cbd6a010000000000000054a4e00f3df9f09e23118cce02f804d36c4968894a621305a0e8150a2910dc6a01000000000000002a6290670f4302bcbbf2cb0d1cac7390ced076334d3d614b604d734a1ce1217101000000000000004c5e6997b6f186855b1f4c9f8ab2d6cea3da2e86445605ab89e5b5821e05bd3d0100000000000000269e8d252b8a4e91c2ebdb7f4b07bfa9201b88bd436e6c4044e70364c746614e0100000000000000c8763ec27b5b8f3d5ad45b4eeb6b47dbdedc406d969375ac509dda2315ffa409010000000000000064c6cab11d72a27c48de2f30478a51258057aa5a275059d1455b480fbb181e330100000000000000b6a7cbce4a2c96b0f290ced2c10278ccffd1c2922f1126cda8227d35f1ad98150100000000000000fca3b0bf7a3b4ee818a50f86de0be2f976621c6f5a3e768448732252e099cc1e010000000000000018820322d29e40465465fc5f0b488431e710db471615f780451342f5690e20350100000000000000407d69fc26f00269186d96a26e6fa3537160898d761d6a785cb7dba141f87a7a0100000000000000bada36224e4b8748b004ac32cb69ba73235cc177c2aaab775b5536218b27df5e010000000000000074f02ed037d28c883df643034a596e4d2a97a23782ee8483c9ae3429ede7e70901000000000000008e3728649624aa32d3f1d71d0d57fb42a9ea9d3155a2679b02f2330e4c7cda2601000000000000000eb2499cf6581d6480292832d84efa484bb7dc9a36861b35591e4289952db27901000000000000009493e6de34e09c9679b6dca602e38d8c07abb77b3cc487ae3a80661968caa37f01000000000000007acafc914dcd1ac429f85e4a1c89580c0bb58b8c67b3cb6924643eca63ce306c0100000000000000d2bd2d471f119d01186c7efe6604e7186de3a72278b28bb93cd0e6355488ce6e0100000000000000984522609ae23fa1279b0e70b1e274dde52dc22a93191376b0a197d00301a82a0100000000000000c2dcde1e4a7ff6f8406b59a7896bce7c2b69bcd12a5a1908493b7beeb97c7f3c0100000000000000582030a59816ace3ab2c2b8c66ca50a69991899df57096da6f6ca8a49b16550f0100000000000000840290d318350bff32db3dcf6138b822cb2adf1dedf5bad8729471988955915c01000000000000008c6dc982725d0f925557f77e1844d64ebbd5e01b7ba9466e0c1f1ce8bb757f3901000000000000006601e1af585ce0bb093a81463302caa6f02919efa89aeed138d25264b32f3d420100000000000000ba1a89293f8cdef3c8d0eddf74059662db8bfe781c27f214b9818b46d159ca78010000000000000054a7be1f3969266e7b653b0712fcf4d237fd6a673ee6eacef2cd4fdb5e5536350100000000000000bec3821f0ead5fcccc95e22def052a2995ea23ebe898344d6f7ee8bd0bae0f580100000000000000d4ccf5e2a8acb9cfed3eadff326730c60d23683a044d59b26e53a4e1abfc895b010000000000000046543a6ba7d90d6f10febc8b628775c1dc08b55cb93c04e09f0a072f264907360100000000000000620708ccbc822d0be9a49eb46e73955d4cdd8735a5f2cfed44bb656a71501a750100000000000000d8faee17dcc461acb22ca1720b86385414ea8810ba31509fbd8da8733029eb190100000000000000105aab27f211e6df23599236853b58c04654709d9c7d0d5c27145369450f324301000000000000008e703730fd72822a067f724f3efa6bbbc82d5c064d3560c5833bf49edc21061a0100000000000000847f4b6d72993380e0e76fe2d885e429796335dc10f470005e9a268880c6fa1b0100000000000000c80a16a172ea19de337c120de8ba72df1b81efb23ff74e0ee7cbf36e666ede1f0100000000000000f820a8ed2c97f639fea2892d0a89ae98ffc4c0054f948f9a0108e4d99f89994c0100000000000000fcd5f4c4fe11f20ad99dc8345b7dc5600caba5d5b7d3f499c3253c095152d45401000000000000002097dfa5836d3a90ca759b40ef83229a4cfcf3dae217cda8299278c9bce37b420100000000000000b66836e9d42ceff254416bfd6cd80592da3a276bfbef6018540bb0c93a5c44410100000000000000ce8df132517fec1b06b9b7ad5a9e18f861df5bf14dd32b0c7dc3f03be447b2730100000000000000566779977b35c81ab477958e39cc697ffce60fe1aa31f8121da08329b25f4e0501000000000000001644ac70036fc8b19ec0e580bfb10d272798d8c7aa3dccd00d5ceb639fbde603010000000000000008a2c8bc8457a382313d040c40f3f0c02eed0e5357910b19ae4f0c9360e4dd1b0100000000000000a8bbf134d2c82050f455ad50876ce102de5e63600d2226ae2d6cf3f52ad6eb240100000000000000480defe8739c9518d5507480bb9c68ec408a60b944824521f1184b74bc47f2170100000000000000780e4353aca40b0f2b2403c862cb33032d49a820244bdc2853ce158d48c4f610010000000000000054793d64aad2cfb3d01ba50441a008cf5cc9acfeb8390ddc3b7945f7e6e65e290100000000000000046e9ea6faab3f6ea31d95f9b4339bc5622323907570fc9c788dbf46a13bb92201000000000000003ae7d174f16f034ff7816b8d9ef1b4b2b15ac5a16eefe819253b03d958babc110100000000000000b2f392bf1ee5258bb5cd29a4b800747a419f4df00c61acacf46dfbbab8094a7e01000000000000003cd825436dadf293b1f5c315d478b960b1e6f141e3244f2f0c892f42c0b159040100000000000000665a7586aa1a3f4aadfeb9b778052b5df39637acd93736819bce37d727e306750100000000000000ac7c9bb11bbd24b64b4611071ac5ebc4c83e94d38abc3df541eb9dd04b726659010000000000000068f3e478d28f00ce97dcbcce5e9cff5674f6b3d8b06f7dd8be7b5f3b6f1b555d0100000000000000da7bfba48819dcd92eeb75e2435784132a257ce38ca01a6eb3fb66bed9422b240100000000000000ccc5a764f42aa0da463245aad924f65618099b1605ef6e3cf7efddaf791cf34c010000000000000056da6e5ada211131376b8d0571118b69fe57fae1393d23572b484f394857904801000000000000008c3fa761a684f89c63b5014e6a934f763345f91c5829d88cdaf28abe75c0823101000000000000000ee6df339af6749cf9b9fdabafc0cdc59ba35a1244fa56b0adf6bcf7cd3333000100000000000000c081b6f9b341d1355ff2caa0bb297d9cfa88dc9db48eab74f1c004c189513e4f01000000000000006a1b43dc9100e51e8a92f4a4d3591b82bbf77fdfad6546330c67d3bdeafce71a0100000000000000667f7af26c8dd32504777bb2a259a26757808ead5155f3f098558a70d90c575b010000000000000006f8df3b49930c691067ddce8889df6179b8ac05a3e9a96d0a7e98904c969b14010000000000000092ee092cd2215c7c1628086c08be10a3cb969f6b276f600422f3526f303bd87801000000000000007e7b48c563ecd0c6e472ddf2d70e03d0a40313ff137671f291aa17413eef087301000000000000009aeda969400e2e21c35ef284458dbc898f277a49da9dbcd675eefcf265f6d4450100000000000000f89ddca1869a2c3a9d40f6401029bde79a46752f60a71abc2d9966b5514e94050100000000000000020d34131c7a0ab6d104839ed8b9e0cdf075b80409a36fbe94d0cf83f7ea1f1e0100000000000000b484046e76bdb203eca3e22bcc5525f7973cfc70ab7eec3f568fccbbac6ba140010000000000000060722aa6239a4b5f138bc30c5b3ebb5cf0c53b901f71076f213b72d073d2cf3601000000000000001098c3193759138d2ce96e47b00dbff13b7542669fec49b78355e10e68f6e4330100000000000000269d2ef380d1b161d3479448fad38c3f1328dfd8a134d5c40399f3692cd7545901000000000000005093664828343ccc86b8a41b0638b5f38c8e5995d2cd01267d49d2651d5898650100000000000000b27ccb4edaf0edc92ce1f35b0950251d38af8cea2dd129a8ff5e6c946ed6546b010000000000000070e31469f5d889be009fb327129c841179474ad84a5c3c732d5260f65f8a3767010000000000000014e5caa5709b3d5a8e50aaaa9ceba368e2d66f964e598f861938f093dadac32b010000000000000040dc7c3e4af430f523ce1ceb5de4c836056a079da82caf752cceab452743695a010000000000000062a20e32bc5903bd091251507aee7b4860fc74348f53ce32f078c7a4cfbbdc3f0100000000000000ea0853b1a9c0bacbc2c57c8233940af4bc51b0734b721f75b8ab5f74d66c0a230100000000000000f44b3ec5c7b2188f208d60d159d1f5b0914a51a0632eacea6b88ec7b26d6673d01000000000000000e3e265f291f50053f38c5c9f145c86caaf56ca085edcc521d58371be0d54d7d010000000000000002d0beaa25938ea3c9f16d3004577ec1e1e60a8198c268e209d2f64a6561b32c010000000000000046c5d9750776edafdced20206ffe4b799489f6de9e0983eeb3a9fb6485c7e22201000000000000007e2f54190ec59a98cc3930dcd41c7113812c0596c9537277ca93038a9e57976b010000000000000054ecb1c6cdd76e77a694ad7d62b50187c0de759e60b46c82ce70e62a9a328e3a01000000000000003ef1fa1b2ae33d6fe3d94915baf7540a6d3b3c34d01bc2670608bf8e24c1b15c0100000000000000829f64b96b37d0aa283fe99a6d2150069bcbb6be61d076f23b3992b6c1fe6756010000000000000052d36d934905359a84c6ab4d2e4aa7db403f77fa694cb05c70d5477f7079595f010000000000000078044b468a3e1a848ba57d04ab36ed1653fd9d59294edcaaed0dcb945d9088770100000000000000ca4750f3796fb66fc707269f6c846b0aef6416f03aebcf728018144bbf76a22b0100000000000000c458431a6f3345a706126fc390af857b97bebfb0d55cb3fdeff7f673e46afb650100000000000000f259a1355699c7b5ef71820c5e04d9e6436dd8844d347ddf84f7325dd93a60590100000000000000ca7706bbef090e99e2cedf4833d3bd4c215121c9596957b651ca4924b773032a0100000000000000a065f45a353f24ba187248aacd9c64d5c3a92ddf92b4a5c33994f56a07cea8400100000000000000584cc334d89181207fad8289d1e89a85848439b16d4bae59f1004188e8e26e500100000000000000a6d498495e591b3b16dc6388c4cf43edf35e263d80d743aa827951f22e0ac91901000000000000009821465bd76d11b25f1384d98901fed08727f3cff92131d817a987333cfc5b650100000000000000b0200adae0feaeea78d77e0de3b4a63c7d44544dd0082beaa93a293abbb06e4901000000000000001a04f32b2351585bca74d9feec86d759d49ee55b615bcabe955f2def5b98df0e0100000000000000742a6a8943509da1d899f82879b8965a928dc3db99996a7ef65dab90c22c99090100000000000000d0f1d3ebce8c9d5346422585d9022f843cbc102d29c28c7b0cd287849e595f4f010000000000000074e859fd23da9f3b5c0b554492134ec981deca6fc0d8e4fc6e33ca517a0ce26a010000000000000022b634563bc2b885326ed31f52644cef011566a890a26192a8b5435b19fb6e42010000000000000010f6d73ff674b4168adce9e291ae84b250293e48eb40839ea8ffea9c057c83090100000000000000ac04c4e0f5a8d352a19ad6fab6226fa1d69222aee364d12809591265f193403c0100000000000000ca377174a1aacc948264510f8fb2f4264475ed6acf4402110d99aac6813a990b01000000000000000cee7204e361a4c8d648f92b4bc058f517a5ebe90bf75f34116934631c610b0c0100000000000000d460e8effd89689383e396bda01d4fb48658d1b2be0f3497a635d92a00783e4301000000000000002a98fbaf7ec22832522e3f96821711ef684283911a524960efb14953255baa2b01000000000000006cd1066d5ccff0f29049137b42feedf12c3a4e91f37170a20e87a84bd6aa1d2a01000000000000002076bc34bf8c9ba9c0922f484f04637c02b4a44e5dd7ec861f1ca8b6cf84c8400100000000000000f8d7cac8239edc444da065c812e4fb38f7b0d928f963388f951e2b0115077a7c0100000000000000a4945508cf103aabe69457d9ea2b46425d9d26e57f89e6b1f799ec18219ad25501000000000000000469ef46bfe2de21a792a23490ee7791b7115c35c71805dd6fc133f6ddb22d270100000000000000d285950cb237602bee1798bcd24418a2a562b549fdd8e5ef2d1f74101358a0460100000000000000662688be862e6bb6c983901a7cfb7d4688fdb4ba82e3d6d6da93ed315029b45a010000000000000096f9ec98d4cfa00b9ff41b5962d3c68f12201556d80bcde84cd85251252b822401000000000000009eb1b5beb8b5ca4613c17e6d41996337b26e0ca7289d2f52df05997020eddc5001000000000000002a89ca2ad62c6b326ac778f63292142fcaf4d9721b13d9994ba4abd46152f30b010000000000000078294f515c659b94bfce9674db37a3cf2f32d89ce1758ca53d1860037cf1d42a0100000000000000a2d57783e292b34b8415c5aae90097a5b7b243b7d80c216e43067d210004f3080100000000000000047e42afb61bd0d49aeed1975a96c8398a0ec4643fcf5625cac5b22c097a02590100000000000000bc4529c25a2a01667d6e451ab753e1713be0835456e6fbd29854cfbd45dd2e3c01000000000000007efe2d823470c2d98b6a020e469747a7a03429abe579202b97b2a5be6c209277010000000000000004efb918028f583768356118e9457c36583319eca6d53536596714e782f1596d010000000000000048ce0aba6f1554e139568b4d2358d6cca9bc291d3600787cc3e732291002ca220100000000000000a0a1cc9172a71b134162a60272739d19b59162748f9e1c4adf86d3a10834c72d01000000000000005440e71292507c1b33554e8d95fd85ca3de6499e1b7c838236051dab5fa3f37c0100000000000000a8731d355eefdfbdb7fb12cfa5a280c0b1e408aca264ef585d42bf97fcfba1160100000000000000f038e6d72ac8c9b9d165e9154b1f7978dc906e6bbb501ffb8e3e9a739a89cf5701000000000000003ce775a4a6215dbfbdc2b0a8a8b71936abd61642b5fd1a0c1d06ba548ad3025e0100000000000000607e87afdec2df93da6947c6cfda81f74329952a2ef95a7173a66db78a3ce7540100000000000000fe24bd4f4b0e75ff21dcf16a3ccba49556cfa9586348a8f939df8def8a214c0d01000000000000001a5c0eed62bc68c0c018b8878a4514706a996dd8dfdc94798684656c8ccce27b0100000000000000f6c3258308f4382c9c7d36f4435b692b42a20d6a7fa74765f7a965eef088c82a0100000000000000685506af78bd0b16513f09395368600e5b6fcde0f89d280c6446b1613844351c01000000000000009cc697b491304d797292fd5f14284c376a0adb2d420add197617126cd258f62c01000000000000002488a8bee91b989dff6adff396074f3300e7938a962ea3728943f37a23a7763e0100000000000000ec25078562fb511f0945c3af78d77c8e02f570c647957c0932475aac3ce72f6a0100000000000000dc4ae9ca42fe496af7a466de59735813691d9c050f3256c3d4a96664cb6f9f670100000000000000028393ee5fcd06734e381651c82cb89b08bdcd64d1aecb4727fef82ae5c44b4501000000000000005045ad06375c923fef7d2b183ead536af9814d951037ee8a37ea010d791f227b0100000000000000c220d72d1562268f43bfa2a12f4b516f060e696091b122eb2e3fe93faccbd67b0100000000000000e0d7a8263f27cb76d32137dfa7ca09355a2821fd2c9454b222b3e5cfd81ca359010000000000000064eda01bc8dd522756c6728f9b030c1b1f605ed89e91233199476e5b0e96ba2c01000000000000008c53786209d22e7605c5ac59b155f2ec9bf5d088d77abd8930fbe65463cd8d6101000000000000001e534cbbe982369a968006efa465cf2a16807a88a5c877d45f090192ea619c6001000000000000009c4a01b4b6e187c0c98931ed673f6c02ead7030a0f6a967185d7823a30d17969010000000000000042f799c01beb57b5ae0779f17bc6be1a8a6ab789cec7c00318049f1a68da504301000000000000006e8af7492bafe8cc6e8113ed4d36dd0d0f28f42b381238da06e4aebc48cd656c0100000000000000a8799cec2aeeea9f33bafbcd60c947d0bcf3b1c9be450c43f63004e16a857e72010000000000000078cf1debe3fc0da2ed2473d1e1835a478cc3e7008e0cf42043f287bc36804b710100000000000000b8f696197dfc324b72f06560c38ac6635d1bfe5ea4cf59c133c36234a0a012540100000000000000266f93d04b5ea1ae454eaa25946da19eb9f1ebd3a6408d8d1ac4a373305fc92301000000000000006ae77bbe36c1554126d56d6bdc72946f26b4323f38125fe5392e154640a60e300100000000000000fcf8c8db78fab04b332758bb6edb9fde68e74ee228c1eac78812cd80adce1273010000000000000032e2c97e308c84afea4b37d7dd8f62e67763126c357c9e6e49b27f54c3702b730100000000000000c64c595519886ef38c2fa837c795ee92f6fe003037c9ded2c1282a939408513d0100000000000000c6a07400a9c7d51d51e5b2c120b40c313ea99b4af9c0c4106bd753f3185f40680100000000000000a0c28669f01d5b4decdab2abfd9d14b989c1d4b32323f264b24a788de0b9d2430100000000000000843778dfeddea10578fab2773f2827c62fe0efe374d9a01eb370bd8f1427e7630100000000000000b67d043a780b897a23192cba22595b758d2a5db517d50951c99d5acdadf3210701000000000000009829a89b84bf8a0c76dad25d99c2e4476e51bff2ee9e917a65edd1b4175cf5400100000000000000b67a042a5fc9668101e9aad4a291ea2aeafe50eae796865cb201201a6dc691530100000000000000080527decdf951ba9bd3ed9acb5e1454d07c661cd84833a455a2d239c18d42140100000000000000847f948b67d6f455e2f2923f366dfe3c0a3925b451210a46cd36fafb8cd8290601000000000000001e6d57d7109cc6dc573360e5f2192578e3324f2a8dcbd823483b82d725a9771701000000000000007cb1f225b90c00f426c33ac4338eeb2dae6467b8a9da5c1556e6588c12ca977b0100000000000000b261a66b9bae17b65e7f6a88d65efb4519925d6c418c9e2ba17bfdbf684b77630100000000000000c4046e6cf48c9913b2af1dd8caa4f7ffd03a01255af691cc1b70f142b97d2a150100000000000000560c91919fc22867159ed77bee1b3e70d2e222a5fe6e830fceb13b58b0daa5290100000000000000b6068f3b8a0ef7a3f7916e5559eea8158d5f5b09d9db89e40dfc5bab0549911a01000000000000003680cf4852c43b2a708608cd7e09b531e7748e4d7e9d65904676f53ca7565352010000000000000010381a1fde26d95804978d4ccaa1d6e634efe2ac922f7dae4da3cf3a64568a4e01000000000000003227028def74f8ea7bede3e112e4ce09d8fb823790ed599f2259019945f2690a0100000000000000d28eb111cd786c6f09c003d958c4a26cfd7a33f9e8bf6db02795f12afc7a1e0e01000000000000004ca838afa9f12e88436eacb5024f3f94c95a66c32e114f65f3136176e426c75501000000000000000ea6f5d4087d599603b0c39fbd588c198b9d9bec85a77a5579ff68fad12fc20c0100000000000000ae3abe7a22e9bdc2c56ccd4ee8b99867ca5c54b0728ff372f3ff5caa3c6266160100000000000000fc5b39a7b7d737c7d1dee9dbaa77969b95a7edd3926c538d8dbb854d53cb3c1101000000000000008868524e56bed527bb3039e7d01a84af44e8e62ed00b1f44098c47789e4b201001000000000000007e8fa0ce0acea9cb5bab44ae7112ffd068f3a3c193a90f1fd4fb00adc1a2042c01000000000000000c60356c02d5d99293952c478fd07b2cff982dbad863ebdadf25c9e69206f14901000000000000000c6cc2bc932adace83516fe99076d532e6197ae08d66610988288044c6bdbf3601000000000000004843126f2fe8ee46dd4a489f97b1f4717ef777ed371da544e30e8c7e5f0d681a01000000000000008e67bbfe6269ba4ea2b216e7cc21a54ab882859d65a691ff2eec486f66a9035f0100000000000000103680fee8923b681b7721ef2bdfaac20a99bae45e643b42a228be43b3d211660100000000000000603fef5a531a03b8e83a8b66f583edf78706b93a11eff454f5a56093a6434a3a01000000000000001e724d980809bc793ae72d15a9b33cbf93b4cc17875a4259970548c5137c6b4d01000000000000005edd53eab09b1834ec2435a78a19daee1acefe1e84de77bf788740d9bf6938360100000000000000981f14da22574782d35643e2fdf2c514245b6d7475048becf8143136acabb00c010000000000000090b7aa9d2cd7f44f20fdf30f34ccb9d34c943c1e5c3d4553c6c43049dd8ddf1d01000000000000002aa57ae83dbf829a794b555b8acddc97657b2178d0722c6263c8ddd19ffd474901000000000000009664e4e01c42d9a22435a39dfb1daa6cf043abbd01c1b081c28ee271988b415b0100000000000000381a3708c945f1d295122322f3b3b7e161a4f2556d6f8d8ebfe052377ed37b700100000000000000e09ecf865113ac4f2520de61ba8b8fa5480534d41145d1ff3db5c8ea3f3c9a100100000000000000ecf0297bddebd3d766ea7def2bac79ad6eb650fabdcd029b99cb1649ff7dc815010000000000000090b46ba005eb064c8ea5ebec94a5facfe2ad0c0050dee0f51026f0d1603911170100000000000000f256b9b48c47178b2f1896a017caed1ea2451c84c29ca1453ac153d0dab019130100000000000000509f915fe6f099fb5807c03be526a055dbb7565c35831a7dd76d6e506d493c460100000000000000042cc9a90ee7801f29bde1f77ebc42e68fc8432df113d23b82201d1a10e33d0a01000000000000001a47252288a7ce1b8f8892ca42e0f279967de49258218eaea8bfd94ae117b77401000000000000003c2f81db928e84552574a761e6bf8991a337ef5907a5ad26d8d21385da1b7e3201000000000000001e63ed13cb9b8d544a73307d348a241d87d3d1063715d686572e705b37b7483e0100000000000000eeaf1f835802c8997d3158c153aa6b5a01c5cf2772b0c00339bffb059ca9ed420100000000000000183e5f34c7c987bb4f165e2b737a9300495ecc1b7f9681c5c748bffea19bdd650100000000000000a0935670e98d2bf4800f84af8a051ce9d600d2f515cc2de17a9e354d3488db460100000000000000e84ad35c6913d9fb006b3d64760b959edf736c080c8fdd58af24ba8e6a6fd47b0100000000000000e8b7e227a0ca7c64a4099a3fbb509620d4b8e1dd91e1ca32a5bda49d4aebb31f0100000000000000ea3c4034fa89a8744f7c8a55560418d7298cccf97fdba7cfc0a9c83701dd680c010000000000000036ac66f4a630e6c2af684fa7ad07390d67ba6fa05b50bb5dc3ec8cb3fc39f66b010000000000000008bb4e156026608c59c8b2b6f8068e7398c30278a90b8f478724fd04456a67300100000000000000f8e53780bed6bf624f73d22731cb6c5eb520d40e0b4d47f62f8a73705ee9853d01000000000000004e466f6a4930d856a1f53f21c1a44451ead20c8c71319f6a685f0e254d24c32101000000000000004c1af564e989c30c6e5ae1b8035ced5f59653b40cbc2d78fe17336468c8f441b01000000000000002e885398b2f8018002abd2595f86a4168d37c1dc2e189108a02c520f17225b7b01000000000000003ac231bc9a6e280f3d1ae2020b2e56c5888098427a186d35c052ffd6e42f264301000000000000009647f0ba124d459f0633dfd82a3c3a0010124072d4e274742c7c17a536eba91401000000000000000eabd85c2d5a1631f4b14cab1afb71b4c8b9543b3c93ed53b5a557513bd8394e010000000000000024706d6d41dbaf2bac8cf1c4375d87c3a5b84b8bde07036968aebe83906610450100000000000000e6b0227620e1921d97976f803bcd20553e4e6bc80f1e269c8d8485757f269a47010000000000000088fa8bb07ebce99964718c65d0d6f1b091ef2f4d4cdf7b94a22c42c007ecd706010000000000000048f68e4cd520fc8d0d253c8b5816082302690cdef1ed1cd2e4f76215243e723801000000000000008213c855c6cda8c660559fe47d08cb584050fb4d2dc411cb1311047a806c874a010000000000000000f79cec5a6b6b70f768ed05e94d2cfd70b13bc58fa16e62d742ee49aabe967e0100000000000000d8bb28523be3666290cf2748c87eef425e0d92cfc359de1d74004354cb583c4e01000000000000004cb3593968c0254cadc7f1a2270f9a89e0909e12a6eb5ceb7f723ab6ee9b7275010000000000000066367dc21d99167386ed0d0018a18b23a1f7531aba9f6e1d299a43446c86201f010000000000000060f640b7d3d4e9316603270a4e5771ff2d9e48927a6210a67eab2a25149f17740100000000000000d2179a30faa13f5b821213d4e45bafebfe069746e5afe09254f80fa301ae093a0100000000000000860f027419d3673cc8e103d0812025ad5151e2bd630d8fe55fa7b8314e37105a010000000000000092e5bb9d0906f768dbdde0696b78e493cc78dc1f68789575b24f0b962799b51e01000000000000009295a1f023157921d346b73484b120d46048382107015aa9ed998f1fae95970e01000000000000003e652d1f8e78c4011cc9b19a2fbe253a6c8708a30e94b549550f11f17d9b3f700100000000000000d2c456a3002282450e0419b0aa5293b85a9e6f5e9d181652a494a2e613f12a11010000000000000046920ef4915f3036b0686792a741f2d04698b23c5e6b8338d03a7e935d61343001000000000000006cb96487d8bb7c4ba7726a623709a27687866740b7a400b9c5322e806711aa0501000000000000008a061720463abda562f0802f43ff556ef8382f737ec6370150396ec14dec820901000000000000004a512ac212da2c96d7bc8590865ce627e6b60246700595bb100b240e80a3f0760100000000000000be2ee8034bdda18863bca0a0af63015a85ee2551b62e0b1c732417ed06ea39540100000000000000d65ce90b9f6560a41d71a5a53303b2e9fe2fa2c7b5aa7b8d77f7c0ed4473993001000000000000005a15fb3423d8efc0d616665530a6d478b661c324eb30a42f72b828f5ea99421e01000000000000001caf58ab15b9012fdd60832fedda98852b1a37a488f89c57cc1c19f11048ce5b0100000000000000c6fbf5153c7b8dd896e8daab854560e2ab669890479fed689ca39f210fe880080100000000000000cef0ed2766b32d77a4c7f040c05353dd8a918b01bb9705492a53c419ef282c39010000000000000086f750fd8e37cabe5049c7336bc317cb011c62d1e0dbb59a68706c366de0c2610100000000000000aa58ec5f9f12a8cf5286c9620b3c3d9190ac57e7d2aeaace1bd6aa27ce48167101000000000000007eaa6ebab8bf9421751c15e0dc061d9fc6bd225c6efae51c88c58a7f8387b90901000000000000008253aa8ced658c953f1052f9117421984cbe6dbf14fda93f723f3fad901d88020100000000000000f2482ae122cad07e9aba73acdda2f47ee8dbdbe85f6921c1f1ba968852c5df31010000000000000058e325dff1555077716069f76f83f6e2ff171bb43fdce83659d250a1abe7342f0100000000000000ea88c9aa1e449f4c62b86af5da1abda7479f9be5344eafcaca482b892601c457010000000000000026538b2b883a97c4e4ca0c01a9e136d42832e07156bf9df23bee062df009230501000000000000000cc6b385d54b772686de9137405b523af4bc79c0e2ca6c162163808521ad79570100000000000000bcbd81964eb726de1abd2b7608252278066fa196b100b15ea8d8976a94ac743e0100000000000000b0d9dc44559810ad536b1c9792b5624cb087972bf5fe3ee484f9214497d6f8380100000000000000fad87158d4a6234fd1444bf61c5d4b7e741f31a9e1d49bd5ef1ab21e19143e530100000000000000eae34c5f0c88e2cefa9ef36ea262faf41315a0de4074c6f3b3696c153f8f023c0100000000000000b600ec4f4068eff1e9d03edd1eb00e4bb2795eb1029348825e604ed28829bb6b0100000000000000d23c53a531e356646133db73065cd83999693a5bdfc05931238434f5b031522f010000000000000094d28205c958a5d713fe7dec4dac2cb85cce31872e3faf9eb9487e8fcabbac6001000000000000008af88ab005ea3b1a0b3412054c721e574c4b4469e231aa487d9132946e42bb690100000000000000aa74176b5870c97b754a157ec0d8032148c2ae717a905e0e5e626048b6f53343010000000000000062d37e495af1a21a15c93556362a0e29726926302d9453bcf2c2f0a7b4001e5a010000000000000032fdd22fdc3662f97008fbb6f52d0fbe7b62c24956849fe04f9b023007a8932301000000000000003e07b075219fc7ace8dc3bf3a06f5dc12aa9c7e45fe30244d2284bcfb1e6ee190100000000000000a4a0bc81aaad1ebce3fdf896a8d6d081ab93efc2de9d5c56f2632edfeaa7ad0f0100000000000000a07fe18d0151b0bbb2a2f9604122716fa2ae881babe7e6d84a22cfabdcd1267a010000000000000042c7ee18833ca3f3a56b91ea1f57f1984a7d127efd57802caadd0a4a7e3d5f480100000000000000f6fabc667ca7e609a18fbc1b44af598f189f769f5e7419d2632a3dbfb46b266101000000000000005ae2495c65862ec124cbc8c9268f7a1fa66a9013b01f10198855149cc549c3710100000000000000465242c8915eea46e25549f2ab97cfe78784f25083e51773e07d5a0cafc2de320100000000000000e886d0c8ecc3af997d07b9426599a43adb274a3b0d5ab3262331a5da13e7555601000000000000009ef8d5705da658687f96fb0a6f937611a3127911a1694a46ec7226741ce43e4f010000000000000018728d9d1125cfc79ab103aff7fecddfb9c6528d3a707e8e088b92c9c7a5d41b01000000000000009875dea5d493af94567673bfcaf096919a921cbb806f55b7488bb0a554fed66c01000000000000009a3b32b7cc94b119b2753d77d4f38b0e63900a5633773105a551de5b22670e7a010000000000000046ed02242cf70665583c79a324b0e53c1e957c2b6c41371fdfa7c632513a86530100000000000000643589f0627aa555aefb01d2f0a366eacc252af9437ec2a892935da2a1052c170100000000000000241cb8ac6036dff8d9e0f6f092f17932945166e75010dee9adb2e245a4b6e5500100000000000000a877af86b958cb961cc97cc61fc35602350a87cf9cccefb09dd91f9f792919250100000000000000ec1ccac47bdcd80ce07faf39b9b1791033ef5587d0647b9b83ee433fcb8d32170100000000000000288c08430a7e427400dd5b61926b74a82abcbbc91ac739190cc791a581f6836a0100000000000000b40a7dad67fc795dda1dfc1ebc78dbe45a8116888183aadd0cb4698dc4415912010000000000000028052d0b965ed862b7861aa7f3f91fe52ff8b0f795ff476c7e0a7aa42e7993300100000000000000a853037e17e9d4ad15f03f236723506cb78607413d233975c9ef793397de156a0100000000000000b6c42607db8cf37421c805c1c54fcfe85f3d25405ff4c55286501818c9dc584601000000000000006e196558c4d270a0c85c034ec2d427b99eb9e43ea2a76c30d74eb902aa11d67001000000000000004c877f2d5a9fb22cb8526dda4256da8e575f09cd838d5e15032e8e150ee1ea7f0100000000000000769ea03c7b16ccfa42f5aec6127e19f165bd61e60180299da4145854061e1e180100000000000000c22b3fe29c3b9eef11a6db4c79ebac692efa4e3a9e4a48affdc415275ce387640100000000000000aa646448bef869fb04cbe6c623251e10ddda7c039fdb8b642b704c3a0416dd27010000000000000028a0a3e8d2a6ff3213d142b94caa64965d1c738c4195706f133175065165130801000000000000003680810b04e4cf0eb010ea7491e9833698f14a98b2a7f1fb991488fd39f3a35d01000000000000003622bfbaf9350b5906bdf9ce362e06726224ed141c5d29e8e175e0beedbd3d3d010000000000000070f08007867b02d11f3fa909154b03a7915ae7971e474ae27725fc6b99c8425b01000000000000002c6ef636d3bba8ef79dfc0e6d77bcb38426b54c92b764b29115d25f3af9c87160100000000000000e8b977fa9876c391f9ea7fa563d64da4af9b50fabac9a2425b2f18c7eef2f54c010000000000000086088c15ab94ed86455e4473c198b99730e99585b88d6fa465ce429d268ea27d01000000000000006ca1fff449e7504cdaacafd3e53d23f3e9b566178f592811a7a423fba6f0506201000000000000006ed90090a744a0d55adf8f8af5af4d5198bb67220ce33fe71121d7c51f27a41301000000000000005415709fd8ddce1a97512f0950815e25178679d2591270d89e83c5350bfd4b0501000000000000000a73873c9828f50900fec8ebe613db998e6fe476142718ce0589822f88dffb3d01000000000000002e1112ae35f007b16eac0058c77a85d3dca8687cf6f1bf231f84d768fb389c040100000000000000809dc13a93316ffb2f1cfecfbce374272a81639b11fdb1836f04d3bac622f24c0100000000000000687cbc1bf231505a492d00bbbbd0f7adc9df484ae46143f1088f469e51f95d740100000000000000e4e005984bbae507a03d158ea8ca3a87505ae3e8723d8f5bfffccb63a23ea61c01000000000000008a40c3acc862dcac958866b738b304be7d84c33d9420b0747eb82aaa21b8c40c01000000000000007a2430a3ba06afdacb8cdd51b95a8f94e97f6f3da16a16db190a83fc8d7f380c010000000000000030071950e33b60f29acdcaabac9e3f6f1436f337cbd3f123f5aed3f0307ee823010000000000000092439f4dab2f4b2e8d1bd040505ee33fb2c1dd56f3946826cc27288422313b3a0100000000000000aa6e4b27f80410ae5ce7ab8e7bf083f6e6a87f87a784d6aca9e5fd9843176926010000000000000094b4d71ff20170266393c4cb481cbc68d0f04264e067f456dfcbae3ae0af5739010000000000000092c996c1fedd09190bb0fa8cc79e4075ad79eca3d6895d2a99d20e6f89e4182b010000000000000072bb32222caca7113141263e12a4193da7f29806dc93cdd11fa9653464344e32010000000000000000140d4493060751979098f686733955e6e71d01bbaa8a3e6cb297400c5c624f0100000000000000204791fdb49af594e5b04e0f26492e56ad8ef4cc8533245609d10e66c340302e0100000000000000c21f66c32b614761850e5795a3afdaec1461b45184702e3c2cd5ec2df9623c3a01000000000000008ec59e4c60c8e07ea1c5de77d0510924f4d399071cf1f09606e0e58c961c1c020100000000000000941dd915e0ed9ab77c5902ad8840b81dc84402df589ee4d846480c63cc5d9731010000000000000076f132027235278f9c582ad1c52fa62390aa10f04add56321a28b4f22074092d0100000000000000428992924b7c66ae24e3c55a9d85fcd8343ab1bf0089a8e5038313d1f3fcf9700100000000000000f2065428f52da2f7a881f9b94bfd38719bb6e5ff88a6800bbb3aebb1a9ad21020100000000000000ae48bbbfd5aa564f0945a2d79428d0182fe40770999ffcf472944e28bac852790100000000000000664e22b28ad76fa3b6e8ff42b67991593fc2895257515564be879070b9aea430010000000000000028f159f324744bc9c1024c1cf5767b285d4c99f5503994801a2935b1c5b07770010000000000000094ca8d9a1ac9afe584ea99954a80926de626990ba9087c0a8ac242ab67fcb7780100000000000000fc3fa462e56b8a4aadc369f88cad272f9e52da4a11c4896c30e3e0ee19c403140100000000000000d4ea40358db730c989516c396564c35219ccfc967d4e8dcfb02ca41417bf614901000000000000009452d0cd850a8a3fce455d099302e7d641242037956cb39f679f343e2af9601401000000000000004e09267475354ac23e1cc62749139e0dedb5e403013fb807490e37487594707e0100000000000000aad8cadd0411f99a40ca280442477e707101189728ee1252931e28bc75edc6370100000000000000bae8e68bc8f1b66fe3229ee72d77137b394c6b7dfbf55e424f9d2c82d5c996000100000000000000183a83cfb0fcd53d29c91527754e3f6e4697fc680d43247d200b39589084f84d0100000000000000deafec3833f9925dbc5d185762c864d1294215c8eeb3f63da6f4cd5fa78eee3b010000000000000076fbe24a9ab4cd3cd99386300fca0e4ad3d97aba0558ef4929aaab74931a274d01000000000000002e80afd2cf30e0415e4f442a662a9f7da2d07043f87832ce66f15049c022d46301000000000000003c7d4e79e3531b0b00ad005934e642cd0d49ae04fc2a10f3d1945951c8190c16010000000000000004c1f0acbfa8d8f1169684bde1c6e3938fe90d54879168a6a4a7fbe99eefb9290100000000000000a60345c5939d4ef77e57e8fea426929956c826524c7df8b5d880d5274d77461d0100000000000000683f0e1d68ab68c7b04bc1928a8b47abff720349ddc36d7073793f43c2afb030010000000000000060b521110672f6f871978fd3ac4a835b5e30c3fa727c04c70dbc543fcad38b0e0100000000000000e047754ec2beaaf49bded84adef9b7cd827641ada004b050b58859ff91abbc5e0100000000000000c40c9ed995aac4b4aeab516c9614b4614616a75eaf2fbe628dde6d3be5bc9b6601000000000000002ab0b5cc358184be4fa29e7a3dc24806a72e55baad40ec9a117324a884242c280100000000000000e05c7c7d82498be85294ee984e1f0caf23c53fa9a64cc7e6c5053304c4bb785101000000000000005afe620da258a48f00c3afbb8a98161e977f076c7e7f8392975a4f0db4b57d610100000000000000a61667ea6442054b56111477f57ecf39b6e90480bfadf54c3e6cb5ac3a3e275801000000000000001ae9aab4a890c558ac8ab90ccbbf193b3841083670ebed278b2161fa2ec7b3040100000000000000c0730aba0523c10c535c2640ec878a0f5d2a240c8d53fc37fd30f5735a38ec4001000000000000004059f5de23fd2e6805528d79475470526ee7e2f17192988e10c681e15672857c01000000000000002ef1963041466a7d5160843012c4fcad880ed969cff996152f4283ffbe645e0c01000000000000009e6528fe0232f7e9162c5292621c135c47e949e54e91fe5fd500b8b80632625f01000000000000003c0e8a8f204aa9b2f088877f0e03c6ec1c0552baaff43bdbffe904dac305675b01000000000000004e7a559a6f6f685a8b438db6acc074df322e2a38b9f49b26fb60026b9301f42a0100000000000000e27224d559cb0628012bf4e5c6b1f0f2a678300a360010b9985bbf9bb4ca6d2a01000000000000005a3788f9347ad802a56974dfb4ed19b22fa91c20e5c8dcffaf4208f25471432601000000000000004616ac86f0d45899eed3f1246dc5744858a694a92b0abd9f10e52dfc9c28674601000000000000004c0b37ebd9e67b237a2b3a9545c269bc382735bc3907baf9ee468bae0d8feb2e0100000000000000c65e37495239d0eec6f8ca9000a0e8ad618fbe5c366c25825ca7fb26c7b27a7a0100000000000000a4b31af719e5d9c3b69326ef920736e8b620b329eade475ae23a33fbd445df72010000000000000044752934a6a030f482e9d8fa9e704e7e4ae9c2f8b4eb12faaa31c87c8f12c44c0100000000000000347a2ed2ed3db2d6e3c90f3988349ca56a33021537202d17412e1b1862a8c35101000000000000009281394b5d35827c826e1d7444f346c247b9a004aa0292a9ca2b16e0fb556877010000000000000080a4dd2b8d5f3d3aa4b1d6506be93c75b78f2d45a58e468d0474f20d366d0335010000000000000094be52a3a400ca82f2ad77c8c3c8d572235345249a622ff0588235981c95d7700100000000000000a2cf2f85a782a37f8635661c3ad7cd4aaffbd35c6658a408c3d31ba489d69d7101000000000000006e5b6b3ed154c062b39552c901772d5cf23eb9e4a629c7689c16f1d827ebec2e01000000000000007e88cd54f47c1f4ddd9d3a198fc689d24a523fe186d526b14e476f14ced7db3c0100000000000000d2905cebd84223d1985b48d8c9104ca9ef6195d2cb3a5a839b57f238db79ae7901000000000000006ac27e3d6423f2d9488d1bf42dd6f2d3eec911c471b51d69cef6371ff242a3750100000000000000ece4c3c5e3b6ac008899adf3458f1f59ae7db2e674bbe80412756963446913030100000000000000881a3f7b045cf93b13e79864a7617ce7f5dba554463e5b00a441d226da016c140100000000000000e63548b7be72f3559c789fc7e7e15e187b44a7217c46848f11ac822741c39c57010000000000000072c2d06efacbb9760446b7f5eeacf6dd626098dfea6ccc1c7574f03fcae4b06801000000000000007c6d7bf7c2dfb84a3f14e25e97676617269616b56c57b59d670b2337bdc5117901000000000000007eb2523d97733bc3e38e966e85e9f7cc841ecfe993d37e849becc80033b6c5740100000000000000aaf44f9d4dca217ceb1de3ee4cd8e5ea99fcadff20c2626a52796567a316ea7e0100000000000000b85b1b7b8ed510a5bc1d0979fdc04ec7b73d84c7d1d767dafb6faccc8dfd402c01000000000000007e8ebb46c80883225df2fc91fe7ede9933dcf073f3d74ea3db0525585984e74c0100000000000000068245d8a483bdbd4e9d88b49e17a651ec168f25e6851fc52c2e36a516031d5e0100000000000000283e38e57cd8630b855b32b734fc426530742419ac407dfd215b3cf46aa8fc4c0100000000000000383d2ea99f1550060500295b8dccd50a9b78e2e868c01f28adf6ef2e8007ac7c010000000000000000a5fc354a5669536eba3ab51a608e9c811214c5b7702b571535d48feeb9742301000000000000003063dc6994f705aafd8f6a9c3252629f17d2bde6ae269ce9d0fa4ab0c8a1ce3a01000000000000008859563f3d771b1ca9e5afb70b9c760158a970bf9767060c34af3eb32354ba5d010000000000000068b2ac21afb21cc0d5a063c77fea17f09885bff57d0200cb83ec85da7eeb614e0100000000000000bc3cdcf9f41b5f3f073a7f6a29931a6be12fbcdfc1dfe7145c4e0a527e9e243c0100000000000000e2448caf0194050db8eaec00df9b2729de602fb307147d00e82172141211ea180100000000000000da132f2f832c8e2a4e268b4faa923d9449c94ebe66f03fa0ac4303f2ceb1b053010000000000000070eb857f0386996d388029ac2d19c3c31ccb3766a9d118bb5dd36ab331d33b2201000000000000007c4bd3b9b81241ca657d1b461afe675272ad933187ee5855fc71475d1f01812f0100000000000000a8d082a4289fe5ccaada604e70c4b1473d6fae4374663672e61474852c1ebf2a0100000000000000007cffa67942272b1974dd65c87828e1535799e008d9e81b2818f5e308ed4f3901000000000000004a75953fedaf3e983357fdee67ca8174bae4c7c4634e616338bd075aa486564a0100000000000000cc840ae0117378161b86a52baa6decb97ccfc1101325256f178ba8f67761671d010000000000000050deb42e933545c7892d2d25496d9934505fce1d08ad50652a755869c8684309010000000000000096b9efe3e08609cd61aa98f3202618d928074308d9f189d97f7c1e52d2afca1101000000000000009623ad5bd17b75cc58839c76474636ad5675c519e15f090ec008eb626db73b140100000000000000dc46e56d83c14c383b7583686e0a0dc8793c9c0b32546ef93b603e888261127e0100000000000000040000000000000002f2e30c55524b3c38f823f0c3c4af97fd3956b0144595df76d9a31e39c1fb9179f981840101a129000000000000f3235311000000006009000000000000610976441c448aefcf40a72128edc9b44a4f7ef9c267c503e98f5f9c72d5e9e92f00010000000000000012549e625056f554578ab32d29cbfccc5529e404db8234af00a0856923f6e3030100000000000000c65fb01e233e312b7d3dd6bf7d6c159d30a06550fbf40e664d2f97f21def7c1d0100000000000000ae5797a6246fc7f96394d09712e9abdfb1ca3e7793c3f093aae6c126024ab72e01000000000000006c9c53f3824abe976dedc2792e1c6b8cc55c317eed2f30916c3229b60e579206010000000000000080f20c794a97e6080e7b81854feb03a4924ee28b33bb2269cae8fa582dfedf2e0100000000000000ec8fcbae6ca9d402b51bb0bde913f0c29769d8d1b9653f4933db117890fe38720100000000000000c29a52b01236996d090dc112e63aca2ec383da79f89c5db420319c7a7ec9645a0100000000000000cad93fbaf78ceb031a3677b27a9e579688602099c97258c746b080422c34bc4d0100000000000000f69a39a051376ea1dbb2a00c3e18369664beb746ca10453dad7db5f9341fde7e010000000000000082c934f66716490be643b87b99dcfc1c530e4b2ff2ef2df2d1844120cadb293d0100000000000000dadcf49d502bc401f146b250e918ae4d0a441958b24825e3c09dc820bc03131f01000000000000002a7c2591d7e46c931a3430a059b2b05be4b4871540a837037c1c4fc7d352ce460100000000000000e81d0d57bfad740cb4d3cb5e4a37fc80687f9d0d0eb3ac83883bcf8b77bb937e0100000000000000147ccca21c4dedac43e0222ab379ef490987b302176a8010ba2265aa29567b610100000000000000e0c8701616aea15e91edc27c9e64e0afdd3abbf4f502c0f646fa060eded3bc680100000000000000906ec0a56171d27f65c29683a31c71a87a4e32b273596a0a704ff07ba344d0660100000000000000e03e8b838de23dc7dbe96982a43cb33b406d6f9978132eac11ae555efa8d226b0100000000000000ba395fcb33327501109ed40712c7a372d25bf3339edfabe2a1964fb7b5d4d82401000000000000003a36963a41de2036872df1c499f45acc0e7179457316ec2d99a6018e078f6a050100000000000000da9bf8b51b8396da87113ba296940b23a9fb3cfe7c3fd0b3d541331121b8f57c01000000000000003c2943d6777720179fafe62691d06390210dfb03a1f4c77150cd7e708b86be1e0100000000000000f63eafe185aeaf7071501cebcc6e0f1d1ed4a21a7994a64ae7e51f98c23218500100000000000000c0ff0ad7de8b9403d14459655c0ec4107f119e74406be3161faf15b5ddf1395001000000000000004c9886e2e62ee92a6778d6a7928052732044b64fa61969cd8e37f3f7e3406f720100000000000000baedcd27682fb5289898711ed238fa3fb93b4cb4f4068e0e2b359d91dc726c550100000000000000a23237719086db4a3c6e4ec298be9fbd400f80f44b694f69cc1dd1cd84ecfe1d01000000000000006a84d16e0196639a917baad78fb5e3b716d7ffd6c447ccadeedead0882482e6e010000000000000058cc4e48b26665ec1d6c2a128f0f5b70434ab4a771743429058b963257e6563d01000000000000007a42c87630d09e4d4b041cee10fe20840cc0ae2089514c51e248e137c6d5ab0a0100000000000000c80f32768e5bcf83095be0dc3db1f59f43650d58aebe4ca599dc02de3bbede120100000000000000228dfe58ff0326d8c8e0c51476692d0610424b01244c52c561f02dd133e83e0a01000000000000001e8d73bf05780fababa732bf11ea5251ca67db705955f2936fdbf2f1f1c8f13601000000000000001c0856b04c28ed8bdee95096f95646efc095737d4482b475053245db424e022901000000000000005237e4509f24bc9e8bf9bfd78b594219d86853ae16601f692f10c9b16b88f83b01000000000000002cbd43e95a827c6a62a0621b1297f0328c5919029173b2b4fabea89fa65848380100000000000000a0511c06f6fc317bbc43df8b47b7c36ca7e3ad43010607e88f21cccb32ecbd5b0100000000000000c87bf24eebac187534f689c35ab23038e0a49f890fabfc10613ed78dba1f67170100000000000000362701313409bc9d55aee9cb57aaa8d97bea27bcb918c08b99e8cff39301936501000000000000003879f0af6cd2398db42a96d1510ae6f652929b17aae73926a3f11a8d4c90b72a0100000000000000b88e803bf4241f6465c0393416858ce6a0ac3c350be41cf0434a3566eeb79c4701000000000000008084d934bf7a7ad960de3b325ad5109d10eef00e90d6ab776240b7bbeb6a6a7e0100000000000000c66476c56a07a8e1a9e57bec84efe2817bddb252ddae336d0e64ae2905397e0d010000000000000028187c06cc7e198c70651d2e147597c299c3953f11113715847b419d39e41a7c01000000000000009ce7136b5fb85ba83e153c64a212fca1eee9c3ee42fd010fb27f2d55695b29640100000000000000707c6f8128973d552e4e13c7b3e0a7cebca93fecf8efc5df89fb66865acbaf72010000000000000006d2846642c835b0fb1ff1ef908449376aa8e7c0f3352e55da9a1e97e9528b230100000000000000d4be6f891156ecfd5f9ff661f780884578ac18dcc999b7f574510196c5243c220100000000000000ca29cefbde4a2167c5b0b4900dd25b7dd6877111ce52029ee334f02aa9a05459010000000000000076fc5ac3dc0ccd5aee50f0a686a0cb5ceb87bb037034dfc5e050cc477a327f150100000000000000702aa745c823db83579c2ab00ff4477b39e270874349bf7278447fcdde4d18790100000000000000f8a681118ea0bb9dfde2813ce5144eeb5cee881c27883de1c0c759255ec32654010000000000000016e3f8f5ce2e2b22b816bed27dc767115513198ec47d2795ba9edcccdde2d1580100000000000000b43a022b3cf70d5c2f080a2759d1778cc246f6f817df139391b9e7a952fdb14a010000000000000000345471200425fecce5c32680fa8c00141ab3ba13dc931f753ee13ae52281680100000000000000b6e36baeb73f17807fc72f8fd2518bd25be7ad6c96a2bf73d2202d1c225eb31b0100000000000000c08c91ecf8879f5042960c3d61c0e74f125463ca2726e6655fb922af5cdcb8510100000000000000e23173bf099d870567cbac0e94678e62cb1a554f4bf92c14ec2d46d9dbd8570101000000000000002ea26372b229d0438f7fa19e9c80f90fce3fb41024c48475938d6501ddd8547f01000000000000002c637ca0ccfc4fcf709987ab93933fde929687f615951f4db7ada7cba981e53e0100000000000000e67c524e443cda4cd27dfcce70488a5d23a93c8c46a5e83ef5a69eff3a02fa5a0100000000000000a42289d68c963358f3c450a850242bb53121e73e17f0e2ea2b93327446bea33c0100000000000000caa53cf3e8ff5604d82bac45868bf3e25115f7e8f4d1cdfada68f8487d03e91b0100000000000000a263f3bcd4a33da0112d793dd5f5beeb40eacfa37e3775e2493fa502b7215b5401000000000000005a22cbf55ee96a7afcbaca5ea1aca08d0eb0f2eaead1f43633ead6ad4c30c2390100000000000000a8e470f2339e3ed0da456780dd9207e9c6a02459238ec3057a6ade01fd6cd60a010000000000000002a65bcaa7e35aa60238c784f04cb771829d09bb4e0f7c1c14f4e0b4c0a6391e0100000000000000987b7ecf8720281e4a19c9c5ec6c62be561b6c2e341d5236a6ec0ada32f3e15201000000000000001892bc64859d3f7b26ea46d591a09bb55a80bcb9f2624c61d2ae145e01f56f530100000000000000da2ae63c251f8974aca311e38f118bc404fa9492c08576a3863d2944f97901050100000000000000c4eeba433f476d40e4d6967214298eff1088a8404d81df860229f484cba14944010000000000000088dcb7ea2da86c213e8c735fd1c3c9048bb6312be7045f298f098ba056b87b2d01000000000000003462df838ecb66d01d18c0c4beb28576871b0751075e14668fceb8970104150a01000000000000004e505749e5bbc4d469c2640820ce1f61e6062bc979e258d26e2c1a52b820b47e01000000000000001abb26ba0076d5e001abdcf18d4454fe25c5076bc5ceb1b8f35d6041670c265f0100000000000000b4ffe3c5959ff37c11c6f19d91926cb97aa4bf0f604919e1753bb55664d061680100000000000000bc4c9b5425f9a2aa09e3239332c702dedbfffa2b9f4cc1b978b307fc1fa1337c010000000000000082adf4dd2acaba7512ff01a3134c63e3491c88a10ca13ceb92b60d34b6750b760100000000000000bcb501cabb14adc6bd1c1d8a94284bedd2a20a21f3caf33d7e60edf1a73065530100000000000000b0d4319a2ca1e335440462c6b9c80cefdbfc9aa735d84301a618ca480b56033001000000000000001ee57665488b5ad6f7358157b73009a4ec4b14b4a03c976487e188f54bff7d6401000000000000007022686a613aa1387ea688fdd9a23170bf587f7f1dbaf7b8b022f120f3a4560d0100000000000000ecc606e7ba3eed5d7f6bfd00bf679f03078761d1cb50904d1caa1080431d4c340100000000000000dc387c0249b862faa91a5fd30d1c2b86dbc741b2feac242f274bed763d647b6c0100000000000000dcf4298b520c110042e482f1a64fdf4d579782abe773d79417354ed8528202670100000000000000e208256605f8c064a2ea00f8503293d0dc4aeaacffe021a328cd164c22b623370100000000000000c47bd7af17b6ad4f01e2880542c8596f5a800a20eeebcb37756ffca94a6b98100100000000000000d8632901dcd20c3415349407ec167034633de91f3aa55f64c8bb35882c1b0c190100000000000000dca99b59a15cd12f53c2e069f1cc440c0d73b7f0f027e3d5c759ad5af7b32f4b0100000000000000a0c43d97dab42fbb65ba08c2960f8ad589ba74ce07bb67026b0e8579c3cbfc2301000000000000000052e7df40b49fce61ac4b3099dd48d9bd647d7bdd7dbc9e9f487e2301dc3b07010000000000000026cc6964564859f16a2c5ce9df5e08804d65acea2bedef70a72b13adb5147d370100000000000000c8871294c3dbdab785b4e8ad9604d5f49db8260dcd8980275c980222e6eb261601000000000000005245c68abe0cf4f23b04bfd3a21f80cadef5f3a8545e49540c3999c3e7079f59010000000000000022be2f3730ae90e20d6e0f1f76fceedd68c124fd811c18482937756127ce86260100000000000000c49cfd152ce3ac1fa142b3b6e720cb173eb7f43c82f021418253a070036f870c01000000000000000ee4b76ec5fabf011e00bc27b36039f3d397e021e8bcacf9532c90fc419fca0a01000000000000000e8a4443fefd81456a49fb947583e7eab5e78b3aa9e3743c4b316de9c38b9f7901000000000000003e79c115c01b959b324017f0e1120c76d87b9a734354fde75efcd05401ad173301000000000000009a0b42e88688d547c31a1bb811fdd062908e88a115e1aae39f7bdcd95b927d530100000000000000e2d8807911771f762fef5e4fc3b9685517fe91c48292ec59b4ce13f95bc8ee5d010000000000000076da659f398bb896e8c36d0a9160d5df59c58bd4bbfada4fe8d40e7f4a84b856010000000000000028bc76450afad8c197d1fe5ab3055c8635a370d4adfa17c898b3df93a50b00300100000000000000ecce43c0be3c9134a0d62a0b6463edfdbfce1b2b1bf5bac37fbd1cca48e67e7f0100000000000000887fb18ae45feaa3e449cd0b529bcf06a9795b3cf50425c79e1fe94c1db2ce7d01000000000000008ef93e538ce16500f27b4c9a10ef7b02a46d8a9624778d0f83b9f7d8b560466501000000000000006a1274b6748bf822ba80c9a9416abd3cf591b7aee6adabb8359b7dbed8ebb3770100000000000000c6cfae23e776800744036a6881d20a0476c1852cea187fbf9db79c936c51db0d0100000000000000a893d2350e59c1937884d11aa7b680ceb7a49e7dba5a43c67bc7c20bf347c60c01000000000000003001ce583fa1f84555808f8d46c3242ce898060693aa0573f54d139263c178390100000000000000ee664cd198f60d2b4001685a624bbdb21ddcd881138a5d61bd450f298fc5833a010000000000000068f87aa7b88463d824f528b27648d786a8d3ec27e76fb920bc1294ef9432b60b01000000000000000662540f9c0bfc8a506a5aac301c968d56fb0e34fc6c05dfdd84e42369982066010000000000000090708d1a49ef0acfea32147a109d08d9aa15ee975b5237d56ca9b8e324108d0f010000000000000010bfe5eb616325eacbdad84fbf5ecc1f78d087aa73c1fc98e11bdd6a4251616a01000000000000008242511e6c6595b11edb7affa9912e42e6c632b2be955273e852d932d94a47330100000000000000487c6aad1cc26893dc7e498916a4c23d303f098c04b0a8b0c8242fbb7e73a16e010000000000000040aacd312f15eb011e69b5dbd8fe8b59637e06259954e6e3d8f940e4dfbe2071010000000000000088f9a16886165d00612032cb1b36669ad62b7325536f499191e711134c71b60701000000000000005e6d779219b00ae1d5e6320faff3b6eb963d3acf7705672ff56d2cb46ac44e5b0100000000000000bc4b95226de4e10f91e0254cfe4541232252deaa347f567df124aba81bac4d3f0100000000000000246615914ed30f855044df3bd63491ca8af4af5614e2a19d5c9fcf8950d13d2a01000000000000001eb833e31087d6baffee4e7f1d9a8e3b7013ea392c81f74313a354ba82e92f6b01000000000000009c8c7c8c91df0ed53864f69017d530b5ebda3ab4bde3c67027e70893213d533a010000000000000018ec239eec5457ba11a41518e7c5f98266d1bdbd67602641d04706f95dba5c5601000000000000002e053f0352e6cfbbef91cb61435853a03573fddbabb3621ddd1ed68a04ad3e4401000000000000001e7b9381ff03ccb2f27fa0142dd09c4c0b6672a4cb3a099cbfee1842ef5541000100000000000000b640f3f59d687a3a2608d96c86ae380ac41d9dc8b175480a8830e27fc046590c01000000000000004ce4e086b9782dfddcb793a3efd7cf37db624c0f8274b1fc36f0802d5455386d0100000000000000aa7e2ba0ac23106e76a0efad2d34747769f669773802cc4de44aacd6bd3e3b780100000000000000f80643f72c8dc15503957f39e6d9ac6ef062c43c516a1693e87d2a3d26e9db440100000000000000e487051ee8f32b1f8d0af5e897b49730512303471416e689ccfd0bc3f726f447010000000000000028a027ca1c0bdeebfc8fce85ac4bac48cc072523d9c4a86b4f2594f9142e7e3b010000000000000042e4c41a899dfb238649e5b17dc232c2699353635d60e6a3bdcd71f9b82cda300100000000000000ce4bfd8c5611b1637066ef9e579c85efadfc9513b882184e00b75871ef7f5a2d01000000000000006c0da9efeafc98d2d9d0e21c83e6e937f417ad40f2aa3a21ccf818dd5af7b21401000000000000008e2eaf4ac96e0c79da47d2b76956b3578b39ee4979826d5344254fc37d508c04010000000000000028558e46037c51ece4d39a8a4d34688662e629413c221d6226afe454240e702101000000000000006a4284a9ea438f75390f6547faad885b235c208634da73a79e2e61c51a7cb410010000000000000098da9bbd7e6841370bac817945d087a30acbbf47f7c0243d6588ed32f7c6f15a0100000000000000a8660bbc474f75581461f56345e963a788f3c33621bd0c1eb9834dae39719d6e0100000000000000be44be4a3132cd45c14bc457aaeec81660600df0f65e28194802f8385134610c0100000000000000bad91c9aefe173441dae1f273e55090706d412b0723d39bd6c3af053feb1832001000000000000003cd9f863ad569b4f0123525a9307dff13dd75a81afe7b790d4d8ff418d97d9110100000000000000c6debd3b107fbd0382b1ccbcd0063aea1f8e27536561fe7f3c6ceb77b219753a0100000000000000be03fe6bc03a7884524047567a8ccf43b3c988bf3b447ca9e1520d1c1f83c53901000000000000005461977495f9c407a8d951e860a1cb2087592103229bdbd879629cc538a4182b0100000000000000b05ad6cde0dfc019d740c3f50b8aac16550ff4c197da19cf23b9293f0c5c3907010000000000000034caede521bed7f19b2a5577234751925041209dec1c5b5771d8ccf33ebd49340100000000000000bc56c07cea21bcbbe058aedd2ced9fb4757caead55f96bda9bed1c9669c32b640100000000000000427f116e5ab35a62aa60203420dd112fd9a116690cec550ad6aabcb0b2a0c86501000000000000002a01b311e75c72271b3638f584b85169e1118dc5f850862add04c9a20e33b131010000000000000078e1a4fecbaac940c04e0b591a01ea66a574b5098852ded2810e3a534971111f01000000000000006ccf2ce8e149999a7bb996faa65194e60aeb7bcd1937c787f886fe979fb49e6601000000000000002ae95f2c9044d5ac14beb234c93680b9a0591a70b3c8ef971f3a1498b580fb4c010000000000000092bb282d46ed819e46fb3ee929f7662354fd095b67a8ed51326b47e83f86653a010000000000000082b820c5bee8ee77e35203dab387f3434b8502e5f1c35dfb2ad15b5c89d47b3c0100000000000000c8469111a9fb61c9e775d2b006fff88874ca9633fced938b19794026f2e9a03201000000000000001cf3446b4b5116a1784d92cdc5101e55a5fb91ed3d93efccd06b304a94362d0a0100000000000000160e7af1774196f2395d4019a498e397faa50b61f698c16edc78f0d5333b6e1e010000000000000092c983ba8716f18073d703e7c8556e65e2565ec377f0f9a587d7aa8b5ec4d8500100000000000000583ecb6dde18a2984d5af56152b337cc90422fd6e937b5e06c1c6caf50be212a01000000000000009201460331a900504240f5a2b781820c82762b95f9f2f5993caed8913d8be96b01000000000000004a539d3b629768bcd3530b7aa14c53fc84252c8258e610f57ea5730466e0d02b01000000000000007203b3dc19c8ff42aa0c90d10328d49e6aae97e4d93d91f33e584fd16073f27f010000000000000052d58f50e6ad841adfe6c77ff332933380712c236fb0bf00565d58b3b4e41d78010000000000000018d99932bbe04bdd1da315bf0c31ad9ce555b84955db60ce36bb73aec0d8a61c0100000000000000e26019435e06e3807360b546063269ab645e6fb3db5c99a573d0fec63e2d537101000000000000000e1b958cae4235db85f6494d1d9af4d435450f10e39485735d7ebe0b6454933b010000000000000006379582a73f65db4e43d5bb5d73209c970b2a4c903b3dbfee465eaf7b89336d010000000000000024030139ec9ee0e2d96a22a3fa6b3c3e3bfe7fbf57bf55e9efc4586a103447200100000000000000e286e0fc739361f9e413d23c3faf924082604a390f3e81821e257c4eea5ce337010000000000000014310c77d75c16c2c8d1191a58d4fc682c4e6e5e8f9c1e90eb15dadb13d26a1501000000000000008e0fdb9c1c1175d91743756935f6860d7b29cbce467275b8de3e6425717f6b02010000000000000040a2527ffa7d30d788eca127d435c8b5aa48972cda538b9a1627a57e85c8fa1901000000000000005673f82330a1ee6e6889f745fe15c353f5f8989e4a281e8aa53e38ce1e74556d0100000000000000a280a51ce0a86f40fdce664751a8209051eb2a782c0ed47ac218558717e7de1001000000000000008e47d90d960a22d3c9486e3ef6cee79c6413bf8aec18d14d55cc7e0b43e5cb650100000000000000e8f048309f03e3d9a329dc04bc48c8d1befee7928d14509121dd06e76cec0d2f01000000000000004e524be219d0f11a7489c27d0e01cb5430bc9f58f75a66ea464b717dc25c9a6b0100000000000000ae46c529ba59b0317f6aa431f79802e087355cc32d78258809da6a9b04b8f2600100000000000000ccf230623370ef275ca417c85fbc6e913e3f5fc8f51e67f54beb8686593ec85401000000000000008e5f0b817e1f12b66afdb60a3406ced3d491000cf12866ada159cdcaa3bf010c0100000000000000fced8f1dff4f6c6852b0d643e26ee532086e72be7aecee28d94d1d59b5f9986701000000000000004a905d0574cebf6e8d00d382b104fc8ee1c008f1b9ffa6fa5c3b67ff29719c0d0100000000000000fcccf8e328b4cc968af52a23f6c960b5e34241047b630c19a0661ace6b9c273b0100000000000000ac09c48f5dfccc02362c489ff2522fdad54d1f37e6b47729411a93227f602b780100000000000000be6106f9217a1847af66de9510fdfb40514409556506ddc1c1a897818434125b010000000000000016f2e4835ecdec4c373e17f48c95cb119263cbd229f7e32c0e2185f7003d7d030100000000000000f0eaddce7b63e666eece637b1128a3e4f54178df87a9b032fa3312f68fbd961f010000000000000004d74e03b4e2cdd0109cc8efc5bbdf36b7b5d89c17d4a56cfdb23b0b2b77e10101000000000000009818995c97cbaa84126b0c0a8c4c26fb202e4b255811ca5627600c11c19242760100000000000000e09b8828dd7af7ab17cb00b73845871b69d925dcc38d6d29f79197f5c87bd8460100000000000000b2518044cc31062ee50fa81cb6983f314291a0300865fa5cfe149829c5050d24010000000000000072993ca365788924450fed32848a67b7b711f3d353c960fbc530e8874bfd64360100000000000000d2c97828a993b57a79d8e70e9b6cd9e90f01d1bbd934641509aeebbc625b9f7e010000000000000092cae8f83675e95178a7368ef2ff9e46a2403fc98f94e90519c3ac4d7cdbc711010000000000000050f3e6382021e3c7ee097307d03933571ad45bd056c0eacc86b9ed5174dbd52e01000000000000002eab7eb696d4c3dcef6c5f74cd704eed76fb51790875d8ddbbda133ae7a42f7601000000000000006cb2f0f0e5fe70eb547a0814ca5346f59f7f2ca74c00714aad555157cd5a29490100000000000000042e7c894dd88fb2b0c7dc7a56b44269e0ee606c73d5a297cb459dbfc7649a1701000000000000004ad8fedb395dc0ed63e0edbdbd2d20555b61a46aa7cd751e4308335c277cbd6a010000000000000054a4e00f3df9f09e23118cce02f804d36c4968894a621305a0e8150a2910dc6a01000000000000002a6290670f4302bcbbf2cb0d1cac7390ced076334d3d614b604d734a1ce1217101000000000000004c5e6997b6f186855b1f4c9f8ab2d6cea3da2e86445605ab89e5b5821e05bd3d0100000000000000269e8d252b8a4e91c2ebdb7f4b07bfa9201b88bd436e6c4044e70364c746614e0100000000000000c8763ec27b5b8f3d5ad45b4eeb6b47dbdedc406d969375ac509dda2315ffa409010000000000000064c6cab11d72a27c48de2f30478a51258057aa5a275059d1455b480fbb181e330100000000000000b6a7cbce4a2c96b0f290ced2c10278ccffd1c2922f1126cda8227d35f1ad98150100000000000000fca3b0bf7a3b4ee818a50f86de0be2f976621c6f5a3e768448732252e099cc1e010000000000000018820322d29e40465465fc5f0b488431e710db471615f780451342f5690e20350100000000000000407d69fc26f00269186d96a26e6fa3537160898d761d6a785cb7dba141f87a7a0100000000000000bada36224e4b8748b004ac32cb69ba73235cc177c2aaab775b5536218b27df5e010000000000000074f02ed037d28c883df643034a596e4d2a97a23782ee8483c9ae3429ede7e70901000000000000008e3728649624aa32d3f1d71d0d57fb42a9ea9d3155a2679b02f2330e4c7cda2601000000000000000eb2499cf6581d6480292832d84efa484bb7dc9a36861b35591e4289952db27901000000000000009493e6de34e09c9679b6dca602e38d8c07abb77b3cc487ae3a80661968caa37f01000000000000007acafc914dcd1ac429f85e4a1c89580c0bb58b8c67b3cb6924643eca63ce306c0100000000000000d2bd2d471f119d01186c7efe6604e7186de3a72278b28bb93cd0e6355488ce6e0100000000000000984522609ae23fa1279b0e70b1e274dde52dc22a93191376b0a197d00301a82a0100000000000000c2dcde1e4a7ff6f8406b59a7896bce7c2b69bcd12a5a1908493b7beeb97c7f3c0100000000000000582030a59816ace3ab2c2b8c66ca50a69991899df57096da6f6ca8a49b16550f0100000000000000840290d318350bff32db3dcf6138b822cb2adf1dedf5bad8729471988955915c01000000000000008c6dc982725d0f925557f77e1844d64ebbd5e01b7ba9466e0c1f1ce8bb757f3901000000000000006601e1af585ce0bb093a81463302caa6f02919efa89aeed138d25264b32f3d420100000000000000ba1a89293f8cdef3c8d0eddf74059662db8bfe781c27f214b9818b46d159ca78010000000000000054a7be1f3969266e7b653b0712fcf4d237fd6a673ee6eacef2cd4fdb5e5536350100000000000000bec3821f0ead5fcccc95e22def052a2995ea23ebe898344d6f7ee8bd0bae0f580100000000000000d4ccf5e2a8acb9cfed3eadff326730c60d23683a044d59b26e53a4e1abfc895b010000000000000046543a6ba7d90d6f10febc8b628775c1dc08b55cb93c04e09f0a072f264907360100000000000000620708ccbc822d0be9a49eb46e73955d4cdd8735a5f2cfed44bb656a71501a750100000000000000d8faee17dcc461acb22ca1720b86385414ea8810ba31509fbd8da8733029eb190100000000000000105aab27f211e6df23599236853b58c04654709d9c7d0d5c27145369450f324301000000000000008e703730fd72822a067f724f3efa6bbbc82d5c064d3560c5833bf49edc21061a0100000000000000847f4b6d72993380e0e76fe2d885e429796335dc10f470005e9a268880c6fa1b0100000000000000c80a16a172ea19de337c120de8ba72df1b81efb23ff74e0ee7cbf36e666ede1f0100000000000000f820a8ed2c97f639fea2892d0a89ae98ffc4c0054f948f9a0108e4d99f89994c0100000000000000fcd5f4c4fe11f20ad99dc8345b7dc5600caba5d5b7d3f499c3253c095152d45401000000000000002097dfa5836d3a90ca759b40ef83229a4cfcf3dae217cda8299278c9bce37b420100000000000000b66836e9d42ceff254416bfd6cd80592da3a276bfbef6018540bb0c93a5c44410100000000000000ce8df132517fec1b06b9b7ad5a9e18f861df5bf14dd32b0c7dc3f03be447b2730100000000000000566779977b35c81ab477958e39cc697ffce60fe1aa31f8121da08329b25f4e0501000000000000001644ac70036fc8b19ec0e580bfb10d272798d8c7aa3dccd00d5ceb639fbde603010000000000000008a2c8bc8457a382313d040c40f3f0c02eed0e5357910b19ae4f0c9360e4dd1b0100000000000000a8bbf134d2c82050f455ad50876ce102de5e63600d2226ae2d6cf3f52ad6eb240100000000000000480defe8739c9518d5507480bb9c68ec408a60b944824521f1184b74bc47f2170100000000000000780e4353aca40b0f2b2403c862cb33032d49a820244bdc2853ce158d48c4f610010000000000000054793d64aad2cfb3d01ba50441a008cf5cc9acfeb8390ddc3b7945f7e6e65e290100000000000000046e9ea6faab3f6ea31d95f9b4339bc5622323907570fc9c788dbf46a13bb92201000000000000003ae7d174f16f034ff7816b8d9ef1b4b2b15ac5a16eefe819253b03d958babc110100000000000000b2f392bf1ee5258bb5cd29a4b800747a419f4df00c61acacf46dfbbab8094a7e01000000000000003cd825436dadf293b1f5c315d478b960b1e6f141e3244f2f0c892f42c0b159040100000000000000665a7586aa1a3f4aadfeb9b778052b5df39637acd93736819bce37d727e306750100000000000000ac7c9bb11bbd24b64b4611071ac5ebc4c83e94d38abc3df541eb9dd04b726659010000000000000068f3e478d28f00ce97dcbcce5e9cff5674f6b3d8b06f7dd8be7b5f3b6f1b555d0100000000000000da7bfba48819dcd92eeb75e2435784132a257ce38ca01a6eb3fb66bed9422b240100000000000000ccc5a764f42aa0da463245aad924f65618099b1605ef6e3cf7efddaf791cf34c010000000000000056da6e5ada211131376b8d0571118b69fe57fae1393d23572b484f394857904801000000000000008c3fa761a684f89c63b5014e6a934f763345f91c5829d88cdaf28abe75c0823101000000000000000ee6df339af6749cf9b9fdabafc0cdc59ba35a1244fa56b0adf6bcf7cd3333000100000000000000c081b6f9b341d1355ff2caa0bb297d9cfa88dc9db48eab74f1c004c189513e4f01000000000000006a1b43dc9100e51e8a92f4a4d3591b82bbf77fdfad6546330c67d3bdeafce71a0100000000000000667f7af26c8dd32504777bb2a259a26757808ead5155f3f098558a70d90c575b010000000000000006f8df3b49930c691067ddce8889df6179b8ac05a3e9a96d0a7e98904c969b14010000000000000092ee092cd2215c7c1628086c08be10a3cb969f6b276f600422f3526f303bd87801000000000000007e7b48c563ecd0c6e472ddf2d70e03d0a40313ff137671f291aa17413eef087301000000000000009aeda969400e2e21c35ef284458dbc898f277a49da9dbcd675eefcf265f6d4450100000000000000f89ddca1869a2c3a9d40f6401029bde79a46752f60a71abc2d9966b5514e94050100000000000000020d34131c7a0ab6d104839ed8b9e0cdf075b80409a36fbe94d0cf83f7ea1f1e0100000000000000b484046e76bdb203eca3e22bcc5525f7973cfc70ab7eec3f568fccbbac6ba140010000000000000060722aa6239a4b5f138bc30c5b3ebb5cf0c53b901f71076f213b72d073d2cf3601000000000000001098c3193759138d2ce96e47b00dbff13b7542669fec49b78355e10e68f6e4330100000000000000269d2ef380d1b161d3479448fad38c3f1328dfd8a134d5c40399f3692cd7545901000000000000005093664828343ccc86b8a41b0638b5f38c8e5995d2cd01267d49d2651d5898650100000000000000b27ccb4edaf0edc92ce1f35b0950251d38af8cea2dd129a8ff5e6c946ed6546b010000000000000070e31469f5d889be009fb327129c841179474ad84a5c3c732d5260f65f8a3767010000000000000014e5caa5709b3d5a8e50aaaa9ceba368e2d66f964e598f861938f093dadac32b010000000000000040dc7c3e4af430f523ce1ceb5de4c836056a079da82caf752cceab452743695a010000000000000062a20e32bc5903bd091251507aee7b4860fc74348f53ce32f078c7a4cfbbdc3f0100000000000000ea0853b1a9c0bacbc2c57c8233940af4bc51b0734b721f75b8ab5f74d66c0a230100000000000000f44b3ec5c7b2188f208d60d159d1f5b0914a51a0632eacea6b88ec7b26d6673d01000000000000000e3e265f291f50053f38c5c9f145c86caaf56ca085edcc521d58371be0d54d7d010000000000000002d0beaa25938ea3c9f16d3004577ec1e1e60a8198c268e209d2f64a6561b32c010000000000000046c5d9750776edafdced20206ffe4b799489f6de9e0983eeb3a9fb6485c7e22201000000000000007e2f54190ec59a98cc3930dcd41c7113812c0596c9537277ca93038a9e57976b010000000000000054ecb1c6cdd76e77a694ad7d62b50187c0de759e60b46c82ce70e62a9a328e3a01000000000000003ef1fa1b2ae33d6fe3d94915baf7540a6d3b3c34d01bc2670608bf8e24c1b15c0100000000000000829f64b96b37d0aa283fe99a6d2150069bcbb6be61d076f23b3992b6c1fe6756010000000000000052d36d934905359a84c6ab4d2e4aa7db403f77fa694cb05c70d5477f7079595f010000000000000078044b468a3e1a848ba57d04ab36ed1653fd9d59294edcaaed0dcb945d9088770100000000000000ca4750f3796fb66fc707269f6c846b0aef6416f03aebcf728018144bbf76a22b0100000000000000c458431a6f3345a706126fc390af857b97bebfb0d55cb3fdeff7f673e46afb650100000000000000f259a1355699c7b5ef71820c5e04d9e6436dd8844d347ddf84f7325dd93a60590100000000000000ca7706bbef090e99e2cedf4833d3bd4c215121c9596957b651ca4924b773032a0100000000000000a065f45a353f24ba187248aacd9c64d5c3a92ddf92b4a5c33994f56a07cea8400100000000000000584cc334d89181207fad8289d1e89a85848439b16d4bae59f1004188e8e26e500100000000000000a6d498495e591b3b16dc6388c4cf43edf35e263d80d743aa827951f22e0ac91901000000000000009821465bd76d11b25f1384d98901fed08727f3cff92131d817a987333cfc5b650100000000000000b0200adae0feaeea78d77e0de3b4a63c7d44544dd0082beaa93a293abbb06e4901000000000000001a04f32b2351585bca74d9feec86d759d49ee55b615bcabe955f2def5b98df0e0100000000000000742a6a8943509da1d899f82879b8965a928dc3db99996a7ef65dab90c22c99090100000000000000d0f1d3ebce8c9d5346422585d9022f843cbc102d29c28c7b0cd287849e595f4f010000000000000074e859fd23da9f3b5c0b554492134ec981deca6fc0d8e4fc6e33ca517a0ce26a010000000000000022b634563bc2b885326ed31f52644cef011566a890a26192a8b5435b19fb6e42010000000000000010f6d73ff674b4168adce9e291ae84b250293e48eb40839ea8ffea9c057c83090100000000000000ac04c4e0f5a8d352a19ad6fab6226fa1d69222aee364d12809591265f193403c0100000000000000ca377174a1aacc948264510f8fb2f4264475ed6acf4402110d99aac6813a990b01000000000000000cee7204e361a4c8d648f92b4bc058f517a5ebe90bf75f34116934631c610b0c0100000000000000d460e8effd89689383e396bda01d4fb48658d1b2be0f3497a635d92a00783e4301000000000000002a98fbaf7ec22832522e3f96821711ef684283911a524960efb14953255baa2b01000000000000006cd1066d5ccff0f29049137b42feedf12c3a4e91f37170a20e87a84bd6aa1d2a01000000000000002076bc34bf8c9ba9c0922f484f04637c02b4a44e5dd7ec861f1ca8b6cf84c8400100000000000000f8d7cac8239edc444da065c812e4fb38f7b0d928f963388f951e2b0115077a7c0100000000000000a4945508cf103aabe69457d9ea2b46425d9d26e57f89e6b1f799ec18219ad25501000000000000000469ef46bfe2de21a792a23490ee7791b7115c35c71805dd6fc133f6ddb22d270100000000000000d285950cb237602bee1798bcd24418a2a562b549fdd8e5ef2d1f74101358a0460100000000000000662688be862e6bb6c983901a7cfb7d4688fdb4ba82e3d6d6da93ed315029b45a010000000000000096f9ec98d4cfa00b9ff41b5962d3c68f12201556d80bcde84cd85251252b822401000000000000009eb1b5beb8b5ca4613c17e6d41996337b26e0ca7289d2f52df05997020eddc5001000000000000002a89ca2ad62c6b326ac778f63292142fcaf4d9721b13d9994ba4abd46152f30b010000000000000078294f515c659b94bfce9674db37a3cf2f32d89ce1758ca53d1860037cf1d42a0100000000000000a2d57783e292b34b8415c5aae90097a5b7b243b7d80c216e43067d210004f3080100000000000000047e42afb61bd0d49aeed1975a96c8398a0ec4643fcf5625cac5b22c097a02590100000000000000bc4529c25a2a01667d6e451ab753e1713be0835456e6fbd29854cfbd45dd2e3c01000000000000007efe2d823470c2d98b6a020e469747a7a03429abe579202b97b2a5be6c209277010000000000000004efb918028f583768356118e9457c36583319eca6d53536596714e782f1596d010000000000000048ce0aba6f1554e139568b4d2358d6cca9bc291d3600787cc3e732291002ca220100000000000000a0a1cc9172a71b134162a60272739d19b59162748f9e1c4adf86d3a10834c72d01000000000000005440e71292507c1b33554e8d95fd85ca3de6499e1b7c838236051dab5fa3f37c0100000000000000a8731d355eefdfbdb7fb12cfa5a280c0b1e408aca264ef585d42bf97fcfba1160100000000000000f038e6d72ac8c9b9d165e9154b1f7978dc906e6bbb501ffb8e3e9a739a89cf5701000000000000003ce775a4a6215dbfbdc2b0a8a8b71936abd61642b5fd1a0c1d06ba548ad3025e0100000000000000607e87afdec2df93da6947c6cfda81f74329952a2ef95a7173a66db78a3ce7540100000000000000fe24bd4f4b0e75ff21dcf16a3ccba49556cfa9586348a8f939df8def8a214c0d01000000000000001a5c0eed62bc68c0c018b8878a4514706a996dd8dfdc94798684656c8ccce27b0100000000000000f6c3258308f4382c9c7d36f4435b692b42a20d6a7fa74765f7a965eef088c82a0100000000000000685506af78bd0b16513f09395368600e5b6fcde0f89d280c6446b1613844351c01000000000000009cc697b491304d797292fd5f14284c376a0adb2d420add197617126cd258f62c01000000000000002488a8bee91b989dff6adff396074f3300e7938a962ea3728943f37a23a7763e0100000000000000ec25078562fb511f0945c3af78d77c8e02f570c647957c0932475aac3ce72f6a0100000000000000dc4ae9ca42fe496af7a466de59735813691d9c050f3256c3d4a96664cb6f9f670100000000000000028393ee5fcd06734e381651c82cb89b08bdcd64d1aecb4727fef82ae5c44b4501000000000000005045ad06375c923fef7d2b183ead536af9814d951037ee8a37ea010d791f227b0100000000000000c220d72d1562268f43bfa2a12f4b516f060e696091b122eb2e3fe93faccbd67b0100000000000000e0d7a8263f27cb76d32137dfa7ca09355a2821fd2c9454b222b3e5cfd81ca359010000000000000064eda01bc8dd522756c6728f9b030c1b1f605ed89e91233199476e5b0e96ba2c01000000000000008c53786209d22e7605c5ac59b155f2ec9bf5d088d77abd8930fbe65463cd8d6101000000000000001e534cbbe982369a968006efa465cf2a16807a88a5c877d45f090192ea619c6001000000000000009c4a01b4b6e187c0c98931ed673f6c02ead7030a0f6a967185d7823a30d17969010000000000000042f799c01beb57b5ae0779f17bc6be1a8a6ab789cec7c00318049f1a68da504301000000000000006e8af7492bafe8cc6e8113ed4d36dd0d0f28f42b381238da06e4aebc48cd656c0100000000000000a8799cec2aeeea9f33bafbcd60c947d0bcf3b1c9be450c43f63004e16a857e72010000000000000078cf1debe3fc0da2ed2473d1e1835a478cc3e7008e0cf42043f287bc36804b710100000000000000b8f696197dfc324b72f06560c38ac6635d1bfe5ea4cf59c133c36234a0a012540100000000000000266f93d04b5ea1ae454eaa25946da19eb9f1ebd3a6408d8d1ac4a373305fc92301000000000000006ae77bbe36c1554126d56d6bdc72946f26b4323f38125fe5392e154640a60e300100000000000000fcf8c8db78fab04b332758bb6edb9fde68e74ee228c1eac78812cd80adce1273010000000000000032e2c97e308c84afea4b37d7dd8f62e67763126c357c9e6e49b27f54c3702b730100000000000000c64c595519886ef38c2fa837c795ee92f6fe003037c9ded2c1282a939408513d0100000000000000c6a07400a9c7d51d51e5b2c120b40c313ea99b4af9c0c4106bd753f3185f40680100000000000000a0c28669f01d5b4decdab2abfd9d14b989c1d4b32323f264b24a788de0b9d2430100000000000000843778dfeddea10578fab2773f2827c62fe0efe374d9a01eb370bd8f1427e7630100000000000000b67d043a780b897a23192cba22595b758d2a5db517d50951c99d5acdadf3210701000000000000009829a89b84bf8a0c76dad25d99c2e4476e51bff2ee9e917a65edd1b4175cf5400100000000000000b67a042a5fc9668101e9aad4a291ea2aeafe50eae796865cb201201a6dc691530100000000000000080527decdf951ba9bd3ed9acb5e1454d07c661cd84833a455a2d239c18d42140100000000000000847f948b67d6f455e2f2923f366dfe3c0a3925b451210a46cd36fafb8cd8290601000000000000001e6d57d7109cc6dc573360e5f2192578e3324f2a8dcbd823483b82d725a9771701000000000000007cb1f225b90c00f426c33ac4338eeb2dae6467b8a9da5c1556e6588c12ca977b0100000000000000b261a66b9bae17b65e7f6a88d65efb4519925d6c418c9e2ba17bfdbf684b77630100000000000000c4046e6cf48c9913b2af1dd8caa4f7ffd03a01255af691cc1b70f142b97d2a150100000000000000560c91919fc22867159ed77bee1b3e70d2e222a5fe6e830fceb13b58b0daa5290100000000000000b6068f3b8a0ef7a3f7916e5559eea8158d5f5b09d9db89e40dfc5bab0549911a01000000000000003680cf4852c43b2a708608cd7e09b531e7748e4d7e9d65904676f53ca7565352010000000000000010381a1fde26d95804978d4ccaa1d6e634efe2ac922f7dae4da3cf3a64568a4e01000000000000003227028def74f8ea7bede3e112e4ce09d8fb823790ed599f2259019945f2690a0100000000000000d28eb111cd786c6f09c003d958c4a26cfd7a33f9e8bf6db02795f12afc7a1e0e01000000000000004ca838afa9f12e88436eacb5024f3f94c95a66c32e114f65f3136176e426c75501000000000000000ea6f5d4087d599603b0c39fbd588c198b9d9bec85a77a5579ff68fad12fc20c0100000000000000ae3abe7a22e9bdc2c56ccd4ee8b99867ca5c54b0728ff372f3ff5caa3c6266160100000000000000fc5b39a7b7d737c7d1dee9dbaa77969b95a7edd3926c538d8dbb854d53cb3c1101000000000000008868524e56bed527bb3039e7d01a84af44e8e62ed00b1f44098c47789e4b201001000000000000007e8fa0ce0acea9cb5bab44ae7112ffd068f3a3c193a90f1fd4fb00adc1a2042c01000000000000000c60356c02d5d99293952c478fd07b2cff982dbad863ebdadf25c9e69206f14901000000000000000c6cc2bc932adace83516fe99076d532e6197ae08d66610988288044c6bdbf3601000000000000004843126f2fe8ee46dd4a489f97b1f4717ef777ed371da544e30e8c7e5f0d681a01000000000000008e67bbfe6269ba4ea2b216e7cc21a54ab882859d65a691ff2eec486f66a9035f0100000000000000103680fee8923b681b7721ef2bdfaac20a99bae45e643b42a228be43b3d211660100000000000000603fef5a531a03b8e83a8b66f583edf78706b93a11eff454f5a56093a6434a3a01000000000000001e724d980809bc793ae72d15a9b33cbf93b4cc17875a4259970548c5137c6b4d01000000000000005edd53eab09b1834ec2435a78a19daee1acefe1e84de77bf788740d9bf6938360100000000000000981f14da22574782d35643e2fdf2c514245b6d7475048becf8143136acabb00c010000000000000090b7aa9d2cd7f44f20fdf30f34ccb9d34c943c1e5c3d4553c6c43049dd8ddf1d01000000000000002aa57ae83dbf829a794b555b8acddc97657b2178d0722c6263c8ddd19ffd474901000000000000009664e4e01c42d9a22435a39dfb1daa6cf043abbd01c1b081c28ee271988b415b0100000000000000381a3708c945f1d295122322f3b3b7e161a4f2556d6f8d8ebfe052377ed37b700100000000000000e09ecf865113ac4f2520de61ba8b8fa5480534d41145d1ff3db5c8ea3f3c9a100100000000000000ecf0297bddebd3d766ea7def2bac79ad6eb650fabdcd029b99cb1649ff7dc815010000000000000090b46ba005eb064c8ea5ebec94a5facfe2ad0c0050dee0f51026f0d1603911170100000000000000f256b9b48c47178b2f1896a017caed1ea2451c84c29ca1453ac153d0dab019130100000000000000509f915fe6f099fb5807c03be526a055dbb7565c35831a7dd76d6e506d493c460100000000000000042cc9a90ee7801f29bde1f77ebc42e68fc8432df113d23b82201d1a10e33d0a01000000000000001a47252288a7ce1b8f8892ca42e0f279967de49258218eaea8bfd94ae117b77401000000000000003c2f81db928e84552574a761e6bf8991a337ef5907a5ad26d8d21385da1b7e3201000000000000001e63ed13cb9b8d544a73307d348a241d87d3d1063715d686572e705b37b7483e0100000000000000eeaf1f835802c8997d3158c153aa6b5a01c5cf2772b0c00339bffb059ca9ed420100000000000000183e5f34c7c987bb4f165e2b737a9300495ecc1b7f9681c5c748bffea19bdd650100000000000000a0935670e98d2bf4800f84af8a051ce9d600d2f515cc2de17a9e354d3488db460100000000000000e84ad35c6913d9fb006b3d64760b959edf736c080c8fdd58af24ba8e6a6fd47b0100000000000000e8b7e227a0ca7c64a4099a3fbb509620d4b8e1dd91e1ca32a5bda49d4aebb31f0100000000000000ea3c4034fa89a8744f7c8a55560418d7298cccf97fdba7cfc0a9c83701dd680c010000000000000036ac66f4a630e6c2af684fa7ad07390d67ba6fa05b50bb5dc3ec8cb3fc39f66b010000000000000008bb4e156026608c59c8b2b6f8068e7398c30278a90b8f478724fd04456a67300100000000000000f8e53780bed6bf624f73d22731cb6c5eb520d40e0b4d47f62f8a73705ee9853d01000000000000004e466f6a4930d856a1f53f21c1a44451ead20c8c71319f6a685f0e254d24c32101000000000000004c1af564e989c30c6e5ae1b8035ced5f59653b40cbc2d78fe17336468c8f441b01000000000000002e885398b2f8018002abd2595f86a4168d37c1dc2e189108a02c520f17225b7b01000000000000003ac231bc9a6e280f3d1ae2020b2e56c5888098427a186d35c052ffd6e42f264301000000000000009647f0ba124d459f0633dfd82a3c3a0010124072d4e274742c7c17a536eba91401000000000000000eabd85c2d5a1631f4b14cab1afb71b4c8b9543b3c93ed53b5a557513bd8394e010000000000000024706d6d41dbaf2bac8cf1c4375d87c3a5b84b8bde07036968aebe83906610450100000000000000e6b0227620e1921d97976f803bcd20553e4e6bc80f1e269c8d8485757f269a47010000000000000088fa8bb07ebce99964718c65d0d6f1b091ef2f4d4cdf7b94a22c42c007ecd706010000000000000048f68e4cd520fc8d0d253c8b5816082302690cdef1ed1cd2e4f76215243e723801000000000000008213c855c6cda8c660559fe47d08cb584050fb4d2dc411cb1311047a806c874a010000000000000000f79cec5a6b6b70f768ed05e94d2cfd70b13bc58fa16e62d742ee49aabe967e0100000000000000d8bb28523be3666290cf2748c87eef425e0d92cfc359de1d74004354cb583c4e01000000000000004cb3593968c0254cadc7f1a2270f9a89e0909e12a6eb5ceb7f723ab6ee9b7275010000000000000066367dc21d99167386ed0d0018a18b23a1f7531aba9f6e1d299a43446c86201f010000000000000060f640b7d3d4e9316603270a4e5771ff2d9e48927a6210a67eab2a25149f17740100000000000000d2179a30faa13f5b821213d4e45bafebfe069746e5afe09254f80fa301ae093a0100000000000000860f027419d3673cc8e103d0812025ad5151e2bd630d8fe55fa7b8314e37105a010000000000000092e5bb9d0906f768dbdde0696b78e493cc78dc1f68789575b24f0b962799b51e01000000000000009295a1f023157921d346b73484b120d46048382107015aa9ed998f1fae95970e01000000000000003e652d1f8e78c4011cc9b19a2fbe253a6c8708a30e94b549550f11f17d9b3f700100000000000000d2c456a3002282450e0419b0aa5293b85a9e6f5e9d181652a494a2e613f12a11010000000000000046920ef4915f3036b0686792a741f2d04698b23c5e6b8338d03a7e935d61343001000000000000006cb96487d8bb7c4ba7726a623709a27687866740b7a400b9c5322e806711aa0501000000000000008a061720463abda562f0802f43ff556ef8382f737ec6370150396ec14dec820901000000000000004a512ac212da2c96d7bc8590865ce627e6b60246700595bb100b240e80a3f0760100000000000000be2ee8034bdda18863bca0a0af63015a85ee2551b62e0b1c732417ed06ea39540100000000000000d65ce90b9f6560a41d71a5a53303b2e9fe2fa2c7b5aa7b8d77f7c0ed4473993001000000000000005a15fb3423d8efc0d616665530a6d478b661c324eb30a42f72b828f5ea99421e01000000000000001caf58ab15b9012fdd60832fedda98852b1a37a488f89c57cc1c19f11048ce5b0100000000000000c6fbf5153c7b8dd896e8daab854560e2ab669890479fed689ca39f210fe880080100000000000000cef0ed2766b32d77a4c7f040c05353dd8a918b01bb9705492a53c419ef282c39010000000000000086f750fd8e37cabe5049c7336bc317cb011c62d1e0dbb59a68706c366de0c2610100000000000000aa58ec5f9f12a8cf5286c9620b3c3d9190ac57e7d2aeaace1bd6aa27ce48167101000000000000007eaa6ebab8bf9421751c15e0dc061d9fc6bd225c6efae51c88c58a7f8387b90901000000000000008253aa8ced658c953f1052f9117421984cbe6dbf14fda93f723f3fad901d88020100000000000000f2482ae122cad07e9aba73acdda2f47ee8dbdbe85f6921c1f1ba968852c5df31010000000000000058e325dff1555077716069f76f83f6e2ff171bb43fdce83659d250a1abe7342f0100000000000000ea88c9aa1e449f4c62b86af5da1abda7479f9be5344eafcaca482b892601c457010000000000000026538b2b883a97c4e4ca0c01a9e136d42832e07156bf9df23bee062df009230501000000000000000cc6b385d54b772686de9137405b523af4bc79c0e2ca6c162163808521ad79570100000000000000bcbd81964eb726de1abd2b7608252278066fa196b100b15ea8d8976a94ac743e0100000000000000b0d9dc44559810ad536b1c9792b5624cb087972bf5fe3ee484f9214497d6f8380100000000000000fad87158d4a6234fd1444bf61c5d4b7e741f31a9e1d49bd5ef1ab21e19143e530100000000000000eae34c5f0c88e2cefa9ef36ea262faf41315a0de4074c6f3b3696c153f8f023c0100000000000000b600ec4f4068eff1e9d03edd1eb00e4bb2795eb1029348825e604ed28829bb6b0100000000000000d23c53a531e356646133db73065cd83999693a5bdfc05931238434f5b031522f010000000000000094d28205c958a5d713fe7dec4dac2cb85cce31872e3faf9eb9487e8fcabbac6001000000000000008af88ab005ea3b1a0b3412054c721e574c4b4469e231aa487d9132946e42bb690100000000000000aa74176b5870c97b754a157ec0d8032148c2ae717a905e0e5e626048b6f53343010000000000000062d37e495af1a21a15c93556362a0e29726926302d9453bcf2c2f0a7b4001e5a010000000000000032fdd22fdc3662f97008fbb6f52d0fbe7b62c24956849fe04f9b023007a8932301000000000000003e07b075219fc7ace8dc3bf3a06f5dc12aa9c7e45fe30244d2284bcfb1e6ee190100000000000000a4a0bc81aaad1ebce3fdf896a8d6d081ab93efc2de9d5c56f2632edfeaa7ad0f0100000000000000a07fe18d0151b0bbb2a2f9604122716fa2ae881babe7e6d84a22cfabdcd1267a010000000000000042c7ee18833ca3f3a56b91ea1f57f1984a7d127efd57802caadd0a4a7e3d5f480100000000000000f6fabc667ca7e609a18fbc1b44af598f189f769f5e7419d2632a3dbfb46b266101000000000000005ae2495c65862ec124cbc8c9268f7a1fa66a9013b01f10198855149cc549c3710100000000000000465242c8915eea46e25549f2ab97cfe78784f25083e51773e07d5a0cafc2de320100000000000000e886d0c8ecc3af997d07b9426599a43adb274a3b0d5ab3262331a5da13e7555601000000000000009ef8d5705da658687f96fb0a6f937611a3127911a1694a46ec7226741ce43e4f010000000000000018728d9d1125cfc79ab103aff7fecddfb9c6528d3a707e8e088b92c9c7a5d41b01000000000000009875dea5d493af94567673bfcaf096919a921cbb806f55b7488bb0a554fed66c01000000000000009a3b32b7cc94b119b2753d77d4f38b0e63900a5633773105a551de5b22670e7a010000000000000046ed02242cf70665583c79a324b0e53c1e957c2b6c41371fdfa7c632513a86530100000000000000643589f0627aa555aefb01d2f0a366eacc252af9437ec2a892935da2a1052c170100000000000000241cb8ac6036dff8d9e0f6f092f17932945166e75010dee9adb2e245a4b6e5500100000000000000a877af86b958cb961cc97cc61fc35602350a87cf9cccefb09dd91f9f792919250100000000000000ec1ccac47bdcd80ce07faf39b9b1791033ef5587d0647b9b83ee433fcb8d32170100000000000000288c08430a7e427400dd5b61926b74a82abcbbc91ac739190cc791a581f6836a0100000000000000b40a7dad67fc795dda1dfc1ebc78dbe45a8116888183aadd0cb4698dc4415912010000000000000028052d0b965ed862b7861aa7f3f91fe52ff8b0f795ff476c7e0a7aa42e7993300100000000000000a853037e17e9d4ad15f03f236723506cb78607413d233975c9ef793397de156a0100000000000000b6c42607db8cf37421c805c1c54fcfe85f3d25405ff4c55286501818c9dc584601000000000000006e196558c4d270a0c85c034ec2d427b99eb9e43ea2a76c30d74eb902aa11d67001000000000000004c877f2d5a9fb22cb8526dda4256da8e575f09cd838d5e15032e8e150ee1ea7f0100000000000000769ea03c7b16ccfa42f5aec6127e19f165bd61e60180299da4145854061e1e180100000000000000c22b3fe29c3b9eef11a6db4c79ebac692efa4e3a9e4a48affdc415275ce387640100000000000000aa646448bef869fb04cbe6c623251e10ddda7c039fdb8b642b704c3a0416dd27010000000000000028a0a3e8d2a6ff3213d142b94caa64965d1c738c4195706f133175065165130801000000000000003680810b04e4cf0eb010ea7491e9833698f14a98b2a7f1fb991488fd39f3a35d01000000000000003622bfbaf9350b5906bdf9ce362e06726224ed141c5d29e8e175e0beedbd3d3d010000000000000070f08007867b02d11f3fa909154b03a7915ae7971e474ae27725fc6b99c8425b01000000000000002c6ef636d3bba8ef79dfc0e6d77bcb38426b54c92b764b29115d25f3af9c87160100000000000000e8b977fa9876c391f9ea7fa563d64da4af9b50fabac9a2425b2f18c7eef2f54c010000000000000086088c15ab94ed86455e4473c198b99730e99585b88d6fa465ce429d268ea27d01000000000000006ca1fff449e7504cdaacafd3e53d23f3e9b566178f592811a7a423fba6f0506201000000000000006ed90090a744a0d55adf8f8af5af4d5198bb67220ce33fe71121d7c51f27a41301000000000000005415709fd8ddce1a97512f0950815e25178679d2591270d89e83c5350bfd4b0501000000000000000a73873c9828f50900fec8ebe613db998e6fe476142718ce0589822f88dffb3d01000000000000002e1112ae35f007b16eac0058c77a85d3dca8687cf6f1bf231f84d768fb389c040100000000000000809dc13a93316ffb2f1cfecfbce374272a81639b11fdb1836f04d3bac622f24c0100000000000000687cbc1bf231505a492d00bbbbd0f7adc9df484ae46143f1088f469e51f95d740100000000000000e4e005984bbae507a03d158ea8ca3a87505ae3e8723d8f5bfffccb63a23ea61c01000000000000008a40c3acc862dcac958866b738b304be7d84c33d9420b0747eb82aaa21b8c40c01000000000000007a2430a3ba06afdacb8cdd51b95a8f94e97f6f3da16a16db190a83fc8d7f380c010000000000000030071950e33b60f29acdcaabac9e3f6f1436f337cbd3f123f5aed3f0307ee823010000000000000092439f4dab2f4b2e8d1bd040505ee33fb2c1dd56f3946826cc27288422313b3a0100000000000000aa6e4b27f80410ae5ce7ab8e7bf083f6e6a87f87a784d6aca9e5fd9843176926010000000000000094b4d71ff20170266393c4cb481cbc68d0f04264e067f456dfcbae3ae0af5739010000000000000092c996c1fedd09190bb0fa8cc79e4075ad79eca3d6895d2a99d20e6f89e4182b010000000000000072bb32222caca7113141263e12a4193da7f29806dc93cdd11fa9653464344e32010000000000000000140d4493060751979098f686733955e6e71d01bbaa8a3e6cb297400c5c624f0100000000000000204791fdb49af594e5b04e0f26492e56ad8ef4cc8533245609d10e66c340302e0100000000000000c21f66c32b614761850e5795a3afdaec1461b45184702e3c2cd5ec2df9623c3a01000000000000008ec59e4c60c8e07ea1c5de77d0510924f4d399071cf1f09606e0e58c961c1c020100000000000000941dd915e0ed9ab77c5902ad8840b81dc84402df589ee4d846480c63cc5d9731010000000000000076f132027235278f9c582ad1c52fa62390aa10f04add56321a28b4f22074092d0100000000000000428992924b7c66ae24e3c55a9d85fcd8343ab1bf0089a8e5038313d1f3fcf9700100000000000000f2065428f52da2f7a881f9b94bfd38719bb6e5ff88a6800bbb3aebb1a9ad21020100000000000000ae48bbbfd5aa564f0945a2d79428d0182fe40770999ffcf472944e28bac852790100000000000000664e22b28ad76fa3b6e8ff42b67991593fc2895257515564be879070b9aea430010000000000000028f159f324744bc9c1024c1cf5767b285d4c99f5503994801a2935b1c5b07770010000000000000094ca8d9a1ac9afe584ea99954a80926de626990ba9087c0a8ac242ab67fcb7780100000000000000fc3fa462e56b8a4aadc369f88cad272f9e52da4a11c4896c30e3e0ee19c403140100000000000000d4ea40358db730c989516c396564c35219ccfc967d4e8dcfb02ca41417bf614901000000000000009452d0cd850a8a3fce455d099302e7d641242037956cb39f679f343e2af9601401000000000000004e09267475354ac23e1cc62749139e0dedb5e403013fb807490e37487594707e0100000000000000aad8cadd0411f99a40ca280442477e707101189728ee1252931e28bc75edc6370100000000000000bae8e68bc8f1b66fe3229ee72d77137b394c6b7dfbf55e424f9d2c82d5c996000100000000000000183a83cfb0fcd53d29c91527754e3f6e4697fc680d43247d200b39589084f84d0100000000000000deafec3833f9925dbc5d185762c864d1294215c8eeb3f63da6f4cd5fa78eee3b010000000000000076fbe24a9ab4cd3cd99386300fca0e4ad3d97aba0558ef4929aaab74931a274d01000000000000002e80afd2cf30e0415e4f442a662a9f7da2d07043f87832ce66f15049c022d46301000000000000003c7d4e79e3531b0b00ad005934e642cd0d49ae04fc2a10f3d1945951c8190c16010000000000000004c1f0acbfa8d8f1169684bde1c6e3938fe90d54879168a6a4a7fbe99eefb9290100000000000000a60345c5939d4ef77e57e8fea426929956c826524c7df8b5d880d5274d77461d0100000000000000683f0e1d68ab68c7b04bc1928a8b47abff720349ddc36d7073793f43c2afb030010000000000000060b521110672f6f871978fd3ac4a835b5e30c3fa727c04c70dbc543fcad38b0e0100000000000000e047754ec2beaaf49bded84adef9b7cd827641ada004b050b58859ff91abbc5e0100000000000000c40c9ed995aac4b4aeab516c9614b4614616a75eaf2fbe628dde6d3be5bc9b6601000000000000002ab0b5cc358184be4fa29e7a3dc24806a72e55baad40ec9a117324a884242c280100000000000000e05c7c7d82498be85294ee984e1f0caf23c53fa9a64cc7e6c5053304c4bb785101000000000000005afe620da258a48f00c3afbb8a98161e977f076c7e7f8392975a4f0db4b57d610100000000000000a61667ea6442054b56111477f57ecf39b6e90480bfadf54c3e6cb5ac3a3e275801000000000000001ae9aab4a890c558ac8ab90ccbbf193b3841083670ebed278b2161fa2ec7b3040100000000000000c0730aba0523c10c535c2640ec878a0f5d2a240c8d53fc37fd30f5735a38ec4001000000000000004059f5de23fd2e6805528d79475470526ee7e2f17192988e10c681e15672857c01000000000000002ef1963041466a7d5160843012c4fcad880ed969cff996152f4283ffbe645e0c01000000000000009e6528fe0232f7e9162c5292621c135c47e949e54e91fe5fd500b8b80632625f01000000000000003c0e8a8f204aa9b2f088877f0e03c6ec1c0552baaff43bdbffe904dac305675b01000000000000004e7a559a6f6f685a8b438db6acc074df322e2a38b9f49b26fb60026b9301f42a0100000000000000e27224d559cb0628012bf4e5c6b1f0f2a678300a360010b9985bbf9bb4ca6d2a01000000000000005a3788f9347ad802a56974dfb4ed19b22fa91c20e5c8dcffaf4208f25471432601000000000000004616ac86f0d45899eed3f1246dc5744858a694a92b0abd9f10e52dfc9c28674601000000000000004c0b37ebd9e67b237a2b3a9545c269bc382735bc3907baf9ee468bae0d8feb2e0100000000000000c65e37495239d0eec6f8ca9000a0e8ad618fbe5c366c25825ca7fb26c7b27a7a0100000000000000a4b31af719e5d9c3b69326ef920736e8b620b329eade475ae23a33fbd445df72010000000000000044752934a6a030f482e9d8fa9e704e7e4ae9c2f8b4eb12faaa31c87c8f12c44c0100000000000000347a2ed2ed3db2d6e3c90f3988349ca56a33021537202d17412e1b1862a8c35101000000000000009281394b5d35827c826e1d7444f346c247b9a004aa0292a9ca2b16e0fb556877010000000000000080a4dd2b8d5f3d3aa4b1d6506be93c75b78f2d45a58e468d0474f20d366d0335010000000000000094be52a3a400ca82f2ad77c8c3c8d572235345249a622ff0588235981c95d7700100000000000000a2cf2f85a782a37f8635661c3ad7cd4aaffbd35c6658a408c3d31ba489d69d7101000000000000006e5b6b3ed154c062b39552c901772d5cf23eb9e4a629c7689c16f1d827ebec2e01000000000000007e88cd54f47c1f4ddd9d3a198fc689d24a523fe186d526b14e476f14ced7db3c0100000000000000d2905cebd84223d1985b48d8c9104ca9ef6195d2cb3a5a839b57f238db79ae7901000000000000006ac27e3d6423f2d9488d1bf42dd6f2d3eec911c471b51d69cef6371ff242a3750100000000000000ece4c3c5e3b6ac008899adf3458f1f59ae7db2e674bbe80412756963446913030100000000000000881a3f7b045cf93b13e79864a7617ce7f5dba554463e5b00a441d226da016c140100000000000000e63548b7be72f3559c789fc7e7e15e187b44a7217c46848f11ac822741c39c57010000000000000072c2d06efacbb9760446b7f5eeacf6dd626098dfea6ccc1c7574f03fcae4b06801000000000000007c6d7bf7c2dfb84a3f14e25e97676617269616b56c57b59d670b2337bdc5117901000000000000007eb2523d97733bc3e38e966e85e9f7cc841ecfe993d37e849becc80033b6c5740100000000000000aaf44f9d4dca217ceb1de3ee4cd8e5ea99fcadff20c2626a52796567a316ea7e0100000000000000b85b1b7b8ed510a5bc1d0979fdc04ec7b73d84c7d1d767dafb6faccc8dfd402c01000000000000007e8ebb46c80883225df2fc91fe7ede9933dcf073f3d74ea3db0525585984e74c0100000000000000068245d8a483bdbd4e9d88b49e17a651ec168f25e6851fc52c2e36a516031d5e0100000000000000283e38e57cd8630b855b32b734fc426530742419ac407dfd215b3cf46aa8fc4c0100000000000000383d2ea99f1550060500295b8dccd50a9b78e2e868c01f28adf6ef2e8007ac7c010000000000000000a5fc354a5669536eba3ab51a608e9c811214c5b7702b571535d48feeb9742301000000000000003063dc6994f705aafd8f6a9c3252629f17d2bde6ae269ce9d0fa4ab0c8a1ce3a01000000000000008859563f3d771b1ca9e5afb70b9c760158a970bf9767060c34af3eb32354ba5d010000000000000068b2ac21afb21cc0d5a063c77fea17f09885bff57d0200cb83ec85da7eeb614e0100000000000000bc3cdcf9f41b5f3f073a7f6a29931a6be12fbcdfc1dfe7145c4e0a527e9e243c0100000000000000e2448caf0194050db8eaec00df9b2729de602fb307147d00e82172141211ea180100000000000000da132f2f832c8e2a4e268b4faa923d9449c94ebe66f03fa0ac4303f2ceb1b053010000000000000070eb857f0386996d388029ac2d19c3c31ccb3766a9d118bb5dd36ab331d33b2201000000000000007c4bd3b9b81241ca657d1b461afe675272ad933187ee5855fc71475d1f01812f0100000000000000a8d082a4289fe5ccaada604e70c4b1473d6fae4374663672e61474852c1ebf2a0100000000000000007cffa67942272b1974dd65c87828e1535799e008d9e81b2818f5e308ed4f3901000000000000004a75953fedaf3e983357fdee67ca8174bae4c7c4634e616338bd075aa486564a0100000000000000cc840ae0117378161b86a52baa6decb97ccfc1101325256f178ba8f67761671d010000000000000050deb42e933545c7892d2d25496d9934505fce1d08ad50652a755869c8684309010000000000000096b9efe3e08609cd61aa98f3202618d928074308d9f189d97f7c1e52d2afca1101000000000000009623ad5bd17b75cc58839c76474636ad5675c519e15f090ec008eb626db73b1401000000000000002a2aea63ca69b3b850e738356e0b796e4c2d9bdc5cc90037b69c60d32d008b290100000000000000040000000000000002", - "babeFinalizedBlockWeight": 6358938, - "finalizedBlockHeader": "0xa224aa4fb7562ec14429a9b091720794e6be55d46287d23a7bbd2d861625bf7f7e5a12069e51d2365719f8a7bf853197de73008335e86d26db11966341b89620e9cbcaa43459c6a7cb992cc76bea87e92bb9306f1af115b795705d60e5905d2428fc41dc0c0642414245b501033d000000762f531100000000688dcd6210822aacb47c889f356bcd75cb7578b948a6aa8fdae766329a0bb63cd723a96eff5de796edc66d5ead8a9859011e39446b78ca83b867912af019bf0ec8d07f4344cefb8360c5c33135db405e15ecdd2c4e029b695f5455c063d3e50e04424545468403729a90bf9dbb451fb208c4e541d3ecea42ba5c8be96b4af70dad94dcbf7a2b480542414245010112b0fe177e4350db7bcea1535e4e00115b0f783794d5699cbcdf8369577195716323c257aa4e85c959d49d4847d15cd94775052c3a889fe88e1a671019625c89", - "grandpaAuthoritySet": "0x61098a239af78d4659897af698b5670533fa6d215864be8c41e3a2fc4309f9f83dcb0100000000000000da475f0fd96b940a7c443352aa9db63482e8a6815a2b308d755857f56b1b5f4d0100000000000000ad6fa2991d221816fdc47582c35b718e5911a1af71172bf80c4cf35bad75f9d701000000000000004d7b940616e938606ca9198e82ebab5f956b1ccb0cd21c0aaa44cddaed74fcbd0100000000000000e5914426faf919761a293345074f106393a9144420b3912e1dfe1f438975d21d0100000000000000f5017830077b5a7bcf80eed60f595ba589ef391ed7f8d9dd524b50d2c7073b680100000000000000938e7a90b6bb370ab1de25f714a6d4ec79766f0a83645df23e839b08800bc16e010000000000000020105650c1cc5e99bff444d65a0074685f93a0599dc47a3a91ca513b0c975eab01000000000000001dc815662baebd9bc39388798c1f6c8d0c9a5668ac1c83b82b6b4d8351b13bb30100000000000000203e355e692bb88164b4bdf0aab2fcb3ce5fa1113b7c55c1610f92ad13344702010000000000000066c67c2e9a4d830095e711dd29b5c36ab227fe8ab62b7a8057116c916440ae9a01000000000000004bf3a7c0a91c436a045a8d3d8be10a06f304913becc017726b34a6508a1ba20901000000000000005dffd4ad857c005b2e508e3ffa93320c437aa53206cb73be3912a5c11fa4d00f0100000000000000317b2c7d8080f298ae91af626ba952ba3633eacb62248c58398c4f2bf02d85a90100000000000000db08502f1b6f793e4c5744467fec7d07f00e216431a75ce3ab1696c7ebefd33601000000000000000c890e728c3be18e683a09d94e574397b5168fcebad0376d140e3926fc28f75e01000000000000007f4c80530943a75943dddbd81a7138a25a1ba2139161742a8fb304581153facf0100000000000000b29508b9e36692084a0658d822389f0597783786796a92e508251fdec11642e30100000000000000e8d7333e457fa740db924866152f31c3bfa6124c0367b0878a61aff2d5d6e27e010000000000000084688f3dad92f60e8dc05840bb64c522cdd7b9330bd38ce8cbc1d19947a334ea0100000000000000333ceb19084d7d83976fc84b9f8f44dd84afdac808a1675d7e8ddba62411bdf1010000000000000017d9b810a46767625cc0081b96f2eb384b45ae095c812abbe8009105456e01b901000000000000007d43a65d6e8cc1065f5402b217701cdbc9af8492e78c1b6593fe5097438cfef60100000000000000882dd3fb6cfe65709167894025b8477c721ba8acfc1c8521a6a59b30c9be0b8b010000000000000070ba6e5985990ba1b1392713236f1b50df750f10f744cc6eb95fa7c5cfbc6876010000000000000049b77ac1cee9f93e46baede67b7c3b0fa18b32ea87f78af63ad5e49d31aa9e190100000000000000d10d26b17880ea616cd28ad00392c0a97a407f69cb57f316e4f1cf69fbee1c2b0100000000000000641340aa407175876dbb2ea3464ab3dad50b4cbdf6e34fe3ee47dfacc4fca41a01000000000000001ff6c4d8b7ee9f99bab0aa9fbe88ef94bd3a0f1f08532a329403cd0dca571cf10100000000000000f93d5196a9da38f5c01f77bec5b034da553a302b2813d18c3eada66e44c61bd20100000000000000aac65dde24439d67c7bd0ad79ff575163635b113a851e620deb6e4724da0a33801000000000000008faf00d72dc043219783f02ecfb9ec870c07b608f4e18b9a9121bb4ddb1c15ee0100000000000000a58a13ce9c55ba408407767ebb3249de13c2b5509e45f6997f4c6a02ddfd79b60100000000000000205db2f34961f7c260a0be694a134a77814c7d156ef9d6b710aad3e945d5d6930100000000000000e511d441d6d3c822cb276bb2a14b1c8071d9fe1995802383fb5dcf8a92edcfc20100000000000000b989aecb127e0ec9057c64a4b396dbb23752f67a2b253f179f7a7a5d395c5035010000000000000063205a0a65f0df343e0bf1246eb965755f56d640639320f3c26f64a808e864cb01000000000000006f694fa69a896e81dbf3b1e73aa0fea9613bf53d0e4cd4242cff7029b19a1b4b0100000000000000743f8683637266104569707c0739e1118f97ab4ed7522198d3ba0343b088561d010000000000000066c42f4e0c24739412b93203d54672ea80e3534fade7f8e94cfc04a56685e4f3010000000000000042fa51a590d863c3dc1279ab2444a394f22610eab077dc724827070f586d432101000000000000001b4b5f4e0667c084b318210779b013a36f4e2a99a1fc2dce5adb7c921278332b010000000000000046f5d223f0e9a276f753221c84c5db7c7f7004e99c8e39a24454695abd64a6dd01000000000000004264c0eb3849581d4a56c340ad814dcf443f82168ef2632ab426149ac55356210100000000000000bfdb9d87bf7ddb753ab52e356a0eb4becfe10d78c4589c646a9b7444855377ae0100000000000000b0435d9d506deb5aeb02f9b4a872239134e5fbbdfa2bec55fd6041ca8294740601000000000000007818639057900f8fb58e3aa8180f6108c251884a9fcb8041ca645cf612bc1eda010000000000000097d57a25c49a171f87773fd18925fa2d8716f2c4c812949d73efdd5b8b39b2140100000000000000e38f2d737c0841fe1534864408ed3ac0a22ad9edf9cd3c832754262b80de71d201000000000000000833b68b6ddda5ff38ca3e0cfd0d93e62ab59f0b0164ef997d542e905c1459750100000000000000707b72f8c07b1387cb1d3a1b5f76322aeb4b00b0fcde9b8e189f038813708f900100000000000000a8dbfc6cb88ac105e25b9dc7f11e883631824647cd4d0c18014bb6239627b2900100000000000000764be126771bd51265d69b733c6ef30419f94451e32792117d25636b63a837740100000000000000e59a9cc37937f617aa9eb54767eed84c1a57a2b270fcee8079116201c280b4f3010000000000000019b9018e3b4951ff9905fba02d0b1e5ef1ac13e86c640c18bc897bc269bdef8e01000000000000007c52b21237579054b851650dac53fe7f79d58bda0b6cc2256d069b03ecc6af71010000000000000052a59d0bfed47022fc79a5f56d67e9f833d45a57843c986755a3c809092d16c10100000000000000757b8d55585c89c1f8a22e1b73a0b7c6e66bcb8479c4df4633cde709d1aae17b0100000000000000e0b34b26454136d3a05aace8c082d8db33d21e2b7d7f98d874044c00b87b817a0100000000000000beb52fdca5833f2981c8a869f97136722c187ff31bfb9fe44b0b888bb2d13b8d010000000000000041ef4a31eb7dc1e01f4630604e1908e644d7cdee3f66a60f98d6d59605326f8b0100000000000000890f5c296681b8c23038b3d36a491ca9e0e7e809e6455b2bcd28a13700f81abb010000000000000098df914cfd089eee8993fbfbd1522d6a31700c98bdc3a31cf69014a0ac123ecf0100000000000000a11b7f0228c477520b8dfb90ba0e9597a0a3c2bea4058e54750dd1902c61adf301000000000000009f5c82ee25dcfaf356dfb70c3ea626715a0b6b9be5a1dd1ab523ea1538095d820100000000000000acd71d4269b3ba2a9de822d494c4d841708e1519c08de41d7fc6153eaf48da810100000000000000e36b385cc17b3ef19ef7fee9e4b96742254f7d5c90583fb8a07eba2dbc55d269010000000000000039c2db4b650baf096132fa9ee4371cd1425fc0b4489a0c2f341fdf065272a2a50100000000000000264aa8e17904b7f83139c101e96770cc85795050b1d868914f98f48f8b99a84601000000000000000fe66a8b269ee8ddc94d5eb14c505b79ef9066bec944213ba9bee50e6cfdb6ec010000000000000053b64e94079673c4c58ba764a76b48851deae6f31e3186c02da0827162972a870100000000000000cfc247ddbfef4dfccdf0027f010c9a48cc6e4096621118ce732d2f0a5fe51c2a0100000000000000123dd853d7491657f3eb1cd4a6bf452d4338fe8f2c612bd37a3a6aca26fdae840100000000000000e72ce295d89273173dcc71013b4c2e5ffdf82c7c68a598f7c6e0c5915074801b01000000000000006a1c3443483a34e653ebc3d0857c00a3c8b48ff2c5e9549880ef47eacbc05c020100000000000000dac2e90de824b109043f70818d53eabe05e79d518bda504e951d7f4056b0b2720100000000000000652f455eb3d30486151c716a4031bc02bd00254ef3e8290fd29f946d958a46b60100000000000000f57e5ce97664f9811de78578d225a41103c98dae633b00505c35b7dbda6e3c510100000000000000c067e04a0b95384b057768a228e5658832235ffcc132c9cea18c3c318f3dc7940100000000000000ac475b192356c61a81077822d2fb1f921b1637a5d0a7cb5de8e5a86f7444be59010000000000000044d68d3dbde0fbc3d667b7a004882caa9413b54785d820dc3654aff3a5b8e57d01000000000000009fb61ecc2dc719b3efc8e1ac6e9c96edb4adbbfd9bab1ad2f8a013c5d8d5c48b010000000000000027050fa6e0201f6fdd621db3d763193c4819420d3faa6178ddaef0a6e8ab384a01000000000000000f4fe61fc52bafea86c568ebcf2877bd1dc29dcb8b7c9516c35d83df3a1ccf050100000000000000c464c91536c14574b04c10467b717ab4fe48bbf48ec2f72426f0dda1bc8d17bc010000000000000061daf583023bfe3731fbef76f904707f4d130891ac9793695c705aa01c35ad100100000000000000409c49abb067e141ddd0a223f41a33956bb206dbcb1ce18a9b579232c11207a701000000000000009bd622bc0948361df27b3e501ae0006d46637cfebb4fa6075288903a4b29fe4c010000000000000018a45786f742ddb5273eebb3fb640ba8d76dd7382156ec91a48efd51f02d25d9010000000000000050874d7082441db79dd5c46da58202f50ca532b37d9b4e984aa88988a57725680100000000000000f27f923258052541344014d85ef62c8dee49b2dc494bb97a47758b6c82f876520100000000000000ebadf538901e74923a6ba1ba3a512fa7fae8ff099b98696f950b318555414a4b010000000000000059312d9c6ec0591908d0b055668936d16b3baed038166e1eebe67946fbc9a26f01000000000000005025d6b18d5d25ac7dee939435363cdbc2194b99fe7eb04ab29457ef090955ad010000000000000085d30ad9407c1a1f860cdf1ceffddc7ac044fc059257559a564bdfd9da4116bb0100000000000000aa3be8112cdf851411fe9e00fe9ef0a6b58217326ba7c1ab7ed9ce8a34620b25010000000000000025a5b10abcc6e32a4a9f7daa0ad1d9a9ac72194e061bfbf3f064a8d3d8d688aa01000000000000007e56a9c63e4f30e13d692f72e3948ef7b92183dbc993629162bca33fd2dd7e190100000000000000b2cb24e6155ee2213b3f30f66c3647873e1b404b80ecde5f2c3d32cc62ac11f801000000000000005422ef5a5a3404d99ee46fdd20d8b897c5ca0c051bc6541d40364e6d65273dcd0100000000000000f982823f5e08ba1c697a854a2e0b41544c63749a892c961dd4f3cf5b1f716bd5010000000000000014632d02281aeb09347a199dfe15b824639ea4bfa426beb75a957d2c57a116f9010000000000000022e1f51c9b61fe9101c5c0b5b0629882af44f5fdac80d3709caf815c6a8392eb0100000000000000f4f88283787e1486aeb0b00026e96e1ff523b0d85b89cbcdb0ecfbf5694065e30100000000000000f7cc421e177f70f396e449d6513e5b5a145c298f8f10eaf7bb2cf441ae33333d01000000000000005d9af90688fd70834d26dbf19bc4f034e1ee3442c05c3603b798fe95a2aefb620100000000000000fcc0d954c7d519851e0094cd9a015b4789022a37091e3a04791d0731bd85f0d30100000000000000ae430a07b430336639439e1fc36725721d120480349022c93a51dc53831039a60100000000000000671af96bdaeb0dc9d8e1e61ed6de04ef1bf1bb86da5b8f392ea131bbda83bd31010000000000000076dae0ab6c60b0be802d6916f968b16b082e3d62ead357f5ac6e25ef98622d0f010000000000000021441bbdbdd47781dfda0aa52047e35417a812c5328e39f0c03cde24f6bdd1b40100000000000000988d45ccb77e1c3e754f2efe478c7a95cf80752fbf43e4fa0d24fcc84fb9038b0100000000000000a0f39ef1869bbe3c6135802f3bdce30d0ee242cda4ed4bea58d01d68765d50dd0100000000000000214ce2bd2912889eca3c69f45a3677989d66e20c3b26a52bbd378a4a71f5aa0501000000000000002c02818b75d48cf264ef2f93d91097927970b7470b8249888694be014cc78f7501000000000000001322957cc5678604cf605c1114265b7c5318eacfc82c9d455adb89d48d14887301000000000000003d28789c6d574f3aa6d14360471901c5bf8255d072c2209fa22ac773bd32e5bf01000000000000005cc74027b6551fff50ee1bf43be444e2403dae9e3e5e2e7823f5d094c7347c9e010000000000000041763df8284ae8248ee0f649982ffc7d4f613e07c7bb83cd554aca5dcf8f56250100000000000000f638a64a8e447bd0f978e6641341a067ac937682f5f6c59b8167a058cb24b33f0100000000000000cc0c6a91c7971438b621cd9a3bd37a67f52ec4093336585d1e2c73416195e28a01000000000000000854ec578fe9572be4a886f4c9297f27b8bb0b305c2ddf8d93d4088ae01cb3e30100000000000000de52bfa88c4a76bb22fbebb0f078dfcc5a327034e0044e8f8034f2a96e7adfef0100000000000000bf3fd3d4065b306638662c3e789d830a63d9b343cef5f863d346058387844b58010000000000000005197187ac7eb8d0a3cfadd32f1a7fb662e7e4a16ea718af3f1e4437b865205b0100000000000000466869d660c12a2c5710b2360dba2e0c9bfb1ffbd0c74544c0afd1ddbfe734840100000000000000030129e0d90b7476d6833ab8d5c6bc45c5d9bca192f269f4dd08942ce991533f010000000000000061c2484adf608686833667f825381742d632372b83980f6df8b07bfbc84f1bb401000000000000002ff3e4c0ea1f1af0a6ee4a8fc30a57e51c83a4a4ef8794fc5988dea435416d070100000000000000e0fc24bd5365279a1f16e02846535936fef8ba8a1d0be2ffa544b7f1773874df0100000000000000b61eecf2019c2a6f3af7c6120decdd3352233c39d002070758be081221a8a3ad0100000000000000c488ef26295140d0ffa6b0df1cff9f8d8a1dc96d86fd199a389bcb2f37a87f340100000000000000b98c920666586f392d129d480e78a965764ac82de45e691589b3aab7831a7f020100000000000000cb92ffeace78dbafe6fbf275741b4b38657fb81590712aa0bca7877931f6ad39010000000000000034a18d21097f479eecbe51b91c522a798582caafc787134bab6888854742406e01000000000000000cfb90b420e32bc012bc44a1b3d1af0531cb48e7a539daf8aab69ddf41b9414701000000000000008f36f8befe9f8dce1cc71da7a1ac8a2feac75a99989b77bedd83f082f6f584370100000000000000f7c9f4bc8669969246cfb748ac6996db6cd4c1fc634d981a1093b2c3d7a2eadf01000000000000004aba091c9780c816178de034989c81d3907dbb6eb129bfa9c93c368d4709b9b40100000000000000137d92168ec32f58dcc3be5e8c1c31f2314724f554b1c2a0b5d4334936c8efd001000000000000003137f2b06b5f16570d3d89b83ecfc6d30660b735d01e566c1bf0d676c607ed780100000000000000c92bd67ca0729206933ba7fd6ff69ccc717717fbad9fffd20d7a7476a865342a010000000000000083a8ca034fded71f681224d5f905b69084b17a51c18f0a06aeff60e868898bb20100000000000000ed75eba7df0c8cd6f19955f725f02fdfa41103cc0d2c6ced4ba8bf30369638450100000000000000e2aa0fecf481ae9c9f066202503d273b5752c6a6014e693ae091942cf07c78ef0100000000000000a9f24f0208a21e8cda4e450c72074f20d76a927bb80fa4418e480e0b59575c6b0100000000000000507b0289bfb2f55c7a62ec3c3298690909013c916dd5885b05b330fdc0caf1270100000000000000c8185ca8ae6330a1e03490e132163adf517f76402ecac6881a51c8a14ed62f940100000000000000345a59bc5e05a4d4e903c12dd113cf42903113ba28f66edd9e49e7b510880a850100000000000000c49e3cd2c701bb845963c2870dcca12ed070c3f67ffc20144327a93aa6e896ec0100000000000000ab70b42c731f5e8dd89f0f5309ac1bc4e8510e297879cb29bc4a7af3e31cf66e0100000000000000911840a1fb8a437f74125e66cbaca2734c2f487cdd3581ff34688e33d010c322010000000000000081b1fce3ee9e31723f1023eaa9f8793e8663e72c50fbb0fbcea9bc78bacc491b01000000000000002dad5b2212ee688f2eeb9ca1fb6a90574f006dc1c6680ac3a8523363a248940b01000000000000009d5d2bcd601cb9767cca3ddff78f46fd1c0e80139b44e0c9e8d200234bcf3a2601000000000000002d575e29f7c1ea23bce864823ab34822606c5f0207bd18f471c9881a8c0e9d990100000000000000b7c13f1239888cda5c8e6ac9ea10675df17633368906e66a487f91ddd3268ca60100000000000000fc8cbba0ac15a80f20a1194f5d8c575cdfe959436dba18349991b35e6e4693b001000000000000002cd51e09c3197e04155b78f3d97742ceffface390dc46f81f2613a94b2e483fd010000000000000080c72e4eb1bc984287468ece0927591c8dbaebbf27b3c4b3004df65a4eb38f0701000000000000005566b715a9b242296b7580227095f267f07c33d5a6e9a878010bb6971bf1ff1e0100000000000000b9937be3842b54d71cdc96f6739d0a7071b89934bf9644ea362f6ecb477b46c3010000000000000088abf4d92ac3efeb1ae2f8a976c97f5ed133d7007f061bb7305bccd6510cf0c60100000000000000c9e943875dc20414fc7c4f4fa6a917ad909879d0114e8aee3dfec487304b918f01000000000000002b986e6426850582cac73136dea0c43671ff94e72cd4801cb9017e058bfc6c5501000000000000002d90386f1a2db7ca6a2bcc1656b11e3d2dd15785882edfae389c2bb33052419a010000000000000075a690763ad4ca60df50ee34c09974b06f5ae71ab45d4b8cfebf4a567671252801000000000000009585241e4796ed0df7cb993443a8b8bc5b40b10fa85683473f7f80bebca167f70100000000000000bb634911f0ef84718fe06e395c08721b651e6670e8de1212958788bc273a57ce010000000000000097497e82a512ab36b55d1cacec9baa3c1f4a7f55ad30cf79a7aa4c395ab39bf80100000000000000fc0cd2fc1e96369f045265e9b6513a200d755bc17e95c74dfea83e41f994d03f010000000000000099232c185a7e70d9f9565486fe2efcecbc5ab7dde89d074bee83c85d13290c8b010000000000000017f1534cd9ce7ecc2e7af6ffe06169ed01abd23f8f7735ecbed946fa57ca711d01000000000000008cfea898913ab0d63b24f6ae7319acc70dd011d2f6c9b2d9603d7876e1c9bdca0100000000000000d1c146d2429a5a827660008721c7a880e71f44feaa3dc75524c1a9281bac48cd0100000000000000c68c7e0bafb7f0fb65a79f7517684f7693e7ae6435fb72773c3c52438c669e6f01000000000000008e8684ac92c71df4e9db44d7e7fb7111698a13abedb82bdd75d89cecac7b4e43010000000000000024c102e6ae5bf186bc1bce6f6320a0075f955743fa9936005c21f09e92abdf180100000000000000eca22d3aaa8e665c689c6020ad1e50d97fd45e69bac905687877af366d8329860100000000000000627c4a3257300150a124ad040ecde9d53d1623187aac011663edec2b489becf50100000000000000e10262e728a0faafc2edb7bf41a4a1416136fcf03fa8362b89c44e29363edb0b0100000000000000cd262ad80e453fe9be222bd49c585ce44915565b21c272b9712840ab4de009180100000000000000f301324859c6a110e51ef386369ddd36f3ba4c8a2e873523588f9fa7929edb000100000000000000f5fef7a87c9f3917fd28640907ce59ad26f33e41baa25d8ead8033ae0b944d7901000000000000005d0124063ede3e49f037df33948477235e5a58f93f8b98bf7203f25e11d4f0b40100000000000000e4dc36bfd9f67865042b7f3bfb4a07891f7b757b1a37c1ba7dc6e395f3e4657f0100000000000000326f07c0e76c6700bc37ede086feb3c530fb3219cb63144dc80073f649038ce4010000000000000085b714accac0654ba57fac59b626dd35802269d2c1d995cea7c335cb05a88f7f0100000000000000486582525cbd62272427c42388f11864f46d7f6380d5a2bc1636a7e56fa903280100000000000000b681e1c74884063fe862f9608642ff9325809d74f44e47a784914023c7f32e330100000000000000b3c7061fc4be040107019f5ac460f657ce47c3322b36471de388b68ac0370f890100000000000000fc5698c4fc5644ad90c8001af965091c77d83625f9fc0ecfd77de7372436efa20100000000000000d8b4b8159ce1a2d45a9b51a1681058a6e2b83452d348cfe20c9d0772e78c03230100000000000000eea0e8d1a0aae5e5cd38dda0e172b49f8ea02287fd7d2ca79ffcdf6e593a283101000000000000004f20eba65d1832d02ade155c2ad1c423e71602312bfec0d54528630548a2fcbf0100000000000000e18ad428af71a3668336733b81deb31ce4282a4facd87859cf5e0cd788c9365b010000000000000070c5e743f7f1fe84313b258f5b7e57cd9f7d911d845ae79758a994cd216a336d01000000000000007f6fe3b417c26965a21ccf584140ae4705672bf1a20f5164e1e39af1378cbd090100000000000000854930041eff11f5c791356aeb214b9670cc17006afdb3cb20399eb4762e25d401000000000000002b7b893e884f4d9c99a3a154b78cfa4b461422860537fa77d064dbd0de4e0a8a010000000000000068e90ce2ac6f008d2571707d4efe418bb0c842320a34851480ff64c969a5eae60100000000000000587473ac474bbd8c99d14bec88d614426944b5c84dbf2912abac7610741560ff0100000000000000437514fdd2338418a82b6f388df43bef0924f4288febdc261a5c5c746fc0092a0100000000000000bc02d2df90a08a0255ef33c7e9d47faa33c1e062ac66abddd5ee39739359051b01000000000000001935d43843c66ecf76a9f4c4229de9ed7c172f52aa53d1a279f2856a736661b801000000000000006e2897ed93a9e9d54be62772edc02fa77ef6c654026a2b86672bd6a37fd202090100000000000000d3483ed0f68d3bf6ee8ac6eaad993e14916c49aa7b4f41c7bd5e2c80895e76640100000000000000098d22c9cb46225838fff4de91e1e93e9378d6e27983d6423f77009bcc32668d01000000000000002c18327230a871f73a8badb903098f26e09f11ef46cff76f9966e4bf4a3f097f0100000000000000caed8581d88dd8e296c0905402fa273777ac1a025a8b6a23eac85a0e15acb6b601000000000000000c83976a1a4c0a466aff0538c5e8e855a661aa770f8a5e5c4270ef95b2971c7201000000000000009e50fcd82d92b7d1f0ff85ca7c606d8dcb891981a9e6cd94a51454ec67c9afc901000000000000002902e97d3e7fcbf6418a1e8307ce14b1584172e41c1036ffe198fb9b24d40f1b0100000000000000cc5dc1c5155dfcf43ee8dc4443292e966cb3226aea4fdf88e73daa259d66b67301000000000000001c6cf4a587c929a8cd1392a9df942883778e7ce30543d924a4825e51d5f5f16f01000000000000009533ff34db407309b77800fd575f044a900b368dfdc59bfbf425c3962ad88bf90100000000000000096e6c93e51502bdb63438d1cc1207bc5fa4cc1a1330b152ce46ca62f0c88ffd0100000000000000771fc7d8d2258e91fb78a575c8cb68637ac1bf4d1e82156fc498857fbb808dd50100000000000000dc6d068d3259078c814b6c385cf060efca701e19494f9a5e8171a35336c8ca8601000000000000007042cadf0e02f09abe2901fb8bb7261ecd5faadb06281e30fc8cf3446dea23770100000000000000c5902573ccaa4bdf5184ede72a82a8e9f78c56ef61557d9e6207e46b5c81f7640100000000000000a717e6564944b5d85787a33a53ccece07dcd37ce2f375b4e356c328858ac475b0100000000000000099a9eb71f9cb1b7d15eae384790b4ec35045a19acea1730ba62f3e7caf31e8b010000000000000098998700d3ecc5478143dc3a1656f21412d7dd40ff4783e01febc18058bbfb9e01000000000000003d3d8eab9a0fc910aab5791021dc654ab4718dbdb36909ff0035d18f86578b8d01000000000000009ba4496d96a729e17ad653f030de5263031bd4e4672e3910252246a1b87503cf010000000000000025df1a4bdfccb50a8d4fa1426bfd1ebbf5135aa8c82cfce590b7b43d20e50dc8010000000000000026e8f5d7d0c208d363fe621c7c3c791f139862650a23bccff0eeb8594eb0a7220100000000000000c49f437f03a10b54d5f84d340f20c22542c8e37e1285debc1581accb666045b1010000000000000051d105f9863aa78e3b2878156f1025ba9687962576aae4e620a4318bbb0ff8c90100000000000000a272db41595d659e0a5ef3be28a4e79cb2be47b528519b358891dfca76d3ab82010000000000000081bbaa3313b09e3b0ea2817c3e968a33587ec8928539c3f3a6d0e65644612f490100000000000000f436cd15d3cdd379cb58b9ba01afe1d2e0e78c9e7e5f9f7a3ac15791b21191120100000000000000dab409a6f1f41eed59217801a6cb9cc28b8edaf5277decd70e4e31e64cad158a010000000000000049bcccec5b11f8810bcc3fa902ac3b8746da0ef0fcbe5fcf87e24c7aab800e070100000000000000c06eed03d05ef5aa3e01f08c96cdd2698711a83b3875141a3cea5583f29a4cf00100000000000000c13b603b5fe774d98e59c26fac03f8096ccc42c57d0cbc6a443b4f07a3c077920100000000000000be6b59cb464fadec4e0b22a9f12857ba5cf7a14c4f9551439d36305d582dd7fb010000000000000060a2a40110222aee571a2cad652896e68f2f802a7b3780314f49ea4a3dac24d00100000000000000e4bbd27bc350b984418e952f86bf3de86141ccb4569dfa4276b5ec81f61c3f5b0100000000000000d3c0df024b1e681db80125388c3f02a03e5ffaba54e0e079977484b73c377e2f01000000000000003db5f801c2e208df9a9b55c5f2d459ee2c3dc9fb94e208695f2ee4025f4bed4f01000000000000007d5a5bf3f84db83b31722f7eda0f048030bca9445ae3299d0de2e16434d7662a010000000000000042936692ef6dfd13fc92626a2ef81140ca98a5fd0262fa0dfc09727b33db9ea20100000000000000c52e690f51696020b180cf0a5c4de40429794b618e471c63a52da80713e133f20100000000000000a63ecf0e809a864fcc5e2a49d6ef628c1182977f1f99c34297eaae1d111cf11f01000000000000000aadf1b2009026f8f5dd75d532e91dc756fd47572aa0f3c15d26790e6d6b2f270100000000000000a417840dc55a116603ccaa5c9e3f0322002d70f6995a05f2b8a833650cf5744a0100000000000000d6d7efdebd6a3b992d19bd5ee7dadd2721d53ba83542fbf08e983af78ac32be20100000000000000c3231f27de597d2702bb08b4f2d0d234aa934ecb291895229fbccffc88ab581d01000000000000006ffcb83904c280048bd2edd478b946d17e7f3910e41e7bb8c40c506fdf6f55420100000000000000ec80828f57d0bf2a8c879800f7267989d5603452b5a09e06e839312e39ebdf6f01000000000000008d27b0eddb47af044934dfb4d5aada06bed4e6bc6b2f3490312951be82e10ba90100000000000000dc680d8492ddd145cd4ca0c086f688ec6b04f566be4000b39bcf4752f66fac9a0100000000000000423c37aa1a1ae4341159972376ab5517a9dfb494695bb3744d714cddfd8a5c880100000000000000de6922a4fe488371f2053cdb3295a450f21c1ca5dabca73585ee1decde6994ae0100000000000000ef3421fbce5328394e8bbd1e24eb38126316e1b1e4652b82ac39fa4286baba25010000000000000074d7396cfb7b36c95e8cd492088d64845a0fc437ec3c6312a548aeed6cee89f001000000000000005c50ea054b16a62b419d1e0110f8fdcaf6df2567e8a10c2b754ed549349e553501000000000000000c964081c9e075fe345f868a380997f541e041332c6375253b08c08e1e46a8a30100000000000000640070e2f707abcfc96999904762ba1fbb7de89abbab97c2624e169a1159b6660100000000000000fecd674c512211f3420f3f359be5bec7dbfda261cc40109aa312e727cc0f8bb50100000000000000c0852bc9a3db8bc74cc2c027d96bdee85e0d877b6d016ec877e3cc5c2419a9ed0100000000000000bcb33dbc9c339b5235097315d17ce8ac3bfd0769b9b86fd36d46016f29e1ef3901000000000000000dfbc1b5757e1f0ba348f8af64fb631aaff86cd21fa0529e0bb1fbab2508792601000000000000000554f97272f7f7c264e33eccd4dfe5e050f2b4de5058698836b5d14d5ee50d9201000000000000009d7613590ca31e924f6c99c92e163da031dfaa113f41b16d00214aa1c37a03c70100000000000000c578a14c2bc77acb8416459b241de146375e185b60411e404f98aad12cfff1930100000000000000d791b58285e2c4f17c82a518e099812d2a3f63e1090f1cb2576e2c7695ee24970100000000000000da6f93248927fe3f0b5fff84e297645d50e50e658d17ea8ad2907379d8ffaf3d0100000000000000c8ced5ae205ec0260ea89dedbd3bba4b20785702f0e454e445fd5db8b9b3b43c0100000000000000008b211009149f1ffa3d76483e13b3f25a4336ccc9b6969699fa79fca8c5dd620100000000000000e05521afa0e7c1526a49e1ca6ec5c5386673607cf6e53d223611850f51d37fcb0100000000000000c838d59dfa1fe517a38be275f36542893be5f52e069d7cb9e153e56567b7a7fb0100000000000000c2c630c9e6e09688b62a917f56388104a2eca2edc7db96bccc1ec44b3065603a01000000000000001ee8af5e10170b1847c53ac1f30e076154701d4d4673dc6c7b35a2e30803254e010000000000000058bdef593ebc7a4c286c531b2a0233b7892048076ef8db6effd209862e004d3c0100000000000000abe438f29aa663303261fed0383052b6de112b62d250e7011126e17cf9a7a05601000000000000003b36018da370c5b52f55fe9aaac4813ebaaa1350c0b664ccacb2b1e2b36c298e01000000000000000230a9770981ba578a13711b84d43f9bf3ee86a8f10a5a39f657e38c1d983928010000000000000003dd543dddd6ad00137ddf94a218bfa19d2f08b4365d696765dc25deef76598b0100000000000000c97dc8aab9569e1f3d167d7e5156840bbd7cb062de0f32f4386c8e9eba98b3550100000000000000262be1d3847dacd9b61ee5f506ccfcfba5d0fe903301ba1f925224b579b778450100000000000000338c84f04302f60d5737266add391582ca45da82bb42ff0d503609e79193a53e01000000000000008ae534bc8decedfe323d5f659263f21032acca78ee9907cdacee923e4d85fc1a0100000000000000c3f876164ab1df816cb79ed48f45c735887ac9e37df32161fa1de7decaae813101000000000000007f9858fba4b0b019e64af3ff1d5bd0fcc14c3d817ef212fa5c5e26518255857901000000000000001b94587cfb3b7d0dccf84ffbdba98a10199e5dfb1887eb15d051444de5d8627e01000000000000001e2d41babb0539887aa8e5149dd9051afcb1bf1f273984266a18157b2d7d0d360100000000000000dbb855e477d0214c17b67a2c52c670fdbf9f05562d1af3556d787a5f223968df01000000000000006984bfeece9d2c69535823268c2f29b886c32b2b8abf3dad906a8d4637ac887c010000000000000060e8541c6a5695f236ca3c92361a09f43836d3009d4c59136d3abc1f7a960faf0100000000000000fe30d30ace5295db295a2e6592e7990ddeaa9f1a07abded61bcce0b6392626080100000000000000f7362d44fd04be0ace5b3ef8ffac7095be0bfed0a67279c533980c70dec5692201000000000000001ec0811cbe4f2ea1e5a714d3ba08c6d7fdec138bcc6406da3c6cd32f1686616d0100000000000000eba1ae53f71c6c8be1e74744c5089bd36cd937c143a82631bd9784190991e4230100000000000000fab39fdc34e122919d11bccadb34f67014ee5e6b94233484dff75168888123bf0100000000000000f331ef3d8d2087fef4a49c339a23423c60dd491b3b75a53001d20c720980edf20100000000000000dd2247e82db33a51c4f3b9ba574c7870ce40458f8e32df96a2908a053a40ea07010000000000000040493ceb508ebaba7136b8eabed4b32d34cd8e24633309ce5fc27ebc9041aef10100000000000000009fb675cb2e5a97ac643afec8e3fd302898bd56ef7ff8247d89eb07de1e32840100000000000000eab1dce14a758da18951ec1fa6d80516683cb588195b074f63bef16d1258da190100000000000000f81c4aec1ea33feff19e586bcaccfde776d18ca82c9bdb4181f077aa5f1937400100000000000000efb2050b4af1539f3d01100a9241f83df452dd165079d6f3cebc7a24c0f23c5901000000000000008c3bdf409a2d38b45b097a2746e39ca3c43a72f6eae64647f4bd2f1af39b215c0100000000000000f556aecfaea64d9e5163b677a78bb85f6daf76e2f0914c83423a8ec33d57a68501000000000000004b21d3d98c384a2650feb8b8dbef1e7d38c046850a79da36e403bb774ff834ce010000000000000040b83d469a1b9e83cc262628ec0631d5776a64ea8f363a170b1f36e96ad927cc0100000000000000efb4cc4e6455caa1b5b8035e6402ffd17739411383707bba0024315ab743d5c20100000000000000055c25dcc9cf8a08ad007ed9c8afb0ba53cebd129a20f194d272535ca9fa064901000000000000000e8c6ad06ef554dd9be6e1eee5fe80b3b6fb02244e5f6a8a4c3aaa418d9b67550100000000000000ad7a9be8cc3225a30b0574e2016caccc4f7b516beb61d795ca050697500f119e010000000000000029b48d0389042d7f6c7d651e4097d14931c5097cb514ef06fdd933713ab3b83c0100000000000000dc781a2ffc8078b51e83dbfad41462eaf4eb67a05b232b166dce3be738073c0c0100000000000000f3da271715f7af7dd1df74d695288c11313a5cf98392c201a3d702803470d79e01000000000000009c4de42425cf8adba2372f790bc6e5b19f30e6bcb46e2e3a63ca3ea310f40ca1010000000000000037c74053c35d85834fc36fc7cdabb1fd2275b6c1ee70d6b58017842229914990010000000000000037d68201a6a46be917c2cab92dd1711c3c1ab07c3e6a81ca4184d5828bf64a29010000000000000033856a1d7235b63265cfe8f644bfaa63f515d1bd243d735cd7e74e792154e1570100000000000000df96c6af6afffa531e398f332e8b25d21f6e1c94eff4dbe6bfd9673fe8508b730100000000000000b1cbae16db013e1e1527f71c3ca6d7bd706e0905e12d70eca255ee51ecb486070100000000000000682e3e4fb30d3e487ddefbe57782589df31b7a57908f4c520c79562dadf51f5d0100000000000000a365d380f814469e02a328965f1d945d86f52a5b28e8ae22f004eb78a68154ae0100000000000000556a4cb3b59792c6ee5c5522741e967ad3bb48d789e2bc7fd83a4eb2ee4521da0100000000000000f1267a3b0c7b351dbe53f1af34d0f0bc718a630ae5aefc39710b916975d0fe320100000000000000b2666450acb9f43c1884eb63028d4ffe2aca22219dfe298ca17355634f80482a01000000000000002565e04c6e0b665fac87f8238bee74837f8f621ed63409f3838d263603400a980100000000000000a7d6a955a3df68e3446b66eeb66c673067896c9bc60948d4a7c74b07b5cf95f401000000000000007ff375d95a9d3ce2761197d5f01279c86365a7d79240170a7cdc0e7bc0643fcf0100000000000000056986ef8b6f0f9e092e29540e8d220b40bed9e459e7b9d0247e0e156601e3c20100000000000000ddd1b27d97cc785aeb71857fe3845ecc67169ca67494b8218484d00027191e4a01000000000000005d50d6099c7c88f367568fa473b44785acccd030251627cb371de16e5fa704260100000000000000a8d1538dc741c35a63309af8719a772058feee457a8dad902112d9fcff7c6a7601000000000000000349eedde437fbbe2d174500d1de344a9a906946d311aeb499f46debf701586001000000000000003f308f0b26cb59069899486b41835afaed27e012c1cc9b523c97539068215a4f0100000000000000b9fab747aac5f9b8267e81f348cf4a964816dcc7774c537ff3dbb7c1a2611b7301000000000000001df7a4526aefb5459b9794bc7305a93c502aa5533e6a2656787d79073ba8fa3901000000000000005bdb1519c86e62cfe1351722cf0a626e04bc6fabc1317c69233cd3a2c8ec599c0100000000000000f7a16243e7d2a3949120910c14e84d58de999fdaa7ebbe5aa00492cc25326d1901000000000000006117f03dcb0fd42fae72895c31c7accb6c44923fc0cd7e6b2404eee863ff616d0100000000000000d3ed238f520c7ce95663aeb66448e9bd02d68779471be8b8f0fb28265b44ad510100000000000000224c188fd64e966bc352e651c8a0eec01f8d3f7a83faa2309841d5ba7a4cbb0601000000000000001ac6f83b64f7a13805e2246545fcf34f6e32d12fba593819dc60c51a4cc86dec01000000000000004d5088a1755119cae9dc31ba863406df112aa666da63c5b8a89a84b01ce224570100000000000000eadc6dceaebb15d3ba8282f64189b64dd5f5a758477f28f4bf2e3c3ee612eb130100000000000000063096655eff2f2ef2c7bd6e1c8f77198e39209452571f0134f5a1bbee952ccf010000000000000088e7e41acae1862d195554fbe61627ea1f02417c778fd3fd11aaf984dc798ea70100000000000000cab191a66c54e412fbe7fbc074ea0d916279d55d856d870d15bdf88c00538dda01000000000000000232c09dad0105c2ad8fcd81054af3c93a0fcc106d879f6d3b0c62ffe6f7c3700100000000000000a8fd6980d7ee84943008cddfdd3eecfe605971d2fc85fcea6f31eb1257cba641010000000000000073308661e240fe0a3a68570338106a9154c5139d059f2021cac2dbc1eeabd8950100000000000000f0d6d584f670650a8ef17a3f464690c6f35a180ea2a50c74849aedef590e314b01000000000000000428e3ccdba17d779ffba05c9ec7a6264187d13bf89b6009e97200474ad343970100000000000000d786b83525fbf59382ffc4ec1e8f5d80366927491ddd9045cfb186ea5e59a2c20100000000000000f86131b6b902a753e5a96b62b03bb787820553fc19a50599a83d2e744d22c84601000000000000009177cf79bf8b3b38cdd5777f9b8ce959cce13eb020f0eedc6815e4867b7a96690100000000000000311348bd0fc78048d3ae9d21584086744ae90ab51a6bf8469fbbbf83631fe5d50100000000000000c34f62968a87b2e4a9340a75004029dff5777a020f60fb287f08038491881f22010000000000000031e8d3d4ce51558fe1c878009d4afe1b105512b17ce713ca5c812237ab5586cd0100000000000000fdec4598b8fc65857fc413ae2cdc571a121c45fc9e66347d69fef0f3d74f11cd01000000000000009d90d7dde42d13fe6f30cba1a8b2406b676f859959e3434e91cc05b1071c7b7d0100000000000000607737116e62ba11852c68515933afb8165f3174d594eef6d01dd7eaddb60ec301000000000000007d4537d34d3e6ad9125e8ef6263c4acbdd00fbd7bcb7fffee792215e061d4ab40100000000000000fdb1079f081a79fbbec55b7892414a68d47b6bf34027bb90ab25fc4e52fee6330100000000000000b9e473b5e9742efe0c4d6b5b330dce1f6007bae94b81c3518d287fcc18f606db01000000000000004523f5beabcc4bc11ed111a6f4005a976c08aed50283a36c33b7a4af6f6c2b1c0100000000000000f1df6c16f82f1eb89306bcbbee13ecc7f150e6ac8e3a2e968faced83b2ba220d0100000000000000631a96cfb637e365ee99838abc05bbede56e046390ef64a59ee9953b1092a361010000000000000065dc4c53802befd2acfc3d6d3f66eeb84947e5c15fc7a2165a375352a4faace101000000000000007c39d28f80a16bf0cedb70e36c5ac9063dd9b513c5fbbe2c2222389f428921340100000000000000412b48c01d22a65e62d47d734768219bbd9452b8a4ea250dad445e166e7958c60100000000000000a128a73c5eaa1803618a75bc368c38e4c5cd40999cb72d615b8af1d30cb8cf1d0100000000000000042b1ed40a54f54179ae27d9e3b50e2c2596a566e4e28d2240539049f1650c0301000000000000002002a9510b4d1ae49e9731ba677d7cc20c6adc0e831c3e0cde743c303df56b9d01000000000000004190cb0b8da167787ba76ffd647a174ed34953b8c189753a421060ba353c3d8e010000000000000020869a63e7a343094ad0b4ffaa3d83344ffec8c7fb9b177008f78d17eda7dcbf0100000000000000e4bf05e0d4ff01055bff78dc8007eac194eab8bf824dea7764ccb4ebf0a44aad0100000000000000d64083c00178b8dd224afade9792fed8076031bdfe9efc5b8128e6372a9261e2010000000000000057aa94525a8fab40c1787fecd6456fe1c22e253cfe5e9c8022641231c22a73a801000000000000004f1d246830fa428fff98c64f5c1db6576dcf04acc6d9fbb8b4b01549ea04335d010000000000000013ba3ffde8d795d5f077e955b912d4836bb886da51368d8a20561acabf3e8c4c0100000000000000e8e5e317b488d886a5ab7367a16882fa66e6ba917f27a11c14bf9347202631f60100000000000000cfa8759048a11ac265141c633b1e70bb3000d2b4609ba9293aff91bc56db5d7301000000000000001c6842f07fb07b318a8d00ce6258844374f8e894853ae5fd4a85c867d3fc32e30100000000000000084d59a298bbe9054acc68506c802a7363c1ef0cc568575991e749ab264bccd10100000000000000adf6f2ff1993d2a5bf572e60e5d99adfc97a0b379d74e7d7c22ece3fc12897bd0100000000000000663c8fe80bae69d087a20412e2bfa3b8c786174d39ef38ff0d53f8b42ba5938401000000000000003221b3b7aee3f4d60a87f5d1a572c40e7116f85dce5d55cf097db19b229471760100000000000000880891df65393d0546f23fe37b28e51783bf50ad5f33572c3b9973af5ac47aad0100000000000000edcb49c54783d276bf63f9d99bc74b76b30c95840c637174df7a7521a1b8c1b3010000000000000090a78b942f7b654b89b4e7375f27ed646745347144a24332b3abe1f56ddb798f0100000000000000b8f75beca31115155d4243e9756d064c2e99765ef0c3bb5536b885c7060e6acb010000000000000047de8700799fbcdf81030425020bd3bb40b9432140d112afc6b7e31e89c4ad630100000000000000f5f0a686e37a7fd0d95ddc93003ef82fe9503d484594f6ecc00f7d430b15c2bb010000000000000005c80b2ef3c20d81e5019d37ee5210d7fc491cf38e66d81ef6b635d54b1564390100000000000000cc72facbb31b49a959b8282b4911f4add24f8983b8d6fad7722cb26fe386b4660100000000000000e1bb230162599a5243516b6fd340f5cb5dde7cf8b6d725e6a095b733c480ee470100000000000000c2eb94269c5e5d2ab9a1a300387358679640763b053aca99ba5c1c9083ee717f0100000000000000278c4cc460d1915cd41e696df30c055691c4d889ff847328ac6b654666054f700100000000000000af4cde44d29d5ef316f1e9974f411e681cd83a29019453851e5426cc7df17a5601000000000000003c514ae67aed49aaecedb9b00a869eb46166cbc0b569e74880fa1a7d17ddabef0100000000000000d9cc924ae241639ecf32213a2de90ee7642218ff5ae67f338989a6ef5f5a39a801000000000000007d31a208e4d6ea46ff07bf9639343dc17128d319537e55c17c2e6bfaf5a0d1fb010000000000000038d116b09cbce6a502247f8437d4caae818fe4f33619b4428aca014955e797960100000000000000fd511b296963bc98ee75be2e1c0d2d8fb7e4d7cd39c6fed96e1824c4f189312f0100000000000000020dc9c6782e5044491776abdb91e92774ea308949f8472a5cefa914f7075704010000000000000061efb6a3d90bf09d04d4f4a2d3f3a0d4dc571411b423dfd3304e6b684ae954da0100000000000000dc0f2a417514def6493aa87d47160a9953b2ea73e5176efcaadfbc047e2b526801000000000000000c749f21f4d1bd3ca524d8953970b7b5d28838bdb9e07e73d4e2c4db7a2826e90100000000000000f69e89f4ecd9a12805b071be6f1c70a0673e1e4b9d7cfeeb22ce0122df06c1e10100000000000000294b76b3eb677dec96155528c96425b8138fb74363587f2727b41051a3ddc4d30100000000000000ae3e31a39894f1b87cde2ac7acf21efa92a33f1326138d7459315148145d604001000000000000006536afc2aa2ffb34c76724d6d3a16f84b1298cafa83bfbd20af86fef2531aed90100000000000000f328587b55a9a7afb7b49656c7164b25605755fce68c999bea2b07f983c68a14010000000000000042f47dad5949be7b7b8f81faaec17b1b53465b01b9f8f81e6a45f2fc74e12daf01000000000000000f56cd618bde95b9f1dca0abd7398e1e0ff6ecf900370efbd4702da922d6e853010000000000000083759db01768492cf87850ba415799560dc8d886448becdb373d4d7c61a56cac01000000000000004953f099b73bfe0851e1f07b76700f5d865414a8345e9d4dd00cc17c8f67d07b0100000000000000a3fb3e4f4517de9413a45d307fcbd978e4e8f43c5a4074fa4ec79899f7f9b4060100000000000000c0a1748bc7046643ba1f0ffc600e2131d960b18344b46f81b46c6ff7a7c36f2201000000000000002968531ad8bdf774cd5115dca724f910aae6df7f60126e4314b018bc0754aa9401000000000000007c51253d18a11c9704c17743a34dbb570307334c26569c17aad81c62ef159aa8010000000000000098a6defcfeb3dfca36ec46eb373734627a2c395cdd2d886046a11788ed6467af010000000000000031a88eded7f799980a2a9d40ce88fd39acbfd70a141d8d90e457471f03c385a5010000000000000027112a6ffd67e62eb31564e58ff5e5f4385463826c782c4888c378d6f41a3c2001000000000000001701236903f6e923b35630f99bc6334e29df55d03a136d8acd93bac92f32045b010000000000000002aa188fa4ea3c76ba342f6fe98744b8c601f29dd5c1002d0e85725c42956d7f010000000000000072f284dea2d25cdd32cd0d0c65d53f6e4a3e6652d331485925274561f9ee84cd0100000000000000b5badfa83dede7b19aa3b1d10c6d0bd5f4adcb357862aec339e9d49b23d7bd2e0100000000000000bbb2ed16dd638030a2f45aeb8c07b4d39dab37ed5f7ef84c4d8a9b0c9dc2a31f01000000000000000db82f27a36d3831f8be0be3c74b66297ddf24ad94fb759f6d6d9130dfe0705c01000000000000009be15c71823bad5cd602563303df98212d22a41e7e82611e7357764613bdc3930100000000000000496826b538d97906e14d417b48598d7d591a483ab5f4c6786cd0b96239c2f4cf010000000000000021235f4afb5b0d8ea5123cd4be4205ed27dc25e5e08813563e47f363590928400100000000000000bdc12217155b78441b0dceacf3add6062fa02aff93768885d32588ab8383f9d0010000000000000039850fcc94620eefb99b39152aed42c22c0ee3cc4b7208bd033c345d5e83515b01000000000000002da3ad687102fc74d7935f9bffc193819e7aba07f478f538bcb86b5a74e92298010000000000000053bc3e56dee8b5019a256d11a1025d0adbdfbc6b62e8043c93705df10584a90d01000000000000008cd3af973054f5a8ec2ffc98a915a477983ebd7d8da0321ec84d616407751ba90100000000000000c7009be830fe78c42f12f0753923131d16300bac230650001636b6a546cf0aa30100000000000000b436f93027ab62b8fee2bbccccf857b0b504a5b6fb68229b88b35c7699e380ab0100000000000000ee948732b04c39ccedfe707fefbcd6858dbc22a5319c757f79bd767e02a1eef40100000000000000936eba1e556033263692e66d9759b138c5e3cf50d988d528eb1e9ade33f7beb30100000000000000f16dab565a8a6ccdd4aa01f20790a11b03c7c719f8d5c5e6b153a4eadbb497720100000000000000469939d617b037a9a3951e2510654659baafc8d6af199edd413b9d82e3d60fe70100000000000000ff358eec1409ac5ce15b1f86ca5a5b2044c63a997159a1a75c49af1765603bec01000000000000002696986d27d7ae2048923a52a0b60f8183ca7a85434782939445edcbd2ac03e50100000000000000c1221da3e4444263db6ce02899492c53de63e139c4080e9a47ce57af55325bcb0100000000000000e83c3498b2e4498f7bf74759ea3a45deddd2d2f524945e4fc28d4744bc0a6a4101000000000000008b7c32d4cc3a835dbf0b8ea938e95cbf77a30330bf96038d91623839d883314001000000000000005f606978e763d3ecdfe46492989683579541f015847528e8e64863d04a1aeb830100000000000000848a86e52a20a8e5859d425b71f115942fdc5888422faa7262a9a57afe76a314010000000000000088010d8af98ce2ed56505650870ad7e28966f72d72627df677fb90153e622cb601000000000000009050aab3d1deb0f610b3814843ec7623a7c33e399cca6b21cb56e578fad2675c01000000000000005855cbcf47045d84b2f7496bf17066b42136a08891116a5964238306fbb033d501000000000000008341dff7087b9e05bbb905ea59c62e8574bb7d58e30854428c12e63eb8f4c0c1010000000000000005d8d6df257d4d2bd0d052de5e34531deb8cc3a51d05835f3009a19668d72c1e0100000000000000836bf2730e487d98fff72881e14380017d892bd8ec987e084b992b399cf699fe0100000000000000f979687be8178bbd7d913eb671242018720170e774b7d5efefb9eb0a059a9731010000000000000035c0a52d79e5c4dee2da592047bafcd099be2bfb3cfeddd9525c9ab2762d349f01000000000000005db4206baa8706a1b1de0ac7edacbd2a2c93452481808b8fe6c582265b57a60d010000000000000058200bf3469ff32dfa47842359f4158157073ba54db52f48e79e7a452a8828190100000000000000f4d2f2eefe0c1c49856517be1829a9c54ec4de2dad8825dc5e366446729c160901000000000000001262625cc59c0e4b7548904c31a02231a601305881a231d4dea45eec6cbbbdcc01000000000000001e2c52e79d3439f21dcd0ef91525d90278088d5e37e338a17506c5452360befc0100000000000000f9689a7ea3f40ee757bd99cf1ba166ec2211f1999dd4fec28c44a6f69e253b6c0100000000000000c3576342cbf99792896ee5329b04ff2eee2fc2bb6d53c5c03d52c8957ee793fb01000000000000006ad4bc289673029ab44f3045eb6fdd3589d05e0e5fd76ee017f650a662f898fb0100000000000000b254966470ce7d8f603efbbf53a66a19ca235134bc0f4980de8133941dabe2470100000000000000fdae0d11349b97473180ddbe520d515a852d9fdc21b48bc263b81b8bab77f2cf010000000000000011ef43b1d88a049a9696f35bce1dcfc4dfeabc569bb417863428ea5be1b65c670100000000000000f56a5619fd054be5a1da469e0d7ca1085bbb21add4b8a851043205e63bf4dbee0100000000000000a82f563264d1892dd46873205d03c098d8b03f53e21c797839737e4e5f66a87e01000000000000009faf213d2acfef597da0b14df5852963a669da96071d518a2c18cd31adfc0b0a0100000000000000be7246f44426f011cd50fa6dd81aa09cb8ee32a3e867de021f7e432db0c7b0b801000000000000009a2c8baa541c800a55bfad8af1a3bd4b9e4f63fc8834b48db1c6b95f849aa5a701000000000000008510e46ac2ec2305c93ed29dff9d0ff30c098fd61e55cd2d891130301eeb3a6c010000000000000058a00cd4a54847fa7e0f328e7eeb5a7e05801809b9cbf131d92c32f74bfdc189010000000000000009325e35a02134b10c6dc08cde151b91acab50c7be2d19cac72f6b40089288530100000000000000a29c2c891e620ccb15c1f8459b93476359e7678defc7176e74a7467b8d46a1340100000000000000abd8899ed27045bcfcd73e50e5a69b044dc1fd1d366391530570760dabbe4bbf01000000000000003a3609ac590175c65fac57df5db44b5319e6fff43cbece21944019694f35d65c01000000000000004334837a0be5deaa4a73627647c941f7c15bf93cb32bd23da43e11581e46395c010000000000000043601ae31cf5b03cb49395dda13809f7398d8670ee4d2172b14a1ab05986ac3b0100000000000000aa9e9ef920474fb414bc537c00e999be25e4f421029a89f65ae544233b1ced550100000000000000290321d793b7dcb12ad148c2438bb60821bd938b7e9164a0c3d0fc82987f8b63010000000000000061ba863f7691040f6ef02dafd565afa0981db476d68600d7d72f1d6f5ccf50f4010000000000000030252d94a73496848040ab9d9725fc9a21f0a858e531cd0fad5456265387d4ab01000000000000008782fdb1e8d957a6cb9ba1ce9c2a71b355b32c76969176737c44925f1db5a01a01000000000000005b2aba1426ebffdab398a30333c9f424a5994027111d6812825483aabf611edd0100000000000000551b0b3e5bcb3b82f01e4ca44c853f2fc2d3635463f98637f32fa9d16a8322290100000000000000390588df1c30c4856ce060537a6b6dff06db020283ff746b90aaf3056e3c63f601000000000000000508e81a6bc4971d3a3d986a1eb4cd13e7ceea563a46b70e1a0d47a212be51c801000000000000007d91c52eac2b44faa3e19ce6f2dc06b349df943b778a727fc5875987a59c36a20100000000000000dc7d03543b83c5a5bb5e25d6528f2dc74b30c3487c87395c95fad4252098dfa20100000000000000f6f23ae9bb4c269a5959d51f9173270ddefcc354b63de77b672bce58cabe60c801000000000000007122ed2348087bbe410cccdea8abd5fa0802bb8292bfecac94187a6ccd0a96f5010000000000000049d34c7034103f19bbeb2c8029d96c82c753b088fccef038e7c5b009eb46d6e70100000000000000e6afad45b2b9d6c3c85bf6281ba55a9427ce61024093e5cf7d79ac1e09e247d301000000000000004d772fa77ce73a70af294a88f933c69737a2fa1754fbc6cafeaa022bdf993bf101000000000000002ed8d702722db29c90d4be3a49ba400f0a65b0d3cba7d1ebfe23035ae39d5fe7010000000000000062a91ffda8611ffce3edeb628ea6d3b8b12e5b2448beda6da8334e77a9ecbdd70100000000000000d1fc54186454ddced4263b0e8c76fa3bb492363246b9abbcf589307fa81d3e0701000000000000005c0a52d8ddf00c85e76463aef37d899b64b2d03515d0b122eec992ce94849a330100000000000000886892eae828c4a946afc57081a37b3e00d8273adc769accca96fb936e7ba5190100000000000000a0a6e658dde71078f3c318f17156ab31f9b26a420c71587403b7bcb7a32d5aab01000000000000001e185ac812f0561256f65d8e19ff564dcec00437dea51187fd4295fb4bb2c7820100000000000000f9909408f9201a13dc8b04796d715d89beaab7dca5b7f3aad244165bbdb1a6810100000000000000b059f42934ee377fa5377a5886e2846c28556fb85e6488b8bf21c09c86b80b190100000000000000d680f1743a67c8eb21a967d2bbc7daf20b13c1432674d02af695779af8e363890100000000000000fc22e7fd064b3dfc5d2cf5ee71fd7f4fae7d0e9274f992d939bb8381c1d1cba30100000000000000739571b412bc39a7e64c7cb0be6306df344ccd6b8dcfc1e23668cff89191539d01000000000000009a877de36e4efbb024fb1dce6ba09b9d846ca09afa76eb708be2a8098a9a67cb01000000000000003751874277b67454eb785c4a26a55daa976f0bddb46c328bbda78e74b85cbb080100000000000000f2e75ee2303b2cf903b882c9888cc1c51f978abd58ba88354dcdad717f4b8a590100000000000000f9596b41435b16c7dba7e9281aea3ec21ec934f3a645735405c78a4fa6a75c660100000000000000ad9fe11973ffaa47d69271ed14df5797011e28bdbf3316abfb551b211e67bd9d010000000000000099db3968f4b18d8976ae0071a375c5aa49c415a8d988cc18af8dcace497b96250100000000000000da18cc3989891eb6dd12432e457b63e9e62ad0aca0a6c67d80531a5fdbf6b6600100000000000000bada1cdcbf66aaa3ed7a0169e69ab07cf482c5cc20f61d7a899bdc3276c52fd001000000000000000808a4f290ef947fe5bc6b1764521870fd0c6a31228fab9c42d1865f2f51fe3401000000000000008342b8dc9a011951873596943648097e77db90743a704f79dd23ec0b0186e0cf01000000000000004ecbba9ff17b4f8b903e466f260d3be24d782f44ea36905d686739f1209c95940100000000000000b426ef68c50245a003dd068c5c086fc9012c08a7f9ec53fbf7df4318261c8c2c0100000000000000611e3ad5ce0359e3fcf63d66678f4a2b040955bf8607c9ab89b7e988bdd9771a01000000000000005090e10bd7c909ec79b8676e4f07379e458fb483c7d7649b266d728d4ab23edc01000000000000008dfdd534e89277cb66693da362a88d9b375fdc387901e20c84ba8adedd7ec1ad01000000000000006f1f0a1d7de2fbd1acfe8a6720dfdd6702b9d05d381a1717a99498ce61786f6e01000000000000009e7b1ae0e4a533cd45ea38bbfe1d027f15e0b1ba47c0cb16487803c838d8b2e001000000000000002c06fc900d4f2c0da65bb9360d54d82fd7c938955ae255cce2ac44595f6c123a0100000000000000a00c14557fb624516cee4e5e848bb70013775cfe0e1e88b760ba6942e15d9177010000000000000063772ba4334a8c42db129d3a9aae0d265e70914755c891765bac812c7b6e06ba010000000000000085fd82ea9d4e761b989ddf1573f86874a58a90289061d27b9b6ea0a549ac3e32010000000000000096847258e5fdd261a8df1b3958366b29d28363aeb96a71c2b705e4c8864b97e101000000000000009f3a7fffae543ffa732238c0658c7c1d32d45aae071582255b4b7c7d4c18836601000000000000001c75903a1322a4100085e96d389b7ef1f2ed20d4db433f0fcbba51bbf2bdbf520100000000000000979938920acde6cee286af73dc7f44c8127d5411725029c8ecf1efda458e5e1d01000000000000007de760e9ce4ec3937601ab079a19c4745a5e53a9243faacc04587bbb12f13f800100000000000000dbe4fe120fee0eefae57f3c3494b4afbb1622655110f695a1bab5d43d5685bca01000000000000003a2192275f62ff7109eb9f62474516d3016f09902cb6a4dadcec85db9669e53f01000000000000009e10a66232763f89100682b5b7737b64b127ccd49ba5454d321dc7256b8ca8910100000000000000b5981e10341b07493c5100e373e68c259d375199e1f8487fc9c6620caee9c7520100000000000000716a181407939b3ea68289e09265d3b9d8a8f21ba7d9f50d8ef8a86fa3c0fd030100000000000000842aa45a988ef56a417ef1390e74e62a1f12fdc0678759d408090144958fc8140100000000000000b1521b686507f39972179a0dc83ab481a9d1332f07fdfc951d68d66f4b05d3d801000000000000008e3d1c8c0261e193e87403c8959919ef035ba39175d3ba22f31190303601412e0100000000000000e2cbfcc26562b49e656aed7d837a26fe0f9802db088b10330227b6147e150012010000000000000094416582fe359e0a310da59bf93df8ff9665b89071d4977a9a9f3390b75c0c4501000000000000003c718ab91d9b10efbe954734920955972fcb714627739f8cd97280ea67aa5a020100000000000000ac5230e4338aa51c44ab6a0fb903e6fd914fd029dab8f7ca447be54ceba749340100000000000000c65aca4d1322201d981c77253bf88b04fdd3a94c326e17a54745e52f76c5b55e01000000000000008ca3c996448b7ac4e40eace3ba1ec807dacfd1eb5c02cf145d089171bbd0b8020100000000000000b229746f090b7ecf681f4606c63e4f0bbb2b22b971ef320d73b1ec4a295a07ae01000000000000004e1036b96948d9ea3b9677c08f64685605eca164485f49ba9f00ef7c0dec756301000000000000009b447e45ab2d6955d34870b22305e4d138807e7a7a442505180cacf92028c4ef01000000000000007081ac1696fc42897f8c8e236e3b04c84f3ee376baf8673ecd8a41cdb564bbe201000000000000006a5410b070b6abc90eab20d2de83b712d3b414da59628b34315af7e55473a1760100000000000000fdb6ae85ec3ae50541230a9294ca4efcbbb3ae21063cc161cc6ab05a03f273da01000000000000003a4bfd825ccd308def4a61bac80c579db42b02ea5f1a0768656a326e83a0dd880100000000000000ac2fbfa72c143162a81c57a10fbb8a14e5f65fa1b893eec3f93beff03d298b5a0100000000000000aad8568b2d4a879ebb4ecae8cf51e728669fb708f990bdcad6e236c4fc6c88c801000000000000007fab4769c41af85b9de8e784d3b1cda093fc0a8dffcdff21e914c62f131c775801000000000000008fd337b4f40c798b1a3e1512d8b4416771a6ec0ad4fe6d26fb6a64af2ca987210100000000000000b51d8d68e1fef149f8f0dcc3943d457df430b07770ea2b0b214555a0737aadb50100000000000000d2f1b3b5f7eb1b0d8328911d9ec920327d7a30729e80c1238f86dfe27c4fa3470100000000000000d6661fc765c1fe9adc7f29051c2e785302412466906db28357bff178911d621b0100000000000000bb4047e2f0f2f91fab1130a9425f49b91377fb6e67eed4f47defabcb7a4c3f790100000000000000adfa74f75badcbafc1ac4efbd16d32f2a54e996b2b472bd2084a887c23badf360100000000000000c5541dd9423ab57ac8dd72e5305787d0cf05dae4f65086bf3cce800ef1d334fe0100000000000000841584e602ab975c936fe7c2025fcea2b5a0061e839b1ad96528942b33d0974b01000000000000009789e256738d66b0c04946050e8d0d88318edd7dbdc327f093d52b73457309860100000000000000d156efd80e52b00a319c582d934a833ee3340fb216da48a614edce8bcc18010e0100000000000000e4bfe8ca143a424552b98bd3d02f11869e68404c5ef470dd7b739ca68d645527010000000000000079d830d9b0d1aa1f3f36ae405501212e445d0da81b3ce596afec5f80eb20ef4a010000000000000078db61210961a080e16ce11051a487b335230283b09297de02847c8712d502ef0100000000000000b0ee5e65564e81bed3c627aa16ac9a7ecbefe70053c1c79df2e32e0b571225940100000000000000776ca567329470ab76e77e92c932b832b453cb71ffd68ea86ef82817ddf7366b0100000000000000a72c71188cd2b5843613f6221adbf47556693368f0e27bcbaf15fd3d0ab3925a010000000000000018e341b52ad3335e9a40cd1c93e7ff3c711b7858cb55cba94cb35c36e9ecaee90100000000000000232b04be856e808b2616319b11eec858097a8afee5c18f0af0e1c33f1c6973ad01000000000000001c7f2d9bd18be698e965e046d582013b73031a21e8b7d188391c05cf2707ec6f0100000000000000daffd43670286cbddbf38953e6e33ba093f8c719e9fbf0a4aa76ff3ee97df30701000000000000002b7ca5d05a484f20126f05c1886635f1e4169a7b404f4b506c374068dbd3baad010000000000000007677ffe4cb9a33b10cd37694f0f6c86434c2e3793f1429cb197a94d75e1110501000000000000002dab96f72ae82997620d72257fe40c58fca66d4bfb415d6b173a36fcec9dfb6a010000000000000036b53f3f35d5301a23b52d5091a4b7fc866de1566d179858ba00f57e1783e74101000000000000003e8b4d65acf5a80cf03df3c089985dd8b95213ab54e7a6b1bedd92eb2a32a71c01000000000000003cf63ce5caf114ee092493518534fc7869629d5bfacd32290ae07b469b92da450100000000000000b48574503e3b787008ed9b1fc9eb4b0275fadecfdb352f166973da58d1a43b650100000000000000eb5437d31e8aa20ba124005a12c042d49b67ebd62e1aa72aa92584675d134bbd0100000000000000b07738d501326a26acec24adfc2284f2f617e4042c738f7c0f15dc1c900665280100000000000000a85caac9e057114414dd9d3f159f4ee6b876020a50f81e85299bc97fb216aa3801000000000000008c680b57fa2e52590f77693b0b653d3767753d19fdaff957a2bac3274d54a98b01000000000000002929dacc53614cea1848e7ba20fdeed7cb0bd81571aa72dfb63dfc84d3965d2b01000000000000007721a15e548a6313461c4fed9f39112ad43b09e9873279f8cd28702ead9a87620100000000000000268648ad5fea5a0afc7ee787680093eb8b05675cf3c56637cbbd86bca2288f8b0100000000000000c2b23d1562573ecf2f619459f1072a7b835dab5a122bb7474313fe7cafde772601000000000000007e99ba1ceb811d46326ad3782e88056be27a453c1dc3c4e8b7ef6494c327a9b60100000000000000e4c473b0f002fb85e5f5123b448c8402b44d7f1dd380e991fd895f9bcbe4cc87010000000000000056b2cda89223ce64d8abd543ad66552bb84be82fb45e0ad6333e714eb20e551801000000000000001f0a00000000000000019f968401007d2800000000000000002904050001000000000000002a0d050002000000000000002f16050003000000000000008e1f05000400000000000000ee28050005000000000000004d32050006000000000000009d3b05000700000000000000fd44050008000000000000005c4e05000900000000000000b75705000a00000000000000176105000b00000000000000766a05000c00000000000000d67305000d00000000000000357d05000e00000000000000958605000f00000000000000f58f0500100000000000000055990500110000000000000095a205001200000000000000d8ab050013000000000000000db50500140000000000000024da05001500000000000000aaec05001600000000000000f4f5050017000000000000003bff050018000000000000008b0806001900000000000000992406001a00000000000000f92d06001b000000000000000d4a06001c00000000000000685306001d00000000000000b65c06001e00000000000000f76506001f00000000000000308b060020000000000000007b940600210000000000000025a70600220000000000000033c3060023000000000000007fcc06002400000000000000c3d50600250000000000000011df060026000000000000005ae806002700000000000000a0f106002800000000000000410407002900000000000000880d07002a000000000000001b3c07002b00000000000000764507002c00000000000000357407002d00000000000000239907002e000000000000006fa207002f00000000000000c3ab070030000000000000006abe07003100000000000000bdc7070032000000000000000fd107003300000000000000b2e3070034000000000000000aed07003500000000000000971b080036000000000000009d24080037000000000000009c4008003800000000000000255308003900000000000000735c08003a000000000000000c6f08003b00000000000000048b08003c00000000000000589408003d00000000000000d3c208003e00000000000000e4de08003f000000000000003fe808004000000000000000f7fa08004100000000000000aa0d09004200000000000000153309004300000000000000fc6a090044000000000000003e74090045000000000000009a7d0900460000000000000000a30900470000000000000014db0900480000000000000020130a004900000000000000791c0a004a00000000000000364b0a004b0000000000000043830a004c00000000000000e5950a004d0000000000000045bb0a004e0000000000000059f30a004f000000000000000e060b005000000000000000812b0b005100000000000000dc340b005200000000000000ef500b005300000000000000a3630b005400000000000000b69b0b005500000000000000c7d30b005600000000000000dd0b0c005700000000000000f3430c005800000000000000087c0c00590000000000000052b30c005a0000000000000060eb0c005b00000000000000baf40c005c0000000000000072230d005d00000000000000805b0d005e000000000000007e930d005f000000000000007ccb0d00600000000000000076030e006100000000000000793b0e00620000000000000088730e00630000000000000092ab0e00640000000000000083e30e006500000000000000731b0f00660000000000000079530f006700000000000000748b0f0068000000000000001fc30f006900000000000000d0fa0f006a00000000000000633210006b00000000000000826a10006c0000000000000028a210006d0000000000000005b310006e0000000000000055d810006f000000000000004810110070000000000000006548110071000000000000008e8011007200000000000000bfb811007300000000000000bbf011007400000000000000e828120075000000000000001561120076000000000000003b991200770000000000000058d112007800000000000000770913007900000000000000944113007a00000000000000c07913007b00000000000000e7b113007c000000000000000cea13007d0000000000000067f313007e00000000000000d31814007f000000000000002e22140080000000000000008c2b14008100000000000000545a14008200000000000000ad63140083000000000000000e89140084000000000000006892140085000000000000008dca14008600000000000000b00215008700000000000000d03a15008800000000000000f3721500890000000000000015ab15008a000000000000003be315008b000000000000005d1b16008c00000000000000855316008d00000000000000b18b16008e00000000000000d3c316008f00000000000000e9fb16009000000000000000073417009100000000000000bf4617009200000000000000286c1700930000000000000029a41700940000000000000041dc17009500000000000000591418009600000000000000bf3918009700000000000000704c18009800000000000000948418009900000000000000f28d18009a00000000000000bcbc18009b00000000000000e4f418009c000000000000000b2d19009d000000000000002c6519009e00000000000000896e19009f00000000000000519d1900a00000000000000075d51900a100000000000000920d1a00a200000000000000ec161a00a300000000000000b6451a00a400000000000000887d1a00a50000000000000077b51a00a600000000000000cdbe1a00a70000000000000070ed1a00a80000000000000083091b00a9000000000000004e251b00aa00000000000000fe371b00ab00000000000000065d1b00ac000000000000005f661b00ad00000000000000bd6f1b00ae00000000000000de941b00af00000000000000fecc1b00b0000000000000001f041c00b1000000000000000c321c00b2000000000000002f3b1c00b3000000000000002e721c00b4000000000000000ca01c00b50000000000000044a91c00b60000000000000022e11c00b70000000000000044191d00b8000000000000000c481d00b9000000000000006b511d00ba000000000000008b891d00bb00000000000000a5c11d00bc0000000000000053f91d00bd00000000000000ff301e00be00000000000000054d1e00bf0000000000000002691e00c000000000000000d1a01e00c100000000000000c5d81e00c200000000000000cf101f00c30000000000000083481f00c400000000000000af801f00c500000000000000d0b81f00c600000000000000f0f01f00c7000000000000001b292000c80000000000000039612000c90000000000000054992000ca000000000000004fd12000cb000000000000004c092100cc00000000000000031c2100cd000000000000006d412100ce00000000000000cc4a2100cf0000000000000098792100d000000000000000c4b12100d100000000000000eee92100d20000000000000011222200d300000000000000325a2200d40000000000000055922200d50000000000000075ca2200d6000000000000008f022300d700000000000000b13a2300d800000000000000cd722300d90000000000000078852300da00000000000000ce8e2300db00000000000000bdaa2300dc00000000000000abe22300dd0000000000000012112400de00000000000000501a2400df0000000000000045512400e000000000000000a1882400e1000000000000005fc02400e20000000000000013f82400e30000000000000007302500e40000000000000013682500e500000000000000c37a2500e600000000000000a8962500e700000000000000fb9f2500e80000000000000000d82500e90000000000000019102600ea000000000000002b482600eb0000000000000028802600ec000000000000002eb82600ed0000000000000044d42600ee0000000000000058f02600ef00000000000000b3f92600f00000000000000065282700f10000000000000057602700f20000000000000064982700f3000000000000008dd02700f400000000000000a7ec2700f500000000000000b9082800f600000000000000e0402800f700000000000000f6782800f80000000000000019b12800f90000000000000040e92800fa000000000000006c212900fb00000000000000a0592900fc00000000000000107f2900fd00000000000000bc912900fe00000000000000eac92900ff00000000000000fd012a000001000000000000ff1d2a0001010000000000000c3a2a0002010000000000002b722a00030100000000000005aa2a000401000000000000fce12a0005010000000000004ceb2a000601000000000000e0fd2a000701000000000000c3192b000801000000000000be512b0009010000000000000a772b000a01000000000000ae892b000b01000000000000b0a52b000c01000000000000abc12b000d010000000000009bf92b000e0100000000000093312c000f0100000000000087692c00100100000000000075a12c00110100000000000074d92c00120100000000000089112d00130100000000000099492d001401000000000000b0812d001501000000000000c3b92d001601000000000000d1f12d001701000000000000d6292e001801000000000000e9612e001901000000000000ea992e001a01000000000000efd12e001b01000000000000f8092f001c01000000000000f0412f001d01000000000000e9792f001e0100000000000036832f001f01000000000000b2b12f002001000000000000a9cd2f00210100000000000094e92f0022010000000000007121300023010000000000003b5930002401000000000000089130002501000000000000599a30002601000000000000f6c830002701000000000000e30031002801000000000000c03831002901000000000000a17031002a01000000000000f27931002b010000000000007fa831002c010000000000005de031002d01000000000000aae931002e01000000000000441832002f01000000000000295032003001000000000000fe8732003101000000000000aa9a3200320100000000000010c0320033010000000000003af8320034010000000000005f303300350100000000000059683300360100000000000078a0330037010000000000009bd833003801000000000000cb1034003901000000000000f44834003a010000000000001c8134003b0100000000000044b934003c0100000000000055f134003d010000000000009dfa34003e01000000000000302935003f01000000000000c6573500400100000000000023613500410100000000000053993500420100000000000080d135004301000000000000560036004401000000000000b10936004501000000000000ce4136004601000000000000037a3600470100000000000031b2360048010000000000005fea360049010000000000007b2237004a01000000000000995a37004b01000000000000f56337004c01000000000000c69237004d01000000000000feca37004e01000000000000340338004f01000000000000683b380050010000000000009e7338005101000000000000c9ab38005201000000000000dcc7380053010000000000003cd138005401000000000000f8e338005501000000000000b0f6380056010000000000001c1c390057010000000000007a2539005801000000000000da2e39005901000000000000525439005a01000000000000878c39005b01000000000000bbc439005c01000000000000f3fc39005d0100000000000028353a005e010000000000005f6d3a005f0100000000000098a53a006001000000000000cedd3a0061010000000000000c163b006201000000000000404e3b00630100000000000019853b006401000000000000608e3b006501000000000000b8973b0066010000000000000fa13b006701000000000000a7b33b006801000000000000fabc3b00690100000000000049c63b006a010000000000009ccf3b006b01000000000000eed83b006c01000000000000c1f43b006d0100000000000014fe3b006e0100000000000066073c006f01000000000000b7103c0070010000000000009e2c3c007101000000000000ee353c00720100000000000094483c007301000000000000e0513c0074010000000000007c643c0075010000000000001d773c0076010000000000004b9c3c00770100000000000010d43c007801000000000000d80b3d0079010000000000001a153d007a0100000000000053433d007b01000000000000ea553d007c01000000000000225f3d007d0100000000000072683d007e01000000000000b4713d007f01000000000000fb7a3d0080010000000000007a8d3d008101000000000000b8963d00820100000000000006a03d00830100000000000088b23d008401000000000000c8bb3d0085010000000000000bc53d0086010000000000001dea3d008701000000000000e9053e008801000000000000b5213e0089010000000000003b343e008a01000000000000843d3e008b010000000000005e593e008c010000000000001f913e008d0100000000000065c83e008e010000000000006bed3e008f01000000000000a9f63e009001000000000000f6ff3e009101000000000000c1373f0092010000000000005c4a3f0093010000000000003b663f009401000000000000856f3f009501000000000000cf783f0096010000000000003ea73f009701000000000000ccde3f0098010000000000008516400099010000000000001e2940009a010000000000006e4e40009b01000000000000c35740009c010000000000009b8640009d01000000000000cebe40009e0100000000000001f740009f01000000000000372f4100a00100000000000097384100a10100000000000070674100a201000000000000a99f4100a30100000000000065b24100a401000000000000ddd74100a50100000000000096ea4100a6010000000000000b104200a70100000000000044484200a8010000000000009c514200a9010000000000003b804200aa0100000000000051b84200ab010000000000006fd44200ac010000000000005ef04200ad01000000000000b9f94200ae010000000000006a284300af0100000000000078604300b00100000000000077984300b101000000000000abd04300b20100000000000064e34300b30100000000000072ff4300b401000000000000d2084400b50100000000000008414400b6010000000000002e794400b7010000000000005eb14400b8010000000000007de94400b9010000000000009e214500ba010000000000005d344500bb01000000000000d0594500bc0100000000000006924500bd010000000000001aca4500be010000000000004a024600bf01000000000000603a4600c00100000000000084724600c101000000000000abaa4600c20100000000000047bd4600c3010000000000009ec64600c401000000000000a0e24600c5010000000000005df54600c601000000000000bf1a4700c701000000000000d1524700c8010000000000007f814700c901000000000000dd8a4700ca0100000000000039944700cb01000000000000f2c24700cc0100000000000010fb4700cd01000000000000d5294800ce010000000000002c334800cf01000000000000f9614800d001000000000000596b4800d10100000000000078874800d2010000000000008da34800d301000000000000aadb4800d401000000000000c6134900d501000000000000eb4b4900d601000000000000e7834900d701000000000000f9bb4900d801000000000000b6ce4900d9010000000000001bf44900da010000000000004a2c4a00db0100000000000066644a00dc010000000000002f7d4a00dd0100000000000019994a00de01000000000000c0ab4a00df01000000000000aec74a00e001000000000000fed04a00e101000000000000bbff4a00e20100000000000019094b00e301000000000000902e4b00e40100000000000041414b00e50100000000000010704b00e6010000000000006e794b00e7010000000000002b8c4b00e80100000000000094b14b00e901000000000000a4e94b00ea01000000000000d4214c00eb01000000000000d7594c00ec01000000000000e8914c00ed0100000000000004ae4c00ee01000000000000ebc94c00ef0100000000000014024d00f001000000000000fe394d00f1010000000000000a724d00f201000000000000667b4d00f30100000000000013aa4d00f40100000000000031c64d00f50100000000000037e24d00f6010000000000004afe4d00f7010000000000002c1a4e00f801000000000000ea2c4e00f90100000000000049364e00fa010000000000004e524e00fb01000000000000628a4e00fc0100000000000079a64e00fd010000000000001ab94e00fe0100000000000079c24e00ff0100000000000094de4e000002000000000000aafa4e00010200000000000059324f00020200000000000004654f000302000000000000ff764f0004020000000000000d804f0005020000000000007e924f000602000000000000c29b4f000702000000000000f4d34f000802000000000000160c50000902000000000000504450000a02000000000000877c50000b02000000000000b6b450000c02000000000000e7ec50000d0200000000000046f650000e02000000000000b61b51000f020000000000001625510010020000000000004f5d510011020000000000000f7051001202000000000000889551001302000000000000b5cd5100140200000000000014d751001502000000000000e605520016020000000000001f3e5200170200000000000053765200180200000000000089ae52001902000000000000e8b752001a02000000000000b7e652001b0200000000000074f952001c02000000000000e81e53001d020000000000001a5753001e02000000000000558f53001f020000000000008ac753002002000000000000b9ff53002102000000000000f13754002202000000000000277054002302000000000000418c54002402000000000000d1a354002502000000000000d9c8540026020000000000007edb54002702000000000000b81355002802000000000000e34b55002902000000000000c58355002a02000000000000d6bb55002b0200000000000007f455002c02000000000000c30656002d020000000000002c2c56002e020000000000005d6456002f020000000000008f9c56003002000000000000c9d456003102000000000000070d570032020000000000004345570033020000000000007a7d570034020000000000007d99570035020000000000009ab557003602000000000000b4ed57003702000000000000f225580038020000000000002f5e580039020000000000006b9658003a02000000000000a6ce58003b02000000000000e30659003c02000000000000183f59003d02000000000000517759003e02000000000000ad8059003f020000000000008baf59004002000000000000e9b859004102000000000000c5e75900420200000000000002205a0043020000000000003f585a0044020000000000007c905a004502000000000000bcc85a004602000000000000f1005b004702000000000000111d5b00480200000000000030395b0049020000000000006f715b004a02000000000000aca95b004b02000000000000e9e15b004c02000000000000251a5c004d0200000000000060525c004e020000000000009f8a5c004f02000000000000dbc25c00500200000000000019fb5c00510200000000000058335d005202000000000000956b5d005302000000000000c7a35d005402000000000000f7db5d00550200000000000031145e0056020000000000006f4c5e005702000000000000a7845e005802000000000000e0bc5e0059020000000000003fc65e005a020000000000001cf55e005b02000000000000582d5f005c0200000000000093655f005d02000000000000cf9d5f005e0200000000000005d65f005f02000000000000440e600060020000000000008346600061020000000000006a7e6000620200000000000056b46000630200000000000000ec60006402000000000000a72361006502000000000000e25b61006602000000000000f293610067020000000000001bcc61006802000000000000dade61006902000000000000590462006a02000000000000963c62006b02000000000000cc7462006c020000000000008c8762006d02000000000000ffac62006e020000000000003ae562006f02000000000000731d63007002000000000000b05563007102000000000000e98d630072020000000000001dc6630073020000000000005dfe63007402000000000000993664007502000000000000d86e6400760200000000000017a76400770200000000000051df640078020000000000008a1765007902000000000000c34f65007a02000000000000018865007b020000000000003ec065007c020000000000007af865007d02000000000000b63066007e02000000000000f06866007f0200000000000004a16600800200000000000041d966008102000000000000711167008202000000000000ac4967008302000000000000de8167008402000000000000f8b967008502000000000000b8cc6700860200000000000035f2670087020000000000006e2a680088020000000000001c3d680089020000000000007f6268008a02000000000000ba9a68008b02000000000000f3d268008c02000000000000310b69008d02000000000000704369008e02000000000000ae7b69008f02000000000000eeb3690090020000000000002bec6900910200000000000065246a009202000000000000a45c6a009302000000000000e0946a0094020000000000001dcd6a009502000000000000dbdf6a00960200000000000059056b00970200000000000018186b009802000000000000923d6b009902000000000000b0756b009a02000000000000e6ad6b009b0200000000000021e66b009c020000000000005e1e6c009d0200000000000096566c009e02000000000000d28e6c009f020000000000000ac76c00a00200000000000047ff6c00a10200000000000077376d00a202000000000000876f6d00a3020000000000000fa76d00a40200000000000059dc6d00a50200000000000022146e00a602000000000000464c6e00a70200000000000071846e00a802000000000000eea96e00a902000000000000aabc6e00aa0200000000000085eb6e00ab02000000000000e4f46e00ac020000000000001c2d6f00ad02000000000000da3f6f00ae0200000000000053656f00af020000000000008c9d6f00b002000000000000c4d56f00b102000000000000d90d7000b202000000000000d7457000b302000000000000f67d7000b402000000000000deb57000b502000000000000b2ed7000b602000000000000a9257100b702000000000000975d7100b802000000000000338c7100b9020000000000007e957100ba0200000000000068b17100bb0200000000000050cd7100bc020000000000001c057200bd02000000000000610e7200be02000000000000c13c7200bf020000000000006b747200c0020000000000005aac7200c10200000000000032e47200c202000000000000dcf67200c302000000000000321c7300c4020000000000002b547300c5020000000000007d8b7300c60200000000000020c37300c702000000000000cefa7300c8020000000000003c327400c9020000000000009b697400ca02000000000000eda07400cb0200000000000056d87400cc0200000000000090107500cd02000000000000ad2c7500ce020000000000000b367500cf02000000000000c7487500d002000000000000fe807500d10200000000000039b97500d20200000000000073f17500d30200000000000030047600d4020000000000004b207600d502000000000000a9297600d60200000000000006337600d702000000000000d3617600d80200000000000090747600d902000000000000089a7600da020000000000002fd27600db020000000000001a0a7700dc0200000000000022427700dd02000000000000007a7700de02000000000000d2b17700df02000000000000f8e97700e0020000000000002b227800e102000000000000635a7800e202000000000000a0927800e302000000000000daca7800e40200000000000011037900e502000000000000483b7900e60200000000000085737900e702000000000000b1ab7900e802000000000000dae37900e902000000000000121c7a00ea0200000000000049547a00eb02000000000000878c7a00ec02000000000000bfc47a00ed02000000000000edfc7a00ee0200000000000026357b00ef02000000000000606d7b00f0020000000000009da57b00f102000000000000cddd7b00f20200000000000006167c00f3020000000000003f4e7c00f402000000000000fb607c00f50200000000000077867c00f602000000000000b4be7c00f70200000000000014c87c00f802000000000000e0f67c00f9020000000000001b2f7d00fa0200000000000058677d00fb02000000000000959f7d00fc02000000000000d2d77d00fd02000000000000ec0f7e00fe0200000000000025487e00ff020000000000005f807e0000030000000000009ab87e000103000000000000d3f07e000203000000000000ee0c7f0003030000000000000a297f000403000000000000c53b7f00050300000000000043617f0006030000000000007b997f000703000000000000b9d17f000803000000000000f20980000903000000000000284280000a030000000000005e7a80000b0300000000000099b280000c03000000000000d2ea80000d03000000000000082381000e030000000000003e5b81000f030000000000007b9381001003000000000000b8cb81001103000000000000f30382001203000000000000313c82001303000000000000697482001403000000000000a6ac82001503000000000000c4c882001603000000000000e0e482001703000000000000ff00830018030000000000001e1d83001903000000000000dd2f83001a030000000000005b5583001b03000000000000988d83001c03000000000000d5c583001d0300000000000010fe83001e030000000000004e3684001f03000000000000826e84002003000000000000bba684002103000000000000f5de840022030000000000006f0485002303000000000000cc0d850024030000000000002c1785002503000000000000ea2985002603000000000000634f850027030000000000007e6b850028030000000000009a878500290300000000000017ad85002a03000000000000d2bf85002b0300000000000031c985002c030000000000000ef885002d030000000000004a3086002e03000000000000866886002f03000000000000bea086003003000000000000f2d8860031030000000000002a1187003203000000000000871a870033030000000000006449870034030000000000001d5c87003503000000000000998187003603000000000000cfb987003703000000000000eed5870038030000000000000cf2870039030000000000004a2a88003a03000000000000a83388003b03000000000000826288003c03000000000000b69a88003d03000000000000efd288003e030000000000002d0b89003f030000000000004d27890040030000000000006c4389004103000000000000ab7b89004203000000000000eab38900430300000000000028ec8900440300000000000068248a004503000000000000a05c8a004603000000000000b4948a004703000000000000f4cc8a00480300000000000030058b0049030000000000006f3d8b004a030000000000008e598b004b03000000000000ae758b004c03000000000000ecad8b004d0300000000000028e68b004e03000000000000331e8c004f030000000000004f568c0050030000000000008e8e8c005103000000000000c7c68c00520300000000000005ff8c00530300000000000041378d005403000000000000746f8d005503000000000000a4a78d00560300000000000064ba8d005703000000000000e4df8d0058030000000000000a188e00590300000000000023508e005a0300000000000027888e005b03000000000000d89a8e005c0300000000000043c08e005d0300000000000082f88e005e03000000000000c0308f005f03000000000000ff688f0060030000000000001ba18f00610300000000000059d98f006203000000000000981190006303000000000000d64990006403000000000000f56590006503000000000000158290006603000000000000758b9000670300000000000053ba9000680300000000000092f290006903000000000000d22a91006a03000000000000106391006b03000000000000489b91006c03000000000000a2a491006d030000000000001bd391006e03000000000000530992006f03000000000000d32e9200700300000000000090419200710300000000000074799200720300000000000094b19200730300000000000072e092007403000000000000d2e992007503000000000000b21893007603000000000000122293007703000000000000445a93007803000000000000739293007903000000000000f3b793007a03000000000000abca93007b030000000000005ddd93007c03000000000000c40294007d03000000000000e13a94007e03000000000000217394007f0300000000000059ab9400800300000000000090e394008103000000000000c31b95008203000000000000ea53950083030000000000009866950084030000000000000b8c9500850300000000000046c49500860300000000000057fc950087030000000000008f3496008803000000000000cf6c960089030000000000000ba596008a0300000000000045dd96008b03000000000000a3e696008c03000000000000801597008d03000000000000bc4d97008e03000000000000f78597008f030000000000002ebe9700900300000000000030f6970091030000000000005a2e98009203000000000000956698009303000000000000d49e9800940300000000000014d7980095030000000000003b0f990096030000000000006c4799009703000000000000ac7f9900980300000000000078b79900990300000000000026ca99009a030000000000007cef99009b0300000000000085279a009c03000000000000be5f9a009d03000000000000fd979a009e03000000000000b9aa9a009f0300000000000022d09a00a0030000000000003dec9a00a10300000000000058089b00a20300000000000074249b00a3030000000000008b409b00a403000000000000e4499b00a50300000000000038789b00a60300000000000076819b00a703000000000000e4af9b00a803000000000000b7e79b00a903000000000000731f9c00aa03000000000000a6289c00ab030000000000002f3b9c00ac0300000000000012579c00ad030000000000005d609c00ae03000000000000cb8e9c00af0300000000000057a19c00b00300000000000086c69c00b1030000000000005afe9c00b20300000000000002369d00b303000000000000bc6d9d00b40300000000000099a59d00b5030000000000004edd9d00b603000000000000db149e00b703000000000000e0399e00b803000000000000724c9e00b9030000000000002a849e00ba03000000000000ee9f9e00bb03000000000000d1bb9e00bc030000000000007df39e00bd03000000000000f02a9f00be030000000000006a629f00bf03000000000000ff999f00c0030000000000002ed19f00c1030000000000004608a000c203000000000000893fa000c303000000000000a476a000c403000000000000dfada000c5030000000000001cb7a000c6030000000000003ce5a000c703000000000000921ca100c8030000000000008c53a100c903000000000000988aa100ca0300000000000010a6a100cb03000000000000a0c1a100cc03000000000000e5d3a100cd0300000000000072f8a100ce030000000000007c2fa200cf030000000000003766a200d003000000000000389da200d10300000000000056a6a200d203000000000000a9b8a200d303000000000000cac1a200d4030000000000001ad4a200d503000000000000200ba300d6030000000000002714a300d703000000000000bc41a300d8030000000000006778a300d9030000000000000aafa300da0300000000000046dca300db0300000000000065e5a300dc03000000000000a81ba400dd03000000000000d72da400de030000000000002352a400df030000000000006288a400e003000000000000c1bea400e103000000000000f8f4a400e203000000000000212ba500e3030000000000003f61a500e403000000000000656aa500e503000000000000e497a500e60300000000000040cea500e703000000000000b204a600e803000000000000fc3aa600e9030000000000009471a600ea0300000000000037a8a600eb030000000000001adfa600ec03000000000000ea0ca700ed030000000000000e16a700ee030000000000005228a700ef030000000000007d31a700f003000000000000034da700f1030000000000002084a700f2030000000000004a8da700f303000000000000a99fa700f403000000000000f6baa700f503000000000000c1f1a700f603000000000000be28a800f703000000000000a65fa800f8030000000000003e7ba800f903000000000000c296a800fa03000000000000c3cda800fb03000000000000d504a900fc03000000000000f83ba900fd030000000000005f73a900fe03000000000000ceaaa900ff030000000000000bb4a900000400000000000005e2a90001040000000000005e19aa000204000000000000c12baa0003040000000000008e50aa000404000000000000fd62aa0005040000000000008175aa000604000000000000fa87aa0007040000000000002f91aa0008040000000000005dbfaa000904000000000000a3c8aa000a04000000000000e5f6aa000b04000000000000e41bab000c040000000000005b2eab000d04000000000000e765ab000e040000000000004c9dab000f0400000000000085a6ab001004000000000000b8d4ab001104000000000000fdddab0012040000000000003b0cac001304000000000000d043ac001404000000000000827bac001504000000000000b8a0ac0016040000000000005bb3ac00170400000000000029ebac0018040000000000006af4ac0019040000000000000e07ad001a04000000000000f422ad001b04000000000000432cad001c040000000000009935ad001d04000000000000ee3ead001e04000000000000d55aad001f04000000000000bd76ad002004000000000000a592ad00210400000000000076caad002204000000000000f6dcad002304000000000000e001ae0024040000000000004f39ae0025040000000000001371ae0026040000000000005f7aae002704000000000000fc8cae002804000000000000cda8ae0029040000000000005ebbae002a0400000000000081e0ae002b040000000000004f18af002c040000000000001e50af002d04000000000000e687af002e04000000000000a0bfaf002f040000000000005ff7af003004000000000000042fb0003104000000000000da66b00032040000000000009a9eb000330400000000000063d6b0003404000000000000300eb1003504000000000000da45b10036040000000000009a7db100370400000000000050b5b100380400000000000029edb1003904000000000000971bb2003a04000000000000e024b2003b04000000000000995cb2003c040000000000006694b2003d0400000000000048b0b2003e040000000000002eccb2003f0400000000000075d5b200400400000000000008e8b2004104000000000000e703b3004204000000000000ce1fb3004304000000000000b63bb30044040000000000000d45b30045040000000000009f57b30046040000000000007573b3004704000000000000c67cb30048040000000000003aabb3004904000000000000e4e2b3004a04000000000000651ab4004b04000000000000f951b4004c040000000000009389b4004d0400000000000025c1b4004e04000000000000f6f8b4004f04000000000000241eb5005004000000000000b130b50051040000000000007068b500520400000000000040a0b5005304000000000000ecd7b50054040000000000000510b60055040000000000003e48b60056040000000000007a80b6005704000000000000b7b8b6005804000000000000f3f0b60059040000000000002f29b7005a04000000000000ae4eb7005b040000000000006861b7005c04000000000000a599b7005d04000000000000ded1b7005e040000000000005cf7b7005f04000000000000160ab80060040000000000005042b8006104000000000000964bb8006204000000000000687ab8006304000000000000a6b2b800640400000000000066c5b8006504000000000000e5eab80066040000000000000423b90067040000000000003f5bb90068040000000000005d77b90069040000000000007b93b9006a04000000000000b7cbb9006b04000000000000ef03ba006c04000000000000133cba006d040000000000003358ba006e040000000000005174ba006f0400000000000042acba0070040000000000006ce4ba007104000000000000a21cbb007204000000000000e054bb007304000000000000405ebb0074040000000000001b8dbb0075040000000000002ec5bb0076040000000000006dfdbb007704000000000000a435bc007804000000000000d06dbc0079040000000000000ca6bc007a040000000000004adebc007b040000000000008716bd007c04000000000000c34ebd007d04000000000000fc86bd007e040000000000003bbfbd007f040000000000007af7bd008004000000000000d500be008104000000000000b32fbe008204000000000000ea67be00830400000000000027a0be00840400000000000065d8be008504000000000000a410bf008604000000000000dd48bf0087040000000000003b52bf0088040000000000001881bf0089040000000000008fb8bf008a04000000000000cbc1bf008b04000000000000f8efbf008c040000000000007602c0008d040000000000008327c0008e04000000000000075fc0008f040000000000005d96c000900400000000000009cec00091040000000000003b06c10092040000000000002d3ec10093040000000000006476c10094040000000000007aaec1009504000000000000b9e6c1009604000000000000ef1ec20097040000000000002c57c2009804000000000000698fc20099040000000000008cc7c2009a040000000000009effc2009b04000000000000da37c3009c04000000000000ee6fc3009d0400000000000029a8c3009e0400000000000067e0c3009f04000000000000240fc400a0040000000000008218c400a104000000000000b150c400a204000000000000c088c400a304000000000000d2c0c400a404000000000000f6f8c400a5040000000000001231c500a604000000000000d143c500a7040000000000004d69c500a80400000000000089a1c500a904000000000000c4d9c500aa040000000000000112c600ab040000000000005c1bc600ac040000000000003a4ac600ad040000000000007482c600ae04000000000000abbac600af04000000000000e4f2c600b0040000000000001d2bc700b1040000000000002e47c700b2040000000000004863c700b304000000000000687fc700b404000000000000829bc700b5040000000000009bd3c700b604000000000000d80bc800b7040000000000001144c800b804000000000000704dc800b904000000000000d056c800ba040000000000004e7cc800bb0400000000000080b4c800bc04000000000000b1ecc800bd040000000000009808c900be040000000000008d24c900bf04000000000000c75cc900c004000000000000df94c900c104000000000000feb0c900c2040000000000001dcdc900c3040000000000004605ca00c4040000000000006e3dca00c5040000000000009e75ca00c604000000000000029bca00c704000000000000aeadca00c8040000000000008adcca00c904000000000000eae5ca00ca04000000000000251ecb00cb04000000000000fa55cb00cc04000000000000778ccb00cd04000000000000eec3cb00ce0400000000000005fccb00cf040000000000004134cc00d004000000000000716ccc00d10400000000000096a4cc00d204000000000000d3dccc00d30400000000000086efcc00d4040000000000000215cd00d504000000000000ac27cd00d604000000000000264dcd00d7040000000000008656cd00d8040000000000006385cd00d9040000000000003bb4cd00da0400000000000099bdcd00db04000000000000d8f5cd00dc04000000000000172ece00dd040000000000005366ce00de04000000000000909ece00df04000000000000b7d6ce00e00400000000000068e9ce00e104000000000000cc0ecf00e2040000000000000547cf00e304000000000000427fcf00e40400000000000079b7cf00e504000000000000b8efcf00e604000000000000f427d000e7040000000000000b60d000e8040000000000004698d000e90400000000000083d0d000ea04000000000000c008d100eb04000000000000fa40d100ec040000000000003679d100ed0400000000000073b1d100ee0400000000000087cdd100ef04000000000000a6e9d100f004000000000000e521d200f1040000000000001e5ad200f2040000000000005692d200f30400000000000092cad200f40400000000000052ddd200f504000000000000ce02d300f604000000000000e13ad300f7040000000000003444d300f804000000000000dc56d300f904000000000000ef72d300fa040000000000004d7cd300fb0400000000000024abd300fc04000000000000a1d0d300fd040000000000005be3d300fe04000000000000901bd400ff04000000000000ce53d40000050000000000000a8cd40001050000000000003ac4d40002050000000000004ae0d400030500000000000069fcd4000405000000000000a134d50005050000000000006047d5000605000000000000de6cd50007050000000000001ba5d500080500000000000058ddd50009050000000000009415d6000a05000000000000d24dd6000b05000000000000f085d6000c050000000000001ebed6000d05000000000000fbecd6000e050000000000005bf6d6000f050000000000008b2ed7001005000000000000c566d7001105000000000000029fd700120500000000000036d7d70013050000000000006f0fd80014050000000000009f47d8001505000000000000c97fd8001605000000000000e4b7d80017050000000000001ff0d80018050000000000005928d90019050000000000009560d9001a050000000000005473d9001b05000000000000718fd9001c05000000000000d198d9001d0500000000000031a2d9001e050000000000000fd1d9001f05000000000000cfe3d90020050000000000004f09da0021050000000000008941da002205000000000000b979da002305000000000000edb1da00240500000000000047bbda00250500000000000054d7da00260500000000000007eada00270500000000000067f3da0028050000000000003a22db0029050000000000005e5adb002a050000000000007892db002b05000000000000b0cadb002c05000000000000e702dc002d05000000000000183bdc002e050000000000007644dc002f050000000000002773dc003005000000000000dd85dc0031050000000000004dabdc00320500000000000086e3dc003305000000000000bb1bdd003405000000000000944add003505000000000000f453dd003605000000000000ad66dd003705000000000000298cdd00380500000000000060c4dd0039050000000000009cfcdd003a05000000000000fa05de003b05000000000000d734de003c05000000000000b56cde003d0500000000000045a4de003e05000000000000a1d2de003f05000000000000e4dbde0040050000000000002fe5de0041050000000000003c05df004205000000000000d81adf004305000000000000d636df0044050000000000002840df004505000000000000d252df004605000000000000cf6edf004705000000000000a9a6df004805000000000000eeafdf00490500000000000047b9df004a05000000000000b1dedf004b050000000000000de8df004c050000000000006e0de0004d05000000000000cb16e0004e05000000000000d84ee0004f050000000000007886e0005005000000000000b3bee0005105000000000000c3f6e0005205000000000000fe2ee10053050000000000002c67e1005405000000000000e679e1005505000000000000a68ce1005605000000000000629fe10057050000000000009bd7e10058050000000000005806e2005905000000000000b10fe2005a05000000000000e647e2005b050000000000001880e2005c050000000000007689e2005d050000000000004cb8e2005e050000000000007ef0e2005f05000000000000b228e3006005000000000000e760e30061050000000000002499e300620500000000000060d1e30063050000000000009c09e4006405000000000000d441e4006505000000000000334be40066050000000000000a7ae4006705000000000000e0a8e400680500000000000040b2e40069050000000000006feae4006a05000000000000a022e5006b05000000000000de5ae5006c050000000000001a93e5006d0500000000000055cbe5006e050000000000000bdee5006f050000000000008203e6007005000000000000db0ce6007105000000000000b53be6007205000000000000f073e60073050000000000004e7de60074050000000000002cace60075050000000000008cb5e60076050000000000006be4e6007705000000000000a51ce7007805000000000000dc54e7007905000000000000168de7007a050000000000004ac5e7007b0500000000000057fde7007c050000000000009335e8007d05000000000000d06de8007e050000000000002e77e8007f0500000000000004a6e80080050000000000003fdee80081050000000000007b16e9008205000000000000b74ee9008305000000000000e886e900840500000000000015bfe900850500000000000046f7e9008605000000000000602fea0087050000000000000442ea0088050000000000005a4bea0089050000000000006a67ea008a05000000000000889fea008b05000000000000daa8ea008c0500000000000079d7ea008d050000000000009f0feb008e050000000000005c22eb008f050000000000001c35eb009005000000000000d847eb0091050000000000000e80eb0092050000000000003eb8eb00930500000000000076f0eb009405000000000000ad28ec009505000000000000e660ec0096050000000000002399ec00970500000000000060d1ec0098050000000000009e09ed0099050000000000005e1ced009a05000000000000da41ed009b050000000000009654ed009c050000000000005567ed009d05000000000000127aed009e050000000000004ab2ed009f0500000000000082eaed00a005000000000000e1f3ed00a105000000000000bd22ee00a205000000000000fa5aee00a3050000000000003493ee00a405000000000000929cee00a50500000000000070cbee00a605000000000000ac03ef00a705000000000000eb3bef00a805000000000000fb73ef00a905000000000000feabef00aa05000000000000bebeef00ab0500000000000038e4ef00ac050000000000004e1cf000ad050000000000008854f000ae05000000000000958cf000af05000000000000c5c4f000b005000000000000fffcf000b1050000000000002e35f100b205000000000000de47f100b305000000000000466df100b4050000000000005da5f100b50500000000000094ddf100b605000000000000c115f200b705000000000000fa4df200b8050000000000002d86f200b90500000000000067bef200ba05000000000000a0f6f200bb05000000000000b52ef300bc050000000000003254f300bd05000000000000ef66f300be05000000000000239ff300bf0500000000000032d7f300c005000000000000dde9f300c1050000000000001e0ff400c2050000000000004f47f400c3050000000000008d7ff400c4050000000000006bb7f400c5050000000000009beff400c605000000000000c927f500c705000000000000ff5ff500c8050000000000003198f500c90500000000000063d0f500ca050000000000008908f600cb05000000000000c240f600cc050000000000001d66f600cd05000000000000ca78f600ce05000000000000fbb0f600cf0500000000000031e9f600d0050000000000006021f700d1050000000000009e59f700d205000000000000d891f700d3050000000000000acaf700d4050000000000004402f800d5050000000000007b3af800d605000000000000fa5ff800d705000000000000b672f800d805000000000000ebaaf800d90500000000000048b4f800da0500000000000024e3f800db05000000000000601bf900dc050000000000009753f900dd05000000000000ac8bf900de05000000000000e3c3f900df050000000000001cfcf900e0050000000000005934fa00e105000000000000936cfa00e205000000000000a7a4fa00e305000000000000dfdcfa00e4050000000000001a15fb00e5050000000000004d4dfb00e605000000000000a656fb00e7050000000000007b85fb00e805000000000000a2bdfb00e905000000000000dff5fb00ea050000000000005f1bfc00eb050000000000001e2efc00ec050000000000005266fc00ed050000000000000c79fc00ee05000000000000cc8bfc00ef050000000000002995fc00f005000000000000899efc00f105000000000000c1d6fc00f2050000000000007ee9fc00f3050000000000003dfcfc00f405000000000000f00efd00f5050000000000004c18fd00f6050000000000001a47fd00f7050000000000004a7ffd00f80500000000000086b7fd00f905000000000000beeffd00fa050000000000001ef9fd00fb05000000000000ee27fe00fc050000000000000944fe00fd050000000000002560fe00fe05000000000000307cfe00ff050000000000002798fe000006000000000000e2aafe00010600000000000042b4fe0002060000000000005dd0fe0003060000000000009a08ff000406000000000000ca40ff000506000000000000244aff000606000000000000f278ff0007060000000000002db1ff00080600000000000063e9ff000906000000000000712100010a06000000000000313400010b060000000000004c5000010c06000000000000ac5900010d06000000000000b49100010e06000000000000e3c900010f06000000000000f60101011006000000000000103a010111060000000000003056010112060000000000004c720101130600000000000084aa01011406000000000000c2e201011506000000000000fe1a02011606000000000000235302011706000000000000618b020118060000000000009dc3020119060000000000005ad602011a06000000000000badf02011b06000000000000d7fb02011c06000000000000370503011d06000000000000f71703011e06000000000000133403011f06000000000000516c03012006000000000000107f030121060000000000008da403012206000000000000cadc03012306000000000000f81404012406000000000000324d0401250600000000000070850401260600000000000080bd040127060000000000008bf504012806000000000000842d05012906000000000000d73605012a060000000000008b6505012b06000000000000c19d05012c06000000000000f9d505012d060000000000002e0e06012e06000000000000664606012f060000000000009d7e06013006000000000000d7b60601310600000000000011ef06013206000000000000442707013306000000000000725f07013406000000000000af9707013506000000000000e7cf070136060000000000001f0808013706000000000000372408013806000000000000544008013906000000000000917808013a06000000000000c8b008013b0600000000000001e908013c060000000000000f2109013d06000000000000085909013e06000000000000a99009013f06000000000000b5c809014006000000000000c5000a014106000000000000d2380a01420600000000000006710a014306000000000000f5a80a0144060000000000002be10a01450600000000000012190b01460600000000000048510b01470600000000000086890b014806000000000000e5920b014906000000000000c4c10b014a0600000000000000fa0b014b060000000000001d320c014c060000000000000b6a0c014d06000000000000c5980c014e060000000000001aa20c014f06000000000000d7d00c0150060000000000002dda0c01510600000000000069120d015206000000000000a44a0d015306000000000000df820d0154060000000000001dbb0d01550600000000000055f30d015606000000000000852b0e01570600000000000083630e015806000000000000c39b0e0159060000000000001ba50e015a060000000000007bae0e015b06000000000000f7d30e015c06000000000000afe60e015d06000000000000290c0f015e0600000000000065440f015f06000000000000db690f016006000000000000977c0f016106000000000000d2b40f016206000000000000ecec0f016306000000000000062510016406000000000000ea5c10016506000000000000f49410016606000000000000ffcc100167060000000000005ed610016806000000000000d6fb10016906000000000000340511016a06000000000000613d11016b060000000000008b7511016c06000000000000919111016d06000000000000abad11016e06000000000000e0e511016f060000000000001d1e120170060000000000005556120171060000000000006c8e120172060000000000008aaa12017306000000000000a3c612017406000000000000bdfe12017506000000000000f83613017606000000000000126f130177060000000000006c9413017806000000000000c99d1301790600000000000029a713017a060000000000005bdf13017b06000000000000b8e813017c0600000000000016f213017d060000000000008d1714017e06000000000000ec2014017f06000000000000a43314018006000000000000bc4f14018106000000000000d58714018206000000000000919a1401830600000000000005c0140184060000000000005fc914018506000000000000f8f714018606000000000000a10a15018706000000000000fa1315018806000000000000561d15018906000000000000fa2f15018a06000000000000513915018b06000000000000aa4215018c06000000000000106815018d060000000000002f8415018e060000000000004ba015018f060000000000002cbc15019006000000000000ccce1501910600000000000019d81501920600000000000076e115019306000000000000331016019406000000000000664816019506000000000000998016019606000000000000d5b81601970600000000000093cb16019806000000000000f3d4160199060000000000000ff116019a06000000000000cd0317019b06000000000000492917019c06000000000000a33217019d06000000000000444517019e060000000000003a6117019f06000000000000117d1701a0060000000000001c991701a10600000000000059d11701a2060000000000008c091801a306000000000000c2411801a4060000000000001e4b1801a50600000000000037671801a606000000000000f2791801a7060000000000001fb21801a806000000000000dec41801a90600000000000056ea1801aa0600000000000005fd1801ab0600000000000079221901ac06000000000000b25a1901ad06000000000000e5921901ae06000000000000f9ca1901af060000000000005df01901b00600000000000017031a01b1060000000000003a3b1a01b206000000000000e64d1a01b30600000000000044731a01b406000000000000a37c1a01b50600000000000078ab1a01b6060000000000006ee31a01b706000000000000921b1b01b806000000000000be531b01b9060000000000001d5d1b01ba06000000000000ec8b1b01bb0600000000000009c41b01bc06000000000000e5fb1b01bd06000000000000f1331c01be06000000000000ef6b1c01bf06000000000000a39a1c01c006000000000000fba31c01c106000000000000f2db1c01c206000000000000f8131d01c306000000000000df4b1d01c40600000000000075831d01c506000000000000aaa81d01c6060000000000003bbb1d01c7060000000000002fd71d01c80600000000000017f31d01c90600000000000067fc1d01ca06000000000000ad211e01cb06000000000000fb2a1e01cc0600000000000052341e01cd06000000000000da621e01ce06000000000000c87e1e01cf06000000000000b09a1e01d00600000000000089d21e01d1060000000000000fe51e01d2060000000000005fee1e01d3060000000000003b0a1f01d406000000000000f8411f01d50600000000000098541f01d606000000000000ac5d1f01d70600000000000094791f01d8060000000000006eb11f01d90600000000000038e91f01da060000000000000b212001db06000000000000e6582001dc06000000000000c8902001dd0600000000000062a32001de060000000000007ac82001df060000000000001cdb2001e0060000000000005d002101e10600000000000021382101e206000000000000f76f2101e3060000000000003d792101e406000000000000cea72101e50600000000000095df2101e6060000000000006e172201e706000000000000334f2201e80600000000000085582201e90600000000000010872201ea06000000000000eea22201eb06000000000000cbbe2201ec06000000000000a9da2201ed060000000000009ef62201ee060000000000003d092301ef06000000000000782e2301f0060000000000000c412301f1060000000000005e4a2301f20600000000000045662301f3060000000000003b822301f406000000000000299e2301f506000000000000fed52301f606000000000000990d2401f7060000000000002c202401f806000000000000173c2401f90600000000000063452401fa06000000000000fd572401fb060000000000002a7d2401fc0600000000000000b52401fd06000000000000b8ec2401fe0600000000000037242501ff06000000000000155c25010007000000000000e69325010107000000000000a6cb25010207000000000000630326010307000000000000b30c260104070000000000000916260105070000000000005b1f26010607000000000000523b260107070000000000004857260108070000000000002d732601090700000000000018ab26010a07000000000000fdc626010b07000000000000ede226010c070000000000008d1127010d07000000000000e31a27010e07000000000000cc5227010f07000000000000ac8a270110070000000000004b9d2701110700000000000090c22701120700000000000087fa27011307000000000000583228011407000000000000fe6928011507000000000000557328011607000000000000f4a128011707000000000000ced9280118070000000000007d1129011907000000000000414929011a070000000000001a8129011b07000000000000deb829011c07000000000000bff029011d07000000000000a8282a011e070000000000008b602a011f07000000000000dc692a0120070000000000002d732a0121070000000000007a7c2a012207000000000000198f2a01230700000000000069982a01240700000000000003ab2a0125070000000000004ab42a0126070000000000009ebd2a01270700000000000041d02a012807000000000000e7e22a01290700000000000089f52a012a0700000000000023082b012b07000000000000cb1a2b012c0700000000000018242b012d070000000000006b2d2b012e07000000000000ba362b012f070000000000000e402b013007000000000000af522b013107000000000000035c2b0132070000000000004c652b0133070000000000009b6e2b013407000000000000e4772b013507000000000000abaf2b013607000000000000f8b82b01370700000000000052c22b013807000000000000f0d42b0139070000000000008de72b013a0700000000000081032c013b070000000000005e1f2c013c070000000000004a3b2c013d0700000000000037572c013e070000000000000a8f2c013f070000000000005e982c014007000000000000eeaa2c0141070000000000007fbd2c014207000000000000d2c62c014307000000000000b6fe2c0144070000000000008f362d014507000000000000426e2d014607000000000000d9a52d014707000000000000a0dd2d0148070000000000003df02d0149070000000000004f152e014a07000000000000971e2e014b07000000000000e2272e014c0700000000000035312e014d07000000000000cb432e014e07000000000000174d2e014f07000000000000a57b2e015007000000000000f8842e015107000000000000e0bc2e015207000000000000bdf42e0153070000000000009d2c2f015407000000000000e9352f015507000000000000353f2f015607000000000000cf512f0157070000000000006e642f0158070000000000001b772f015907000000000000659c2f015a070000000000005bd42f015b0700000000000001e72f015c07000000000000470c30015d07000000000000464430015e07000000000000904d30015f07000000000000e456300160070000000000003b6030016107000000000000327c30016207000000000000d68e300163070000000000002d983001640700000000000032b430016507000000000000faeb30016607000000000000f12331016707000000000000c65b310168070000000000001c6531016907000000000000bb9331016a0700000000000002b931016b07000000000000a4cb31016c07000000000000870332016d07000000000000721f32016e070000000000006b3b32016f07000000000000675732017007000000000000647332017107000000000000ab7c3201720700000000000042ab32017307000000000000eebd320174070000000000003be33201750700000000000088ec32017607000000000000281b330177070000000000003d5333017807000000000000df6533017907000000000000d28133017a07000000000000248b33017b0700000000000012c333017c07000000000000b4f133017d0700000000000007fb33017e07000000000000fb1634017f07000000000000e93234018007000000000000914534018107000000000000c26a34018207000000000000117434018307000000000000b98634018407000000000000ada23401850700000000000092da340186070000000000008d1235018707000000000000864a350188070000000000008b823501890700000000000028b135018a070000000000007dba35018b070000000000001dcd35018c0700000000000065f235018d07000000000000d60436018e07000000000000952036018f07000000000000d52936019007000000000000e46136019107000000000000d499360192070000000000007fac36019307000000000000d5d13601940700000000000079e436019507000000000000d7ed36019607000000000000e80937019707000000000000f74137019807000000000000386737019907000000000000e37937019a07000000000000e79537019b07000000000000ecb137019c07000000000000a1c437019d0700000000000001ea37019e07000000000000100638019f070000000000006a0f3801a00700000000000019223801a107000000000000752b3801a207000000000000f1503801a307000000000000515a3801a4070000000000008a923801a507000000000000e79b3801a607000000000000afca3801a70700000000000099023901a807000000000000f50b3901a907000000000000a81e3901aa07000000000000b23a3901ab07000000000000c4723901ac0700000000000068853901ad0700000000000050a13901ae070000000000009daa3901af070000000000004bbd3901b007000000000000f6cf3901b10700000000000049d93901b2070000000000009de23901b30700000000000040f53901b4070000000000009cfe3901b5070000000000009d1a3a01b607000000000000d5523a01b707000000000000e78a3a01b807000000000000f6c23a01b907000000000000d1fa3a01ba07000000000000dc323b01bb07000000000000da6a3b01bc0700000000000032743b01bd07000000000000e6863b01be07000000000000e4a23b01bf070000000000002cac3b01c00700000000000082b53b01c1070000000000000fc83b01c2070000000000009eda3b01c307000000000000f4e33b01c40700000000000043ed3b01c507000000000000e9ff3b01c6070000000000008e123c01c707000000000000814a3c01c807000000000000285d3c01c9070000000000007b823c01ca0700000000000070ba3c01cb0700000000000047f23c01cc07000000000000fb293d01cd0700000000000044333d01ce07000000000000af613d01cf07000000000000ff6a3d01d00700000000000052743d01d10700000000000093993d01d2070000000000002cac3d01d3070000000000001ac83d01d4070000000000006bd13d01d507000000000000b2f63d01d60700000000000054093e01d7070000000000003e413e01d80700000000000031793e01d9070000000000005c9e3e01da07000000000000eeb03e01db07000000000000c3cc3e01dc0700000000000008d63e01dd0700000000000048df3e01de070000000000008be83e01df07000000000000e0f13e01e00700000000000076043f01e1070000000000000a173f01e20700000000000054203f01e307000000000000a7293f01e4070000000000004c3c3f01e50700000000000043583f01e607000000000000f46a3f01e70700000000000058903f01e80700000000000064c83f01e9070000000000007c004001ea0700000000000082384001eb07000000000000df414001ec070000000000009a704001ed07000000000000ed794001ee0700000000000077a84001ef07000000000000ccb14001f00700000000000087e04001f10700000000000078184101f20700000000000078504101f307000000000000437f4101f40700000000000099884101f507000000000000ea914101f6070000000000003b9b4101f7070000000000009dc04101f80700000000000055f84101f9070000000000003d304201fa070000000000001b684201fb0700000000000013a04201fc070000000000000cd84201fd070000000000001f104301fe070000000000002c484301ff07000000000000e35a430100080000000000003c6443010108000000000000e97643010208000000000000408043010308000000000000ed9243010408000000000000ebae4301050800000000000043b843010608000000000000e2e64301070800000000000034f0430108080000000000001b2844010908000000000000216044010a08000000000000b87244010b080000000000000b7c44010c080000000000000b9844010d0800000000000010d044010e080000000000000f0845010f08000000000000014045011008000000000000f37745011108000000000000478145011208000000000000caaf45011308000000000000a1e7450114080000000000008f1f46011508000000000000845746011608000000000000d360460117080000000000007573460118080000000000005f8f4601190800000000000073c746011a0800000000000086ff46011b08000000000000963747011c08000000000000a16f47011d08000000000000f97847011e08000000000000a2a747011f0800000000000098df47012008000000000000e2e8470121080000000000000b1748012208000000000000472048012308000000000000882948012408000000000000ba32480125080000000000002745480126080000000000006b4e48012708000000000000af5748012808000000000000ec85480129080000000000003e8f48012a08000000000000eca148012b08000000000000f4bd48012c0800000000000000da48012d0800000000000005f648012e08000000000000f82d49012f08000000000000543749013008000000000000fb4949013108000000000000006649013208000000000000fa9d4901330800000000000005d649013408000000000000e70d4a013508000000000000c4454a013608000000000000ad7d4a013708000000000000f3864a01380800000000000042904a01390800000000000084b54a013a080000000000006eed4a013b08000000000000c4f64a013c0800000000000046254b013d08000000000000205d4b013e08000000000000e7944b013f08000000000000dfcc4b0140080000000000003ad64b014108000000000000f1044c014208000000000000863c4c01430800000000000074744c014408000000000000d17d4c0145080000000000007fac4c01460800000000000022bf4c01470800000000000078e44c01480800000000000028f74c0149080000000000008c1c4d014a0800000000000087544d014b08000000000000da5d4d014c080000000000008b704d014d08000000000000878c4d014e08000000000000309f4d014f0800000000000063c44d0150080000000000006ffc4d01510800000000000070344e015208000000000000476c4e01530800000000000097754e01540800000000000025a44e015508000000000000cfb64e0156080000000000001ddc4e01570800000000000070e54e0158080000000000001d144f015908000000000000284c4f015a0800000000000043844f015b080000000000005ebc4f015c080000000000006ff44f015d08000000000000a32c50015e08000000000000dc6450015f08000000000000f19c5001600800000000000005d550016108000000000000f70c51016208000000000000014551016308000000000000a35751016408000000000000d87c51016508000000000000a7b451016608000000000000c8ec51016708000000000000ef24520168080000000000003f4a52016908000000000000d15c52016a08000000000000c39452016b0800000000000029ba52016c08000000000000d7cc52016d0800000000000035f252016e08000000000000e80453016f080000000000009e3353017008000000000000f03c530171080000000000005c62530172080000000000000c755301730800000000000014ad5301740800000000000018e553017508000000000000bdf753017608000000000000081d540177080000000000002155540178080000000000007a5e54017908000000000000288d54017a080000000000003fc554017b08000000000000f7f354017c080000000000004ffd54017d08000000000000463555017e08000000000000356d55017f0800000000000035a55501800800000000000088ae5501810800000000000032dd5501820800000000000089e655018308000000000000e6ef5501840800000000000045f955018508000000000000a50256018608000000000000611556018708000000000000c01e56018808000000000000de3a56018908000000000000954d56018a08000000000000f55656018b08000000000000c98556018c08000000000000edbd56018d08000000000000aad056018e080000000000001ff656018f080000000000007aff560190080000000000004d2e57019108000000000000876657019208000000000000c19e57019308000000000000fdd657019408000000000000ade957019508000000000000160f580196080000000000004447580197080000000000009e5058019808000000000000e37e580199080000000000008ca358019a08000000000000dbb558019b0800000000000008bf58019c080000000000009ded58019d08000000000000d82559019e08000000000000115e59019f08000000000000d78c5901a00800000000000035965901a1080000000000006dce5901a208000000000000a6065a01a308000000000000df3e5a01a4080000000000003d485a01a50800000000000016775a01a6080000000000004daf5a01a7080000000000000ac25a01a80800000000000083e75a01a908000000000000bb1f5b01aa0800000000000072325b01ab08000000000000cf3b5b01ac08000000000000ca575b01ad0800000000000013615b01ae08000000000000ba735b01af08000000000000b98f5b01b008000000000000e9c75b01b108000000000000a1da5b01b2080000000000005aed5b01b3080000000000000a005c01b40800000000000066095c01b5080000000000000e385c01b6080000000000006b415c01b70800000000000035705c01b808000000000000528c5c01b90800000000000069a85c01ba080000000000007ee05c01bb08000000000000a2185d01bc08000000000000bf505d01bd080000000000001b5a5d01be08000000000000dc885d01bf08000000000000fcc05d01c00800000000000016f95d01c1080000000000002d315e01c20800000000000052695e01c3080000000000007aa15e01c408000000000000d5aa5e01c5080000000000008bd95e01c608000000000000e7e25e01c708000000000000bf115f01c808000000000000de2d5f01c908000000000000f8495f01ca080000000000004d535f01cb0800000000000013825f01cc08000000000000c2945f01cd08000000000000b8b05f01ce0800000000000008ba5f01cf0800000000000058c35f01d008000000000000b6cc5f01d10800000000000034f25f01d208000000000000642a6001d308000000000000c4336001d4080000000000009d626001d5080000000000005b756001d60800000000000070916001d708000000000000ce9a6001d80800000000000002d36001d908000000000000390b6101da080000000000001f276101db08000000000000fe426101dc08000000000000494c6101dd08000000000000ec5e6101de08000000000000e77a6101df08000000000000dfb26101e00800000000000086c56101e108000000000000dace6101e208000000000000c4ea6101e30800000000000069fd6101e408000000000000bb226201e508000000000000f35a6201e6080000000000001e936201e708000000000000719c6201e808000000000000c3a56201e908000000000000d1c16201ea080000000000002ecb6201eb08000000000000a7f06201ec080000000000005d036301ed08000000000000953b6301ee08000000000000504e6301ef08000000000000c9736301f008000000000000eeab6301f108000000000000a2be6301f20800000000000050d16301f308000000000000a3da6301f408000000000000fce36301f50800000000000051ed6301f608000000000000bd126401f7080000000000001a1c6401f80800000000000034546401f9080000000000003d8c6401fa0800000000000089956401fb08000000000000e19e6401fc080000000000002bc46401fd0800000000000073cd6401fe08000000000000cbf26401ff0800000000000016fc64010009000000000000bd0e65010109000000000000131865010209000000000000023465010309000000000000523d65010409000000000000ac4665010509000000000000595965010609000000000000066c65010709000000000000597565010809000000000000ab7e65010909000000000000028865010a0900000000000002a465010b09000000000000c7d265010c090000000000001edc65010d09000000000000d40a66010e09000000000000311466010f09000000000000851d66011009000000000000dc2666011109000000000000313066011209000000000000374c660113090000000000008f556601140900000000000057846601150900000000000008976601160900000000000063a06601170900000000000070bc66011809000000000000c8c56601190900000000000025cf66011a090000000000007df466011b09000000000000d3fd66011c09000000000000e02b67011d09000000000000ec4767011e09000000000000455167011f09000000000000ff63670120090000000000001380670121090000000000006f8967012209000000000000af9267012309000000000000079c6701240900000000000059a567012509000000000000adae6701260900000000000007b867012709000000000000b6ca670128090000000000000bd4670129090000000000001e0c68012a09000000000000d11e68012b09000000000000334468012c09000000000000e55668012d09000000000000eb7268012e09000000000000427c68012f09000000000000f58e6801300900000000000057b46801310900000000000073ec6801320900000000000025ff680133090000000000007c0869013409000000000000832469013509000000000000dc2d69013609000000000000945c69013709000000000000ab9469013809000000000000c0cc6901390900000000000076df69013a09000000000000e3046a013b09000000000000043d6a013c0900000000000026756a013d090000000000004aad6a013e090000000000005ac96a013f09000000000000b6d26a01400900000000000069e56a014109000000000000c10a6b0142090000000000006e1d6b01430900000000000056396b0144090000000000006d556b01450900000000000027686b014609000000000000e37a6b014709000000000000958d6b014809000000000000b1c56b014909000000000000abfd6b014a09000000000000632c6c014b09000000000000bd356c014c090000000000001a3f6c014d0900000000000076486c014e09000000000000df6d6c014f0900000000000094806c015009000000000000a39c6c015109000000000000f9a56c0152090000000000004eaf6c01530900000000000017de6c01540900000000000020fa6c01550900000000000022166d015609000000000000771f6d015709000000000000d4286d015809000000000000404e6d015909000000000000f0606d015a090000000000005c866d015b0900000000000080be6d015c0900000000000034d16d015d09000000000000a3f66d015e09000000000000da2e6e015f09000000000000fa4a6e01600900000000000011676e016109000000000000379f6e016209000000000000eeb16e0163090000000000006ad76e016409000000000000a40f6f016509000000000000df476f0166090000000000001b806f01670900000000000055b86f0168090000000000008af06f016909000000000000440370016a09000000000000a62870016b09000000000000ff3170016c09000000000000c26070016d09000000000000ec9870016e090000000000005cbe70016f0900000000000012d1700170090000000000002f09710171090000000000002a41710172090000000000003c7971017309000000000000efa7710174090000000000004ab17101750900000000000062e971017609000000000000bff2710177090000000000008a2172017809000000000000b55972017909000000000000da9172017a0900000000000001ca72017b09000000000000070273017c090000000000000b3a73017d09000000000000187273017e0900000000000020aa73017f0900000000000030e273018009000000000000ea1074018109000000000000431a74018209000000000000f24874018309000000000000475274018409000000000000985b74018509000000000000ef64740186090000000000005b8a74018709000000000000b5937401880900000000000084c274018909000000000000e2cb74018a09000000000000b9fa74018b09000000000000e53275018c09000000000000f14e75018d09000000000000036b75018e090000000000000ea375018f0900000000000009db75019009000000000000f81276019109000000000000c84a760192090000000000004b7976019309000000000000a18276019409000000000000b1ba76019509000000000000b9f276019609000000000000d82a770197090000000000002b3477019809000000000000de6277019909000000000000a79177019a09000000000000009b77019b0900000000000026d377019c09000000000000e3e577019d09000000000000600b78019e09000000000000984378019f09000000000000d17b7801a009000000000000efb37801a10900000000000026ec7801a209000000000000e1fe7801a3090000000000005f247901a409000000000000945c7901a509000000000000c3947901a609000000000000dccc7901a709000000000000e3047a01a8090000000000003b0e7a01a909000000000000472a7a01aa09000000000000f13c7a01ab0900000000000046467a01ac0900000000000003757a01ad09000000000000609a7a01ae0900000000000010ad7a01af09000000000000afdb7a01b00900000000000003e57a01b1090000000000005aee7a01b2090000000000000b1d7b01b309000000000000b02f7b01b4090000000000000a557b01b50900000000000005717b01b609000000000000118d7b01b709000000000000bf9f7b01b8090000000000000ea97b01b90900000000000010c57b01ba0900000000000010fd7b01bb0900000000000023357c01bc09000000000000356d7c01bd090000000000002aa57c01be09000000000000d7b77c01bf09000000000000ded37c01c00900000000000038dd7c01c10900000000000049157d01c209000000000000a21e7d01c309000000000000424d7d01c40900000000000018857d01c509000000000000628e7d01c609000000000000eabc7d01c709000000000000bff47d01c80900000000000059077e01c909000000000000b7107e01ca09000000000000ce2c7e01cb09000000000000f3647e01cc09000000000000049d7e01cd090000000000001ad57e01ce0900000000000075de7e01cf0900000000000087fa7e01d009000000000000db037f01d1090000000000002f0d7f01d20900000000000084167f01d309000000000000d83b7f01d4090000000000002b457f01d509000000000000804e7f01d609000000000000d6577f01d7090000000000007f6a7f01d8090000000000002a7d7f01d90900000000000078867f01da090000000000000f997f01db09000000000000ecb47f01dc0900000000000046be7f01dd090000000000009ec77f01de09000000000000f2d07f01df0900000000000047da7f01e00900000000000096e37f01e109000000000000eaec7f01e2090000000000003bf67f01e3090000000000007eff7f01e409000000000000721b8001e509000000000000c6248001e6090000000000000f2e8001e70900000000000054378001e8090000000000009d408001e909000000000000695c8001ea09000000000000b7658001eb09000000000000fe6e8001ec090000000000004d788001ed09000000000000e98a8001ee090000000000003c948001ef0900000000000074b98001f00900000000000016cc8001f1090000000000006dd58001f209000000000000bede8001f30900000000000009048101f409000000000000620d8101f509000000000000bb168101f60900000000000012208101f7090000000000001f3c8101f80900000000000078458101f90900000000000021748101fa09000000000000c8868101fb09000000000000c2a28101fc090000000000001aac8101fd090000000000002be48101fe09000000000000d4128201ff090000000000002f1c8201000a00000000000029388201010a00000000000078418201020a00000000000024548201030a000000000000785d8201040a000000000000118c8201050a00000000000065958201060a000000000000a4ba8201070a000000000000f8c38201080a000000000000e7fb8201090a000000000000340583010a0a0000000000007b2a83010b0a000000000000d33383010c0a000000000000604683010d0a000000000000af4f83010e0a000000000000906b83010f0a000000000000de748301100a000000000000307e8301110a0000000000007d878301120a000000000000c9908301130a0000000000001e9a8301140a00000000000063a38301150a000000000000a8ac8301160a00000000000034bf8301170a00000000000010db8301180a000000000000a5ed8301190a000000000000bf1284011a0a000000000000554a84011b0a000000000000985384011c0a000000000000dd5c84011d0a000000000000f98184011e0a0000000000003d8b8401" + "babeEpochChanges": "0x041b10a4d5f878943c8e0f9288835ed80e45e73b98f284f90a92f6b32f80a4e104e95c980101b322671100000000132c67110000000004d54cd173441e0cc1a20900f224202452c7cacc499014243568fbaf833890c3ff3566980101132c67110000000073356711000000000458e1443fceac9d82b445ce014818f6087d5690b19424a159f55b9618980321ca866f9801017335671100000000d33e67110000000000000c1b10a4d5f878943c8e0f9288835ed80e45e73b98f284f90a92f6b32f80a4e104e95c980101c32b000000000000b3226711000000006009000000000000610976441c448aefcf40a72128edc9b44a4f7ef9c267c503e98f5f9c72d5e9e92f000100000000000000827e307dcad5bfe176ba102e357c5f18ace450271cf480e27cb994b9197be15a0100000000000000c65fb01e233e312b7d3dd6bf7d6c159d30a06550fbf40e664d2f97f21def7c1d0100000000000000ae5797a6246fc7f96394d09712e9abdfb1ca3e7793c3f093aae6c126024ab72e01000000000000006c9c53f3824abe976dedc2792e1c6b8cc55c317eed2f30916c3229b60e579206010000000000000080f20c794a97e6080e7b81854feb03a4924ee28b33bb2269cae8fa582dfedf2e0100000000000000ec8fcbae6ca9d402b51bb0bde913f0c29769d8d1b9653f4933db117890fe38720100000000000000c29a52b01236996d090dc112e63aca2ec383da79f89c5db420319c7a7ec9645a0100000000000000cad93fbaf78ceb031a3677b27a9e579688602099c97258c746b080422c34bc4d0100000000000000f69a39a051376ea1dbb2a00c3e18369664beb746ca10453dad7db5f9341fde7e010000000000000082c934f66716490be643b87b99dcfc1c530e4b2ff2ef2df2d1844120cadb293d0100000000000000dadcf49d502bc401f146b250e918ae4d0a441958b24825e3c09dc820bc03131f01000000000000009a2324f76f2a79412d94cfb9a1cb7299738eb901ce8f8cccd22fc967293e3d220100000000000000f88b0be90381341d0d7bfacdf140b8f291a16edd3310f72bd0920369416399330100000000000000147ccca21c4dedac43e0222ab379ef490987b302176a8010ba2265aa29567b610100000000000000e0c8701616aea15e91edc27c9e64e0afdd3abbf4f502c0f646fa060eded3bc680100000000000000906ec0a56171d27f65c29683a31c71a87a4e32b273596a0a704ff07ba344d0660100000000000000e03e8b838de23dc7dbe96982a43cb33b406d6f9978132eac11ae555efa8d226b0100000000000000ba395fcb33327501109ed40712c7a372d25bf3339edfabe2a1964fb7b5d4d82401000000000000003a36963a41de2036872df1c499f45acc0e7179457316ec2d99a6018e078f6a050100000000000000da9bf8b51b8396da87113ba296940b23a9fb3cfe7c3fd0b3d541331121b8f57c01000000000000003c2943d6777720179fafe62691d06390210dfb03a1f4c77150cd7e708b86be1e010000000000000076fa684c09e8db8594712bd6687168de6771b73bd3bd951dfd212c996c4f6a350100000000000000c0ff0ad7de8b9403d14459655c0ec4107f119e74406be3161faf15b5ddf1395001000000000000004c9886e2e62ee92a6778d6a7928052732044b64fa61969cd8e37f3f7e3406f7201000000000000001a9af74659f26511f8a1eea1a942a2957074d61f469d88d1bd8fed899735624a0100000000000000a23237719086db4a3c6e4ec298be9fbd400f80f44b694f69cc1dd1cd84ecfe1d01000000000000006a84d16e0196639a917baad78fb5e3b716d7ffd6c447ccadeedead0882482e6e010000000000000058cc4e48b26665ec1d6c2a128f0f5b70434ab4a771743429058b963257e6563d01000000000000007a42c87630d09e4d4b041cee10fe20840cc0ae2089514c51e248e137c6d5ab0a0100000000000000c80f32768e5bcf83095be0dc3db1f59f43650d58aebe4ca599dc02de3bbede120100000000000000228dfe58ff0326d8c8e0c51476692d0610424b01244c52c561f02dd133e83e0a01000000000000001e8d73bf05780fababa732bf11ea5251ca67db705955f2936fdbf2f1f1c8f13601000000000000001c0856b04c28ed8bdee95096f95646efc095737d4482b475053245db424e022901000000000000005237e4509f24bc9e8bf9bfd78b594219d86853ae16601f692f10c9b16b88f83b01000000000000009af80e0fb29426348d821b72cb4624373fb44ef41cbde4b4e85142573156521901000000000000002cbd43e95a827c6a62a0621b1297f0328c5919029173b2b4fabea89fa65848380100000000000000a0511c06f6fc317bbc43df8b47b7c36ca7e3ad43010607e88f21cccb32ecbd5b0100000000000000c87bf24eebac187534f689c35ab23038e0a49f890fabfc10613ed78dba1f67170100000000000000362701313409bc9d55aee9cb57aaa8d97bea27bcb918c08b99e8cff39301936501000000000000007878eb8af8d5632448ad518dcc3f5423192252747313dd6c3a6c1505482b29160100000000000000b88e803bf4241f6465c0393416858ce6a0ac3c350be41cf0434a3566eeb79c4701000000000000008084d934bf7a7ad960de3b325ad5109d10eef00e90d6ab776240b7bbeb6a6a7e0100000000000000ce0c4220872f866ef72bec24c671acc11cb909f47491c5ff18bd48eec429082501000000000000001e38c5026ae39e74530c1e2044eff23791cd7a39e748316848f2c0d627be22530100000000000000f0fecff9ef1c288d6adbc261c63a2dec156042b30e9d29e30283e682eaba675601000000000000009ce7136b5fb85ba83e153c64a212fca1eee9c3ee42fd010fb27f2d55695b29640100000000000000707c6f8128973d552e4e13c7b3e0a7cebca93fecf8efc5df89fb66865acbaf72010000000000000006d2846642c835b0fb1ff1ef908449376aa8e7c0f3352e55da9a1e97e9528b230100000000000000d4be6f891156ecfd5f9ff661f780884578ac18dcc999b7f574510196c5243c220100000000000000ca29cefbde4a2167c5b0b4900dd25b7dd6877111ce52029ee334f02aa9a05459010000000000000076fc5ac3dc0ccd5aee50f0a686a0cb5ceb87bb037034dfc5e050cc477a327f150100000000000000702aa745c823db83579c2ab00ff4477b39e270874349bf7278447fcdde4d18790100000000000000f8a681118ea0bb9dfde2813ce5144eeb5cee881c27883de1c0c759255ec32654010000000000000016e3f8f5ce2e2b22b816bed27dc767115513198ec47d2795ba9edcccdde2d1580100000000000000b43a022b3cf70d5c2f080a2759d1778cc246f6f817df139391b9e7a952fdb14a01000000000000000a71577937bbd539f79e0d6289a5d97b1649eda6c85bef8336ec63e6203a066401000000000000008205933bcdf98344d19df8bab418ac1d6d93ff01b6936c46dfa2b39081bf99470100000000000000c08c91ecf8879f5042960c3d61c0e74f125463ca2726e6655fb922af5cdcb8510100000000000000e23173bf099d870567cbac0e94678e62cb1a554f4bf92c14ec2d46d9dbd8570101000000000000002ea26372b229d0438f7fa19e9c80f90fce3fb41024c48475938d6501ddd8547f0100000000000000e67c524e443cda4cd27dfcce70488a5d23a93c8c46a5e83ef5a69eff3a02fa5a0100000000000000a42289d68c963358f3c450a850242bb53121e73e17f0e2ea2b93327446bea33c0100000000000000caa53cf3e8ff5604d82bac45868bf3e25115f7e8f4d1cdfada68f8487d03e91b01000000000000005a22cbf55ee96a7afcbaca5ea1aca08d0eb0f2eaead1f43633ead6ad4c30c239010000000000000002a65bcaa7e35aa60238c784f04cb771829d09bb4e0f7c1c14f4e0b4c0a6391e0100000000000000987b7ecf8720281e4a19c9c5ec6c62be561b6c2e341d5236a6ec0ada32f3e15201000000000000001892bc64859d3f7b26ea46d591a09bb55a80bcb9f2624c61d2ae145e01f56f530100000000000000da2ae63c251f8974aca311e38f118bc404fa9492c08576a3863d2944f97901050100000000000000c4eeba433f476d40e4d6967214298eff1088a8404d81df860229f484cba14944010000000000000088dcb7ea2da86c213e8c735fd1c3c9048bb6312be7045f298f098ba056b87b2d01000000000000003462df838ecb66d01d18c0c4beb28576871b0751075e14668fceb8970104150a01000000000000004e505749e5bbc4d469c2640820ce1f61e6062bc979e258d26e2c1a52b820b47e01000000000000001abb26ba0076d5e001abdcf18d4454fe25c5076bc5ceb1b8f35d6041670c265f0100000000000000b4ffe3c5959ff37c11c6f19d91926cb97aa4bf0f604919e1753bb55664d061680100000000000000bc4c9b5425f9a2aa09e3239332c702dedbfffa2b9f4cc1b978b307fc1fa1337c010000000000000082adf4dd2acaba7512ff01a3134c63e3491c88a10ca13ceb92b60d34b6750b760100000000000000bcb501cabb14adc6bd1c1d8a94284bedd2a20a21f3caf33d7e60edf1a73065530100000000000000b0d4319a2ca1e335440462c6b9c80cefdbfc9aa735d84301a618ca480b56033001000000000000001ee57665488b5ad6f7358157b73009a4ec4b14b4a03c976487e188f54bff7d6401000000000000007022686a613aa1387ea688fdd9a23170bf587f7f1dbaf7b8b022f120f3a4560d0100000000000000ecc606e7ba3eed5d7f6bfd00bf679f03078761d1cb50904d1caa1080431d4c340100000000000000dc387c0249b862faa91a5fd30d1c2b86dbc741b2feac242f274bed763d647b6c0100000000000000e208256605f8c064a2ea00f8503293d0dc4aeaacffe021a328cd164c22b623370100000000000000c47bd7af17b6ad4f01e2880542c8596f5a800a20eeebcb37756ffca94a6b98100100000000000000d8632901dcd20c3415349407ec167034633de91f3aa55f64c8bb35882c1b0c190100000000000000f8bede5628e65277d7dea9af44e2c66e94c0f4b71e73d40a80436c0afc08f603010000000000000098c21189c2c20a98c5451d07dd88774453a550fd2bdf9a075dd39793c80a817c0100000000000000dca99b59a15cd12f53c2e069f1cc440c0d73b7f0f027e3d5c759ad5af7b32f4b0100000000000000cedc3d581432d4cfc8c40074e913b4dbcb23f36a6e35af989ed40f8e0c59e01b01000000000000000052e7df40b49fce61ac4b3099dd48d9bd647d7bdd7dbc9e9f487e2301dc3b07010000000000000026cc6964564859f16a2c5ce9df5e08804d65acea2bedef70a72b13adb5147d370100000000000000c8871294c3dbdab785b4e8ad9604d5f49db8260dcd8980275c980222e6eb261601000000000000005245c68abe0cf4f23b04bfd3a21f80cadef5f3a8545e49540c3999c3e7079f590100000000000000ac720e90cc27be9742897226740637e2f32f836878078928c27f9f62405a6346010000000000000022be2f3730ae90e20d6e0f1f76fceedd68c124fd811c18482937756127ce86260100000000000000c49cfd152ce3ac1fa142b3b6e720cb173eb7f43c82f021418253a070036f870c01000000000000000ee4b76ec5fabf011e00bc27b36039f3d397e021e8bcacf9532c90fc419fca0a01000000000000000e8a4443fefd81456a49fb947583e7eab5e78b3aa9e3743c4b316de9c38b9f7901000000000000003e79c115c01b959b324017f0e1120c76d87b9a734354fde75efcd05401ad17330100000000000000fe0484d8f75ec1a8a632bf75aa316eab8829fcf07c37cd7bb15ee73193ffcf7d01000000000000009a0b42e88688d547c31a1bb811fdd062908e88a115e1aae39f7bdcd95b927d530100000000000000e2d8807911771f762fef5e4fc3b9685517fe91c48292ec59b4ce13f95bc8ee5d010000000000000028bc76450afad8c197d1fe5ab3055c8635a370d4adfa17c898b3df93a50b00300100000000000000ecce43c0be3c9134a0d62a0b6463edfdbfce1b2b1bf5bac37fbd1cca48e67e7f0100000000000000887fb18ae45feaa3e449cd0b529bcf06a9795b3cf50425c79e1fe94c1db2ce7d01000000000000008ef93e538ce16500f27b4c9a10ef7b02a46d8a9624778d0f83b9f7d8b560466501000000000000006a1274b6748bf822ba80c9a9416abd3cf591b7aee6adabb8359b7dbed8ebb3770100000000000000c6cfae23e776800744036a6881d20a0476c1852cea187fbf9db79c936c51db0d01000000000000002a4375c947cf6042db2ac6efc30cadbeaac2472d7c952fdf87d2bb34dbe1e34c0100000000000000a893d2350e59c1937884d11aa7b680ceb7a49e7dba5a43c67bc7c20bf347c60c0100000000000000a2d800da8b9c1a800f38cb083da3c2132079ac489e7ee41c6d80db836e829b390100000000000000ee664cd198f60d2b4001685a624bbdb21ddcd881138a5d61bd450f298fc5833a010000000000000068f87aa7b88463d824f528b27648d786a8d3ec27e76fb920bc1294ef9432b60b01000000000000001ae16492f16bcf6e1c559726ae902c3360da0cbc6309d50bc5ea1160769dd259010000000000000090708d1a49ef0acfea32147a109d08d9aa15ee975b5237d56ca9b8e324108d0f010000000000000010bfe5eb616325eacbdad84fbf5ecc1f78d087aa73c1fc98e11bdd6a4251616a01000000000000003637d2655a71fe80476a194e4d8a57a61cd4d144c2a1ea4d10e488bf82cc6f03010000000000000052185fbfc63e58ca8498f15d0f416cd474e3bae567650d03ee5030983f174b0f0100000000000000487c6aad1cc26893dc7e498916a4c23d303f098c04b0a8b0c8242fbb7e73a16e01000000000000006a2524121efd4ac63c3bd00c6de3b84e23ad19fc60f886737e660d8fc6496a57010000000000000088f9a16886165d00612032cb1b36669ad62b7325536f499191e711134c71b60701000000000000005e6d779219b00ae1d5e6320faff3b6eb963d3acf7705672ff56d2cb46ac44e5b0100000000000000d6152835cb59040a40a5a4ee3a4d481937b7ee9d4a5649abeac6c535d9e177080100000000000000bc4b95226de4e10f91e0254cfe4541232252deaa347f567df124aba81bac4d3f0100000000000000246615914ed30f855044df3bd63491ca8af4af5614e2a19d5c9fcf8950d13d2a01000000000000001eb833e31087d6baffee4e7f1d9a8e3b7013ea392c81f74313a354ba82e92f6b01000000000000009c8c7c8c91df0ed53864f69017d530b5ebda3ab4bde3c67027e70893213d533a010000000000000018ec239eec5457ba11a41518e7c5f98266d1bdbd67602641d04706f95dba5c5601000000000000002e053f0352e6cfbbef91cb61435853a03573fddbabb3621ddd1ed68a04ad3e4401000000000000001e7b9381ff03ccb2f27fa0142dd09c4c0b6672a4cb3a099cbfee1842ef5541000100000000000000b640f3f59d687a3a2608d96c86ae380ac41d9dc8b175480a8830e27fc046590c010000000000000016b203658e93e4d9c195228c4bba8447f5cb2ac36dd9816ba580936d5ec01c130100000000000000aa7e2ba0ac23106e76a0efad2d34747769f669773802cc4de44aacd6bd3e3b780100000000000000f80643f72c8dc15503957f39e6d9ac6ef062c43c516a1693e87d2a3d26e9db44010000000000000028a027ca1c0bdeebfc8fce85ac4bac48cc072523d9c4a86b4f2594f9142e7e3b010000000000000042e4c41a899dfb238649e5b17dc232c2699353635d60e6a3bdcd71f9b82cda300100000000000000ce4bfd8c5611b1637066ef9e579c85efadfc9513b882184e00b75871ef7f5a2d01000000000000005433988ac1a22948ac82f44b10eb843afa13d3315577458e0cac933f2c4e096c01000000000000008e2eaf4ac96e0c79da47d2b76956b3578b39ee4979826d5344254fc37d508c04010000000000000028558e46037c51ece4d39a8a4d34688662e629413c221d6226afe454240e702101000000000000006a4284a9ea438f75390f6547faad885b235c208634da73a79e2e61c51a7cb410010000000000000098da9bbd7e6841370bac817945d087a30acbbf47f7c0243d6588ed32f7c6f15a0100000000000000a8660bbc474f75581461f56345e963a788f3c33621bd0c1eb9834dae39719d6e0100000000000000be44be4a3132cd45c14bc457aaeec81660600df0f65e28194802f8385134610c0100000000000000bad91c9aefe173441dae1f273e55090706d412b0723d39bd6c3af053feb1832001000000000000003cd9f863ad569b4f0123525a9307dff13dd75a81afe7b790d4d8ff418d97d9110100000000000000c6debd3b107fbd0382b1ccbcd0063aea1f8e27536561fe7f3c6ceb77b219753a0100000000000000be03fe6bc03a7884524047567a8ccf43b3c988bf3b447ca9e1520d1c1f83c53901000000000000005461977495f9c407a8d951e860a1cb2087592103229bdbd879629cc538a4182b0100000000000000b05ad6cde0dfc019d740c3f50b8aac16550ff4c197da19cf23b9293f0c5c3907010000000000000034caede521bed7f19b2a5577234751925041209dec1c5b5771d8ccf33ebd49340100000000000000bc56c07cea21bcbbe058aedd2ced9fb4757caead55f96bda9bed1c9669c32b640100000000000000427f116e5ab35a62aa60203420dd112fd9a116690cec550ad6aabcb0b2a0c865010000000000000078e1a4fecbaac940c04e0b591a01ea66a574b5098852ded2810e3a534971111f01000000000000006ccf2ce8e149999a7bb996faa65194e60aeb7bcd1937c787f886fe979fb49e6601000000000000002ae95f2c9044d5ac14beb234c93680b9a0591a70b3c8ef971f3a1498b580fb4c010000000000000092bb282d46ed819e46fb3ee929f7662354fd095b67a8ed51326b47e83f86653a010000000000000082b820c5bee8ee77e35203dab387f3434b8502e5f1c35dfb2ad15b5c89d47b3c0100000000000000c8469111a9fb61c9e775d2b006fff88874ca9633fced938b19794026f2e9a03201000000000000001cf3446b4b5116a1784d92cdc5101e55a5fb91ed3d93efccd06b304a94362d0a0100000000000000160e7af1774196f2395d4019a498e397faa50b61f698c16edc78f0d5333b6e1e010000000000000016a84c8857157a54c704dcfa497580b242409b4e57ab45a9f6691c2008df33410100000000000000583ecb6dde18a2984d5af56152b337cc90422fd6e937b5e06c1c6caf50be212a01000000000000002e4d6bdb965a6ffed473182815cc73cea17b23ec20cdadb87a7344e9f17ca83701000000000000003ae417684c31a1c6d44d4795c43336c336063e819cb27c08860da2db787191180100000000000000165a03988f9c57cebd3d6bf3ae3a5db1fcf901971d67e52dfc3ef1f6a7474a6e01000000000000007203b3dc19c8ff42aa0c90d10328d49e6aae97e4d93d91f33e584fd16073f27f010000000000000052d58f50e6ad841adfe6c77ff332933380712c236fb0bf00565d58b3b4e41d78010000000000000018d99932bbe04bdd1da315bf0c31ad9ce555b84955db60ce36bb73aec0d8a61c0100000000000000e26019435e06e3807360b546063269ab645e6fb3db5c99a573d0fec63e2d5371010000000000000006379582a73f65db4e43d5bb5d73209c970b2a4c903b3dbfee465eaf7b89336d010000000000000024030139ec9ee0e2d96a22a3fa6b3c3e3bfe7fbf57bf55e9efc4586a103447200100000000000000e286e0fc739361f9e413d23c3faf924082604a390f3e81821e257c4eea5ce33701000000000000003873ac08836bf81aa2077f9e50a55b47e02697ad9fa6704c7044fca0c93b824301000000000000001410e60e55e482bedab00da9cf093bf2091b2fec2762c3d937e3640df445383301000000000000008e0fdb9c1c1175d91743756935f6860d7b29cbce467275b8de3e6425717f6b02010000000000000040a2527ffa7d30d788eca127d435c8b5aa48972cda538b9a1627a57e85c8fa1901000000000000005673f82330a1ee6e6889f745fe15c353f5f8989e4a281e8aa53e38ce1e74556d0100000000000000a280a51ce0a86f40fdce664751a8209051eb2a782c0ed47ac218558717e7de1001000000000000008e47d90d960a22d3c9486e3ef6cee79c6413bf8aec18d14d55cc7e0b43e5cb650100000000000000e8f048309f03e3d9a329dc04bc48c8d1befee7928d14509121dd06e76cec0d2f010000000000000028e972febaf463f22d1108053e7c26ccde1e6018d7c302985bc227557e0a663b01000000000000004e524be219d0f11a7489c27d0e01cb5430bc9f58f75a66ea464b717dc25c9a6b01000000000000009e02cba73dcf1d6eec957735bb3363e66c2633173f821d0edd97e9fc3fa1242c0100000000000000ae46c529ba59b0317f6aa431f79802e087355cc32d78258809da6a9b04b8f2600100000000000000ccf230623370ef275ca417c85fbc6e913e3f5fc8f51e67f54beb8686593ec85401000000000000008e5f0b817e1f12b66afdb60a3406ced3d491000cf12866ada159cdcaa3bf010c0100000000000000d648b32d1d22a413b4a2c40733e4bd83b29c0ea6e4ef72deedbf027440c8837101000000000000004a905d0574cebf6e8d00d382b104fc8ee1c008f1b9ffa6fa5c3b67ff29719c0d0100000000000000fcccf8e328b4cc968af52a23f6c960b5e34241047b630c19a0661ace6b9c273b0100000000000000ac09c48f5dfccc02362c489ff2522fdad54d1f37e6b47729411a93227f602b780100000000000000be6106f9217a1847af66de9510fdfb40514409556506ddc1c1a897818434125b010000000000000016f2e4835ecdec4c373e17f48c95cb119263cbd229f7e32c0e2185f7003d7d0301000000000000007ad51779d992e61cd6ac6ebb83fc648c52761a8aa1ee2c21ad5e0b1cd34f14750100000000000000f0eaddce7b63e666eece637b1128a3e4f54178df87a9b032fa3312f68fbd961f010000000000000004d74e03b4e2cdd0109cc8efc5bbdf36b7b5d89c17d4a56cfdb23b0b2b77e1010100000000000000d88718cd488bce7f9537e3891afbbbd46c0a0bfcde22cfe51af0ae64cecd2d540100000000000000e09b8828dd7af7ab17cb00b73845871b69d925dcc38d6d29f79197f5c87bd8460100000000000000b2518044cc31062ee50fa81cb6983f314291a0300865fa5cfe149829c5050d24010000000000000072993ca365788924450fed32848a67b7b711f3d353c960fbc530e8874bfd64360100000000000000d2c97828a993b57a79d8e70e9b6cd9e90f01d1bbd934641509aeebbc625b9f7e010000000000000092cae8f83675e95178a7368ef2ff9e46a2403fc98f94e90519c3ac4d7cdbc71101000000000000002eab7eb696d4c3dcef6c5f74cd704eed76fb51790875d8ddbbda133ae7a42f7601000000000000006cb2f0f0e5fe70eb547a0814ca5346f59f7f2ca74c00714aad555157cd5a29490100000000000000042e7c894dd88fb2b0c7dc7a56b44269e0ee606c73d5a297cb459dbfc7649a1701000000000000004ad8fedb395dc0ed63e0edbdbd2d20555b61a46aa7cd751e4308335c277cbd6a010000000000000054a4e00f3df9f09e23118cce02f804d36c4968894a621305a0e8150a2910dc6a0100000000000000b4ffc5ffc39faba83f78ad372a2957e56f6e5e90aff555afc696f79cffb78f2d01000000000000004c5e6997b6f186855b1f4c9f8ab2d6cea3da2e86445605ab89e5b5821e05bd3d0100000000000000269e8d252b8a4e91c2ebdb7f4b07bfa9201b88bd436e6c4044e70364c746614e0100000000000000c8763ec27b5b8f3d5ad45b4eeb6b47dbdedc406d969375ac509dda2315ffa409010000000000000064c6cab11d72a27c48de2f30478a51258057aa5a275059d1455b480fbb181e330100000000000000fca3b0bf7a3b4ee818a50f86de0be2f976621c6f5a3e768448732252e099cc1e010000000000000018820322d29e40465465fc5f0b488431e710db471615f780451342f5690e20350100000000000000407d69fc26f00269186d96a26e6fa3537160898d761d6a785cb7dba141f87a7a0100000000000000bada36224e4b8748b004ac32cb69ba73235cc177c2aaab775b5536218b27df5e010000000000000074f02ed037d28c883df643034a596e4d2a97a23782ee8483c9ae3429ede7e70901000000000000008e3728649624aa32d3f1d71d0d57fb42a9ea9d3155a2679b02f2330e4c7cda2601000000000000000eb2499cf6581d6480292832d84efa484bb7dc9a36861b35591e4289952db27901000000000000009493e6de34e09c9679b6dca602e38d8c07abb77b3cc487ae3a80661968caa37f01000000000000002a8e4336c0fa5db2307feb0bcaae257f0265ade08adeaadfabb50b9838d966320100000000000000d2bd2d471f119d01186c7efe6604e7186de3a72278b28bb93cd0e6355488ce6e0100000000000000984522609ae23fa1279b0e70b1e274dde52dc22a93191376b0a197d00301a82a0100000000000000840290d318350bff32db3dcf6138b822cb2adf1dedf5bad8729471988955915c01000000000000008c6dc982725d0f925557f77e1844d64ebbd5e01b7ba9466e0c1f1ce8bb757f3901000000000000006601e1af585ce0bb093a81463302caa6f02919efa89aeed138d25264b32f3d420100000000000000ba1a89293f8cdef3c8d0eddf74059662db8bfe781c27f214b9818b46d159ca780100000000000000f2d0aef77dbf94d9123f02c94cf868c7d3191c8d7060405b68002bdce6f7eb6a0100000000000000caa66d23d824d48eb4fe2bc976499ef56b911c167ae728f9887b700f570d3e63010000000000000046543a6ba7d90d6f10febc8b628775c1dc08b55cb93c04e09f0a072f264907360100000000000000e4d9dac4f974372174e57beb5db603cacd8643adab75a3ff108a3d9012ed153e0100000000000000d8faee17dcc461acb22ca1720b86385414ea8810ba31509fbd8da8733029eb190100000000000000105aab27f211e6df23599236853b58c04654709d9c7d0d5c27145369450f324301000000000000008e703730fd72822a067f724f3efa6bbbc82d5c064d3560c5833bf49edc21061a0100000000000000847f4b6d72993380e0e76fe2d885e429796335dc10f470005e9a268880c6fa1b0100000000000000c80a16a172ea19de337c120de8ba72df1b81efb23ff74e0ee7cbf36e666ede1f0100000000000000f820a8ed2c97f639fea2892d0a89ae98ffc4c0054f948f9a0108e4d99f89994c0100000000000000ca49fc4bdcd0f86e5b9883bd25a0831acb18f61da33b84616fae8b56800f904d0100000000000000b66836e9d42ceff254416bfd6cd80592da3a276bfbef6018540bb0c93a5c44410100000000000000ce8df132517fec1b06b9b7ad5a9e18f861df5bf14dd32b0c7dc3f03be447b2730100000000000000566779977b35c81ab477958e39cc697ffce60fe1aa31f8121da08329b25f4e0501000000000000001644ac70036fc8b19ec0e580bfb10d272798d8c7aa3dccd00d5ceb639fbde603010000000000000008a2c8bc8457a382313d040c40f3f0c02eed0e5357910b19ae4f0c9360e4dd1b0100000000000000a8bbf134d2c82050f455ad50876ce102de5e63600d2226ae2d6cf3f52ad6eb240100000000000000480defe8739c9518d5507480bb9c68ec408a60b944824521f1184b74bc47f2170100000000000000780e4353aca40b0f2b2403c862cb33032d49a820244bdc2853ce158d48c4f610010000000000000054793d64aad2cfb3d01ba50441a008cf5cc9acfeb8390ddc3b7945f7e6e65e290100000000000000046e9ea6faab3f6ea31d95f9b4339bc5622323907570fc9c788dbf46a13bb92201000000000000003ae7d174f16f034ff7816b8d9ef1b4b2b15ac5a16eefe819253b03d958babc1101000000000000003cd825436dadf293b1f5c315d478b960b1e6f141e3244f2f0c892f42c0b159040100000000000000ac7c9bb11bbd24b64b4611071ac5ebc4c83e94d38abc3df541eb9dd04b726659010000000000000068f3e478d28f00ce97dcbcce5e9cff5674f6b3d8b06f7dd8be7b5f3b6f1b555d0100000000000000da7bfba48819dcd92eeb75e2435784132a257ce38ca01a6eb3fb66bed9422b240100000000000000ccc5a764f42aa0da463245aad924f65618099b1605ef6e3cf7efddaf791cf34c010000000000000056da6e5ada211131376b8d0571118b69fe57fae1393d23572b484f394857904801000000000000008c3fa761a684f89c63b5014e6a934f763345f91c5829d88cdaf28abe75c0823101000000000000000ee6df339af6749cf9b9fdabafc0cdc59ba35a1244fa56b0adf6bcf7cd3333000100000000000000c081b6f9b341d1355ff2caa0bb297d9cfa88dc9db48eab74f1c004c189513e4f01000000000000006a1b43dc9100e51e8a92f4a4d3591b82bbf77fdfad6546330c67d3bdeafce71a010000000000000006f8df3b49930c691067ddce8889df6179b8ac05a3e9a96d0a7e98904c969b14010000000000000092ee092cd2215c7c1628086c08be10a3cb969f6b276f600422f3526f303bd87801000000000000009aeda969400e2e21c35ef284458dbc898f277a49da9dbcd675eefcf265f6d4450100000000000000020d34131c7a0ab6d104839ed8b9e0cdf075b80409a36fbe94d0cf83f7ea1f1e0100000000000000b484046e76bdb203eca3e22bcc5525f7973cfc70ab7eec3f568fccbbac6ba140010000000000000060722aa6239a4b5f138bc30c5b3ebb5cf0c53b901f71076f213b72d073d2cf3601000000000000001098c3193759138d2ce96e47b00dbff13b7542669fec49b78355e10e68f6e4330100000000000000b27ccb4edaf0edc92ce1f35b0950251d38af8cea2dd129a8ff5e6c946ed6546b0100000000000000f49fd7052f702bae288ac771a22e6ffbd69517fe04d413e865460ff8c9b5c94d010000000000000044970235c8c767ac47ec2c2cb6cb391bc552b8421da58cb851f1a43647ec6727010000000000000014e5caa5709b3d5a8e50aaaa9ceba368e2d66f964e598f861938f093dadac32b010000000000000040dc7c3e4af430f523ce1ceb5de4c836056a079da82caf752cceab452743695a010000000000000062a20e32bc5903bd091251507aee7b4860fc74348f53ce32f078c7a4cfbbdc3f0100000000000000ea0853b1a9c0bacbc2c57c8233940af4bc51b0734b721f75b8ab5f74d66c0a230100000000000000f44b3ec5c7b2188f208d60d159d1f5b0914a51a0632eacea6b88ec7b26d6673d01000000000000000e3e265f291f50053f38c5c9f145c86caaf56ca085edcc521d58371be0d54d7d010000000000000002d0beaa25938ea3c9f16d3004577ec1e1e60a8198c268e209d2f64a6561b32c010000000000000046c5d9750776edafdced20206ffe4b799489f6de9e0983eeb3a9fb6485c7e22201000000000000007e2f54190ec59a98cc3930dcd41c7113812c0596c9537277ca93038a9e57976b010000000000000054ecb1c6cdd76e77a694ad7d62b50187c0de759e60b46c82ce70e62a9a328e3a01000000000000003ef1fa1b2ae33d6fe3d94915baf7540a6d3b3c34d01bc2670608bf8e24c1b15c0100000000000000829f64b96b37d0aa283fe99a6d2150069bcbb6be61d076f23b3992b6c1fe6756010000000000000052d36d934905359a84c6ab4d2e4aa7db403f77fa694cb05c70d5477f7079595f01000000000000001a92511f613b3af5ab3e12154c67018535927938caef9aa966ce2b503157d83101000000000000006e0bcc6441aa5c0ed8dd01fe8c2634777992f68f3e51c6c45320764f551f75580100000000000000a63d72b83c3d93acb6595b2061a6371decc6de7fbc8d7c70863cb61ef79b6e510100000000000000ca7706bbef090e99e2cedf4833d3bd4c215121c9596957b651ca4924b773032a0100000000000000a065f45a353f24ba187248aacd9c64d5c3a92ddf92b4a5c33994f56a07cea8400100000000000000584cc334d89181207fad8289d1e89a85848439b16d4bae59f1004188e8e26e500100000000000000a6d498495e591b3b16dc6388c4cf43edf35e263d80d743aa827951f22e0ac91901000000000000009821465bd76d11b25f1384d98901fed08727f3cff92131d817a987333cfc5b650100000000000000b0200adae0feaeea78d77e0de3b4a63c7d44544dd0082beaa93a293abbb06e4901000000000000001a04f32b2351585bca74d9feec86d759d49ee55b615bcabe955f2def5b98df0e0100000000000000742a6a8943509da1d899f82879b8965a928dc3db99996a7ef65dab90c22c990901000000000000004c33d7c12731da00cfe56735e77c4d39618a6614e793319f8dbf398fde4f7865010000000000000074e859fd23da9f3b5c0b554492134ec981deca6fc0d8e4fc6e33ca517a0ce26a010000000000000022b634563bc2b885326ed31f52644cef011566a890a26192a8b5435b19fb6e42010000000000000010f6d73ff674b4168adce9e291ae84b250293e48eb40839ea8ffea9c057c83090100000000000000ac04c4e0f5a8d352a19ad6fab6226fa1d69222aee364d12809591265f193403c0100000000000000ca377174a1aacc948264510f8fb2f4264475ed6acf4402110d99aac6813a990b0100000000000000fa5c17f9fbeb03ae7168967f873626bce0f0816360a1a1d1771cda0923211f670100000000000000d460e8effd89689383e396bda01d4fb48658d1b2be0f3497a635d92a00783e4301000000000000002a98fbaf7ec22832522e3f96821711ef684283911a524960efb14953255baa2b01000000000000006cd1066d5ccff0f29049137b42feedf12c3a4e91f37170a20e87a84bd6aa1d2a01000000000000002076bc34bf8c9ba9c0922f484f04637c02b4a44e5dd7ec861f1ca8b6cf84c84001000000000000000c9d4662a0db861534c425fef89bdc187373aef9db744c8a81ad2da9c68b4e7f0100000000000000f8d7cac8239edc444da065c812e4fb38f7b0d928f963388f951e2b0115077a7c0100000000000000a4945508cf103aabe69457d9ea2b46425d9d26e57f89e6b1f799ec18219ad2550100000000000000daebc8ac4d5de187064149056c4c542f5db5e4ce4a8e7a37693cefeac4bec3640100000000000000d285950cb237602bee1798bcd24418a2a562b549fdd8e5ef2d1f74101358a04601000000000000008abdf8b9ff1b4b262f60091c85e89746cd57ffe8e032ff255c204b69ad8b4c30010000000000000050353935ad70982e3ecf82469aaafbebf85be7452ee1222882d4bfd9a8da8b0e010000000000000096f9ec98d4cfa00b9ff41b5962d3c68f12201556d80bcde84cd85251252b822401000000000000002a89ca2ad62c6b326ac778f63292142fcaf4d9721b13d9994ba4abd46152f30b010000000000000078294f515c659b94bfce9674db37a3cf2f32d89ce1758ca53d1860037cf1d42a0100000000000000a2d57783e292b34b8415c5aae90097a5b7b243b7d80c216e43067d210004f30801000000000000000293de1a15ca28a5a077995f730a4def3da89ce2f50d31a5efeaed7547f821190100000000000000bc4529c25a2a01667d6e451ab753e1713be0835456e6fbd29854cfbd45dd2e3c01000000000000007efe2d823470c2d98b6a020e469747a7a03429abe579202b97b2a5be6c209277010000000000000004efb918028f583768356118e9457c36583319eca6d53536596714e782f1596d010000000000000048ce0aba6f1554e139568b4d2358d6cca9bc291d3600787cc3e732291002ca220100000000000000a0a1cc9172a71b134162a60272739d19b59162748f9e1c4adf86d3a10834c72d0100000000000000a8731d355eefdfbdb7fb12cfa5a280c0b1e408aca264ef585d42bf97fcfba1160100000000000000f038e6d72ac8c9b9d165e9154b1f7978dc906e6bbb501ffb8e3e9a739a89cf5701000000000000003ce775a4a6215dbfbdc2b0a8a8b71936abd61642b5fd1a0c1d06ba548ad3025e01000000000000005ed6df49740350ebd53c0b2ba22e8a12ed609dee8070e9c06e5a36dc59550b190100000000000000fe24bd4f4b0e75ff21dcf16a3ccba49556cfa9586348a8f939df8def8a214c0d010000000000000086ff7f9b2eaec6638f33502e74c216fa4d15f774b35c318fea091669cb55441901000000000000001a5c0eed62bc68c0c018b8878a4514706a996dd8dfdc94798684656c8ccce27b0100000000000000f6c3258308f4382c9c7d36f4435b692b42a20d6a7fa74765f7a965eef088c82a0100000000000000685506af78bd0b16513f09395368600e5b6fcde0f89d280c6446b1613844351c01000000000000009cc697b491304d797292fd5f14284c376a0adb2d420add197617126cd258f62c01000000000000002488a8bee91b989dff6adff396074f3300e7938a962ea3728943f37a23a7763e0100000000000000ec25078562fb511f0945c3af78d77c8e02f570c647957c0932475aac3ce72f6a0100000000000000dc4ae9ca42fe496af7a466de59735813691d9c050f3256c3d4a96664cb6f9f670100000000000000028393ee5fcd06734e381651c82cb89b08bdcd64d1aecb4727fef82ae5c44b4501000000000000008cebbe9ee49c45528deec5d40693552c8a43478d4a73f731264d1cb07884ce210100000000000000e0d7a8263f27cb76d32137dfa7ca09355a2821fd2c9454b222b3e5cfd81ca359010000000000000064eda01bc8dd522756c6728f9b030c1b1f605ed89e91233199476e5b0e96ba2c01000000000000008c53786209d22e7605c5ac59b155f2ec9bf5d088d77abd8930fbe65463cd8d6101000000000000001e534cbbe982369a968006efa465cf2a16807a88a5c877d45f090192ea619c6001000000000000009c4a01b4b6e187c0c98931ed673f6c02ead7030a0f6a967185d7823a30d17969010000000000000042f799c01beb57b5ae0779f17bc6be1a8a6ab789cec7c00318049f1a68da50430100000000000000a8799cec2aeeea9f33bafbcd60c947d0bcf3b1c9be450c43f63004e16a857e72010000000000000078cf1debe3fc0da2ed2473d1e1835a478cc3e7008e0cf42043f287bc36804b710100000000000000b8f696197dfc324b72f06560c38ac6635d1bfe5ea4cf59c133c36234a0a012540100000000000000266f93d04b5ea1ae454eaa25946da19eb9f1ebd3a6408d8d1ac4a373305fc92301000000000000006ae77bbe36c1554126d56d6bdc72946f26b4323f38125fe5392e154640a60e300100000000000000fcf8c8db78fab04b332758bb6edb9fde68e74ee228c1eac78812cd80adce1273010000000000000032e2c97e308c84afea4b37d7dd8f62e67763126c357c9e6e49b27f54c3702b730100000000000000c64c595519886ef38c2fa837c795ee92f6fe003037c9ded2c1282a939408513d0100000000000000c6a07400a9c7d51d51e5b2c120b40c313ea99b4af9c0c4106bd753f3185f40680100000000000000a0c28669f01d5b4decdab2abfd9d14b989c1d4b32323f264b24a788de0b9d243010000000000000078e2ec49a559fb6f6a23a0f54aa60dabf71f79fd6fe6cd46f00d3b0e25d5277b010000000000000006edf91775ad7933effa1660edca6bfd191ffe3fd36890c618c442b9b666d2380100000000000000d6fb6a5a865021263be239af6eed5a9e1b27e0c4f430b66216f3908e09ccee6701000000000000009829a89b84bf8a0c76dad25d99c2e4476e51bff2ee9e917a65edd1b4175cf5400100000000000000b67a042a5fc9668101e9aad4a291ea2aeafe50eae796865cb201201a6dc691530100000000000000080527decdf951ba9bd3ed9acb5e1454d07c661cd84833a455a2d239c18d42140100000000000000847f948b67d6f455e2f2923f366dfe3c0a3925b451210a46cd36fafb8cd8290601000000000000001e6d57d7109cc6dc573360e5f2192578e3324f2a8dcbd823483b82d725a9771701000000000000007cb1f225b90c00f426c33ac4338eeb2dae6467b8a9da5c1556e6588c12ca977b0100000000000000b261a66b9bae17b65e7f6a88d65efb4519925d6c418c9e2ba17bfdbf684b77630100000000000000c4046e6cf48c9913b2af1dd8caa4f7ffd03a01255af691cc1b70f142b97d2a150100000000000000560c91919fc22867159ed77bee1b3e70d2e222a5fe6e830fceb13b58b0daa5290100000000000000b6068f3b8a0ef7a3f7916e5559eea8158d5f5b09d9db89e40dfc5bab0549911a01000000000000003680cf4852c43b2a708608cd7e09b531e7748e4d7e9d65904676f53ca756535201000000000000003227028def74f8ea7bede3e112e4ce09d8fb823790ed599f2259019945f2690a0100000000000000d28eb111cd786c6f09c003d958c4a26cfd7a33f9e8bf6db02795f12afc7a1e0e01000000000000004ca838afa9f12e88436eacb5024f3f94c95a66c32e114f65f3136176e426c75501000000000000000ea6f5d4087d599603b0c39fbd588c198b9d9bec85a77a5579ff68fad12fc20c0100000000000000ae3abe7a22e9bdc2c56ccd4ee8b99867ca5c54b0728ff372f3ff5caa3c6266160100000000000000fc5b39a7b7d737c7d1dee9dbaa77969b95a7edd3926c538d8dbb854d53cb3c1101000000000000008868524e56bed527bb3039e7d01a84af44e8e62ed00b1f44098c47789e4b201001000000000000007e8fa0ce0acea9cb5bab44ae7112ffd068f3a3c193a90f1fd4fb00adc1a2042c01000000000000000c60356c02d5d99293952c478fd07b2cff982dbad863ebdadf25c9e69206f14901000000000000003a8b589c8222ede45b3d95c8d9176543ffa9a29cbfa0ba2af60fc412e732d75e01000000000000000c6cc2bc932adace83516fe99076d532e6197ae08d66610988288044c6bdbf3601000000000000004843126f2fe8ee46dd4a489f97b1f4717ef777ed371da544e30e8c7e5f0d681a01000000000000008e67bbfe6269ba4ea2b216e7cc21a54ab882859d65a691ff2eec486f66a9035f0100000000000000103680fee8923b681b7721ef2bdfaac20a99bae45e643b42a228be43b3d211660100000000000000603fef5a531a03b8e83a8b66f583edf78706b93a11eff454f5a56093a6434a3a01000000000000005edd53eab09b1834ec2435a78a19daee1acefe1e84de77bf788740d9bf6938360100000000000000981f14da22574782d35643e2fdf2c514245b6d7475048becf8143136acabb00c01000000000000006ab4726a2bbbebbda26c700a0020ad97b882c089532da71cddb05023687ad71401000000000000002aa57ae83dbf829a794b555b8acddc97657b2178d0722c6263c8ddd19ffd474901000000000000009664e4e01c42d9a22435a39dfb1daa6cf043abbd01c1b081c28ee271988b415b0100000000000000e09ecf865113ac4f2520de61ba8b8fa5480534d41145d1ff3db5c8ea3f3c9a100100000000000000ecf0297bddebd3d766ea7def2bac79ad6eb650fabdcd029b99cb1649ff7dc815010000000000000090b46ba005eb064c8ea5ebec94a5facfe2ad0c0050dee0f51026f0d1603911170100000000000000f256b9b48c47178b2f1896a017caed1ea2451c84c29ca1453ac153d0dab019130100000000000000042cc9a90ee7801f29bde1f77ebc42e68fc8432df113d23b82201d1a10e33d0a0100000000000000a2b45b2d7c584f27b6ccd878326346a15f22ee80c56a02aad47118e5c5a0a10701000000000000001a47252288a7ce1b8f8892ca42e0f279967de49258218eaea8bfd94ae117b77401000000000000003c2f81db928e84552574a761e6bf8991a337ef5907a5ad26d8d21385da1b7e3201000000000000001e63ed13cb9b8d544a73307d348a241d87d3d1063715d686572e705b37b7483e0100000000000000eeaf1f835802c8997d3158c153aa6b5a01c5cf2772b0c00339bffb059ca9ed420100000000000000183e5f34c7c987bb4f165e2b737a9300495ecc1b7f9681c5c748bffea19bdd650100000000000000a0935670e98d2bf4800f84af8a051ce9d600d2f515cc2de17a9e354d3488db460100000000000000e84ad35c6913d9fb006b3d64760b959edf736c080c8fdd58af24ba8e6a6fd47b0100000000000000e8b7e227a0ca7c64a4099a3fbb509620d4b8e1dd91e1ca32a5bda49d4aebb31f0100000000000000ea3c4034fa89a8744f7c8a55560418d7298cccf97fdba7cfc0a9c83701dd680c010000000000000036ac66f4a630e6c2af684fa7ad07390d67ba6fa05b50bb5dc3ec8cb3fc39f66b010000000000000096ee011f2c7af1882c6b9d8c8906d200c152c3fa13c272392abb166ee812ce000100000000000000f8e53780bed6bf624f73d22731cb6c5eb520d40e0b4d47f62f8a73705ee9853d01000000000000004e466f6a4930d856a1f53f21c1a44451ead20c8c71319f6a685f0e254d24c32101000000000000004c1af564e989c30c6e5ae1b8035ced5f59653b40cbc2d78fe17336468c8f441b0100000000000000ae811b4f4ae70648cad6c684fd8661c27a5366548acaf538877698bf03c8b2100100000000000000e4945b03a62724fcfee4b42fb9d98fa9b1c978acca29d9ef1704b64c2d66d23e01000000000000003ac231bc9a6e280f3d1ae2020b2e56c5888098427a186d35c052ffd6e42f264301000000000000009647f0ba124d459f0633dfd82a3c3a0010124072d4e274742c7c17a536eba91401000000000000000eabd85c2d5a1631f4b14cab1afb71b4c8b9543b3c93ed53b5a557513bd8394e010000000000000024706d6d41dbaf2bac8cf1c4375d87c3a5b84b8bde07036968aebe83906610450100000000000000e6b0227620e1921d97976f803bcd20553e4e6bc80f1e269c8d8485757f269a47010000000000000088fa8bb07ebce99964718c65d0d6f1b091ef2f4d4cdf7b94a22c42c007ecd7060100000000000000dc730d027498da3a134e72db4e96c5d327ed4809f4cf258b1b6033df2ed1223001000000000000008213c855c6cda8c660559fe47d08cb584050fb4d2dc411cb1311047a806c874a010000000000000000f79cec5a6b6b70f768ed05e94d2cfd70b13bc58fa16e62d742ee49aabe967e01000000000000003e41ef0e02deba17276b3f6645369aca0a14734c503c1fa8c492649bd3f0651b0100000000000000d8bb28523be3666290cf2748c87eef425e0d92cfc359de1d74004354cb583c4e01000000000000000675e394b7c215a73c0157d8e450168183905f94ce283c7402eff541f2f15e2d01000000000000004cb3593968c0254cadc7f1a2270f9a89e0909e12a6eb5ceb7f723ab6ee9b7275010000000000000060f640b7d3d4e9316603270a4e5771ff2d9e48927a6210a67eab2a25149f177401000000000000004058cad6edb88d50305929e0cd7c91fa8ce3ee84fbaef547d71edbcbc74323640100000000000000860f027419d3673cc8e103d0812025ad5151e2bd630d8fe55fa7b8314e37105a010000000000000092e5bb9d0906f768dbdde0696b78e493cc78dc1f68789575b24f0b962799b51e01000000000000009295a1f023157921d346b73484b120d46048382107015aa9ed998f1fae95970e0100000000000000a2574c3754e306002ab99bbeb1990e66f08ebccf811fa15e70b8eff87681d6230100000000000000d2c456a3002282450e0419b0aa5293b85a9e6f5e9d181652a494a2e613f12a11010000000000000046920ef4915f3036b0686792a741f2d04698b23c5e6b8338d03a7e935d6134300100000000000000aa97c0ca75c01bc86b7aa14f50b3732717e4238a8d542f40601cc57fda04486001000000000000006cb96487d8bb7c4ba7726a623709a27687866740b7a400b9c5322e806711aa0501000000000000008a061720463abda562f0802f43ff556ef8382f737ec6370150396ec14dec820901000000000000004a512ac212da2c96d7bc8590865ce627e6b60246700595bb100b240e80a3f0760100000000000000be2ee8034bdda18863bca0a0af63015a85ee2551b62e0b1c732417ed06ea395401000000000000004a65fbb5116022576ab8d06f72493ebe2d612a7a6dea02e77e7a4f6bdf98d12801000000000000005a15fb3423d8efc0d616665530a6d478b661c324eb30a42f72b828f5ea99421e01000000000000001caf58ab15b9012fdd60832fedda98852b1a37a488f89c57cc1c19f11048ce5b0100000000000000c6fbf5153c7b8dd896e8daab854560e2ab669890479fed689ca39f210fe880080100000000000000cef0ed2766b32d77a4c7f040c05353dd8a918b01bb9705492a53c419ef282c3901000000000000000288ce3ca0332829b5507af33d42e92bdf45a0fd820c4e99e3e95ac1a815d4490100000000000000aa58ec5f9f12a8cf5286c9620b3c3d9190ac57e7d2aeaace1bd6aa27ce48167101000000000000007eaa6ebab8bf9421751c15e0dc061d9fc6bd225c6efae51c88c58a7f8387b90901000000000000008253aa8ced658c953f1052f9117421984cbe6dbf14fda93f723f3fad901d880201000000000000008a28916152c4b4c5978e3eca27b76eb9a058c8c665ee29944faba32f05168072010000000000000058e325dff1555077716069f76f83f6e2ff171bb43fdce83659d250a1abe7342f0100000000000000ea88c9aa1e449f4c62b86af5da1abda7479f9be5344eafcaca482b892601c457010000000000000026538b2b883a97c4e4ca0c01a9e136d42832e07156bf9df23bee062df009230501000000000000000cc6b385d54b772686de9137405b523af4bc79c0e2ca6c162163808521ad79570100000000000000bcbd81964eb726de1abd2b7608252278066fa196b100b15ea8d8976a94ac743e0100000000000000b0d9dc44559810ad536b1c9792b5624cb087972bf5fe3ee484f9214497d6f83801000000000000007e40370daf63360433e8af5248f59f6fc33339cfdb5cbf9863da5dd52486b2290100000000000000eae34c5f0c88e2cefa9ef36ea262faf41315a0de4074c6f3b3696c153f8f023c0100000000000000b600ec4f4068eff1e9d03edd1eb00e4bb2795eb1029348825e604ed28829bb6b0100000000000000d23c53a531e356646133db73065cd83999693a5bdfc05931238434f5b031522f010000000000000094d28205c958a5d713fe7dec4dac2cb85cce31872e3faf9eb9487e8fcabbac6001000000000000008af88ab005ea3b1a0b3412054c721e574c4b4469e231aa487d9132946e42bb690100000000000000aa74176b5870c97b754a157ec0d8032148c2ae717a905e0e5e626048b6f53343010000000000000062d37e495af1a21a15c93556362a0e29726926302d9453bcf2c2f0a7b4001e5a010000000000000032fdd22fdc3662f97008fbb6f52d0fbe7b62c24956849fe04f9b023007a8932301000000000000003e07b075219fc7ace8dc3bf3a06f5dc12aa9c7e45fe30244d2284bcfb1e6ee190100000000000000a4a0bc81aaad1ebce3fdf896a8d6d081ab93efc2de9d5c56f2632edfeaa7ad0f010000000000000042c7ee18833ca3f3a56b91ea1f57f1984a7d127efd57802caadd0a4a7e3d5f48010000000000000056c96b2565b9db9cca8c6264ae689cb690919884f0f55c7e46b50ef7dad69b360100000000000000f6fabc667ca7e609a18fbc1b44af598f189f769f5e7419d2632a3dbfb46b266101000000000000005ae2495c65862ec124cbc8c9268f7a1fa66a9013b01f10198855149cc549c3710100000000000000465242c8915eea46e25549f2ab97cfe78784f25083e51773e07d5a0cafc2de320100000000000000e886d0c8ecc3af997d07b9426599a43adb274a3b0d5ab3262331a5da13e7555601000000000000009ef8d5705da658687f96fb0a6f937611a3127911a1694a46ec7226741ce43e4f010000000000000018728d9d1125cfc79ab103aff7fecddfb9c6528d3a707e8e088b92c9c7a5d41b01000000000000009875dea5d493af94567673bfcaf096919a921cbb806f55b7488bb0a554fed66c01000000000000009a3b32b7cc94b119b2753d77d4f38b0e63900a5633773105a551de5b22670e7a010000000000000078017f5b8b9d740c0a4e1bd7b220653827d49147e97fe2cab5b846cb0f73e95a010000000000000046ed02242cf70665583c79a324b0e53c1e957c2b6c41371fdfa7c632513a86530100000000000000643589f0627aa555aefb01d2f0a366eacc252af9437ec2a892935da2a1052c170100000000000000241cb8ac6036dff8d9e0f6f092f17932945166e75010dee9adb2e245a4b6e5500100000000000000a877af86b958cb961cc97cc61fc35602350a87cf9cccefb09dd91f9f792919250100000000000000ec1ccac47bdcd80ce07faf39b9b1791033ef5587d0647b9b83ee433fcb8d32170100000000000000288c08430a7e427400dd5b61926b74a82abcbbc91ac739190cc791a581f6836a0100000000000000b40a7dad67fc795dda1dfc1ebc78dbe45a8116888183aadd0cb4698dc4415912010000000000000028052d0b965ed862b7861aa7f3f91fe52ff8b0f795ff476c7e0a7aa42e7993300100000000000000a853037e17e9d4ad15f03f236723506cb78607413d233975c9ef793397de156a0100000000000000b6c42607db8cf37421c805c1c54fcfe85f3d25405ff4c55286501818c9dc584601000000000000006e196558c4d270a0c85c034ec2d427b99eb9e43ea2a76c30d74eb902aa11d6700100000000000000d6b710aaf147e2475d1f8f9a8fb1832bcb1fa6ed0ca5f1dc626e172bca71eb700100000000000000769ea03c7b16ccfa42f5aec6127e19f165bd61e60180299da4145854061e1e180100000000000000aa646448bef869fb04cbe6c623251e10ddda7c039fdb8b642b704c3a0416dd270100000000000000042bfd7a93a6e7260e2c155372faeef3e41a907be64e81dbc781310beef40a7901000000000000006a184fddfaf73573f9c28e194450fa7c5b784aa3f131aa5930f359b221a12d6e01000000000000003622bfbaf9350b5906bdf9ce362e06726224ed141c5d29e8e175e0beedbd3d3d010000000000000070f08007867b02d11f3fa909154b03a7915ae7971e474ae27725fc6b99c8425b010000000000000058db03e5a46e27bb750be81594818fcf8acce9b0fbce7fd6035f239a98b2911501000000000000002c6ef636d3bba8ef79dfc0e6d77bcb38426b54c92b764b29115d25f3af9c87160100000000000000e8b977fa9876c391f9ea7fa563d64da4af9b50fabac9a2425b2f18c7eef2f54c010000000000000086088c15ab94ed86455e4473c198b99730e99585b88d6fa465ce429d268ea27d01000000000000006ca1fff449e7504cdaacafd3e53d23f3e9b566178f592811a7a423fba6f0506201000000000000006ed90090a744a0d55adf8f8af5af4d5198bb67220ce33fe71121d7c51f27a41301000000000000005415709fd8ddce1a97512f0950815e25178679d2591270d89e83c5350bfd4b0501000000000000000a73873c9828f50900fec8ebe613db998e6fe476142718ce0589822f88dffb3d01000000000000002e1112ae35f007b16eac0058c77a85d3dca8687cf6f1bf231f84d768fb389c040100000000000000809dc13a93316ffb2f1cfecfbce374272a81639b11fdb1836f04d3bac622f24c01000000000000000a1756601e116de8a2c8536af41d3ab2e88584c0bf94361e75861dc739e9db500100000000000000002608aa377726407132cbdfa1118b69a6b9d3fe876452b83a90c59fe51082180100000000000000687cbc1bf231505a492d00bbbbd0f7adc9df484ae46143f1088f469e51f95d740100000000000000e4e005984bbae507a03d158ea8ca3a87505ae3e8723d8f5bfffccb63a23ea61c01000000000000008a40c3acc862dcac958866b738b304be7d84c33d9420b0747eb82aaa21b8c40c01000000000000007a2430a3ba06afdacb8cdd51b95a8f94e97f6f3da16a16db190a83fc8d7f380c010000000000000030071950e33b60f29acdcaabac9e3f6f1436f337cbd3f123f5aed3f0307ee823010000000000000092439f4dab2f4b2e8d1bd040505ee33fb2c1dd56f3946826cc27288422313b3a0100000000000000aa6e4b27f80410ae5ce7ab8e7bf083f6e6a87f87a784d6aca9e5fd9843176926010000000000000070b445c51ac7f46827f23b8224f7be2aa3057334494a3c1b174bdff2499e6a1f010000000000000094b4d71ff20170266393c4cb481cbc68d0f04264e067f456dfcbae3ae0af5739010000000000000092c996c1fedd09190bb0fa8cc79e4075ad79eca3d6895d2a99d20e6f89e4182b010000000000000072bb32222caca7113141263e12a4193da7f29806dc93cdd11fa9653464344e32010000000000000000140d4493060751979098f686733955e6e71d01bbaa8a3e6cb297400c5c624f0100000000000000204791fdb49af594e5b04e0f26492e56ad8ef4cc8533245609d10e66c340302e01000000000000009a9a69868fd174e5f7462bc00ac3dc483c871e3c4e63c357c9652454ec4eb17601000000000000008ec59e4c60c8e07ea1c5de77d0510924f4d399071cf1f09606e0e58c961c1c020100000000000000941dd915e0ed9ab77c5902ad8840b81dc84402df589ee4d846480c63cc5d9731010000000000000076f132027235278f9c582ad1c52fa62390aa10f04add56321a28b4f22074092d010000000000000012c41078fa7c99409a1ee5c1226c86bb5a88d9b4cbade04b5c54ca83ae03955f0100000000000000428992924b7c66ae24e3c55a9d85fcd8343ab1bf0089a8e5038313d1f3fcf9700100000000000000f2065428f52da2f7a881f9b94bfd38719bb6e5ff88a6800bbb3aebb1a9ad21020100000000000000ae48bbbfd5aa564f0945a2d79428d0182fe40770999ffcf472944e28bac852790100000000000000ca8eb4cb794e9be49454cb2160ec2bdb7165a4df9794df7c9236b6fde6904b72010000000000000094ca8d9a1ac9afe584ea99954a80926de626990ba9087c0a8ac242ab67fcb7780100000000000000fc3fa462e56b8a4aadc369f88cad272f9e52da4a11c4896c30e3e0ee19c403140100000000000000d4ea40358db730c989516c396564c35219ccfc967d4e8dcfb02ca41417bf614901000000000000009452d0cd850a8a3fce455d099302e7d641242037956cb39f679f343e2af9601401000000000000004e09267475354ac23e1cc62749139e0dedb5e403013fb807490e37487594707e0100000000000000aad8cadd0411f99a40ca280442477e707101189728ee1252931e28bc75edc6370100000000000000bae8e68bc8f1b66fe3229ee72d77137b394c6b7dfbf55e424f9d2c82d5c996000100000000000000183a83cfb0fcd53d29c91527754e3f6e4697fc680d43247d200b39589084f84d010000000000000076fbe24a9ab4cd3cd99386300fca0e4ad3d97aba0558ef4929aaab74931a274d01000000000000002e80afd2cf30e0415e4f442a662a9f7da2d07043f87832ce66f15049c022d46301000000000000003c7d4e79e3531b0b00ad005934e642cd0d49ae04fc2a10f3d1945951c8190c16010000000000000004c1f0acbfa8d8f1169684bde1c6e3938fe90d54879168a6a4a7fbe99eefb9290100000000000000a60345c5939d4ef77e57e8fea426929956c826524c7df8b5d880d5274d77461d0100000000000000683f0e1d68ab68c7b04bc1928a8b47abff720349ddc36d7073793f43c2afb030010000000000000060b521110672f6f871978fd3ac4a835b5e30c3fa727c04c70dbc543fcad38b0e0100000000000000c40c9ed995aac4b4aeab516c9614b4614616a75eaf2fbe628dde6d3be5bc9b660100000000000000aea8642870956958a248de1bf3901a9380cb2f20a581cf0eb82bf43100f28d6e01000000000000002ab0b5cc358184be4fa29e7a3dc24806a72e55baad40ec9a117324a884242c280100000000000000e05c7c7d82498be85294ee984e1f0caf23c53fa9a64cc7e6c5053304c4bb785101000000000000005afe620da258a48f00c3afbb8a98161e977f076c7e7f8392975a4f0db4b57d610100000000000000a61667ea6442054b56111477f57ecf39b6e90480bfadf54c3e6cb5ac3a3e275801000000000000001ae9aab4a890c558ac8ab90ccbbf193b3841083670ebed278b2161fa2ec7b3040100000000000000c0730aba0523c10c535c2640ec878a0f5d2a240c8d53fc37fd30f5735a38ec4001000000000000004059f5de23fd2e6805528d79475470526ee7e2f17192988e10c681e15672857c01000000000000002ef1963041466a7d5160843012c4fcad880ed969cff996152f4283ffbe645e0c01000000000000006029513013f081e5d5d74173847405747513aa814038c25500522e6fe2aaf37901000000000000009e6528fe0232f7e9162c5292621c135c47e949e54e91fe5fd500b8b80632625f01000000000000003c0e8a8f204aa9b2f088877f0e03c6ec1c0552baaff43bdbffe904dac305675b01000000000000004e7a559a6f6f685a8b438db6acc074df322e2a38b9f49b26fb60026b9301f42a0100000000000000e27224d559cb0628012bf4e5c6b1f0f2a678300a360010b9985bbf9bb4ca6d2a01000000000000005a3788f9347ad802a56974dfb4ed19b22fa91c20e5c8dcffaf4208f254714326010000000000000088318113e9e557f6f1994ba53607b5eb7942d82fbee921ace6ad86ade239445201000000000000004616ac86f0d45899eed3f1246dc5744858a694a92b0abd9f10e52dfc9c28674601000000000000004c0b37ebd9e67b237a2b3a9545c269bc382735bc3907baf9ee468bae0d8feb2e01000000000000000ef15a40dfb9c89966f22d9d1fbf255a10ed208c960a23e7f5eb8ab9da9abb1b0100000000000000c65e37495239d0eec6f8ca9000a0e8ad618fbe5c366c25825ca7fb26c7b27a7a0100000000000000a4b31af719e5d9c3b69326ef920736e8b620b329eade475ae23a33fbd445df720100000000000000ee105ac039f82ea13b41679570e04c8b0f6127537e101a1460701a9e7beb6d1d0100000000000000ce0b86a8b77a16786043237cf2dc24eb05f69ba6958112111abd8689331a710e01000000000000009281394b5d35827c826e1d7444f346c247b9a004aa0292a9ca2b16e0fb556877010000000000000094be52a3a400ca82f2ad77c8c3c8d572235345249a622ff0588235981c95d7700100000000000000a2cf2f85a782a37f8635661c3ad7cd4aaffbd35c6658a408c3d31ba489d69d7101000000000000006e5b6b3ed154c062b39552c901772d5cf23eb9e4a629c7689c16f1d827ebec2e01000000000000007e88cd54f47c1f4ddd9d3a198fc689d24a523fe186d526b14e476f14ced7db3c01000000000000007ec6b488f746a162c731989bc6ce203434854c83c4c8deaf74e5903ce2417f5901000000000000006ac27e3d6423f2d9488d1bf42dd6f2d3eec911c471b51d69cef6371ff242a3750100000000000000ece4c3c5e3b6ac008899adf3458f1f59ae7db2e674bbe80412756963446913030100000000000000881a3f7b045cf93b13e79864a7617ce7f5dba554463e5b00a441d226da016c140100000000000000e63548b7be72f3559c789fc7e7e15e187b44a7217c46848f11ac822741c39c570100000000000000c0ae4d472acdd80a599ac99fe49d27f3b490902f1b9163ddbb9608a83e3de87e01000000000000007c6d7bf7c2dfb84a3f14e25e97676617269616b56c57b59d670b2337bdc51179010000000000000090c7d651923580f0fb50b8ac9c020ccb33023630aeed52218583303fb0e5bf040100000000000000aaf44f9d4dca217ceb1de3ee4cd8e5ea99fcadff20c2626a52796567a316ea7e0100000000000000b85b1b7b8ed510a5bc1d0979fdc04ec7b73d84c7d1d767dafb6faccc8dfd402c01000000000000007e8ebb46c80883225df2fc91fe7ede9933dcf073f3d74ea3db0525585984e74c0100000000000000068245d8a483bdbd4e9d88b49e17a651ec168f25e6851fc52c2e36a516031d5e0100000000000000eafe1126ea517f59efa787027d78bfd0840e908d3c5115debed46cb33658b1510100000000000000383d2ea99f1550060500295b8dccd50a9b78e2e868c01f28adf6ef2e8007ac7c010000000000000000a5fc354a5669536eba3ab51a608e9c811214c5b7702b571535d48feeb9742301000000000000003063dc6994f705aafd8f6a9c3252629f17d2bde6ae269ce9d0fa4ab0c8a1ce3a01000000000000008859563f3d771b1ca9e5afb70b9c760158a970bf9767060c34af3eb32354ba5d010000000000000068b2ac21afb21cc0d5a063c77fea17f09885bff57d0200cb83ec85da7eeb614e010000000000000042dbd2d1e0ef786fa0f72e251102e858eefec87aaca722a7de9c9a8be29485360100000000000000bc3cdcf9f41b5f3f073a7f6a29931a6be12fbcdfc1dfe7145c4e0a527e9e243c0100000000000000e2448caf0194050db8eaec00df9b2729de602fb307147d00e82172141211ea180100000000000000da132f2f832c8e2a4e268b4faa923d9449c94ebe66f03fa0ac4303f2ceb1b053010000000000000070eb857f0386996d388029ac2d19c3c31ccb3766a9d118bb5dd36ab331d33b2201000000000000007c4bd3b9b81241ca657d1b461afe675272ad933187ee5855fc71475d1f01812f0100000000000000a8d082a4289fe5ccaada604e70c4b1473d6fae4374663672e61474852c1ebf2a0100000000000000705dd0b71ee01b20d9c8dc29ecfd33464d72b3050582485a2354ce8d0cb6d7420100000000000000007cffa67942272b1974dd65c87828e1535799e008d9e81b2818f5e308ed4f3901000000000000000235c0ada5a6bfa56e44f54010af724950e9ac981bbd21fe695b6a3d22cf4d1a010000000000000050deb42e933545c7892d2d25496d9934505fce1d08ad50652a755869c8684309010000000000000096b9efe3e08609cd61aa98f3202618d928074308d9f189d97f7c1e52d2afca1101000000000000009623ad5bd17b75cc58839c76474636ad5675c519e15f090ec008eb626db73b140100000000000000a1476d4a11c5894d54a835bd137f160ddbfc2d6a4aa0f3d1bd33a2a817ee6029010000000000000004000000000000000258e1443fceac9d82b445ce014818f6087d5690b19424a159f55b9618980321ca866f980101c52b00000000000073356711000000006009000000000000610976441c448aefcf40a72128edc9b44a4f7ef9c267c503e98f5f9c72d5e9e92f000100000000000000827e307dcad5bfe176ba102e357c5f18ace450271cf480e27cb994b9197be15a0100000000000000c65fb01e233e312b7d3dd6bf7d6c159d30a06550fbf40e664d2f97f21def7c1d0100000000000000ae5797a6246fc7f96394d09712e9abdfb1ca3e7793c3f093aae6c126024ab72e01000000000000006c9c53f3824abe976dedc2792e1c6b8cc55c317eed2f30916c3229b60e579206010000000000000080f20c794a97e6080e7b81854feb03a4924ee28b33bb2269cae8fa582dfedf2e0100000000000000ec8fcbae6ca9d402b51bb0bde913f0c29769d8d1b9653f4933db117890fe38720100000000000000c29a52b01236996d090dc112e63aca2ec383da79f89c5db420319c7a7ec9645a0100000000000000cad93fbaf78ceb031a3677b27a9e579688602099c97258c746b080422c34bc4d0100000000000000f69a39a051376ea1dbb2a00c3e18369664beb746ca10453dad7db5f9341fde7e010000000000000082c934f66716490be643b87b99dcfc1c530e4b2ff2ef2df2d1844120cadb293d0100000000000000dadcf49d502bc401f146b250e918ae4d0a441958b24825e3c09dc820bc03131f01000000000000009a2324f76f2a79412d94cfb9a1cb7299738eb901ce8f8cccd22fc967293e3d220100000000000000f88b0be90381341d0d7bfacdf140b8f291a16edd3310f72bd0920369416399330100000000000000147ccca21c4dedac43e0222ab379ef490987b302176a8010ba2265aa29567b610100000000000000e0c8701616aea15e91edc27c9e64e0afdd3abbf4f502c0f646fa060eded3bc680100000000000000906ec0a56171d27f65c29683a31c71a87a4e32b273596a0a704ff07ba344d0660100000000000000e03e8b838de23dc7dbe96982a43cb33b406d6f9978132eac11ae555efa8d226b0100000000000000ba395fcb33327501109ed40712c7a372d25bf3339edfabe2a1964fb7b5d4d82401000000000000003a36963a41de2036872df1c499f45acc0e7179457316ec2d99a6018e078f6a050100000000000000da9bf8b51b8396da87113ba296940b23a9fb3cfe7c3fd0b3d541331121b8f57c01000000000000003c2943d6777720179fafe62691d06390210dfb03a1f4c77150cd7e708b86be1e010000000000000076fa684c09e8db8594712bd6687168de6771b73bd3bd951dfd212c996c4f6a350100000000000000c0ff0ad7de8b9403d14459655c0ec4107f119e74406be3161faf15b5ddf1395001000000000000004c9886e2e62ee92a6778d6a7928052732044b64fa61969cd8e37f3f7e3406f7201000000000000001a9af74659f26511f8a1eea1a942a2957074d61f469d88d1bd8fed899735624a0100000000000000a23237719086db4a3c6e4ec298be9fbd400f80f44b694f69cc1dd1cd84ecfe1d01000000000000006a84d16e0196639a917baad78fb5e3b716d7ffd6c447ccadeedead0882482e6e010000000000000058cc4e48b26665ec1d6c2a128f0f5b70434ab4a771743429058b963257e6563d01000000000000007a42c87630d09e4d4b041cee10fe20840cc0ae2089514c51e248e137c6d5ab0a0100000000000000c80f32768e5bcf83095be0dc3db1f59f43650d58aebe4ca599dc02de3bbede120100000000000000228dfe58ff0326d8c8e0c51476692d0610424b01244c52c561f02dd133e83e0a01000000000000001e8d73bf05780fababa732bf11ea5251ca67db705955f2936fdbf2f1f1c8f13601000000000000001c0856b04c28ed8bdee95096f95646efc095737d4482b475053245db424e022901000000000000005237e4509f24bc9e8bf9bfd78b594219d86853ae16601f692f10c9b16b88f83b01000000000000009af80e0fb29426348d821b72cb4624373fb44ef41cbde4b4e85142573156521901000000000000002cbd43e95a827c6a62a0621b1297f0328c5919029173b2b4fabea89fa65848380100000000000000a0511c06f6fc317bbc43df8b47b7c36ca7e3ad43010607e88f21cccb32ecbd5b0100000000000000c87bf24eebac187534f689c35ab23038e0a49f890fabfc10613ed78dba1f67170100000000000000362701313409bc9d55aee9cb57aaa8d97bea27bcb918c08b99e8cff39301936501000000000000007878eb8af8d5632448ad518dcc3f5423192252747313dd6c3a6c1505482b29160100000000000000b88e803bf4241f6465c0393416858ce6a0ac3c350be41cf0434a3566eeb79c4701000000000000008084d934bf7a7ad960de3b325ad5109d10eef00e90d6ab776240b7bbeb6a6a7e0100000000000000ce0c4220872f866ef72bec24c671acc11cb909f47491c5ff18bd48eec429082501000000000000001e38c5026ae39e74530c1e2044eff23791cd7a39e748316848f2c0d627be22530100000000000000f0fecff9ef1c288d6adbc261c63a2dec156042b30e9d29e30283e682eaba675601000000000000009ce7136b5fb85ba83e153c64a212fca1eee9c3ee42fd010fb27f2d55695b29640100000000000000707c6f8128973d552e4e13c7b3e0a7cebca93fecf8efc5df89fb66865acbaf72010000000000000006d2846642c835b0fb1ff1ef908449376aa8e7c0f3352e55da9a1e97e9528b230100000000000000d4be6f891156ecfd5f9ff661f780884578ac18dcc999b7f574510196c5243c220100000000000000ca29cefbde4a2167c5b0b4900dd25b7dd6877111ce52029ee334f02aa9a05459010000000000000076fc5ac3dc0ccd5aee50f0a686a0cb5ceb87bb037034dfc5e050cc477a327f150100000000000000702aa745c823db83579c2ab00ff4477b39e270874349bf7278447fcdde4d18790100000000000000f8a681118ea0bb9dfde2813ce5144eeb5cee881c27883de1c0c759255ec32654010000000000000016e3f8f5ce2e2b22b816bed27dc767115513198ec47d2795ba9edcccdde2d1580100000000000000b43a022b3cf70d5c2f080a2759d1778cc246f6f817df139391b9e7a952fdb14a01000000000000000a71577937bbd539f79e0d6289a5d97b1649eda6c85bef8336ec63e6203a066401000000000000008205933bcdf98344d19df8bab418ac1d6d93ff01b6936c46dfa2b39081bf99470100000000000000c08c91ecf8879f5042960c3d61c0e74f125463ca2726e6655fb922af5cdcb8510100000000000000e23173bf099d870567cbac0e94678e62cb1a554f4bf92c14ec2d46d9dbd8570101000000000000002ea26372b229d0438f7fa19e9c80f90fce3fb41024c48475938d6501ddd8547f0100000000000000e67c524e443cda4cd27dfcce70488a5d23a93c8c46a5e83ef5a69eff3a02fa5a0100000000000000a42289d68c963358f3c450a850242bb53121e73e17f0e2ea2b93327446bea33c0100000000000000caa53cf3e8ff5604d82bac45868bf3e25115f7e8f4d1cdfada68f8487d03e91b01000000000000005a22cbf55ee96a7afcbaca5ea1aca08d0eb0f2eaead1f43633ead6ad4c30c239010000000000000002a65bcaa7e35aa60238c784f04cb771829d09bb4e0f7c1c14f4e0b4c0a6391e0100000000000000987b7ecf8720281e4a19c9c5ec6c62be561b6c2e341d5236a6ec0ada32f3e15201000000000000001892bc64859d3f7b26ea46d591a09bb55a80bcb9f2624c61d2ae145e01f56f530100000000000000da2ae63c251f8974aca311e38f118bc404fa9492c08576a3863d2944f97901050100000000000000c4eeba433f476d40e4d6967214298eff1088a8404d81df860229f484cba14944010000000000000088dcb7ea2da86c213e8c735fd1c3c9048bb6312be7045f298f098ba056b87b2d01000000000000003462df838ecb66d01d18c0c4beb28576871b0751075e14668fceb8970104150a01000000000000004e505749e5bbc4d469c2640820ce1f61e6062bc979e258d26e2c1a52b820b47e01000000000000001abb26ba0076d5e001abdcf18d4454fe25c5076bc5ceb1b8f35d6041670c265f0100000000000000b4ffe3c5959ff37c11c6f19d91926cb97aa4bf0f604919e1753bb55664d061680100000000000000bc4c9b5425f9a2aa09e3239332c702dedbfffa2b9f4cc1b978b307fc1fa1337c010000000000000082adf4dd2acaba7512ff01a3134c63e3491c88a10ca13ceb92b60d34b6750b760100000000000000bcb501cabb14adc6bd1c1d8a94284bedd2a20a21f3caf33d7e60edf1a73065530100000000000000b0d4319a2ca1e335440462c6b9c80cefdbfc9aa735d84301a618ca480b56033001000000000000001ee57665488b5ad6f7358157b73009a4ec4b14b4a03c976487e188f54bff7d6401000000000000007022686a613aa1387ea688fdd9a23170bf587f7f1dbaf7b8b022f120f3a4560d0100000000000000ecc606e7ba3eed5d7f6bfd00bf679f03078761d1cb50904d1caa1080431d4c340100000000000000dc387c0249b862faa91a5fd30d1c2b86dbc741b2feac242f274bed763d647b6c0100000000000000e208256605f8c064a2ea00f8503293d0dc4aeaacffe021a328cd164c22b623370100000000000000c47bd7af17b6ad4f01e2880542c8596f5a800a20eeebcb37756ffca94a6b98100100000000000000d8632901dcd20c3415349407ec167034633de91f3aa55f64c8bb35882c1b0c190100000000000000f8bede5628e65277d7dea9af44e2c66e94c0f4b71e73d40a80436c0afc08f603010000000000000098c21189c2c20a98c5451d07dd88774453a550fd2bdf9a075dd39793c80a817c0100000000000000dca99b59a15cd12f53c2e069f1cc440c0d73b7f0f027e3d5c759ad5af7b32f4b0100000000000000cedc3d581432d4cfc8c40074e913b4dbcb23f36a6e35af989ed40f8e0c59e01b01000000000000000052e7df40b49fce61ac4b3099dd48d9bd647d7bdd7dbc9e9f487e2301dc3b07010000000000000026cc6964564859f16a2c5ce9df5e08804d65acea2bedef70a72b13adb5147d370100000000000000c8871294c3dbdab785b4e8ad9604d5f49db8260dcd8980275c980222e6eb261601000000000000005245c68abe0cf4f23b04bfd3a21f80cadef5f3a8545e49540c3999c3e7079f590100000000000000ac720e90cc27be9742897226740637e2f32f836878078928c27f9f62405a6346010000000000000022be2f3730ae90e20d6e0f1f76fceedd68c124fd811c18482937756127ce86260100000000000000c49cfd152ce3ac1fa142b3b6e720cb173eb7f43c82f021418253a070036f870c01000000000000000ee4b76ec5fabf011e00bc27b36039f3d397e021e8bcacf9532c90fc419fca0a01000000000000000e8a4443fefd81456a49fb947583e7eab5e78b3aa9e3743c4b316de9c38b9f7901000000000000003e79c115c01b959b324017f0e1120c76d87b9a734354fde75efcd05401ad17330100000000000000fe0484d8f75ec1a8a632bf75aa316eab8829fcf07c37cd7bb15ee73193ffcf7d01000000000000009a0b42e88688d547c31a1bb811fdd062908e88a115e1aae39f7bdcd95b927d530100000000000000e2d8807911771f762fef5e4fc3b9685517fe91c48292ec59b4ce13f95bc8ee5d010000000000000028bc76450afad8c197d1fe5ab3055c8635a370d4adfa17c898b3df93a50b00300100000000000000ecce43c0be3c9134a0d62a0b6463edfdbfce1b2b1bf5bac37fbd1cca48e67e7f0100000000000000887fb18ae45feaa3e449cd0b529bcf06a9795b3cf50425c79e1fe94c1db2ce7d01000000000000008ef93e538ce16500f27b4c9a10ef7b02a46d8a9624778d0f83b9f7d8b560466501000000000000006a1274b6748bf822ba80c9a9416abd3cf591b7aee6adabb8359b7dbed8ebb3770100000000000000c6cfae23e776800744036a6881d20a0476c1852cea187fbf9db79c936c51db0d01000000000000002a4375c947cf6042db2ac6efc30cadbeaac2472d7c952fdf87d2bb34dbe1e34c0100000000000000a893d2350e59c1937884d11aa7b680ceb7a49e7dba5a43c67bc7c20bf347c60c0100000000000000a2d800da8b9c1a800f38cb083da3c2132079ac489e7ee41c6d80db836e829b390100000000000000ee664cd198f60d2b4001685a624bbdb21ddcd881138a5d61bd450f298fc5833a010000000000000068f87aa7b88463d824f528b27648d786a8d3ec27e76fb920bc1294ef9432b60b01000000000000001ae16492f16bcf6e1c559726ae902c3360da0cbc6309d50bc5ea1160769dd259010000000000000090708d1a49ef0acfea32147a109d08d9aa15ee975b5237d56ca9b8e324108d0f010000000000000010bfe5eb616325eacbdad84fbf5ecc1f78d087aa73c1fc98e11bdd6a4251616a01000000000000003637d2655a71fe80476a194e4d8a57a61cd4d144c2a1ea4d10e488bf82cc6f03010000000000000052185fbfc63e58ca8498f15d0f416cd474e3bae567650d03ee5030983f174b0f0100000000000000487c6aad1cc26893dc7e498916a4c23d303f098c04b0a8b0c8242fbb7e73a16e01000000000000006a2524121efd4ac63c3bd00c6de3b84e23ad19fc60f886737e660d8fc6496a57010000000000000088f9a16886165d00612032cb1b36669ad62b7325536f499191e711134c71b60701000000000000005e6d779219b00ae1d5e6320faff3b6eb963d3acf7705672ff56d2cb46ac44e5b0100000000000000d6152835cb59040a40a5a4ee3a4d481937b7ee9d4a5649abeac6c535d9e177080100000000000000bc4b95226de4e10f91e0254cfe4541232252deaa347f567df124aba81bac4d3f0100000000000000246615914ed30f855044df3bd63491ca8af4af5614e2a19d5c9fcf8950d13d2a01000000000000001eb833e31087d6baffee4e7f1d9a8e3b7013ea392c81f74313a354ba82e92f6b01000000000000009c8c7c8c91df0ed53864f69017d530b5ebda3ab4bde3c67027e70893213d533a010000000000000018ec239eec5457ba11a41518e7c5f98266d1bdbd67602641d04706f95dba5c5601000000000000002e053f0352e6cfbbef91cb61435853a03573fddbabb3621ddd1ed68a04ad3e4401000000000000001e7b9381ff03ccb2f27fa0142dd09c4c0b6672a4cb3a099cbfee1842ef5541000100000000000000b640f3f59d687a3a2608d96c86ae380ac41d9dc8b175480a8830e27fc046590c010000000000000016b203658e93e4d9c195228c4bba8447f5cb2ac36dd9816ba580936d5ec01c130100000000000000aa7e2ba0ac23106e76a0efad2d34747769f669773802cc4de44aacd6bd3e3b780100000000000000f80643f72c8dc15503957f39e6d9ac6ef062c43c516a1693e87d2a3d26e9db44010000000000000028a027ca1c0bdeebfc8fce85ac4bac48cc072523d9c4a86b4f2594f9142e7e3b010000000000000042e4c41a899dfb238649e5b17dc232c2699353635d60e6a3bdcd71f9b82cda300100000000000000ce4bfd8c5611b1637066ef9e579c85efadfc9513b882184e00b75871ef7f5a2d01000000000000005433988ac1a22948ac82f44b10eb843afa13d3315577458e0cac933f2c4e096c01000000000000008e2eaf4ac96e0c79da47d2b76956b3578b39ee4979826d5344254fc37d508c04010000000000000028558e46037c51ece4d39a8a4d34688662e629413c221d6226afe454240e702101000000000000006a4284a9ea438f75390f6547faad885b235c208634da73a79e2e61c51a7cb410010000000000000098da9bbd7e6841370bac817945d087a30acbbf47f7c0243d6588ed32f7c6f15a0100000000000000a8660bbc474f75581461f56345e963a788f3c33621bd0c1eb9834dae39719d6e0100000000000000be44be4a3132cd45c14bc457aaeec81660600df0f65e28194802f8385134610c0100000000000000bad91c9aefe173441dae1f273e55090706d412b0723d39bd6c3af053feb1832001000000000000003cd9f863ad569b4f0123525a9307dff13dd75a81afe7b790d4d8ff418d97d9110100000000000000c6debd3b107fbd0382b1ccbcd0063aea1f8e27536561fe7f3c6ceb77b219753a0100000000000000be03fe6bc03a7884524047567a8ccf43b3c988bf3b447ca9e1520d1c1f83c53901000000000000005461977495f9c407a8d951e860a1cb2087592103229bdbd879629cc538a4182b0100000000000000b05ad6cde0dfc019d740c3f50b8aac16550ff4c197da19cf23b9293f0c5c3907010000000000000034caede521bed7f19b2a5577234751925041209dec1c5b5771d8ccf33ebd49340100000000000000bc56c07cea21bcbbe058aedd2ced9fb4757caead55f96bda9bed1c9669c32b640100000000000000427f116e5ab35a62aa60203420dd112fd9a116690cec550ad6aabcb0b2a0c865010000000000000078e1a4fecbaac940c04e0b591a01ea66a574b5098852ded2810e3a534971111f01000000000000006ccf2ce8e149999a7bb996faa65194e60aeb7bcd1937c787f886fe979fb49e6601000000000000002ae95f2c9044d5ac14beb234c93680b9a0591a70b3c8ef971f3a1498b580fb4c010000000000000092bb282d46ed819e46fb3ee929f7662354fd095b67a8ed51326b47e83f86653a010000000000000082b820c5bee8ee77e35203dab387f3434b8502e5f1c35dfb2ad15b5c89d47b3c0100000000000000c8469111a9fb61c9e775d2b006fff88874ca9633fced938b19794026f2e9a03201000000000000001cf3446b4b5116a1784d92cdc5101e55a5fb91ed3d93efccd06b304a94362d0a0100000000000000160e7af1774196f2395d4019a498e397faa50b61f698c16edc78f0d5333b6e1e010000000000000016a84c8857157a54c704dcfa497580b242409b4e57ab45a9f6691c2008df33410100000000000000583ecb6dde18a2984d5af56152b337cc90422fd6e937b5e06c1c6caf50be212a01000000000000002e4d6bdb965a6ffed473182815cc73cea17b23ec20cdadb87a7344e9f17ca83701000000000000003ae417684c31a1c6d44d4795c43336c336063e819cb27c08860da2db787191180100000000000000165a03988f9c57cebd3d6bf3ae3a5db1fcf901971d67e52dfc3ef1f6a7474a6e01000000000000007203b3dc19c8ff42aa0c90d10328d49e6aae97e4d93d91f33e584fd16073f27f010000000000000052d58f50e6ad841adfe6c77ff332933380712c236fb0bf00565d58b3b4e41d78010000000000000018d99932bbe04bdd1da315bf0c31ad9ce555b84955db60ce36bb73aec0d8a61c0100000000000000e26019435e06e3807360b546063269ab645e6fb3db5c99a573d0fec63e2d5371010000000000000006379582a73f65db4e43d5bb5d73209c970b2a4c903b3dbfee465eaf7b89336d010000000000000024030139ec9ee0e2d96a22a3fa6b3c3e3bfe7fbf57bf55e9efc4586a103447200100000000000000e286e0fc739361f9e413d23c3faf924082604a390f3e81821e257c4eea5ce33701000000000000003873ac08836bf81aa2077f9e50a55b47e02697ad9fa6704c7044fca0c93b824301000000000000001410e60e55e482bedab00da9cf093bf2091b2fec2762c3d937e3640df445383301000000000000008e0fdb9c1c1175d91743756935f6860d7b29cbce467275b8de3e6425717f6b02010000000000000040a2527ffa7d30d788eca127d435c8b5aa48972cda538b9a1627a57e85c8fa1901000000000000005673f82330a1ee6e6889f745fe15c353f5f8989e4a281e8aa53e38ce1e74556d0100000000000000a280a51ce0a86f40fdce664751a8209051eb2a782c0ed47ac218558717e7de1001000000000000008e47d90d960a22d3c9486e3ef6cee79c6413bf8aec18d14d55cc7e0b43e5cb650100000000000000e8f048309f03e3d9a329dc04bc48c8d1befee7928d14509121dd06e76cec0d2f010000000000000028e972febaf463f22d1108053e7c26ccde1e6018d7c302985bc227557e0a663b01000000000000004e524be219d0f11a7489c27d0e01cb5430bc9f58f75a66ea464b717dc25c9a6b01000000000000009e02cba73dcf1d6eec957735bb3363e66c2633173f821d0edd97e9fc3fa1242c0100000000000000ae46c529ba59b0317f6aa431f79802e087355cc32d78258809da6a9b04b8f2600100000000000000ccf230623370ef275ca417c85fbc6e913e3f5fc8f51e67f54beb8686593ec85401000000000000008e5f0b817e1f12b66afdb60a3406ced3d491000cf12866ada159cdcaa3bf010c0100000000000000d648b32d1d22a413b4a2c40733e4bd83b29c0ea6e4ef72deedbf027440c8837101000000000000004a905d0574cebf6e8d00d382b104fc8ee1c008f1b9ffa6fa5c3b67ff29719c0d0100000000000000fcccf8e328b4cc968af52a23f6c960b5e34241047b630c19a0661ace6b9c273b0100000000000000ac09c48f5dfccc02362c489ff2522fdad54d1f37e6b47729411a93227f602b780100000000000000be6106f9217a1847af66de9510fdfb40514409556506ddc1c1a897818434125b010000000000000016f2e4835ecdec4c373e17f48c95cb119263cbd229f7e32c0e2185f7003d7d0301000000000000007ad51779d992e61cd6ac6ebb83fc648c52761a8aa1ee2c21ad5e0b1cd34f14750100000000000000f0eaddce7b63e666eece637b1128a3e4f54178df87a9b032fa3312f68fbd961f010000000000000004d74e03b4e2cdd0109cc8efc5bbdf36b7b5d89c17d4a56cfdb23b0b2b77e1010100000000000000d88718cd488bce7f9537e3891afbbbd46c0a0bfcde22cfe51af0ae64cecd2d540100000000000000e09b8828dd7af7ab17cb00b73845871b69d925dcc38d6d29f79197f5c87bd8460100000000000000b2518044cc31062ee50fa81cb6983f314291a0300865fa5cfe149829c5050d24010000000000000072993ca365788924450fed32848a67b7b711f3d353c960fbc530e8874bfd64360100000000000000d2c97828a993b57a79d8e70e9b6cd9e90f01d1bbd934641509aeebbc625b9f7e010000000000000092cae8f83675e95178a7368ef2ff9e46a2403fc98f94e90519c3ac4d7cdbc71101000000000000002eab7eb696d4c3dcef6c5f74cd704eed76fb51790875d8ddbbda133ae7a42f7601000000000000006cb2f0f0e5fe70eb547a0814ca5346f59f7f2ca74c00714aad555157cd5a29490100000000000000042e7c894dd88fb2b0c7dc7a56b44269e0ee606c73d5a297cb459dbfc7649a1701000000000000004ad8fedb395dc0ed63e0edbdbd2d20555b61a46aa7cd751e4308335c277cbd6a010000000000000054a4e00f3df9f09e23118cce02f804d36c4968894a621305a0e8150a2910dc6a0100000000000000b4ffc5ffc39faba83f78ad372a2957e56f6e5e90aff555afc696f79cffb78f2d01000000000000004c5e6997b6f186855b1f4c9f8ab2d6cea3da2e86445605ab89e5b5821e05bd3d0100000000000000269e8d252b8a4e91c2ebdb7f4b07bfa9201b88bd436e6c4044e70364c746614e0100000000000000c8763ec27b5b8f3d5ad45b4eeb6b47dbdedc406d969375ac509dda2315ffa409010000000000000064c6cab11d72a27c48de2f30478a51258057aa5a275059d1455b480fbb181e330100000000000000fca3b0bf7a3b4ee818a50f86de0be2f976621c6f5a3e768448732252e099cc1e010000000000000018820322d29e40465465fc5f0b488431e710db471615f780451342f5690e20350100000000000000407d69fc26f00269186d96a26e6fa3537160898d761d6a785cb7dba141f87a7a0100000000000000bada36224e4b8748b004ac32cb69ba73235cc177c2aaab775b5536218b27df5e010000000000000074f02ed037d28c883df643034a596e4d2a97a23782ee8483c9ae3429ede7e70901000000000000008e3728649624aa32d3f1d71d0d57fb42a9ea9d3155a2679b02f2330e4c7cda2601000000000000000eb2499cf6581d6480292832d84efa484bb7dc9a36861b35591e4289952db27901000000000000009493e6de34e09c9679b6dca602e38d8c07abb77b3cc487ae3a80661968caa37f01000000000000002a8e4336c0fa5db2307feb0bcaae257f0265ade08adeaadfabb50b9838d966320100000000000000d2bd2d471f119d01186c7efe6604e7186de3a72278b28bb93cd0e6355488ce6e0100000000000000984522609ae23fa1279b0e70b1e274dde52dc22a93191376b0a197d00301a82a0100000000000000840290d318350bff32db3dcf6138b822cb2adf1dedf5bad8729471988955915c01000000000000008c6dc982725d0f925557f77e1844d64ebbd5e01b7ba9466e0c1f1ce8bb757f3901000000000000006601e1af585ce0bb093a81463302caa6f02919efa89aeed138d25264b32f3d420100000000000000ba1a89293f8cdef3c8d0eddf74059662db8bfe781c27f214b9818b46d159ca780100000000000000f2d0aef77dbf94d9123f02c94cf868c7d3191c8d7060405b68002bdce6f7eb6a0100000000000000caa66d23d824d48eb4fe2bc976499ef56b911c167ae728f9887b700f570d3e63010000000000000046543a6ba7d90d6f10febc8b628775c1dc08b55cb93c04e09f0a072f264907360100000000000000e4d9dac4f974372174e57beb5db603cacd8643adab75a3ff108a3d9012ed153e0100000000000000d8faee17dcc461acb22ca1720b86385414ea8810ba31509fbd8da8733029eb190100000000000000105aab27f211e6df23599236853b58c04654709d9c7d0d5c27145369450f324301000000000000008e703730fd72822a067f724f3efa6bbbc82d5c064d3560c5833bf49edc21061a0100000000000000847f4b6d72993380e0e76fe2d885e429796335dc10f470005e9a268880c6fa1b0100000000000000c80a16a172ea19de337c120de8ba72df1b81efb23ff74e0ee7cbf36e666ede1f0100000000000000f820a8ed2c97f639fea2892d0a89ae98ffc4c0054f948f9a0108e4d99f89994c0100000000000000ca49fc4bdcd0f86e5b9883bd25a0831acb18f61da33b84616fae8b56800f904d0100000000000000b66836e9d42ceff254416bfd6cd80592da3a276bfbef6018540bb0c93a5c44410100000000000000ce8df132517fec1b06b9b7ad5a9e18f861df5bf14dd32b0c7dc3f03be447b2730100000000000000566779977b35c81ab477958e39cc697ffce60fe1aa31f8121da08329b25f4e0501000000000000001644ac70036fc8b19ec0e580bfb10d272798d8c7aa3dccd00d5ceb639fbde603010000000000000008a2c8bc8457a382313d040c40f3f0c02eed0e5357910b19ae4f0c9360e4dd1b0100000000000000a8bbf134d2c82050f455ad50876ce102de5e63600d2226ae2d6cf3f52ad6eb240100000000000000480defe8739c9518d5507480bb9c68ec408a60b944824521f1184b74bc47f2170100000000000000780e4353aca40b0f2b2403c862cb33032d49a820244bdc2853ce158d48c4f610010000000000000054793d64aad2cfb3d01ba50441a008cf5cc9acfeb8390ddc3b7945f7e6e65e290100000000000000046e9ea6faab3f6ea31d95f9b4339bc5622323907570fc9c788dbf46a13bb92201000000000000003ae7d174f16f034ff7816b8d9ef1b4b2b15ac5a16eefe819253b03d958babc1101000000000000003cd825436dadf293b1f5c315d478b960b1e6f141e3244f2f0c892f42c0b159040100000000000000ac7c9bb11bbd24b64b4611071ac5ebc4c83e94d38abc3df541eb9dd04b726659010000000000000068f3e478d28f00ce97dcbcce5e9cff5674f6b3d8b06f7dd8be7b5f3b6f1b555d0100000000000000da7bfba48819dcd92eeb75e2435784132a257ce38ca01a6eb3fb66bed9422b240100000000000000ccc5a764f42aa0da463245aad924f65618099b1605ef6e3cf7efddaf791cf34c010000000000000056da6e5ada211131376b8d0571118b69fe57fae1393d23572b484f394857904801000000000000008c3fa761a684f89c63b5014e6a934f763345f91c5829d88cdaf28abe75c0823101000000000000000ee6df339af6749cf9b9fdabafc0cdc59ba35a1244fa56b0adf6bcf7cd3333000100000000000000c081b6f9b341d1355ff2caa0bb297d9cfa88dc9db48eab74f1c004c189513e4f01000000000000006a1b43dc9100e51e8a92f4a4d3591b82bbf77fdfad6546330c67d3bdeafce71a010000000000000006f8df3b49930c691067ddce8889df6179b8ac05a3e9a96d0a7e98904c969b14010000000000000092ee092cd2215c7c1628086c08be10a3cb969f6b276f600422f3526f303bd87801000000000000009aeda969400e2e21c35ef284458dbc898f277a49da9dbcd675eefcf265f6d4450100000000000000020d34131c7a0ab6d104839ed8b9e0cdf075b80409a36fbe94d0cf83f7ea1f1e0100000000000000b484046e76bdb203eca3e22bcc5525f7973cfc70ab7eec3f568fccbbac6ba140010000000000000060722aa6239a4b5f138bc30c5b3ebb5cf0c53b901f71076f213b72d073d2cf3601000000000000001098c3193759138d2ce96e47b00dbff13b7542669fec49b78355e10e68f6e4330100000000000000b27ccb4edaf0edc92ce1f35b0950251d38af8cea2dd129a8ff5e6c946ed6546b0100000000000000f49fd7052f702bae288ac771a22e6ffbd69517fe04d413e865460ff8c9b5c94d010000000000000044970235c8c767ac47ec2c2cb6cb391bc552b8421da58cb851f1a43647ec6727010000000000000014e5caa5709b3d5a8e50aaaa9ceba368e2d66f964e598f861938f093dadac32b010000000000000040dc7c3e4af430f523ce1ceb5de4c836056a079da82caf752cceab452743695a010000000000000062a20e32bc5903bd091251507aee7b4860fc74348f53ce32f078c7a4cfbbdc3f0100000000000000ea0853b1a9c0bacbc2c57c8233940af4bc51b0734b721f75b8ab5f74d66c0a230100000000000000f44b3ec5c7b2188f208d60d159d1f5b0914a51a0632eacea6b88ec7b26d6673d01000000000000000e3e265f291f50053f38c5c9f145c86caaf56ca085edcc521d58371be0d54d7d010000000000000002d0beaa25938ea3c9f16d3004577ec1e1e60a8198c268e209d2f64a6561b32c010000000000000046c5d9750776edafdced20206ffe4b799489f6de9e0983eeb3a9fb6485c7e22201000000000000007e2f54190ec59a98cc3930dcd41c7113812c0596c9537277ca93038a9e57976b010000000000000054ecb1c6cdd76e77a694ad7d62b50187c0de759e60b46c82ce70e62a9a328e3a01000000000000003ef1fa1b2ae33d6fe3d94915baf7540a6d3b3c34d01bc2670608bf8e24c1b15c0100000000000000829f64b96b37d0aa283fe99a6d2150069bcbb6be61d076f23b3992b6c1fe6756010000000000000052d36d934905359a84c6ab4d2e4aa7db403f77fa694cb05c70d5477f7079595f01000000000000001a92511f613b3af5ab3e12154c67018535927938caef9aa966ce2b503157d83101000000000000006e0bcc6441aa5c0ed8dd01fe8c2634777992f68f3e51c6c45320764f551f75580100000000000000a63d72b83c3d93acb6595b2061a6371decc6de7fbc8d7c70863cb61ef79b6e510100000000000000ca7706bbef090e99e2cedf4833d3bd4c215121c9596957b651ca4924b773032a0100000000000000a065f45a353f24ba187248aacd9c64d5c3a92ddf92b4a5c33994f56a07cea8400100000000000000584cc334d89181207fad8289d1e89a85848439b16d4bae59f1004188e8e26e500100000000000000a6d498495e591b3b16dc6388c4cf43edf35e263d80d743aa827951f22e0ac91901000000000000009821465bd76d11b25f1384d98901fed08727f3cff92131d817a987333cfc5b650100000000000000b0200adae0feaeea78d77e0de3b4a63c7d44544dd0082beaa93a293abbb06e4901000000000000001a04f32b2351585bca74d9feec86d759d49ee55b615bcabe955f2def5b98df0e0100000000000000742a6a8943509da1d899f82879b8965a928dc3db99996a7ef65dab90c22c990901000000000000004c33d7c12731da00cfe56735e77c4d39618a6614e793319f8dbf398fde4f7865010000000000000074e859fd23da9f3b5c0b554492134ec981deca6fc0d8e4fc6e33ca517a0ce26a010000000000000022b634563bc2b885326ed31f52644cef011566a890a26192a8b5435b19fb6e42010000000000000010f6d73ff674b4168adce9e291ae84b250293e48eb40839ea8ffea9c057c83090100000000000000ac04c4e0f5a8d352a19ad6fab6226fa1d69222aee364d12809591265f193403c0100000000000000ca377174a1aacc948264510f8fb2f4264475ed6acf4402110d99aac6813a990b0100000000000000fa5c17f9fbeb03ae7168967f873626bce0f0816360a1a1d1771cda0923211f670100000000000000d460e8effd89689383e396bda01d4fb48658d1b2be0f3497a635d92a00783e4301000000000000002a98fbaf7ec22832522e3f96821711ef684283911a524960efb14953255baa2b01000000000000006cd1066d5ccff0f29049137b42feedf12c3a4e91f37170a20e87a84bd6aa1d2a01000000000000002076bc34bf8c9ba9c0922f484f04637c02b4a44e5dd7ec861f1ca8b6cf84c84001000000000000000c9d4662a0db861534c425fef89bdc187373aef9db744c8a81ad2da9c68b4e7f0100000000000000f8d7cac8239edc444da065c812e4fb38f7b0d928f963388f951e2b0115077a7c0100000000000000a4945508cf103aabe69457d9ea2b46425d9d26e57f89e6b1f799ec18219ad2550100000000000000daebc8ac4d5de187064149056c4c542f5db5e4ce4a8e7a37693cefeac4bec3640100000000000000d285950cb237602bee1798bcd24418a2a562b549fdd8e5ef2d1f74101358a04601000000000000008abdf8b9ff1b4b262f60091c85e89746cd57ffe8e032ff255c204b69ad8b4c30010000000000000050353935ad70982e3ecf82469aaafbebf85be7452ee1222882d4bfd9a8da8b0e010000000000000096f9ec98d4cfa00b9ff41b5962d3c68f12201556d80bcde84cd85251252b822401000000000000002a89ca2ad62c6b326ac778f63292142fcaf4d9721b13d9994ba4abd46152f30b010000000000000078294f515c659b94bfce9674db37a3cf2f32d89ce1758ca53d1860037cf1d42a0100000000000000a2d57783e292b34b8415c5aae90097a5b7b243b7d80c216e43067d210004f30801000000000000000293de1a15ca28a5a077995f730a4def3da89ce2f50d31a5efeaed7547f821190100000000000000bc4529c25a2a01667d6e451ab753e1713be0835456e6fbd29854cfbd45dd2e3c01000000000000007efe2d823470c2d98b6a020e469747a7a03429abe579202b97b2a5be6c209277010000000000000004efb918028f583768356118e9457c36583319eca6d53536596714e782f1596d010000000000000048ce0aba6f1554e139568b4d2358d6cca9bc291d3600787cc3e732291002ca220100000000000000a0a1cc9172a71b134162a60272739d19b59162748f9e1c4adf86d3a10834c72d0100000000000000a8731d355eefdfbdb7fb12cfa5a280c0b1e408aca264ef585d42bf97fcfba1160100000000000000f038e6d72ac8c9b9d165e9154b1f7978dc906e6bbb501ffb8e3e9a739a89cf5701000000000000003ce775a4a6215dbfbdc2b0a8a8b71936abd61642b5fd1a0c1d06ba548ad3025e01000000000000005ed6df49740350ebd53c0b2ba22e8a12ed609dee8070e9c06e5a36dc59550b190100000000000000fe24bd4f4b0e75ff21dcf16a3ccba49556cfa9586348a8f939df8def8a214c0d010000000000000086ff7f9b2eaec6638f33502e74c216fa4d15f774b35c318fea091669cb55441901000000000000001a5c0eed62bc68c0c018b8878a4514706a996dd8dfdc94798684656c8ccce27b0100000000000000f6c3258308f4382c9c7d36f4435b692b42a20d6a7fa74765f7a965eef088c82a0100000000000000685506af78bd0b16513f09395368600e5b6fcde0f89d280c6446b1613844351c01000000000000009cc697b491304d797292fd5f14284c376a0adb2d420add197617126cd258f62c01000000000000002488a8bee91b989dff6adff396074f3300e7938a962ea3728943f37a23a7763e0100000000000000ec25078562fb511f0945c3af78d77c8e02f570c647957c0932475aac3ce72f6a0100000000000000dc4ae9ca42fe496af7a466de59735813691d9c050f3256c3d4a96664cb6f9f670100000000000000028393ee5fcd06734e381651c82cb89b08bdcd64d1aecb4727fef82ae5c44b4501000000000000008cebbe9ee49c45528deec5d40693552c8a43478d4a73f731264d1cb07884ce210100000000000000e0d7a8263f27cb76d32137dfa7ca09355a2821fd2c9454b222b3e5cfd81ca359010000000000000064eda01bc8dd522756c6728f9b030c1b1f605ed89e91233199476e5b0e96ba2c01000000000000008c53786209d22e7605c5ac59b155f2ec9bf5d088d77abd8930fbe65463cd8d6101000000000000001e534cbbe982369a968006efa465cf2a16807a88a5c877d45f090192ea619c6001000000000000009c4a01b4b6e187c0c98931ed673f6c02ead7030a0f6a967185d7823a30d17969010000000000000042f799c01beb57b5ae0779f17bc6be1a8a6ab789cec7c00318049f1a68da50430100000000000000a8799cec2aeeea9f33bafbcd60c947d0bcf3b1c9be450c43f63004e16a857e72010000000000000078cf1debe3fc0da2ed2473d1e1835a478cc3e7008e0cf42043f287bc36804b710100000000000000b8f696197dfc324b72f06560c38ac6635d1bfe5ea4cf59c133c36234a0a012540100000000000000266f93d04b5ea1ae454eaa25946da19eb9f1ebd3a6408d8d1ac4a373305fc92301000000000000006ae77bbe36c1554126d56d6bdc72946f26b4323f38125fe5392e154640a60e300100000000000000fcf8c8db78fab04b332758bb6edb9fde68e74ee228c1eac78812cd80adce1273010000000000000032e2c97e308c84afea4b37d7dd8f62e67763126c357c9e6e49b27f54c3702b730100000000000000c64c595519886ef38c2fa837c795ee92f6fe003037c9ded2c1282a939408513d0100000000000000c6a07400a9c7d51d51e5b2c120b40c313ea99b4af9c0c4106bd753f3185f40680100000000000000a0c28669f01d5b4decdab2abfd9d14b989c1d4b32323f264b24a788de0b9d243010000000000000078e2ec49a559fb6f6a23a0f54aa60dabf71f79fd6fe6cd46f00d3b0e25d5277b010000000000000006edf91775ad7933effa1660edca6bfd191ffe3fd36890c618c442b9b666d2380100000000000000d6fb6a5a865021263be239af6eed5a9e1b27e0c4f430b66216f3908e09ccee6701000000000000009829a89b84bf8a0c76dad25d99c2e4476e51bff2ee9e917a65edd1b4175cf5400100000000000000b67a042a5fc9668101e9aad4a291ea2aeafe50eae796865cb201201a6dc691530100000000000000080527decdf951ba9bd3ed9acb5e1454d07c661cd84833a455a2d239c18d42140100000000000000847f948b67d6f455e2f2923f366dfe3c0a3925b451210a46cd36fafb8cd8290601000000000000001e6d57d7109cc6dc573360e5f2192578e3324f2a8dcbd823483b82d725a9771701000000000000007cb1f225b90c00f426c33ac4338eeb2dae6467b8a9da5c1556e6588c12ca977b0100000000000000b261a66b9bae17b65e7f6a88d65efb4519925d6c418c9e2ba17bfdbf684b77630100000000000000c4046e6cf48c9913b2af1dd8caa4f7ffd03a01255af691cc1b70f142b97d2a150100000000000000560c91919fc22867159ed77bee1b3e70d2e222a5fe6e830fceb13b58b0daa5290100000000000000b6068f3b8a0ef7a3f7916e5559eea8158d5f5b09d9db89e40dfc5bab0549911a01000000000000003680cf4852c43b2a708608cd7e09b531e7748e4d7e9d65904676f53ca756535201000000000000003227028def74f8ea7bede3e112e4ce09d8fb823790ed599f2259019945f2690a0100000000000000d28eb111cd786c6f09c003d958c4a26cfd7a33f9e8bf6db02795f12afc7a1e0e01000000000000004ca838afa9f12e88436eacb5024f3f94c95a66c32e114f65f3136176e426c75501000000000000000ea6f5d4087d599603b0c39fbd588c198b9d9bec85a77a5579ff68fad12fc20c0100000000000000ae3abe7a22e9bdc2c56ccd4ee8b99867ca5c54b0728ff372f3ff5caa3c6266160100000000000000fc5b39a7b7d737c7d1dee9dbaa77969b95a7edd3926c538d8dbb854d53cb3c1101000000000000008868524e56bed527bb3039e7d01a84af44e8e62ed00b1f44098c47789e4b201001000000000000007e8fa0ce0acea9cb5bab44ae7112ffd068f3a3c193a90f1fd4fb00adc1a2042c01000000000000000c60356c02d5d99293952c478fd07b2cff982dbad863ebdadf25c9e69206f14901000000000000003a8b589c8222ede45b3d95c8d9176543ffa9a29cbfa0ba2af60fc412e732d75e01000000000000000c6cc2bc932adace83516fe99076d532e6197ae08d66610988288044c6bdbf3601000000000000004843126f2fe8ee46dd4a489f97b1f4717ef777ed371da544e30e8c7e5f0d681a01000000000000008e67bbfe6269ba4ea2b216e7cc21a54ab882859d65a691ff2eec486f66a9035f0100000000000000103680fee8923b681b7721ef2bdfaac20a99bae45e643b42a228be43b3d211660100000000000000603fef5a531a03b8e83a8b66f583edf78706b93a11eff454f5a56093a6434a3a01000000000000005edd53eab09b1834ec2435a78a19daee1acefe1e84de77bf788740d9bf6938360100000000000000981f14da22574782d35643e2fdf2c514245b6d7475048becf8143136acabb00c01000000000000006ab4726a2bbbebbda26c700a0020ad97b882c089532da71cddb05023687ad71401000000000000002aa57ae83dbf829a794b555b8acddc97657b2178d0722c6263c8ddd19ffd474901000000000000009664e4e01c42d9a22435a39dfb1daa6cf043abbd01c1b081c28ee271988b415b0100000000000000e09ecf865113ac4f2520de61ba8b8fa5480534d41145d1ff3db5c8ea3f3c9a100100000000000000ecf0297bddebd3d766ea7def2bac79ad6eb650fabdcd029b99cb1649ff7dc815010000000000000090b46ba005eb064c8ea5ebec94a5facfe2ad0c0050dee0f51026f0d1603911170100000000000000f256b9b48c47178b2f1896a017caed1ea2451c84c29ca1453ac153d0dab019130100000000000000042cc9a90ee7801f29bde1f77ebc42e68fc8432df113d23b82201d1a10e33d0a0100000000000000a2b45b2d7c584f27b6ccd878326346a15f22ee80c56a02aad47118e5c5a0a10701000000000000001a47252288a7ce1b8f8892ca42e0f279967de49258218eaea8bfd94ae117b77401000000000000003c2f81db928e84552574a761e6bf8991a337ef5907a5ad26d8d21385da1b7e3201000000000000001e63ed13cb9b8d544a73307d348a241d87d3d1063715d686572e705b37b7483e0100000000000000eeaf1f835802c8997d3158c153aa6b5a01c5cf2772b0c00339bffb059ca9ed420100000000000000183e5f34c7c987bb4f165e2b737a9300495ecc1b7f9681c5c748bffea19bdd650100000000000000a0935670e98d2bf4800f84af8a051ce9d600d2f515cc2de17a9e354d3488db460100000000000000e84ad35c6913d9fb006b3d64760b959edf736c080c8fdd58af24ba8e6a6fd47b0100000000000000e8b7e227a0ca7c64a4099a3fbb509620d4b8e1dd91e1ca32a5bda49d4aebb31f0100000000000000ea3c4034fa89a8744f7c8a55560418d7298cccf97fdba7cfc0a9c83701dd680c010000000000000036ac66f4a630e6c2af684fa7ad07390d67ba6fa05b50bb5dc3ec8cb3fc39f66b010000000000000096ee011f2c7af1882c6b9d8c8906d200c152c3fa13c272392abb166ee812ce000100000000000000f8e53780bed6bf624f73d22731cb6c5eb520d40e0b4d47f62f8a73705ee9853d01000000000000004e466f6a4930d856a1f53f21c1a44451ead20c8c71319f6a685f0e254d24c32101000000000000004c1af564e989c30c6e5ae1b8035ced5f59653b40cbc2d78fe17336468c8f441b0100000000000000ae811b4f4ae70648cad6c684fd8661c27a5366548acaf538877698bf03c8b21001000000000000002c47624e632022dc25263c337d59412c3f597729977b08d15cfb78549709d67001000000000000003ac231bc9a6e280f3d1ae2020b2e56c5888098427a186d35c052ffd6e42f264301000000000000009647f0ba124d459f0633dfd82a3c3a0010124072d4e274742c7c17a536eba91401000000000000000eabd85c2d5a1631f4b14cab1afb71b4c8b9543b3c93ed53b5a557513bd8394e010000000000000024706d6d41dbaf2bac8cf1c4375d87c3a5b84b8bde07036968aebe83906610450100000000000000e6b0227620e1921d97976f803bcd20553e4e6bc80f1e269c8d8485757f269a47010000000000000088fa8bb07ebce99964718c65d0d6f1b091ef2f4d4cdf7b94a22c42c007ecd7060100000000000000dc730d027498da3a134e72db4e96c5d327ed4809f4cf258b1b6033df2ed1223001000000000000008213c855c6cda8c660559fe47d08cb584050fb4d2dc411cb1311047a806c874a010000000000000000f79cec5a6b6b70f768ed05e94d2cfd70b13bc58fa16e62d742ee49aabe967e01000000000000003e41ef0e02deba17276b3f6645369aca0a14734c503c1fa8c492649bd3f0651b0100000000000000d8bb28523be3666290cf2748c87eef425e0d92cfc359de1d74004354cb583c4e01000000000000000675e394b7c215a73c0157d8e450168183905f94ce283c7402eff541f2f15e2d01000000000000004cb3593968c0254cadc7f1a2270f9a89e0909e12a6eb5ceb7f723ab6ee9b7275010000000000000060f640b7d3d4e9316603270a4e5771ff2d9e48927a6210a67eab2a25149f177401000000000000004058cad6edb88d50305929e0cd7c91fa8ce3ee84fbaef547d71edbcbc74323640100000000000000860f027419d3673cc8e103d0812025ad5151e2bd630d8fe55fa7b8314e37105a010000000000000092e5bb9d0906f768dbdde0696b78e493cc78dc1f68789575b24f0b962799b51e01000000000000009295a1f023157921d346b73484b120d46048382107015aa9ed998f1fae95970e0100000000000000a2574c3754e306002ab99bbeb1990e66f08ebccf811fa15e70b8eff87681d6230100000000000000d2c456a3002282450e0419b0aa5293b85a9e6f5e9d181652a494a2e613f12a11010000000000000046920ef4915f3036b0686792a741f2d04698b23c5e6b8338d03a7e935d6134300100000000000000aa97c0ca75c01bc86b7aa14f50b3732717e4238a8d542f40601cc57fda04486001000000000000006cb96487d8bb7c4ba7726a623709a27687866740b7a400b9c5322e806711aa0501000000000000008a061720463abda562f0802f43ff556ef8382f737ec6370150396ec14dec820901000000000000004a512ac212da2c96d7bc8590865ce627e6b60246700595bb100b240e80a3f0760100000000000000be2ee8034bdda18863bca0a0af63015a85ee2551b62e0b1c732417ed06ea395401000000000000004a65fbb5116022576ab8d06f72493ebe2d612a7a6dea02e77e7a4f6bdf98d12801000000000000005a15fb3423d8efc0d616665530a6d478b661c324eb30a42f72b828f5ea99421e01000000000000001caf58ab15b9012fdd60832fedda98852b1a37a488f89c57cc1c19f11048ce5b0100000000000000c6fbf5153c7b8dd896e8daab854560e2ab669890479fed689ca39f210fe880080100000000000000cef0ed2766b32d77a4c7f040c05353dd8a918b01bb9705492a53c419ef282c3901000000000000000288ce3ca0332829b5507af33d42e92bdf45a0fd820c4e99e3e95ac1a815d4490100000000000000aa58ec5f9f12a8cf5286c9620b3c3d9190ac57e7d2aeaace1bd6aa27ce48167101000000000000007eaa6ebab8bf9421751c15e0dc061d9fc6bd225c6efae51c88c58a7f8387b90901000000000000008253aa8ced658c953f1052f9117421984cbe6dbf14fda93f723f3fad901d880201000000000000008a28916152c4b4c5978e3eca27b76eb9a058c8c665ee29944faba32f05168072010000000000000058e325dff1555077716069f76f83f6e2ff171bb43fdce83659d250a1abe7342f0100000000000000ea88c9aa1e449f4c62b86af5da1abda7479f9be5344eafcaca482b892601c457010000000000000026538b2b883a97c4e4ca0c01a9e136d42832e07156bf9df23bee062df009230501000000000000000cc6b385d54b772686de9137405b523af4bc79c0e2ca6c162163808521ad79570100000000000000bcbd81964eb726de1abd2b7608252278066fa196b100b15ea8d8976a94ac743e0100000000000000b0d9dc44559810ad536b1c9792b5624cb087972bf5fe3ee484f9214497d6f83801000000000000007e40370daf63360433e8af5248f59f6fc33339cfdb5cbf9863da5dd52486b2290100000000000000eae34c5f0c88e2cefa9ef36ea262faf41315a0de4074c6f3b3696c153f8f023c0100000000000000b600ec4f4068eff1e9d03edd1eb00e4bb2795eb1029348825e604ed28829bb6b0100000000000000d23c53a531e356646133db73065cd83999693a5bdfc05931238434f5b031522f010000000000000094d28205c958a5d713fe7dec4dac2cb85cce31872e3faf9eb9487e8fcabbac6001000000000000008af88ab005ea3b1a0b3412054c721e574c4b4469e231aa487d9132946e42bb690100000000000000aa74176b5870c97b754a157ec0d8032148c2ae717a905e0e5e626048b6f53343010000000000000062d37e495af1a21a15c93556362a0e29726926302d9453bcf2c2f0a7b4001e5a010000000000000032fdd22fdc3662f97008fbb6f52d0fbe7b62c24956849fe04f9b023007a8932301000000000000003e07b075219fc7ace8dc3bf3a06f5dc12aa9c7e45fe30244d2284bcfb1e6ee190100000000000000a4a0bc81aaad1ebce3fdf896a8d6d081ab93efc2de9d5c56f2632edfeaa7ad0f010000000000000042c7ee18833ca3f3a56b91ea1f57f1984a7d127efd57802caadd0a4a7e3d5f48010000000000000056c96b2565b9db9cca8c6264ae689cb690919884f0f55c7e46b50ef7dad69b360100000000000000f6fabc667ca7e609a18fbc1b44af598f189f769f5e7419d2632a3dbfb46b266101000000000000005ae2495c65862ec124cbc8c9268f7a1fa66a9013b01f10198855149cc549c3710100000000000000465242c8915eea46e25549f2ab97cfe78784f25083e51773e07d5a0cafc2de320100000000000000e886d0c8ecc3af997d07b9426599a43adb274a3b0d5ab3262331a5da13e7555601000000000000009ef8d5705da658687f96fb0a6f937611a3127911a1694a46ec7226741ce43e4f010000000000000018728d9d1125cfc79ab103aff7fecddfb9c6528d3a707e8e088b92c9c7a5d41b01000000000000009875dea5d493af94567673bfcaf096919a921cbb806f55b7488bb0a554fed66c01000000000000009a3b32b7cc94b119b2753d77d4f38b0e63900a5633773105a551de5b22670e7a010000000000000078017f5b8b9d740c0a4e1bd7b220653827d49147e97fe2cab5b846cb0f73e95a010000000000000046ed02242cf70665583c79a324b0e53c1e957c2b6c41371fdfa7c632513a86530100000000000000643589f0627aa555aefb01d2f0a366eacc252af9437ec2a892935da2a1052c170100000000000000241cb8ac6036dff8d9e0f6f092f17932945166e75010dee9adb2e245a4b6e5500100000000000000a877af86b958cb961cc97cc61fc35602350a87cf9cccefb09dd91f9f792919250100000000000000ec1ccac47bdcd80ce07faf39b9b1791033ef5587d0647b9b83ee433fcb8d32170100000000000000288c08430a7e427400dd5b61926b74a82abcbbc91ac739190cc791a581f6836a0100000000000000b40a7dad67fc795dda1dfc1ebc78dbe45a8116888183aadd0cb4698dc4415912010000000000000028052d0b965ed862b7861aa7f3f91fe52ff8b0f795ff476c7e0a7aa42e7993300100000000000000a853037e17e9d4ad15f03f236723506cb78607413d233975c9ef793397de156a0100000000000000b6c42607db8cf37421c805c1c54fcfe85f3d25405ff4c55286501818c9dc584601000000000000006e196558c4d270a0c85c034ec2d427b99eb9e43ea2a76c30d74eb902aa11d6700100000000000000d6b710aaf147e2475d1f8f9a8fb1832bcb1fa6ed0ca5f1dc626e172bca71eb700100000000000000769ea03c7b16ccfa42f5aec6127e19f165bd61e60180299da4145854061e1e180100000000000000aa646448bef869fb04cbe6c623251e10ddda7c039fdb8b642b704c3a0416dd270100000000000000042bfd7a93a6e7260e2c155372faeef3e41a907be64e81dbc781310beef40a7901000000000000006a184fddfaf73573f9c28e194450fa7c5b784aa3f131aa5930f359b221a12d6e01000000000000003622bfbaf9350b5906bdf9ce362e06726224ed141c5d29e8e175e0beedbd3d3d010000000000000070f08007867b02d11f3fa909154b03a7915ae7971e474ae27725fc6b99c8425b010000000000000058db03e5a46e27bb750be81594818fcf8acce9b0fbce7fd6035f239a98b2911501000000000000002c6ef636d3bba8ef79dfc0e6d77bcb38426b54c92b764b29115d25f3af9c87160100000000000000e8b977fa9876c391f9ea7fa563d64da4af9b50fabac9a2425b2f18c7eef2f54c010000000000000086088c15ab94ed86455e4473c198b99730e99585b88d6fa465ce429d268ea27d01000000000000006ca1fff449e7504cdaacafd3e53d23f3e9b566178f592811a7a423fba6f0506201000000000000006ed90090a744a0d55adf8f8af5af4d5198bb67220ce33fe71121d7c51f27a41301000000000000005415709fd8ddce1a97512f0950815e25178679d2591270d89e83c5350bfd4b0501000000000000000a73873c9828f50900fec8ebe613db998e6fe476142718ce0589822f88dffb3d01000000000000002e1112ae35f007b16eac0058c77a85d3dca8687cf6f1bf231f84d768fb389c040100000000000000809dc13a93316ffb2f1cfecfbce374272a81639b11fdb1836f04d3bac622f24c01000000000000000a1756601e116de8a2c8536af41d3ab2e88584c0bf94361e75861dc739e9db500100000000000000002608aa377726407132cbdfa1118b69a6b9d3fe876452b83a90c59fe51082180100000000000000687cbc1bf231505a492d00bbbbd0f7adc9df484ae46143f1088f469e51f95d740100000000000000e4e005984bbae507a03d158ea8ca3a87505ae3e8723d8f5bfffccb63a23ea61c01000000000000008a40c3acc862dcac958866b738b304be7d84c33d9420b0747eb82aaa21b8c40c01000000000000007a2430a3ba06afdacb8cdd51b95a8f94e97f6f3da16a16db190a83fc8d7f380c010000000000000030071950e33b60f29acdcaabac9e3f6f1436f337cbd3f123f5aed3f0307ee823010000000000000092439f4dab2f4b2e8d1bd040505ee33fb2c1dd56f3946826cc27288422313b3a0100000000000000aa6e4b27f80410ae5ce7ab8e7bf083f6e6a87f87a784d6aca9e5fd9843176926010000000000000070b445c51ac7f46827f23b8224f7be2aa3057334494a3c1b174bdff2499e6a1f010000000000000094b4d71ff20170266393c4cb481cbc68d0f04264e067f456dfcbae3ae0af5739010000000000000092c996c1fedd09190bb0fa8cc79e4075ad79eca3d6895d2a99d20e6f89e4182b010000000000000072bb32222caca7113141263e12a4193da7f29806dc93cdd11fa9653464344e32010000000000000000140d4493060751979098f686733955e6e71d01bbaa8a3e6cb297400c5c624f0100000000000000204791fdb49af594e5b04e0f26492e56ad8ef4cc8533245609d10e66c340302e01000000000000009a9a69868fd174e5f7462bc00ac3dc483c871e3c4e63c357c9652454ec4eb17601000000000000008ec59e4c60c8e07ea1c5de77d0510924f4d399071cf1f09606e0e58c961c1c020100000000000000941dd915e0ed9ab77c5902ad8840b81dc84402df589ee4d846480c63cc5d9731010000000000000076f132027235278f9c582ad1c52fa62390aa10f04add56321a28b4f22074092d010000000000000012c41078fa7c99409a1ee5c1226c86bb5a88d9b4cbade04b5c54ca83ae03955f0100000000000000428992924b7c66ae24e3c55a9d85fcd8343ab1bf0089a8e5038313d1f3fcf9700100000000000000f2065428f52da2f7a881f9b94bfd38719bb6e5ff88a6800bbb3aebb1a9ad21020100000000000000ae48bbbfd5aa564f0945a2d79428d0182fe40770999ffcf472944e28bac852790100000000000000ca8eb4cb794e9be49454cb2160ec2bdb7165a4df9794df7c9236b6fde6904b72010000000000000094ca8d9a1ac9afe584ea99954a80926de626990ba9087c0a8ac242ab67fcb7780100000000000000fc3fa462e56b8a4aadc369f88cad272f9e52da4a11c4896c30e3e0ee19c403140100000000000000d4ea40358db730c989516c396564c35219ccfc967d4e8dcfb02ca41417bf614901000000000000009452d0cd850a8a3fce455d099302e7d641242037956cb39f679f343e2af9601401000000000000004e09267475354ac23e1cc62749139e0dedb5e403013fb807490e37487594707e0100000000000000aad8cadd0411f99a40ca280442477e707101189728ee1252931e28bc75edc6370100000000000000bae8e68bc8f1b66fe3229ee72d77137b394c6b7dfbf55e424f9d2c82d5c996000100000000000000183a83cfb0fcd53d29c91527754e3f6e4697fc680d43247d200b39589084f84d010000000000000076fbe24a9ab4cd3cd99386300fca0e4ad3d97aba0558ef4929aaab74931a274d01000000000000002e80afd2cf30e0415e4f442a662a9f7da2d07043f87832ce66f15049c022d46301000000000000003c7d4e79e3531b0b00ad005934e642cd0d49ae04fc2a10f3d1945951c8190c16010000000000000004c1f0acbfa8d8f1169684bde1c6e3938fe90d54879168a6a4a7fbe99eefb9290100000000000000a60345c5939d4ef77e57e8fea426929956c826524c7df8b5d880d5274d77461d0100000000000000683f0e1d68ab68c7b04bc1928a8b47abff720349ddc36d7073793f43c2afb030010000000000000060b521110672f6f871978fd3ac4a835b5e30c3fa727c04c70dbc543fcad38b0e0100000000000000c40c9ed995aac4b4aeab516c9614b4614616a75eaf2fbe628dde6d3be5bc9b660100000000000000aea8642870956958a248de1bf3901a9380cb2f20a581cf0eb82bf43100f28d6e01000000000000002ab0b5cc358184be4fa29e7a3dc24806a72e55baad40ec9a117324a884242c280100000000000000e05c7c7d82498be85294ee984e1f0caf23c53fa9a64cc7e6c5053304c4bb785101000000000000005afe620da258a48f00c3afbb8a98161e977f076c7e7f8392975a4f0db4b57d610100000000000000a61667ea6442054b56111477f57ecf39b6e90480bfadf54c3e6cb5ac3a3e275801000000000000001ae9aab4a890c558ac8ab90ccbbf193b3841083670ebed278b2161fa2ec7b3040100000000000000c0730aba0523c10c535c2640ec878a0f5d2a240c8d53fc37fd30f5735a38ec4001000000000000004059f5de23fd2e6805528d79475470526ee7e2f17192988e10c681e15672857c01000000000000002ef1963041466a7d5160843012c4fcad880ed969cff996152f4283ffbe645e0c01000000000000006029513013f081e5d5d74173847405747513aa814038c25500522e6fe2aaf37901000000000000009e6528fe0232f7e9162c5292621c135c47e949e54e91fe5fd500b8b80632625f01000000000000003c0e8a8f204aa9b2f088877f0e03c6ec1c0552baaff43bdbffe904dac305675b01000000000000004e7a559a6f6f685a8b438db6acc074df322e2a38b9f49b26fb60026b9301f42a0100000000000000e27224d559cb0628012bf4e5c6b1f0f2a678300a360010b9985bbf9bb4ca6d2a01000000000000005a3788f9347ad802a56974dfb4ed19b22fa91c20e5c8dcffaf4208f254714326010000000000000088318113e9e557f6f1994ba53607b5eb7942d82fbee921ace6ad86ade239445201000000000000004616ac86f0d45899eed3f1246dc5744858a694a92b0abd9f10e52dfc9c28674601000000000000004c0b37ebd9e67b237a2b3a9545c269bc382735bc3907baf9ee468bae0d8feb2e01000000000000000ef15a40dfb9c89966f22d9d1fbf255a10ed208c960a23e7f5eb8ab9da9abb1b0100000000000000c65e37495239d0eec6f8ca9000a0e8ad618fbe5c366c25825ca7fb26c7b27a7a0100000000000000a4b31af719e5d9c3b69326ef920736e8b620b329eade475ae23a33fbd445df720100000000000000ee105ac039f82ea13b41679570e04c8b0f6127537e101a1460701a9e7beb6d1d0100000000000000ce0b86a8b77a16786043237cf2dc24eb05f69ba6958112111abd8689331a710e01000000000000009281394b5d35827c826e1d7444f346c247b9a004aa0292a9ca2b16e0fb556877010000000000000094be52a3a400ca82f2ad77c8c3c8d572235345249a622ff0588235981c95d7700100000000000000a2cf2f85a782a37f8635661c3ad7cd4aaffbd35c6658a408c3d31ba489d69d7101000000000000006e5b6b3ed154c062b39552c901772d5cf23eb9e4a629c7689c16f1d827ebec2e01000000000000007e88cd54f47c1f4ddd9d3a198fc689d24a523fe186d526b14e476f14ced7db3c01000000000000007ec6b488f746a162c731989bc6ce203434854c83c4c8deaf74e5903ce2417f5901000000000000006ac27e3d6423f2d9488d1bf42dd6f2d3eec911c471b51d69cef6371ff242a3750100000000000000ece4c3c5e3b6ac008899adf3458f1f59ae7db2e674bbe80412756963446913030100000000000000881a3f7b045cf93b13e79864a7617ce7f5dba554463e5b00a441d226da016c140100000000000000e63548b7be72f3559c789fc7e7e15e187b44a7217c46848f11ac822741c39c570100000000000000c0ae4d472acdd80a599ac99fe49d27f3b490902f1b9163ddbb9608a83e3de87e01000000000000007c6d7bf7c2dfb84a3f14e25e97676617269616b56c57b59d670b2337bdc51179010000000000000090c7d651923580f0fb50b8ac9c020ccb33023630aeed52218583303fb0e5bf040100000000000000aaf44f9d4dca217ceb1de3ee4cd8e5ea99fcadff20c2626a52796567a316ea7e0100000000000000b85b1b7b8ed510a5bc1d0979fdc04ec7b73d84c7d1d767dafb6faccc8dfd402c01000000000000007e8ebb46c80883225df2fc91fe7ede9933dcf073f3d74ea3db0525585984e74c0100000000000000068245d8a483bdbd4e9d88b49e17a651ec168f25e6851fc52c2e36a516031d5e0100000000000000eafe1126ea517f59efa787027d78bfd0840e908d3c5115debed46cb33658b1510100000000000000383d2ea99f1550060500295b8dccd50a9b78e2e868c01f28adf6ef2e8007ac7c010000000000000000a5fc354a5669536eba3ab51a608e9c811214c5b7702b571535d48feeb9742301000000000000003063dc6994f705aafd8f6a9c3252629f17d2bde6ae269ce9d0fa4ab0c8a1ce3a01000000000000008859563f3d771b1ca9e5afb70b9c760158a970bf9767060c34af3eb32354ba5d010000000000000068b2ac21afb21cc0d5a063c77fea17f09885bff57d0200cb83ec85da7eeb614e010000000000000042dbd2d1e0ef786fa0f72e251102e858eefec87aaca722a7de9c9a8be29485360100000000000000bc3cdcf9f41b5f3f073a7f6a29931a6be12fbcdfc1dfe7145c4e0a527e9e243c0100000000000000e2448caf0194050db8eaec00df9b2729de602fb307147d00e82172141211ea180100000000000000da132f2f832c8e2a4e268b4faa923d9449c94ebe66f03fa0ac4303f2ceb1b053010000000000000070eb857f0386996d388029ac2d19c3c31ccb3766a9d118bb5dd36ab331d33b2201000000000000007c4bd3b9b81241ca657d1b461afe675272ad933187ee5855fc71475d1f01812f0100000000000000a8d082a4289fe5ccaada604e70c4b1473d6fae4374663672e61474852c1ebf2a0100000000000000705dd0b71ee01b20d9c8dc29ecfd33464d72b3050582485a2354ce8d0cb6d7420100000000000000007cffa67942272b1974dd65c87828e1535799e008d9e81b2818f5e308ed4f3901000000000000000235c0ada5a6bfa56e44f54010af724950e9ac981bbd21fe695b6a3d22cf4d1a010000000000000050deb42e933545c7892d2d25496d9934505fce1d08ad50652a755869c8684309010000000000000096b9efe3e08609cd61aa98f3202618d928074308d9f189d97f7c1e52d2afca1101000000000000009623ad5bd17b75cc58839c76474636ad5675c519e15f090ec008eb626db73b140100000000000000b3b75f8ad675f9e25eb5002199ae3e05dc40e7587792db64c99ee6edc2a2f1af0100000000000000040000000000000002d54cd173441e0cc1a20900f224202452c7cacc499014243568fbaf833890c3ff3566980101c42b000000000000132c6711000000006009000000000000610976441c448aefcf40a72128edc9b44a4f7ef9c267c503e98f5f9c72d5e9e92f000100000000000000827e307dcad5bfe176ba102e357c5f18ace450271cf480e27cb994b9197be15a0100000000000000c65fb01e233e312b7d3dd6bf7d6c159d30a06550fbf40e664d2f97f21def7c1d0100000000000000ae5797a6246fc7f96394d09712e9abdfb1ca3e7793c3f093aae6c126024ab72e01000000000000006c9c53f3824abe976dedc2792e1c6b8cc55c317eed2f30916c3229b60e579206010000000000000080f20c794a97e6080e7b81854feb03a4924ee28b33bb2269cae8fa582dfedf2e0100000000000000ec8fcbae6ca9d402b51bb0bde913f0c29769d8d1b9653f4933db117890fe38720100000000000000c29a52b01236996d090dc112e63aca2ec383da79f89c5db420319c7a7ec9645a0100000000000000cad93fbaf78ceb031a3677b27a9e579688602099c97258c746b080422c34bc4d0100000000000000f69a39a051376ea1dbb2a00c3e18369664beb746ca10453dad7db5f9341fde7e010000000000000082c934f66716490be643b87b99dcfc1c530e4b2ff2ef2df2d1844120cadb293d0100000000000000dadcf49d502bc401f146b250e918ae4d0a441958b24825e3c09dc820bc03131f01000000000000009a2324f76f2a79412d94cfb9a1cb7299738eb901ce8f8cccd22fc967293e3d220100000000000000f88b0be90381341d0d7bfacdf140b8f291a16edd3310f72bd0920369416399330100000000000000147ccca21c4dedac43e0222ab379ef490987b302176a8010ba2265aa29567b610100000000000000e0c8701616aea15e91edc27c9e64e0afdd3abbf4f502c0f646fa060eded3bc680100000000000000906ec0a56171d27f65c29683a31c71a87a4e32b273596a0a704ff07ba344d0660100000000000000e03e8b838de23dc7dbe96982a43cb33b406d6f9978132eac11ae555efa8d226b0100000000000000ba395fcb33327501109ed40712c7a372d25bf3339edfabe2a1964fb7b5d4d82401000000000000003a36963a41de2036872df1c499f45acc0e7179457316ec2d99a6018e078f6a050100000000000000da9bf8b51b8396da87113ba296940b23a9fb3cfe7c3fd0b3d541331121b8f57c01000000000000003c2943d6777720179fafe62691d06390210dfb03a1f4c77150cd7e708b86be1e010000000000000076fa684c09e8db8594712bd6687168de6771b73bd3bd951dfd212c996c4f6a350100000000000000c0ff0ad7de8b9403d14459655c0ec4107f119e74406be3161faf15b5ddf1395001000000000000004c9886e2e62ee92a6778d6a7928052732044b64fa61969cd8e37f3f7e3406f7201000000000000001a9af74659f26511f8a1eea1a942a2957074d61f469d88d1bd8fed899735624a0100000000000000a23237719086db4a3c6e4ec298be9fbd400f80f44b694f69cc1dd1cd84ecfe1d01000000000000006a84d16e0196639a917baad78fb5e3b716d7ffd6c447ccadeedead0882482e6e010000000000000058cc4e48b26665ec1d6c2a128f0f5b70434ab4a771743429058b963257e6563d01000000000000007a42c87630d09e4d4b041cee10fe20840cc0ae2089514c51e248e137c6d5ab0a0100000000000000c80f32768e5bcf83095be0dc3db1f59f43650d58aebe4ca599dc02de3bbede120100000000000000228dfe58ff0326d8c8e0c51476692d0610424b01244c52c561f02dd133e83e0a01000000000000001e8d73bf05780fababa732bf11ea5251ca67db705955f2936fdbf2f1f1c8f13601000000000000001c0856b04c28ed8bdee95096f95646efc095737d4482b475053245db424e022901000000000000005237e4509f24bc9e8bf9bfd78b594219d86853ae16601f692f10c9b16b88f83b01000000000000009af80e0fb29426348d821b72cb4624373fb44ef41cbde4b4e85142573156521901000000000000002cbd43e95a827c6a62a0621b1297f0328c5919029173b2b4fabea89fa65848380100000000000000a0511c06f6fc317bbc43df8b47b7c36ca7e3ad43010607e88f21cccb32ecbd5b0100000000000000c87bf24eebac187534f689c35ab23038e0a49f890fabfc10613ed78dba1f67170100000000000000362701313409bc9d55aee9cb57aaa8d97bea27bcb918c08b99e8cff39301936501000000000000007878eb8af8d5632448ad518dcc3f5423192252747313dd6c3a6c1505482b29160100000000000000b88e803bf4241f6465c0393416858ce6a0ac3c350be41cf0434a3566eeb79c4701000000000000008084d934bf7a7ad960de3b325ad5109d10eef00e90d6ab776240b7bbeb6a6a7e0100000000000000ce0c4220872f866ef72bec24c671acc11cb909f47491c5ff18bd48eec429082501000000000000001e38c5026ae39e74530c1e2044eff23791cd7a39e748316848f2c0d627be22530100000000000000f0fecff9ef1c288d6adbc261c63a2dec156042b30e9d29e30283e682eaba675601000000000000009ce7136b5fb85ba83e153c64a212fca1eee9c3ee42fd010fb27f2d55695b29640100000000000000707c6f8128973d552e4e13c7b3e0a7cebca93fecf8efc5df89fb66865acbaf72010000000000000006d2846642c835b0fb1ff1ef908449376aa8e7c0f3352e55da9a1e97e9528b230100000000000000d4be6f891156ecfd5f9ff661f780884578ac18dcc999b7f574510196c5243c220100000000000000ca29cefbde4a2167c5b0b4900dd25b7dd6877111ce52029ee334f02aa9a05459010000000000000076fc5ac3dc0ccd5aee50f0a686a0cb5ceb87bb037034dfc5e050cc477a327f150100000000000000702aa745c823db83579c2ab00ff4477b39e270874349bf7278447fcdde4d18790100000000000000f8a681118ea0bb9dfde2813ce5144eeb5cee881c27883de1c0c759255ec32654010000000000000016e3f8f5ce2e2b22b816bed27dc767115513198ec47d2795ba9edcccdde2d1580100000000000000b43a022b3cf70d5c2f080a2759d1778cc246f6f817df139391b9e7a952fdb14a01000000000000000a71577937bbd539f79e0d6289a5d97b1649eda6c85bef8336ec63e6203a066401000000000000008205933bcdf98344d19df8bab418ac1d6d93ff01b6936c46dfa2b39081bf99470100000000000000c08c91ecf8879f5042960c3d61c0e74f125463ca2726e6655fb922af5cdcb8510100000000000000e23173bf099d870567cbac0e94678e62cb1a554f4bf92c14ec2d46d9dbd8570101000000000000002ea26372b229d0438f7fa19e9c80f90fce3fb41024c48475938d6501ddd8547f0100000000000000e67c524e443cda4cd27dfcce70488a5d23a93c8c46a5e83ef5a69eff3a02fa5a0100000000000000a42289d68c963358f3c450a850242bb53121e73e17f0e2ea2b93327446bea33c0100000000000000caa53cf3e8ff5604d82bac45868bf3e25115f7e8f4d1cdfada68f8487d03e91b01000000000000005a22cbf55ee96a7afcbaca5ea1aca08d0eb0f2eaead1f43633ead6ad4c30c239010000000000000002a65bcaa7e35aa60238c784f04cb771829d09bb4e0f7c1c14f4e0b4c0a6391e0100000000000000987b7ecf8720281e4a19c9c5ec6c62be561b6c2e341d5236a6ec0ada32f3e15201000000000000001892bc64859d3f7b26ea46d591a09bb55a80bcb9f2624c61d2ae145e01f56f530100000000000000da2ae63c251f8974aca311e38f118bc404fa9492c08576a3863d2944f97901050100000000000000c4eeba433f476d40e4d6967214298eff1088a8404d81df860229f484cba14944010000000000000088dcb7ea2da86c213e8c735fd1c3c9048bb6312be7045f298f098ba056b87b2d01000000000000003462df838ecb66d01d18c0c4beb28576871b0751075e14668fceb8970104150a01000000000000004e505749e5bbc4d469c2640820ce1f61e6062bc979e258d26e2c1a52b820b47e01000000000000001abb26ba0076d5e001abdcf18d4454fe25c5076bc5ceb1b8f35d6041670c265f0100000000000000b4ffe3c5959ff37c11c6f19d91926cb97aa4bf0f604919e1753bb55664d061680100000000000000bc4c9b5425f9a2aa09e3239332c702dedbfffa2b9f4cc1b978b307fc1fa1337c010000000000000082adf4dd2acaba7512ff01a3134c63e3491c88a10ca13ceb92b60d34b6750b760100000000000000bcb501cabb14adc6bd1c1d8a94284bedd2a20a21f3caf33d7e60edf1a73065530100000000000000b0d4319a2ca1e335440462c6b9c80cefdbfc9aa735d84301a618ca480b56033001000000000000001ee57665488b5ad6f7358157b73009a4ec4b14b4a03c976487e188f54bff7d6401000000000000007022686a613aa1387ea688fdd9a23170bf587f7f1dbaf7b8b022f120f3a4560d0100000000000000ecc606e7ba3eed5d7f6bfd00bf679f03078761d1cb50904d1caa1080431d4c340100000000000000dc387c0249b862faa91a5fd30d1c2b86dbc741b2feac242f274bed763d647b6c0100000000000000e208256605f8c064a2ea00f8503293d0dc4aeaacffe021a328cd164c22b623370100000000000000c47bd7af17b6ad4f01e2880542c8596f5a800a20eeebcb37756ffca94a6b98100100000000000000d8632901dcd20c3415349407ec167034633de91f3aa55f64c8bb35882c1b0c190100000000000000f8bede5628e65277d7dea9af44e2c66e94c0f4b71e73d40a80436c0afc08f603010000000000000098c21189c2c20a98c5451d07dd88774453a550fd2bdf9a075dd39793c80a817c0100000000000000dca99b59a15cd12f53c2e069f1cc440c0d73b7f0f027e3d5c759ad5af7b32f4b0100000000000000cedc3d581432d4cfc8c40074e913b4dbcb23f36a6e35af989ed40f8e0c59e01b01000000000000000052e7df40b49fce61ac4b3099dd48d9bd647d7bdd7dbc9e9f487e2301dc3b07010000000000000026cc6964564859f16a2c5ce9df5e08804d65acea2bedef70a72b13adb5147d370100000000000000c8871294c3dbdab785b4e8ad9604d5f49db8260dcd8980275c980222e6eb261601000000000000005245c68abe0cf4f23b04bfd3a21f80cadef5f3a8545e49540c3999c3e7079f590100000000000000ac720e90cc27be9742897226740637e2f32f836878078928c27f9f62405a6346010000000000000022be2f3730ae90e20d6e0f1f76fceedd68c124fd811c18482937756127ce86260100000000000000c49cfd152ce3ac1fa142b3b6e720cb173eb7f43c82f021418253a070036f870c01000000000000000ee4b76ec5fabf011e00bc27b36039f3d397e021e8bcacf9532c90fc419fca0a01000000000000000e8a4443fefd81456a49fb947583e7eab5e78b3aa9e3743c4b316de9c38b9f7901000000000000003e79c115c01b959b324017f0e1120c76d87b9a734354fde75efcd05401ad17330100000000000000fe0484d8f75ec1a8a632bf75aa316eab8829fcf07c37cd7bb15ee73193ffcf7d01000000000000009a0b42e88688d547c31a1bb811fdd062908e88a115e1aae39f7bdcd95b927d530100000000000000e2d8807911771f762fef5e4fc3b9685517fe91c48292ec59b4ce13f95bc8ee5d010000000000000028bc76450afad8c197d1fe5ab3055c8635a370d4adfa17c898b3df93a50b00300100000000000000ecce43c0be3c9134a0d62a0b6463edfdbfce1b2b1bf5bac37fbd1cca48e67e7f0100000000000000887fb18ae45feaa3e449cd0b529bcf06a9795b3cf50425c79e1fe94c1db2ce7d01000000000000008ef93e538ce16500f27b4c9a10ef7b02a46d8a9624778d0f83b9f7d8b560466501000000000000006a1274b6748bf822ba80c9a9416abd3cf591b7aee6adabb8359b7dbed8ebb3770100000000000000c6cfae23e776800744036a6881d20a0476c1852cea187fbf9db79c936c51db0d01000000000000002a4375c947cf6042db2ac6efc30cadbeaac2472d7c952fdf87d2bb34dbe1e34c0100000000000000a893d2350e59c1937884d11aa7b680ceb7a49e7dba5a43c67bc7c20bf347c60c0100000000000000a2d800da8b9c1a800f38cb083da3c2132079ac489e7ee41c6d80db836e829b390100000000000000ee664cd198f60d2b4001685a624bbdb21ddcd881138a5d61bd450f298fc5833a010000000000000068f87aa7b88463d824f528b27648d786a8d3ec27e76fb920bc1294ef9432b60b01000000000000001ae16492f16bcf6e1c559726ae902c3360da0cbc6309d50bc5ea1160769dd259010000000000000090708d1a49ef0acfea32147a109d08d9aa15ee975b5237d56ca9b8e324108d0f010000000000000010bfe5eb616325eacbdad84fbf5ecc1f78d087aa73c1fc98e11bdd6a4251616a01000000000000003637d2655a71fe80476a194e4d8a57a61cd4d144c2a1ea4d10e488bf82cc6f03010000000000000052185fbfc63e58ca8498f15d0f416cd474e3bae567650d03ee5030983f174b0f0100000000000000487c6aad1cc26893dc7e498916a4c23d303f098c04b0a8b0c8242fbb7e73a16e01000000000000006a2524121efd4ac63c3bd00c6de3b84e23ad19fc60f886737e660d8fc6496a57010000000000000088f9a16886165d00612032cb1b36669ad62b7325536f499191e711134c71b60701000000000000005e6d779219b00ae1d5e6320faff3b6eb963d3acf7705672ff56d2cb46ac44e5b0100000000000000d6152835cb59040a40a5a4ee3a4d481937b7ee9d4a5649abeac6c535d9e177080100000000000000bc4b95226de4e10f91e0254cfe4541232252deaa347f567df124aba81bac4d3f0100000000000000246615914ed30f855044df3bd63491ca8af4af5614e2a19d5c9fcf8950d13d2a01000000000000001eb833e31087d6baffee4e7f1d9a8e3b7013ea392c81f74313a354ba82e92f6b01000000000000009c8c7c8c91df0ed53864f69017d530b5ebda3ab4bde3c67027e70893213d533a010000000000000018ec239eec5457ba11a41518e7c5f98266d1bdbd67602641d04706f95dba5c5601000000000000002e053f0352e6cfbbef91cb61435853a03573fddbabb3621ddd1ed68a04ad3e4401000000000000001e7b9381ff03ccb2f27fa0142dd09c4c0b6672a4cb3a099cbfee1842ef5541000100000000000000b640f3f59d687a3a2608d96c86ae380ac41d9dc8b175480a8830e27fc046590c010000000000000016b203658e93e4d9c195228c4bba8447f5cb2ac36dd9816ba580936d5ec01c130100000000000000aa7e2ba0ac23106e76a0efad2d34747769f669773802cc4de44aacd6bd3e3b780100000000000000f80643f72c8dc15503957f39e6d9ac6ef062c43c516a1693e87d2a3d26e9db44010000000000000028a027ca1c0bdeebfc8fce85ac4bac48cc072523d9c4a86b4f2594f9142e7e3b010000000000000042e4c41a899dfb238649e5b17dc232c2699353635d60e6a3bdcd71f9b82cda300100000000000000ce4bfd8c5611b1637066ef9e579c85efadfc9513b882184e00b75871ef7f5a2d01000000000000005433988ac1a22948ac82f44b10eb843afa13d3315577458e0cac933f2c4e096c01000000000000008e2eaf4ac96e0c79da47d2b76956b3578b39ee4979826d5344254fc37d508c04010000000000000028558e46037c51ece4d39a8a4d34688662e629413c221d6226afe454240e702101000000000000006a4284a9ea438f75390f6547faad885b235c208634da73a79e2e61c51a7cb410010000000000000098da9bbd7e6841370bac817945d087a30acbbf47f7c0243d6588ed32f7c6f15a0100000000000000a8660bbc474f75581461f56345e963a788f3c33621bd0c1eb9834dae39719d6e0100000000000000be44be4a3132cd45c14bc457aaeec81660600df0f65e28194802f8385134610c0100000000000000bad91c9aefe173441dae1f273e55090706d412b0723d39bd6c3af053feb1832001000000000000003cd9f863ad569b4f0123525a9307dff13dd75a81afe7b790d4d8ff418d97d9110100000000000000c6debd3b107fbd0382b1ccbcd0063aea1f8e27536561fe7f3c6ceb77b219753a0100000000000000be03fe6bc03a7884524047567a8ccf43b3c988bf3b447ca9e1520d1c1f83c53901000000000000005461977495f9c407a8d951e860a1cb2087592103229bdbd879629cc538a4182b0100000000000000b05ad6cde0dfc019d740c3f50b8aac16550ff4c197da19cf23b9293f0c5c3907010000000000000034caede521bed7f19b2a5577234751925041209dec1c5b5771d8ccf33ebd49340100000000000000bc56c07cea21bcbbe058aedd2ced9fb4757caead55f96bda9bed1c9669c32b640100000000000000427f116e5ab35a62aa60203420dd112fd9a116690cec550ad6aabcb0b2a0c865010000000000000078e1a4fecbaac940c04e0b591a01ea66a574b5098852ded2810e3a534971111f01000000000000006ccf2ce8e149999a7bb996faa65194e60aeb7bcd1937c787f886fe979fb49e6601000000000000002ae95f2c9044d5ac14beb234c93680b9a0591a70b3c8ef971f3a1498b580fb4c010000000000000092bb282d46ed819e46fb3ee929f7662354fd095b67a8ed51326b47e83f86653a010000000000000082b820c5bee8ee77e35203dab387f3434b8502e5f1c35dfb2ad15b5c89d47b3c0100000000000000c8469111a9fb61c9e775d2b006fff88874ca9633fced938b19794026f2e9a03201000000000000001cf3446b4b5116a1784d92cdc5101e55a5fb91ed3d93efccd06b304a94362d0a0100000000000000160e7af1774196f2395d4019a498e397faa50b61f698c16edc78f0d5333b6e1e010000000000000016a84c8857157a54c704dcfa497580b242409b4e57ab45a9f6691c2008df33410100000000000000583ecb6dde18a2984d5af56152b337cc90422fd6e937b5e06c1c6caf50be212a01000000000000002e4d6bdb965a6ffed473182815cc73cea17b23ec20cdadb87a7344e9f17ca83701000000000000003ae417684c31a1c6d44d4795c43336c336063e819cb27c08860da2db787191180100000000000000165a03988f9c57cebd3d6bf3ae3a5db1fcf901971d67e52dfc3ef1f6a7474a6e01000000000000007203b3dc19c8ff42aa0c90d10328d49e6aae97e4d93d91f33e584fd16073f27f010000000000000052d58f50e6ad841adfe6c77ff332933380712c236fb0bf00565d58b3b4e41d78010000000000000018d99932bbe04bdd1da315bf0c31ad9ce555b84955db60ce36bb73aec0d8a61c0100000000000000e26019435e06e3807360b546063269ab645e6fb3db5c99a573d0fec63e2d5371010000000000000006379582a73f65db4e43d5bb5d73209c970b2a4c903b3dbfee465eaf7b89336d010000000000000024030139ec9ee0e2d96a22a3fa6b3c3e3bfe7fbf57bf55e9efc4586a103447200100000000000000e286e0fc739361f9e413d23c3faf924082604a390f3e81821e257c4eea5ce33701000000000000003873ac08836bf81aa2077f9e50a55b47e02697ad9fa6704c7044fca0c93b824301000000000000001410e60e55e482bedab00da9cf093bf2091b2fec2762c3d937e3640df445383301000000000000008e0fdb9c1c1175d91743756935f6860d7b29cbce467275b8de3e6425717f6b02010000000000000040a2527ffa7d30d788eca127d435c8b5aa48972cda538b9a1627a57e85c8fa1901000000000000005673f82330a1ee6e6889f745fe15c353f5f8989e4a281e8aa53e38ce1e74556d0100000000000000a280a51ce0a86f40fdce664751a8209051eb2a782c0ed47ac218558717e7de1001000000000000008e47d90d960a22d3c9486e3ef6cee79c6413bf8aec18d14d55cc7e0b43e5cb650100000000000000e8f048309f03e3d9a329dc04bc48c8d1befee7928d14509121dd06e76cec0d2f010000000000000028e972febaf463f22d1108053e7c26ccde1e6018d7c302985bc227557e0a663b01000000000000004e524be219d0f11a7489c27d0e01cb5430bc9f58f75a66ea464b717dc25c9a6b01000000000000009e02cba73dcf1d6eec957735bb3363e66c2633173f821d0edd97e9fc3fa1242c0100000000000000ae46c529ba59b0317f6aa431f79802e087355cc32d78258809da6a9b04b8f2600100000000000000ccf230623370ef275ca417c85fbc6e913e3f5fc8f51e67f54beb8686593ec85401000000000000008e5f0b817e1f12b66afdb60a3406ced3d491000cf12866ada159cdcaa3bf010c0100000000000000d648b32d1d22a413b4a2c40733e4bd83b29c0ea6e4ef72deedbf027440c8837101000000000000004a905d0574cebf6e8d00d382b104fc8ee1c008f1b9ffa6fa5c3b67ff29719c0d0100000000000000fcccf8e328b4cc968af52a23f6c960b5e34241047b630c19a0661ace6b9c273b0100000000000000ac09c48f5dfccc02362c489ff2522fdad54d1f37e6b47729411a93227f602b780100000000000000be6106f9217a1847af66de9510fdfb40514409556506ddc1c1a897818434125b010000000000000016f2e4835ecdec4c373e17f48c95cb119263cbd229f7e32c0e2185f7003d7d0301000000000000007ad51779d992e61cd6ac6ebb83fc648c52761a8aa1ee2c21ad5e0b1cd34f14750100000000000000f0eaddce7b63e666eece637b1128a3e4f54178df87a9b032fa3312f68fbd961f010000000000000004d74e03b4e2cdd0109cc8efc5bbdf36b7b5d89c17d4a56cfdb23b0b2b77e1010100000000000000d88718cd488bce7f9537e3891afbbbd46c0a0bfcde22cfe51af0ae64cecd2d540100000000000000e09b8828dd7af7ab17cb00b73845871b69d925dcc38d6d29f79197f5c87bd8460100000000000000b2518044cc31062ee50fa81cb6983f314291a0300865fa5cfe149829c5050d24010000000000000072993ca365788924450fed32848a67b7b711f3d353c960fbc530e8874bfd64360100000000000000d2c97828a993b57a79d8e70e9b6cd9e90f01d1bbd934641509aeebbc625b9f7e010000000000000092cae8f83675e95178a7368ef2ff9e46a2403fc98f94e90519c3ac4d7cdbc71101000000000000002eab7eb696d4c3dcef6c5f74cd704eed76fb51790875d8ddbbda133ae7a42f7601000000000000006cb2f0f0e5fe70eb547a0814ca5346f59f7f2ca74c00714aad555157cd5a29490100000000000000042e7c894dd88fb2b0c7dc7a56b44269e0ee606c73d5a297cb459dbfc7649a1701000000000000004ad8fedb395dc0ed63e0edbdbd2d20555b61a46aa7cd751e4308335c277cbd6a010000000000000054a4e00f3df9f09e23118cce02f804d36c4968894a621305a0e8150a2910dc6a0100000000000000b4ffc5ffc39faba83f78ad372a2957e56f6e5e90aff555afc696f79cffb78f2d01000000000000004c5e6997b6f186855b1f4c9f8ab2d6cea3da2e86445605ab89e5b5821e05bd3d0100000000000000269e8d252b8a4e91c2ebdb7f4b07bfa9201b88bd436e6c4044e70364c746614e0100000000000000c8763ec27b5b8f3d5ad45b4eeb6b47dbdedc406d969375ac509dda2315ffa409010000000000000064c6cab11d72a27c48de2f30478a51258057aa5a275059d1455b480fbb181e330100000000000000fca3b0bf7a3b4ee818a50f86de0be2f976621c6f5a3e768448732252e099cc1e010000000000000018820322d29e40465465fc5f0b488431e710db471615f780451342f5690e20350100000000000000407d69fc26f00269186d96a26e6fa3537160898d761d6a785cb7dba141f87a7a0100000000000000bada36224e4b8748b004ac32cb69ba73235cc177c2aaab775b5536218b27df5e010000000000000074f02ed037d28c883df643034a596e4d2a97a23782ee8483c9ae3429ede7e70901000000000000008e3728649624aa32d3f1d71d0d57fb42a9ea9d3155a2679b02f2330e4c7cda2601000000000000000eb2499cf6581d6480292832d84efa484bb7dc9a36861b35591e4289952db27901000000000000009493e6de34e09c9679b6dca602e38d8c07abb77b3cc487ae3a80661968caa37f01000000000000002a8e4336c0fa5db2307feb0bcaae257f0265ade08adeaadfabb50b9838d966320100000000000000d2bd2d471f119d01186c7efe6604e7186de3a72278b28bb93cd0e6355488ce6e0100000000000000984522609ae23fa1279b0e70b1e274dde52dc22a93191376b0a197d00301a82a0100000000000000840290d318350bff32db3dcf6138b822cb2adf1dedf5bad8729471988955915c01000000000000008c6dc982725d0f925557f77e1844d64ebbd5e01b7ba9466e0c1f1ce8bb757f3901000000000000006601e1af585ce0bb093a81463302caa6f02919efa89aeed138d25264b32f3d420100000000000000ba1a89293f8cdef3c8d0eddf74059662db8bfe781c27f214b9818b46d159ca780100000000000000f2d0aef77dbf94d9123f02c94cf868c7d3191c8d7060405b68002bdce6f7eb6a0100000000000000caa66d23d824d48eb4fe2bc976499ef56b911c167ae728f9887b700f570d3e63010000000000000046543a6ba7d90d6f10febc8b628775c1dc08b55cb93c04e09f0a072f264907360100000000000000e4d9dac4f974372174e57beb5db603cacd8643adab75a3ff108a3d9012ed153e0100000000000000d8faee17dcc461acb22ca1720b86385414ea8810ba31509fbd8da8733029eb190100000000000000105aab27f211e6df23599236853b58c04654709d9c7d0d5c27145369450f324301000000000000008e703730fd72822a067f724f3efa6bbbc82d5c064d3560c5833bf49edc21061a0100000000000000847f4b6d72993380e0e76fe2d885e429796335dc10f470005e9a268880c6fa1b0100000000000000c80a16a172ea19de337c120de8ba72df1b81efb23ff74e0ee7cbf36e666ede1f0100000000000000f820a8ed2c97f639fea2892d0a89ae98ffc4c0054f948f9a0108e4d99f89994c0100000000000000ca49fc4bdcd0f86e5b9883bd25a0831acb18f61da33b84616fae8b56800f904d0100000000000000b66836e9d42ceff254416bfd6cd80592da3a276bfbef6018540bb0c93a5c44410100000000000000ce8df132517fec1b06b9b7ad5a9e18f861df5bf14dd32b0c7dc3f03be447b2730100000000000000566779977b35c81ab477958e39cc697ffce60fe1aa31f8121da08329b25f4e0501000000000000001644ac70036fc8b19ec0e580bfb10d272798d8c7aa3dccd00d5ceb639fbde603010000000000000008a2c8bc8457a382313d040c40f3f0c02eed0e5357910b19ae4f0c9360e4dd1b0100000000000000a8bbf134d2c82050f455ad50876ce102de5e63600d2226ae2d6cf3f52ad6eb240100000000000000480defe8739c9518d5507480bb9c68ec408a60b944824521f1184b74bc47f2170100000000000000780e4353aca40b0f2b2403c862cb33032d49a820244bdc2853ce158d48c4f610010000000000000054793d64aad2cfb3d01ba50441a008cf5cc9acfeb8390ddc3b7945f7e6e65e290100000000000000046e9ea6faab3f6ea31d95f9b4339bc5622323907570fc9c788dbf46a13bb92201000000000000003ae7d174f16f034ff7816b8d9ef1b4b2b15ac5a16eefe819253b03d958babc1101000000000000003cd825436dadf293b1f5c315d478b960b1e6f141e3244f2f0c892f42c0b159040100000000000000ac7c9bb11bbd24b64b4611071ac5ebc4c83e94d38abc3df541eb9dd04b726659010000000000000068f3e478d28f00ce97dcbcce5e9cff5674f6b3d8b06f7dd8be7b5f3b6f1b555d0100000000000000da7bfba48819dcd92eeb75e2435784132a257ce38ca01a6eb3fb66bed9422b240100000000000000ccc5a764f42aa0da463245aad924f65618099b1605ef6e3cf7efddaf791cf34c010000000000000056da6e5ada211131376b8d0571118b69fe57fae1393d23572b484f394857904801000000000000008c3fa761a684f89c63b5014e6a934f763345f91c5829d88cdaf28abe75c0823101000000000000000ee6df339af6749cf9b9fdabafc0cdc59ba35a1244fa56b0adf6bcf7cd3333000100000000000000c081b6f9b341d1355ff2caa0bb297d9cfa88dc9db48eab74f1c004c189513e4f01000000000000006a1b43dc9100e51e8a92f4a4d3591b82bbf77fdfad6546330c67d3bdeafce71a010000000000000006f8df3b49930c691067ddce8889df6179b8ac05a3e9a96d0a7e98904c969b14010000000000000092ee092cd2215c7c1628086c08be10a3cb969f6b276f600422f3526f303bd87801000000000000009aeda969400e2e21c35ef284458dbc898f277a49da9dbcd675eefcf265f6d4450100000000000000020d34131c7a0ab6d104839ed8b9e0cdf075b80409a36fbe94d0cf83f7ea1f1e0100000000000000b484046e76bdb203eca3e22bcc5525f7973cfc70ab7eec3f568fccbbac6ba140010000000000000060722aa6239a4b5f138bc30c5b3ebb5cf0c53b901f71076f213b72d073d2cf3601000000000000001098c3193759138d2ce96e47b00dbff13b7542669fec49b78355e10e68f6e4330100000000000000b27ccb4edaf0edc92ce1f35b0950251d38af8cea2dd129a8ff5e6c946ed6546b0100000000000000f49fd7052f702bae288ac771a22e6ffbd69517fe04d413e865460ff8c9b5c94d010000000000000044970235c8c767ac47ec2c2cb6cb391bc552b8421da58cb851f1a43647ec6727010000000000000014e5caa5709b3d5a8e50aaaa9ceba368e2d66f964e598f861938f093dadac32b010000000000000040dc7c3e4af430f523ce1ceb5de4c836056a079da82caf752cceab452743695a010000000000000062a20e32bc5903bd091251507aee7b4860fc74348f53ce32f078c7a4cfbbdc3f0100000000000000ea0853b1a9c0bacbc2c57c8233940af4bc51b0734b721f75b8ab5f74d66c0a230100000000000000f44b3ec5c7b2188f208d60d159d1f5b0914a51a0632eacea6b88ec7b26d6673d01000000000000000e3e265f291f50053f38c5c9f145c86caaf56ca085edcc521d58371be0d54d7d010000000000000002d0beaa25938ea3c9f16d3004577ec1e1e60a8198c268e209d2f64a6561b32c010000000000000046c5d9750776edafdced20206ffe4b799489f6de9e0983eeb3a9fb6485c7e22201000000000000007e2f54190ec59a98cc3930dcd41c7113812c0596c9537277ca93038a9e57976b010000000000000054ecb1c6cdd76e77a694ad7d62b50187c0de759e60b46c82ce70e62a9a328e3a01000000000000003ef1fa1b2ae33d6fe3d94915baf7540a6d3b3c34d01bc2670608bf8e24c1b15c0100000000000000829f64b96b37d0aa283fe99a6d2150069bcbb6be61d076f23b3992b6c1fe6756010000000000000052d36d934905359a84c6ab4d2e4aa7db403f77fa694cb05c70d5477f7079595f01000000000000001a92511f613b3af5ab3e12154c67018535927938caef9aa966ce2b503157d83101000000000000006e0bcc6441aa5c0ed8dd01fe8c2634777992f68f3e51c6c45320764f551f75580100000000000000a63d72b83c3d93acb6595b2061a6371decc6de7fbc8d7c70863cb61ef79b6e510100000000000000ca7706bbef090e99e2cedf4833d3bd4c215121c9596957b651ca4924b773032a0100000000000000a065f45a353f24ba187248aacd9c64d5c3a92ddf92b4a5c33994f56a07cea8400100000000000000584cc334d89181207fad8289d1e89a85848439b16d4bae59f1004188e8e26e500100000000000000a6d498495e591b3b16dc6388c4cf43edf35e263d80d743aa827951f22e0ac91901000000000000009821465bd76d11b25f1384d98901fed08727f3cff92131d817a987333cfc5b650100000000000000b0200adae0feaeea78d77e0de3b4a63c7d44544dd0082beaa93a293abbb06e4901000000000000001a04f32b2351585bca74d9feec86d759d49ee55b615bcabe955f2def5b98df0e0100000000000000742a6a8943509da1d899f82879b8965a928dc3db99996a7ef65dab90c22c990901000000000000004c33d7c12731da00cfe56735e77c4d39618a6614e793319f8dbf398fde4f7865010000000000000074e859fd23da9f3b5c0b554492134ec981deca6fc0d8e4fc6e33ca517a0ce26a010000000000000022b634563bc2b885326ed31f52644cef011566a890a26192a8b5435b19fb6e42010000000000000010f6d73ff674b4168adce9e291ae84b250293e48eb40839ea8ffea9c057c83090100000000000000ac04c4e0f5a8d352a19ad6fab6226fa1d69222aee364d12809591265f193403c0100000000000000ca377174a1aacc948264510f8fb2f4264475ed6acf4402110d99aac6813a990b0100000000000000fa5c17f9fbeb03ae7168967f873626bce0f0816360a1a1d1771cda0923211f670100000000000000d460e8effd89689383e396bda01d4fb48658d1b2be0f3497a635d92a00783e4301000000000000002a98fbaf7ec22832522e3f96821711ef684283911a524960efb14953255baa2b01000000000000006cd1066d5ccff0f29049137b42feedf12c3a4e91f37170a20e87a84bd6aa1d2a01000000000000002076bc34bf8c9ba9c0922f484f04637c02b4a44e5dd7ec861f1ca8b6cf84c84001000000000000000c9d4662a0db861534c425fef89bdc187373aef9db744c8a81ad2da9c68b4e7f0100000000000000f8d7cac8239edc444da065c812e4fb38f7b0d928f963388f951e2b0115077a7c0100000000000000a4945508cf103aabe69457d9ea2b46425d9d26e57f89e6b1f799ec18219ad2550100000000000000daebc8ac4d5de187064149056c4c542f5db5e4ce4a8e7a37693cefeac4bec3640100000000000000d285950cb237602bee1798bcd24418a2a562b549fdd8e5ef2d1f74101358a04601000000000000008abdf8b9ff1b4b262f60091c85e89746cd57ffe8e032ff255c204b69ad8b4c30010000000000000050353935ad70982e3ecf82469aaafbebf85be7452ee1222882d4bfd9a8da8b0e010000000000000096f9ec98d4cfa00b9ff41b5962d3c68f12201556d80bcde84cd85251252b822401000000000000002a89ca2ad62c6b326ac778f63292142fcaf4d9721b13d9994ba4abd46152f30b010000000000000078294f515c659b94bfce9674db37a3cf2f32d89ce1758ca53d1860037cf1d42a0100000000000000a2d57783e292b34b8415c5aae90097a5b7b243b7d80c216e43067d210004f30801000000000000000293de1a15ca28a5a077995f730a4def3da89ce2f50d31a5efeaed7547f821190100000000000000bc4529c25a2a01667d6e451ab753e1713be0835456e6fbd29854cfbd45dd2e3c01000000000000007efe2d823470c2d98b6a020e469747a7a03429abe579202b97b2a5be6c209277010000000000000004efb918028f583768356118e9457c36583319eca6d53536596714e782f1596d010000000000000048ce0aba6f1554e139568b4d2358d6cca9bc291d3600787cc3e732291002ca220100000000000000a0a1cc9172a71b134162a60272739d19b59162748f9e1c4adf86d3a10834c72d0100000000000000a8731d355eefdfbdb7fb12cfa5a280c0b1e408aca264ef585d42bf97fcfba1160100000000000000f038e6d72ac8c9b9d165e9154b1f7978dc906e6bbb501ffb8e3e9a739a89cf5701000000000000003ce775a4a6215dbfbdc2b0a8a8b71936abd61642b5fd1a0c1d06ba548ad3025e01000000000000005ed6df49740350ebd53c0b2ba22e8a12ed609dee8070e9c06e5a36dc59550b190100000000000000fe24bd4f4b0e75ff21dcf16a3ccba49556cfa9586348a8f939df8def8a214c0d010000000000000086ff7f9b2eaec6638f33502e74c216fa4d15f774b35c318fea091669cb55441901000000000000001a5c0eed62bc68c0c018b8878a4514706a996dd8dfdc94798684656c8ccce27b0100000000000000f6c3258308f4382c9c7d36f4435b692b42a20d6a7fa74765f7a965eef088c82a0100000000000000685506af78bd0b16513f09395368600e5b6fcde0f89d280c6446b1613844351c01000000000000009cc697b491304d797292fd5f14284c376a0adb2d420add197617126cd258f62c01000000000000002488a8bee91b989dff6adff396074f3300e7938a962ea3728943f37a23a7763e0100000000000000ec25078562fb511f0945c3af78d77c8e02f570c647957c0932475aac3ce72f6a0100000000000000dc4ae9ca42fe496af7a466de59735813691d9c050f3256c3d4a96664cb6f9f670100000000000000028393ee5fcd06734e381651c82cb89b08bdcd64d1aecb4727fef82ae5c44b4501000000000000008cebbe9ee49c45528deec5d40693552c8a43478d4a73f731264d1cb07884ce210100000000000000e0d7a8263f27cb76d32137dfa7ca09355a2821fd2c9454b222b3e5cfd81ca359010000000000000064eda01bc8dd522756c6728f9b030c1b1f605ed89e91233199476e5b0e96ba2c01000000000000008c53786209d22e7605c5ac59b155f2ec9bf5d088d77abd8930fbe65463cd8d6101000000000000001e534cbbe982369a968006efa465cf2a16807a88a5c877d45f090192ea619c6001000000000000009c4a01b4b6e187c0c98931ed673f6c02ead7030a0f6a967185d7823a30d17969010000000000000042f799c01beb57b5ae0779f17bc6be1a8a6ab789cec7c00318049f1a68da50430100000000000000a8799cec2aeeea9f33bafbcd60c947d0bcf3b1c9be450c43f63004e16a857e72010000000000000078cf1debe3fc0da2ed2473d1e1835a478cc3e7008e0cf42043f287bc36804b710100000000000000b8f696197dfc324b72f06560c38ac6635d1bfe5ea4cf59c133c36234a0a012540100000000000000266f93d04b5ea1ae454eaa25946da19eb9f1ebd3a6408d8d1ac4a373305fc92301000000000000006ae77bbe36c1554126d56d6bdc72946f26b4323f38125fe5392e154640a60e300100000000000000fcf8c8db78fab04b332758bb6edb9fde68e74ee228c1eac78812cd80adce1273010000000000000032e2c97e308c84afea4b37d7dd8f62e67763126c357c9e6e49b27f54c3702b730100000000000000c64c595519886ef38c2fa837c795ee92f6fe003037c9ded2c1282a939408513d0100000000000000c6a07400a9c7d51d51e5b2c120b40c313ea99b4af9c0c4106bd753f3185f40680100000000000000a0c28669f01d5b4decdab2abfd9d14b989c1d4b32323f264b24a788de0b9d243010000000000000078e2ec49a559fb6f6a23a0f54aa60dabf71f79fd6fe6cd46f00d3b0e25d5277b010000000000000006edf91775ad7933effa1660edca6bfd191ffe3fd36890c618c442b9b666d2380100000000000000d6fb6a5a865021263be239af6eed5a9e1b27e0c4f430b66216f3908e09ccee6701000000000000009829a89b84bf8a0c76dad25d99c2e4476e51bff2ee9e917a65edd1b4175cf5400100000000000000b67a042a5fc9668101e9aad4a291ea2aeafe50eae796865cb201201a6dc691530100000000000000080527decdf951ba9bd3ed9acb5e1454d07c661cd84833a455a2d239c18d42140100000000000000847f948b67d6f455e2f2923f366dfe3c0a3925b451210a46cd36fafb8cd8290601000000000000001e6d57d7109cc6dc573360e5f2192578e3324f2a8dcbd823483b82d725a9771701000000000000007cb1f225b90c00f426c33ac4338eeb2dae6467b8a9da5c1556e6588c12ca977b0100000000000000b261a66b9bae17b65e7f6a88d65efb4519925d6c418c9e2ba17bfdbf684b77630100000000000000c4046e6cf48c9913b2af1dd8caa4f7ffd03a01255af691cc1b70f142b97d2a150100000000000000560c91919fc22867159ed77bee1b3e70d2e222a5fe6e830fceb13b58b0daa5290100000000000000b6068f3b8a0ef7a3f7916e5559eea8158d5f5b09d9db89e40dfc5bab0549911a01000000000000003680cf4852c43b2a708608cd7e09b531e7748e4d7e9d65904676f53ca756535201000000000000003227028def74f8ea7bede3e112e4ce09d8fb823790ed599f2259019945f2690a0100000000000000d28eb111cd786c6f09c003d958c4a26cfd7a33f9e8bf6db02795f12afc7a1e0e01000000000000004ca838afa9f12e88436eacb5024f3f94c95a66c32e114f65f3136176e426c75501000000000000000ea6f5d4087d599603b0c39fbd588c198b9d9bec85a77a5579ff68fad12fc20c0100000000000000ae3abe7a22e9bdc2c56ccd4ee8b99867ca5c54b0728ff372f3ff5caa3c6266160100000000000000fc5b39a7b7d737c7d1dee9dbaa77969b95a7edd3926c538d8dbb854d53cb3c1101000000000000008868524e56bed527bb3039e7d01a84af44e8e62ed00b1f44098c47789e4b201001000000000000007e8fa0ce0acea9cb5bab44ae7112ffd068f3a3c193a90f1fd4fb00adc1a2042c01000000000000000c60356c02d5d99293952c478fd07b2cff982dbad863ebdadf25c9e69206f14901000000000000003a8b589c8222ede45b3d95c8d9176543ffa9a29cbfa0ba2af60fc412e732d75e01000000000000000c6cc2bc932adace83516fe99076d532e6197ae08d66610988288044c6bdbf3601000000000000004843126f2fe8ee46dd4a489f97b1f4717ef777ed371da544e30e8c7e5f0d681a01000000000000008e67bbfe6269ba4ea2b216e7cc21a54ab882859d65a691ff2eec486f66a9035f0100000000000000103680fee8923b681b7721ef2bdfaac20a99bae45e643b42a228be43b3d211660100000000000000603fef5a531a03b8e83a8b66f583edf78706b93a11eff454f5a56093a6434a3a01000000000000005edd53eab09b1834ec2435a78a19daee1acefe1e84de77bf788740d9bf6938360100000000000000981f14da22574782d35643e2fdf2c514245b6d7475048becf8143136acabb00c01000000000000006ab4726a2bbbebbda26c700a0020ad97b882c089532da71cddb05023687ad71401000000000000002aa57ae83dbf829a794b555b8acddc97657b2178d0722c6263c8ddd19ffd474901000000000000009664e4e01c42d9a22435a39dfb1daa6cf043abbd01c1b081c28ee271988b415b0100000000000000e09ecf865113ac4f2520de61ba8b8fa5480534d41145d1ff3db5c8ea3f3c9a100100000000000000ecf0297bddebd3d766ea7def2bac79ad6eb650fabdcd029b99cb1649ff7dc815010000000000000090b46ba005eb064c8ea5ebec94a5facfe2ad0c0050dee0f51026f0d1603911170100000000000000f256b9b48c47178b2f1896a017caed1ea2451c84c29ca1453ac153d0dab019130100000000000000042cc9a90ee7801f29bde1f77ebc42e68fc8432df113d23b82201d1a10e33d0a0100000000000000a2b45b2d7c584f27b6ccd878326346a15f22ee80c56a02aad47118e5c5a0a10701000000000000001a47252288a7ce1b8f8892ca42e0f279967de49258218eaea8bfd94ae117b77401000000000000003c2f81db928e84552574a761e6bf8991a337ef5907a5ad26d8d21385da1b7e3201000000000000001e63ed13cb9b8d544a73307d348a241d87d3d1063715d686572e705b37b7483e0100000000000000eeaf1f835802c8997d3158c153aa6b5a01c5cf2772b0c00339bffb059ca9ed420100000000000000183e5f34c7c987bb4f165e2b737a9300495ecc1b7f9681c5c748bffea19bdd650100000000000000a0935670e98d2bf4800f84af8a051ce9d600d2f515cc2de17a9e354d3488db460100000000000000e84ad35c6913d9fb006b3d64760b959edf736c080c8fdd58af24ba8e6a6fd47b0100000000000000e8b7e227a0ca7c64a4099a3fbb509620d4b8e1dd91e1ca32a5bda49d4aebb31f0100000000000000ea3c4034fa89a8744f7c8a55560418d7298cccf97fdba7cfc0a9c83701dd680c010000000000000036ac66f4a630e6c2af684fa7ad07390d67ba6fa05b50bb5dc3ec8cb3fc39f66b010000000000000096ee011f2c7af1882c6b9d8c8906d200c152c3fa13c272392abb166ee812ce000100000000000000f8e53780bed6bf624f73d22731cb6c5eb520d40e0b4d47f62f8a73705ee9853d01000000000000004e466f6a4930d856a1f53f21c1a44451ead20c8c71319f6a685f0e254d24c32101000000000000004c1af564e989c30c6e5ae1b8035ced5f59653b40cbc2d78fe17336468c8f441b0100000000000000ae811b4f4ae70648cad6c684fd8661c27a5366548acaf538877698bf03c8b2100100000000000000e4945b03a62724fcfee4b42fb9d98fa9b1c978acca29d9ef1704b64c2d66d23e01000000000000003ac231bc9a6e280f3d1ae2020b2e56c5888098427a186d35c052ffd6e42f264301000000000000009647f0ba124d459f0633dfd82a3c3a0010124072d4e274742c7c17a536eba91401000000000000000eabd85c2d5a1631f4b14cab1afb71b4c8b9543b3c93ed53b5a557513bd8394e010000000000000024706d6d41dbaf2bac8cf1c4375d87c3a5b84b8bde07036968aebe83906610450100000000000000e6b0227620e1921d97976f803bcd20553e4e6bc80f1e269c8d8485757f269a47010000000000000088fa8bb07ebce99964718c65d0d6f1b091ef2f4d4cdf7b94a22c42c007ecd7060100000000000000dc730d027498da3a134e72db4e96c5d327ed4809f4cf258b1b6033df2ed1223001000000000000008213c855c6cda8c660559fe47d08cb584050fb4d2dc411cb1311047a806c874a010000000000000000f79cec5a6b6b70f768ed05e94d2cfd70b13bc58fa16e62d742ee49aabe967e01000000000000003e41ef0e02deba17276b3f6645369aca0a14734c503c1fa8c492649bd3f0651b0100000000000000d8bb28523be3666290cf2748c87eef425e0d92cfc359de1d74004354cb583c4e01000000000000000675e394b7c215a73c0157d8e450168183905f94ce283c7402eff541f2f15e2d01000000000000004cb3593968c0254cadc7f1a2270f9a89e0909e12a6eb5ceb7f723ab6ee9b7275010000000000000060f640b7d3d4e9316603270a4e5771ff2d9e48927a6210a67eab2a25149f177401000000000000004058cad6edb88d50305929e0cd7c91fa8ce3ee84fbaef547d71edbcbc74323640100000000000000860f027419d3673cc8e103d0812025ad5151e2bd630d8fe55fa7b8314e37105a010000000000000092e5bb9d0906f768dbdde0696b78e493cc78dc1f68789575b24f0b962799b51e01000000000000009295a1f023157921d346b73484b120d46048382107015aa9ed998f1fae95970e0100000000000000a2574c3754e306002ab99bbeb1990e66f08ebccf811fa15e70b8eff87681d6230100000000000000d2c456a3002282450e0419b0aa5293b85a9e6f5e9d181652a494a2e613f12a11010000000000000046920ef4915f3036b0686792a741f2d04698b23c5e6b8338d03a7e935d6134300100000000000000aa97c0ca75c01bc86b7aa14f50b3732717e4238a8d542f40601cc57fda04486001000000000000006cb96487d8bb7c4ba7726a623709a27687866740b7a400b9c5322e806711aa0501000000000000008a061720463abda562f0802f43ff556ef8382f737ec6370150396ec14dec820901000000000000004a512ac212da2c96d7bc8590865ce627e6b60246700595bb100b240e80a3f0760100000000000000be2ee8034bdda18863bca0a0af63015a85ee2551b62e0b1c732417ed06ea395401000000000000004a65fbb5116022576ab8d06f72493ebe2d612a7a6dea02e77e7a4f6bdf98d12801000000000000005a15fb3423d8efc0d616665530a6d478b661c324eb30a42f72b828f5ea99421e01000000000000001caf58ab15b9012fdd60832fedda98852b1a37a488f89c57cc1c19f11048ce5b0100000000000000c6fbf5153c7b8dd896e8daab854560e2ab669890479fed689ca39f210fe880080100000000000000cef0ed2766b32d77a4c7f040c05353dd8a918b01bb9705492a53c419ef282c3901000000000000000288ce3ca0332829b5507af33d42e92bdf45a0fd820c4e99e3e95ac1a815d4490100000000000000aa58ec5f9f12a8cf5286c9620b3c3d9190ac57e7d2aeaace1bd6aa27ce48167101000000000000007eaa6ebab8bf9421751c15e0dc061d9fc6bd225c6efae51c88c58a7f8387b90901000000000000008253aa8ced658c953f1052f9117421984cbe6dbf14fda93f723f3fad901d880201000000000000008a28916152c4b4c5978e3eca27b76eb9a058c8c665ee29944faba32f05168072010000000000000058e325dff1555077716069f76f83f6e2ff171bb43fdce83659d250a1abe7342f0100000000000000ea88c9aa1e449f4c62b86af5da1abda7479f9be5344eafcaca482b892601c457010000000000000026538b2b883a97c4e4ca0c01a9e136d42832e07156bf9df23bee062df009230501000000000000000cc6b385d54b772686de9137405b523af4bc79c0e2ca6c162163808521ad79570100000000000000bcbd81964eb726de1abd2b7608252278066fa196b100b15ea8d8976a94ac743e0100000000000000b0d9dc44559810ad536b1c9792b5624cb087972bf5fe3ee484f9214497d6f83801000000000000007e40370daf63360433e8af5248f59f6fc33339cfdb5cbf9863da5dd52486b2290100000000000000eae34c5f0c88e2cefa9ef36ea262faf41315a0de4074c6f3b3696c153f8f023c0100000000000000b600ec4f4068eff1e9d03edd1eb00e4bb2795eb1029348825e604ed28829bb6b0100000000000000d23c53a531e356646133db73065cd83999693a5bdfc05931238434f5b031522f010000000000000094d28205c958a5d713fe7dec4dac2cb85cce31872e3faf9eb9487e8fcabbac6001000000000000008af88ab005ea3b1a0b3412054c721e574c4b4469e231aa487d9132946e42bb690100000000000000aa74176b5870c97b754a157ec0d8032148c2ae717a905e0e5e626048b6f53343010000000000000062d37e495af1a21a15c93556362a0e29726926302d9453bcf2c2f0a7b4001e5a010000000000000032fdd22fdc3662f97008fbb6f52d0fbe7b62c24956849fe04f9b023007a8932301000000000000003e07b075219fc7ace8dc3bf3a06f5dc12aa9c7e45fe30244d2284bcfb1e6ee190100000000000000a4a0bc81aaad1ebce3fdf896a8d6d081ab93efc2de9d5c56f2632edfeaa7ad0f010000000000000042c7ee18833ca3f3a56b91ea1f57f1984a7d127efd57802caadd0a4a7e3d5f48010000000000000056c96b2565b9db9cca8c6264ae689cb690919884f0f55c7e46b50ef7dad69b360100000000000000f6fabc667ca7e609a18fbc1b44af598f189f769f5e7419d2632a3dbfb46b266101000000000000005ae2495c65862ec124cbc8c9268f7a1fa66a9013b01f10198855149cc549c3710100000000000000465242c8915eea46e25549f2ab97cfe78784f25083e51773e07d5a0cafc2de320100000000000000e886d0c8ecc3af997d07b9426599a43adb274a3b0d5ab3262331a5da13e7555601000000000000009ef8d5705da658687f96fb0a6f937611a3127911a1694a46ec7226741ce43e4f010000000000000018728d9d1125cfc79ab103aff7fecddfb9c6528d3a707e8e088b92c9c7a5d41b01000000000000009875dea5d493af94567673bfcaf096919a921cbb806f55b7488bb0a554fed66c01000000000000009a3b32b7cc94b119b2753d77d4f38b0e63900a5633773105a551de5b22670e7a010000000000000078017f5b8b9d740c0a4e1bd7b220653827d49147e97fe2cab5b846cb0f73e95a010000000000000046ed02242cf70665583c79a324b0e53c1e957c2b6c41371fdfa7c632513a86530100000000000000643589f0627aa555aefb01d2f0a366eacc252af9437ec2a892935da2a1052c170100000000000000241cb8ac6036dff8d9e0f6f092f17932945166e75010dee9adb2e245a4b6e5500100000000000000a877af86b958cb961cc97cc61fc35602350a87cf9cccefb09dd91f9f792919250100000000000000ec1ccac47bdcd80ce07faf39b9b1791033ef5587d0647b9b83ee433fcb8d32170100000000000000288c08430a7e427400dd5b61926b74a82abcbbc91ac739190cc791a581f6836a0100000000000000b40a7dad67fc795dda1dfc1ebc78dbe45a8116888183aadd0cb4698dc4415912010000000000000028052d0b965ed862b7861aa7f3f91fe52ff8b0f795ff476c7e0a7aa42e7993300100000000000000a853037e17e9d4ad15f03f236723506cb78607413d233975c9ef793397de156a0100000000000000b6c42607db8cf37421c805c1c54fcfe85f3d25405ff4c55286501818c9dc584601000000000000006e196558c4d270a0c85c034ec2d427b99eb9e43ea2a76c30d74eb902aa11d6700100000000000000d6b710aaf147e2475d1f8f9a8fb1832bcb1fa6ed0ca5f1dc626e172bca71eb700100000000000000769ea03c7b16ccfa42f5aec6127e19f165bd61e60180299da4145854061e1e180100000000000000aa646448bef869fb04cbe6c623251e10ddda7c039fdb8b642b704c3a0416dd270100000000000000042bfd7a93a6e7260e2c155372faeef3e41a907be64e81dbc781310beef40a7901000000000000006a184fddfaf73573f9c28e194450fa7c5b784aa3f131aa5930f359b221a12d6e01000000000000003622bfbaf9350b5906bdf9ce362e06726224ed141c5d29e8e175e0beedbd3d3d010000000000000070f08007867b02d11f3fa909154b03a7915ae7971e474ae27725fc6b99c8425b010000000000000058db03e5a46e27bb750be81594818fcf8acce9b0fbce7fd6035f239a98b2911501000000000000002c6ef636d3bba8ef79dfc0e6d77bcb38426b54c92b764b29115d25f3af9c87160100000000000000e8b977fa9876c391f9ea7fa563d64da4af9b50fabac9a2425b2f18c7eef2f54c010000000000000086088c15ab94ed86455e4473c198b99730e99585b88d6fa465ce429d268ea27d01000000000000006ca1fff449e7504cdaacafd3e53d23f3e9b566178f592811a7a423fba6f0506201000000000000006ed90090a744a0d55adf8f8af5af4d5198bb67220ce33fe71121d7c51f27a41301000000000000005415709fd8ddce1a97512f0950815e25178679d2591270d89e83c5350bfd4b0501000000000000000a73873c9828f50900fec8ebe613db998e6fe476142718ce0589822f88dffb3d01000000000000002e1112ae35f007b16eac0058c77a85d3dca8687cf6f1bf231f84d768fb389c040100000000000000809dc13a93316ffb2f1cfecfbce374272a81639b11fdb1836f04d3bac622f24c01000000000000000a1756601e116de8a2c8536af41d3ab2e88584c0bf94361e75861dc739e9db500100000000000000002608aa377726407132cbdfa1118b69a6b9d3fe876452b83a90c59fe51082180100000000000000687cbc1bf231505a492d00bbbbd0f7adc9df484ae46143f1088f469e51f95d740100000000000000e4e005984bbae507a03d158ea8ca3a87505ae3e8723d8f5bfffccb63a23ea61c01000000000000008a40c3acc862dcac958866b738b304be7d84c33d9420b0747eb82aaa21b8c40c01000000000000007a2430a3ba06afdacb8cdd51b95a8f94e97f6f3da16a16db190a83fc8d7f380c010000000000000030071950e33b60f29acdcaabac9e3f6f1436f337cbd3f123f5aed3f0307ee823010000000000000092439f4dab2f4b2e8d1bd040505ee33fb2c1dd56f3946826cc27288422313b3a0100000000000000aa6e4b27f80410ae5ce7ab8e7bf083f6e6a87f87a784d6aca9e5fd9843176926010000000000000070b445c51ac7f46827f23b8224f7be2aa3057334494a3c1b174bdff2499e6a1f010000000000000094b4d71ff20170266393c4cb481cbc68d0f04264e067f456dfcbae3ae0af5739010000000000000092c996c1fedd09190bb0fa8cc79e4075ad79eca3d6895d2a99d20e6f89e4182b010000000000000072bb32222caca7113141263e12a4193da7f29806dc93cdd11fa9653464344e32010000000000000000140d4493060751979098f686733955e6e71d01bbaa8a3e6cb297400c5c624f0100000000000000204791fdb49af594e5b04e0f26492e56ad8ef4cc8533245609d10e66c340302e01000000000000009a9a69868fd174e5f7462bc00ac3dc483c871e3c4e63c357c9652454ec4eb17601000000000000008ec59e4c60c8e07ea1c5de77d0510924f4d399071cf1f09606e0e58c961c1c020100000000000000941dd915e0ed9ab77c5902ad8840b81dc84402df589ee4d846480c63cc5d9731010000000000000076f132027235278f9c582ad1c52fa62390aa10f04add56321a28b4f22074092d010000000000000012c41078fa7c99409a1ee5c1226c86bb5a88d9b4cbade04b5c54ca83ae03955f0100000000000000428992924b7c66ae24e3c55a9d85fcd8343ab1bf0089a8e5038313d1f3fcf9700100000000000000f2065428f52da2f7a881f9b94bfd38719bb6e5ff88a6800bbb3aebb1a9ad21020100000000000000ae48bbbfd5aa564f0945a2d79428d0182fe40770999ffcf472944e28bac852790100000000000000ca8eb4cb794e9be49454cb2160ec2bdb7165a4df9794df7c9236b6fde6904b72010000000000000094ca8d9a1ac9afe584ea99954a80926de626990ba9087c0a8ac242ab67fcb7780100000000000000fc3fa462e56b8a4aadc369f88cad272f9e52da4a11c4896c30e3e0ee19c403140100000000000000d4ea40358db730c989516c396564c35219ccfc967d4e8dcfb02ca41417bf614901000000000000009452d0cd850a8a3fce455d099302e7d641242037956cb39f679f343e2af9601401000000000000004e09267475354ac23e1cc62749139e0dedb5e403013fb807490e37487594707e0100000000000000aad8cadd0411f99a40ca280442477e707101189728ee1252931e28bc75edc6370100000000000000bae8e68bc8f1b66fe3229ee72d77137b394c6b7dfbf55e424f9d2c82d5c996000100000000000000183a83cfb0fcd53d29c91527754e3f6e4697fc680d43247d200b39589084f84d010000000000000076fbe24a9ab4cd3cd99386300fca0e4ad3d97aba0558ef4929aaab74931a274d01000000000000002e80afd2cf30e0415e4f442a662a9f7da2d07043f87832ce66f15049c022d46301000000000000003c7d4e79e3531b0b00ad005934e642cd0d49ae04fc2a10f3d1945951c8190c16010000000000000004c1f0acbfa8d8f1169684bde1c6e3938fe90d54879168a6a4a7fbe99eefb9290100000000000000a60345c5939d4ef77e57e8fea426929956c826524c7df8b5d880d5274d77461d0100000000000000683f0e1d68ab68c7b04bc1928a8b47abff720349ddc36d7073793f43c2afb030010000000000000060b521110672f6f871978fd3ac4a835b5e30c3fa727c04c70dbc543fcad38b0e0100000000000000c40c9ed995aac4b4aeab516c9614b4614616a75eaf2fbe628dde6d3be5bc9b660100000000000000aea8642870956958a248de1bf3901a9380cb2f20a581cf0eb82bf43100f28d6e01000000000000002ab0b5cc358184be4fa29e7a3dc24806a72e55baad40ec9a117324a884242c280100000000000000e05c7c7d82498be85294ee984e1f0caf23c53fa9a64cc7e6c5053304c4bb785101000000000000005afe620da258a48f00c3afbb8a98161e977f076c7e7f8392975a4f0db4b57d610100000000000000a61667ea6442054b56111477f57ecf39b6e90480bfadf54c3e6cb5ac3a3e275801000000000000001ae9aab4a890c558ac8ab90ccbbf193b3841083670ebed278b2161fa2ec7b3040100000000000000c0730aba0523c10c535c2640ec878a0f5d2a240c8d53fc37fd30f5735a38ec4001000000000000004059f5de23fd2e6805528d79475470526ee7e2f17192988e10c681e15672857c01000000000000002ef1963041466a7d5160843012c4fcad880ed969cff996152f4283ffbe645e0c01000000000000006029513013f081e5d5d74173847405747513aa814038c25500522e6fe2aaf37901000000000000009e6528fe0232f7e9162c5292621c135c47e949e54e91fe5fd500b8b80632625f01000000000000003c0e8a8f204aa9b2f088877f0e03c6ec1c0552baaff43bdbffe904dac305675b01000000000000004e7a559a6f6f685a8b438db6acc074df322e2a38b9f49b26fb60026b9301f42a0100000000000000e27224d559cb0628012bf4e5c6b1f0f2a678300a360010b9985bbf9bb4ca6d2a01000000000000005a3788f9347ad802a56974dfb4ed19b22fa91c20e5c8dcffaf4208f254714326010000000000000088318113e9e557f6f1994ba53607b5eb7942d82fbee921ace6ad86ade239445201000000000000004616ac86f0d45899eed3f1246dc5744858a694a92b0abd9f10e52dfc9c28674601000000000000004c0b37ebd9e67b237a2b3a9545c269bc382735bc3907baf9ee468bae0d8feb2e01000000000000000ef15a40dfb9c89966f22d9d1fbf255a10ed208c960a23e7f5eb8ab9da9abb1b0100000000000000c65e37495239d0eec6f8ca9000a0e8ad618fbe5c366c25825ca7fb26c7b27a7a0100000000000000a4b31af719e5d9c3b69326ef920736e8b620b329eade475ae23a33fbd445df720100000000000000ee105ac039f82ea13b41679570e04c8b0f6127537e101a1460701a9e7beb6d1d0100000000000000ce0b86a8b77a16786043237cf2dc24eb05f69ba6958112111abd8689331a710e01000000000000009281394b5d35827c826e1d7444f346c247b9a004aa0292a9ca2b16e0fb556877010000000000000094be52a3a400ca82f2ad77c8c3c8d572235345249a622ff0588235981c95d7700100000000000000a2cf2f85a782a37f8635661c3ad7cd4aaffbd35c6658a408c3d31ba489d69d7101000000000000006e5b6b3ed154c062b39552c901772d5cf23eb9e4a629c7689c16f1d827ebec2e01000000000000007e88cd54f47c1f4ddd9d3a198fc689d24a523fe186d526b14e476f14ced7db3c01000000000000007ec6b488f746a162c731989bc6ce203434854c83c4c8deaf74e5903ce2417f5901000000000000006ac27e3d6423f2d9488d1bf42dd6f2d3eec911c471b51d69cef6371ff242a3750100000000000000ece4c3c5e3b6ac008899adf3458f1f59ae7db2e674bbe80412756963446913030100000000000000881a3f7b045cf93b13e79864a7617ce7f5dba554463e5b00a441d226da016c140100000000000000e63548b7be72f3559c789fc7e7e15e187b44a7217c46848f11ac822741c39c570100000000000000c0ae4d472acdd80a599ac99fe49d27f3b490902f1b9163ddbb9608a83e3de87e01000000000000007c6d7bf7c2dfb84a3f14e25e97676617269616b56c57b59d670b2337bdc51179010000000000000090c7d651923580f0fb50b8ac9c020ccb33023630aeed52218583303fb0e5bf040100000000000000aaf44f9d4dca217ceb1de3ee4cd8e5ea99fcadff20c2626a52796567a316ea7e0100000000000000b85b1b7b8ed510a5bc1d0979fdc04ec7b73d84c7d1d767dafb6faccc8dfd402c01000000000000007e8ebb46c80883225df2fc91fe7ede9933dcf073f3d74ea3db0525585984e74c0100000000000000068245d8a483bdbd4e9d88b49e17a651ec168f25e6851fc52c2e36a516031d5e0100000000000000eafe1126ea517f59efa787027d78bfd0840e908d3c5115debed46cb33658b1510100000000000000383d2ea99f1550060500295b8dccd50a9b78e2e868c01f28adf6ef2e8007ac7c010000000000000000a5fc354a5669536eba3ab51a608e9c811214c5b7702b571535d48feeb9742301000000000000003063dc6994f705aafd8f6a9c3252629f17d2bde6ae269ce9d0fa4ab0c8a1ce3a01000000000000008859563f3d771b1ca9e5afb70b9c760158a970bf9767060c34af3eb32354ba5d010000000000000068b2ac21afb21cc0d5a063c77fea17f09885bff57d0200cb83ec85da7eeb614e010000000000000042dbd2d1e0ef786fa0f72e251102e858eefec87aaca722a7de9c9a8be29485360100000000000000bc3cdcf9f41b5f3f073a7f6a29931a6be12fbcdfc1dfe7145c4e0a527e9e243c0100000000000000e2448caf0194050db8eaec00df9b2729de602fb307147d00e82172141211ea180100000000000000da132f2f832c8e2a4e268b4faa923d9449c94ebe66f03fa0ac4303f2ceb1b053010000000000000070eb857f0386996d388029ac2d19c3c31ccb3766a9d118bb5dd36ab331d33b2201000000000000007c4bd3b9b81241ca657d1b461afe675272ad933187ee5855fc71475d1f01812f0100000000000000a8d082a4289fe5ccaada604e70c4b1473d6fae4374663672e61474852c1ebf2a0100000000000000705dd0b71ee01b20d9c8dc29ecfd33464d72b3050582485a2354ce8d0cb6d7420100000000000000007cffa67942272b1974dd65c87828e1535799e008d9e81b2818f5e308ed4f3901000000000000000235c0ada5a6bfa56e44f54010af724950e9ac981bbd21fe695b6a3d22cf4d1a010000000000000050deb42e933545c7892d2d25496d9934505fce1d08ad50652a755869c8684309010000000000000096b9efe3e08609cd61aa98f3202618d928074308d9f189d97f7c1e52d2afca1101000000000000009623ad5bd17b75cc58839c76474636ad5675c519e15f090ec008eb626db73b140100000000000000ff7579680836a64cf94bfda2907824a3e1f9136dd653155c2df52e919f5945760100000000000000040000000000000002", + "babeFinalizedBlockWeight": 6683926, + "finalizedBlockHeader": "0xdf6cecf2a31fae3136f85ceaeec01d75b5280b3ac51fcc2154a262dd5bb6ac093ac76106feecbc7ffa4a259d36ca9dfe106be957e0a2368f3034c06f01dab76974a4717fff5ef07eba48d36ef989877b668ec7e04adb0d7f05f78647d958ff40726fb5fc0c0642414245b5010160010000612e671100000000080b7c39cd42c38cea01e6a66d8f1ed0ad514bfd7f01191abb3da4fba3a0af2360ae234496fcd4b9e24eb8fc1021d047d19159acf46bf17c6714a8aeed5da802f1f532670b1012a1b678dd7667d0bd6fd8c987bc6afc20315712228a231e430e044245454684039623b805d014265540b2007be9f307fe327f853e9d67a50260027d79fc9d1f2d054241424501011eeff34df0f8185fb29199e519c12ddf62aff90f9a1cc810289fed8c3657fd3f1b3be4fa5598997090f65b4c80aaab72ea8860a5085ba7b08993fc53a88d0c89", + "grandpaAuthoritySet": "0x61098a239af78d4659897af698b5670533fa6d215864be8c41e3a2fc4309f9f83dcb010000000000000031717c15a4ff007e43d657c58adf5fb2fdc0c3b90640815c52aa1c7ac9c7dfa30100000000000000ad6fa2991d221816fdc47582c35b718e5911a1af71172bf80c4cf35bad75f9d701000000000000004d7b940616e938606ca9198e82ebab5f956b1ccb0cd21c0aaa44cddaed74fcbd0100000000000000e5914426faf919761a293345074f106393a9144420b3912e1dfe1f438975d21d0100000000000000f5017830077b5a7bcf80eed60f595ba589ef391ed7f8d9dd524b50d2c7073b680100000000000000938e7a90b6bb370ab1de25f714a6d4ec79766f0a83645df23e839b08800bc16e010000000000000020105650c1cc5e99bff444d65a0074685f93a0599dc47a3a91ca513b0c975eab01000000000000001dc815662baebd9bc39388798c1f6c8d0c9a5668ac1c83b82b6b4d8351b13bb30100000000000000203e355e692bb88164b4bdf0aab2fcb3ce5fa1113b7c55c1610f92ad13344702010000000000000066c67c2e9a4d830095e711dd29b5c36ab227fe8ab62b7a8057116c916440ae9a01000000000000004bf3a7c0a91c436a045a8d3d8be10a06f304913becc017726b34a6508a1ba20901000000000000001ff98bcdc32cca67e494a8399b9ce52d3c75d9324b315f12a1710cea291d9d2b0100000000000000a39288ea3d95adde4b553318ecad2470ec0efa4839c4bae94cc1538c8537537e0100000000000000db08502f1b6f793e4c5744467fec7d07f00e216431a75ce3ab1696c7ebefd33601000000000000000c890e728c3be18e683a09d94e574397b5168fcebad0376d140e3926fc28f75e01000000000000007f4c80530943a75943dddbd81a7138a25a1ba2139161742a8fb304581153facf0100000000000000b29508b9e36692084a0658d822389f0597783786796a92e508251fdec11642e30100000000000000e8d7333e457fa740db924866152f31c3bfa6124c0367b0878a61aff2d5d6e27e010000000000000084688f3dad92f60e8dc05840bb64c522cdd7b9330bd38ce8cbc1d19947a334ea0100000000000000333ceb19084d7d83976fc84b9f8f44dd84afdac808a1675d7e8ddba62411bdf1010000000000000017d9b810a46767625cc0081b96f2eb384b45ae095c812abbe8009105456e01b90100000000000000940684b45feccb6b61715da1a201215b47870843dc0f9a0c2ee2c454c72809350100000000000000882dd3fb6cfe65709167894025b8477c721ba8acfc1c8521a6a59b30c9be0b8b010000000000000070ba6e5985990ba1b1392713236f1b50df750f10f744cc6eb95fa7c5cfbc687601000000000000003bfe3766ec966abcd9de419ed32f1d016de8f5b71a5191859d474b00467c171a0100000000000000d10d26b17880ea616cd28ad00392c0a97a407f69cb57f316e4f1cf69fbee1c2b0100000000000000641340aa407175876dbb2ea3464ab3dad50b4cbdf6e34fe3ee47dfacc4fca41a01000000000000001ff6c4d8b7ee9f99bab0aa9fbe88ef94bd3a0f1f08532a329403cd0dca571cf10100000000000000f93d5196a9da38f5c01f77bec5b034da553a302b2813d18c3eada66e44c61bd20100000000000000aac65dde24439d67c7bd0ad79ff575163635b113a851e620deb6e4724da0a33801000000000000008faf00d72dc043219783f02ecfb9ec870c07b608f4e18b9a9121bb4ddb1c15ee0100000000000000a58a13ce9c55ba408407767ebb3249de13c2b5509e45f6997f4c6a02ddfd79b60100000000000000205db2f34961f7c260a0be694a134a77814c7d156ef9d6b710aad3e945d5d6930100000000000000e511d441d6d3c822cb276bb2a14b1c8071d9fe1995802383fb5dcf8a92edcfc201000000000000005697c286e7514c932d9b034d332caa848d2ddb62d1c4dc24b36183b6f4fe79d20100000000000000b989aecb127e0ec9057c64a4b396dbb23752f67a2b253f179f7a7a5d395c5035010000000000000063205a0a65f0df343e0bf1246eb965755f56d640639320f3c26f64a808e864cb01000000000000006f694fa69a896e81dbf3b1e73aa0fea9613bf53d0e4cd4242cff7029b19a1b4b0100000000000000743f8683637266104569707c0739e1118f97ab4ed7522198d3ba0343b088561d01000000000000002816ce06da167e502193734b2f692e07208c25dfb8e7c0b437fef414f22226e0010000000000000042fa51a590d863c3dc1279ab2444a394f22610eab077dc724827070f586d432101000000000000001b4b5f4e0667c084b318210779b013a36f4e2a99a1fc2dce5adb7c921278332b010000000000000099eb3b3ec8ce6a4591dc266864c384c3fdc3c4cc9fa6b79e482247e9e3d847bb01000000000000007d0b2941203061b2c9c2baa6bbe80b209a51b223c724cacc94fdd2b46a7ab1220100000000000000f23e0968a818a3225f64efb63719a894770f03e5387cd64698ff8e1008acf4f00100000000000000bfdb9d87bf7ddb753ab52e356a0eb4becfe10d78c4589c646a9b7444855377ae0100000000000000b0435d9d506deb5aeb02f9b4a872239134e5fbbdfa2bec55fd6041ca8294740601000000000000007818639057900f8fb58e3aa8180f6108c251884a9fcb8041ca645cf612bc1eda010000000000000097d57a25c49a171f87773fd18925fa2d8716f2c4c812949d73efdd5b8b39b2140100000000000000e38f2d737c0841fe1534864408ed3ac0a22ad9edf9cd3c832754262b80de71d201000000000000000833b68b6ddda5ff38ca3e0cfd0d93e62ab59f0b0164ef997d542e905c1459750100000000000000707b72f8c07b1387cb1d3a1b5f76322aeb4b00b0fcde9b8e189f038813708f900100000000000000a8dbfc6cb88ac105e25b9dc7f11e883631824647cd4d0c18014bb6239627b2900100000000000000764be126771bd51265d69b733c6ef30419f94451e32792117d25636b63a837740100000000000000e59a9cc37937f617aa9eb54767eed84c1a57a2b270fcee8079116201c280b4f3010000000000000012c21fa8f388b5123ea6470157011d70dd73f188660bd224540268edc513aed40100000000000000a80a71156e2267785dfd124dc494af041219c88b90f6b41f30a0619df3c584a6010000000000000052a59d0bfed47022fc79a5f56d67e9f833d45a57843c986755a3c809092d16c10100000000000000757b8d55585c89c1f8a22e1b73a0b7c6e66bcb8479c4df4633cde709d1aae17b0100000000000000e0b34b26454136d3a05aace8c082d8db33d21e2b7d7f98d874044c00b87b817a010000000000000041ef4a31eb7dc1e01f4630604e1908e644d7cdee3f66a60f98d6d59605326f8b0100000000000000890f5c296681b8c23038b3d36a491ca9e0e7e809e6455b2bcd28a13700f81abb010000000000000098df914cfd089eee8993fbfbd1522d6a31700c98bdc3a31cf69014a0ac123ecf01000000000000009f5c82ee25dcfaf356dfb70c3ea626715a0b6b9be5a1dd1ab523ea1538095d820100000000000000e36b385cc17b3ef19ef7fee9e4b96742254f7d5c90583fb8a07eba2dbc55d269010000000000000039c2db4b650baf096132fa9ee4371cd1425fc0b4489a0c2f341fdf065272a2a50100000000000000264aa8e17904b7f83139c101e96770cc85795050b1d868914f98f48f8b99a84601000000000000000fe66a8b269ee8ddc94d5eb14c505b79ef9066bec944213ba9bee50e6cfdb6ec010000000000000053b64e94079673c4c58ba764a76b48851deae6f31e3186c02da0827162972a870100000000000000cfc247ddbfef4dfccdf0027f010c9a48cc6e4096621118ce732d2f0a5fe51c2a0100000000000000123dd853d7491657f3eb1cd4a6bf452d4338fe8f2c612bd37a3a6aca26fdae840100000000000000e72ce295d89273173dcc71013b4c2e5ffdf82c7c68a598f7c6e0c5915074801b01000000000000006a1c3443483a34e653ebc3d0857c00a3c8b48ff2c5e9549880ef47eacbc05c020100000000000000dac2e90de824b109043f70818d53eabe05e79d518bda504e951d7f4056b0b2720100000000000000652f455eb3d30486151c716a4031bc02bd00254ef3e8290fd29f946d958a46b60100000000000000f57e5ce97664f9811de78578d225a41103c98dae633b00505c35b7dbda6e3c510100000000000000c067e04a0b95384b057768a228e5658832235ffcc132c9cea18c3c318f3dc7940100000000000000ac475b192356c61a81077822d2fb1f921b1637a5d0a7cb5de8e5a86f7444be59010000000000000044d68d3dbde0fbc3d667b7a004882caa9413b54785d820dc3654aff3a5b8e57d01000000000000009fb61ecc2dc719b3efc8e1ac6e9c96edb4adbbfd9bab1ad2f8a013c5d8d5c48b010000000000000027050fa6e0201f6fdd621db3d763193c4819420d3faa6178ddaef0a6e8ab384a01000000000000000f4fe61fc52bafea86c568ebcf2877bd1dc29dcb8b7c9516c35d83df3a1ccf05010000000000000061daf583023bfe3731fbef76f904707f4d130891ac9793695c705aa01c35ad100100000000000000409c49abb067e141ddd0a223f41a33956bb206dbcb1ce18a9b579232c11207a701000000000000009bd622bc0948361df27b3e501ae0006d46637cfebb4fa6075288903a4b29fe4c0100000000000000208e5e49eaaba544115ba46493ebc5e101de3f482a96ebd5604fa3c6486aab79010000000000000053425e485622c4f675a9081393c6876c50629f3fdb83b8deb2c00252e9deb4a4010000000000000018a45786f742ddb5273eebb3fb640ba8d76dd7382156ec91a48efd51f02d25d90100000000000000428ccee0681305bfd47b0b4432d0665ec16ae31419f034a8f7d1b25e9155f84f0100000000000000f27f923258052541344014d85ef62c8dee49b2dc494bb97a47758b6c82f876520100000000000000ebadf538901e74923a6ba1ba3a512fa7fae8ff099b98696f950b318555414a4b010000000000000059312d9c6ec0591908d0b055668936d16b3baed038166e1eebe67946fbc9a26f01000000000000005025d6b18d5d25ac7dee939435363cdbc2194b99fe7eb04ab29457ef090955ad01000000000000001cc059ab97fb9f7c923f98e5c6749f45b6270f7b5e2c6368772495f0af3e0531010000000000000085d30ad9407c1a1f860cdf1ceffddc7ac044fc059257559a564bdfd9da4116bb0100000000000000aa3be8112cdf851411fe9e00fe9ef0a6b58217326ba7c1ab7ed9ce8a34620b25010000000000000025a5b10abcc6e32a4a9f7daa0ad1d9a9ac72194e061bfbf3f064a8d3d8d688aa01000000000000007e56a9c63e4f30e13d692f72e3948ef7b92183dbc993629162bca33fd2dd7e190100000000000000b2cb24e6155ee2213b3f30f66c3647873e1b404b80ecde5f2c3d32cc62ac11f801000000000000007956fd4b6a1d5e4a14a6ffc1087e362887d2e7e1316974f1a7671c471f988c6b01000000000000005422ef5a5a3404d99ee46fdd20d8b897c5ca0c051bc6541d40364e6d65273dcd0100000000000000f982823f5e08ba1c697a854a2e0b41544c63749a892c961dd4f3cf5b1f716bd5010000000000000022e1f51c9b61fe9101c5c0b5b0629882af44f5fdac80d3709caf815c6a8392eb0100000000000000f4f88283787e1486aeb0b00026e96e1ff523b0d85b89cbcdb0ecfbf5694065e30100000000000000f7cc421e177f70f396e449d6513e5b5a145c298f8f10eaf7bb2cf441ae33333d01000000000000005d9af90688fd70834d26dbf19bc4f034e1ee3442c05c3603b798fe95a2aefb620100000000000000fcc0d954c7d519851e0094cd9a015b4789022a37091e3a04791d0731bd85f0d30100000000000000ae430a07b430336639439e1fc36725721d120480349022c93a51dc53831039a60100000000000000f4c515ff4ccd85195b2bc833899342e21044d872d3cef37dd64eda0690f6396c0100000000000000671af96bdaeb0dc9d8e1e61ed6de04ef1bf1bb86da5b8f392ea131bbda83bd31010000000000000024ad7c10aaf8de2b8fcd6f28ea2939aca4d0db4c4a1bb63e5537279c1f62e68d010000000000000021441bbdbdd47781dfda0aa52047e35417a812c5328e39f0c03cde24f6bdd1b40100000000000000988d45ccb77e1c3e754f2efe478c7a95cf80752fbf43e4fa0d24fcc84fb9038b0100000000000000c48a1ad90be545a78bd797e47eed5d5cccd4426213c5126fa4124a5afba4b4430100000000000000214ce2bd2912889eca3c69f45a3677989d66e20c3b26a52bbd378a4a71f5aa0501000000000000002c02818b75d48cf264ef2f93d91097927970b7470b8249888694be014cc78f750100000000000000c5dd940dc1774e31b6c212eba955a5939804ece9ba238e78b444d2af2e6991bf01000000000000004de9a0cd44bcec5124ff43966f305ea0b213a3fc58dea5790821b4fb762f61b301000000000000003d28789c6d574f3aa6d14360471901c5bf8255d072c2209fa22ac773bd32e5bf0100000000000000485c974e2014071f307dff2aa198079b074bb081e5eb9989c0cb1372aa9a6a89010000000000000041763df8284ae8248ee0f649982ffc7d4f613e07c7bb83cd554aca5dcf8f56250100000000000000f638a64a8e447bd0f978e6641341a067ac937682f5f6c59b8167a058cb24b33f010000000000000099f574f1c57e766376a6976ceb3f44ea0420be7426d5c55b016a91e34091a0980100000000000000cc0c6a91c7971438b621cd9a3bd37a67f52ec4093336585d1e2c73416195e28a01000000000000000854ec578fe9572be4a886f4c9297f27b8bb0b305c2ddf8d93d4088ae01cb3e30100000000000000de52bfa88c4a76bb22fbebb0f078dfcc5a327034e0044e8f8034f2a96e7adfef0100000000000000bf3fd3d4065b306638662c3e789d830a63d9b343cef5f863d346058387844b58010000000000000005197187ac7eb8d0a3cfadd32f1a7fb662e7e4a16ea718af3f1e4437b865205b0100000000000000466869d660c12a2c5710b2360dba2e0c9bfb1ffbd0c74544c0afd1ddbfe734840100000000000000030129e0d90b7476d6833ab8d5c6bc45c5d9bca192f269f4dd08942ce991533f010000000000000061c2484adf608686833667f825381742d632372b83980f6df8b07bfbc84f1bb401000000000000007948efa0d28e022e7c14e0328e558faecef504d2810d2f58193b113bbfe7de3d0100000000000000e0fc24bd5365279a1f16e02846535936fef8ba8a1d0be2ffa544b7f1773874df0100000000000000b61eecf2019c2a6f3af7c6120decdd3352233c39d002070758be081221a8a3ad0100000000000000b98c920666586f392d129d480e78a965764ac82de45e691589b3aab7831a7f020100000000000000cb92ffeace78dbafe6fbf275741b4b38657fb81590712aa0bca7877931f6ad39010000000000000034a18d21097f479eecbe51b91c522a798582caafc787134bab6888854742406e0100000000000000ead4054427a6f2d001590422f9ca8eed08c6f0b7914cdd500e99003f493f7a3101000000000000008f36f8befe9f8dce1cc71da7a1ac8a2feac75a99989b77bedd83f082f6f584370100000000000000f7c9f4bc8669969246cfb748ac6996db6cd4c1fc634d981a1093b2c3d7a2eadf01000000000000004aba091c9780c816178de034989c81d3907dbb6eb129bfa9c93c368d4709b9b40100000000000000137d92168ec32f58dcc3be5e8c1c31f2314724f554b1c2a0b5d4334936c8efd001000000000000003137f2b06b5f16570d3d89b83ecfc6d30660b735d01e566c1bf0d676c607ed780100000000000000c92bd67ca0729206933ba7fd6ff69ccc717717fbad9fffd20d7a7476a865342a010000000000000083a8ca034fded71f681224d5f905b69084b17a51c18f0a06aeff60e868898bb20100000000000000ed75eba7df0c8cd6f19955f725f02fdfa41103cc0d2c6ced4ba8bf30369638450100000000000000e2aa0fecf481ae9c9f066202503d273b5752c6a6014e693ae091942cf07c78ef0100000000000000a9f24f0208a21e8cda4e450c72074f20d76a927bb80fa4418e480e0b59575c6b0100000000000000507b0289bfb2f55c7a62ec3c3298690909013c916dd5885b05b330fdc0caf1270100000000000000c8185ca8ae6330a1e03490e132163adf517f76402ecac6881a51c8a14ed62f940100000000000000345a59bc5e05a4d4e903c12dd113cf42903113ba28f66edd9e49e7b510880a850100000000000000c49e3cd2c701bb845963c2870dcca12ed070c3f67ffc20144327a93aa6e896ec0100000000000000ab70b42c731f5e8dd89f0f5309ac1bc4e8510e297879cb29bc4a7af3e31cf66e010000000000000081b1fce3ee9e31723f1023eaa9f8793e8663e72c50fbb0fbcea9bc78bacc491b01000000000000002dad5b2212ee688f2eeb9ca1fb6a90574f006dc1c6680ac3a8523363a248940b01000000000000009d5d2bcd601cb9767cca3ddff78f46fd1c0e80139b44e0c9e8d200234bcf3a2601000000000000002d575e29f7c1ea23bce864823ab34822606c5f0207bd18f471c9881a8c0e9d990100000000000000b7c13f1239888cda5c8e6ac9ea10675df17633368906e66a487f91ddd3268ca60100000000000000fc8cbba0ac15a80f20a1194f5d8c575cdfe959436dba18349991b35e6e4693b001000000000000002cd51e09c3197e04155b78f3d97742ceffface390dc46f81f2613a94b2e483fd010000000000000080c72e4eb1bc984287468ece0927591c8dbaebbf27b3c4b3004df65a4eb38f070100000000000000776c4ea9a40d97ca910d7d38f92acb8286948f50bc774940d357736777f8c91b0100000000000000b9937be3842b54d71cdc96f6739d0a7071b89934bf9644ea362f6ecb477b46c3010000000000000039b9b57b51821557d4d71d8c07e3cd4f8e4490cdf88e7015bd4dffaf95a0d1cc010000000000000056ee8c01a7774ef3c9becc36524fdc818195334f2b9edc187a7941056187ca950100000000000000a14d8ba80eaa3f2e282855fbd1c2e9378d17d491657e76d84df2d14c42fcbbd901000000000000002b986e6426850582cac73136dea0c43671ff94e72cd4801cb9017e058bfc6c5501000000000000002d90386f1a2db7ca6a2bcc1656b11e3d2dd15785882edfae389c2bb33052419a010000000000000075a690763ad4ca60df50ee34c09974b06f5ae71ab45d4b8cfebf4a567671252801000000000000009585241e4796ed0df7cb993443a8b8bc5b40b10fa85683473f7f80bebca167f7010000000000000097497e82a512ab36b55d1cacec9baa3c1f4a7f55ad30cf79a7aa4c395ab39bf80100000000000000fc0cd2fc1e96369f045265e9b6513a200d755bc17e95c74dfea83e41f994d03f010000000000000099232c185a7e70d9f9565486fe2efcecbc5ab7dde89d074bee83c85d13290c8b0100000000000000e00e041baa455db9c38d07cf42c7148eebd348c3df36ab0efd4e70536c05382d01000000000000007db5571f09c9bab38fb7e793cf0edb25b2063f47a0b7768a6663f5b05b57f2a801000000000000008cfea898913ab0d63b24f6ae7319acc70dd011d2f6c9b2d9603d7876e1c9bdca0100000000000000d1c146d2429a5a827660008721c7a880e71f44feaa3dc75524c1a9281bac48cd0100000000000000c68c7e0bafb7f0fb65a79f7517684f7693e7ae6435fb72773c3c52438c669e6f01000000000000008e8684ac92c71df4e9db44d7e7fb7111698a13abedb82bdd75d89cecac7b4e43010000000000000024c102e6ae5bf186bc1bce6f6320a0075f955743fa9936005c21f09e92abdf180100000000000000eca22d3aaa8e665c689c6020ad1e50d97fd45e69bac905687877af366d8329860100000000000000c8be78d05f652edd0a64a5865455de36d0fadb0d91c470fd344f8de23c8a6b9c0100000000000000627c4a3257300150a124ad040ecde9d53d1623187aac011663edec2b489becf5010000000000000048e913aac841999a5ee57d045f46324522c4572fa11c47a3b7a476e443081f110100000000000000e10262e728a0faafc2edb7bf41a4a1416136fcf03fa8362b89c44e29363edb0b0100000000000000cd262ad80e453fe9be222bd49c585ce44915565b21c272b9712840ab4de009180100000000000000f301324859c6a110e51ef386369ddd36f3ba4c8a2e873523588f9fa7929edb00010000000000000074a7f8024b834671538abf670d3265f4610922479b518096dd797a39a9c1a26e01000000000000005d0124063ede3e49f037df33948477235e5a58f93f8b98bf7203f25e11d4f0b40100000000000000e4dc36bfd9f67865042b7f3bfb4a07891f7b757b1a37c1ba7dc6e395f3e4657f0100000000000000326f07c0e76c6700bc37ede086feb3c530fb3219cb63144dc80073f649038ce4010000000000000085b714accac0654ba57fac59b626dd35802269d2c1d995cea7c335cb05a88f7f0100000000000000486582525cbd62272427c42388f11864f46d7f6380d5a2bc1636a7e56fa9032801000000000000001e99f3d6d338280b0e5933542ed38a3c6bada647ffc6a471862cf90efaad54b60100000000000000b681e1c74884063fe862f9608642ff9325809d74f44e47a784914023c7f32e330100000000000000b3c7061fc4be040107019f5ac460f657ce47c3322b36471de388b68ac0370f890100000000000000d63b2baf0805700005171879b44dfec6660078de2061a200c62c6ebe4a5c3fe70100000000000000d8b4b8159ce1a2d45a9b51a1681058a6e2b83452d348cfe20c9d0772e78c03230100000000000000eea0e8d1a0aae5e5cd38dda0e172b49f8ea02287fd7d2ca79ffcdf6e593a283101000000000000004f20eba65d1832d02ade155c2ad1c423e71602312bfec0d54528630548a2fcbf0100000000000000e18ad428af71a3668336733b81deb31ce4282a4facd87859cf5e0cd788c9365b010000000000000070c5e743f7f1fe84313b258f5b7e57cd9f7d911d845ae79758a994cd216a336d0100000000000000854930041eff11f5c791356aeb214b9670cc17006afdb3cb20399eb4762e25d401000000000000002b7b893e884f4d9c99a3a154b78cfa4b461422860537fa77d064dbd0de4e0a8a010000000000000068e90ce2ac6f008d2571707d4efe418bb0c842320a34851480ff64c969a5eae60100000000000000587473ac474bbd8c99d14bec88d614426944b5c84dbf2912abac7610741560ff0100000000000000437514fdd2338418a82b6f388df43bef0924f4288febdc261a5c5c746fc0092a0100000000000000657b95888febe74a4376a8af63f4c9aa693a1e01b85a83f892c74aaae7b21c6701000000000000001935d43843c66ecf76a9f4c4229de9ed7c172f52aa53d1a279f2856a736661b801000000000000006e2897ed93a9e9d54be62772edc02fa77ef6c654026a2b86672bd6a37fd202090100000000000000d3483ed0f68d3bf6ee8ac6eaad993e14916c49aa7b4f41c7bd5e2c80895e76640100000000000000098d22c9cb46225838fff4de91e1e93e9378d6e27983d6423f77009bcc32668d0100000000000000caed8581d88dd8e296c0905402fa273777ac1a025a8b6a23eac85a0e15acb6b601000000000000000c83976a1a4c0a466aff0538c5e8e855a661aa770f8a5e5c4270ef95b2971c7201000000000000009e50fcd82d92b7d1f0ff85ca7c606d8dcb891981a9e6cd94a51454ec67c9afc901000000000000002902e97d3e7fcbf6418a1e8307ce14b1584172e41c1036ffe198fb9b24d40f1b0100000000000000cc5dc1c5155dfcf43ee8dc4443292e966cb3226aea4fdf88e73daa259d66b67301000000000000001c6cf4a587c929a8cd1392a9df942883778e7ce30543d924a4825e51d5f5f16f01000000000000009533ff34db407309b77800fd575f044a900b368dfdc59bfbf425c3962ad88bf90100000000000000096e6c93e51502bdb63438d1cc1207bc5fa4cc1a1330b152ce46ca62f0c88ffd0100000000000000e95d6bb63522b966f4a358a7e37ec3f22e6f2126607096442cf719f8627673480100000000000000dc6d068d3259078c814b6c385cf060efca701e19494f9a5e8171a35336c8ca8601000000000000007042cadf0e02f09abe2901fb8bb7261ecd5faadb06281e30fc8cf3446dea23770100000000000000099a9eb71f9cb1b7d15eae384790b4ec35045a19acea1730ba62f3e7caf31e8b010000000000000098998700d3ecc5478143dc3a1656f21412d7dd40ff4783e01febc18058bbfb9e01000000000000003d3d8eab9a0fc910aab5791021dc654ab4718dbdb36909ff0035d18f86578b8d01000000000000009ba4496d96a729e17ad653f030de5263031bd4e4672e3910252246a1b87503cf0100000000000000a57b0071b2e73f5ca588079337617e21eaac3311159887c80b1bfbda958bd7f6010000000000000002f1130b3d7a51bd39138d64edbbcb763a2b71b79a3d6a4f78e5ebf50948bbc5010000000000000051d105f9863aa78e3b2878156f1025ba9687962576aae4e620a4318bbb0ff8c901000000000000004ad4168212078e298f370b050f3acf4272af76bda0eb8e90357dc844eecf271d010000000000000081bbaa3313b09e3b0ea2817c3e968a33587ec8928539c3f3a6d0e65644612f490100000000000000f436cd15d3cdd379cb58b9ba01afe1d2e0e78c9e7e5f9f7a3ac15791b21191120100000000000000dab409a6f1f41eed59217801a6cb9cc28b8edaf5277decd70e4e31e64cad158a010000000000000049bcccec5b11f8810bcc3fa902ac3b8746da0ef0fcbe5fcf87e24c7aab800e070100000000000000c06eed03d05ef5aa3e01f08c96cdd2698711a83b3875141a3cea5583f29a4cf00100000000000000c13b603b5fe774d98e59c26fac03f8096ccc42c57d0cbc6a443b4f07a3c07792010000000000000069e56c7727055931a038b9d8a57ca77e13ce53c1ab5d0de51628026ab2c91df10100000000000000e4bbd27bc350b984418e952f86bf3de86141ccb4569dfa4276b5ec81f61c3f5b0100000000000000d3c0df024b1e681db80125388c3f02a03e5ffaba54e0e079977484b73c377e2f01000000000000003db5f801c2e208df9a9b55c5f2d459ee2c3dc9fb94e208695f2ee4025f4bed4f01000000000000007d5a5bf3f84db83b31722f7eda0f048030bca9445ae3299d0de2e16434d7662a010000000000000042936692ef6dfd13fc92626a2ef81140ca98a5fd0262fa0dfc09727b33db9ea20100000000000000c52e690f51696020b180cf0a5c4de40429794b618e471c63a52da80713e133f20100000000000000a63ecf0e809a864fcc5e2a49d6ef628c1182977f1f99c34297eaae1d111cf11f01000000000000000aadf1b2009026f8f5dd75d532e91dc756fd47572aa0f3c15d26790e6d6b2f270100000000000000a417840dc55a116603ccaa5c9e3f0322002d70f6995a05f2b8a833650cf5744a0100000000000000d6d7efdebd6a3b992d19bd5ee7dadd2721d53ba83542fbf08e983af78ac32be20100000000000000c3231f27de597d2702bb08b4f2d0d234aa934ecb291895229fbccffc88ab581d0100000000000000ec80828f57d0bf2a8c879800f7267989d5603452b5a09e06e839312e39ebdf6f0100000000000000dc680d8492ddd145cd4ca0c086f688ec6b04f566be4000b39bcf4752f66fac9a0100000000000000423c37aa1a1ae4341159972376ab5517a9dfb494695bb3744d714cddfd8a5c880100000000000000de6922a4fe488371f2053cdb3295a450f21c1ca5dabca73585ee1decde6994ae0100000000000000ef3421fbce5328394e8bbd1e24eb38126316e1b1e4652b82ac39fa4286baba25010000000000000074d7396cfb7b36c95e8cd492088d64845a0fc437ec3c6312a548aeed6cee89f001000000000000005c50ea054b16a62b419d1e0110f8fdcaf6df2567e8a10c2b754ed549349e553501000000000000000c964081c9e075fe345f868a380997f541e041332c6375253b08c08e1e46a8a30100000000000000640070e2f707abcfc96999904762ba1fbb7de89abbab97c2624e169a1159b6660100000000000000fecd674c512211f3420f3f359be5bec7dbfda261cc40109aa312e727cc0f8bb50100000000000000bcb33dbc9c339b5235097315d17ce8ac3bfd0769b9b86fd36d46016f29e1ef3901000000000000000dfbc1b5757e1f0ba348f8af64fb631aaff86cd21fa0529e0bb1fbab2508792601000000000000009d7613590ca31e924f6c99c92e163da031dfaa113f41b16d00214aa1c37a03c70100000000000000d791b58285e2c4f17c82a518e099812d2a3f63e1090f1cb2576e2c7695ee24970100000000000000da6f93248927fe3f0b5fff84e297645d50e50e658d17ea8ad2907379d8ffaf3d0100000000000000c8ced5ae205ec0260ea89dedbd3bba4b20785702f0e454e445fd5db8b9b3b43c0100000000000000008b211009149f1ffa3d76483e13b3f25a4336ccc9b6969699fa79fca8c5dd620100000000000000c2c630c9e6e09688b62a917f56388104a2eca2edc7db96bccc1ec44b3065603a0100000000000000435331b35077152aaad451608ff338387d26b58e764badf7cc06428bf08e3dfa0100000000000000f00e1383ed36480f9363c238a052af649ad61572b2ea22738a4f886e6d8a751f010000000000000058bdef593ebc7a4c286c531b2a0233b7892048076ef8db6effd209862e004d3c0100000000000000abe438f29aa663303261fed0383052b6de112b62d250e7011126e17cf9a7a05601000000000000003b36018da370c5b52f55fe9aaac4813ebaaa1350c0b664ccacb2b1e2b36c298e01000000000000000230a9770981ba578a13711b84d43f9bf3ee86a8f10a5a39f657e38c1d983928010000000000000003dd543dddd6ad00137ddf94a218bfa19d2f08b4365d696765dc25deef76598b0100000000000000c97dc8aab9569e1f3d167d7e5156840bbd7cb062de0f32f4386c8e9eba98b3550100000000000000262be1d3847dacd9b61ee5f506ccfcfba5d0fe903301ba1f925224b579b778450100000000000000338c84f04302f60d5737266add391582ca45da82bb42ff0d503609e79193a53e01000000000000008ae534bc8decedfe323d5f659263f21032acca78ee9907cdacee923e4d85fc1a0100000000000000c3f876164ab1df816cb79ed48f45c735887ac9e37df32161fa1de7decaae813101000000000000007f9858fba4b0b019e64af3ff1d5bd0fcc14c3d817ef212fa5c5e26518255857901000000000000001b94587cfb3b7d0dccf84ffbdba98a10199e5dfb1887eb15d051444de5d8627e01000000000000001e2d41babb0539887aa8e5149dd9051afcb1bf1f273984266a18157b2d7d0d3601000000000000006b0a47b3e2eb986e7447b220a46c572a916b7bd59052d2207b80e62920f0b0d301000000000000008d333a65ec4a7b933dd68d5bbd15015160b69e576168544152af044e8c0b6aac01000000000000005245c2ffbc0602eda917b9253c7e26cff7b04b0dacd97179795506361b86aa2f0100000000000000f7362d44fd04be0ace5b3ef8ffac7095be0bfed0a67279c533980c70dec5692201000000000000001ec0811cbe4f2ea1e5a714d3ba08c6d7fdec138bcc6406da3c6cd32f1686616d0100000000000000eba1ae53f71c6c8be1e74744c5089bd36cd937c143a82631bd9784190991e4230100000000000000fab39fdc34e122919d11bccadb34f67014ee5e6b94233484dff75168888123bf0100000000000000f331ef3d8d2087fef4a49c339a23423c60dd491b3b75a53001d20c720980edf20100000000000000dd2247e82db33a51c4f3b9ba574c7870ce40458f8e32df96a2908a053a40ea07010000000000000040493ceb508ebaba7136b8eabed4b32d34cd8e24633309ce5fc27ebc9041aef10100000000000000009fb675cb2e5a97ac643afec8e3fd302898bd56ef7ff8247d89eb07de1e3284010000000000000096934fbb5d85ba922f3897d48ddc5376df123fb628bee77b6b76f64a73ef5b520100000000000000f81c4aec1ea33feff19e586bcaccfde776d18ca82c9bdb4181f077aa5f1937400100000000000000efb2050b4af1539f3d01100a9241f83df452dd165079d6f3cebc7a24c0f23c5901000000000000008c3bdf409a2d38b45b097a2746e39ca3c43a72f6eae64647f4bd2f1af39b215c0100000000000000f556aecfaea64d9e5163b677a78bb85f6daf76e2f0914c83423a8ec33d57a68501000000000000004b21d3d98c384a2650feb8b8dbef1e7d38c046850a79da36e403bb774ff834ce0100000000000000d4d53326e17d9f0d59ac28f663d4b851263b11ee75055b32fa0acddf205f920f0100000000000000efb4cc4e6455caa1b5b8035e6402ffd17739411383707bba0024315ab743d5c20100000000000000055c25dcc9cf8a08ad007ed9c8afb0ba53cebd129a20f194d272535ca9fa064901000000000000000e8c6ad06ef554dd9be6e1eee5fe80b3b6fb02244e5f6a8a4c3aaa418d9b67550100000000000000ad7a9be8cc3225a30b0574e2016caccc4f7b516beb61d795ca050697500f119e0100000000000000a6e4670ce090e954a4bbc263decaaabf7138a2a70ec00e1e91e2b149c4e358dc010000000000000029b48d0389042d7f6c7d651e4097d14931c5097cb514ef06fdd933713ab3b83c0100000000000000dc781a2ffc8078b51e83dbfad41462eaf4eb67a05b232b166dce3be738073c0c010000000000000097cf338f5a92e6de618f89d2fe70ce4f10948af4db068e9c6db8ca9c9280e96701000000000000009c4de42425cf8adba2372f790bc6e5b19f30e6bcb46e2e3a63ca3ea310f40ca101000000000000005d3c70eb3a10d176795c292f19dcb21d6a20a3d59d1d033668714733df005958010000000000000014e0c017086724031e4cf844cfa4059fd1956524bdc5225b9100ef1aa5b34f82010000000000000037d68201a6a46be917c2cab92dd1711c3c1ab07c3e6a81ca4184d5828bf64a290100000000000000df96c6af6afffa531e398f332e8b25d21f6e1c94eff4dbe6bfd9673fe8508b730100000000000000b1cbae16db013e1e1527f71c3ca6d7bd706e0905e12d70eca255ee51ecb486070100000000000000682e3e4fb30d3e487ddefbe57782589df31b7a57908f4c520c79562dadf51f5d010000000000000060840062f8a201c67c71e2f0e8905e18bc9e8b436bb5d3d87c54d44fbb024d300100000000000000556a4cb3b59792c6ee5c5522741e967ad3bb48d789e2bc7fd83a4eb2ee4521da0100000000000000f1267a3b0c7b351dbe53f1af34d0f0bc718a630ae5aefc39710b916975d0fe320100000000000000b2666450acb9f43c1884eb63028d4ffe2aca22219dfe298ca17355634f80482a01000000000000002565e04c6e0b665fac87f8238bee74837f8f621ed63409f3838d263603400a980100000000000000a7d6a955a3df68e3446b66eeb66c673067896c9bc60948d4a7c74b07b5cf95f40100000000000000056986ef8b6f0f9e092e29540e8d220b40bed9e459e7b9d0247e0e156601e3c20100000000000000ddd1b27d97cc785aeb71857fe3845ecc67169ca67494b8218484d00027191e4a01000000000000005d50d6099c7c88f367568fa473b44785acccd030251627cb371de16e5fa7042601000000000000001ff7287953c621b434c6a24897970828fb6047ff9fcca593dbab33e43e1a05d201000000000000000349eedde437fbbe2d174500d1de344a9a906946d311aeb499f46debf701586001000000000000001c8843e77038144af1b1e2eee9aeb2186aa52d5007f0c91e5533f46b0834050a01000000000000003f308f0b26cb59069899486b41835afaed27e012c1cc9b523c97539068215a4f0100000000000000b9fab747aac5f9b8267e81f348cf4a964816dcc7774c537ff3dbb7c1a2611b7301000000000000001df7a4526aefb5459b9794bc7305a93c502aa5533e6a2656787d79073ba8fa3901000000000000005bdb1519c86e62cfe1351722cf0a626e04bc6fabc1317c69233cd3a2c8ec599c0100000000000000f7a16243e7d2a3949120910c14e84d58de999fdaa7ebbe5aa00492cc25326d1901000000000000006117f03dcb0fd42fae72895c31c7accb6c44923fc0cd7e6b2404eee863ff616d0100000000000000d3ed238f520c7ce95663aeb66448e9bd02d68779471be8b8f0fb28265b44ad510100000000000000224c188fd64e966bc352e651c8a0eec01f8d3f7a83faa2309841d5ba7a4cbb060100000000000000509896b1a74a69b08abf86432589a6abddb4d3eb9782cb0550ef8570ecf73a850100000000000000eadc6dceaebb15d3ba8282f64189b64dd5f5a758477f28f4bf2e3c3ee612eb130100000000000000063096655eff2f2ef2c7bd6e1c8f77198e39209452571f0134f5a1bbee952ccf010000000000000088e7e41acae1862d195554fbe61627ea1f02417c778fd3fd11aaf984dc798ea70100000000000000cab191a66c54e412fbe7fbc074ea0d916279d55d856d870d15bdf88c00538dda01000000000000000232c09dad0105c2ad8fcd81054af3c93a0fcc106d879f6d3b0c62ffe6f7c3700100000000000000a8fd6980d7ee84943008cddfdd3eecfe605971d2fc85fcea6f31eb1257cba6410100000000000000f0d6d584f670650a8ef17a3f464690c6f35a180ea2a50c74849aedef590e314b01000000000000000428e3ccdba17d779ffba05c9ec7a6264187d13bf89b6009e97200474ad343970100000000000000d786b83525fbf59382ffc4ec1e8f5d80366927491ddd9045cfb186ea5e59a2c20100000000000000f86131b6b902a753e5a96b62b03bb787820553fc19a50599a83d2e744d22c84601000000000000009177cf79bf8b3b38cdd5777f9b8ce959cce13eb020f0eedc6815e4867b7a96690100000000000000311348bd0fc78048d3ae9d21584086744ae90ab51a6bf8469fbbbf83631fe5d50100000000000000c34f62968a87b2e4a9340a75004029dff5777a020f60fb287f08038491881f22010000000000000031e8d3d4ce51558fe1c878009d4afe1b105512b17ce713ca5c812237ab5586cd0100000000000000fdec4598b8fc65857fc413ae2cdc571a121c45fc9e66347d69fef0f3d74f11cd01000000000000009d90d7dde42d13fe6f30cba1a8b2406b676f859959e3434e91cc05b1071c7b7d0100000000000000442ef6734565c54103f021c7291f3b815f6d38c418a91634f6f0bab5f9c3568e0100000000000000b6b61d19dddeeaf8e733b046b1b3112444b52f6cbdef18c2121cdc8f0e7c876c010000000000000061ae8156307fe0934718905a47d9a8a013200ac00293ae01485e3a30d19ef84a0100000000000000fdb1079f081a79fbbec55b7892414a68d47b6bf34027bb90ab25fc4e52fee6330100000000000000b9e473b5e9742efe0c4d6b5b330dce1f6007bae94b81c3518d287fcc18f606db01000000000000004523f5beabcc4bc11ed111a6f4005a976c08aed50283a36c33b7a4af6f6c2b1c0100000000000000f1df6c16f82f1eb89306bcbbee13ecc7f150e6ac8e3a2e968faced83b2ba220d0100000000000000631a96cfb637e365ee99838abc05bbede56e046390ef64a59ee9953b1092a361010000000000000065dc4c53802befd2acfc3d6d3f66eeb84947e5c15fc7a2165a375352a4faace101000000000000007c39d28f80a16bf0cedb70e36c5ac9063dd9b513c5fbbe2c2222389f428921340100000000000000412b48c01d22a65e62d47d734768219bbd9452b8a4ea250dad445e166e7958c60100000000000000a128a73c5eaa1803618a75bc368c38e4c5cd40999cb72d615b8af1d30cb8cf1d0100000000000000042b1ed40a54f54179ae27d9e3b50e2c2596a566e4e28d2240539049f1650c0301000000000000002002a9510b4d1ae49e9731ba677d7cc20c6adc0e831c3e0cde743c303df56b9d010000000000000020869a63e7a343094ad0b4ffaa3d83344ffec8c7fb9b177008f78d17eda7dcbf0100000000000000e4bf05e0d4ff01055bff78dc8007eac194eab8bf824dea7764ccb4ebf0a44aad0100000000000000d64083c00178b8dd224afade9792fed8076031bdfe9efc5b8128e6372a9261e2010000000000000057aa94525a8fab40c1787fecd6456fe1c22e253cfe5e9c8022641231c22a73a801000000000000004f1d246830fa428fff98c64f5c1db6576dcf04acc6d9fbb8b4b01549ea04335d010000000000000013ba3ffde8d795d5f077e955b912d4836bb886da51368d8a20561acabf3e8c4c0100000000000000e8e5e317b488d886a5ab7367a16882fa66e6ba917f27a11c14bf9347202631f60100000000000000cfa8759048a11ac265141c633b1e70bb3000d2b4609ba9293aff91bc56db5d7301000000000000001c6842f07fb07b318a8d00ce6258844374f8e894853ae5fd4a85c867d3fc32e30100000000000000417e120dbfd0297d59458b48407b62570987f1e907dd6dfa9a20bfe64eb489d80100000000000000084d59a298bbe9054acc68506c802a7363c1ef0cc568575991e749ab264bccd10100000000000000adf6f2ff1993d2a5bf572e60e5d99adfc97a0b379d74e7d7c22ece3fc12897bd0100000000000000663c8fe80bae69d087a20412e2bfa3b8c786174d39ef38ff0d53f8b42ba5938401000000000000003221b3b7aee3f4d60a87f5d1a572c40e7116f85dce5d55cf097db19b229471760100000000000000880891df65393d0546f23fe37b28e51783bf50ad5f33572c3b9973af5ac47aad010000000000000090a78b942f7b654b89b4e7375f27ed646745347144a24332b3abe1f56ddb798f0100000000000000b8f75beca31115155d4243e9756d064c2e99765ef0c3bb5536b885c7060e6acb0100000000000000e27f02b8086c4e8ae1057c6fed2aaf266c1dfb23c660cd5399cd6eca04928a720100000000000000f5f0a686e37a7fd0d95ddc93003ef82fe9503d484594f6ecc00f7d430b15c2bb010000000000000005c80b2ef3c20d81e5019d37ee5210d7fc491cf38e66d81ef6b635d54b1564390100000000000000e1bb230162599a5243516b6fd340f5cb5dde7cf8b6d725e6a095b733c480ee470100000000000000c2eb94269c5e5d2ab9a1a300387358679640763b053aca99ba5c1c9083ee717f0100000000000000278c4cc460d1915cd41e696df30c055691c4d889ff847328ac6b654666054f700100000000000000af4cde44d29d5ef316f1e9974f411e681cd83a29019453851e5426cc7df17a560100000000000000d9cc924ae241639ecf32213a2de90ee7642218ff5ae67f338989a6ef5f5a39a801000000000000008eb848c6d6d073c90151a8fff8df280a51bec33134012ece69b67f1a989cbb4701000000000000007d31a208e4d6ea46ff07bf9639343dc17128d319537e55c17c2e6bfaf5a0d1fb010000000000000038d116b09cbce6a502247f8437d4caae818fe4f33619b4428aca014955e797960100000000000000fd511b296963bc98ee75be2e1c0d2d8fb7e4d7cd39c6fed96e1824c4f189312f0100000000000000020dc9c6782e5044491776abdb91e92774ea308949f8472a5cefa914f7075704010000000000000061efb6a3d90bf09d04d4f4a2d3f3a0d4dc571411b423dfd3304e6b684ae954da0100000000000000dc0f2a417514def6493aa87d47160a9953b2ea73e5176efcaadfbc047e2b526801000000000000000c749f21f4d1bd3ca524d8953970b7b5d28838bdb9e07e73d4e2c4db7a2826e90100000000000000f69e89f4ecd9a12805b071be6f1c70a0673e1e4b9d7cfeeb22ce0122df06c1e10100000000000000294b76b3eb677dec96155528c96425b8138fb74363587f2727b41051a3ddc4d30100000000000000ae3e31a39894f1b87cde2ac7acf21efa92a33f1326138d7459315148145d604001000000000000007fda2814ea1ca5816212385ecec5a25e02befc1321e5371f75385abc810da61e0100000000000000f328587b55a9a7afb7b49656c7164b25605755fce68c999bea2b07f983c68a14010000000000000042f47dad5949be7b7b8f81faaec17b1b53465b01b9f8f81e6a45f2fc74e12daf01000000000000000f56cd618bde95b9f1dca0abd7398e1e0ff6ecf900370efbd4702da922d6e8530100000000000000c8b64d026258cb38d9b0f16f8fb638661267f7aee932ede0c5ce98c6b221e0d501000000000000000f0c503a3918c303a9e360aa6c4841d2b15d32578dde0c519000009d5278e82d01000000000000004953f099b73bfe0851e1f07b76700f5d865414a8345e9d4dd00cc17c8f67d07b0100000000000000a3fb3e4f4517de9413a45d307fcbd978e4e8f43c5a4074fa4ec79899f7f9b4060100000000000000c0a1748bc7046643ba1f0ffc600e2131d960b18344b46f81b46c6ff7a7c36f2201000000000000002968531ad8bdf774cd5115dca724f910aae6df7f60126e4314b018bc0754aa9401000000000000007c51253d18a11c9704c17743a34dbb570307334c26569c17aad81c62ef159aa8010000000000000098a6defcfeb3dfca36ec46eb373734627a2c395cdd2d886046a11788ed6467af0100000000000000402d1125adc109383b027c7ab3beffd53bb78e58f480204f18e1670896912d92010000000000000027112a6ffd67e62eb31564e58ff5e5f4385463826c782c4888c378d6f41a3c2001000000000000001701236903f6e923b35630f99bc6334e29df55d03a136d8acd93bac92f32045b0100000000000000dea745d72d052172b106566c30e294912fdf6529dd07b87ca688c3feed853c18010000000000000002aa188fa4ea3c76ba342f6fe98744b8c601f29dd5c1002d0e85725c42956d7f0100000000000000c49812d3af8c85d7277ed525a0e334236386e92206690f13ff3763c2c20a15e1010000000000000072f284dea2d25cdd32cd0d0c65d53f6e4a3e6652d331485925274561f9ee84cd0100000000000000bbb2ed16dd638030a2f45aeb8c07b4d39dab37ed5f7ef84c4d8a9b0c9dc2a31f01000000000000000376d82fe081aeaed515be90edd6fc16340c407f4bb63c8878d2750b5e88563001000000000000009be15c71823bad5cd602563303df98212d22a41e7e82611e7357764613bdc3930100000000000000496826b538d97906e14d417b48598d7d591a483ab5f4c6786cd0b96239c2f4cf010000000000000021235f4afb5b0d8ea5123cd4be4205ed27dc25e5e08813563e47f363590928400100000000000000d21d1dc2f4f6dc40c2404d5c3b7ec318ad32550dc07e1b24d1b1b2b10247d883010000000000000039850fcc94620eefb99b39152aed42c22c0ee3cc4b7208bd033c345d5e83515b01000000000000002da3ad687102fc74d7935f9bffc193819e7aba07f478f538bcb86b5a74e9229801000000000000008b2440f78ad2af74ea2bf79da2521436420ea5c154cd28720536505824067a60010000000000000053bc3e56dee8b5019a256d11a1025d0adbdfbc6b62e8043c93705df10584a90d01000000000000008cd3af973054f5a8ec2ffc98a915a477983ebd7d8da0321ec84d616407751ba90100000000000000c7009be830fe78c42f12f0753923131d16300bac230650001636b6a546cf0aa30100000000000000b436f93027ab62b8fee2bbccccf857b0b504a5b6fb68229b88b35c7699e380ab0100000000000000f9f6018e792714ee4ac10f54698b20b82ea00c34826c0a8fad76f61997eb8fde0100000000000000936eba1e556033263692e66d9759b138c5e3cf50d988d528eb1e9ade33f7beb30100000000000000f16dab565a8a6ccdd4aa01f20790a11b03c7c719f8d5c5e6b153a4eadbb497720100000000000000469939d617b037a9a3951e2510654659baafc8d6af199edd413b9d82e3d60fe70100000000000000ff358eec1409ac5ce15b1f86ca5a5b2044c63a997159a1a75c49af1765603bec0100000000000000a454f7dd8ffdb0b5bb9a24c93423eaccb1a3acf00d18f112a18804679aaaf2860100000000000000c1221da3e4444263db6ce02899492c53de63e139c4080e9a47ce57af55325bcb0100000000000000e83c3498b2e4498f7bf74759ea3a45deddd2d2f524945e4fc28d4744bc0a6a4101000000000000008b7c32d4cc3a835dbf0b8ea938e95cbf77a30330bf96038d91623839d88331400100000000000000795b8bd08038044685140ae871b995f39990cde2caa80e5d838f339cdfdbd8ff0100000000000000848a86e52a20a8e5859d425b71f115942fdc5888422faa7262a9a57afe76a314010000000000000088010d8af98ce2ed56505650870ad7e28966f72d72627df677fb90153e622cb601000000000000009050aab3d1deb0f610b3814843ec7623a7c33e399cca6b21cb56e578fad2675c01000000000000005855cbcf47045d84b2f7496bf17066b42136a08891116a5964238306fbb033d501000000000000008341dff7087b9e05bbb905ea59c62e8574bb7d58e30854428c12e63eb8f4c0c1010000000000000005d8d6df257d4d2bd0d052de5e34531deb8cc3a51d05835f3009a19668d72c1e01000000000000009fef6b65111388df92040a99d29332d69491949aa93b11645bf146c4eed493ab0100000000000000f979687be8178bbd7d913eb671242018720170e774b7d5efefb9eb0a059a9731010000000000000035c0a52d79e5c4dee2da592047bafcd099be2bfb3cfeddd9525c9ab2762d349f01000000000000005db4206baa8706a1b1de0ac7edacbd2a2c93452481808b8fe6c582265b57a60d010000000000000058200bf3469ff32dfa47842359f4158157073ba54db52f48e79e7a452a8828190100000000000000f4d2f2eefe0c1c49856517be1829a9c54ec4de2dad8825dc5e366446729c160901000000000000001262625cc59c0e4b7548904c31a02231a601305881a231d4dea45eec6cbbbdcc01000000000000001e2c52e79d3439f21dcd0ef91525d90278088d5e37e338a17506c5452360befc0100000000000000f9689a7ea3f40ee757bd99cf1ba166ec2211f1999dd4fec28c44a6f69e253b6c0100000000000000c3576342cbf99792896ee5329b04ff2eee2fc2bb6d53c5c03d52c8957ee793fb01000000000000006ad4bc289673029ab44f3045eb6fdd3589d05e0e5fd76ee017f650a662f898fb0100000000000000fdae0d11349b97473180ddbe520d515a852d9fdc21b48bc263b81b8bab77f2cf01000000000000005c3f1e8aeceec9c90db611e83c32e8bd3ab389217a0ce6aeeace16e4f641767b010000000000000011ef43b1d88a049a9696f35bce1dcfc4dfeabc569bb417863428ea5be1b65c670100000000000000f56a5619fd054be5a1da469e0d7ca1085bbb21add4b8a851043205e63bf4dbee0100000000000000a82f563264d1892dd46873205d03c098d8b03f53e21c797839737e4e5f66a87e01000000000000009faf213d2acfef597da0b14df5852963a669da96071d518a2c18cd31adfc0b0a0100000000000000be7246f44426f011cd50fa6dd81aa09cb8ee32a3e867de021f7e432db0c7b0b801000000000000009a2c8baa541c800a55bfad8af1a3bd4b9e4f63fc8834b48db1c6b95f849aa5a701000000000000008510e46ac2ec2305c93ed29dff9d0ff30c098fd61e55cd2d891130301eeb3a6c010000000000000058a00cd4a54847fa7e0f328e7eeb5a7e05801809b9cbf131d92c32f74bfdc18901000000000000006a4e3db2cd75d3e96f5307f81a4d3674f7e06330e3ce282934d6dce34c0afdf0010000000000000009325e35a02134b10c6dc08cde151b91acab50c7be2d19cac72f6b40089288530100000000000000a29c2c891e620ccb15c1f8459b93476359e7678defc7176e74a7467b8d46a1340100000000000000abd8899ed27045bcfcd73e50e5a69b044dc1fd1d366391530570760dabbe4bbf01000000000000003a3609ac590175c65fac57df5db44b5319e6fff43cbece21944019694f35d65c01000000000000004334837a0be5deaa4a73627647c941f7c15bf93cb32bd23da43e11581e46395c010000000000000043601ae31cf5b03cb49395dda13809f7398d8670ee4d2172b14a1ab05986ac3b0100000000000000aa9e9ef920474fb414bc537c00e999be25e4f421029a89f65ae544233b1ced550100000000000000290321d793b7dcb12ad148c2438bb60821bd938b7e9164a0c3d0fc82987f8b63010000000000000061ba863f7691040f6ef02dafd565afa0981db476d68600d7d72f1d6f5ccf50f4010000000000000030252d94a73496848040ab9d9725fc9a21f0a858e531cd0fad5456265387d4ab01000000000000008782fdb1e8d957a6cb9ba1ce9c2a71b355b32c76969176737c44925f1db5a01a0100000000000000714e2b73f6d6a37f4ad2e412e865bcafa6f4ef86f69ac503cf1f874edbdd73750100000000000000551b0b3e5bcb3b82f01e4ca44c853f2fc2d3635463f98637f32fa9d16a83222901000000000000000508e81a6bc4971d3a3d986a1eb4cd13e7ceea563a46b70e1a0d47a212be51c80100000000000000098f705d45c18a5d79a396c8b178a9ca149510e14e7f29a8277cbd2a7e95974d0100000000000000dfa08acc2173505d58bebd8a8649cecd21eb2ed8d9df04383057e9d796de0bcb0100000000000000f6f23ae9bb4c269a5959d51f9173270ddefcc354b63de77b672bce58cabe60c801000000000000007122ed2348087bbe410cccdea8abd5fa0802bb8292bfecac94187a6ccd0a96f5010000000000000067d3f119ce322b163aef25a388102fca477d156c3fa003c7edf1e04099e52663010000000000000049d34c7034103f19bbeb2c8029d96c82c753b088fccef038e7c5b009eb46d6e70100000000000000e6afad45b2b9d6c3c85bf6281ba55a9427ce61024093e5cf7d79ac1e09e247d301000000000000004d772fa77ce73a70af294a88f933c69737a2fa1754fbc6cafeaa022bdf993bf101000000000000002ed8d702722db29c90d4be3a49ba400f0a65b0d3cba7d1ebfe23035ae39d5fe7010000000000000062a91ffda8611ffce3edeb628ea6d3b8b12e5b2448beda6da8334e77a9ecbdd70100000000000000d1fc54186454ddced4263b0e8c76fa3bb492363246b9abbcf589307fa81d3e0701000000000000005c0a52d8ddf00c85e76463aef37d899b64b2d03515d0b122eec992ce94849a330100000000000000886892eae828c4a946afc57081a37b3e00d8273adc769accca96fb936e7ba5190100000000000000a0a6e658dde71078f3c318f17156ab31f9b26a420c71587403b7bcb7a32d5aab0100000000000000e1498bba7e711d7e2a1433b21e169f65bc086adce86e38ec50c5560c3c712685010000000000000025cc60e133a92cc8b9febb5e5c3a6258a97e7ebd87b12ce4caaaa4be129d1a0101000000000000001e185ac812f0561256f65d8e19ff564dcec00437dea51187fd4295fb4bb2c7820100000000000000f9909408f9201a13dc8b04796d715d89beaab7dca5b7f3aad244165bbdb1a6810100000000000000b059f42934ee377fa5377a5886e2846c28556fb85e6488b8bf21c09c86b80b190100000000000000d680f1743a67c8eb21a967d2bbc7daf20b13c1432674d02af695779af8e363890100000000000000fc22e7fd064b3dfc5d2cf5ee71fd7f4fae7d0e9274f992d939bb8381c1d1cba30100000000000000739571b412bc39a7e64c7cb0be6306df344ccd6b8dcfc1e23668cff89191539d01000000000000009a877de36e4efbb024fb1dce6ba09b9d846ca09afa76eb708be2a8098a9a67cb01000000000000004bb3dc383998a983ace23f02504786c6b4eba320ae1d954e75f54525e91417ba01000000000000003751874277b67454eb785c4a26a55daa976f0bddb46c328bbda78e74b85cbb080100000000000000f2e75ee2303b2cf903b882c9888cc1c51f978abd58ba88354dcdad717f4b8a590100000000000000f9596b41435b16c7dba7e9281aea3ec21ec934f3a645735405c78a4fa6a75c660100000000000000ad9fe11973ffaa47d69271ed14df5797011e28bdbf3316abfb551b211e67bd9d010000000000000099db3968f4b18d8976ae0071a375c5aa49c415a8d988cc18af8dcace497b962501000000000000004c84e8535e3df0d93ddff449b176ff5387ab2f3595d09bf02931f2fb7e2d9d030100000000000000bada1cdcbf66aaa3ed7a0169e69ab07cf482c5cc20f61d7a899bdc3276c52fd001000000000000000808a4f290ef947fe5bc6b1764521870fd0c6a31228fab9c42d1865f2f51fe3401000000000000008342b8dc9a011951873596943648097e77db90743a704f79dd23ec0b0186e0cf01000000000000004da914dcdf4efc15cd0d4894841701e381ac959862dd5629ed2eb7f04c017ec201000000000000004ecbba9ff17b4f8b903e466f260d3be24d782f44ea36905d686739f1209c95940100000000000000b426ef68c50245a003dd068c5c086fc9012c08a7f9ec53fbf7df4318261c8c2c0100000000000000611e3ad5ce0359e3fcf63d66678f4a2b040955bf8607c9ab89b7e988bdd9771a0100000000000000a46aeaebb4405e82a739cc843c7fdcc7eb7067dd97d553c7df26b9bf6b67722501000000000000006f1f0a1d7de2fbd1acfe8a6720dfdd6702b9d05d381a1717a99498ce61786f6e01000000000000009e7b1ae0e4a533cd45ea38bbfe1d027f15e0b1ba47c0cb16487803c838d8b2e001000000000000002c06fc900d4f2c0da65bb9360d54d82fd7c938955ae255cce2ac44595f6c123a0100000000000000a00c14557fb624516cee4e5e848bb70013775cfe0e1e88b760ba6942e15d9177010000000000000063772ba4334a8c42db129d3a9aae0d265e70914755c891765bac812c7b6e06ba010000000000000085fd82ea9d4e761b989ddf1573f86874a58a90289061d27b9b6ea0a549ac3e32010000000000000096847258e5fdd261a8df1b3958366b29d28363aeb96a71c2b705e4c8864b97e101000000000000009f3a7fffae543ffa732238c0658c7c1d32d45aae071582255b4b7c7d4c1883660100000000000000979938920acde6cee286af73dc7f44c8127d5411725029c8ecf1efda458e5e1d01000000000000007de760e9ce4ec3937601ab079a19c4745a5e53a9243faacc04587bbb12f13f800100000000000000dbe4fe120fee0eefae57f3c3494b4afbb1622655110f695a1bab5d43d5685bca01000000000000003a2192275f62ff7109eb9f62474516d3016f09902cb6a4dadcec85db9669e53f01000000000000009e10a66232763f89100682b5b7737b64b127ccd49ba5454d321dc7256b8ca8910100000000000000b5981e10341b07493c5100e373e68c259d375199e1f8487fc9c6620caee9c7520100000000000000716a181407939b3ea68289e09265d3b9d8a8f21ba7d9f50d8ef8a86fa3c0fd030100000000000000b1521b686507f39972179a0dc83ab481a9d1332f07fdfc951d68d66f4b05d3d801000000000000002fabc18ec0a7287d24feedae41b27b7338bd48ea39e51a23655a90048c61dcb201000000000000008e3d1c8c0261e193e87403c8959919ef035ba39175d3ba22f31190303601412e0100000000000000e2cbfcc26562b49e656aed7d837a26fe0f9802db088b10330227b6147e150012010000000000000094416582fe359e0a310da59bf93df8ff9665b89071d4977a9a9f3390b75c0c4501000000000000003c718ab91d9b10efbe954734920955972fcb714627739f8cd97280ea67aa5a020100000000000000ac5230e4338aa51c44ab6a0fb903e6fd914fd029dab8f7ca447be54ceba749340100000000000000c65aca4d1322201d981c77253bf88b04fdd3a94c326e17a54745e52f76c5b55e01000000000000008ca3c996448b7ac4e40eace3ba1ec807dacfd1eb5c02cf145d089171bbd0b8020100000000000000b229746f090b7ecf681f4606c63e4f0bbb2b22b971ef320d73b1ec4a295a07ae0100000000000000546e44e42280120f4062a17d14ff7ab73aa3c77bc8979c5fe3c5d4b9381885bc01000000000000004e1036b96948d9ea3b9677c08f64685605eca164485f49ba9f00ef7c0dec756301000000000000009b447e45ab2d6955d34870b22305e4d138807e7a7a442505180cacf92028c4ef01000000000000007081ac1696fc42897f8c8e236e3b04c84f3ee376baf8673ecd8a41cdb564bbe201000000000000006a5410b070b6abc90eab20d2de83b712d3b414da59628b34315af7e55473a1760100000000000000fdb6ae85ec3ae50541230a9294ca4efcbbb3ae21063cc161cc6ab05a03f273da010000000000000079c752b9998106d82ebed6e43c603e7637102765fe206cf549a4a5a91f68df2b01000000000000003a4bfd825ccd308def4a61bac80c579db42b02ea5f1a0768656a326e83a0dd880100000000000000ac2fbfa72c143162a81c57a10fbb8a14e5f65fa1b893eec3f93beff03d298b5a0100000000000000d3af3729ad980ecd415c8be4e4dac817a264f0e341346730a736c5bd777a5e8e0100000000000000aad8568b2d4a879ebb4ecae8cf51e728669fb708f990bdcad6e236c4fc6c88c801000000000000007fab4769c41af85b9de8e784d3b1cda093fc0a8dffcdff21e914c62f131c77580100000000000000219e86fb0d16278c7a21bc37e0e6c6b8ea371a9ce0f8d497dd74aa699f464c6001000000000000003c1c0ce87411e078a5203d8c5c923fc2c50f90c49dc9046987455158308ff91c0100000000000000d2f1b3b5f7eb1b0d8328911d9ec920327d7a30729e80c1238f86dfe27c4fa3470100000000000000bb4047e2f0f2f91fab1130a9425f49b91377fb6e67eed4f47defabcb7a4c3f790100000000000000adfa74f75badcbafc1ac4efbd16d32f2a54e996b2b472bd2084a887c23badf360100000000000000c5541dd9423ab57ac8dd72e5305787d0cf05dae4f65086bf3cce800ef1d334fe0100000000000000841584e602ab975c936fe7c2025fcea2b5a0061e839b1ad96528942b33d0974b0100000000000000f6b5d6e3e7f1294471ea62b5bcd5ffbe01e2928561f8df057cf58c90dc01b3be0100000000000000d156efd80e52b00a319c582d934a833ee3340fb216da48a614edce8bcc18010e0100000000000000e4bfe8ca143a424552b98bd3d02f11869e68404c5ef470dd7b739ca68d645527010000000000000079d830d9b0d1aa1f3f36ae405501212e445d0da81b3ce596afec5f80eb20ef4a010000000000000078db61210961a080e16ce11051a487b335230283b09297de02847c8712d502ef010000000000000013c77bfc822b36488bd92792c32d2ffdd0a798e6e37b070a4b0199a19b88416f0100000000000000776ca567329470ab76e77e92c932b832b453cb71ffd68ea86ef82817ddf7366b010000000000000009d407cab3d74ff6bd711d5ee2e63cc5ed84a9497b400fcf94ad4ddfb63b77a9010000000000000018e341b52ad3335e9a40cd1c93e7ff3c711b7858cb55cba94cb35c36e9ecaee90100000000000000232b04be856e808b2616319b11eec858097a8afee5c18f0af0e1c33f1c6973ad01000000000000001c7f2d9bd18be698e965e046d582013b73031a21e8b7d188391c05cf2707ec6f0100000000000000daffd43670286cbddbf38953e6e33ba093f8c719e9fbf0a4aa76ff3ee97df30701000000000000008c08ec331a570a22cee5858b0efae92c77d47f9c414f9c916d8e241ebf2feacf010000000000000007677ffe4cb9a33b10cd37694f0f6c86434c2e3793f1429cb197a94d75e1110501000000000000002dab96f72ae82997620d72257fe40c58fca66d4bfb415d6b173a36fcec9dfb6a010000000000000036b53f3f35d5301a23b52d5091a4b7fc866de1566d179858ba00f57e1783e74101000000000000003e8b4d65acf5a80cf03df3c089985dd8b95213ab54e7a6b1bedd92eb2a32a71c01000000000000003cf63ce5caf114ee092493518534fc7869629d5bfacd32290ae07b469b92da450100000000000000e5e287741ebd1e3e21535c11796b333109b28e754f33794ac2baad510cbd20130100000000000000b48574503e3b787008ed9b1fc9eb4b0275fadecfdb352f166973da58d1a43b650100000000000000eb5437d31e8aa20ba124005a12c042d49b67ebd62e1aa72aa92584675d134bbd0100000000000000b07738d501326a26acec24adfc2284f2f617e4042c738f7c0f15dc1c900665280100000000000000a85caac9e057114414dd9d3f159f4ee6b876020a50f81e85299bc97fb216aa3801000000000000008c680b57fa2e52590f77693b0b653d3767753d19fdaff957a2bac3274d54a98b01000000000000002929dacc53614cea1848e7ba20fdeed7cb0bd81571aa72dfb63dfc84d3965d2b0100000000000000570ff2be40f21e7f778f5996904df693fbadff6bcb91ce50f4ce673711c6521201000000000000007721a15e548a6313461c4fed9f39112ad43b09e9873279f8cd28702ead9a876201000000000000005e6c7ca9b9b34546de2d7913bc62e301bd7f457761e5a6b64e90e1470763b6d601000000000000007e99ba1ceb811d46326ad3782e88056be27a453c1dc3c4e8b7ef6494c327a9b60100000000000000e4c473b0f002fb85e5f5123b448c8402b44d7f1dd380e991fd895f9bcbe4cc87010000000000000056b2cda89223ce64d8abd543ad66552bb84be82fb45e0ad6333e714eb20e55180100000000000000d50a0000000000000001ce71980100552b00000000000000002904050001000000000000002a0d050002000000000000002f16050003000000000000008e1f05000400000000000000ee28050005000000000000004d32050006000000000000009d3b05000700000000000000fd44050008000000000000005c4e05000900000000000000b75705000a00000000000000176105000b00000000000000766a05000c00000000000000d67305000d00000000000000357d05000e00000000000000958605000f00000000000000f58f0500100000000000000055990500110000000000000095a205001200000000000000d8ab050013000000000000000db50500140000000000000024da05001500000000000000aaec05001600000000000000f4f5050017000000000000003bff050018000000000000008b0806001900000000000000992406001a00000000000000f92d06001b000000000000000d4a06001c00000000000000685306001d00000000000000b65c06001e00000000000000f76506001f00000000000000308b060020000000000000007b940600210000000000000025a70600220000000000000033c3060023000000000000007fcc06002400000000000000c3d50600250000000000000011df060026000000000000005ae806002700000000000000a0f106002800000000000000410407002900000000000000880d07002a000000000000001b3c07002b00000000000000764507002c00000000000000357407002d00000000000000239907002e000000000000006fa207002f00000000000000c3ab070030000000000000006abe07003100000000000000bdc7070032000000000000000fd107003300000000000000b2e3070034000000000000000aed07003500000000000000971b080036000000000000009d24080037000000000000009c4008003800000000000000255308003900000000000000735c08003a000000000000000c6f08003b00000000000000048b08003c00000000000000589408003d00000000000000d3c208003e00000000000000e4de08003f000000000000003fe808004000000000000000f7fa08004100000000000000aa0d09004200000000000000153309004300000000000000fc6a090044000000000000003e74090045000000000000009a7d0900460000000000000000a30900470000000000000014db0900480000000000000020130a004900000000000000791c0a004a00000000000000364b0a004b0000000000000043830a004c00000000000000e5950a004d0000000000000045bb0a004e0000000000000059f30a004f000000000000000e060b005000000000000000812b0b005100000000000000dc340b005200000000000000ef500b005300000000000000a3630b005400000000000000b69b0b005500000000000000c7d30b005600000000000000dd0b0c005700000000000000f3430c005800000000000000087c0c00590000000000000052b30c005a0000000000000060eb0c005b00000000000000baf40c005c0000000000000072230d005d00000000000000805b0d005e000000000000007e930d005f000000000000007ccb0d00600000000000000076030e006100000000000000793b0e00620000000000000088730e00630000000000000092ab0e00640000000000000083e30e006500000000000000731b0f00660000000000000079530f006700000000000000748b0f0068000000000000001fc30f006900000000000000d0fa0f006a00000000000000633210006b00000000000000826a10006c0000000000000028a210006d0000000000000005b310006e0000000000000055d810006f000000000000004810110070000000000000006548110071000000000000008e8011007200000000000000bfb811007300000000000000bbf011007400000000000000e828120075000000000000001561120076000000000000003b991200770000000000000058d112007800000000000000770913007900000000000000944113007a00000000000000c07913007b00000000000000e7b113007c000000000000000cea13007d0000000000000067f313007e00000000000000d31814007f000000000000002e22140080000000000000008c2b14008100000000000000545a14008200000000000000ad63140083000000000000000e89140084000000000000006892140085000000000000008dca14008600000000000000b00215008700000000000000d03a15008800000000000000f3721500890000000000000015ab15008a000000000000003be315008b000000000000005d1b16008c00000000000000855316008d00000000000000b18b16008e00000000000000d3c316008f00000000000000e9fb16009000000000000000073417009100000000000000bf4617009200000000000000286c1700930000000000000029a41700940000000000000041dc17009500000000000000591418009600000000000000bf3918009700000000000000704c18009800000000000000948418009900000000000000f28d18009a00000000000000bcbc18009b00000000000000e4f418009c000000000000000b2d19009d000000000000002c6519009e00000000000000896e19009f00000000000000519d1900a00000000000000075d51900a100000000000000920d1a00a200000000000000ec161a00a300000000000000b6451a00a400000000000000887d1a00a50000000000000077b51a00a600000000000000cdbe1a00a70000000000000070ed1a00a80000000000000083091b00a9000000000000004e251b00aa00000000000000fe371b00ab00000000000000065d1b00ac000000000000005f661b00ad00000000000000bd6f1b00ae00000000000000de941b00af00000000000000fecc1b00b0000000000000001f041c00b1000000000000000c321c00b2000000000000002f3b1c00b3000000000000002e721c00b4000000000000000ca01c00b50000000000000044a91c00b60000000000000022e11c00b70000000000000044191d00b8000000000000000c481d00b9000000000000006b511d00ba000000000000008b891d00bb00000000000000a5c11d00bc0000000000000053f91d00bd00000000000000ff301e00be00000000000000054d1e00bf0000000000000002691e00c000000000000000d1a01e00c100000000000000c5d81e00c200000000000000cf101f00c30000000000000083481f00c400000000000000af801f00c500000000000000d0b81f00c600000000000000f0f01f00c7000000000000001b292000c80000000000000039612000c90000000000000054992000ca000000000000004fd12000cb000000000000004c092100cc00000000000000031c2100cd000000000000006d412100ce00000000000000cc4a2100cf0000000000000098792100d000000000000000c4b12100d100000000000000eee92100d20000000000000011222200d300000000000000325a2200d40000000000000055922200d50000000000000075ca2200d6000000000000008f022300d700000000000000b13a2300d800000000000000cd722300d90000000000000078852300da00000000000000ce8e2300db00000000000000bdaa2300dc00000000000000abe22300dd0000000000000012112400de00000000000000501a2400df0000000000000045512400e000000000000000a1882400e1000000000000005fc02400e20000000000000013f82400e30000000000000007302500e40000000000000013682500e500000000000000c37a2500e600000000000000a8962500e700000000000000fb9f2500e80000000000000000d82500e90000000000000019102600ea000000000000002b482600eb0000000000000028802600ec000000000000002eb82600ed0000000000000044d42600ee0000000000000058f02600ef00000000000000b3f92600f00000000000000065282700f10000000000000057602700f20000000000000064982700f3000000000000008dd02700f400000000000000a7ec2700f500000000000000b9082800f600000000000000e0402800f700000000000000f6782800f80000000000000019b12800f90000000000000040e92800fa000000000000006c212900fb00000000000000a0592900fc00000000000000107f2900fd00000000000000bc912900fe00000000000000eac92900ff00000000000000fd012a000001000000000000ff1d2a0001010000000000000c3a2a0002010000000000002b722a00030100000000000005aa2a000401000000000000fce12a0005010000000000004ceb2a000601000000000000e0fd2a000701000000000000c3192b000801000000000000be512b0009010000000000000a772b000a01000000000000ae892b000b01000000000000b0a52b000c01000000000000abc12b000d010000000000009bf92b000e0100000000000093312c000f0100000000000087692c00100100000000000075a12c00110100000000000074d92c00120100000000000089112d00130100000000000099492d001401000000000000b0812d001501000000000000c3b92d001601000000000000d1f12d001701000000000000d6292e001801000000000000e9612e001901000000000000ea992e001a01000000000000efd12e001b01000000000000f8092f001c01000000000000f0412f001d01000000000000e9792f001e0100000000000036832f001f01000000000000b2b12f002001000000000000a9cd2f00210100000000000094e92f0022010000000000007121300023010000000000003b5930002401000000000000089130002501000000000000599a30002601000000000000f6c830002701000000000000e30031002801000000000000c03831002901000000000000a17031002a01000000000000f27931002b010000000000007fa831002c010000000000005de031002d01000000000000aae931002e01000000000000441832002f01000000000000295032003001000000000000fe8732003101000000000000aa9a3200320100000000000010c0320033010000000000003af8320034010000000000005f303300350100000000000059683300360100000000000078a0330037010000000000009bd833003801000000000000cb1034003901000000000000f44834003a010000000000001c8134003b0100000000000044b934003c0100000000000055f134003d010000000000009dfa34003e01000000000000302935003f01000000000000c6573500400100000000000023613500410100000000000053993500420100000000000080d135004301000000000000560036004401000000000000b10936004501000000000000ce4136004601000000000000037a3600470100000000000031b2360048010000000000005fea360049010000000000007b2237004a01000000000000995a37004b01000000000000f56337004c01000000000000c69237004d01000000000000feca37004e01000000000000340338004f01000000000000683b380050010000000000009e7338005101000000000000c9ab38005201000000000000dcc7380053010000000000003cd138005401000000000000f8e338005501000000000000b0f6380056010000000000001c1c390057010000000000007a2539005801000000000000da2e39005901000000000000525439005a01000000000000878c39005b01000000000000bbc439005c01000000000000f3fc39005d0100000000000028353a005e010000000000005f6d3a005f0100000000000098a53a006001000000000000cedd3a0061010000000000000c163b006201000000000000404e3b00630100000000000019853b006401000000000000608e3b006501000000000000b8973b0066010000000000000fa13b006701000000000000a7b33b006801000000000000fabc3b00690100000000000049c63b006a010000000000009ccf3b006b01000000000000eed83b006c01000000000000c1f43b006d0100000000000014fe3b006e0100000000000066073c006f01000000000000b7103c0070010000000000009e2c3c007101000000000000ee353c00720100000000000094483c007301000000000000e0513c0074010000000000007c643c0075010000000000001d773c0076010000000000004b9c3c00770100000000000010d43c007801000000000000d80b3d0079010000000000001a153d007a0100000000000053433d007b01000000000000ea553d007c01000000000000225f3d007d0100000000000072683d007e01000000000000b4713d007f01000000000000fb7a3d0080010000000000007a8d3d008101000000000000b8963d00820100000000000006a03d00830100000000000088b23d008401000000000000c8bb3d0085010000000000000bc53d0086010000000000001dea3d008701000000000000e9053e008801000000000000b5213e0089010000000000003b343e008a01000000000000843d3e008b010000000000005e593e008c010000000000001f913e008d0100000000000065c83e008e010000000000006bed3e008f01000000000000a9f63e009001000000000000f6ff3e009101000000000000c1373f0092010000000000005c4a3f0093010000000000003b663f009401000000000000856f3f009501000000000000cf783f0096010000000000003ea73f009701000000000000ccde3f0098010000000000008516400099010000000000001e2940009a010000000000006e4e40009b01000000000000c35740009c010000000000009b8640009d01000000000000cebe40009e0100000000000001f740009f01000000000000372f4100a00100000000000097384100a10100000000000070674100a201000000000000a99f4100a30100000000000065b24100a401000000000000ddd74100a50100000000000096ea4100a6010000000000000b104200a70100000000000044484200a8010000000000009c514200a9010000000000003b804200aa0100000000000051b84200ab010000000000006fd44200ac010000000000005ef04200ad01000000000000b9f94200ae010000000000006a284300af0100000000000078604300b00100000000000077984300b101000000000000abd04300b20100000000000064e34300b30100000000000072ff4300b401000000000000d2084400b50100000000000008414400b6010000000000002e794400b7010000000000005eb14400b8010000000000007de94400b9010000000000009e214500ba010000000000005d344500bb01000000000000d0594500bc0100000000000006924500bd010000000000001aca4500be010000000000004a024600bf01000000000000603a4600c00100000000000084724600c101000000000000abaa4600c20100000000000047bd4600c3010000000000009ec64600c401000000000000a0e24600c5010000000000005df54600c601000000000000bf1a4700c701000000000000d1524700c8010000000000007f814700c901000000000000dd8a4700ca0100000000000039944700cb01000000000000f2c24700cc0100000000000010fb4700cd01000000000000d5294800ce010000000000002c334800cf01000000000000f9614800d001000000000000596b4800d10100000000000078874800d2010000000000008da34800d301000000000000aadb4800d401000000000000c6134900d501000000000000eb4b4900d601000000000000e7834900d701000000000000f9bb4900d801000000000000b6ce4900d9010000000000001bf44900da010000000000004a2c4a00db0100000000000066644a00dc010000000000002f7d4a00dd0100000000000019994a00de01000000000000c0ab4a00df01000000000000aec74a00e001000000000000fed04a00e101000000000000bbff4a00e20100000000000019094b00e301000000000000902e4b00e40100000000000041414b00e50100000000000010704b00e6010000000000006e794b00e7010000000000002b8c4b00e80100000000000094b14b00e901000000000000a4e94b00ea01000000000000d4214c00eb01000000000000d7594c00ec01000000000000e8914c00ed0100000000000004ae4c00ee01000000000000ebc94c00ef0100000000000014024d00f001000000000000fe394d00f1010000000000000a724d00f201000000000000667b4d00f30100000000000013aa4d00f40100000000000031c64d00f50100000000000037e24d00f6010000000000004afe4d00f7010000000000002c1a4e00f801000000000000ea2c4e00f90100000000000049364e00fa010000000000004e524e00fb01000000000000628a4e00fc0100000000000079a64e00fd010000000000001ab94e00fe0100000000000079c24e00ff0100000000000094de4e000002000000000000aafa4e00010200000000000059324f00020200000000000004654f000302000000000000ff764f0004020000000000000d804f0005020000000000007e924f000602000000000000c29b4f000702000000000000f4d34f000802000000000000160c50000902000000000000504450000a02000000000000877c50000b02000000000000b6b450000c02000000000000e7ec50000d0200000000000046f650000e02000000000000b61b51000f020000000000001625510010020000000000004f5d510011020000000000000f7051001202000000000000889551001302000000000000b5cd5100140200000000000014d751001502000000000000e605520016020000000000001f3e5200170200000000000053765200180200000000000089ae52001902000000000000e8b752001a02000000000000b7e652001b0200000000000074f952001c02000000000000e81e53001d020000000000001a5753001e02000000000000558f53001f020000000000008ac753002002000000000000b9ff53002102000000000000f13754002202000000000000277054002302000000000000418c54002402000000000000d1a354002502000000000000d9c8540026020000000000007edb54002702000000000000b81355002802000000000000e34b55002902000000000000c58355002a02000000000000d6bb55002b0200000000000007f455002c02000000000000c30656002d020000000000002c2c56002e020000000000005d6456002f020000000000008f9c56003002000000000000c9d456003102000000000000070d570032020000000000004345570033020000000000007a7d570034020000000000007d99570035020000000000009ab557003602000000000000b4ed57003702000000000000f225580038020000000000002f5e580039020000000000006b9658003a02000000000000a6ce58003b02000000000000e30659003c02000000000000183f59003d02000000000000517759003e02000000000000ad8059003f020000000000008baf59004002000000000000e9b859004102000000000000c5e75900420200000000000002205a0043020000000000003f585a0044020000000000007c905a004502000000000000bcc85a004602000000000000f1005b004702000000000000111d5b00480200000000000030395b0049020000000000006f715b004a02000000000000aca95b004b02000000000000e9e15b004c02000000000000251a5c004d0200000000000060525c004e020000000000009f8a5c004f02000000000000dbc25c00500200000000000019fb5c00510200000000000058335d005202000000000000956b5d005302000000000000c7a35d005402000000000000f7db5d00550200000000000031145e0056020000000000006f4c5e005702000000000000a7845e005802000000000000e0bc5e0059020000000000003fc65e005a020000000000001cf55e005b02000000000000582d5f005c0200000000000093655f005d02000000000000cf9d5f005e0200000000000005d65f005f02000000000000440e600060020000000000008346600061020000000000006a7e6000620200000000000056b46000630200000000000000ec60006402000000000000a72361006502000000000000e25b61006602000000000000f293610067020000000000001bcc61006802000000000000dade61006902000000000000590462006a02000000000000963c62006b02000000000000cc7462006c020000000000008c8762006d02000000000000ffac62006e020000000000003ae562006f02000000000000731d63007002000000000000b05563007102000000000000e98d630072020000000000001dc6630073020000000000005dfe63007402000000000000993664007502000000000000d86e6400760200000000000017a76400770200000000000051df640078020000000000008a1765007902000000000000c34f65007a02000000000000018865007b020000000000003ec065007c020000000000007af865007d02000000000000b63066007e02000000000000f06866007f0200000000000004a16600800200000000000041d966008102000000000000711167008202000000000000ac4967008302000000000000de8167008402000000000000f8b967008502000000000000b8cc6700860200000000000035f2670087020000000000006e2a680088020000000000001c3d680089020000000000007f6268008a02000000000000ba9a68008b02000000000000f3d268008c02000000000000310b69008d02000000000000704369008e02000000000000ae7b69008f02000000000000eeb3690090020000000000002bec6900910200000000000065246a009202000000000000a45c6a009302000000000000e0946a0094020000000000001dcd6a009502000000000000dbdf6a00960200000000000059056b00970200000000000018186b009802000000000000923d6b009902000000000000b0756b009a02000000000000e6ad6b009b0200000000000021e66b009c020000000000005e1e6c009d0200000000000096566c009e02000000000000d28e6c009f020000000000000ac76c00a00200000000000047ff6c00a10200000000000077376d00a202000000000000876f6d00a3020000000000000fa76d00a40200000000000059dc6d00a50200000000000022146e00a602000000000000464c6e00a70200000000000071846e00a802000000000000eea96e00a902000000000000aabc6e00aa0200000000000085eb6e00ab02000000000000e4f46e00ac020000000000001c2d6f00ad02000000000000da3f6f00ae0200000000000053656f00af020000000000008c9d6f00b002000000000000c4d56f00b102000000000000d90d7000b202000000000000d7457000b302000000000000f67d7000b402000000000000deb57000b502000000000000b2ed7000b602000000000000a9257100b702000000000000975d7100b802000000000000338c7100b9020000000000007e957100ba0200000000000068b17100bb0200000000000050cd7100bc020000000000001c057200bd02000000000000610e7200be02000000000000c13c7200bf020000000000006b747200c0020000000000005aac7200c10200000000000032e47200c202000000000000dcf67200c302000000000000321c7300c4020000000000002b547300c5020000000000007d8b7300c60200000000000020c37300c702000000000000cefa7300c8020000000000003c327400c9020000000000009b697400ca02000000000000eda07400cb0200000000000056d87400cc0200000000000090107500cd02000000000000ad2c7500ce020000000000000b367500cf02000000000000c7487500d002000000000000fe807500d10200000000000039b97500d20200000000000073f17500d30200000000000030047600d4020000000000004b207600d502000000000000a9297600d60200000000000006337600d702000000000000d3617600d80200000000000090747600d902000000000000089a7600da020000000000002fd27600db020000000000001a0a7700dc0200000000000022427700dd02000000000000007a7700de02000000000000d2b17700df02000000000000f8e97700e0020000000000002b227800e102000000000000635a7800e202000000000000a0927800e302000000000000daca7800e40200000000000011037900e502000000000000483b7900e60200000000000085737900e702000000000000b1ab7900e802000000000000dae37900e902000000000000121c7a00ea0200000000000049547a00eb02000000000000878c7a00ec02000000000000bfc47a00ed02000000000000edfc7a00ee0200000000000026357b00ef02000000000000606d7b00f0020000000000009da57b00f102000000000000cddd7b00f20200000000000006167c00f3020000000000003f4e7c00f402000000000000fb607c00f50200000000000077867c00f602000000000000b4be7c00f70200000000000014c87c00f802000000000000e0f67c00f9020000000000001b2f7d00fa0200000000000058677d00fb02000000000000959f7d00fc02000000000000d2d77d00fd02000000000000ec0f7e00fe0200000000000025487e00ff020000000000005f807e0000030000000000009ab87e000103000000000000d3f07e000203000000000000ee0c7f0003030000000000000a297f000403000000000000c53b7f00050300000000000043617f0006030000000000007b997f000703000000000000b9d17f000803000000000000f20980000903000000000000284280000a030000000000005e7a80000b0300000000000099b280000c03000000000000d2ea80000d03000000000000082381000e030000000000003e5b81000f030000000000007b9381001003000000000000b8cb81001103000000000000f30382001203000000000000313c82001303000000000000697482001403000000000000a6ac82001503000000000000c4c882001603000000000000e0e482001703000000000000ff00830018030000000000001e1d83001903000000000000dd2f83001a030000000000005b5583001b03000000000000988d83001c03000000000000d5c583001d0300000000000010fe83001e030000000000004e3684001f03000000000000826e84002003000000000000bba684002103000000000000f5de840022030000000000006f0485002303000000000000cc0d850024030000000000002c1785002503000000000000ea2985002603000000000000634f850027030000000000007e6b850028030000000000009a878500290300000000000017ad85002a03000000000000d2bf85002b0300000000000031c985002c030000000000000ef885002d030000000000004a3086002e03000000000000866886002f03000000000000bea086003003000000000000f2d8860031030000000000002a1187003203000000000000871a870033030000000000006449870034030000000000001d5c87003503000000000000998187003603000000000000cfb987003703000000000000eed5870038030000000000000cf2870039030000000000004a2a88003a03000000000000a83388003b03000000000000826288003c03000000000000b69a88003d03000000000000efd288003e030000000000002d0b89003f030000000000004d27890040030000000000006c4389004103000000000000ab7b89004203000000000000eab38900430300000000000028ec8900440300000000000068248a004503000000000000a05c8a004603000000000000b4948a004703000000000000f4cc8a00480300000000000030058b0049030000000000006f3d8b004a030000000000008e598b004b03000000000000ae758b004c03000000000000ecad8b004d0300000000000028e68b004e03000000000000331e8c004f030000000000004f568c0050030000000000008e8e8c005103000000000000c7c68c00520300000000000005ff8c00530300000000000041378d005403000000000000746f8d005503000000000000a4a78d00560300000000000064ba8d005703000000000000e4df8d0058030000000000000a188e00590300000000000023508e005a0300000000000027888e005b03000000000000d89a8e005c0300000000000043c08e005d0300000000000082f88e005e03000000000000c0308f005f03000000000000ff688f0060030000000000001ba18f00610300000000000059d98f006203000000000000981190006303000000000000d64990006403000000000000f56590006503000000000000158290006603000000000000758b9000670300000000000053ba9000680300000000000092f290006903000000000000d22a91006a03000000000000106391006b03000000000000489b91006c03000000000000a2a491006d030000000000001bd391006e03000000000000530992006f03000000000000d32e9200700300000000000090419200710300000000000074799200720300000000000094b19200730300000000000072e092007403000000000000d2e992007503000000000000b21893007603000000000000122293007703000000000000445a93007803000000000000739293007903000000000000f3b793007a03000000000000abca93007b030000000000005ddd93007c03000000000000c40294007d03000000000000e13a94007e03000000000000217394007f0300000000000059ab9400800300000000000090e394008103000000000000c31b95008203000000000000ea53950083030000000000009866950084030000000000000b8c9500850300000000000046c49500860300000000000057fc950087030000000000008f3496008803000000000000cf6c960089030000000000000ba596008a0300000000000045dd96008b03000000000000a3e696008c03000000000000801597008d03000000000000bc4d97008e03000000000000f78597008f030000000000002ebe9700900300000000000030f6970091030000000000005a2e98009203000000000000956698009303000000000000d49e9800940300000000000014d7980095030000000000003b0f990096030000000000006c4799009703000000000000ac7f9900980300000000000078b79900990300000000000026ca99009a030000000000007cef99009b0300000000000085279a009c03000000000000be5f9a009d03000000000000fd979a009e03000000000000b9aa9a009f0300000000000022d09a00a0030000000000003dec9a00a10300000000000058089b00a20300000000000074249b00a3030000000000008b409b00a403000000000000e4499b00a50300000000000038789b00a60300000000000076819b00a703000000000000e4af9b00a803000000000000b7e79b00a903000000000000731f9c00aa03000000000000a6289c00ab030000000000002f3b9c00ac0300000000000012579c00ad030000000000005d609c00ae03000000000000cb8e9c00af0300000000000057a19c00b00300000000000086c69c00b1030000000000005afe9c00b20300000000000002369d00b303000000000000bc6d9d00b40300000000000099a59d00b5030000000000004edd9d00b603000000000000db149e00b703000000000000e0399e00b803000000000000724c9e00b9030000000000002a849e00ba03000000000000ee9f9e00bb03000000000000d1bb9e00bc030000000000007df39e00bd03000000000000f02a9f00be030000000000006a629f00bf03000000000000ff999f00c0030000000000002ed19f00c1030000000000004608a000c203000000000000893fa000c303000000000000a476a000c403000000000000dfada000c5030000000000001cb7a000c6030000000000003ce5a000c703000000000000921ca100c8030000000000008c53a100c903000000000000988aa100ca0300000000000010a6a100cb03000000000000a0c1a100cc03000000000000e5d3a100cd0300000000000072f8a100ce030000000000007c2fa200cf030000000000003766a200d003000000000000389da200d10300000000000056a6a200d203000000000000a9b8a200d303000000000000cac1a200d4030000000000001ad4a200d503000000000000200ba300d6030000000000002714a300d703000000000000bc41a300d8030000000000006778a300d9030000000000000aafa300da0300000000000046dca300db0300000000000065e5a300dc03000000000000a81ba400dd03000000000000d72da400de030000000000002352a400df030000000000006288a400e003000000000000c1bea400e103000000000000f8f4a400e203000000000000212ba500e3030000000000003f61a500e403000000000000656aa500e503000000000000e497a500e60300000000000040cea500e703000000000000b204a600e803000000000000fc3aa600e9030000000000009471a600ea0300000000000037a8a600eb030000000000001adfa600ec03000000000000ea0ca700ed030000000000000e16a700ee030000000000005228a700ef030000000000007d31a700f003000000000000034da700f1030000000000002084a700f2030000000000004a8da700f303000000000000a99fa700f403000000000000f6baa700f503000000000000c1f1a700f603000000000000be28a800f703000000000000a65fa800f8030000000000003e7ba800f903000000000000c296a800fa03000000000000c3cda800fb03000000000000d504a900fc03000000000000f83ba900fd030000000000005f73a900fe03000000000000ceaaa900ff030000000000000bb4a900000400000000000005e2a90001040000000000005e19aa000204000000000000c12baa0003040000000000008e50aa000404000000000000fd62aa0005040000000000008175aa000604000000000000fa87aa0007040000000000002f91aa0008040000000000005dbfaa000904000000000000a3c8aa000a04000000000000e5f6aa000b04000000000000e41bab000c040000000000005b2eab000d04000000000000e765ab000e040000000000004c9dab000f0400000000000085a6ab001004000000000000b8d4ab001104000000000000fdddab0012040000000000003b0cac001304000000000000d043ac001404000000000000827bac001504000000000000b8a0ac0016040000000000005bb3ac00170400000000000029ebac0018040000000000006af4ac0019040000000000000e07ad001a04000000000000f422ad001b04000000000000432cad001c040000000000009935ad001d04000000000000ee3ead001e04000000000000d55aad001f04000000000000bd76ad002004000000000000a592ad00210400000000000076caad002204000000000000f6dcad002304000000000000e001ae0024040000000000004f39ae0025040000000000001371ae0026040000000000005f7aae002704000000000000fc8cae002804000000000000cda8ae0029040000000000005ebbae002a0400000000000081e0ae002b040000000000004f18af002c040000000000001e50af002d04000000000000e687af002e04000000000000a0bfaf002f040000000000005ff7af003004000000000000042fb0003104000000000000da66b00032040000000000009a9eb000330400000000000063d6b0003404000000000000300eb1003504000000000000da45b10036040000000000009a7db100370400000000000050b5b100380400000000000029edb1003904000000000000971bb2003a04000000000000e024b2003b04000000000000995cb2003c040000000000006694b2003d0400000000000048b0b2003e040000000000002eccb2003f0400000000000075d5b200400400000000000008e8b2004104000000000000e703b3004204000000000000ce1fb3004304000000000000b63bb30044040000000000000d45b30045040000000000009f57b30046040000000000007573b3004704000000000000c67cb30048040000000000003aabb3004904000000000000e4e2b3004a04000000000000651ab4004b04000000000000f951b4004c040000000000009389b4004d0400000000000025c1b4004e04000000000000f6f8b4004f04000000000000241eb5005004000000000000b130b50051040000000000007068b500520400000000000040a0b5005304000000000000ecd7b50054040000000000000510b60055040000000000003e48b60056040000000000007a80b6005704000000000000b7b8b6005804000000000000f3f0b60059040000000000002f29b7005a04000000000000ae4eb7005b040000000000006861b7005c04000000000000a599b7005d04000000000000ded1b7005e040000000000005cf7b7005f04000000000000160ab80060040000000000005042b8006104000000000000964bb8006204000000000000687ab8006304000000000000a6b2b800640400000000000066c5b8006504000000000000e5eab80066040000000000000423b90067040000000000003f5bb90068040000000000005d77b90069040000000000007b93b9006a04000000000000b7cbb9006b04000000000000ef03ba006c04000000000000133cba006d040000000000003358ba006e040000000000005174ba006f0400000000000042acba0070040000000000006ce4ba007104000000000000a21cbb007204000000000000e054bb007304000000000000405ebb0074040000000000001b8dbb0075040000000000002ec5bb0076040000000000006dfdbb007704000000000000a435bc007804000000000000d06dbc0079040000000000000ca6bc007a040000000000004adebc007b040000000000008716bd007c04000000000000c34ebd007d04000000000000fc86bd007e040000000000003bbfbd007f040000000000007af7bd008004000000000000d500be008104000000000000b32fbe008204000000000000ea67be00830400000000000027a0be00840400000000000065d8be008504000000000000a410bf008604000000000000dd48bf0087040000000000003b52bf0088040000000000001881bf0089040000000000008fb8bf008a04000000000000cbc1bf008b04000000000000f8efbf008c040000000000007602c0008d040000000000008327c0008e04000000000000075fc0008f040000000000005d96c000900400000000000009cec00091040000000000003b06c10092040000000000002d3ec10093040000000000006476c10094040000000000007aaec1009504000000000000b9e6c1009604000000000000ef1ec20097040000000000002c57c2009804000000000000698fc20099040000000000008cc7c2009a040000000000009effc2009b04000000000000da37c3009c04000000000000ee6fc3009d0400000000000029a8c3009e0400000000000067e0c3009f04000000000000240fc400a0040000000000008218c400a104000000000000b150c400a204000000000000c088c400a304000000000000d2c0c400a404000000000000f6f8c400a5040000000000001231c500a604000000000000d143c500a7040000000000004d69c500a80400000000000089a1c500a904000000000000c4d9c500aa040000000000000112c600ab040000000000005c1bc600ac040000000000003a4ac600ad040000000000007482c600ae04000000000000abbac600af04000000000000e4f2c600b0040000000000001d2bc700b1040000000000002e47c700b2040000000000004863c700b304000000000000687fc700b404000000000000829bc700b5040000000000009bd3c700b604000000000000d80bc800b7040000000000001144c800b804000000000000704dc800b904000000000000d056c800ba040000000000004e7cc800bb0400000000000080b4c800bc04000000000000b1ecc800bd040000000000009808c900be040000000000008d24c900bf04000000000000c75cc900c004000000000000df94c900c104000000000000feb0c900c2040000000000001dcdc900c3040000000000004605ca00c4040000000000006e3dca00c5040000000000009e75ca00c604000000000000029bca00c704000000000000aeadca00c8040000000000008adcca00c904000000000000eae5ca00ca04000000000000251ecb00cb04000000000000fa55cb00cc04000000000000778ccb00cd04000000000000eec3cb00ce0400000000000005fccb00cf040000000000004134cc00d004000000000000716ccc00d10400000000000096a4cc00d204000000000000d3dccc00d30400000000000086efcc00d4040000000000000215cd00d504000000000000ac27cd00d604000000000000264dcd00d7040000000000008656cd00d8040000000000006385cd00d9040000000000003bb4cd00da0400000000000099bdcd00db04000000000000d8f5cd00dc04000000000000172ece00dd040000000000005366ce00de04000000000000909ece00df04000000000000b7d6ce00e00400000000000068e9ce00e104000000000000cc0ecf00e2040000000000000547cf00e304000000000000427fcf00e40400000000000079b7cf00e504000000000000b8efcf00e604000000000000f427d000e7040000000000000b60d000e8040000000000004698d000e90400000000000083d0d000ea04000000000000c008d100eb04000000000000fa40d100ec040000000000003679d100ed0400000000000073b1d100ee0400000000000087cdd100ef04000000000000a6e9d100f004000000000000e521d200f1040000000000001e5ad200f2040000000000005692d200f30400000000000092cad200f40400000000000052ddd200f504000000000000ce02d300f604000000000000e13ad300f7040000000000003444d300f804000000000000dc56d300f904000000000000ef72d300fa040000000000004d7cd300fb0400000000000024abd300fc04000000000000a1d0d300fd040000000000005be3d300fe04000000000000901bd400ff04000000000000ce53d40000050000000000000a8cd40001050000000000003ac4d40002050000000000004ae0d400030500000000000069fcd4000405000000000000a134d50005050000000000006047d5000605000000000000de6cd50007050000000000001ba5d500080500000000000058ddd50009050000000000009415d6000a05000000000000d24dd6000b05000000000000f085d6000c050000000000001ebed6000d05000000000000fbecd6000e050000000000005bf6d6000f050000000000008b2ed7001005000000000000c566d7001105000000000000029fd700120500000000000036d7d70013050000000000006f0fd80014050000000000009f47d8001505000000000000c97fd8001605000000000000e4b7d80017050000000000001ff0d80018050000000000005928d90019050000000000009560d9001a050000000000005473d9001b05000000000000718fd9001c05000000000000d198d9001d0500000000000031a2d9001e050000000000000fd1d9001f05000000000000cfe3d90020050000000000004f09da0021050000000000008941da002205000000000000b979da002305000000000000edb1da00240500000000000047bbda00250500000000000054d7da00260500000000000007eada00270500000000000067f3da0028050000000000003a22db0029050000000000005e5adb002a050000000000007892db002b05000000000000b0cadb002c05000000000000e702dc002d05000000000000183bdc002e050000000000007644dc002f050000000000002773dc003005000000000000dd85dc0031050000000000004dabdc00320500000000000086e3dc003305000000000000bb1bdd003405000000000000944add003505000000000000f453dd003605000000000000ad66dd003705000000000000298cdd00380500000000000060c4dd0039050000000000009cfcdd003a05000000000000fa05de003b05000000000000d734de003c05000000000000b56cde003d0500000000000045a4de003e05000000000000a1d2de003f05000000000000e4dbde0040050000000000002fe5de0041050000000000003c05df004205000000000000d81adf004305000000000000d636df0044050000000000002840df004505000000000000d252df004605000000000000cf6edf004705000000000000a9a6df004805000000000000eeafdf00490500000000000047b9df004a05000000000000b1dedf004b050000000000000de8df004c050000000000006e0de0004d05000000000000cb16e0004e05000000000000d84ee0004f050000000000007886e0005005000000000000b3bee0005105000000000000c3f6e0005205000000000000fe2ee10053050000000000002c67e1005405000000000000e679e1005505000000000000a68ce1005605000000000000629fe10057050000000000009bd7e10058050000000000005806e2005905000000000000b10fe2005a05000000000000e647e2005b050000000000001880e2005c050000000000007689e2005d050000000000004cb8e2005e050000000000007ef0e2005f05000000000000b228e3006005000000000000e760e30061050000000000002499e300620500000000000060d1e30063050000000000009c09e4006405000000000000d441e4006505000000000000334be40066050000000000000a7ae4006705000000000000e0a8e400680500000000000040b2e40069050000000000006feae4006a05000000000000a022e5006b05000000000000de5ae5006c050000000000001a93e5006d0500000000000055cbe5006e050000000000000bdee5006f050000000000008203e6007005000000000000db0ce6007105000000000000b53be6007205000000000000f073e60073050000000000004e7de60074050000000000002cace60075050000000000008cb5e60076050000000000006be4e6007705000000000000a51ce7007805000000000000dc54e7007905000000000000168de7007a050000000000004ac5e7007b0500000000000057fde7007c050000000000009335e8007d05000000000000d06de8007e050000000000002e77e8007f0500000000000004a6e80080050000000000003fdee80081050000000000007b16e9008205000000000000b74ee9008305000000000000e886e900840500000000000015bfe900850500000000000046f7e9008605000000000000602fea0087050000000000000442ea0088050000000000005a4bea0089050000000000006a67ea008a05000000000000889fea008b05000000000000daa8ea008c0500000000000079d7ea008d050000000000009f0feb008e050000000000005c22eb008f050000000000001c35eb009005000000000000d847eb0091050000000000000e80eb0092050000000000003eb8eb00930500000000000076f0eb009405000000000000ad28ec009505000000000000e660ec0096050000000000002399ec00970500000000000060d1ec0098050000000000009e09ed0099050000000000005e1ced009a05000000000000da41ed009b050000000000009654ed009c050000000000005567ed009d05000000000000127aed009e050000000000004ab2ed009f0500000000000082eaed00a005000000000000e1f3ed00a105000000000000bd22ee00a205000000000000fa5aee00a3050000000000003493ee00a405000000000000929cee00a50500000000000070cbee00a605000000000000ac03ef00a705000000000000eb3bef00a805000000000000fb73ef00a905000000000000feabef00aa05000000000000bebeef00ab0500000000000038e4ef00ac050000000000004e1cf000ad050000000000008854f000ae05000000000000958cf000af05000000000000c5c4f000b005000000000000fffcf000b1050000000000002e35f100b205000000000000de47f100b305000000000000466df100b4050000000000005da5f100b50500000000000094ddf100b605000000000000c115f200b705000000000000fa4df200b8050000000000002d86f200b90500000000000067bef200ba05000000000000a0f6f200bb05000000000000b52ef300bc050000000000003254f300bd05000000000000ef66f300be05000000000000239ff300bf0500000000000032d7f300c005000000000000dde9f300c1050000000000001e0ff400c2050000000000004f47f400c3050000000000008d7ff400c4050000000000006bb7f400c5050000000000009beff400c605000000000000c927f500c705000000000000ff5ff500c8050000000000003198f500c90500000000000063d0f500ca050000000000008908f600cb05000000000000c240f600cc050000000000001d66f600cd05000000000000ca78f600ce05000000000000fbb0f600cf0500000000000031e9f600d0050000000000006021f700d1050000000000009e59f700d205000000000000d891f700d3050000000000000acaf700d4050000000000004402f800d5050000000000007b3af800d605000000000000fa5ff800d705000000000000b672f800d805000000000000ebaaf800d90500000000000048b4f800da0500000000000024e3f800db05000000000000601bf900dc050000000000009753f900dd05000000000000ac8bf900de05000000000000e3c3f900df050000000000001cfcf900e0050000000000005934fa00e105000000000000936cfa00e205000000000000a7a4fa00e305000000000000dfdcfa00e4050000000000001a15fb00e5050000000000004d4dfb00e605000000000000a656fb00e7050000000000007b85fb00e805000000000000a2bdfb00e905000000000000dff5fb00ea050000000000005f1bfc00eb050000000000001e2efc00ec050000000000005266fc00ed050000000000000c79fc00ee05000000000000cc8bfc00ef050000000000002995fc00f005000000000000899efc00f105000000000000c1d6fc00f2050000000000007ee9fc00f3050000000000003dfcfc00f405000000000000f00efd00f5050000000000004c18fd00f6050000000000001a47fd00f7050000000000004a7ffd00f80500000000000086b7fd00f905000000000000beeffd00fa050000000000001ef9fd00fb05000000000000ee27fe00fc050000000000000944fe00fd050000000000002560fe00fe05000000000000307cfe00ff050000000000002798fe000006000000000000e2aafe00010600000000000042b4fe0002060000000000005dd0fe0003060000000000009a08ff000406000000000000ca40ff000506000000000000244aff000606000000000000f278ff0007060000000000002db1ff00080600000000000063e9ff000906000000000000712100010a06000000000000313400010b060000000000004c5000010c06000000000000ac5900010d06000000000000b49100010e06000000000000e3c900010f06000000000000f60101011006000000000000103a010111060000000000003056010112060000000000004c720101130600000000000084aa01011406000000000000c2e201011506000000000000fe1a02011606000000000000235302011706000000000000618b020118060000000000009dc3020119060000000000005ad602011a06000000000000badf02011b06000000000000d7fb02011c06000000000000370503011d06000000000000f71703011e06000000000000133403011f06000000000000516c03012006000000000000107f030121060000000000008da403012206000000000000cadc03012306000000000000f81404012406000000000000324d0401250600000000000070850401260600000000000080bd040127060000000000008bf504012806000000000000842d05012906000000000000d73605012a060000000000008b6505012b06000000000000c19d05012c06000000000000f9d505012d060000000000002e0e06012e06000000000000664606012f060000000000009d7e06013006000000000000d7b60601310600000000000011ef06013206000000000000442707013306000000000000725f07013406000000000000af9707013506000000000000e7cf070136060000000000001f0808013706000000000000372408013806000000000000544008013906000000000000917808013a06000000000000c8b008013b0600000000000001e908013c060000000000000f2109013d06000000000000085909013e06000000000000a99009013f06000000000000b5c809014006000000000000c5000a014106000000000000d2380a01420600000000000006710a014306000000000000f5a80a0144060000000000002be10a01450600000000000012190b01460600000000000048510b01470600000000000086890b014806000000000000e5920b014906000000000000c4c10b014a0600000000000000fa0b014b060000000000001d320c014c060000000000000b6a0c014d06000000000000c5980c014e060000000000001aa20c014f06000000000000d7d00c0150060000000000002dda0c01510600000000000069120d015206000000000000a44a0d015306000000000000df820d0154060000000000001dbb0d01550600000000000055f30d015606000000000000852b0e01570600000000000083630e015806000000000000c39b0e0159060000000000001ba50e015a060000000000007bae0e015b06000000000000f7d30e015c06000000000000afe60e015d06000000000000290c0f015e0600000000000065440f015f06000000000000db690f016006000000000000977c0f016106000000000000d2b40f016206000000000000ecec0f016306000000000000062510016406000000000000ea5c10016506000000000000f49410016606000000000000ffcc100167060000000000005ed610016806000000000000d6fb10016906000000000000340511016a06000000000000613d11016b060000000000008b7511016c06000000000000919111016d06000000000000abad11016e06000000000000e0e511016f060000000000001d1e120170060000000000005556120171060000000000006c8e120172060000000000008aaa12017306000000000000a3c612017406000000000000bdfe12017506000000000000f83613017606000000000000126f130177060000000000006c9413017806000000000000c99d1301790600000000000029a713017a060000000000005bdf13017b06000000000000b8e813017c0600000000000016f213017d060000000000008d1714017e06000000000000ec2014017f06000000000000a43314018006000000000000bc4f14018106000000000000d58714018206000000000000919a1401830600000000000005c0140184060000000000005fc914018506000000000000f8f714018606000000000000a10a15018706000000000000fa1315018806000000000000561d15018906000000000000fa2f15018a06000000000000513915018b06000000000000aa4215018c06000000000000106815018d060000000000002f8415018e060000000000004ba015018f060000000000002cbc15019006000000000000ccce1501910600000000000019d81501920600000000000076e115019306000000000000331016019406000000000000664816019506000000000000998016019606000000000000d5b81601970600000000000093cb16019806000000000000f3d4160199060000000000000ff116019a06000000000000cd0317019b06000000000000492917019c06000000000000a33217019d06000000000000444517019e060000000000003a6117019f06000000000000117d1701a0060000000000001c991701a10600000000000059d11701a2060000000000008c091801a306000000000000c2411801a4060000000000001e4b1801a50600000000000037671801a606000000000000f2791801a7060000000000001fb21801a806000000000000dec41801a90600000000000056ea1801aa0600000000000005fd1801ab0600000000000079221901ac06000000000000b25a1901ad06000000000000e5921901ae06000000000000f9ca1901af060000000000005df01901b00600000000000017031a01b1060000000000003a3b1a01b206000000000000e64d1a01b30600000000000044731a01b406000000000000a37c1a01b50600000000000078ab1a01b6060000000000006ee31a01b706000000000000921b1b01b806000000000000be531b01b9060000000000001d5d1b01ba06000000000000ec8b1b01bb0600000000000009c41b01bc06000000000000e5fb1b01bd06000000000000f1331c01be06000000000000ef6b1c01bf06000000000000a39a1c01c006000000000000fba31c01c106000000000000f2db1c01c206000000000000f8131d01c306000000000000df4b1d01c40600000000000075831d01c506000000000000aaa81d01c6060000000000003bbb1d01c7060000000000002fd71d01c80600000000000017f31d01c90600000000000067fc1d01ca06000000000000ad211e01cb06000000000000fb2a1e01cc0600000000000052341e01cd06000000000000da621e01ce06000000000000c87e1e01cf06000000000000b09a1e01d00600000000000089d21e01d1060000000000000fe51e01d2060000000000005fee1e01d3060000000000003b0a1f01d406000000000000f8411f01d50600000000000098541f01d606000000000000ac5d1f01d70600000000000094791f01d8060000000000006eb11f01d90600000000000038e91f01da060000000000000b212001db06000000000000e6582001dc06000000000000c8902001dd0600000000000062a32001de060000000000007ac82001df060000000000001cdb2001e0060000000000005d002101e10600000000000021382101e206000000000000f76f2101e3060000000000003d792101e406000000000000cea72101e50600000000000095df2101e6060000000000006e172201e706000000000000334f2201e80600000000000085582201e90600000000000010872201ea06000000000000eea22201eb06000000000000cbbe2201ec06000000000000a9da2201ed060000000000009ef62201ee060000000000003d092301ef06000000000000782e2301f0060000000000000c412301f1060000000000005e4a2301f20600000000000045662301f3060000000000003b822301f406000000000000299e2301f506000000000000fed52301f606000000000000990d2401f7060000000000002c202401f806000000000000173c2401f90600000000000063452401fa06000000000000fd572401fb060000000000002a7d2401fc0600000000000000b52401fd06000000000000b8ec2401fe0600000000000037242501ff06000000000000155c25010007000000000000e69325010107000000000000a6cb25010207000000000000630326010307000000000000b30c260104070000000000000916260105070000000000005b1f26010607000000000000523b260107070000000000004857260108070000000000002d732601090700000000000018ab26010a07000000000000fdc626010b07000000000000ede226010c070000000000008d1127010d07000000000000e31a27010e07000000000000cc5227010f07000000000000ac8a270110070000000000004b9d2701110700000000000090c22701120700000000000087fa27011307000000000000583228011407000000000000fe6928011507000000000000557328011607000000000000f4a128011707000000000000ced9280118070000000000007d1129011907000000000000414929011a070000000000001a8129011b07000000000000deb829011c07000000000000bff029011d07000000000000a8282a011e070000000000008b602a011f07000000000000dc692a0120070000000000002d732a0121070000000000007a7c2a012207000000000000198f2a01230700000000000069982a01240700000000000003ab2a0125070000000000004ab42a0126070000000000009ebd2a01270700000000000041d02a012807000000000000e7e22a01290700000000000089f52a012a0700000000000023082b012b07000000000000cb1a2b012c0700000000000018242b012d070000000000006b2d2b012e07000000000000ba362b012f070000000000000e402b013007000000000000af522b013107000000000000035c2b0132070000000000004c652b0133070000000000009b6e2b013407000000000000e4772b013507000000000000abaf2b013607000000000000f8b82b01370700000000000052c22b013807000000000000f0d42b0139070000000000008de72b013a0700000000000081032c013b070000000000005e1f2c013c070000000000004a3b2c013d0700000000000037572c013e070000000000000a8f2c013f070000000000005e982c014007000000000000eeaa2c0141070000000000007fbd2c014207000000000000d2c62c014307000000000000b6fe2c0144070000000000008f362d014507000000000000426e2d014607000000000000d9a52d014707000000000000a0dd2d0148070000000000003df02d0149070000000000004f152e014a07000000000000971e2e014b07000000000000e2272e014c0700000000000035312e014d07000000000000cb432e014e07000000000000174d2e014f07000000000000a57b2e015007000000000000f8842e015107000000000000e0bc2e015207000000000000bdf42e0153070000000000009d2c2f015407000000000000e9352f015507000000000000353f2f015607000000000000cf512f0157070000000000006e642f0158070000000000001b772f015907000000000000659c2f015a070000000000005bd42f015b0700000000000001e72f015c07000000000000470c30015d07000000000000464430015e07000000000000904d30015f07000000000000e456300160070000000000003b6030016107000000000000327c30016207000000000000d68e300163070000000000002d983001640700000000000032b430016507000000000000faeb30016607000000000000f12331016707000000000000c65b310168070000000000001c6531016907000000000000bb9331016a0700000000000002b931016b07000000000000a4cb31016c07000000000000870332016d07000000000000721f32016e070000000000006b3b32016f07000000000000675732017007000000000000647332017107000000000000ab7c3201720700000000000042ab32017307000000000000eebd320174070000000000003be33201750700000000000088ec32017607000000000000281b330177070000000000003d5333017807000000000000df6533017907000000000000d28133017a07000000000000248b33017b0700000000000012c333017c07000000000000b4f133017d0700000000000007fb33017e07000000000000fb1634017f07000000000000e93234018007000000000000914534018107000000000000c26a34018207000000000000117434018307000000000000b98634018407000000000000ada23401850700000000000092da340186070000000000008d1235018707000000000000864a350188070000000000008b823501890700000000000028b135018a070000000000007dba35018b070000000000001dcd35018c0700000000000065f235018d07000000000000d60436018e07000000000000952036018f07000000000000d52936019007000000000000e46136019107000000000000d499360192070000000000007fac36019307000000000000d5d13601940700000000000079e436019507000000000000d7ed36019607000000000000e80937019707000000000000f74137019807000000000000386737019907000000000000e37937019a07000000000000e79537019b07000000000000ecb137019c07000000000000a1c437019d0700000000000001ea37019e07000000000000100638019f070000000000006a0f3801a00700000000000019223801a107000000000000752b3801a207000000000000f1503801a307000000000000515a3801a4070000000000008a923801a507000000000000e79b3801a607000000000000afca3801a70700000000000099023901a807000000000000f50b3901a907000000000000a81e3901aa07000000000000b23a3901ab07000000000000c4723901ac0700000000000068853901ad0700000000000050a13901ae070000000000009daa3901af070000000000004bbd3901b007000000000000f6cf3901b10700000000000049d93901b2070000000000009de23901b30700000000000040f53901b4070000000000009cfe3901b5070000000000009d1a3a01b607000000000000d5523a01b707000000000000e78a3a01b807000000000000f6c23a01b907000000000000d1fa3a01ba07000000000000dc323b01bb07000000000000da6a3b01bc0700000000000032743b01bd07000000000000e6863b01be07000000000000e4a23b01bf070000000000002cac3b01c00700000000000082b53b01c1070000000000000fc83b01c2070000000000009eda3b01c307000000000000f4e33b01c40700000000000043ed3b01c507000000000000e9ff3b01c6070000000000008e123c01c707000000000000814a3c01c807000000000000285d3c01c9070000000000007b823c01ca0700000000000070ba3c01cb0700000000000047f23c01cc07000000000000fb293d01cd0700000000000044333d01ce07000000000000af613d01cf07000000000000ff6a3d01d00700000000000052743d01d10700000000000093993d01d2070000000000002cac3d01d3070000000000001ac83d01d4070000000000006bd13d01d507000000000000b2f63d01d60700000000000054093e01d7070000000000003e413e01d80700000000000031793e01d9070000000000005c9e3e01da07000000000000eeb03e01db07000000000000c3cc3e01dc0700000000000008d63e01dd0700000000000048df3e01de070000000000008be83e01df07000000000000e0f13e01e00700000000000076043f01e1070000000000000a173f01e20700000000000054203f01e307000000000000a7293f01e4070000000000004c3c3f01e50700000000000043583f01e607000000000000f46a3f01e70700000000000058903f01e80700000000000064c83f01e9070000000000007c004001ea0700000000000082384001eb07000000000000df414001ec070000000000009a704001ed07000000000000ed794001ee0700000000000077a84001ef07000000000000ccb14001f00700000000000087e04001f10700000000000078184101f20700000000000078504101f307000000000000437f4101f40700000000000099884101f507000000000000ea914101f6070000000000003b9b4101f7070000000000009dc04101f80700000000000055f84101f9070000000000003d304201fa070000000000001b684201fb0700000000000013a04201fc070000000000000cd84201fd070000000000001f104301fe070000000000002c484301ff07000000000000e35a430100080000000000003c6443010108000000000000e97643010208000000000000408043010308000000000000ed9243010408000000000000ebae4301050800000000000043b843010608000000000000e2e64301070800000000000034f0430108080000000000001b2844010908000000000000216044010a08000000000000b87244010b080000000000000b7c44010c080000000000000b9844010d0800000000000010d044010e080000000000000f0845010f08000000000000014045011008000000000000f37745011108000000000000478145011208000000000000caaf45011308000000000000a1e7450114080000000000008f1f46011508000000000000845746011608000000000000d360460117080000000000007573460118080000000000005f8f4601190800000000000073c746011a0800000000000086ff46011b08000000000000963747011c08000000000000a16f47011d08000000000000f97847011e08000000000000a2a747011f0800000000000098df47012008000000000000e2e8470121080000000000000b1748012208000000000000472048012308000000000000882948012408000000000000ba32480125080000000000002745480126080000000000006b4e48012708000000000000af5748012808000000000000ec85480129080000000000003e8f48012a08000000000000eca148012b08000000000000f4bd48012c0800000000000000da48012d0800000000000005f648012e08000000000000f82d49012f08000000000000543749013008000000000000fb4949013108000000000000006649013208000000000000fa9d4901330800000000000005d649013408000000000000e70d4a013508000000000000c4454a013608000000000000ad7d4a013708000000000000f3864a01380800000000000042904a01390800000000000084b54a013a080000000000006eed4a013b08000000000000c4f64a013c0800000000000046254b013d08000000000000205d4b013e08000000000000e7944b013f08000000000000dfcc4b0140080000000000003ad64b014108000000000000f1044c014208000000000000863c4c01430800000000000074744c014408000000000000d17d4c0145080000000000007fac4c01460800000000000022bf4c01470800000000000078e44c01480800000000000028f74c0149080000000000008c1c4d014a0800000000000087544d014b08000000000000da5d4d014c080000000000008b704d014d08000000000000878c4d014e08000000000000309f4d014f0800000000000063c44d0150080000000000006ffc4d01510800000000000070344e015208000000000000476c4e01530800000000000097754e01540800000000000025a44e015508000000000000cfb64e0156080000000000001ddc4e01570800000000000070e54e0158080000000000001d144f015908000000000000284c4f015a0800000000000043844f015b080000000000005ebc4f015c080000000000006ff44f015d08000000000000a32c50015e08000000000000dc6450015f08000000000000f19c5001600800000000000005d550016108000000000000f70c51016208000000000000014551016308000000000000a35751016408000000000000d87c51016508000000000000a7b451016608000000000000c8ec51016708000000000000ef24520168080000000000003f4a52016908000000000000d15c52016a08000000000000c39452016b0800000000000029ba52016c08000000000000d7cc52016d0800000000000035f252016e08000000000000e80453016f080000000000009e3353017008000000000000f03c530171080000000000005c62530172080000000000000c755301730800000000000014ad5301740800000000000018e553017508000000000000bdf753017608000000000000081d540177080000000000002155540178080000000000007a5e54017908000000000000288d54017a080000000000003fc554017b08000000000000f7f354017c080000000000004ffd54017d08000000000000463555017e08000000000000356d55017f0800000000000035a55501800800000000000088ae5501810800000000000032dd5501820800000000000089e655018308000000000000e6ef5501840800000000000045f955018508000000000000a50256018608000000000000611556018708000000000000c01e56018808000000000000de3a56018908000000000000954d56018a08000000000000f55656018b08000000000000c98556018c08000000000000edbd56018d08000000000000aad056018e080000000000001ff656018f080000000000007aff560190080000000000004d2e57019108000000000000876657019208000000000000c19e57019308000000000000fdd657019408000000000000ade957019508000000000000160f580196080000000000004447580197080000000000009e5058019808000000000000e37e580199080000000000008ca358019a08000000000000dbb558019b0800000000000008bf58019c080000000000009ded58019d08000000000000d82559019e08000000000000115e59019f08000000000000d78c5901a00800000000000035965901a1080000000000006dce5901a208000000000000a6065a01a308000000000000df3e5a01a4080000000000003d485a01a50800000000000016775a01a6080000000000004daf5a01a7080000000000000ac25a01a80800000000000083e75a01a908000000000000bb1f5b01aa0800000000000072325b01ab08000000000000cf3b5b01ac08000000000000ca575b01ad0800000000000013615b01ae08000000000000ba735b01af08000000000000b98f5b01b008000000000000e9c75b01b108000000000000a1da5b01b2080000000000005aed5b01b3080000000000000a005c01b40800000000000066095c01b5080000000000000e385c01b6080000000000006b415c01b70800000000000035705c01b808000000000000528c5c01b90800000000000069a85c01ba080000000000007ee05c01bb08000000000000a2185d01bc08000000000000bf505d01bd080000000000001b5a5d01be08000000000000dc885d01bf08000000000000fcc05d01c00800000000000016f95d01c1080000000000002d315e01c20800000000000052695e01c3080000000000007aa15e01c408000000000000d5aa5e01c5080000000000008bd95e01c608000000000000e7e25e01c708000000000000bf115f01c808000000000000de2d5f01c908000000000000f8495f01ca080000000000004d535f01cb0800000000000013825f01cc08000000000000c2945f01cd08000000000000b8b05f01ce0800000000000008ba5f01cf0800000000000058c35f01d008000000000000b6cc5f01d10800000000000034f25f01d208000000000000642a6001d308000000000000c4336001d4080000000000009d626001d5080000000000005b756001d60800000000000070916001d708000000000000ce9a6001d80800000000000002d36001d908000000000000390b6101da080000000000001f276101db08000000000000fe426101dc08000000000000494c6101dd08000000000000ec5e6101de08000000000000e77a6101df08000000000000dfb26101e00800000000000086c56101e108000000000000dace6101e208000000000000c4ea6101e30800000000000069fd6101e408000000000000bb226201e508000000000000f35a6201e6080000000000001e936201e708000000000000719c6201e808000000000000c3a56201e908000000000000d1c16201ea080000000000002ecb6201eb08000000000000a7f06201ec080000000000005d036301ed08000000000000953b6301ee08000000000000504e6301ef08000000000000c9736301f008000000000000eeab6301f108000000000000a2be6301f20800000000000050d16301f308000000000000a3da6301f408000000000000fce36301f50800000000000051ed6301f608000000000000bd126401f7080000000000001a1c6401f80800000000000034546401f9080000000000003d8c6401fa0800000000000089956401fb08000000000000e19e6401fc080000000000002bc46401fd0800000000000073cd6401fe08000000000000cbf26401ff0800000000000016fc64010009000000000000bd0e65010109000000000000131865010209000000000000023465010309000000000000523d65010409000000000000ac4665010509000000000000595965010609000000000000066c65010709000000000000597565010809000000000000ab7e65010909000000000000028865010a0900000000000002a465010b09000000000000c7d265010c090000000000001edc65010d09000000000000d40a66010e09000000000000311466010f09000000000000851d66011009000000000000dc2666011109000000000000313066011209000000000000374c660113090000000000008f556601140900000000000057846601150900000000000008976601160900000000000063a06601170900000000000070bc66011809000000000000c8c56601190900000000000025cf66011a090000000000007df466011b09000000000000d3fd66011c09000000000000e02b67011d09000000000000ec4767011e09000000000000455167011f09000000000000ff63670120090000000000001380670121090000000000006f8967012209000000000000af9267012309000000000000079c6701240900000000000059a567012509000000000000adae6701260900000000000007b867012709000000000000b6ca670128090000000000000bd4670129090000000000001e0c68012a09000000000000d11e68012b09000000000000334468012c09000000000000e55668012d09000000000000eb7268012e09000000000000427c68012f09000000000000f58e6801300900000000000057b46801310900000000000073ec6801320900000000000025ff680133090000000000007c0869013409000000000000832469013509000000000000dc2d69013609000000000000945c69013709000000000000ab9469013809000000000000c0cc6901390900000000000076df69013a09000000000000e3046a013b09000000000000043d6a013c0900000000000026756a013d090000000000004aad6a013e090000000000005ac96a013f09000000000000b6d26a01400900000000000069e56a014109000000000000c10a6b0142090000000000006e1d6b01430900000000000056396b0144090000000000006d556b01450900000000000027686b014609000000000000e37a6b014709000000000000958d6b014809000000000000b1c56b014909000000000000abfd6b014a09000000000000632c6c014b09000000000000bd356c014c090000000000001a3f6c014d0900000000000076486c014e09000000000000df6d6c014f0900000000000094806c015009000000000000a39c6c015109000000000000f9a56c0152090000000000004eaf6c01530900000000000017de6c01540900000000000020fa6c01550900000000000022166d015609000000000000771f6d015709000000000000d4286d015809000000000000404e6d015909000000000000f0606d015a090000000000005c866d015b0900000000000080be6d015c0900000000000034d16d015d09000000000000a3f66d015e09000000000000da2e6e015f09000000000000fa4a6e01600900000000000011676e016109000000000000379f6e016209000000000000eeb16e0163090000000000006ad76e016409000000000000a40f6f016509000000000000df476f0166090000000000001b806f01670900000000000055b86f0168090000000000008af06f016909000000000000440370016a09000000000000a62870016b09000000000000ff3170016c09000000000000c26070016d09000000000000ec9870016e090000000000005cbe70016f0900000000000012d1700170090000000000002f09710171090000000000002a41710172090000000000003c7971017309000000000000efa7710174090000000000004ab17101750900000000000062e971017609000000000000bff2710177090000000000008a2172017809000000000000b55972017909000000000000da9172017a0900000000000001ca72017b09000000000000070273017c090000000000000b3a73017d09000000000000187273017e0900000000000020aa73017f0900000000000030e273018009000000000000ea1074018109000000000000431a74018209000000000000f24874018309000000000000475274018409000000000000985b74018509000000000000ef64740186090000000000005b8a74018709000000000000b5937401880900000000000084c274018909000000000000e2cb74018a09000000000000b9fa74018b09000000000000e53275018c09000000000000f14e75018d09000000000000036b75018e090000000000000ea375018f0900000000000009db75019009000000000000f81276019109000000000000c84a760192090000000000004b7976019309000000000000a18276019409000000000000b1ba76019509000000000000b9f276019609000000000000d82a770197090000000000002b3477019809000000000000de6277019909000000000000a79177019a09000000000000009b77019b0900000000000026d377019c09000000000000e3e577019d09000000000000600b78019e09000000000000984378019f09000000000000d17b7801a009000000000000efb37801a10900000000000026ec7801a209000000000000e1fe7801a3090000000000005f247901a409000000000000945c7901a509000000000000c3947901a609000000000000dccc7901a709000000000000e3047a01a8090000000000003b0e7a01a909000000000000472a7a01aa09000000000000f13c7a01ab0900000000000046467a01ac0900000000000003757a01ad09000000000000609a7a01ae0900000000000010ad7a01af09000000000000afdb7a01b00900000000000003e57a01b1090000000000005aee7a01b2090000000000000b1d7b01b309000000000000b02f7b01b4090000000000000a557b01b50900000000000005717b01b609000000000000118d7b01b709000000000000bf9f7b01b8090000000000000ea97b01b90900000000000010c57b01ba0900000000000010fd7b01bb0900000000000023357c01bc09000000000000356d7c01bd090000000000002aa57c01be09000000000000d7b77c01bf09000000000000ded37c01c00900000000000038dd7c01c10900000000000049157d01c209000000000000a21e7d01c309000000000000424d7d01c40900000000000018857d01c509000000000000628e7d01c609000000000000eabc7d01c709000000000000bff47d01c80900000000000059077e01c909000000000000b7107e01ca09000000000000ce2c7e01cb09000000000000f3647e01cc09000000000000049d7e01cd090000000000001ad57e01ce0900000000000075de7e01cf0900000000000087fa7e01d009000000000000db037f01d1090000000000002f0d7f01d20900000000000084167f01d309000000000000d83b7f01d4090000000000002b457f01d509000000000000804e7f01d609000000000000d6577f01d7090000000000007f6a7f01d8090000000000002a7d7f01d90900000000000078867f01da090000000000000f997f01db09000000000000ecb47f01dc0900000000000046be7f01dd090000000000009ec77f01de09000000000000f2d07f01df0900000000000047da7f01e00900000000000096e37f01e109000000000000eaec7f01e2090000000000003bf67f01e3090000000000007eff7f01e409000000000000721b8001e509000000000000c6248001e6090000000000000f2e8001e70900000000000054378001e8090000000000009d408001e909000000000000695c8001ea09000000000000b7658001eb09000000000000fe6e8001ec090000000000004d788001ed09000000000000e98a8001ee090000000000003c948001ef0900000000000074b98001f00900000000000016cc8001f1090000000000006dd58001f209000000000000bede8001f30900000000000009048101f409000000000000620d8101f509000000000000bb168101f60900000000000012208101f7090000000000001f3c8101f80900000000000078458101f90900000000000021748101fa09000000000000c8868101fb09000000000000c2a28101fc090000000000001aac8101fd090000000000002be48101fe09000000000000d4128201ff090000000000002f1c8201000a00000000000029388201010a00000000000078418201020a00000000000024548201030a000000000000785d8201040a000000000000118c8201050a00000000000065958201060a000000000000a4ba8201070a000000000000f8c38201080a000000000000e7fb8201090a000000000000340583010a0a0000000000007b2a83010b0a000000000000d33383010c0a000000000000604683010d0a000000000000af4f83010e0a000000000000906b83010f0a000000000000de748301100a000000000000307e8301110a0000000000007d878301120a000000000000c9908301130a0000000000001e9a8301140a00000000000063a38301150a000000000000a8ac8301160a00000000000034bf8301170a00000000000010db8301180a000000000000a5ed8301190a000000000000bf1284011a0a000000000000554a84011b0a000000000000985384011c0a000000000000dd5c84011d0a000000000000f98184011e0a0000000000003d8b84011f0a000000000000c79d8401200a0000000000009ab98401210a00000000000029cc8401220a00000000000052f18401230a0000000000003f0d8501240a0000000000001c298501250a00000000000065328501260a000000000000c1608501270a0000000000005a988501280a000000000000a6a18501290a000000000000f4aa85012a0a0000000000004bb485012b0a00000000000029d085012c0a00000000000071d985012d0a000000000000b9e285012e0a00000000000053f585012f0a000000000000e9078601300a000000000000841a8601310a0000000000001e2d8601320a000000000000b63f8601330a000000000000a45b8601340a00000000000079778601350a0000000000001f8a8601360a000000000000f7a58601370a00000000000048af8601380a00000000000096b88601390a00000000000020e786013a0a000000000000031f87013b0a000000000000d05687013c0a000000000000646987013d0a000000000000b28e87013e0a0000000000008ec687013f0a00000000000060fe8701400a0000000000003a368801410a000000000000026e8801420a000000000000a1808801430a000000000000dba58801440a000000000000b9dd8801450a0000000000000ce78801460a00000000000005038901470a000000000000a3158901480a000000000000f41e8901490a0000000000007a4d89014a0a000000000000c95689014b0a000000000000598589014c0a000000000000f69789014d0a0000000000001cbd89014e0a000000000000aacf89014f0a00000000000092eb8901500a000000000000d6f48901510a0000000000007a2c8a01520a00000000000032648a01530a000000000000f39b8a01540a0000000000008dae8a01550a000000000000c5d38a01560a000000000000baef8a01570a00000000000058028b01580a000000000000a50b8b01590a000000000000f3148b015a0a000000000000381e8b015b0a00000000000080278b015c0a000000000000d1308b015d0a000000000000203a8b015e0a0000000000006b438b015f0a000000000000c14c8b01600a00000000000016568b01610a000000000000685f8b01620a000000000000bb688b01630a00000000000011728b01640a000000000000637b8b01650a000000000000b5848b01660a0000000000003cb38b01670a000000000000ebea8b01680a000000000000d2228c01690a000000000000252c8c016a0a000000000000bb5a8c016b0a00000000000091928c016c0a0000000000002fa58c016d0a0000000000007cae8c016e0a00000000000068ca8c016f0a000000000000a9d38c01700a000000000000fadc8c01710a000000000000e4f88c01720a00000000000030028d01730a0000000000007e0b8d01740a0000000000001c1e8d01750a000000000000053a8d01760a00000000000055438d01770a000000000000a24c8d01780a000000000000eb718d01790a000000000000387b8d017a0a000000000000b6a98d017b0a0000000000004bd88d017c0a0000000000009ce18d017d0a000000000000ebea8d017e0a000000000000e7068e017f0a00000000000081198e01800a00000000000043518e01810a00000000000000898e01820a0000000000007ab78e01830a000000000000ccc08e01840a000000000000bfdc8e01850a000000000000aaf88e01860a00000000000081308f01870a00000000000053688f01880a00000000000028a08f01890a00000000000017d88f018a0a00000000000069e18f018b0a00000000000015f48f018c0a000000000000b50690018d0a0000000000000b1090018e0a0000000000005c1990018f0a000000000000a33e9001900a000000000000f1479001910a00000000000044519001920a000000000000965a9001930a000000000000e2639001940a000000000000ca7f9001950a00000000000015899001960a00000000000078b79001970a000000000000cbc09001980a0000000000001eca9001990a00000000000062ef90019a0a000000000000b5f890019b0a000000000000522791019c0a000000000000a53091019d0a0000000000002e5f91019e0a0000000000001d7b91019f0a00000000000019979101a00a0000000000000dcf9101a10a00000000000006079201a20a0000000000005d109201a30a000000000000f53e9201a40a000000000000d8769201a50a00000000000025809201a60a000000000000c9929201a70a000000000000c4ae9201a80a0000000000000eb89201a90a000000000000b8e69201aa0a000000000000a9029301ab0a000000000000ab1e9301ac0a0000000000004c4d9301ad0a0000000000009f569301ae0a00000000000049859301af0a0000000000009a8e9301b00a0000000000004ba19301b10a000000000000a4c69301b20a000000000000a9fe9301b30a000000000000b3369401b40a0000000000004e659401b50a000000000000a96e9401b60a0000000000009da69401b70a0000000000003bd59401b80a0000000000008cde9401b90a00000000000089169501ba0a000000000000854e9501bb0a00000000000069869501bc0a00000000000049be9501bd0a0000000000009ac79501be0a00000000000028f69501bf0a00000000000083ff9501c00a000000000000102e9601c10a00000000000065379601c20a000000000000124a9601c30a00000000000010669601c40a000000000000029e9601c50a000000000000a9b09601c60a000000000000ead59601c70a000000000000e6f19601c80a000000000000d70d9701c90a0000000000001b179701ca0a000000000000ab459701cb0a000000000000a9619701cc0a00000000000045749701cd0a0000000000008d7d9701ce0a00000000000069b59701cf0a00000000000043ed9701d00a00000000000027099801d10a0000000000000f259801d20a000000000000b3379801d30a000000000000e95c9801d40a00000000000035669801" }, "name": "Polkadot", "properties": { diff --git a/artifacts/polkadot_metadata_full.scale b/artifacts/polkadot_metadata_full.scale index ee8eb82dba..4933ea9c5a 100644 Binary files a/artifacts/polkadot_metadata_full.scale and b/artifacts/polkadot_metadata_full.scale differ diff --git a/artifacts/polkadot_metadata_small.scale b/artifacts/polkadot_metadata_small.scale index a00af014af..7027b05226 100644 Binary files a/artifacts/polkadot_metadata_small.scale and b/artifacts/polkadot_metadata_small.scale differ diff --git a/artifacts/polkadot_metadata_tiny.scale b/artifacts/polkadot_metadata_tiny.scale index 0d21ac800e..2261e623d1 100644 Binary files a/artifacts/polkadot_metadata_tiny.scale and b/artifacts/polkadot_metadata_tiny.scale differ diff --git a/testing/integration-tests/src/full_client/codegen/polkadot.rs b/testing/integration-tests/src/full_client/codegen/polkadot.rs index 6895477c53..84f3e1971d 100644 --- a/testing/integration-tests/src/full_client/codegen/polkadot.rs +++ b/testing/integration-tests/src/full_client/codegen/polkadot.rs @@ -277,7 +277,7 @@ pub mod api { pub struct Version {} pub mod execute_block { use super::runtime_types; - pub type Block = runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > > ; + pub type Block = runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > > ; pub mod output { use super::runtime_types; pub type Output = (); @@ -585,9 +585,9 @@ pub mod api { result_xcms_version, }, [ - 200u8, 157u8, 81u8, 40u8, 29u8, 58u8, 129u8, 127u8, 130u8, 97u8, 84u8, - 187u8, 236u8, 167u8, 121u8, 106u8, 197u8, 119u8, 61u8, 91u8, 18u8, - 164u8, 135u8, 77u8, 117u8, 131u8, 18u8, 39u8, 178u8, 79u8, 1u8, 74u8, + 102u8, 87u8, 8u8, 106u8, 72u8, 124u8, 83u8, 137u8, 248u8, 102u8, 30u8, + 147u8, 84u8, 96u8, 22u8, 37u8, 113u8, 76u8, 5u8, 126u8, 198u8, 221u8, + 42u8, 57u8, 62u8, 95u8, 249u8, 56u8, 11u8, 227u8, 36u8, 199u8, ], ) } @@ -608,10 +608,9 @@ pub mod api { xcm, }, [ - 59u8, 7u8, 158u8, 179u8, 196u8, 165u8, 135u8, 173u8, 201u8, 80u8, - 111u8, 42u8, 212u8, 235u8, 243u8, 226u8, 107u8, 85u8, 176u8, 35u8, - 249u8, 87u8, 164u8, 244u8, 133u8, 134u8, 90u8, 228u8, 82u8, 149u8, - 98u8, 18u8, + 207u8, 156u8, 37u8, 92u8, 18u8, 49u8, 3u8, 31u8, 153u8, 59u8, 131u8, + 46u8, 75u8, 253u8, 233u8, 51u8, 162u8, 101u8, 86u8, 251u8, 57u8, 194u8, + 87u8, 161u8, 167u8, 27u8, 202u8, 71u8, 196u8, 22u8, 191u8, 159u8, ], ) } @@ -963,7 +962,7 @@ pub mod api { use super::runtime_types; pub mod apply_extrinsic { use super::runtime_types; - pub type Extrinsic = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; + pub type Extrinsic = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; pub mod output { use super::runtime_types; pub type Output = :: core :: result :: Result < :: core :: result :: Result < () , runtime_types :: sp_runtime :: DispatchError > , runtime_types :: sp_runtime :: transaction_validity :: TransactionValidityError > ; @@ -1009,7 +1008,7 @@ pub mod api { pub type Inherent = runtime_types::sp_inherents::InherentData; pub mod output { use super::runtime_types; - pub type Output = :: subxt :: ext :: subxt_core :: alloc :: vec :: Vec < :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > > ; + pub type Output = :: subxt :: ext :: subxt_core :: alloc :: vec :: Vec < :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > > ; } } #[derive( @@ -1028,7 +1027,7 @@ pub mod api { } pub mod check_inherents { use super::runtime_types; - pub type Block = runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > > ; + pub type Block = runtime_types :: sp_runtime :: generic :: block :: Block < runtime_types :: sp_runtime :: generic :: header :: Header < :: core :: primitive :: u32 > , :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > > ; pub type Data = runtime_types::sp_inherents::InherentData; pub mod output { use super::runtime_types; @@ -1099,7 +1098,7 @@ pub mod api { use super::runtime_types; pub type Source = runtime_types::sp_runtime::transaction_validity::TransactionSource; - pub type Tx = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; + pub type Tx = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; pub type BlockHash = ::subxt::ext::subxt_core::utils::H256; pub mod output { use super::runtime_types; @@ -4131,7 +4130,7 @@ pub mod api { use super::runtime_types; pub mod query_info { use super::runtime_types; - pub type Uxt = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; + pub type Uxt = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; pub type Len = ::core::primitive::u32; pub mod output { use super::runtime_types; @@ -4159,7 +4158,7 @@ pub mod api { } pub mod query_fee_details { use super::runtime_types; - pub type Uxt = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; + pub type Uxt = :: subxt :: ext :: subxt_core :: utils :: UncheckedExtrinsic < :: subxt :: ext :: subxt_core :: utils :: MultiAddress < :: subxt :: ext :: subxt_core :: utils :: AccountId32 , () > , runtime_types :: rococo_runtime :: RuntimeCall , runtime_types :: sp_runtime :: MultiSignature , (runtime_types :: frame_system :: extensions :: authorize_call :: AuthorizeCall , runtime_types :: frame_system :: extensions :: check_non_zero_sender :: CheckNonZeroSender , runtime_types :: frame_system :: extensions :: check_spec_version :: CheckSpecVersion , runtime_types :: frame_system :: extensions :: check_tx_version :: CheckTxVersion , runtime_types :: frame_system :: extensions :: check_genesis :: CheckGenesis , runtime_types :: frame_system :: extensions :: check_mortality :: CheckMortality , runtime_types :: frame_system :: extensions :: check_nonce :: CheckNonce , runtime_types :: frame_system :: extensions :: check_weight :: CheckWeight , runtime_types :: pallet_transaction_payment :: ChargeTransactionPayment , runtime_types :: frame_metadata_hash_extension :: CheckMetadataHash , runtime_types :: frame_system :: extensions :: weight_reclaim :: WeightReclaim ,) > ; pub type Len = ::core::primitive::u32; pub mod output { use super::runtime_types; @@ -4628,6 +4627,9 @@ pub mod api { pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { transaction_payment::constants::ConstantsApi } + pub fn session(&self) -> session::constants::ConstantsApi { + session::constants::ConstantsApi + } pub fn grandpa(&self) -> grandpa::constants::ConstantsApi { grandpa::constants::ConstantsApi } @@ -4713,6 +4715,9 @@ pub mod api { pub fn multi_block_migrations(&self) -> multi_block_migrations::constants::ConstantsApi { multi_block_migrations::constants::ConstantsApi } + pub fn xcm_pallet(&self) -> xcm_pallet::constants::ConstantsApi { + xcm_pallet::constants::ConstantsApi + } pub fn beefy(&self) -> beefy::constants::ConstantsApi { beefy::constants::ConstantsApi } @@ -5094,9 +5099,9 @@ pub mod api { .hash(); runtime_metadata_hash == [ - 68u8, 176u8, 178u8, 125u8, 202u8, 35u8, 149u8, 97u8, 33u8, 151u8, 42u8, 95u8, - 134u8, 25u8, 21u8, 201u8, 238u8, 208u8, 130u8, 149u8, 140u8, 222u8, 106u8, 218u8, - 105u8, 83u8, 243u8, 68u8, 66u8, 222u8, 148u8, 136u8, + 104u8, 101u8, 167u8, 115u8, 106u8, 95u8, 240u8, 114u8, 168u8, 228u8, 119u8, 90u8, + 219u8, 119u8, 59u8, 204u8, 201u8, 222u8, 27u8, 137u8, 26u8, 177u8, 49u8, 202u8, + 91u8, 179u8, 50u8, 141u8, 72u8, 211u8, 67u8, 23u8, ] } pub mod system { @@ -6203,10 +6208,9 @@ pub mod api { "Events", (), [ - 137u8, 193u8, 152u8, 88u8, 207u8, 23u8, 79u8, 118u8, 129u8, 67u8, - 193u8, 197u8, 21u8, 100u8, 68u8, 205u8, 43u8, 228u8, 201u8, 168u8, - 174u8, 224u8, 84u8, 79u8, 116u8, 71u8, 96u8, 14u8, 58u8, 60u8, 81u8, - 42u8, + 94u8, 112u8, 186u8, 225u8, 192u8, 81u8, 168u8, 148u8, 112u8, 241u8, + 25u8, 26u8, 173u8, 184u8, 107u8, 32u8, 150u8, 36u8, 99u8, 153u8, 118u8, + 176u8, 43u8, 10u8, 193u8, 145u8, 143u8, 192u8, 26u8, 81u8, 71u8, 135u8, ], ) } @@ -7395,6 +7399,7 @@ pub mod api { #[doc = " `on_finalize`)"] #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] pub struct Set { + #[codec(compact)] pub now: set::Now, } pub mod set { @@ -8157,6 +8162,7 @@ pub mod api { #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] pub struct TransferAllowDeath { pub dest: transfer_allow_death::Dest, + #[codec(compact)] pub value: transfer_allow_death::Value, } pub mod transfer_allow_death { @@ -8187,6 +8193,7 @@ pub mod api { pub struct ForceTransfer { pub source: force_transfer::Source, pub dest: force_transfer::Dest, + #[codec(compact)] pub value: force_transfer::Value, } pub mod force_transfer { @@ -8224,6 +8231,7 @@ pub mod api { #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] pub struct TransferKeepAlive { pub dest: transfer_keep_alive::Dest, + #[codec(compact)] pub value: transfer_keep_alive::Value, } pub mod transfer_keep_alive { @@ -8358,6 +8366,7 @@ pub mod api { #[doc = "The dispatch origin for this call is `root`."] pub struct ForceSetBalance { pub who: force_set_balance::Who, + #[codec(compact)] pub new_free: force_set_balance::NewFree, } pub mod force_set_balance { @@ -8390,6 +8399,7 @@ pub mod api { #[doc = "# Example"] pub struct ForceAdjustTotalIssuance { pub direction: force_adjust_total_issuance::Direction, + #[codec(compact)] pub delta: force_adjust_total_issuance::Delta, } pub mod force_adjust_total_issuance { @@ -8420,6 +8430,7 @@ pub mod api { #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] pub struct Burn { + #[codec(compact)] pub value: burn::Value, pub keep_alive: burn::KeepAlive, } @@ -9434,9 +9445,9 @@ pub mod api { "Holds", (), [ - 72u8, 137u8, 235u8, 171u8, 118u8, 154u8, 86u8, 85u8, 70u8, 201u8, 73u8, - 9u8, 102u8, 160u8, 24u8, 93u8, 181u8, 22u8, 71u8, 178u8, 243u8, 94u8, - 3u8, 47u8, 90u8, 11u8, 219u8, 31u8, 4u8, 131u8, 154u8, 154u8, + 6u8, 68u8, 133u8, 169u8, 100u8, 31u8, 19u8, 164u8, 80u8, 22u8, 132u8, + 73u8, 190u8, 31u8, 34u8, 82u8, 132u8, 79u8, 92u8, 15u8, 204u8, 149u8, + 109u8, 203u8, 169u8, 162u8, 250u8, 223u8, 182u8, 170u8, 251u8, 178u8, ], ) } @@ -9458,9 +9469,9 @@ pub mod api { "Holds", ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), [ - 72u8, 137u8, 235u8, 171u8, 118u8, 154u8, 86u8, 85u8, 70u8, 201u8, 73u8, - 9u8, 102u8, 160u8, 24u8, 93u8, 181u8, 22u8, 71u8, 178u8, 243u8, 94u8, - 3u8, 47u8, 90u8, 11u8, 219u8, 31u8, 4u8, 131u8, 154u8, 154u8, + 6u8, 68u8, 133u8, 169u8, 100u8, 31u8, 19u8, 164u8, 80u8, 22u8, 132u8, + 73u8, 190u8, 31u8, 34u8, 82u8, 132u8, 79u8, 92u8, 15u8, 204u8, 149u8, + 109u8, 203u8, 169u8, 162u8, 250u8, 223u8, 182u8, 170u8, 251u8, 178u8, ], ) } @@ -10118,6 +10129,49 @@ pub mod api { pub mod historical { use super::root_mod; use super::runtime_types; + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_session::historical::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "The merkle root of the validators of the said session were stored"] + pub struct RootStored { + pub index: root_stored::Index, + } + pub mod root_stored { + use super::runtime_types; + pub type Index = ::core::primitive::u32; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for RootStored { + const PALLET: &'static str = "Historical"; + const EVENT: &'static str = "RootStored"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "The merkle roots of up to this session index were pruned"] + pub struct RootsPruned { + pub up_to: roots_pruned::UpTo, + } + pub mod roots_pruned { + use super::runtime_types; + pub type UpTo = ::core::primitive::u32; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for RootsPruned { + const PALLET: &'static str = "Historical"; + const EVENT: &'static str = "RootsPruned"; + } + } pub mod storage { use super::runtime_types; pub mod types { @@ -10373,6 +10427,20 @@ pub mod api { )] #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "The `NewSession` event in the current block also implies a new validator set to be"] + #[doc = "queued."] + pub struct NewQueued; + impl ::subxt::ext::subxt_core::events::StaticEvent for NewQueued { + const PALLET: &'static str = "Session"; + const EVENT: &'static str = "NewQueued"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] #[doc = "Validator has been disabled."] pub struct ValidatorDisabled { pub validator: validator_disabled::Validator, @@ -10445,9 +10513,10 @@ pub mod api { pub mod key_owner { use super::runtime_types; pub type KeyOwner = ::subxt::ext::subxt_core::utils::AccountId32; - pub type Param0 = runtime_types::sp_core::crypto::KeyTypeId; - pub type Param1 = - ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>; + pub type Param0 = ( + runtime_types::sp_core::crypto::KeyTypeId, + ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + ); } } pub struct StorageApi; @@ -10634,7 +10703,7 @@ pub mod api { ) } #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] - pub fn key_owner_iter1( + pub fn key_owner( &self, _0: types::key_owner::Param0, ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< @@ -10642,9 +10711,9 @@ pub mod api { types::key_owner::Param0, >, types::key_owner::KeyOwner, - (), - (), ::subxt::ext::subxt_core::utils::Yes, + (), + (), > { ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( "Session", @@ -10658,37 +10727,25 @@ pub mod api { ], ) } - #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] - pub fn key_owner( + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount to be held when setting keys."] + pub fn key_deposit( &self, - _0: types::key_owner::Param0, - _1: types::key_owner::Param1, - ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::key_owner::Param0, - >, - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::key_owner::Param1, - >, - ), - types::key_owner::KeyOwner, - ::subxt::ext::subxt_core::utils::Yes, - (), - (), + ) -> ::subxt::ext::subxt_core::constants::address::StaticAddress< + ::core::primitive::u128, > { - ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( + ::subxt::ext::subxt_core::constants::address::StaticAddress::new_static( "Session", - "KeyOwner", - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1), - ), + "KeyDeposit", [ - 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, - 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, - 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, - 206u8, + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, ], ) } @@ -11379,6 +11436,7 @@ pub mod api { #[doc = ""] #[doc = "Emits [`Event::SpendApproved`] if successful."] pub struct SpendLocal { + #[codec(compact)] pub amount: spend_local::Amount, pub beneficiary: spend_local::Beneficiary, } @@ -11427,6 +11485,7 @@ pub mod api { #[doc = " proposal does not exist altogether, thus there is no way it would have been approved"] #[doc = " in the first place."] pub struct RemoveApproval { + #[codec(compact)] pub proposal_id: remove_approval::ProposalId, } pub mod remove_approval { @@ -11476,6 +11535,7 @@ pub mod api { #[doc = "Emits [`Event::AssetSpendApproved`] if successful."] pub struct Spend { pub asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box, + #[codec(compact)] pub amount: spend::Amount, pub beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box, @@ -12518,6 +12578,7 @@ pub mod api { #[doc = ""] #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] pub struct Vote { + #[codec(compact)] pub poll_index: vote::PollIndex, pub vote: vote::Vote, } @@ -13610,10 +13671,10 @@ pub mod api { enactment_moment, }, [ - 218u8, 168u8, 109u8, 14u8, 141u8, 52u8, 78u8, 245u8, 192u8, 152u8, 7u8, - 86u8, 63u8, 137u8, 68u8, 108u8, 60u8, 201u8, 251u8, 173u8, 115u8, - 234u8, 198u8, 140u8, 177u8, 117u8, 46u8, 225u8, 154u8, 196u8, 155u8, - 100u8, + 86u8, 84u8, 96u8, 114u8, 247u8, 25u8, 6u8, 101u8, 96u8, 162u8, 250u8, + 43u8, 112u8, 243u8, 41u8, 89u8, 137u8, 193u8, 155u8, 47u8, 105u8, + 195u8, 219u8, 139u8, 202u8, 232u8, 181u8, 48u8, 72u8, 230u8, 24u8, + 154u8, ], ) } @@ -14253,10 +14314,9 @@ pub mod api { "ReferendumInfoFor", (), [ - 20u8, 120u8, 101u8, 224u8, 49u8, 178u8, 103u8, 225u8, 250u8, 168u8, - 55u8, 171u8, 211u8, 30u8, 122u8, 154u8, 107u8, 185u8, 16u8, 213u8, - 19u8, 123u8, 74u8, 182u8, 30u8, 195u8, 206u8, 27u8, 138u8, 185u8, - 108u8, 207u8, + 123u8, 87u8, 188u8, 82u8, 34u8, 134u8, 67u8, 91u8, 100u8, 213u8, 39u8, + 126u8, 205u8, 149u8, 10u8, 60u8, 57u8, 243u8, 173u8, 17u8, 27u8, 99u8, + 95u8, 52u8, 20u8, 108u8, 209u8, 15u8, 49u8, 192u8, 249u8, 23u8, ], ) } @@ -14278,10 +14338,9 @@ pub mod api { "ReferendumInfoFor", ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), [ - 20u8, 120u8, 101u8, 224u8, 49u8, 178u8, 103u8, 225u8, 250u8, 168u8, - 55u8, 171u8, 211u8, 30u8, 122u8, 154u8, 107u8, 185u8, 16u8, 213u8, - 19u8, 123u8, 74u8, 182u8, 30u8, 195u8, 206u8, 27u8, 138u8, 185u8, - 108u8, 207u8, + 123u8, 87u8, 188u8, 82u8, 34u8, 134u8, 67u8, 91u8, 100u8, 213u8, 39u8, + 126u8, 205u8, 149u8, 10u8, 60u8, 57u8, 243u8, 173u8, 17u8, 27u8, 99u8, + 95u8, 52u8, 20u8, 108u8, 209u8, 15u8, 49u8, 192u8, 249u8, 23u8, ], ) } @@ -15825,10 +15884,10 @@ pub mod api { enactment_moment, }, [ - 218u8, 168u8, 109u8, 14u8, 141u8, 52u8, 78u8, 245u8, 192u8, 152u8, 7u8, - 86u8, 63u8, 137u8, 68u8, 108u8, 60u8, 201u8, 251u8, 173u8, 115u8, - 234u8, 198u8, 140u8, 177u8, 117u8, 46u8, 225u8, 154u8, 196u8, 155u8, - 100u8, + 86u8, 84u8, 96u8, 114u8, 247u8, 25u8, 6u8, 101u8, 96u8, 162u8, 250u8, + 43u8, 112u8, 243u8, 41u8, 89u8, 137u8, 193u8, 155u8, 47u8, 105u8, + 195u8, 219u8, 139u8, 202u8, 232u8, 181u8, 48u8, 72u8, 230u8, 24u8, + 154u8, ], ) } @@ -16460,9 +16519,9 @@ pub mod api { "ReferendumInfoFor", (), [ - 107u8, 246u8, 182u8, 115u8, 137u8, 20u8, 112u8, 69u8, 64u8, 237u8, 6u8, - 165u8, 167u8, 156u8, 226u8, 248u8, 235u8, 240u8, 125u8, 192u8, 4u8, - 120u8, 17u8, 184u8, 20u8, 120u8, 146u8, 140u8, 26u8, 42u8, 64u8, 168u8, + 100u8, 38u8, 100u8, 224u8, 1u8, 49u8, 248u8, 77u8, 107u8, 120u8, 117u8, + 239u8, 75u8, 87u8, 27u8, 160u8, 174u8, 225u8, 219u8, 216u8, 166u8, + 213u8, 47u8, 135u8, 28u8, 159u8, 28u8, 139u8, 84u8, 249u8, 223u8, 27u8, ], ) } @@ -16484,9 +16543,9 @@ pub mod api { "ReferendumInfoFor", ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), [ - 107u8, 246u8, 182u8, 115u8, 137u8, 20u8, 112u8, 69u8, 64u8, 237u8, 6u8, - 165u8, 167u8, 156u8, 226u8, 248u8, 235u8, 240u8, 125u8, 192u8, 4u8, - 120u8, 17u8, 184u8, 20u8, 120u8, 146u8, 140u8, 26u8, 42u8, 64u8, 168u8, + 100u8, 38u8, 100u8, 224u8, 1u8, 49u8, 248u8, 77u8, 107u8, 120u8, 117u8, + 239u8, 75u8, 87u8, 27u8, 160u8, 174u8, 225u8, 219u8, 216u8, 166u8, + 213u8, 47u8, 135u8, 28u8, 159u8, 28u8, 139u8, 84u8, 249u8, 223u8, 27u8, ], ) } @@ -16938,9 +16997,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 172u8, 166u8, 123u8, 235u8, 54u8, 102u8, 191u8, 208u8, 84u8, 95u8, - 161u8, 49u8, 26u8, 159u8, 23u8, 202u8, 1u8, 171u8, 192u8, 91u8, 149u8, - 85u8, 60u8, 121u8, 7u8, 243u8, 88u8, 25u8, 3u8, 6u8, 122u8, 159u8, + 208u8, 102u8, 29u8, 215u8, 97u8, 242u8, 46u8, 249u8, 223u8, 99u8, 33u8, + 17u8, 75u8, 120u8, 133u8, 204u8, 19u8, 191u8, 117u8, 244u8, 215u8, + 208u8, 72u8, 194u8, 7u8, 8u8, 166u8, 216u8, 52u8, 242u8, 207u8, 50u8, ], ) } @@ -18143,10 +18202,9 @@ pub mod api { "batch", types::Batch { calls }, [ - 187u8, 53u8, 188u8, 120u8, 234u8, 9u8, 191u8, 20u8, 49u8, 151u8, 42u8, - 189u8, 126u8, 181u8, 207u8, 178u8, 103u8, 29u8, 191u8, 132u8, 91u8, - 185u8, 147u8, 104u8, 137u8, 126u8, 97u8, 15u8, 195u8, 0u8, 231u8, - 246u8, + 238u8, 143u8, 149u8, 119u8, 132u8, 112u8, 146u8, 246u8, 2u8, 201u8, + 8u8, 116u8, 235u8, 206u8, 54u8, 201u8, 211u8, 142u8, 26u8, 174u8, 63u8, + 168u8, 105u8, 40u8, 13u8, 209u8, 36u8, 162u8, 123u8, 224u8, 6u8, 181u8, ], ) } @@ -18177,9 +18235,10 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 204u8, 220u8, 56u8, 11u8, 77u8, 64u8, 24u8, 233u8, 164u8, 89u8, 172u8, - 205u8, 163u8, 183u8, 29u8, 163u8, 169u8, 67u8, 58u8, 86u8, 37u8, 48u8, - 126u8, 13u8, 102u8, 67u8, 242u8, 175u8, 144u8, 17u8, 8u8, 8u8, + 63u8, 33u8, 47u8, 64u8, 238u8, 28u8, 74u8, 250u8, 244u8, 204u8, 213u8, + 207u8, 159u8, 177u8, 106u8, 86u8, 242u8, 43u8, 206u8, 91u8, 32u8, + 101u8, 154u8, 99u8, 15u8, 194u8, 177u8, 251u8, 160u8, 110u8, 224u8, + 156u8, ], ) } @@ -18206,10 +18265,10 @@ pub mod api { "batch_all", types::BatchAll { calls }, [ - 56u8, 70u8, 231u8, 117u8, 217u8, 221u8, 222u8, 161u8, 27u8, 90u8, - 144u8, 233u8, 159u8, 242u8, 236u8, 45u8, 211u8, 247u8, 161u8, 157u8, - 67u8, 73u8, 10u8, 95u8, 87u8, 29u8, 99u8, 212u8, 36u8, 8u8, 221u8, - 122u8, + 134u8, 104u8, 86u8, 160u8, 49u8, 185u8, 29u8, 124u8, 125u8, 146u8, + 47u8, 68u8, 177u8, 194u8, 102u8, 69u8, 6u8, 173u8, 117u8, 156u8, 139u8, + 42u8, 31u8, 199u8, 215u8, 68u8, 177u8, 248u8, 181u8, 158u8, 157u8, + 217u8, ], ) } @@ -18233,10 +18292,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 231u8, 174u8, 32u8, 205u8, 213u8, 153u8, 39u8, 94u8, 141u8, 38u8, - 160u8, 196u8, 95u8, 128u8, 78u8, 30u8, 208u8, 155u8, 196u8, 218u8, - 99u8, 30u8, 113u8, 182u8, 216u8, 37u8, 219u8, 70u8, 9u8, 91u8, 69u8, - 76u8, + 162u8, 111u8, 9u8, 93u8, 72u8, 171u8, 104u8, 172u8, 81u8, 143u8, 228u8, + 75u8, 155u8, 30u8, 131u8, 203u8, 174u8, 87u8, 181u8, 91u8, 167u8, + 158u8, 182u8, 61u8, 34u8, 120u8, 73u8, 143u8, 59u8, 66u8, 9u8, 13u8, ], ) } @@ -18263,10 +18321,9 @@ pub mod api { "force_batch", types::ForceBatch { calls }, [ - 227u8, 147u8, 239u8, 15u8, 42u8, 204u8, 238u8, 159u8, 197u8, 191u8, - 122u8, 146u8, 138u8, 127u8, 230u8, 167u8, 211u8, 32u8, 65u8, 70u8, - 14u8, 142u8, 132u8, 19u8, 115u8, 122u8, 145u8, 184u8, 79u8, 45u8, - 220u8, 15u8, + 61u8, 138u8, 94u8, 134u8, 122u8, 68u8, 41u8, 246u8, 142u8, 201u8, 39u8, + 235u8, 193u8, 95u8, 48u8, 71u8, 184u8, 137u8, 246u8, 178u8, 223u8, + 50u8, 9u8, 35u8, 69u8, 168u8, 46u8, 152u8, 89u8, 167u8, 132u8, 7u8, ], ) } @@ -18290,9 +18347,9 @@ pub mod api { weight, }, [ - 74u8, 87u8, 117u8, 253u8, 51u8, 74u8, 25u8, 109u8, 57u8, 5u8, 186u8, - 56u8, 236u8, 69u8, 63u8, 103u8, 64u8, 19u8, 167u8, 102u8, 191u8, 119u8, - 211u8, 158u8, 191u8, 85u8, 138u8, 161u8, 206u8, 178u8, 128u8, 121u8, + 234u8, 54u8, 154u8, 105u8, 247u8, 52u8, 86u8, 129u8, 46u8, 98u8, 254u8, + 158u8, 52u8, 43u8, 31u8, 129u8, 190u8, 49u8, 166u8, 118u8, 160u8, 51u8, + 1u8, 22u8, 118u8, 70u8, 101u8, 154u8, 78u8, 76u8, 58u8, 90u8, ], ) } @@ -18333,10 +18390,10 @@ pub mod api { fallback: ::subxt::ext::subxt_core::alloc::boxed::Box::new(fallback), }, [ - 250u8, 100u8, 172u8, 233u8, 64u8, 123u8, 174u8, 177u8, 85u8, 126u8, - 20u8, 234u8, 190u8, 121u8, 222u8, 24u8, 253u8, 22u8, 252u8, 163u8, - 101u8, 4u8, 142u8, 173u8, 187u8, 137u8, 67u8, 147u8, 18u8, 211u8, - 106u8, 33u8, + 211u8, 253u8, 150u8, 222u8, 9u8, 25u8, 249u8, 193u8, 101u8, 155u8, + 167u8, 144u8, 245u8, 143u8, 11u8, 75u8, 77u8, 2u8, 157u8, 8u8, 59u8, + 232u8, 185u8, 15u8, 216u8, 23u8, 214u8, 209u8, 192u8, 177u8, 252u8, + 59u8, ], ) } @@ -18359,9 +18416,10 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 228u8, 194u8, 0u8, 82u8, 10u8, 59u8, 123u8, 233u8, 114u8, 85u8, 159u8, - 83u8, 211u8, 84u8, 209u8, 8u8, 172u8, 181u8, 84u8, 72u8, 154u8, 37u8, - 130u8, 231u8, 205u8, 26u8, 133u8, 118u8, 10u8, 236u8, 241u8, 205u8, + 249u8, 51u8, 200u8, 150u8, 250u8, 202u8, 105u8, 206u8, 244u8, 152u8, + 21u8, 166u8, 114u8, 93u8, 127u8, 50u8, 118u8, 109u8, 123u8, 32u8, + 183u8, 253u8, 221u8, 122u8, 224u8, 129u8, 13u8, 40u8, 218u8, 64u8, + 154u8, 116u8, ], ) } @@ -18691,7 +18749,9 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementRequested` if successful."] pub struct RequestJudgement { + #[codec(compact)] pub reg_index: request_judgement::RegIndex, + #[codec(compact)] pub max_fee: request_judgement::MaxFee, } pub mod request_judgement { @@ -18754,7 +18814,9 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fee`: the new fee."] pub struct SetFee { + #[codec(compact)] pub index: set_fee::Index, + #[codec(compact)] pub fee: set_fee::Fee, } pub mod set_fee { @@ -18785,6 +18847,7 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `new`: the new account ID."] pub struct SetAccountId { + #[codec(compact)] pub index: set_account_id::Index, pub new: set_account_id::New, } @@ -18819,6 +18882,7 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fields`: the fields that the registrar concerns themselves with."] pub struct SetFields { + #[codec(compact)] pub index: set_fields::Index, pub fields: set_fields::Fields, } @@ -18858,6 +18922,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementGiven` if successful."] pub struct ProvideJudgement { + #[codec(compact)] pub reg_index: provide_judgement::RegIndex, pub target: provide_judgement::Target, pub judgement: provide_judgement::Judgement, @@ -21681,6 +21746,29 @@ pub mod api { const PALLET: &'static str = "Society"; const CALL: &'static str = "cleanup_challenge"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "Poke the deposit reserved when bidding."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be the bidder."] + #[doc = ""] + #[doc = "The transaction fee is waived if the deposit is changed after poking/reconsideration."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if successful."] + pub struct PokeDeposit; + impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit { + const PALLET: &'static str = "Society"; + const CALL: &'static str = "poke_deposit"; + } } pub struct TransactionApi; impl TransactionApi { @@ -22177,6 +22265,28 @@ pub mod api { ], ) } + #[doc = "Poke the deposit reserved when bidding."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be the bidder."] + #[doc = ""] + #[doc = "The transaction fee is waived if the deposit is changed after poking/reconsideration."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if successful."] + pub fn poke_deposit( + &self, + ) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload + { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( + "Society", + "poke_deposit", + types::PokeDeposit {}, + [ + 127u8, 254u8, 187u8, 13u8, 51u8, 85u8, 145u8, 82u8, 61u8, 152u8, 218u8, + 135u8, 191u8, 67u8, 53u8, 140u8, 42u8, 68u8, 7u8, 14u8, 95u8, 60u8, + 41u8, 135u8, 32u8, 99u8, 40u8, 111u8, 10u8, 21u8, 103u8, 107u8, + ], + ) + } } } #[doc = "The `Event` enum of this pallet"] @@ -22530,6 +22640,29 @@ pub mod api { const PALLET: &'static str = "Society"; const EVENT: &'static str = "Elevated"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "A deposit was poked / adjusted."] + pub struct DepositPoked { + pub who: deposit_poked::Who, + pub old_deposit: deposit_poked::OldDeposit, + pub new_deposit: deposit_poked::NewDeposit, + } + pub mod deposit_poked { + use super::runtime_types; + pub type Who = ::subxt::ext::subxt_core::utils::AccountId32; + pub type OldDeposit = ::core::primitive::u128; + pub type NewDeposit = ::core::primitive::u128; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked { + const PALLET: &'static str = "Society"; + const EVENT: &'static str = "DepositPoked"; + } } pub mod storage { use super::runtime_types; @@ -23850,6 +23983,56 @@ pub mod api { const PALLET: &'static str = "Recovery"; const CALL: &'static str = "cancel_recovered"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "Poke deposits for recovery configurations and / or active recoveries."] + #[doc = ""] + #[doc = "This can be used by accounts to possibly lower their locked amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"] + #[doc = "and want to adjust the deposit for the active recovery."] + #[doc = ""] + #[doc = "This function checks both recovery configuration deposit and active recovery deposits"] + #[doc = "of the caller:"] + #[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"] + #[doc = "- If the caller has initiated any active recoveries, and provides the account in"] + #[doc = "`maybe_account`, checks and adjusts those deposits"] + #[doc = ""] + #[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"] + #[doc = "account."] + #[doc = ""] + #[doc = "The transaction is made free if any deposit is updated and paid otherwise."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if any deposit is updated."] + #[doc = "Multiple events may be emitted in case both types of deposits are updated."] + pub struct PokeDeposit { + pub maybe_account: poke_deposit::MaybeAccount, + } + pub mod poke_deposit { + use super::runtime_types; + pub type MaybeAccount = ::core::option::Option< + ::subxt::ext::subxt_core::utils::MultiAddress< + ::subxt::ext::subxt_core::utils::AccountId32, + (), + >, + >; + } + impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit { + const PALLET: &'static str = "Recovery"; + const CALL: &'static str = "poke_deposit"; + } } pub struct TransactionApi; impl TransactionApi { @@ -23875,10 +24058,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 241u8, 208u8, 169u8, 26u8, 92u8, 56u8, 242u8, 182u8, 159u8, 37u8, - 223u8, 158u8, 62u8, 250u8, 195u8, 120u8, 153u8, 80u8, 118u8, 123u8, - 20u8, 225u8, 149u8, 24u8, 57u8, 200u8, 107u8, 36u8, 79u8, 221u8, 62u8, - 72u8, + 170u8, 5u8, 7u8, 10u8, 28u8, 76u8, 198u8, 183u8, 180u8, 200u8, 176u8, + 149u8, 178u8, 28u8, 124u8, 42u8, 73u8, 115u8, 32u8, 191u8, 62u8, 219u8, + 195u8, 179u8, 174u8, 34u8, 63u8, 91u8, 162u8, 169u8, 243u8, 115u8, ], ) } @@ -24106,6 +24288,45 @@ pub mod api { ], ) } + #[doc = "Poke deposits for recovery configurations and / or active recoveries."] + #[doc = ""] + #[doc = "This can be used by accounts to possibly lower their locked amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"] + #[doc = "and want to adjust the deposit for the active recovery."] + #[doc = ""] + #[doc = "This function checks both recovery configuration deposit and active recovery deposits"] + #[doc = "of the caller:"] + #[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"] + #[doc = "- If the caller has initiated any active recoveries, and provides the account in"] + #[doc = "`maybe_account`, checks and adjusts those deposits"] + #[doc = ""] + #[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"] + #[doc = "account."] + #[doc = ""] + #[doc = "The transaction is made free if any deposit is updated and paid otherwise."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if any deposit is updated."] + #[doc = "Multiple events may be emitted in case both types of deposits are updated."] + pub fn poke_deposit( + &self, + maybe_account: types::poke_deposit::MaybeAccount, + ) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload + { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( + "Recovery", + "poke_deposit", + types::PokeDeposit { maybe_account }, + [ + 177u8, 98u8, 53u8, 15u8, 228u8, 36u8, 173u8, 55u8, 125u8, 3u8, 234u8, + 70u8, 147u8, 147u8, 124u8, 86u8, 31u8, 101u8, 171u8, 56u8, 148u8, + 180u8, 87u8, 149u8, 11u8, 113u8, 195u8, 35u8, 56u8, 32u8, 251u8, 56u8, + ], + ) + } } } #[doc = "Events type."] @@ -24236,6 +24457,33 @@ pub mod api { const PALLET: &'static str = "Recovery"; const EVENT: &'static str = "RecoveryRemoved"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "A deposit has been updated."] + pub struct DepositPoked { + pub who: deposit_poked::Who, + pub kind: deposit_poked::Kind, + pub old_deposit: deposit_poked::OldDeposit, + pub new_deposit: deposit_poked::NewDeposit, + } + pub mod deposit_poked { + use super::runtime_types; + pub type Who = ::subxt::ext::subxt_core::utils::AccountId32; + pub type Kind = runtime_types::pallet_recovery::DepositKind< + runtime_types::rococo_runtime::Runtime, + >; + pub type OldDeposit = ::core::primitive::u128; + pub type NewDeposit = ::core::primitive::u128; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked { + const PALLET: &'static str = "Recovery"; + const EVENT: &'static str = "DepositPoked"; + } } pub mod storage { use super::runtime_types; @@ -24995,6 +25243,27 @@ pub mod api { )] #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "A vesting schedule has been created."] + pub struct VestingCreated { + pub account: vesting_created::Account, + pub schedule_index: vesting_created::ScheduleIndex, + } + pub mod vesting_created { + use super::runtime_types; + pub type Account = ::subxt::ext::subxt_core::utils::AccountId32; + pub type ScheduleIndex = ::core::primitive::u32; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for VestingCreated { + const PALLET: &'static str = "Vesting"; + const EVENT: &'static str = "VestingCreated"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] #[doc = "The amount vested has been updated. This could indicate a change in funds available."] #[doc = "The balance given is the amount which is left unvested (and thus locked)."] pub struct VestingUpdated { @@ -25492,9 +25761,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 120u8, 201u8, 46u8, 180u8, 223u8, 188u8, 55u8, 41u8, 76u8, 200u8, - 144u8, 143u8, 44u8, 195u8, 247u8, 255u8, 35u8, 10u8, 70u8, 140u8, 33u8, - 12u8, 146u8, 29u8, 69u8, 94u8, 181u8, 214u8, 152u8, 17u8, 0u8, 135u8, + 28u8, 131u8, 251u8, 76u8, 180u8, 77u8, 178u8, 31u8, 166u8, 232u8, + 147u8, 67u8, 15u8, 15u8, 187u8, 39u8, 210u8, 115u8, 84u8, 135u8, 22u8, + 233u8, 251u8, 239u8, 28u8, 62u8, 67u8, 133u8, 61u8, 156u8, 234u8, 5u8, ], ) } @@ -25538,9 +25807,10 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 146u8, 17u8, 117u8, 128u8, 125u8, 121u8, 1u8, 54u8, 209u8, 131u8, - 242u8, 205u8, 60u8, 81u8, 169u8, 109u8, 145u8, 188u8, 58u8, 104u8, 9u8, - 118u8, 89u8, 225u8, 46u8, 139u8, 237u8, 247u8, 184u8, 56u8, 238u8, 0u8, + 53u8, 191u8, 42u8, 220u8, 246u8, 117u8, 98u8, 217u8, 237u8, 217u8, + 203u8, 73u8, 181u8, 225u8, 168u8, 121u8, 10u8, 143u8, 223u8, 231u8, + 133u8, 148u8, 68u8, 193u8, 167u8, 86u8, 185u8, 191u8, 237u8, 238u8, + 98u8, 196u8, ], ) } @@ -25580,9 +25850,10 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 134u8, 194u8, 55u8, 141u8, 55u8, 231u8, 111u8, 250u8, 198u8, 195u8, - 52u8, 70u8, 80u8, 213u8, 146u8, 157u8, 75u8, 221u8, 148u8, 88u8, 99u8, - 67u8, 236u8, 180u8, 49u8, 247u8, 66u8, 178u8, 236u8, 202u8, 9u8, 97u8, + 215u8, 157u8, 221u8, 21u8, 41u8, 211u8, 158u8, 235u8, 22u8, 168u8, + 133u8, 162u8, 255u8, 64u8, 226u8, 177u8, 194u8, 234u8, 160u8, 27u8, + 175u8, 113u8, 246u8, 36u8, 149u8, 75u8, 116u8, 35u8, 43u8, 238u8, 39u8, + 10u8, ], ) } @@ -25607,10 +25878,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 146u8, 237u8, 97u8, 147u8, 192u8, 56u8, 234u8, 109u8, 102u8, 88u8, - 188u8, 107u8, 37u8, 67u8, 81u8, 178u8, 146u8, 126u8, 93u8, 36u8, 151u8, - 99u8, 38u8, 251u8, 66u8, 163u8, 185u8, 140u8, 189u8, 202u8, 220u8, - 240u8, + 105u8, 139u8, 38u8, 248u8, 160u8, 252u8, 79u8, 44u8, 3u8, 84u8, 139u8, + 215u8, 129u8, 109u8, 65u8, 37u8, 42u8, 243u8, 46u8, 80u8, 238u8, 64u8, + 109u8, 204u8, 31u8, 157u8, 55u8, 206u8, 13u8, 85u8, 59u8, 108u8, ], ) } @@ -25971,8 +26241,7 @@ pub mod api { use super::runtime_types; pub type Retries = runtime_types::pallet_scheduler::RetryConfig<::core::primitive::u32>; - pub type Param0 = ::core::primitive::u32; - pub type Param1 = ::core::primitive::u32; + pub type Param0 = (::core::primitive::u32, ::core::primitive::u32); } pub mod lookup { use super::runtime_types; @@ -26018,9 +26287,9 @@ pub mod api { "Agenda", (), [ - 145u8, 10u8, 14u8, 111u8, 55u8, 31u8, 244u8, 24u8, 160u8, 123u8, 120u8, - 83u8, 195u8, 170u8, 17u8, 24u8, 59u8, 219u8, 154u8, 27u8, 9u8, 95u8, - 223u8, 85u8, 27u8, 103u8, 239u8, 52u8, 147u8, 55u8, 11u8, 150u8, + 148u8, 16u8, 2u8, 44u8, 137u8, 244u8, 124u8, 103u8, 156u8, 203u8, 79u8, + 36u8, 95u8, 50u8, 189u8, 52u8, 53u8, 67u8, 1u8, 161u8, 43u8, 194u8, + 225u8, 148u8, 19u8, 232u8, 184u8, 238u8, 63u8, 25u8, 18u8, 125u8, ], ) } @@ -26042,9 +26311,9 @@ pub mod api { "Agenda", ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), [ - 145u8, 10u8, 14u8, 111u8, 55u8, 31u8, 244u8, 24u8, 160u8, 123u8, 120u8, - 83u8, 195u8, 170u8, 17u8, 24u8, 59u8, 219u8, 154u8, 27u8, 9u8, 95u8, - 223u8, 85u8, 27u8, 103u8, 239u8, 52u8, 147u8, 55u8, 11u8, 150u8, + 148u8, 16u8, 2u8, 44u8, 137u8, 244u8, 124u8, 103u8, 156u8, 203u8, 79u8, + 36u8, 95u8, 50u8, 189u8, 52u8, 53u8, 67u8, 1u8, 161u8, 43u8, 194u8, + 225u8, 148u8, 19u8, 232u8, 184u8, 238u8, 63u8, 25u8, 18u8, 125u8, ], ) } @@ -26071,7 +26340,7 @@ pub mod api { ) } #[doc = " Retry configurations for items to be executed, indexed by task address."] - pub fn retries_iter1( + pub fn retries( &self, _0: types::retries::Param0, ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< @@ -26079,9 +26348,9 @@ pub mod api { types::retries::Param0, >, types::retries::Retries, - (), - (), ::subxt::ext::subxt_core::utils::Yes, + (), + (), > { ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( "Scheduler", @@ -26095,40 +26364,6 @@ pub mod api { ], ) } - #[doc = " Retry configurations for items to be executed, indexed by task address."] - pub fn retries( - &self, - _0: types::retries::Param0, - _1: types::retries::Param1, - ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::retries::Param0, - >, - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::retries::Param1, - >, - ), - types::retries::Retries, - ::subxt::ext::subxt_core::utils::Yes, - (), - (), - > { - ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( - "Scheduler", - "Retries", - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1), - ), - [ - 164u8, 27u8, 208u8, 185u8, 19u8, 232u8, 190u8, 97u8, 137u8, 73u8, - 146u8, 10u8, 241u8, 176u8, 251u8, 140u8, 133u8, 65u8, 190u8, 162u8, - 59u8, 32u8, 77u8, 201u8, 27u8, 78u8, 183u8, 164u8, 74u8, 46u8, 139u8, - 145u8, - ], - ) - } #[doc = " Lookup from a name to the block number and index of the task."] #[doc = ""] #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] @@ -26368,7 +26603,7 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "WARNING: This may be called on accounts created by `create_pure`, however if done, then"] #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] pub struct RemoveProxies; impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveProxies { @@ -26436,21 +26671,23 @@ pub mod api { #[doc = "inaccessible."] #[doc = ""] #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] - #[doc = "`pure` with corresponding parameters."] + #[doc = "`create_pure` with corresponding parameters."] #[doc = ""] - #[doc = "- `spawner`: The account that originally called `pure` to create this account."] - #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] - #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] - #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] - #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = "- `spawner`: The account that originally called `create_pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `create_pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `create_pure`."] + #[doc = "- `height`: The height of the chain when the call to `create_pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `create_pure` was processed."] #[doc = ""] #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] - #[doc = "account whose `pure` call has corresponding parameters."] + #[doc = "account whose `create_pure` call has corresponding parameters."] pub struct KillPure { pub spawner: kill_pure::Spawner, pub proxy_type: kill_pure::ProxyType, pub index: kill_pure::Index, + #[codec(compact)] pub height: kill_pure::Height, + #[codec(compact)] pub ext_index: kill_pure::ExtIndex, } pub mod kill_pure { @@ -26682,9 +26919,10 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 227u8, 245u8, 60u8, 37u8, 172u8, 240u8, 92u8, 80u8, 169u8, 116u8, 16u8, - 194u8, 249u8, 90u8, 30u8, 59u8, 28u8, 222u8, 75u8, 146u8, 74u8, 19u8, - 105u8, 192u8, 237u8, 166u8, 63u8, 160u8, 228u8, 131u8, 87u8, 126u8, + 33u8, 66u8, 109u8, 177u8, 67u8, 191u8, 170u8, 33u8, 7u8, 18u8, 61u8, + 183u8, 204u8, 3u8, 254u8, 251u8, 187u8, 214u8, 211u8, 212u8, 63u8, + 103u8, 153u8, 249u8, 146u8, 217u8, 51u8, 22u8, 53u8, 120u8, 224u8, + 55u8, ], ) } @@ -26753,7 +26991,7 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "WARNING: This may be called on accounts created by `create_pure`, however if done, then"] #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] pub fn remove_proxies( &self, @@ -26817,16 +27055,16 @@ pub mod api { #[doc = "inaccessible."] #[doc = ""] #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] - #[doc = "`pure` with corresponding parameters."] + #[doc = "`create_pure` with corresponding parameters."] #[doc = ""] - #[doc = "- `spawner`: The account that originally called `pure` to create this account."] - #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] - #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] - #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] - #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = "- `spawner`: The account that originally called `create_pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `create_pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `create_pure`."] + #[doc = "- `height`: The height of the chain when the call to `create_pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `create_pure` was processed."] #[doc = ""] #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] - #[doc = "account whose `pure` call has corresponding parameters."] + #[doc = "account whose `create_pure` call has corresponding parameters."] pub fn kill_pure( &self, spawner: types::kill_pure::Spawner, @@ -26972,10 +27210,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 179u8, 203u8, 80u8, 126u8, 241u8, 26u8, 159u8, 184u8, 72u8, 204u8, - 195u8, 25u8, 74u8, 248u8, 58u8, 66u8, 41u8, 1u8, 3u8, 173u8, 6u8, - 105u8, 31u8, 93u8, 126u8, 24u8, 136u8, 156u8, 218u8, 160u8, 244u8, - 153u8, + 128u8, 28u8, 200u8, 21u8, 163u8, 133u8, 236u8, 15u8, 35u8, 45u8, 183u8, + 154u8, 30u8, 79u8, 161u8, 189u8, 225u8, 242u8, 7u8, 176u8, 40u8, 27u8, + 153u8, 220u8, 69u8, 125u8, 224u8, 248u8, 140u8, 138u8, 143u8, 207u8, ], ) } @@ -27061,6 +27298,31 @@ pub mod api { )] #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "A pure proxy was killed by its spawner."] + pub struct PureKilled { + pub pure: pure_killed::Pure, + pub spawner: pure_killed::Spawner, + pub proxy_type: pure_killed::ProxyType, + pub disambiguation_index: pure_killed::DisambiguationIndex, + } + pub mod pure_killed { + use super::runtime_types; + pub type Pure = ::subxt::ext::subxt_core::utils::AccountId32; + pub type Spawner = ::subxt::ext::subxt_core::utils::AccountId32; + pub type ProxyType = runtime_types::rococo_runtime::ProxyType; + pub type DisambiguationIndex = ::core::primitive::u16; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for PureKilled { + const PALLET: &'static str = "Proxy"; + const EVENT: &'static str = "PureKilled"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] #[doc = "An announcement was placed to make a call in the future."] pub struct Announced { pub real: announced::Real, @@ -27713,10 +27975,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 13u8, 106u8, 252u8, 205u8, 22u8, 92u8, 176u8, 45u8, 215u8, 236u8, - 184u8, 76u8, 237u8, 184u8, 107u8, 107u8, 150u8, 235u8, 24u8, 25u8, - 196u8, 244u8, 211u8, 55u8, 82u8, 39u8, 215u8, 169u8, 88u8, 46u8, 68u8, - 36u8, + 14u8, 149u8, 179u8, 4u8, 128u8, 8u8, 190u8, 221u8, 83u8, 114u8, 48u8, + 213u8, 198u8, 81u8, 136u8, 239u8, 170u8, 183u8, 70u8, 165u8, 92u8, + 134u8, 61u8, 42u8, 0u8, 209u8, 77u8, 21u8, 236u8, 176u8, 134u8, 132u8, ], ) } @@ -27779,10 +28040,9 @@ pub mod api { max_weight, }, [ - 246u8, 242u8, 103u8, 39u8, 121u8, 152u8, 21u8, 104u8, 56u8, 97u8, 97u8, - 178u8, 213u8, 130u8, 65u8, 54u8, 122u8, 160u8, 172u8, 42u8, 235u8, - 78u8, 179u8, 252u8, 204u8, 153u8, 168u8, 27u8, 169u8, 131u8, 91u8, - 16u8, + 73u8, 93u8, 70u8, 21u8, 37u8, 16u8, 173u8, 153u8, 131u8, 225u8, 139u8, + 228u8, 254u8, 151u8, 43u8, 2u8, 141u8, 183u8, 25u8, 136u8, 67u8, 177u8, + 167u8, 78u8, 143u8, 109u8, 201u8, 206u8, 227u8, 72u8, 20u8, 234u8, ], ) } @@ -28561,8 +28821,10 @@ pub mod api { runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >; - pub type Param0 = ::subxt::ext::subxt_core::utils::H256; - pub type Param1 = ::core::primitive::u32; + pub type Param0 = ( + ::subxt::ext::subxt_core::utils::H256, + ::core::primitive::u32, + ); } } pub struct StorageApi; @@ -28680,7 +28942,7 @@ pub mod api { ], ) } - pub fn preimage_for_iter1( + pub fn preimage_for( &self, _0: types::preimage_for::Param0, ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< @@ -28688,9 +28950,9 @@ pub mod api { types::preimage_for::Param0, >, types::preimage_for::PreimageFor, - (), - (), ::subxt::ext::subxt_core::utils::Yes, + (), + (), > { ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( "Preimage", @@ -28704,39 +28966,6 @@ pub mod api { ], ) } - pub fn preimage_for( - &self, - _0: types::preimage_for::Param0, - _1: types::preimage_for::Param1, - ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::preimage_for::Param0, - >, - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::preimage_for::Param1, - >, - ), - types::preimage_for::PreimageFor, - ::subxt::ext::subxt_core::utils::Yes, - (), - (), - > { - ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( - "Preimage", - "PreimageFor", - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1), - ), - [ - 106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8, - 141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8, - 208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8, - 139u8, - ], - ) - } } } } @@ -29091,6 +29320,7 @@ pub mod api { #[doc = "- `value`: The total payment amount of this bounty, curator fee included."] #[doc = "- `description`: The description of this bounty."] pub struct ProposeBounty { + #[codec(compact)] pub value: propose_bounty::Value, pub description: propose_bounty::Description, } @@ -29123,6 +29353,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct ApproveBounty { + #[codec(compact)] pub bounty_id: approve_bounty::BountyId, } pub mod approve_bounty { @@ -29151,8 +29382,10 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct ProposeCurator { + #[codec(compact)] pub bounty_id: propose_curator::BountyId, pub curator: propose_curator::Curator, + #[codec(compact)] pub fee: propose_curator::Fee, } pub mod propose_curator { @@ -29197,6 +29430,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct UnassignCurator { + #[codec(compact)] pub bounty_id: unassign_curator::BountyId, } pub mod unassign_curator { @@ -29226,6 +29460,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct AcceptCurator { + #[codec(compact)] pub bounty_id: accept_curator::BountyId, } pub mod accept_curator { @@ -29258,6 +29493,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct AwardBounty { + #[codec(compact)] pub bounty_id: award_bounty::BountyId, pub beneficiary: award_bounty::Beneficiary, } @@ -29293,6 +29529,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct ClaimBounty { + #[codec(compact)] pub bounty_id: claim_bounty::BountyId, } pub mod claim_bounty { @@ -29324,6 +29561,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct CloseBounty { + #[codec(compact)] pub bounty_id: close_bounty::BountyId, } pub mod close_bounty { @@ -29355,6 +29593,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct ExtendBountyExpiry { + #[codec(compact)] pub bounty_id: extend_bounty_expiry::BountyId, pub remark: extend_bounty_expiry::Remark, } @@ -29391,8 +29630,10 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] pub struct ApproveBountyWithCurator { + #[codec(compact)] pub bounty_id: approve_bounty_with_curator::BountyId, pub curator: approve_bounty_with_curator::Curator, + #[codec(compact)] pub fee: approve_bounty_with_curator::Fee, } pub mod approve_bounty_with_curator { @@ -29408,6 +29649,44 @@ pub mod api { const PALLET: &'static str = "Bounties"; const CALL: &'static str = "approve_bounty_with_curator"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "Poke the deposit reserved for creating a bounty proposal."] + #[doc = ""] + #[doc = "This can be used by accounts to update their reserved amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `bounty_id`: The bounty id for which to adjust the deposit."] + #[doc = ""] + #[doc = "If the deposit is updated, the difference will be reserved/unreserved from the"] + #[doc = "proposer's account."] + #[doc = ""] + #[doc = "The transaction is made free if the deposit is updated and paid otherwise."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if the deposit is updated."] + pub struct PokeDeposit { + #[codec(compact)] + pub bounty_id: poke_deposit::BountyId, + } + pub mod poke_deposit { + use super::runtime_types; + pub type BountyId = ::core::primitive::u32; + } + impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for PokeDeposit { + const PALLET: &'static str = "Bounties"; + const CALL: &'static str = "poke_deposit"; + } } pub struct TransactionApi; impl TransactionApi { @@ -29692,6 +29971,38 @@ pub mod api { ], ) } + #[doc = "Poke the deposit reserved for creating a bounty proposal."] + #[doc = ""] + #[doc = "This can be used by accounts to update their reserved amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `bounty_id`: The bounty id for which to adjust the deposit."] + #[doc = ""] + #[doc = "If the deposit is updated, the difference will be reserved/unreserved from the"] + #[doc = "proposer's account."] + #[doc = ""] + #[doc = "The transaction is made free if the deposit is updated and paid otherwise."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if the deposit is updated."] + pub fn poke_deposit( + &self, + bounty_id: types::poke_deposit::BountyId, + ) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload + { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( + "Bounties", + "poke_deposit", + types::PokeDeposit { bounty_id }, + [ + 45u8, 230u8, 25u8, 162u8, 115u8, 101u8, 83u8, 123u8, 247u8, 131u8, + 207u8, 156u8, 156u8, 190u8, 181u8, 219u8, 133u8, 238u8, 112u8, 238u8, + 120u8, 40u8, 106u8, 52u8, 205u8, 76u8, 5u8, 143u8, 175u8, 241u8, 34u8, + 85u8, + ], + ) + } } } #[doc = "The `Event` enum of this pallet"] @@ -29919,6 +30230,31 @@ pub mod api { const PALLET: &'static str = "Bounties"; const EVENT: &'static str = "CuratorAccepted"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "A bounty deposit has been poked."] + pub struct DepositPoked { + pub bounty_id: deposit_poked::BountyId, + pub proposer: deposit_poked::Proposer, + pub old_deposit: deposit_poked::OldDeposit, + pub new_deposit: deposit_poked::NewDeposit, + } + pub mod deposit_poked { + use super::runtime_types; + pub type BountyId = ::core::primitive::u32; + pub type Proposer = ::subxt::ext::subxt_core::utils::AccountId32; + pub type OldDeposit = ::core::primitive::u128; + pub type NewDeposit = ::core::primitive::u128; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for DepositPoked { + const PALLET: &'static str = "Bounties"; + const EVENT: &'static str = "DepositPoked"; + } } pub mod storage { use super::runtime_types; @@ -30302,7 +30638,9 @@ pub mod api { #[doc = "- `value`: Value for executing the proposal."] #[doc = "- `description`: Text description for the child-bounty."] pub struct AddChildBounty { + #[codec(compact)] pub parent_bounty_id: add_child_bounty::ParentBountyId, + #[codec(compact)] pub value: add_child_bounty::Value, pub description: add_child_bounty::Description, } @@ -30344,9 +30682,12 @@ pub mod api { #[doc = "- `curator`: Address of child-bounty curator."] #[doc = "- `fee`: payment fee to child-bounty curator for execution."] pub struct ProposeCurator { + #[codec(compact)] pub parent_bounty_id: propose_curator::ParentBountyId, + #[codec(compact)] pub child_bounty_id: propose_curator::ChildBountyId, pub curator: propose_curator::Curator, + #[codec(compact)] pub fee: propose_curator::Fee, } pub mod propose_curator { @@ -30394,7 +30735,9 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] pub struct AcceptCurator { + #[codec(compact)] pub parent_bounty_id: accept_curator::ParentBountyId, + #[codec(compact)] pub child_bounty_id: accept_curator::ChildBountyId, } pub mod accept_curator { @@ -30452,7 +30795,9 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] pub struct UnassignCurator { + #[codec(compact)] pub parent_bounty_id: unassign_curator::ParentBountyId, + #[codec(compact)] pub child_bounty_id: unassign_curator::ChildBountyId, } pub mod unassign_curator { @@ -30493,7 +30838,9 @@ pub mod api { #[doc = "- `child_bounty_id`: Index of child bounty."] #[doc = "- `beneficiary`: Beneficiary account."] pub struct AwardChildBounty { + #[codec(compact)] pub parent_bounty_id: award_child_bounty::ParentBountyId, + #[codec(compact)] pub child_bounty_id: award_child_bounty::ChildBountyId, pub beneficiary: award_child_bounty::Beneficiary, } @@ -30538,7 +30885,9 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] pub struct ClaimChildBounty { + #[codec(compact)] pub parent_bounty_id: claim_child_bounty::ParentBountyId, + #[codec(compact)] pub child_bounty_id: claim_child_bounty::ChildBountyId, } pub mod claim_child_bounty { @@ -30584,7 +30933,9 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] pub struct CloseChildBounty { + #[codec(compact)] pub parent_bounty_id: close_child_bounty::ParentBountyId, + #[codec(compact)] pub child_bounty_id: close_child_bounty::ChildBountyId, } pub mod close_child_bounty { @@ -31497,6 +31848,7 @@ pub mod api { #[doc = "Complexities:"] #[doc = "- `Queues[duration].len()` (just take max)."] pub struct PlaceBid { + #[codec(compact)] pub amount: place_bid::Amount, pub duration: place_bid::Duration, } @@ -31528,6 +31880,7 @@ pub mod api { #[doc = "- `amount`: The amount of the previous bid."] #[doc = "- `duration`: The duration of the previous bid."] pub struct RetractBid { + #[codec(compact)] pub amount: retract_bid::Amount, pub duration: retract_bid::Duration, } @@ -31579,6 +31932,7 @@ pub mod api { #[doc = "- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If"] #[doc = " `None`, then all of it should be."] pub struct ThawPrivate { + #[codec(compact)] pub index: thaw_private::Index, pub maybe_proportion: thaw_private::MaybeProportion, } @@ -31611,6 +31965,7 @@ pub mod api { #[doc = " for receipt `index`."] #[doc = "- `index`: The index of the receipt."] pub struct ThawCommunal { + #[codec(compact)] pub index: thaw_communal::Index, } pub mod thaw_communal { @@ -31634,6 +31989,7 @@ pub mod api { )] #[doc = "Make a private receipt communal and create fungible counterparts for its owner."] pub struct Communify { + #[codec(compact)] pub index: communify::Index, } pub mod communify { @@ -31657,6 +32013,7 @@ pub mod api { )] #[doc = "Make a communal receipt private and burn fungible counterparts from its owner."] pub struct Privatize { + #[codec(compact)] pub index: privatize::Index, } pub mod privatize { @@ -32409,6 +32766,7 @@ pub mod api { #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] pub struct TransferAllowDeath { pub dest: transfer_allow_death::Dest, + #[codec(compact)] pub value: transfer_allow_death::Value, } pub mod transfer_allow_death { @@ -32439,6 +32797,7 @@ pub mod api { pub struct ForceTransfer { pub source: force_transfer::Source, pub dest: force_transfer::Dest, + #[codec(compact)] pub value: force_transfer::Value, } pub mod force_transfer { @@ -32476,6 +32835,7 @@ pub mod api { #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] pub struct TransferKeepAlive { pub dest: transfer_keep_alive::Dest, + #[codec(compact)] pub value: transfer_keep_alive::Value, } pub mod transfer_keep_alive { @@ -32610,6 +32970,7 @@ pub mod api { #[doc = "The dispatch origin for this call is `root`."] pub struct ForceSetBalance { pub who: force_set_balance::Who, + #[codec(compact)] pub new_free: force_set_balance::NewFree, } pub mod force_set_balance { @@ -32642,6 +33003,7 @@ pub mod api { #[doc = "# Example"] pub struct ForceAdjustTotalIssuance { pub direction: force_adjust_total_issuance::Direction, + #[codec(compact)] pub delta: force_adjust_total_issuance::Delta, } pub mod force_adjust_total_issuance { @@ -32672,6 +33034,7 @@ pub mod api { #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] pub struct Burn { + #[codec(compact)] pub value: burn::Value, pub keep_alive: burn::KeepAlive, } @@ -33686,9 +34049,9 @@ pub mod api { "Holds", (), [ - 72u8, 137u8, 235u8, 171u8, 118u8, 154u8, 86u8, 85u8, 70u8, 201u8, 73u8, - 9u8, 102u8, 160u8, 24u8, 93u8, 181u8, 22u8, 71u8, 178u8, 243u8, 94u8, - 3u8, 47u8, 90u8, 11u8, 219u8, 31u8, 4u8, 131u8, 154u8, 154u8, + 6u8, 68u8, 133u8, 169u8, 100u8, 31u8, 19u8, 164u8, 80u8, 22u8, 132u8, + 73u8, 190u8, 31u8, 34u8, 82u8, 132u8, 79u8, 92u8, 15u8, 204u8, 149u8, + 109u8, 203u8, 169u8, 162u8, 250u8, 223u8, 182u8, 170u8, 251u8, 178u8, ], ) } @@ -33710,9 +34073,9 @@ pub mod api { "Holds", ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), [ - 72u8, 137u8, 235u8, 171u8, 118u8, 154u8, 86u8, 85u8, 70u8, 201u8, 73u8, - 9u8, 102u8, 160u8, 24u8, 93u8, 181u8, 22u8, 71u8, 178u8, 243u8, 94u8, - 3u8, 47u8, 90u8, 11u8, 219u8, 31u8, 4u8, 131u8, 154u8, 154u8, + 6u8, 68u8, 133u8, 169u8, 100u8, 31u8, 19u8, 164u8, 80u8, 22u8, 132u8, + 73u8, 190u8, 31u8, 34u8, 82u8, 132u8, 79u8, 92u8, 15u8, 204u8, 149u8, + 109u8, 203u8, 169u8, 162u8, 250u8, 223u8, 182u8, 170u8, 251u8, 178u8, ], ) } @@ -36708,6 +37071,96 @@ pub mod api { const PALLET: &'static str = "Paras"; const CALL: &'static str = "force_set_most_recent_context"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "Remove an upgrade cooldown for a parachain."] + #[doc = ""] + #[doc = "The cost for removing the cooldown earlier depends on the time left for the cooldown"] + #[doc = "multiplied by [`Config::CooldownRemovalMultiplier`]. The paid tokens are burned."] + pub struct RemoveUpgradeCooldown { + pub para: remove_upgrade_cooldown::Para, + } + pub mod remove_upgrade_cooldown { + use super::runtime_types; + pub type Para = runtime_types::polkadot_parachain_primitives::primitives::Id; + } + impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for RemoveUpgradeCooldown { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "remove_upgrade_cooldown"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "Sets the storage for the authorized current code hash of the parachain."] + #[doc = "If not applied, it will be removed at the `System::block_number() + valid_period` block."] + #[doc = ""] + #[doc = "This can be useful, when triggering `Paras::force_set_current_code(para, code)`"] + #[doc = "from a different chain than the one where the `Paras` pallet is deployed."] + #[doc = ""] + #[doc = "The main purpose is to avoid transferring the entire `code` Wasm blob between chains."] + #[doc = "Instead, we authorize `code_hash` with `root`, which can later be applied by"] + #[doc = "`Paras::apply_authorized_force_set_current_code(para, code)` by anyone."] + #[doc = ""] + #[doc = "Authorizations are stored in an **overwriting manner**."] + pub struct AuthorizeForceSetCurrentCodeHash { + pub para: authorize_force_set_current_code_hash::Para, + pub new_code_hash: authorize_force_set_current_code_hash::NewCodeHash, + pub valid_period: authorize_force_set_current_code_hash::ValidPeriod, + } + pub mod authorize_force_set_current_code_hash { + use super::runtime_types; + pub type Para = runtime_types::polkadot_parachain_primitives::primitives::Id; + pub type NewCodeHash = runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash ; + pub type ValidPeriod = ::core::primitive::u32; + } + impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for AuthorizeForceSetCurrentCodeHash { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "authorize_force_set_current_code_hash"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "Applies the already authorized current code for the parachain,"] + #[doc = "triggering the same functionality as `force_set_current_code`."] + pub struct ApplyAuthorizedForceSetCurrentCode { + pub para: apply_authorized_force_set_current_code::Para, + pub new_code: apply_authorized_force_set_current_code::NewCode, + } + pub mod apply_authorized_force_set_current_code { + use super::runtime_types; + pub type Para = runtime_types::polkadot_parachain_primitives::primitives::Id; + pub type NewCode = + runtime_types::polkadot_parachain_primitives::primitives::ValidationCode; + } + impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ApplyAuthorizedForceSetCurrentCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "apply_authorized_force_set_current_code"; + } } pub struct TransactionApi; impl TransactionApi { @@ -36907,6 +37360,81 @@ pub mod api { ], ) } + #[doc = "Remove an upgrade cooldown for a parachain."] + #[doc = ""] + #[doc = "The cost for removing the cooldown earlier depends on the time left for the cooldown"] + #[doc = "multiplied by [`Config::CooldownRemovalMultiplier`]. The paid tokens are burned."] + pub fn remove_upgrade_cooldown( + &self, + para: types::remove_upgrade_cooldown::Para, + ) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload< + types::RemoveUpgradeCooldown, + > { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( + "Paras", + "remove_upgrade_cooldown", + types::RemoveUpgradeCooldown { para }, + [ + 97u8, 182u8, 203u8, 33u8, 194u8, 209u8, 1u8, 8u8, 237u8, 63u8, 156u8, + 50u8, 23u8, 179u8, 171u8, 89u8, 74u8, 73u8, 191u8, 28u8, 102u8, 166u8, + 89u8, 180u8, 166u8, 219u8, 110u8, 170u8, 77u8, 170u8, 151u8, 87u8, + ], + ) + } + #[doc = "Sets the storage for the authorized current code hash of the parachain."] + #[doc = "If not applied, it will be removed at the `System::block_number() + valid_period` block."] + #[doc = ""] + #[doc = "This can be useful, when triggering `Paras::force_set_current_code(para, code)`"] + #[doc = "from a different chain than the one where the `Paras` pallet is deployed."] + #[doc = ""] + #[doc = "The main purpose is to avoid transferring the entire `code` Wasm blob between chains."] + #[doc = "Instead, we authorize `code_hash` with `root`, which can later be applied by"] + #[doc = "`Paras::apply_authorized_force_set_current_code(para, code)` by anyone."] + #[doc = ""] + #[doc = "Authorizations are stored in an **overwriting manner**."] + pub fn authorize_force_set_current_code_hash( + &self, + para: types::authorize_force_set_current_code_hash::Para, + new_code_hash: types::authorize_force_set_current_code_hash::NewCodeHash, + valid_period: types::authorize_force_set_current_code_hash::ValidPeriod, + ) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload< + types::AuthorizeForceSetCurrentCodeHash, + > { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( + "Paras", + "authorize_force_set_current_code_hash", + types::AuthorizeForceSetCurrentCodeHash { + para, + new_code_hash, + valid_period, + }, + [ + 58u8, 211u8, 30u8, 92u8, 73u8, 11u8, 68u8, 77u8, 96u8, 192u8, 34u8, + 32u8, 13u8, 63u8, 34u8, 80u8, 193u8, 56u8, 218u8, 241u8, 64u8, 9u8, + 91u8, 130u8, 73u8, 246u8, 233u8, 65u8, 225u8, 244u8, 22u8, 60u8, + ], + ) + } + #[doc = "Applies the already authorized current code for the parachain,"] + #[doc = "triggering the same functionality as `force_set_current_code`."] + pub fn apply_authorized_force_set_current_code( + &self, + para: types::apply_authorized_force_set_current_code::Para, + new_code: types::apply_authorized_force_set_current_code::NewCode, + ) -> ::subxt::ext::subxt_core::tx::payload::StaticPayload< + types::ApplyAuthorizedForceSetCurrentCode, + > { + ::subxt::ext::subxt_core::tx::payload::StaticPayload::new_static( + "Paras", + "apply_authorized_force_set_current_code", + types::ApplyAuthorizedForceSetCurrentCode { para, new_code }, + [ + 214u8, 157u8, 64u8, 213u8, 9u8, 144u8, 81u8, 217u8, 8u8, 212u8, 12u8, + 39u8, 87u8, 21u8, 255u8, 6u8, 131u8, 104u8, 92u8, 81u8, 140u8, 104u8, + 185u8, 225u8, 90u8, 4u8, 50u8, 42u8, 175u8, 243u8, 78u8, 62u8, + ], + ) + } } } #[doc = "The `Event` enum of this pallet"] @@ -37068,6 +37596,49 @@ pub mod api { const PALLET: &'static str = "Paras"; const EVENT: &'static str = "PvfCheckRejected"; } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "The upgrade cooldown was removed."] + pub struct UpgradeCooldownRemoved { + pub para_id: upgrade_cooldown_removed::ParaId, + } + pub mod upgrade_cooldown_removed { + use super::runtime_types; + pub type ParaId = runtime_types::polkadot_parachain_primitives::primitives::Id; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for UpgradeCooldownRemoved { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "UpgradeCooldownRemoved"; + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + #[doc = "A new code hash has been authorized for a Para."] + pub struct CodeAuthorized { + pub para_id: code_authorized::ParaId, + pub code_hash: code_authorized::CodeHash, + pub expire_at: code_authorized::ExpireAt, + } + pub mod code_authorized { + use super::runtime_types; + pub type ParaId = runtime_types::polkadot_parachain_primitives::primitives::Id; + pub type CodeHash = + runtime_types::polkadot_parachain_primitives::primitives::ValidationCodeHash; + pub type ExpireAt = ::core::primitive::u32; + } + impl ::subxt::ext::subxt_core::events::StaticEvent for CodeAuthorized { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "CodeAuthorized"; + } } pub mod storage { use super::runtime_types; @@ -37116,8 +37687,10 @@ pub mod api { pub mod past_code_hash { use super::runtime_types; pub type PastCodeHash = runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash ; - pub type Param0 = runtime_types::polkadot_parachain_primitives::primitives::Id; - pub type Param1 = ::core::primitive::u32; + pub type Param0 = ( + runtime_types::polkadot_parachain_primitives::primitives::Id, + ::core::primitive::u32, + ); } pub mod past_code_meta { use super::runtime_types; @@ -37151,6 +37724,11 @@ pub mod api { pub type FutureCodeHash = runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash ; pub type Param0 = runtime_types::polkadot_parachain_primitives::primitives::Id; } + pub mod authorized_code_hash { + use super::runtime_types; + pub type AuthorizedCodeHash = runtime_types :: polkadot_runtime_parachains :: paras :: AuthorizedCodeHashAndExpiry < :: core :: primitive :: u32 > ; + pub type Param0 = runtime_types::polkadot_parachain_primitives::primitives::Id; + } pub mod upgrade_go_ahead_signal { use super::runtime_types; pub type UpgradeGoAheadSignal = @@ -37517,7 +38095,7 @@ pub mod api { #[doc = " became outdated."] #[doc = ""] #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] - pub fn past_code_hash_iter1( + pub fn past_code_hash( &self, _0: types::past_code_hash::Param0, ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< @@ -37525,9 +38103,9 @@ pub mod api { types::past_code_hash::Param0, >, types::past_code_hash::PastCodeHash, - (), - (), ::subxt::ext::subxt_core::utils::Yes, + (), + (), > { ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( "Paras", @@ -37540,42 +38118,6 @@ pub mod api { ], ) } - #[doc = " Actual past code hash, indicated by the para id as well as the block number at which it"] - #[doc = " became outdated."] - #[doc = ""] - #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] - pub fn past_code_hash( - &self, - _0: types::past_code_hash::Param0, - _1: types::past_code_hash::Param1, - ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::past_code_hash::Param0, - >, - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::past_code_hash::Param1, - >, - ), - types::past_code_hash::PastCodeHash, - ::subxt::ext::subxt_core::utils::Yes, - (), - (), - > { - ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( - "Paras", - "PastCodeHash", - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1), - ), - [ - 73u8, 209u8, 188u8, 36u8, 127u8, 42u8, 171u8, 136u8, 29u8, 126u8, - 220u8, 209u8, 230u8, 22u8, 12u8, 63u8, 8u8, 102u8, 45u8, 158u8, 178u8, - 232u8, 8u8, 6u8, 71u8, 188u8, 140u8, 41u8, 10u8, 215u8, 22u8, 153u8, - ], - ) - } #[doc = " Past code of parachains. The parachains themselves may not be registered anymore,"] #[doc = " but we also keep their code on-chain for the same amount of time as outdated code"] #[doc = " to keep it available for approval checkers."] @@ -37780,6 +38322,53 @@ pub mod api { ], ) } + #[doc = " The code hash authorizations for a para which will expire `expire_at` `BlockNumberFor`."] + pub fn authorized_code_hash_iter( + &self, + ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< + (), + types::authorized_code_hash::AuthorizedCodeHash, + (), + (), + ::subxt::ext::subxt_core::utils::Yes, + > { + ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( + "Paras", + "AuthorizedCodeHash", + (), + [ + 40u8, 172u8, 86u8, 193u8, 229u8, 230u8, 29u8, 63u8, 188u8, 154u8, + 240u8, 236u8, 117u8, 218u8, 221u8, 102u8, 154u8, 246u8, 136u8, 153u8, + 225u8, 171u8, 156u8, 219u8, 91u8, 2u8, 69u8, 34u8, 119u8, 119u8, 206u8, + 145u8, + ], + ) + } + #[doc = " The code hash authorizations for a para which will expire `expire_at` `BlockNumberFor`."] + pub fn authorized_code_hash( + &self, + _0: types::authorized_code_hash::Param0, + ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< + ::subxt::ext::subxt_core::storage::address::StaticStorageKey< + types::authorized_code_hash::Param0, + >, + types::authorized_code_hash::AuthorizedCodeHash, + ::subxt::ext::subxt_core::utils::Yes, + (), + (), + > { + ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( + "Paras", + "AuthorizedCodeHash", + ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), + [ + 40u8, 172u8, 86u8, 193u8, 229u8, 230u8, 29u8, 63u8, 188u8, 154u8, + 240u8, 236u8, 117u8, 218u8, 221u8, 102u8, 154u8, 246u8, 136u8, 153u8, + 225u8, 171u8, 156u8, 219u8, 91u8, 2u8, 69u8, 34u8, 119u8, 119u8, 206u8, + 145u8, + ], + ) + } #[doc = " This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade"] #[doc = " procedure."] #[doc = ""] @@ -40721,7 +41310,7 @@ pub mod api { pub mod report_dispute_lost_unsigned { use super::runtime_types; pub type DisputeProof = - runtime_types::polkadot_primitives::v8::slashing::DisputeProof; + runtime_types::polkadot_primitives::vstaging::DisputeProof; pub type KeyOwnerProof = runtime_types::sp_session::MembershipProof; } impl ::subxt::ext::subxt_core::blocks::StaticExtrinsic for ReportDisputeLostUnsigned { @@ -40748,9 +41337,9 @@ pub mod api { key_owner_proof, }, [ - 18u8, 73u8, 202u8, 17u8, 170u8, 157u8, 84u8, 74u8, 185u8, 45u8, 77u8, - 154u8, 79u8, 108u8, 36u8, 247u8, 125u8, 6u8, 170u8, 179u8, 64u8, 149u8, - 201u8, 138u8, 74u8, 148u8, 37u8, 120u8, 235u8, 220u8, 214u8, 95u8, + 56u8, 151u8, 214u8, 24u8, 108u8, 55u8, 217u8, 144u8, 199u8, 113u8, + 42u8, 100u8, 246u8, 216u8, 82u8, 85u8, 242u8, 84u8, 191u8, 22u8, 246u8, + 30u8, 54u8, 184u8, 90u8, 172u8, 233u8, 243u8, 87u8, 243u8, 219u8, 71u8, ], ) } @@ -40763,7 +41352,7 @@ pub mod api { pub mod unapplied_slashes { use super::runtime_types; pub type UnappliedSlashes = - runtime_types::polkadot_primitives::v8::slashing::PendingSlashes; + runtime_types::polkadot_primitives::vstaging::PendingSlashes; pub type Param0 = ::core::primitive::u32; pub type Param1 = runtime_types::polkadot_core_primitives::CandidateHash; } @@ -40790,10 +41379,10 @@ pub mod api { "UnappliedSlashes", (), [ - 139u8, 156u8, 52u8, 31u8, 151u8, 223u8, 139u8, 230u8, 222u8, 217u8, - 12u8, 49u8, 83u8, 192u8, 23u8, 89u8, 204u8, 185u8, 212u8, 185u8, 176u8, - 49u8, 91u8, 206u8, 184u8, 98u8, 65u8, 151u8, 246u8, 128u8, 149u8, - 186u8, + 33u8, 56u8, 255u8, 142u8, 106u8, 140u8, 122u8, 102u8, 103u8, 68u8, + 118u8, 101u8, 50u8, 11u8, 42u8, 230u8, 186u8, 94u8, 118u8, 217u8, + 121u8, 217u8, 43u8, 149u8, 143u8, 42u8, 108u8, 81u8, 56u8, 24u8, 235u8, + 18u8, ], ) } @@ -40815,10 +41404,10 @@ pub mod api { "UnappliedSlashes", ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), [ - 139u8, 156u8, 52u8, 31u8, 151u8, 223u8, 139u8, 230u8, 222u8, 217u8, - 12u8, 49u8, 83u8, 192u8, 23u8, 89u8, 204u8, 185u8, 212u8, 185u8, 176u8, - 49u8, 91u8, 206u8, 184u8, 98u8, 65u8, 151u8, 246u8, 128u8, 149u8, - 186u8, + 33u8, 56u8, 255u8, 142u8, 106u8, 140u8, 122u8, 102u8, 103u8, 68u8, + 118u8, 101u8, 50u8, 11u8, 42u8, 230u8, 186u8, 94u8, 118u8, 217u8, + 121u8, 217u8, 43u8, 149u8, 143u8, 42u8, 108u8, 81u8, 56u8, 24u8, 235u8, + 18u8, ], ) } @@ -40849,10 +41438,10 @@ pub mod api { ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1), ), [ - 139u8, 156u8, 52u8, 31u8, 151u8, 223u8, 139u8, 230u8, 222u8, 217u8, - 12u8, 49u8, 83u8, 192u8, 23u8, 89u8, 204u8, 185u8, 212u8, 185u8, 176u8, - 49u8, 91u8, 206u8, 184u8, 98u8, 65u8, 151u8, 246u8, 128u8, 149u8, - 186u8, + 33u8, 56u8, 255u8, 142u8, 106u8, 140u8, 122u8, 102u8, 103u8, 68u8, + 118u8, 101u8, 50u8, 11u8, 42u8, 230u8, 186u8, 94u8, 118u8, 217u8, + 121u8, 217u8, 43u8, 149u8, 143u8, 42u8, 108u8, 81u8, 56u8, 24u8, 235u8, + 18u8, ], ) } @@ -42052,8 +42641,10 @@ pub mod api { runtime_types::polkadot_runtime_parachains::assigner_coretime::Schedule< ::core::primitive::u32, >; - pub type Param0 = ::core::primitive::u32; - pub type Param1 = runtime_types::polkadot_primitives::v8::CoreIndex; + pub type Param0 = ( + ::core::primitive::u32, + runtime_types::polkadot_primitives::v8::CoreIndex, + ); } pub mod core_descriptors { use super::runtime_types; @@ -42091,15 +42682,15 @@ pub mod api { #[doc = ""] #[doc = " Assignments as of the given block number. They will go into state once the block number is"] #[doc = " reached (and replace whatever was in there before)."] - pub fn core_schedules_iter1( + pub fn core_schedules( &self, _0: types::core_schedules::Param0, ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< (), types::core_schedules::CoreSchedules, - (), - (), ::subxt::ext::subxt_core::utils::Yes, + (), + (), > { ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( "CoretimeAssignmentProvider", @@ -42112,32 +42703,6 @@ pub mod api { ], ) } - #[doc = " Scheduled assignment sets."] - #[doc = ""] - #[doc = " Assignments as of the given block number. They will go into state once the block number is"] - #[doc = " reached (and replace whatever was in there before)."] - pub fn core_schedules( - &self, - _0: types::core_schedules::Param0, - _1: types::core_schedules::Param1, - ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< - ((), ()), - types::core_schedules::CoreSchedules, - ::subxt::ext::subxt_core::utils::Yes, - (), - (), - > { - ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( - "CoretimeAssignmentProvider", - "CoreSchedules", - ((), ()), - [ - 34u8, 85u8, 91u8, 158u8, 28u8, 200u8, 76u8, 188u8, 253u8, 91u8, 153u8, - 42u8, 42u8, 227u8, 119u8, 181u8, 247u8, 44u8, 29u8, 24u8, 128u8, 49u8, - 57u8, 248u8, 24u8, 145u8, 34u8, 74u8, 21u8, 225u8, 159u8, 232u8, - ], - ) - } #[doc = " Assignments which are currently active."] #[doc = ""] #[doc = " They will be picked from `PendingAssignments` once we reach the scheduled block number in"] @@ -43429,7 +43994,9 @@ pub mod api { #[doc = "called by the root origin. Accepts the `duration` of this auction and the"] #[doc = "`lease_period_index` of the initial lease period of the four that are to be auctioned."] pub struct NewAuction { + #[codec(compact)] pub duration: new_auction::Duration, + #[codec(compact)] pub lease_period_index: new_auction::LeasePeriodIndex, } pub mod new_auction { @@ -43469,10 +44036,15 @@ pub mod api { #[doc = "- `amount` is the amount to bid to be held as deposit for the parachain should the"] #[doc = "bid win. This amount is held throughout the range."] pub struct Bid { + #[codec(compact)] pub para: bid::Para, + #[codec(compact)] pub auction_index: bid::AuctionIndex, + #[codec(compact)] pub first_slot: bid::FirstSlot, + #[codec(compact)] pub last_slot: bid::LastSlot, + #[codec(compact)] pub amount: bid::Amount, } pub mod bid { @@ -43778,8 +44350,10 @@ pub mod api { pub mod reserved_amounts { use super::runtime_types; pub type ReservedAmounts = ::core::primitive::u128; - pub type Param0 = ::subxt::ext::subxt_core::utils::AccountId32; - pub type Param1 = runtime_types::polkadot_parachain_primitives::primitives::Id; + pub type Param0 = ( + ::subxt::ext::subxt_core::utils::AccountId32, + runtime_types::polkadot_parachain_primitives::primitives::Id, + ); } pub mod winning { use super::runtime_types; @@ -43864,7 +44438,7 @@ pub mod api { } #[doc = " Amounts currently reserved in the accounts of the bidders currently winning"] #[doc = " (sub-)ranges."] - pub fn reserved_amounts_iter1( + pub fn reserved_amounts( &self, _0: types::reserved_amounts::Param0, ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< @@ -43872,9 +44446,9 @@ pub mod api { types::reserved_amounts::Param0, >, types::reserved_amounts::ReservedAmounts, - (), - (), ::subxt::ext::subxt_core::utils::Yes, + (), + (), > { ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( "Auctions", @@ -43888,41 +44462,6 @@ pub mod api { ], ) } - #[doc = " Amounts currently reserved in the accounts of the bidders currently winning"] - #[doc = " (sub-)ranges."] - pub fn reserved_amounts( - &self, - _0: types::reserved_amounts::Param0, - _1: types::reserved_amounts::Param1, - ) -> ::subxt::ext::subxt_core::storage::address::StaticAddress< - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::reserved_amounts::Param0, - >, - ::subxt::ext::subxt_core::storage::address::StaticStorageKey< - types::reserved_amounts::Param1, - >, - ), - types::reserved_amounts::ReservedAmounts, - ::subxt::ext::subxt_core::utils::Yes, - (), - (), - > { - ::subxt::ext::subxt_core::storage::address::StaticAddress::new_static( - "Auctions", - "ReservedAmounts", - ( - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_0), - ::subxt::ext::subxt_core::storage::address::StaticStorageKey::new(_1), - ), - [ - 77u8, 44u8, 116u8, 36u8, 189u8, 213u8, 126u8, 32u8, 42u8, 131u8, 108u8, - 41u8, 147u8, 40u8, 247u8, 245u8, 161u8, 42u8, 152u8, 195u8, 28u8, - 142u8, 231u8, 209u8, 113u8, 11u8, 240u8, 37u8, 112u8, 38u8, 239u8, - 245u8, - ], - ) - } #[doc = " The winning bids for each of the 10 ranges at each sample in the final Ending Period of"] #[doc = " the current auction. The map's key is the 0-based index into the Sample Size. The"] #[doc = " first sample of the ending period is 0; the last is `Sample Size - 1`."] @@ -44079,10 +44618,15 @@ pub mod api { #[doc = "This applies a lock to your parachain configuration, ensuring that it cannot be changed"] #[doc = "by the parachain manager."] pub struct Create { + #[codec(compact)] pub index: create::Index, + #[codec(compact)] pub cap: create::Cap, + #[codec(compact)] pub first_period: create::FirstPeriod, + #[codec(compact)] pub last_period: create::LastPeriod, + #[codec(compact)] pub end: create::End, pub verifier: create::Verifier, } @@ -44114,7 +44658,9 @@ pub mod api { #[doc = "Contribute to a crowd sale. This will transfer some balance over to fund a parachain"] #[doc = "slot. It will be withdrawable when the crowdloan has ended and the funds are unused."] pub struct Contribute { + #[codec(compact)] pub index: contribute::Index, + #[codec(compact)] pub value: contribute::Value, pub signature: contribute::Signature, } @@ -44159,6 +44705,7 @@ pub mod api { #[doc = "- `index`: The parachain to whose crowdloan the contribution was made."] pub struct Withdraw { pub who: withdraw::Who, + #[codec(compact)] pub index: withdraw::Index, } pub mod withdraw { @@ -44187,6 +44734,7 @@ pub mod api { #[doc = ""] #[doc = "Origin must be signed, but can come from anyone."] pub struct Refund { + #[codec(compact)] pub index: refund::Index, } pub mod refund { @@ -44210,6 +44758,7 @@ pub mod api { )] #[doc = "Remove a fund after the retirement period has ended and all funds have been returned."] pub struct Dissolve { + #[codec(compact)] pub index: dissolve::Index, } pub mod dissolve { @@ -44235,10 +44784,15 @@ pub mod api { #[doc = ""] #[doc = "Can only be called by Root origin."] pub struct Edit { + #[codec(compact)] pub index: edit::Index, + #[codec(compact)] pub cap: edit::Cap, + #[codec(compact)] pub first_period: edit::FirstPeriod, + #[codec(compact)] pub last_period: edit::LastPeriod, + #[codec(compact)] pub end: edit::End, pub verifier: edit::Verifier, } @@ -44324,6 +44878,7 @@ pub mod api { #[doc = "a user over to fund a parachain slot. It will be withdrawable when the crowdloan has"] #[doc = "ended and the funds are unused."] pub struct ContributeAll { + #[codec(compact)] pub index: contribute_all::Index, pub signature: contribute_all::Signature, } @@ -48678,6 +49233,30 @@ pub mod api { } } } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The latest supported version that we advertise. Generally just set it to"] + #[doc = " `pallet_xcm::CurrentXcmVersion`."] + pub fn advertised_xcm_version( + &self, + ) -> ::subxt::ext::subxt_core::constants::address::StaticAddress< + ::core::primitive::u32, + > { + ::subxt::ext::subxt_core::constants::address::StaticAddress::new_static( + "XcmPallet", + "AdvertisedXcmVersion", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } } pub mod beefy { use super::root_mod; @@ -51736,9 +52315,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 88u8, 179u8, 207u8, 98u8, 7u8, 26u8, 66u8, 57u8, 224u8, 225u8, 15u8, - 213u8, 95u8, 51u8, 201u8, 24u8, 73u8, 123u8, 54u8, 72u8, 156u8, 107u8, - 202u8, 185u8, 150u8, 137u8, 2u8, 221u8, 125u8, 163u8, 220u8, 123u8, + 142u8, 6u8, 237u8, 75u8, 9u8, 157u8, 134u8, 173u8, 13u8, 91u8, 16u8, + 214u8, 125u8, 89u8, 162u8, 242u8, 85u8, 58u8, 152u8, 18u8, 117u8, + 140u8, 1u8, 37u8, 116u8, 215u8, 224u8, 115u8, 37u8, 212u8, 51u8, 154u8, ], ) } @@ -51761,10 +52340,10 @@ pub mod api { weight, }, [ - 209u8, 40u8, 11u8, 125u8, 177u8, 142u8, 236u8, 115u8, 236u8, 69u8, - 213u8, 35u8, 55u8, 120u8, 186u8, 117u8, 33u8, 74u8, 226u8, 26u8, 146u8, - 241u8, 153u8, 251u8, 8u8, 215u8, 64u8, 117u8, 166u8, 155u8, 96u8, - 211u8, + 21u8, 106u8, 255u8, 109u8, 83u8, 78u8, 79u8, 233u8, 36u8, 237u8, 76u8, + 100u8, 27u8, 180u8, 32u8, 181u8, 250u8, 208u8, 192u8, 104u8, 128u8, + 80u8, 148u8, 88u8, 230u8, 109u8, 102u8, 255u8, 184u8, 100u8, 194u8, + 65u8, ], ) } @@ -51804,9 +52383,9 @@ pub mod api { call: ::subxt::ext::subxt_core::alloc::boxed::Box::new(call), }, [ - 181u8, 199u8, 53u8, 7u8, 172u8, 130u8, 39u8, 31u8, 214u8, 17u8, 29u8, - 196u8, 97u8, 253u8, 244u8, 48u8, 121u8, 2u8, 94u8, 155u8, 248u8, 60u8, - 255u8, 98u8, 243u8, 103u8, 214u8, 104u8, 86u8, 169u8, 31u8, 195u8, + 140u8, 221u8, 91u8, 39u8, 108u8, 238u8, 199u8, 29u8, 54u8, 6u8, 203u8, + 45u8, 172u8, 0u8, 67u8, 64u8, 198u8, 58u8, 84u8, 42u8, 159u8, 36u8, + 109u8, 22u8, 134u8, 31u8, 41u8, 115u8, 252u8, 14u8, 232u8, 180u8, ], ) } @@ -52038,7 +52617,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum Mode { + #[codec(index = 0)] Disabled, + #[codec(index = 1)] Enabled, } } @@ -52058,8 +52639,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum DispatchClass { + #[codec(index = 0)] Normal, + #[codec(index = 1)] Operational, + #[codec(index = 2)] Mandatory, } #[derive( @@ -52074,7 +52658,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Pays { + #[codec(index = 0)] Yes, + #[codec(index = 1)] No, } #[derive( @@ -52121,9 +52707,14 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum RawOrigin<_0> { + #[codec(index = 0)] Root, + #[codec(index = 1)] Signed(_0), + #[codec(index = 2)] None, + #[codec(index = 3)] + Authorized, } } pub mod traits { @@ -52142,11 +52733,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ProcessMessageError { + #[codec(index = 0)] BadFormat, + #[codec(index = 1)] Corrupt, + #[codec(index = 2)] Unsupported, + #[codec(index = 3)] Overweight(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 4)] Yield, + #[codec(index = 5)] StackLimitReached, } } @@ -52164,14 +52761,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Bounded<_0, _1> { + #[codec(index = 0)] Legacy { hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 1)] Inline( runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ), + #[codec(index = 2)] Lookup { hash: ::subxt::ext::subxt_core::utils::H256, len: ::core::primitive::u32, @@ -52193,7 +52793,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum DispatchTime<_0> { + #[codec(index = 0)] At(_0), + #[codec(index = 1)] After(_0), } } @@ -52243,7 +52845,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum BalanceStatus { + #[codec(index = 0)] Free, + #[codec(index = 1)] Reserved, } #[derive( @@ -52277,6 +52881,21 @@ pub mod api { use super::runtime_types; pub mod extensions { use super::runtime_types; + pub mod authorize_call { + use super::runtime_types; + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + pub struct AuthorizeCall; + } pub mod check_genesis { use super::runtime_types; #[derive( @@ -52335,7 +52954,7 @@ pub mod api { #[encode_as_type( crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] - pub struct CheckNonce(pub ::core::primitive::u32); + pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); } pub mod check_spec_version { use super::runtime_types; @@ -52470,18 +53089,22 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Make some on-chain remark."] #[doc = ""] #[doc = "Can be executed by every `origin`."] remark { remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 1)] #[doc = "Set the number of pages in the WebAssembly environment's heap."] set_heap_pages { pages: ::core::primitive::u64 }, + #[codec(index = 2)] #[doc = "Set the new runtime code."] set_code { code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 3)] #[doc = "Set the new runtime code without doing any checks of the given `code`."] #[doc = ""] #[doc = "Note that runtime upgrades will not run if this is called with a not-increasing spec"] @@ -52489,6 +53112,7 @@ pub mod api { set_code_without_checks { code: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 4)] #[doc = "Set some items of storage."] set_storage { items: ::subxt::ext::subxt_core::alloc::vec::Vec<( @@ -52496,12 +53120,14 @@ pub mod api { ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, )>, }, + #[codec(index = 5)] #[doc = "Kill some items from storage."] kill_storage { keys: ::subxt::ext::subxt_core::alloc::vec::Vec< ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, >, }, + #[codec(index = 6)] #[doc = "Kill all storage items with a key that starts with the given prefix."] #[doc = ""] #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] @@ -52510,10 +53136,12 @@ pub mod api { prefix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, subkeys: ::core::primitive::u32, }, + #[codec(index = 7)] #[doc = "Make some on-chain remark and emit event."] remark_with_event { remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 9)] #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] #[doc = "later."] #[doc = ""] @@ -52521,6 +53149,7 @@ pub mod api { authorize_upgrade { code_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 10)] #[doc = "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied"] #[doc = "later."] #[doc = ""] @@ -52532,6 +53161,7 @@ pub mod api { authorize_upgrade_without_checks { code_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 11)] #[doc = "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized."] #[doc = ""] #[doc = "If the authorization required a version check, this call will ensure the spec name"] @@ -52558,26 +53188,35 @@ pub mod api { )] #[doc = "Error for the System pallet"] pub enum Error { + #[codec(index = 0)] #[doc = "The name of specification does not match between the current runtime"] #[doc = "and the new runtime."] InvalidSpecName, + #[codec(index = 1)] #[doc = "The specification version is not allowed to decrease between the current runtime"] #[doc = "and the new runtime."] SpecVersionNeedsToIncrease, + #[codec(index = 2)] #[doc = "Failed to extract the runtime version from the new runtime."] #[doc = ""] #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] FailedToExtractRuntimeVersion, + #[codec(index = 3)] #[doc = "Suicide called when the account has non-default composite data."] NonDefaultComposite, + #[codec(index = 4)] #[doc = "There is a non-zero reference count preventing the account from being purged."] NonZeroRefCount, + #[codec(index = 5)] #[doc = "The origin filter prevent the call to be dispatched."] CallFiltered, + #[codec(index = 6)] #[doc = "A multi-block migration is ongoing and prevents the current code from being replaced."] MultiBlockMigrationsOngoing, + #[codec(index = 7)] #[doc = "No upgrade authorized."] NothingAuthorized, + #[codec(index = 8)] #[doc = "The submitted code is not authorized."] Unauthorized, } @@ -52594,35 +53233,43 @@ pub mod api { )] #[doc = "Event for the System pallet."] pub enum Event { + #[codec(index = 0)] #[doc = "An extrinsic completed successfully."] ExtrinsicSuccess { dispatch_info: runtime_types::frame_system::DispatchEventInfo, }, + #[codec(index = 1)] #[doc = "An extrinsic failed."] ExtrinsicFailed { dispatch_error: runtime_types::sp_runtime::DispatchError, dispatch_info: runtime_types::frame_system::DispatchEventInfo, }, + #[codec(index = 2)] #[doc = "`:code` was updated."] CodeUpdated, + #[codec(index = 3)] #[doc = "A new account was created."] NewAccount { account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 4)] #[doc = "An account was reaped."] KilledAccount { account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 5)] #[doc = "On on-chain remark happened."] Remarked { sender: ::subxt::ext::subxt_core::utils::AccountId32, hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 6)] #[doc = "An upgrade was authorized."] UpgradeAuthorized { code_hash: ::subxt::ext::subxt_core::utils::H256, check_version: ::core::primitive::bool, }, + #[codec(index = 7)] #[doc = "An invalid authorized upgrade was rejected while trying to apply it."] RejectedInvalidAuthorizedUpgrade { code_hash: ::subxt::ext::subxt_core::utils::H256, @@ -52687,6 +53334,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct LastRuntimeUpgradeInfo { + #[codec(compact)] pub spec_version: ::core::primitive::u32, pub spec_name: ::subxt::ext::subxt_core::alloc::string::String, } @@ -52698,8 +53346,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum Phase { + #[codec(index = 0)] ApplyExtrinsic(::core::primitive::u32), + #[codec(index = 1)] Finalization, + #[codec(index = 2)] Initialization, } } @@ -52720,6 +53371,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Initialize a conversion rate to native balance for the given asset."] #[doc = ""] #[doc = "## Complexity"] @@ -52730,6 +53382,7 @@ pub mod api { >, rate: runtime_types::sp_arithmetic::fixed_point::FixedU128, }, + #[codec(index = 1)] #[doc = "Update the conversion rate to native balance for the given asset."] #[doc = ""] #[doc = "## Complexity"] @@ -52740,6 +53393,7 @@ pub mod api { >, rate: runtime_types::sp_arithmetic::fixed_point::FixedU128, }, + #[codec(index = 2)] #[doc = "Remove an existing conversion rate to native balance for the given asset."] #[doc = ""] #[doc = "## Complexity"] @@ -52763,10 +53417,13 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The given asset ID is unknown."] UnknownAssetKind, + #[codec(index = 1)] #[doc = "The given asset ID already has an assigned conversion rate and cannot be re-created."] AlreadyExists, + #[codec(index = 2)] #[doc = "Overflow ocurred when calculating the inverse rate."] Overflow, } @@ -52783,15 +53440,18 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] AssetRateCreated { asset_kind: runtime_types::polkadot_runtime_common::impls::VersionedLocatableAsset, rate: runtime_types::sp_arithmetic::fixed_point::FixedU128, }, + #[codec(index = 1)] AssetRateRemoved { asset_kind: runtime_types::polkadot_runtime_common::impls::VersionedLocatableAsset, }, + #[codec(index = 2)] AssetRateUpdated { asset_kind: runtime_types::polkadot_runtime_common::impls::VersionedLocatableAsset, @@ -52818,6 +53478,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Report authority equivocation/misbehavior. This method will verify"] #[doc = "the equivocation proof and validate the given key ownership proof"] #[doc = "against the extracted offender. If both are valid, the offence will"] @@ -52833,6 +53494,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 1)] #[doc = "Report authority equivocation/misbehavior. This method will verify"] #[doc = "the equivocation proof and validate the given key ownership proof"] #[doc = "against the extracted offender. If both are valid, the offence will"] @@ -52852,6 +53514,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 2)] #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."] #[doc = "Multiple calls to this method will replace any existing planned config change that had"] @@ -52873,12 +53536,16 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] InvalidEquivocationProof, + #[codec(index = 1)] #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] InvalidKeyOwnershipProof, + #[codec(index = 2)] #[doc = "A given equivocation report is valid but already previously reported."] DuplicateOffenceReport, + #[codec(index = 3)] #[doc = "Submitted configuration is invalid."] InvalidConfiguration, } @@ -52901,6 +53568,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Transfer some liquid free balance to another account."] #[doc = ""] #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] @@ -52913,8 +53581,10 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] value: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] #[doc = "may be specified."] force_transfer { @@ -52926,8 +53596,10 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] value: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] #[doc = "kill the origin account."] #[doc = ""] @@ -52939,8 +53611,10 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] value: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "Transfer the entire transferable balance from the caller account."] #[doc = ""] #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] @@ -52963,6 +53637,7 @@ pub mod api { >, keep_alive: ::core::primitive::bool, }, + #[codec(index = 5)] #[doc = "Unreserve some balance from a user by force."] #[doc = ""] #[doc = "Can only be called by ROOT."] @@ -52973,6 +53648,7 @@ pub mod api { >, amount: ::core::primitive::u128, }, + #[codec(index = 6)] #[doc = "Upgrade a specified account."] #[doc = ""] #[doc = "- `origin`: Must be `Signed`."] @@ -52986,6 +53662,7 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, >, }, + #[codec(index = 8)] #[doc = "Set the regular balance of a given account."] #[doc = ""] #[doc = "The dispatch origin for this call is `root`."] @@ -52994,8 +53671,10 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] new_free: ::core::primitive::u128, }, + #[codec(index = 9)] #[doc = "Adjust the total issuance in a saturating way."] #[doc = ""] #[doc = "Can only be called by root and always needs a positive `delta`."] @@ -53003,8 +53682,10 @@ pub mod api { #[doc = "# Example"] force_adjust_total_issuance { direction: runtime_types::pallet_balances::types::AdjustmentDirection, + #[codec(compact)] delta: ::core::primitive::u128, }, + #[codec(index = 10)] #[doc = "Burn the specified liquid free balance from the origin account."] #[doc = ""] #[doc = "If the origin's account ends up below the existential deposit as a result"] @@ -53013,6 +53694,7 @@ pub mod api { #[doc = "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,"] #[doc = "this `burn` operation will reduce total issuance by the amount _burned_."] burn { + #[codec(compact)] value: ::core::primitive::u128, keep_alive: ::core::primitive::bool, }, @@ -53030,28 +53712,40 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Vesting balance too high to send value."] VestingBalance, + #[codec(index = 1)] #[doc = "Account liquidity restrictions prevent withdrawal."] LiquidityRestrictions, + #[codec(index = 2)] #[doc = "Balance too low to send value."] InsufficientBalance, + #[codec(index = 3)] #[doc = "Value too low to create account due to existential deposit."] ExistentialDeposit, + #[codec(index = 4)] #[doc = "Transfer/payment would kill account."] Expendability, + #[codec(index = 5)] #[doc = "A vesting schedule already exists for this account."] ExistingVestingSchedule, + #[codec(index = 6)] #[doc = "Beneficiary account must pre-exist."] DeadAccount, + #[codec(index = 7)] #[doc = "Number of named reserves exceed `MaxReserves`."] TooManyReserves, + #[codec(index = 8)] #[doc = "Number of holds exceed `VariantCountOf`."] TooManyHolds, + #[codec(index = 9)] #[doc = "Number of freezes exceed `MaxFreezes`."] TooManyFreezes, + #[codec(index = 10)] #[doc = "The issuance cannot be modified since it is already deactivated."] IssuanceDeactivated, + #[codec(index = 11)] #[doc = "The delta cannot be zero."] DeltaZero, } @@ -53068,38 +53762,45 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "An account was created with some free balance."] Endowed { account: ::subxt::ext::subxt_core::utils::AccountId32, free_balance: ::core::primitive::u128, }, + #[codec(index = 1)] #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] #[doc = "resulting in an outright loss."] DustLost { account: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "Transfer succeeded."] Transfer { from: ::subxt::ext::subxt_core::utils::AccountId32, to: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "A balance was set by root."] BalanceSet { who: ::subxt::ext::subxt_core::utils::AccountId32, free: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "Some balance was reserved (moved from free to reserved)."] Reserved { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 5)] #[doc = "Some balance was unreserved (moved from reserved to free)."] Unreserved { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 6)] #[doc = "Some balance was moved from the reserve of the first account to the second account."] #[doc = "Final argument indicates the destination balance type."] ReserveRepatriated { @@ -53109,69 +53810,84 @@ pub mod api { destination_status: runtime_types::frame_support::traits::tokens::misc::BalanceStatus, }, + #[codec(index = 7)] #[doc = "Some amount was deposited (e.g. for transaction fees)."] Deposit { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 8)] #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] Withdraw { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 9)] #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] Slashed { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 10)] #[doc = "Some amount was minted into an account."] Minted { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 11)] #[doc = "Some amount was burned from an account."] Burned { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 12)] #[doc = "Some amount was suspended from an account (it can be restored later)."] Suspended { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 13)] #[doc = "Some amount was restored into an account."] Restored { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 14)] #[doc = "An account was upgraded."] Upgraded { who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 15)] #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] Issued { amount: ::core::primitive::u128 }, + #[codec(index = 16)] #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] Rescinded { amount: ::core::primitive::u128 }, + #[codec(index = 17)] #[doc = "Some balance was locked."] Locked { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 18)] #[doc = "Some balance was unlocked."] Unlocked { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 19)] #[doc = "Some balance was frozen."] Frozen { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 20)] #[doc = "Some balance was thawed."] Thawed { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 21)] #[doc = "The `TotalIssuance` was forcefully changed."] TotalIssuanceForced { old: ::core::primitive::u128, @@ -53210,7 +53926,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AdjustmentDirection { + #[codec(index = 0)] Increase, + #[codec(index = 1)] Decrease, } #[derive( @@ -53253,8 +53971,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Reasons { + #[codec(index = 0)] Fee, + #[codec(index = 1)] Misc, + #[codec(index = 2)] All, } #[derive( @@ -53291,6 +54012,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] #[doc = "equivocation proof and validate the given key ownership proof"] #[doc = "against the extracted offender. If both are valid, the offence"] @@ -53305,6 +54027,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 1)] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] #[doc = "equivocation proof and validate the given key ownership proof"] #[doc = "against the extracted offender. If both are valid, the offence"] @@ -53324,6 +54047,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 2)] #[doc = "Reset BEEFY consensus by setting a new BEEFY genesis at `delay_in_blocks` blocks in the"] #[doc = "future."] #[doc = ""] @@ -53331,6 +54055,7 @@ pub mod api { set_new_genesis { delay_in_blocks: ::core::primitive::u32, }, + #[codec(index = 3)] #[doc = "Report fork voting equivocation. This method will verify the equivocation proof"] #[doc = "and validate the given key ownership proof against the extracted offender."] #[doc = "If both are valid, the offence will be reported."] @@ -53348,6 +54073,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 4)] #[doc = "Report fork voting equivocation. This method will verify the equivocation proof"] #[doc = "and validate the given key ownership proof against the extracted offender."] #[doc = "If both are valid, the offence will be reported."] @@ -53370,6 +54096,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 5)] #[doc = "Report future block voting equivocation. This method will verify the equivocation proof"] #[doc = "and validate the given key ownership proof against the extracted offender."] #[doc = "If both are valid, the offence will be reported."] @@ -53382,6 +54109,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 6)] #[doc = "Report future block voting equivocation. This method will verify the equivocation proof"] #[doc = "and validate the given key ownership proof against the extracted offender."] #[doc = "If both are valid, the offence will be reported."] @@ -53413,18 +54141,25 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] InvalidKeyOwnershipProof, + #[codec(index = 1)] #[doc = "A double voting proof provided as part of an equivocation report is invalid."] InvalidDoubleVotingProof, + #[codec(index = 2)] #[doc = "A fork voting proof provided as part of an equivocation report is invalid."] InvalidForkVotingProof, + #[codec(index = 3)] #[doc = "A future block voting proof provided as part of an equivocation report is invalid."] InvalidFutureBlockVotingProof, + #[codec(index = 4)] #[doc = "The session of the equivocation proof is invalid"] InvalidEquivocationProofSession, + #[codec(index = 5)] #[doc = "A given equivocation report is valid but already previously reported."] DuplicateOffenceReport, + #[codec(index = 6)] #[doc = "Submitted configuration is invalid."] InvalidConfiguration, } @@ -53447,6 +54182,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Propose a new bounty."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] @@ -53460,10 +54196,12 @@ pub mod api { #[doc = "- `value`: The total payment amount of this bounty, curator fee included."] #[doc = "- `description`: The description of this bounty."] propose_bounty { + #[codec(compact)] value: ::core::primitive::u128, description: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 1)] #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] #[doc = "and the original deposit will be returned."] #[doc = ""] @@ -53471,7 +54209,11 @@ pub mod api { #[doc = ""] #[doc = "## Complexity"] #[doc = "- O(1)."] - approve_bounty { bounty_id: ::core::primitive::u32 }, + approve_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 2)] #[doc = "Propose a curator to a funded bounty."] #[doc = ""] #[doc = "May only be called from `T::SpendOrigin`."] @@ -53479,13 +54221,16 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] propose_curator { + #[codec(compact)] bounty_id: ::core::primitive::u32, curator: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] fee: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "Unassign curator from a bounty."] #[doc = ""] #[doc = "This function can only be called by the `RejectOrigin` a signed origin."] @@ -53503,7 +54248,11 @@ pub mod api { #[doc = ""] #[doc = "## Complexity"] #[doc = "- O(1)."] - unassign_curator { bounty_id: ::core::primitive::u32 }, + unassign_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 4)] #[doc = "Accept the curator role for a bounty."] #[doc = "A deposit will be reserved from curator and refund upon successful payout."] #[doc = ""] @@ -53511,7 +54260,11 @@ pub mod api { #[doc = ""] #[doc = "## Complexity"] #[doc = "- O(1)."] - accept_curator { bounty_id: ::core::primitive::u32 }, + accept_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 5)] #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] #[doc = "after a delay."] #[doc = ""] @@ -53523,12 +54276,14 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] award_bounty { + #[codec(compact)] bounty_id: ::core::primitive::u32, beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, }, + #[codec(index = 6)] #[doc = "Claim the payout from an awarded bounty after payout delay."] #[doc = ""] #[doc = "The dispatch origin for this call must be the beneficiary of this bounty."] @@ -53537,7 +54292,11 @@ pub mod api { #[doc = ""] #[doc = "## Complexity"] #[doc = "- O(1)."] - claim_bounty { bounty_id: ::core::primitive::u32 }, + claim_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 7)] #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] #[doc = "the curator deposit will be unreserved if possible."] #[doc = ""] @@ -53547,7 +54306,11 @@ pub mod api { #[doc = ""] #[doc = "## Complexity"] #[doc = "- O(1)."] - close_bounty { bounty_id: ::core::primitive::u32 }, + close_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 8)] #[doc = "Extend the expiry time of an active bounty."] #[doc = ""] #[doc = "The dispatch origin for this call must be the curator of this bounty."] @@ -53558,9 +54321,11 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] extend_bounty_expiry { + #[codec(compact)] bounty_id: ::core::primitive::u32, remark: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 9)] #[doc = "Approve bountry and propose a curator simultaneously."] #[doc = "This call is a shortcut to calling `approve_bounty` and `propose_curator` separately."] #[doc = ""] @@ -53573,13 +54338,35 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- O(1)."] approve_bounty_with_curator { + #[codec(compact)] bounty_id: ::core::primitive::u32, curator: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] fee: ::core::primitive::u128, }, + #[codec(index = 10)] + #[doc = "Poke the deposit reserved for creating a bounty proposal."] + #[doc = ""] + #[doc = "This can be used by accounts to update their reserved amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `bounty_id`: The bounty id for which to adjust the deposit."] + #[doc = ""] + #[doc = "If the deposit is updated, the difference will be reserved/unreserved from the"] + #[doc = "proposer's account."] + #[doc = ""] + #[doc = "The transaction is made free if the deposit is updated and paid otherwise."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if the deposit is updated."] + poke_deposit { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -53594,29 +54381,43 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Proposer's balance is too low."] InsufficientProposersBalance, + #[codec(index = 1)] #[doc = "No proposal or bounty at that index."] InvalidIndex, + #[codec(index = 2)] #[doc = "The reason given is just too big."] ReasonTooBig, + #[codec(index = 3)] #[doc = "The bounty status is unexpected."] UnexpectedStatus, + #[codec(index = 4)] #[doc = "Require bounty curator."] RequireCurator, + #[codec(index = 5)] #[doc = "Invalid bounty value."] InvalidValue, + #[codec(index = 6)] #[doc = "Invalid bounty fee."] InvalidFee, + #[codec(index = 7)] #[doc = "A bounty payout is pending."] #[doc = "To cancel the bounty, you must unassign and slash the curator."] PendingPayout, + #[codec(index = 8)] #[doc = "The bounties cannot be claimed/closed because it's still in the countdown period."] Premature, + #[codec(index = 9)] #[doc = "The bounty cannot be closed because it has active child bounties."] HasActiveChildBounty, + #[codec(index = 10)] #[doc = "Too many approvals are already queued."] TooManyQueued, + #[codec(index = 11)] + #[doc = "User is not the proposer of the bounty."] + NotProposer, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -53631,44 +54432,63 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "New bounty proposal."] BountyProposed { index: ::core::primitive::u32 }, + #[codec(index = 1)] #[doc = "A bounty proposal was rejected; funds were slashed."] BountyRejected { index: ::core::primitive::u32, bond: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "A bounty proposal is funded and became active."] BountyBecameActive { index: ::core::primitive::u32 }, + #[codec(index = 3)] #[doc = "A bounty is awarded to a beneficiary."] BountyAwarded { index: ::core::primitive::u32, beneficiary: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 4)] #[doc = "A bounty is claimed by beneficiary."] BountyClaimed { index: ::core::primitive::u32, payout: ::core::primitive::u128, beneficiary: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 5)] #[doc = "A bounty is cancelled."] BountyCanceled { index: ::core::primitive::u32 }, + #[codec(index = 6)] #[doc = "A bounty expiry is extended."] BountyExtended { index: ::core::primitive::u32 }, + #[codec(index = 7)] #[doc = "A bounty is approved."] BountyApproved { index: ::core::primitive::u32 }, + #[codec(index = 8)] #[doc = "A bounty curator is proposed."] CuratorProposed { bounty_id: ::core::primitive::u32, curator: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 9)] #[doc = "A bounty curator is unassigned."] CuratorUnassigned { bounty_id: ::core::primitive::u32 }, + #[codec(index = 10)] #[doc = "A bounty curator is accepted."] CuratorAccepted { bounty_id: ::core::primitive::u32, curator: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 11)] + #[doc = "A bounty deposit has been poked."] + DepositPoked { + bounty_id: ::core::primitive::u32, + proposer: ::subxt::ext::subxt_core::utils::AccountId32, + old_deposit: ::core::primitive::u128, + new_deposit: ::core::primitive::u128, + }, } } #[derive( @@ -53694,24 +54514,24 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum BountyStatus<_0, _1> { + #[codec(index = 0)] Proposed, + #[codec(index = 1)] Approved, + #[codec(index = 2)] Funded, - CuratorProposed { - curator: _0, - }, - Active { - curator: _0, - update_due: _1, - }, + #[codec(index = 3)] + CuratorProposed { curator: _0 }, + #[codec(index = 4)] + Active { curator: _0, update_due: _1 }, + #[codec(index = 5)] PendingPayout { curator: _0, beneficiary: _0, unlock_at: _1, }, - ApprovedWithCurator { - curator: _0, - }, + #[codec(index = 6)] + ApprovedWithCurator { curator: _0 }, } } pub mod pallet_broker { @@ -53730,8 +54550,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum CoreAssignment { + #[codec(index = 0)] Idle, + #[codec(index = 1)] Pool, + #[codec(index = 2)] Task(::core::primitive::u32), } } @@ -53753,6 +54576,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Add a new child-bounty."] #[doc = ""] #[doc = "The dispatch origin for this call must be the curator of parent"] @@ -53773,11 +54597,14 @@ pub mod api { #[doc = "- `value`: Value for executing the proposal."] #[doc = "- `description`: Text description for the child-bounty."] add_child_bounty { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] value: ::core::primitive::u128, description: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 1)] #[doc = "Propose curator for funded child-bounty."] #[doc = ""] #[doc = "The dispatch origin for this call must be curator of parent bounty."] @@ -53794,14 +54621,18 @@ pub mod api { #[doc = "- `curator`: Address of child-bounty curator."] #[doc = "- `fee`: payment fee to child-bounty curator for execution."] propose_curator { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] child_bounty_id: ::core::primitive::u32, curator: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, + #[codec(compact)] fee: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "Accept the curator role for the child-bounty."] #[doc = ""] #[doc = "The dispatch origin for this call must be the curator of this"] @@ -53822,9 +54653,12 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] accept_curator { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] child_bounty_id: ::core::primitive::u32, }, + #[codec(index = 3)] #[doc = "Unassign curator from a child-bounty."] #[doc = ""] #[doc = "The dispatch origin for this call can be either `RejectOrigin`, or"] @@ -53860,9 +54694,12 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] unassign_curator { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] child_bounty_id: ::core::primitive::u32, }, + #[codec(index = 4)] #[doc = "Award child-bounty to a beneficiary."] #[doc = ""] #[doc = "The beneficiary will be able to claim the funds after a delay."] @@ -53881,13 +54718,16 @@ pub mod api { #[doc = "- `child_bounty_id`: Index of child bounty."] #[doc = "- `beneficiary`: Beneficiary account."] award_child_bounty { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] child_bounty_id: ::core::primitive::u32, beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, }, + #[codec(index = 5)] #[doc = "Claim the payout from an awarded child-bounty after payout delay."] #[doc = ""] #[doc = "The dispatch origin for this call may be any signed origin."] @@ -53905,9 +54745,12 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] claim_child_bounty { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] child_bounty_id: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "Cancel a proposed or active child-bounty. Child-bounty account funds"] #[doc = "are transferred to parent bounty account. The child-bounty curator"] #[doc = "deposit may be unreserved if possible."] @@ -53931,7 +54774,9 @@ pub mod api { #[doc = "- `parent_bounty_id`: Index of parent bounty."] #[doc = "- `child_bounty_id`: Index of child bounty."] close_child_bounty { + #[codec(compact)] parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] child_bounty_id: ::core::primitive::u32, }, } @@ -53948,10 +54793,13 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The parent bounty is not in active state."] ParentBountyNotActive, + #[codec(index = 1)] #[doc = "The bounty balance is not enough to add new child-bounty."] InsufficientBountyBalance, + #[codec(index = 2)] #[doc = "Number of child bounties exceeds limit `MaxActiveChildBountyCount`."] TooManyChildBounties, } @@ -53968,17 +54816,20 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A child-bounty is added."] Added { index: ::core::primitive::u32, child_index: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "A child-bounty is awarded to a beneficiary."] Awarded { index: ::core::primitive::u32, child_index: ::core::primitive::u32, beneficiary: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 2)] #[doc = "A child-bounty is claimed by beneficiary."] Claimed { index: ::core::primitive::u32, @@ -53986,6 +54837,7 @@ pub mod api { payout: ::core::primitive::u128, beneficiary: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 3)] #[doc = "A child-bounty is cancelled."] Canceled { index: ::core::primitive::u32, @@ -54015,13 +54867,13 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum ChildBountyStatus<_0, _1> { + #[codec(index = 0)] Added, - CuratorProposed { - curator: _0, - }, - Active { - curator: _0, - }, + #[codec(index = 1)] + CuratorProposed { curator: _0 }, + #[codec(index = 2)] + Active { curator: _0 }, + #[codec(index = 3)] PendingPayout { curator: _0, beneficiary: _0, @@ -54045,12 +54897,19 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Conviction { + #[codec(index = 0)] None, + #[codec(index = 1)] Locked1x, + #[codec(index = 2)] Locked2x, + #[codec(index = 3)] Locked3x, + #[codec(index = 4)] Locked4x, + #[codec(index = 5)] Locked5x, + #[codec(index = 6)] Locked6x, } } @@ -54069,6 +54928,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] #[doc = "otherwise it is a vote to keep the status quo."] #[doc = ""] @@ -54079,11 +54939,13 @@ pub mod api { #[doc = ""] #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] vote { + #[codec(compact)] poll_index: ::core::primitive::u32, vote: runtime_types::pallet_conviction_voting::vote::AccountVote< ::core::primitive::u128, >, }, + #[codec(index = 1)] #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"] #[doc = "particular class of polls."] #[doc = ""] @@ -54116,6 +54978,7 @@ pub mod api { conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, balance: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "Undelegate the voting power of the sending account for a particular class of polls."] #[doc = ""] #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] @@ -54131,6 +54994,7 @@ pub mod api { #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] undelegate { class: ::core::primitive::u16 }, + #[codec(index = 3)] #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] #[doc = "class."] #[doc = ""] @@ -54147,6 +55011,7 @@ pub mod api { (), >, }, + #[codec(index = 4)] #[doc = "Remove a vote for a poll."] #[doc = ""] #[doc = "If:"] @@ -54180,6 +55045,7 @@ pub mod api { class: ::core::option::Option<::core::primitive::u16>, index: ::core::primitive::u32, }, + #[codec(index = 5)] #[doc = "Remove a vote for a poll."] #[doc = ""] #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] @@ -54218,29 +55084,41 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Poll is not ongoing."] NotOngoing, + #[codec(index = 1)] #[doc = "The given account did not vote on the poll."] NotVoter, + #[codec(index = 2)] #[doc = "The actor has no permission to conduct the action."] NoPermission, + #[codec(index = 3)] #[doc = "The actor has no permission to conduct the action right now but will do in the future."] NoPermissionYet, + #[codec(index = 4)] #[doc = "The account is already delegating."] AlreadyDelegating, + #[codec(index = 5)] #[doc = "The account currently has votes attached to it and the operation cannot succeed until"] #[doc = "these are removed through `remove_vote`."] AlreadyVoting, + #[codec(index = 6)] #[doc = "Too high a balance was provided that the account cannot afford."] InsufficientFunds, + #[codec(index = 7)] #[doc = "The account is not currently delegating."] NotDelegating, + #[codec(index = 8)] #[doc = "Delegation to oneself makes no sense."] Nonsense, + #[codec(index = 9)] #[doc = "Maximum number of votes reached."] MaxVotesReached, + #[codec(index = 10)] #[doc = "The class must be supplied since it is not easily determinable from the state."] ClassNeeded, + #[codec(index = 11)] #[doc = "The class ID supplied is invalid."] BadClass, } @@ -54257,13 +55135,16 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "An account has delegated their vote to another account. \\[who, target\\]"] Delegated( ::subxt::ext::subxt_core::utils::AccountId32, ::subxt::ext::subxt_core::utils::AccountId32, ), + #[codec(index = 1)] #[doc = "An \\[account\\] has cancelled a previous delegation operation."] Undelegated(::subxt::ext::subxt_core::utils::AccountId32), + #[codec(index = 2)] #[doc = "An account has voted"] Voted { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -54271,6 +55152,7 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 3)] #[doc = "A vote has been removed"] VoteRemoved { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -54278,6 +55160,7 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 4)] #[doc = "The lockup period of a conviction vote expired, and the funds have been unlocked."] VoteUnlocked { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -54333,19 +55216,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AccountVote<_0> { + #[codec(index = 0)] Standard { vote: runtime_types::pallet_conviction_voting::vote::Vote, balance: _0, }, - Split { - aye: _0, - nay: _0, - }, - SplitAbstain { - aye: _0, - nay: _0, - abstain: _0, - }, + #[codec(index = 1)] + Split { aye: _0, nay: _0 }, + #[codec(index = 2)] + SplitAbstain { aye: _0, nay: _0, abstain: _0 }, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -54366,6 +55245,7 @@ pub mod api { pub delegations: runtime_types::pallet_conviction_voting::types::Delegations<_0>, pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>, + #[codec(skip)] pub __ignore: ::core::marker::PhantomData<_2>, } #[derive( @@ -54423,7 +55303,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Voting<_0, _1, _2, _3> { + #[codec(index = 0)] Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>), + #[codec(index = 1)] Delegating( runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>, ), @@ -54448,6 +55330,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] #[doc = "equivocation proof and validate the given key ownership proof"] #[doc = "against the extracted offender. If both are valid, the offence"] @@ -54461,6 +55344,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 1)] #[doc = "Report voter equivocation/misbehavior. This method will verify the"] #[doc = "equivocation proof and validate the given key ownership proof"] #[doc = "against the extracted offender. If both are valid, the offence"] @@ -54479,6 +55363,7 @@ pub mod api { >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, + #[codec(index = 2)] #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] #[doc = ""] #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] @@ -54509,20 +55394,27 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Attempt to signal GRANDPA pause when the authority set isn't live"] #[doc = "(either paused or already pending pause)."] PauseFailed, + #[codec(index = 1)] #[doc = "Attempt to signal GRANDPA resume when the authority set isn't paused"] #[doc = "(either live or already pending resume)."] ResumeFailed, + #[codec(index = 2)] #[doc = "Attempt to signal GRANDPA change with one already pending."] ChangePending, + #[codec(index = 3)] #[doc = "Cannot signal forced change so soon after last."] TooSoon, + #[codec(index = 4)] #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] InvalidKeyOwnershipProof, + #[codec(index = 5)] #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] InvalidEquivocationProof, + #[codec(index = 6)] #[doc = "A given equivocation report is valid but already previously reported."] DuplicateOffenceReport, } @@ -54539,6 +55431,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "New authority set has been applied."] NewAuthorities { authority_set: ::subxt::ext::subxt_core::alloc::vec::Vec<( @@ -54546,8 +55439,10 @@ pub mod api { ::core::primitive::u64, )>, }, + #[codec(index = 1)] #[doc = "Current authority set has been paused."] Paused, + #[codec(index = 2)] #[doc = "Current authority set has been resumed."] Resumed, } @@ -54577,9 +55472,13 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum StoredState<_0> { + #[codec(index = 0)] Live, + #[codec(index = 1)] PendingPause { scheduled_at: _0, delay: _0 }, + #[codec(index = 2)] Paused, + #[codec(index = 3)] PendingResume { scheduled_at: _0, delay: _0 }, } } @@ -54628,6 +55527,7 @@ pub mod api { )] #[doc = "Identity pallet declaration."] pub enum Call { + #[codec(index = 0)] #[doc = "Add a registrar to the system."] #[doc = ""] #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] @@ -54641,6 +55541,7 @@ pub mod api { (), >, }, + #[codec(index = 1)] #[doc = "Set an account's identity information and reserve the appropriate deposit."] #[doc = ""] #[doc = "If the account already has identity information, the deposit is taken as part payment"] @@ -54656,6 +55557,7 @@ pub mod api { runtime_types::pallet_identity::legacy::IdentityInfo, >, }, + #[codec(index = 2)] #[doc = "Set the sub-accounts of the sender."] #[doc = ""] #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] @@ -54671,6 +55573,7 @@ pub mod api { runtime_types::pallet_identity::types::Data, )>, }, + #[codec(index = 3)] #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] #[doc = ""] #[doc = "Payment: All reserved balances on the account are returned."] @@ -54680,6 +55583,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `IdentityCleared` if successful."] clear_identity, + #[codec(index = 4)] #[doc = "Request a judgement from a registrar."] #[doc = ""] #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] @@ -54697,9 +55601,12 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementRequested` if successful."] request_judgement { + #[codec(compact)] reg_index: ::core::primitive::u32, + #[codec(compact)] max_fee: ::core::primitive::u128, }, + #[codec(index = 5)] #[doc = "Cancel a previous request."] #[doc = ""] #[doc = "Payment: A previously reserved deposit is returned on success."] @@ -54711,6 +55618,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementUnrequested` if successful."] cancel_request { reg_index: ::core::primitive::u32 }, + #[codec(index = 6)] #[doc = "Set the fee required for a judgement to be requested from a registrar."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] @@ -54719,9 +55627,12 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fee`: the new fee."] set_fee { + #[codec(compact)] index: ::core::primitive::u32, + #[codec(compact)] fee: ::core::primitive::u128, }, + #[codec(index = 7)] #[doc = "Change the account associated with a registrar."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] @@ -54730,12 +55641,14 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `new`: the new account ID."] set_account_id { + #[codec(compact)] index: ::core::primitive::u32, new: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, }, + #[codec(index = 8)] #[doc = "Set the field information for a registrar."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] @@ -54744,9 +55657,11 @@ pub mod api { #[doc = "- `index`: the index of the registrar whose fee is to be set."] #[doc = "- `fields`: the fields that the registrar concerns themselves with."] set_fields { + #[codec(compact)] index: ::core::primitive::u32, fields: ::core::primitive::u64, }, + #[codec(index = 9)] #[doc = "Provide a judgement for an account's identity."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] @@ -54763,6 +55678,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `JudgementGiven` if successful."] provide_judgement { + #[codec(compact)] reg_index: ::core::primitive::u32, target: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, @@ -54773,6 +55689,7 @@ pub mod api { >, identity: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 10)] #[doc = "Remove an account's identity and sub-account information and slash the deposits."] #[doc = ""] #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] @@ -54791,6 +55708,7 @@ pub mod api { (), >, }, + #[codec(index = 11)] #[doc = "Add the given account to the sender's subs."] #[doc = ""] #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] @@ -54805,6 +55723,7 @@ pub mod api { >, data: runtime_types::pallet_identity::types::Data, }, + #[codec(index = 12)] #[doc = "Alter the associated name of the given sub-account."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] @@ -54816,6 +55735,7 @@ pub mod api { >, data: runtime_types::pallet_identity::types::Data, }, + #[codec(index = 13)] #[doc = "Remove the given account from the sender's subs."] #[doc = ""] #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] @@ -54829,6 +55749,7 @@ pub mod api { (), >, }, + #[codec(index = 14)] #[doc = "Remove the sender as a sub-account."] #[doc = ""] #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] @@ -54840,6 +55761,7 @@ pub mod api { #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] #[doc = "controller of an account is maliciously registered as a sub-account."] quit_sub, + #[codec(index = 15)] #[doc = "Add an `AccountId` with permission to grant usernames with a given `suffix` appended."] #[doc = ""] #[doc = "The authority can grant up to `allocation` usernames. To top up the allocation or"] @@ -54853,6 +55775,7 @@ pub mod api { suffix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, allocation: ::core::primitive::u32, }, + #[codec(index = 16)] #[doc = "Remove `authority` from the username authorities."] remove_username_authority { suffix: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, @@ -54861,6 +55784,7 @@ pub mod api { (), >, }, + #[codec(index = 17)] #[doc = "Set the username for `who`. Must be called by a username authority."] #[doc = ""] #[doc = "If `use_allocation` is set, the authority must have a username allocation available to"] @@ -54884,6 +55808,7 @@ pub mod api { ::core::option::Option, use_allocation: ::core::primitive::bool, }, + #[codec(index = 18)] #[doc = "Accept a given username that an `authority` granted. The call must include the full"] #[doc = "username, as in `username.suffix`."] accept_username { @@ -54891,6 +55816,7 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 19)] #[doc = "Remove an expired username approval. The username was approved by an authority but never"] #[doc = "accepted by the user and must now be beyond its expiration. The call must include the"] #[doc = "full username, as in `username.suffix`."] @@ -54899,12 +55825,14 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 20)] #[doc = "Set a given username as the primary. The username should include the suffix."] set_primary_username { username: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, + #[codec(index = 21)] #[doc = "Start the process of removing a username by placing it in the unbinding usernames map."] #[doc = "Once the grace period has passed, the username can be deleted by calling"] #[doc = "[remove_username](crate::Call::remove_username)."] @@ -54913,6 +55841,7 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 22)] #[doc = "Permanently delete a username which has been unbinding for longer than the grace period."] #[doc = "Caller is refunded the fee if the username expired and the removal was successful."] remove_username { @@ -54920,6 +55849,7 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 23)] #[doc = "Call with [ForceOrigin](crate::Config::ForceOrigin) privileges which deletes a username"] #[doc = "and slashes any deposit associated with it."] kill_username { @@ -54941,64 +55871,94 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Too many subs-accounts."] TooManySubAccounts, + #[codec(index = 1)] #[doc = "Account isn't found."] NotFound, + #[codec(index = 2)] #[doc = "Account isn't named."] NotNamed, + #[codec(index = 3)] #[doc = "Empty index."] EmptyIndex, + #[codec(index = 4)] #[doc = "Fee is changed."] FeeChanged, + #[codec(index = 5)] #[doc = "No identity found."] NoIdentity, + #[codec(index = 6)] #[doc = "Sticky judgement."] StickyJudgement, + #[codec(index = 7)] #[doc = "Judgement given."] JudgementGiven, + #[codec(index = 8)] #[doc = "Invalid judgement."] InvalidJudgement, + #[codec(index = 9)] #[doc = "The index is invalid."] InvalidIndex, + #[codec(index = 10)] #[doc = "The target is invalid."] InvalidTarget, + #[codec(index = 11)] #[doc = "Maximum amount of registrars reached. Cannot add any more."] TooManyRegistrars, + #[codec(index = 12)] #[doc = "Account ID is already named."] AlreadyClaimed, + #[codec(index = 13)] #[doc = "Sender is not a sub-account."] NotSub, + #[codec(index = 14)] #[doc = "Sub-account isn't owned by sender."] NotOwned, + #[codec(index = 15)] #[doc = "The provided judgement was for a different identity."] JudgementForDifferentIdentity, + #[codec(index = 16)] #[doc = "Error that occurs when there is an issue paying for judgement."] JudgementPaymentFailed, + #[codec(index = 17)] #[doc = "The provided suffix is too long."] InvalidSuffix, + #[codec(index = 18)] #[doc = "The sender does not have permission to issue a username."] NotUsernameAuthority, + #[codec(index = 19)] #[doc = "The authority cannot allocate any more usernames."] NoAllocation, + #[codec(index = 20)] #[doc = "The signature on a username was not valid."] InvalidSignature, + #[codec(index = 21)] #[doc = "Setting this username requires a signature, but none was provided."] RequiresSignature, + #[codec(index = 22)] #[doc = "The username does not meet the requirements."] InvalidUsername, + #[codec(index = 23)] #[doc = "The username is already taken."] UsernameTaken, + #[codec(index = 24)] #[doc = "The requested username does not exist."] NoUsername, + #[codec(index = 25)] #[doc = "The username cannot be forcefully removed because it can still be accepted."] NotExpired, + #[codec(index = 26)] #[doc = "The username cannot be removed because it's still in the grace period."] TooEarly, + #[codec(index = 27)] #[doc = "The username cannot be removed because it is not unbinding."] NotUnbinding, + #[codec(index = 28)] #[doc = "The username cannot be unbound because it is already unbinding."] AlreadyUnbinding, + #[codec(index = 29)] #[doc = "The action cannot be performed because of insufficient privileges (e.g. authority"] #[doc = "trying to unbind a username provided by the system)."] InsufficientPrivileges, @@ -55016,62 +55976,74 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A name was set or reset (which will remove all judgements)."] IdentitySet { who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "A name was cleared, and the given balance returned."] IdentityCleared { who: ::subxt::ext::subxt_core::utils::AccountId32, deposit: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "A name was removed and the given balance slashed."] IdentityKilled { who: ::subxt::ext::subxt_core::utils::AccountId32, deposit: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "A judgement was asked from a registrar."] JudgementRequested { who: ::subxt::ext::subxt_core::utils::AccountId32, registrar_index: ::core::primitive::u32, }, + #[codec(index = 4)] #[doc = "A judgement request was retracted."] JudgementUnrequested { who: ::subxt::ext::subxt_core::utils::AccountId32, registrar_index: ::core::primitive::u32, }, + #[codec(index = 5)] #[doc = "A judgement was given by a registrar."] JudgementGiven { target: ::subxt::ext::subxt_core::utils::AccountId32, registrar_index: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "A registrar was added."] RegistrarAdded { registrar_index: ::core::primitive::u32, }, + #[codec(index = 7)] #[doc = "A sub-identity was added to an identity and the deposit paid."] SubIdentityAdded { sub: ::subxt::ext::subxt_core::utils::AccountId32, main: ::subxt::ext::subxt_core::utils::AccountId32, deposit: ::core::primitive::u128, }, + #[codec(index = 8)] #[doc = "An account's sub-identities were set (in bulk)."] SubIdentitiesSet { main: ::subxt::ext::subxt_core::utils::AccountId32, number_of_subs: ::core::primitive::u32, new_deposit: ::core::primitive::u128, }, + #[codec(index = 9)] #[doc = "A given sub-account's associated name was changed by its super-identity."] SubIdentityRenamed { sub: ::subxt::ext::subxt_core::utils::AccountId32, main: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 10)] #[doc = "A sub-identity was removed from an identity and the deposit freed."] SubIdentityRemoved { sub: ::subxt::ext::subxt_core::utils::AccountId32, main: ::subxt::ext::subxt_core::utils::AccountId32, deposit: ::core::primitive::u128, }, + #[codec(index = 11)] #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] #[doc = "main identity account to the sub-identity account."] SubIdentityRevoked { @@ -55079,14 +56051,17 @@ pub mod api { main: ::subxt::ext::subxt_core::utils::AccountId32, deposit: ::core::primitive::u128, }, + #[codec(index = 12)] #[doc = "A username authority was added."] AuthorityAdded { authority: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 13)] #[doc = "A username authority was removed."] AuthorityRemoved { authority: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 14)] #[doc = "A username was set for `who`."] UsernameSet { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -55094,6 +56069,7 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 15)] #[doc = "A username was queued, but `who` must accept it prior to `expiration`."] UsernameQueued { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -55102,10 +56078,12 @@ pub mod api { >, expiration: ::core::primitive::u32, }, + #[codec(index = 16)] #[doc = "A queued username passed its expiration without being claimed and was removed."] PreapprovalExpired { whose: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 17)] #[doc = "A username was set as a primary and can be looked up from `who`."] PrimaryUsernameSet { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -55113,6 +56091,7 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 18)] #[doc = "A dangling username (as in, a username corresponding to an account that has removed its"] #[doc = "identity) has been removed."] DanglingUsernameRemoved { @@ -55121,18 +56100,21 @@ pub mod api { ::core::primitive::u8, >, }, + #[codec(index = 19)] #[doc = "A username has been unbound."] UsernameUnbound { username: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, + #[codec(index = 20)] #[doc = "A username has been removed."] UsernameRemoved { username: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, + #[codec(index = 21)] #[doc = "A username has been killed."] UsernameKilled { username: runtime_types::bounded_collections::bounded_vec::BoundedVec< @@ -55170,43 +56152,81 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Data { + #[codec(index = 0)] None, + #[codec(index = 1)] Raw0([::core::primitive::u8; 0usize]), + #[codec(index = 2)] Raw1([::core::primitive::u8; 1usize]), + #[codec(index = 3)] Raw2([::core::primitive::u8; 2usize]), + #[codec(index = 4)] Raw3([::core::primitive::u8; 3usize]), + #[codec(index = 5)] Raw4([::core::primitive::u8; 4usize]), + #[codec(index = 6)] Raw5([::core::primitive::u8; 5usize]), + #[codec(index = 7)] Raw6([::core::primitive::u8; 6usize]), + #[codec(index = 8)] Raw7([::core::primitive::u8; 7usize]), + #[codec(index = 9)] Raw8([::core::primitive::u8; 8usize]), + #[codec(index = 10)] Raw9([::core::primitive::u8; 9usize]), + #[codec(index = 11)] Raw10([::core::primitive::u8; 10usize]), + #[codec(index = 12)] Raw11([::core::primitive::u8; 11usize]), + #[codec(index = 13)] Raw12([::core::primitive::u8; 12usize]), + #[codec(index = 14)] Raw13([::core::primitive::u8; 13usize]), + #[codec(index = 15)] Raw14([::core::primitive::u8; 14usize]), + #[codec(index = 16)] Raw15([::core::primitive::u8; 15usize]), + #[codec(index = 17)] Raw16([::core::primitive::u8; 16usize]), + #[codec(index = 18)] Raw17([::core::primitive::u8; 17usize]), + #[codec(index = 19)] Raw18([::core::primitive::u8; 18usize]), + #[codec(index = 20)] Raw19([::core::primitive::u8; 19usize]), + #[codec(index = 21)] Raw20([::core::primitive::u8; 20usize]), + #[codec(index = 22)] Raw21([::core::primitive::u8; 21usize]), + #[codec(index = 23)] Raw22([::core::primitive::u8; 22usize]), + #[codec(index = 24)] Raw23([::core::primitive::u8; 23usize]), + #[codec(index = 25)] Raw24([::core::primitive::u8; 24usize]), + #[codec(index = 26)] Raw25([::core::primitive::u8; 25usize]), + #[codec(index = 27)] Raw26([::core::primitive::u8; 26usize]), + #[codec(index = 28)] Raw27([::core::primitive::u8; 27usize]), + #[codec(index = 29)] Raw28([::core::primitive::u8; 28usize]), + #[codec(index = 30)] Raw29([::core::primitive::u8; 29usize]), + #[codec(index = 31)] Raw30([::core::primitive::u8; 30usize]), + #[codec(index = 32)] Raw31([::core::primitive::u8; 31usize]), + #[codec(index = 33)] Raw32([::core::primitive::u8; 32usize]), + #[codec(index = 34)] BlakeTwo256([::core::primitive::u8; 32usize]), + #[codec(index = 35)] Sha256([::core::primitive::u8; 32usize]), + #[codec(index = 36)] Keccak256([::core::primitive::u8; 32usize]), + #[codec(index = 37)] ShaThree256([::core::primitive::u8; 32usize]), } #[derive( @@ -55221,12 +56241,19 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Judgement<_0> { + #[codec(index = 0)] Unknown, + #[codec(index = 1)] FeePaid(_0), + #[codec(index = 2)] Reasonable, + #[codec(index = 3)] KnownGood, + #[codec(index = 4)] OutOfDate, + #[codec(index = 5)] LowQuality, + #[codec(index = 6)] Erroneous, } #[derive( @@ -55241,8 +56268,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Provider<_0> { + #[codec(index = 0)] Allocation, + #[codec(index = 1)] AuthorityDeposit(_0), + #[codec(index = 2)] System, } #[derive( @@ -55314,6 +56344,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Assign an previously unassigned index."] #[doc = ""] #[doc = "Payment: `Deposit` is reserved from the sender account."] @@ -55327,6 +56358,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- `O(1)`."] claim { index: ::core::primitive::u32 }, + #[codec(index = 1)] #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] #[doc = "is effectively transferred to the new account."] #[doc = ""] @@ -55346,6 +56378,7 @@ pub mod api { >, index: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "Free up an index owned by the sender."] #[doc = ""] #[doc = "Payment: Any previous deposit placed for the index is unreserved in the sender account."] @@ -55359,6 +56392,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- `O(1)`."] free { index: ::core::primitive::u32 }, + #[codec(index = 3)] #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] #[doc = "held, then any deposit is reimbursed to its current owner."] #[doc = ""] @@ -55380,6 +56414,7 @@ pub mod api { index: ::core::primitive::u32, freeze: ::core::primitive::bool, }, + #[codec(index = 4)] #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] #[doc = "deposit."] #[doc = ""] @@ -55393,6 +56428,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- `O(1)`."] freeze { index: ::core::primitive::u32 }, + #[codec(index = 5)] #[doc = "Poke the deposit reserved for an index."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must have a"] @@ -55418,14 +56454,19 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The index was not already assigned."] NotAssigned, + #[codec(index = 1)] #[doc = "The index is assigned to another account."] NotOwner, + #[codec(index = 2)] #[doc = "The index was not available."] InUse, + #[codec(index = 3)] #[doc = "The source and destination accounts are identical."] NotTransfer, + #[codec(index = 4)] #[doc = "The index is permanent and may not be freed/changed."] Permanent, } @@ -55442,18 +56483,22 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A account index was assigned."] IndexAssigned { who: ::subxt::ext::subxt_core::utils::AccountId32, index: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "A account index has been freed up (unassigned)."] IndexFreed { index: ::core::primitive::u32 }, + #[codec(index = 2)] #[doc = "A account index has been frozen to its current account ID."] IndexFrozen { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 3)] #[doc = "A deposit to reserve an index has been poked/reconsidered."] DepositPoked { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -55481,7 +56526,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Remove a page which has no more messages remaining to be processed or is stale."] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [doc = "Execute an overweight message."] # [doc = ""] # [doc = "Temporary processing errors will be propagated whereas permanent errors are treated"] # [doc = "as success condition."] # [doc = ""] # [doc = "- `origin`: Must be `Signed`."] # [doc = "- `message_origin`: The origin from which the message to be executed arrived."] # [doc = "- `page`: The page in the queue in which the message to be executed is sitting."] # [doc = "- `index`: The index into the queue of the message to be executed."] # [doc = "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution"] # [doc = " of the message."] # [doc = ""] # [doc = "Benchmark complexity considerations: O(index + weight_limit)."] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : runtime_types :: sp_weights :: weight_v2 :: Weight , } , } + # [codec (index = 0)] # [doc = "Remove a page which has no more messages remaining to be processed or is stale."] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Execute an overweight message."] # [doc = ""] # [doc = "Temporary processing errors will be propagated whereas permanent errors are treated"] # [doc = "as success condition."] # [doc = ""] # [doc = "- `origin`: Must be `Signed`."] # [doc = "- `message_origin`: The origin from which the message to be executed arrived."] # [doc = "- `page`: The page in the queue in which the message to be executed is sitting."] # [doc = "- `index`: The index into the queue of the message to be executed."] # [doc = "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution"] # [doc = " of the message."] # [doc = ""] # [doc = "Benchmark complexity considerations: O(index + weight_limit)."] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : runtime_types :: sp_weights :: weight_v2 :: Weight , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -55495,28 +56540,37 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Page is not reapable because it has items remaining to be processed and is not old"] #[doc = "enough."] NotReapable, + #[codec(index = 1)] #[doc = "Page to be reaped does not exist."] NoPage, + #[codec(index = 2)] #[doc = "The referenced message could not be found."] NoMessage, + #[codec(index = 3)] #[doc = "The message was already processed and cannot be processed again."] AlreadyProcessed, + #[codec(index = 4)] #[doc = "The message is queued for future execution."] Queued, + #[codec(index = 5)] #[doc = "There is temporarily not enough weight to continue servicing messages."] InsufficientWeight, + #[codec(index = 6)] #[doc = "This message is temporarily unprocessable."] #[doc = ""] #[doc = "Such errors are expected, but not guaranteed, to resolve themselves eventually through"] #[doc = "retrying."] TemporarilyUnprocessable, + #[codec(index = 7)] #[doc = "The queue is paused and no message can be executed from it."] #[doc = ""] #[doc = "This can change at any time and may resolve in the future by re-trying."] QueuePaused, + #[codec(index = 8)] #[doc = "Another call is in progress and needs to finish before this call can happen."] RecursiveDisallowed, } @@ -55533,7 +56587,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { - # [doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] ProcessingFailed { id : :: subxt :: ext :: subxt_core :: utils :: H256 , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [doc = "Message is processed."] Processed { id : :: subxt :: ext :: subxt_core :: utils :: H256 , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : runtime_types :: sp_weights :: weight_v2 :: Weight , success : :: core :: primitive :: bool , } , # [doc = "Message placed in overweight queue."] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [doc = "This page was reaped."] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , } + # [codec (index = 0)] # [doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] ProcessingFailed { id : :: subxt :: ext :: subxt_core :: utils :: H256 , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 1)] # [doc = "Message is processed."] Processed { id : :: subxt :: ext :: subxt_core :: utils :: H256 , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : runtime_types :: sp_weights :: weight_v2 :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 2)] # [doc = "Message placed in overweight queue."] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "This page was reaped."] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , } } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -55597,6 +56651,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Allows root to set a cursor to forcefully start, stop or forward the migration process."] #[doc = ""] #[doc = "Should normally not be needed and is only in place as emergency measure. Note that"] @@ -55612,6 +56667,7 @@ pub mod api { >, >, }, + #[codec(index = 1)] #[doc = "Allows root to set an active cursor to forcefully start/forward the migration process."] #[doc = ""] #[doc = "This is an edge-case version of [`Self::force_set_cursor`] that allows to set the"] @@ -55627,11 +56683,13 @@ pub mod api { >, started_at: ::core::option::Option<::core::primitive::u32>, }, + #[codec(index = 2)] #[doc = "Forces the onboarding of the migrations."] #[doc = ""] #[doc = "This process happens automatically on a runtime upgrade. It is in place as an emergency"] #[doc = "measurement. The cursor needs to be `None` for this to succeed."] force_onboard_mbms, + #[codec(index = 3)] #[doc = "Clears the `Historic` set."] #[doc = ""] #[doc = "`map_cursor` must be set to the last value that was returned by the"] @@ -55658,6 +56716,7 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The operation cannot complete since some MBMs are ongoing."] Ongoing, } @@ -55674,30 +56733,37 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A Runtime upgrade started."] #[doc = ""] #[doc = "Its end is indicated by `UpgradeCompleted` or `UpgradeFailed`."] UpgradeStarted { migrations: ::core::primitive::u32 }, + #[codec(index = 1)] #[doc = "The current runtime upgrade completed."] #[doc = ""] #[doc = "This implies that all of its migrations completed successfully as well."] UpgradeCompleted, + #[codec(index = 2)] #[doc = "Runtime upgrade failed."] #[doc = ""] #[doc = "This is very bad and will require governance intervention."] UpgradeFailed, + #[codec(index = 3)] #[doc = "A migration was skipped since it was already executed in the past."] MigrationSkipped { index: ::core::primitive::u32 }, + #[codec(index = 4)] #[doc = "A migration progressed."] MigrationAdvanced { index: ::core::primitive::u32, took: ::core::primitive::u32, }, + #[codec(index = 5)] #[doc = "A Migration completed."] MigrationCompleted { index: ::core::primitive::u32, took: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "A Migration failed."] #[doc = ""] #[doc = "This implies that the whole upgrade failed and governance intervention is required."] @@ -55705,6 +56771,7 @@ pub mod api { index: ::core::primitive::u32, took: ::core::primitive::u32, }, + #[codec(index = 7)] #[doc = "The set of historical migrations has been cleared."] HistoricCleared { next_cursor: ::core::option::Option< @@ -55733,7 +56800,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum HistoricCleanupSelector<_0> { + #[codec(index = 0)] Specific(::subxt::ext::subxt_core::alloc::vec::Vec<_0>), + #[codec(index = 1)] Wildcard { limit: ::core::option::Option<::core::primitive::u32>, previous_cursor: ::core::option::Option< @@ -55749,7 +56818,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum MigrationCursor<_0, _1> { + #[codec(index = 0)] Active(runtime_types::pallet_migrations::ActiveCursor<_0, _1>), + #[codec(index = 1)] Stuck, } } @@ -55770,6 +56841,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] @@ -55790,6 +56862,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 1)] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] #[doc = ""] @@ -55842,6 +56915,7 @@ pub mod api { >, max_weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 2)] #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] #[doc = ""] @@ -55883,6 +56957,7 @@ pub mod api { call_hash: [::core::primitive::u8; 32usize], max_weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 3)] #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] #[doc = "for this operation will be unreserved on success."] #[doc = ""] @@ -55913,6 +56988,7 @@ pub mod api { runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, call_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 4)] #[doc = "Poke the deposit reserved for an existing multisig operation."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and must be the original depositor of"] @@ -55947,33 +57023,47 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Threshold must be 2 or greater."] MinimumThreshold, + #[codec(index = 1)] #[doc = "Call is already approved by this signatory."] AlreadyApproved, + #[codec(index = 2)] #[doc = "Call doesn't need any (more) approvals."] NoApprovalsNeeded, + #[codec(index = 3)] #[doc = "There are too few signatories in the list."] TooFewSignatories, + #[codec(index = 4)] #[doc = "There are too many signatories in the list."] TooManySignatories, + #[codec(index = 5)] #[doc = "The signatories were provided out of order; they should be ordered."] SignatoriesOutOfOrder, + #[codec(index = 6)] #[doc = "The sender was contained in the other signatories; it shouldn't be."] SenderInSignatories, + #[codec(index = 7)] #[doc = "Multisig operation not found in storage."] NotFound, + #[codec(index = 8)] #[doc = "Only the account that originally created the multisig is able to cancel it or update"] #[doc = "its deposits."] NotOwner, + #[codec(index = 9)] #[doc = "No timepoint was given, yet the multisig operation is already underway."] NoTimepoint, + #[codec(index = 10)] #[doc = "A different timepoint was given to the multisig operation that is underway."] WrongTimepoint, + #[codec(index = 11)] #[doc = "A timepoint was given, yet no multisig operation is underway."] UnexpectedTimepoint, + #[codec(index = 12)] #[doc = "The maximum weight information provided was too low."] MaxWeightTooLow, + #[codec(index = 13)] #[doc = "The data to be stored is already stored."] AlreadyStored, } @@ -55990,12 +57080,14 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A new multisig operation has begun."] NewMultisig { approving: ::subxt::ext::subxt_core::utils::AccountId32, multisig: ::subxt::ext::subxt_core::utils::AccountId32, call_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 1)] #[doc = "A multisig operation has been approved by someone."] MultisigApproval { approving: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56004,6 +57096,7 @@ pub mod api { multisig: ::subxt::ext::subxt_core::utils::AccountId32, call_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] #[doc = "A multisig operation has been executed."] MultisigExecuted { approving: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56014,6 +57107,7 @@ pub mod api { result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, }, + #[codec(index = 3)] #[doc = "A multisig operation has been cancelled."] MultisigCancelled { cancelling: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56022,6 +57116,7 @@ pub mod api { multisig: ::subxt::ext::subxt_core::utils::AccountId32, call_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 4)] #[doc = "The deposit for a multisig operation has been updated/poked."] DepositPoked { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56088,6 +57183,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Place a bid."] #[doc = ""] #[doc = "Origin must be Signed, and account must have at least `amount` in free balance."] @@ -56100,9 +57196,11 @@ pub mod api { #[doc = "Complexities:"] #[doc = "- `Queues[duration].len()` (just take max)."] place_bid { + #[codec(compact)] amount: ::core::primitive::u128, duration: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "Retract a previously placed bid."] #[doc = ""] #[doc = "Origin must be Signed, and the account should have previously issued a still-active bid"] @@ -56111,13 +57209,16 @@ pub mod api { #[doc = "- `amount`: The amount of the previous bid."] #[doc = "- `duration`: The duration of the previous bid."] retract_bid { + #[codec(compact)] amount: ::core::primitive::u128, duration: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "Ensure we have sufficient funding for all potential payouts."] #[doc = ""] #[doc = "- `origin`: Must be accepted by `FundOrigin`."] fund_deficit, + #[codec(index = 3)] #[doc = "Reduce or remove an outstanding receipt, placing the according proportion of funds into"] #[doc = "the account of the owner."] #[doc = ""] @@ -56127,22 +57228,35 @@ pub mod api { #[doc = "- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If"] #[doc = " `None`, then all of it should be."] thaw_private { + #[codec(compact)] index: ::core::primitive::u32, maybe_proportion: ::core::option::Option< runtime_types::sp_arithmetic::per_things::Perquintill, >, }, + #[codec(index = 4)] #[doc = "Reduce or remove an outstanding receipt, placing the according proportion of funds into"] #[doc = "the account of the owner."] #[doc = ""] #[doc = "- `origin`: Must be Signed and the account must be the owner of the fungible counterpart"] #[doc = " for receipt `index`."] #[doc = "- `index`: The index of the receipt."] - thaw_communal { index: ::core::primitive::u32 }, + thaw_communal { + #[codec(compact)] + index: ::core::primitive::u32, + }, + #[codec(index = 5)] #[doc = "Make a private receipt communal and create fungible counterparts for its owner."] - communify { index: ::core::primitive::u32 }, + communify { + #[codec(compact)] + index: ::core::primitive::u32, + }, + #[codec(index = 6)] #[doc = "Make a communal receipt private and burn fungible counterparts from its owner."] - privatize { index: ::core::primitive::u32 }, + privatize { + #[codec(compact)] + index: ::core::primitive::u32, + }, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -56157,35 +57271,50 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The duration of the bid is less than one."] DurationTooSmall, + #[codec(index = 1)] #[doc = "The duration is the bid is greater than the number of queues."] DurationTooBig, + #[codec(index = 2)] #[doc = "The amount of the bid is less than the minimum allowed."] AmountTooSmall, + #[codec(index = 3)] #[doc = "The queue for the bid's duration is full and the amount bid is too low to get in"] #[doc = "through replacing an existing bid."] BidTooLow, + #[codec(index = 4)] #[doc = "Receipt index is unknown."] UnknownReceipt, + #[codec(index = 5)] #[doc = "Not the owner of the receipt."] NotOwner, + #[codec(index = 6)] #[doc = "Bond not yet at expiry date."] NotExpired, + #[codec(index = 7)] #[doc = "The given bid for retraction is not found."] UnknownBid, + #[codec(index = 8)] #[doc = "The portion supplied is beyond the value of the receipt."] PortionTooBig, + #[codec(index = 9)] #[doc = "Not enough funds are held to pay out."] Unfunded, + #[codec(index = 10)] #[doc = "There are enough funds for what is required."] AlreadyFunded, + #[codec(index = 11)] #[doc = "The thaw throttle has been reached for this period."] Throttled, + #[codec(index = 12)] #[doc = "The operation would result in a receipt worth an insignificant value."] MakesDust, + #[codec(index = 13)] #[doc = "The receipt is already communal."] AlreadyCommunal, + #[codec(index = 14)] #[doc = "The receipt is already private."] AlreadyPrivate, } @@ -56202,24 +57331,28 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A bid was successfully placed."] BidPlaced { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, duration: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "A bid was successfully removed (before being accepted)."] BidRetracted { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, duration: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "A bid was dropped from a queue because of another, more substantial, bid was present."] BidDropped { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, duration: ::core::primitive::u32, }, + #[codec(index = 3)] #[doc = "A bid was accepted. The balance may not be released until expiry."] Issued { index: ::core::primitive::u32, @@ -56228,6 +57361,7 @@ pub mod api { proportion: runtime_types::sp_arithmetic::per_things::Perquintill, amount: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "An receipt has been (at least partially) thawed."] Thawed { index: ::core::primitive::u32, @@ -56236,8 +57370,10 @@ pub mod api { amount: ::core::primitive::u128, dropped: ::core::primitive::bool, }, + #[codec(index = 5)] #[doc = "An automatic funding of the deficit was made."] Funded { deficit: ::core::primitive::u128 }, + #[codec(index = 6)] #[doc = "A receipt was transferred."] Transferred { from: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56257,6 +57393,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum HoldReason { + #[codec(index = 0)] NftReceipt, } #[derive( @@ -56312,6 +57449,7 @@ pub mod api { )] #[doc = "Events type."] pub enum Event { + #[codec(index = 0)] #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] #[doc = "(kind-specific) time slot. This event is not deposited for duplicate slashes."] #[doc = "\\[kind, timeslot\\]."] @@ -56339,6 +57477,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Set the value of a parameter."] #[doc = ""] #[doc = "The dispatch origin of this call must be `AdminOrigin` for the given `key`. Values be"] @@ -56360,6 +57499,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A Parameter was set."] #[doc = ""] #[doc = "Is also emitted when the value was not changed."] @@ -56392,6 +57532,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Register a preimage on-chain."] #[doc = ""] #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"] @@ -56399,6 +57540,7 @@ pub mod api { note_preimage { bytes: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 1)] #[doc = "Clear an unrequested preimage from the runtime storage."] #[doc = ""] #[doc = "If `len` is provided, then it will be a much cheaper operation."] @@ -56408,6 +57550,7 @@ pub mod api { unnote_preimage { hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 2)] #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] #[doc = ""] #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"] @@ -56415,12 +57558,14 @@ pub mod api { request_preimage { hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 3)] #[doc = "Clear a previously made request for a preimage."] #[doc = ""] #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."] unrequest_preimage { hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 4)] #[doc = "Ensure that the bulk of pre-images is upgraded."] #[doc = ""] #[doc = "The caller pays no fee if at least 90% of pre-images were successfully updated."] @@ -56443,20 +57588,28 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Preimage is too large to store on-chain."] TooBig, + #[codec(index = 1)] #[doc = "Preimage has already been noted on-chain."] AlreadyNoted, + #[codec(index = 2)] #[doc = "The user is not authorized to perform this action."] NotAuthorized, + #[codec(index = 3)] #[doc = "The preimage cannot be removed since it has not yet been noted."] NotNoted, + #[codec(index = 4)] #[doc = "A preimage may not be removed when there are outstanding requests."] Requested, + #[codec(index = 5)] #[doc = "The preimage request cannot be removed since no outstanding requests exist."] NotRequested, + #[codec(index = 6)] #[doc = "More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once."] TooMany, + #[codec(index = 7)] #[doc = "Too few hashes were requested to be upgraded (i.e. zero)."] TooFew, } @@ -56473,14 +57626,17 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A preimage has been noted."] Noted { hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 1)] #[doc = "A preimage has been requested."] Requested { hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 2)] #[doc = "A preimage has ben cleared."] Cleared { hash: ::subxt::ext::subxt_core::utils::H256, @@ -56498,6 +57654,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum HoldReason { + #[codec(index = 0)] Preimage, } } @@ -56509,10 +57666,12 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum OldRequestStatus<_0, _1> { + #[codec(index = 0)] Unrequested { deposit: (_0, _1), len: ::core::primitive::u32, }, + #[codec(index = 1)] Requested { deposit: ::core::option::Option<(_0, _1)>, count: ::core::primitive::u32, @@ -56527,10 +57686,12 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RequestStatus<_0, _1> { + #[codec(index = 0)] Unrequested { ticket: (_0, _1), len: ::core::primitive::u32, }, + #[codec(index = 1)] Requested { maybe_ticket: ::core::option::Option<(_0, _1)>, count: ::core::primitive::u32, @@ -56555,6 +57716,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] #[doc = "`add_proxy`."] #[doc = ""] @@ -56575,6 +57737,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 1)] #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] @@ -56592,6 +57755,7 @@ pub mod api { proxy_type: runtime_types::rococo_runtime::ProxyType, delay: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "Unregister a proxy account for the sender."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] @@ -56607,13 +57771,15 @@ pub mod api { proxy_type: runtime_types::rococo_runtime::ProxyType, delay: ::core::primitive::u32, }, + #[codec(index = 3)] #[doc = "Unregister all proxy accounts for the sender."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] #[doc = ""] - #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "WARNING: This may be called on accounts created by `create_pure`, however if done, then"] #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] remove_proxies, + #[codec(index = 4)] #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] #[doc = ""] @@ -56637,22 +57803,23 @@ pub mod api { delay: ::core::primitive::u32, index: ::core::primitive::u16, }, + #[codec(index = 5)] #[doc = "Removes a previously spawned pure proxy."] #[doc = ""] #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] #[doc = "inaccessible."] #[doc = ""] #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] - #[doc = "`pure` with corresponding parameters."] + #[doc = "`create_pure` with corresponding parameters."] #[doc = ""] - #[doc = "- `spawner`: The account that originally called `pure` to create this account."] - #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] - #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] - #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] - #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = "- `spawner`: The account that originally called `create_pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `create_pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `create_pure`."] + #[doc = "- `height`: The height of the chain when the call to `create_pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `create_pure` was processed."] #[doc = ""] #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] - #[doc = "account whose `pure` call has corresponding parameters."] + #[doc = "account whose `create_pure` call has corresponding parameters."] kill_pure { spawner: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, @@ -56660,9 +57827,12 @@ pub mod api { >, proxy_type: runtime_types::rococo_runtime::ProxyType, index: ::core::primitive::u16, + #[codec(compact)] height: ::core::primitive::u32, + #[codec(compact)] ext_index: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "Publish the hash of a proxy-call that will be made in the future."] #[doc = ""] #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] @@ -56685,6 +57855,7 @@ pub mod api { >, call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 7)] #[doc = "Remove a given announcement."] #[doc = ""] #[doc = "May be called by a proxy account to remove a call they previously announced and return"] @@ -56702,6 +57873,7 @@ pub mod api { >, call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 8)] #[doc = "Remove the given announcement of a delegate."] #[doc = ""] #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] @@ -56719,6 +57891,7 @@ pub mod api { >, call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 9)] #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] #[doc = "`add_proxy`."] #[doc = ""] @@ -56745,6 +57918,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 10)] #[doc = "Poke / Adjust deposits made for proxies and announcements based on current values."] #[doc = "This can be used by accounts to possibly lower their locked amount."] #[doc = ""] @@ -56768,20 +57942,28 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "There are too many proxies registered or too many announcements pending."] TooMany, + #[codec(index = 1)] #[doc = "Proxy registration not found."] NotFound, + #[codec(index = 2)] #[doc = "Sender is not a proxy of the account to be proxied."] NotProxy, + #[codec(index = 3)] #[doc = "A call which is incompatible with the proxy type's filter was attempted."] Unproxyable, + #[codec(index = 4)] #[doc = "Account is already a proxy."] Duplicate, + #[codec(index = 5)] #[doc = "Call may not be made by proxy because it may escalate its privileges."] NoPermission, + #[codec(index = 6)] #[doc = "Announcement, if made at all, was made too recently."] Unannounced, + #[codec(index = 7)] #[doc = "Cannot add self as proxy."] NoSelfProxy, } @@ -56798,11 +57980,13 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A proxy was executed correctly, with the given."] ProxyExecuted { result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, }, + #[codec(index = 1)] #[doc = "A pure account has been created by new proxy with given"] #[doc = "disambiguation index and proxy type."] PureCreated { @@ -56811,12 +57995,22 @@ pub mod api { proxy_type: runtime_types::rococo_runtime::ProxyType, disambiguation_index: ::core::primitive::u16, }, + #[codec(index = 2)] + #[doc = "A pure proxy was killed by its spawner."] + PureKilled { + pure: ::subxt::ext::subxt_core::utils::AccountId32, + spawner: ::subxt::ext::subxt_core::utils::AccountId32, + proxy_type: runtime_types::rococo_runtime::ProxyType, + disambiguation_index: ::core::primitive::u16, + }, + #[codec(index = 3)] #[doc = "An announcement was placed to make a call in the future."] Announced { real: ::subxt::ext::subxt_core::utils::AccountId32, proxy: ::subxt::ext::subxt_core::utils::AccountId32, call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 4)] #[doc = "A proxy was added."] ProxyAdded { delegator: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56824,6 +58018,7 @@ pub mod api { proxy_type: runtime_types::rococo_runtime::ProxyType, delay: ::core::primitive::u32, }, + #[codec(index = 5)] #[doc = "A proxy was removed."] ProxyRemoved { delegator: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56831,6 +58026,7 @@ pub mod api { proxy_type: runtime_types::rococo_runtime::ProxyType, delay: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "A deposit stored for proxies or announcements was poked / updated."] DepositPoked { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -56860,7 +58056,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum DepositKind { + #[codec(index = 0)] Proxies, + #[codec(index = 1)] Announcements, } #[derive( @@ -56893,6 +58091,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Introduce a new member."] #[doc = ""] #[doc = "- `origin`: Must be the `AddOrigin`."] @@ -56905,6 +58104,7 @@ pub mod api { (), >, }, + #[codec(index = 1)] #[doc = "Increment the rank of an existing member by one."] #[doc = ""] #[doc = "- `origin`: Must be the `PromoteOrigin`."] @@ -56917,6 +58117,7 @@ pub mod api { (), >, }, + #[codec(index = 2)] #[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"] #[doc = "then they are removed entirely."] #[doc = ""] @@ -56930,6 +58131,7 @@ pub mod api { (), >, }, + #[codec(index = 3)] #[doc = "Remove the member entirely."] #[doc = ""] #[doc = "- `origin`: Must be the `RemoveOrigin`."] @@ -56944,6 +58146,7 @@ pub mod api { >, min_rank: ::core::primitive::u16, }, + #[codec(index = 4)] #[doc = "Add an aye or nay vote for the sender to the given proposal."] #[doc = ""] #[doc = "- `origin`: Must be `Signed` by a member account."] @@ -56959,6 +58162,7 @@ pub mod api { poll: ::core::primitive::u32, aye: ::core::primitive::bool, }, + #[codec(index = 5)] #[doc = "Remove votes from the given poll. It must have ended."] #[doc = ""] #[doc = "- `origin`: Must be `Signed` by any account."] @@ -56973,6 +58177,7 @@ pub mod api { poll_index: ::core::primitive::u32, max: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "Exchanges a member with a new account and the same existing rank."] #[doc = ""] #[doc = "- `origin`: Must be the `ExchangeOrigin`."] @@ -57002,26 +58207,37 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Account is already a member."] AlreadyMember, + #[codec(index = 1)] #[doc = "Account is not a member."] NotMember, + #[codec(index = 2)] #[doc = "The given poll index is unknown or has closed."] NotPolling, + #[codec(index = 3)] #[doc = "The given poll is still ongoing."] Ongoing, + #[codec(index = 4)] #[doc = "There are no further records to be removed."] NoneRemaining, + #[codec(index = 5)] #[doc = "Unexpected error in state."] Corruption, + #[codec(index = 6)] #[doc = "The member's rank is too low to vote."] RankTooLow, + #[codec(index = 7)] #[doc = "The information provided is incorrect."] InvalidWitness, + #[codec(index = 8)] #[doc = "The origin is not sufficiently privileged to do the operation."] NoPermission, + #[codec(index = 9)] #[doc = "The new member to exchange is the same as the old member"] SameMember, + #[codec(index = 10)] #[doc = "The max member count for the rank has been reached."] TooManyMembers, } @@ -57038,20 +58254,24 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A member `who` has been added."] MemberAdded { who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "The member `who`se rank has been changed to the given `rank`."] RankChanged { who: ::subxt::ext::subxt_core::utils::AccountId32, rank: ::core::primitive::u16, }, + #[codec(index = 2)] #[doc = "The member `who` of given `rank` has been removed from the collective."] MemberRemoved { who: ::subxt::ext::subxt_core::utils::AccountId32, rank: ::core::primitive::u16, }, + #[codec(index = 3)] #[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"] #[doc = "`tally`."] Voted { @@ -57060,6 +58280,7 @@ pub mod api { vote: runtime_types::pallet_ranked_collective::VoteRecord, tally: runtime_types::pallet_ranked_collective::Tally, }, + #[codec(index = 4)] #[doc = "The member `who` had their `AccountId` changed to `new_who`."] MemberExchanged { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -57097,7 +58318,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VoteRecord { + #[codec(index = 0)] Aye(::core::primitive::u32), + #[codec(index = 1)] Nay(::core::primitive::u32), } } @@ -57118,6 +58341,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Send a call through a recovered account."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and registered to"] @@ -57135,6 +58359,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 1)] #[doc = "Allow ROOT to bypass the recovery process and set a rescuer account"] #[doc = "for a lost account directly."] #[doc = ""] @@ -57153,6 +58378,7 @@ pub mod api { (), >, }, + #[codec(index = 2)] #[doc = "Create a recovery configuration for your account. This makes your account recoverable."] #[doc = ""] #[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"] @@ -57176,6 +58402,7 @@ pub mod api { threshold: ::core::primitive::u16, delay_period: ::core::primitive::u32, }, + #[codec(index = 3)] #[doc = "Initiate the process for recovering a recoverable account."] #[doc = ""] #[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"] @@ -57193,6 +58420,7 @@ pub mod api { (), >, }, + #[codec(index = 4)] #[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"] #[doc = "process for that account."] #[doc = ""] @@ -57215,6 +58443,7 @@ pub mod api { (), >, }, + #[codec(index = 5)] #[doc = "Allow a successful rescuer to claim their recovered account."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""] @@ -57230,6 +58459,7 @@ pub mod api { (), >, }, + #[codec(index = 6)] #[doc = "As the controller of a recoverable account, close an active recovery"] #[doc = "process for your account."] #[doc = ""] @@ -57247,6 +58477,7 @@ pub mod api { (), >, }, + #[codec(index = 7)] #[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."] #[doc = ""] #[doc = "NOTE: The user must make sure to call `close_recovery` on all active"] @@ -57259,6 +58490,7 @@ pub mod api { #[doc = "The dispatch origin for this call must be _Signed_ and must be a"] #[doc = "recoverable account (i.e. has a recovery configuration)."] remove_recovery, + #[codec(index = 8)] #[doc = "Cancel the ability to use `as_recovered` for `account`."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and registered to"] @@ -57272,6 +58504,38 @@ pub mod api { (), >, }, + #[codec(index = 9)] + #[doc = "Poke deposits for recovery configurations and / or active recoveries."] + #[doc = ""] + #[doc = "This can be used by accounts to possibly lower their locked amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `maybe_account`: Optional recoverable account for which you have an active recovery"] + #[doc = "and want to adjust the deposit for the active recovery."] + #[doc = ""] + #[doc = "This function checks both recovery configuration deposit and active recovery deposits"] + #[doc = "of the caller:"] + #[doc = "- If the caller has created a recovery configuration, checks and adjusts its deposit"] + #[doc = "- If the caller has initiated any active recoveries, and provides the account in"] + #[doc = "`maybe_account`, checks and adjusts those deposits"] + #[doc = ""] + #[doc = "If any deposit is updated, the difference will be reserved/unreserved from the caller's"] + #[doc = "account."] + #[doc = ""] + #[doc = "The transaction is made free if any deposit is updated and paid otherwise."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if any deposit is updated."] + #[doc = "Multiple events may be emitted in case both types of deposits are updated."] + poke_deposit { + maybe_account: ::core::option::Option< + ::subxt::ext::subxt_core::utils::MultiAddress< + ::subxt::ext::subxt_core::utils::AccountId32, + (), + >, + >, + }, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -57286,36 +58550,52 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "User is not allowed to make a call on behalf of this account"] NotAllowed, + #[codec(index = 1)] #[doc = "Threshold must be greater than zero"] ZeroThreshold, + #[codec(index = 2)] #[doc = "Friends list must be greater than zero and threshold"] NotEnoughFriends, + #[codec(index = 3)] #[doc = "Friends list must be less than max friends"] MaxFriends, + #[codec(index = 4)] #[doc = "Friends list must be sorted and free of duplicates"] NotSorted, + #[codec(index = 5)] #[doc = "This account is not set up for recovery"] NotRecoverable, + #[codec(index = 6)] #[doc = "This account is already set up for recovery"] AlreadyRecoverable, + #[codec(index = 7)] #[doc = "A recovery process has already started for this account"] AlreadyStarted, + #[codec(index = 8)] #[doc = "A recovery process has not started for this rescuer"] NotStarted, + #[codec(index = 9)] #[doc = "This account is not a friend who can vouch"] NotFriend, + #[codec(index = 10)] #[doc = "The friend must wait until the delay period to vouch for this recovery"] DelayPeriod, + #[codec(index = 11)] #[doc = "This user has already vouched for this recovery"] AlreadyVouched, + #[codec(index = 12)] #[doc = "The threshold for recovering this account has not been met"] Threshold, + #[codec(index = 13)] #[doc = "There are still active recovery attempts that need to be closed"] StillActive, + #[codec(index = 14)] #[doc = "This account is already set up for recovery"] AlreadyProxy, + #[codec(index = 15)] #[doc = "Some internal state is broken."] BadState, } @@ -57332,35 +58612,51 @@ pub mod api { )] #[doc = "Events type."] pub enum Event { + #[codec(index = 0)] #[doc = "A recovery process has been set up for an account."] RecoveryCreated { account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "A recovery process has been initiated for lost account by rescuer account."] RecoveryInitiated { lost_account: ::subxt::ext::subxt_core::utils::AccountId32, rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 2)] #[doc = "A recovery process for lost account by rescuer account has been vouched for by sender."] RecoveryVouched { lost_account: ::subxt::ext::subxt_core::utils::AccountId32, rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32, sender: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 3)] #[doc = "A recovery process for lost account by rescuer account has been closed."] RecoveryClosed { lost_account: ::subxt::ext::subxt_core::utils::AccountId32, rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 4)] #[doc = "Lost account has been successfully recovered by rescuer account."] AccountRecovered { lost_account: ::subxt::ext::subxt_core::utils::AccountId32, rescuer_account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 5)] #[doc = "A recovery process has been removed for an account."] RecoveryRemoved { lost_account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 6)] + #[doc = "A deposit has been updated."] + DepositPoked { + who: ::subxt::ext::subxt_core::utils::AccountId32, + kind: runtime_types::pallet_recovery::DepositKind< + runtime_types::rococo_runtime::Runtime, + >, + old_deposit: ::core::primitive::u128, + new_deposit: ::core::primitive::u128, + }, } } #[derive( @@ -57382,6 +58678,20 @@ pub mod api { )] #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] + pub enum DepositKind<_0> { + #[codec(index = 0)] + RecoveryConfig, + #[codec(index = 1)] + ActiveRecoveryFor(::subxt::ext::subxt_core::utils::AccountId32), + __Ignore(::core::marker::PhantomData<_0>), + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub struct RecoveryConfig<_0, _1, _2> { pub delay_period: _0, pub deposit: _1, @@ -57406,6 +58716,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Propose a referendum on a privileged action."] #[doc = ""] #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] @@ -57428,6 +58739,7 @@ pub mod api { ::core::primitive::u32, >, }, + #[codec(index = 1)] #[doc = "Post the Decision Deposit for a referendum."] #[doc = ""] #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] @@ -57437,6 +58749,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `DecisionDepositPlaced`."] place_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 2)] #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] #[doc = ""] #[doc = "- `origin`: must be `Signed` or `Root`."] @@ -57445,6 +58758,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `DecisionDepositRefunded`."] refund_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 3)] #[doc = "Cancel an ongoing referendum."] #[doc = ""] #[doc = "- `origin`: must be the `CancelOrigin`."] @@ -57452,6 +58766,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `Cancelled`."] cancel { index: ::core::primitive::u32 }, + #[codec(index = 4)] #[doc = "Cancel an ongoing referendum and slash the deposits."] #[doc = ""] #[doc = "- `origin`: must be the `KillOrigin`."] @@ -57459,11 +58774,13 @@ pub mod api { #[doc = ""] #[doc = "Emits `Killed` and `DepositSlashed`."] kill { index: ::core::primitive::u32 }, + #[codec(index = 5)] #[doc = "Advance a referendum onto its next logical state. Only used internally."] #[doc = ""] #[doc = "- `origin`: must be `Root`."] #[doc = "- `index`: the referendum to be advanced."] nudge_referendum { index: ::core::primitive::u32 }, + #[codec(index = 6)] #[doc = "Advance a track onto its next logical state. Only used internally."] #[doc = ""] #[doc = "- `origin`: must be `Root`."] @@ -57474,6 +58791,7 @@ pub mod api { #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] #[doc = "- decrement `DecidingCount`."] one_fewer_deciding { track: ::core::primitive::u16 }, + #[codec(index = 7)] #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] #[doc = ""] #[doc = "- `origin`: must be `Signed` or `Root`."] @@ -57482,6 +58800,7 @@ pub mod api { #[doc = ""] #[doc = "Emits `SubmissionDepositRefunded`."] refund_submission_deposit { index: ::core::primitive::u32 }, + #[codec(index = 8)] #[doc = "Set or clear metadata of a referendum."] #[doc = ""] #[doc = "Parameters:"] @@ -57507,32 +58826,46 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Referendum is not ongoing."] NotOngoing, + #[codec(index = 1)] #[doc = "Referendum's decision deposit is already paid."] HasDeposit, + #[codec(index = 2)] #[doc = "The track identifier given was invalid."] BadTrack, + #[codec(index = 3)] #[doc = "There are already a full complement of referenda in progress for this track."] Full, + #[codec(index = 4)] #[doc = "The queue of the track is empty."] QueueEmpty, + #[codec(index = 5)] #[doc = "The referendum index provided is invalid in this context."] BadReferendum, + #[codec(index = 6)] #[doc = "There was nothing to do in the advancement."] NothingToDo, + #[codec(index = 7)] #[doc = "No track exists for the proposal origin."] NoTrack, + #[codec(index = 8)] #[doc = "Any deposit cannot be refunded until after the decision is over."] Unfinished, + #[codec(index = 9)] #[doc = "The deposit refunder is not the depositor."] NoPermission, + #[codec(index = 10)] #[doc = "The deposit cannot be refunded since none was made."] NoDeposit, + #[codec(index = 11)] #[doc = "The referendum status is invalid for this operation."] BadStatus, + #[codec(index = 12)] #[doc = "The preimage does not exist."] PreimageNotExist, + #[codec(index = 13)] #[doc = "The preimage is stored with a different length than the one provided."] PreimageStoredWithDifferentLength, } @@ -57549,6 +58882,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event1 { + #[codec(index = 0)] #[doc = "A referendum has been submitted."] Submitted { index: ::core::primitive::u32, @@ -57558,23 +58892,27 @@ pub mod api { runtime_types::sp_runtime::traits::BlakeTwo256, >, }, + #[codec(index = 1)] #[doc = "The decision deposit has been placed."] DecisionDepositPlaced { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "The decision deposit has been refunded."] DecisionDepositRefunded { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "A deposit has been slashed."] DepositSlashed { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "A referendum has moved into the deciding phase."] DecisionStarted { index: ::core::primitive::u32, @@ -57587,12 +58925,11 @@ pub mod api { ::core::primitive::u128, >, }, - ConfirmStarted { - index: ::core::primitive::u32, - }, - ConfirmAborted { - index: ::core::primitive::u32, - }, + #[codec(index = 5)] + ConfirmStarted { index: ::core::primitive::u32 }, + #[codec(index = 6)] + ConfirmAborted { index: ::core::primitive::u32 }, + #[codec(index = 7)] #[doc = "A referendum has ended its confirmation phase and is ready for approval."] Confirmed { index: ::core::primitive::u32, @@ -57600,10 +58937,10 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 8)] #[doc = "A referendum has been approved and its proposal has been scheduled."] - Approved { - index: ::core::primitive::u32, - }, + Approved { index: ::core::primitive::u32 }, + #[codec(index = 9)] #[doc = "A proposal has been rejected by referendum."] Rejected { index: ::core::primitive::u32, @@ -57611,6 +58948,7 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 10)] #[doc = "A referendum has been timed out without being decided."] TimedOut { index: ::core::primitive::u32, @@ -57618,6 +58956,7 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 11)] #[doc = "A referendum has been cancelled."] Cancelled { index: ::core::primitive::u32, @@ -57625,6 +58964,7 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 12)] #[doc = "A referendum has been killed."] Killed { index: ::core::primitive::u32, @@ -57632,17 +58972,20 @@ pub mod api { ::core::primitive::u128, >, }, + #[codec(index = 13)] #[doc = "The submission deposit has been refunded."] SubmissionDepositRefunded { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 14)] #[doc = "Metadata for a referendum has been set."] MetadataSet { index: ::core::primitive::u32, hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 15)] #[doc = "Metadata for a referendum has been cleared."] MetadataCleared { index: ::core::primitive::u32, @@ -57662,6 +59005,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event2 { + #[codec(index = 0)] #[doc = "A referendum has been submitted."] Submitted { index: ::core::primitive::u32, @@ -57671,23 +59015,27 @@ pub mod api { runtime_types::sp_runtime::traits::BlakeTwo256, >, }, + #[codec(index = 1)] #[doc = "The decision deposit has been placed."] DecisionDepositPlaced { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "The decision deposit has been refunded."] DecisionDepositRefunded { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "A deposit has been slashed."] DepositSlashed { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "A referendum has moved into the deciding phase."] DecisionStarted { index: ::core::primitive::u32, @@ -57698,52 +59046,57 @@ pub mod api { >, tally: runtime_types::pallet_ranked_collective::Tally, }, - ConfirmStarted { - index: ::core::primitive::u32, - }, - ConfirmAborted { - index: ::core::primitive::u32, - }, + #[codec(index = 5)] + ConfirmStarted { index: ::core::primitive::u32 }, + #[codec(index = 6)] + ConfirmAborted { index: ::core::primitive::u32 }, + #[codec(index = 7)] #[doc = "A referendum has ended its confirmation phase and is ready for approval."] Confirmed { index: ::core::primitive::u32, tally: runtime_types::pallet_ranked_collective::Tally, }, + #[codec(index = 8)] #[doc = "A referendum has been approved and its proposal has been scheduled."] - Approved { - index: ::core::primitive::u32, - }, + Approved { index: ::core::primitive::u32 }, + #[codec(index = 9)] #[doc = "A proposal has been rejected by referendum."] Rejected { index: ::core::primitive::u32, tally: runtime_types::pallet_ranked_collective::Tally, }, + #[codec(index = 10)] #[doc = "A referendum has been timed out without being decided."] TimedOut { index: ::core::primitive::u32, tally: runtime_types::pallet_ranked_collective::Tally, }, + #[codec(index = 11)] #[doc = "A referendum has been cancelled."] Cancelled { index: ::core::primitive::u32, tally: runtime_types::pallet_ranked_collective::Tally, }, + #[codec(index = 12)] #[doc = "A referendum has been killed."] Killed { index: ::core::primitive::u32, tally: runtime_types::pallet_ranked_collective::Tally, }, + #[codec(index = 13)] #[doc = "The submission deposit has been refunded."] SubmissionDepositRefunded { index: ::core::primitive::u32, who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 14)] #[doc = "Metadata for a referendum has been set."] MetadataSet { index: ::core::primitive::u32, hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 15)] #[doc = "Metadata for a referendum has been cleared."] MetadataCleared { index: ::core::primitive::u32, @@ -57765,17 +59118,20 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Curve { + #[codec(index = 0)] LinearDecreasing { length: runtime_types::sp_arithmetic::per_things::Perbill, floor: runtime_types::sp_arithmetic::per_things::Perbill, ceil: runtime_types::sp_arithmetic::per_things::Perbill, }, + #[codec(index = 1)] SteppedDecreasing { begin: runtime_types::sp_arithmetic::per_things::Perbill, end: runtime_types::sp_arithmetic::per_things::Perbill, step: runtime_types::sp_arithmetic::per_things::Perbill, period: runtime_types::sp_arithmetic::per_things::Perbill, }, + #[codec(index = 2)] Reciprocal { factor: runtime_types::sp_arithmetic::fixed_point::FixedI64, x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, @@ -57824,6 +59180,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> { + #[codec(index = 0)] Ongoing( runtime_types::pallet_referenda::types::ReferendumStatus< _0, @@ -57836,6 +59193,7 @@ pub mod api { _7, >, ), + #[codec(index = 1)] Approved( _2, ::core::option::Option< @@ -57845,6 +59203,7 @@ pub mod api { runtime_types::pallet_referenda::types::Deposit<_6, _4>, >, ), + #[codec(index = 2)] Rejected( _2, ::core::option::Option< @@ -57854,6 +59213,7 @@ pub mod api { runtime_types::pallet_referenda::types::Deposit<_6, _4>, >, ), + #[codec(index = 3)] Cancelled( _2, ::core::option::Option< @@ -57863,6 +59223,7 @@ pub mod api { runtime_types::pallet_referenda::types::Deposit<_6, _4>, >, ), + #[codec(index = 4)] TimedOut( _2, ::core::option::Option< @@ -57872,6 +59233,7 @@ pub mod api { runtime_types::pallet_referenda::types::Deposit<_6, _4>, >, ), + #[codec(index = 5)] Killed(_2), } #[derive( @@ -57943,10 +59305,12 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "A dispatch that will fill the block weight up to the given ratio."] fill_block { ratio: runtime_types::sp_arithmetic::per_things::Perbill, }, + #[codec(index = 1)] trigger_defensive, } #[derive( @@ -57962,6 +59326,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "Event dispatched when the trigger_defensive extrinsic is called."] DefensiveTestCall, } @@ -57984,6 +59349,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Anonymously schedule a task."] schedule { when: ::core::primitive::u32, @@ -57996,11 +59362,13 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 1)] #[doc = "Cancel an anonymously scheduled task."] cancel { when: ::core::primitive::u32, index: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "Schedule a named task."] schedule_named { id: [::core::primitive::u8; 32usize], @@ -58014,10 +59382,12 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 3)] #[doc = "Cancel a named scheduled task."] cancel_named { id: [::core::primitive::u8; 32usize], }, + #[codec(index = 4)] #[doc = "Anonymously schedule a task after a delay."] schedule_after { after: ::core::primitive::u32, @@ -58030,6 +59400,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 5)] #[doc = "Schedule a named task after a delay."] schedule_named_after { id: [::core::primitive::u8; 32usize], @@ -58043,6 +59414,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 6)] #[doc = "Set a retry configuration for a task so that, in case its scheduled run fails, it will"] #[doc = "be retried after `period` blocks, for a total amount of `retries` retries or until it"] #[doc = "succeeds."] @@ -58060,6 +59432,7 @@ pub mod api { retries: ::core::primitive::u8, period: ::core::primitive::u32, }, + #[codec(index = 7)] #[doc = "Set a retry configuration for a named task so that, in case its scheduled run fails, it"] #[doc = "will be retried after `period` blocks, for a total amount of `retries` retries or until"] #[doc = "it succeeds."] @@ -58077,10 +59450,12 @@ pub mod api { retries: ::core::primitive::u8, period: ::core::primitive::u32, }, + #[codec(index = 8)] #[doc = "Removes the retry configuration of a task."] cancel_retry { task: (::core::primitive::u32, ::core::primitive::u32), }, + #[codec(index = 9)] #[doc = "Cancel the retry configuration of a named task."] cancel_retry_named { id: [::core::primitive::u8; 32usize], @@ -58099,14 +59474,19 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Failed to schedule a call"] FailedToSchedule, + #[codec(index = 1)] #[doc = "Cannot find the scheduled call."] NotFound, + #[codec(index = 2)] #[doc = "Given target block number is in the past."] TargetBlockNumberInPast, + #[codec(index = 3)] #[doc = "Reschedule failed because it does not change scheduled time."] RescheduleNoChange, + #[codec(index = 4)] #[doc = "Attempt to use a non-named function on a named task."] Named, } @@ -58123,16 +59503,19 @@ pub mod api { )] #[doc = "Events type."] pub enum Event { + #[codec(index = 0)] #[doc = "Scheduled some task."] Scheduled { when: ::core::primitive::u32, index: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "Canceled some task."] Canceled { when: ::core::primitive::u32, index: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "Dispatched some task."] Dispatched { task: (::core::primitive::u32, ::core::primitive::u32), @@ -58140,6 +59523,7 @@ pub mod api { result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, }, + #[codec(index = 3)] #[doc = "Set a retry configuration for some task."] RetrySet { task: (::core::primitive::u32, ::core::primitive::u32), @@ -58147,32 +59531,38 @@ pub mod api { period: ::core::primitive::u32, retries: ::core::primitive::u8, }, + #[codec(index = 4)] #[doc = "Cancel a retry configuration for some task."] RetryCancelled { task: (::core::primitive::u32, ::core::primitive::u32), id: ::core::option::Option<[::core::primitive::u8; 32usize]>, }, + #[codec(index = 5)] #[doc = "The call for the provided hash was not found so the task has been aborted."] CallUnavailable { task: (::core::primitive::u32, ::core::primitive::u32), id: ::core::option::Option<[::core::primitive::u8; 32usize]>, }, + #[codec(index = 6)] #[doc = "The given task was unable to be renewed since the agenda is full at that block."] PeriodicFailed { task: (::core::primitive::u32, ::core::primitive::u32), id: ::core::option::Option<[::core::primitive::u8; 32usize]>, }, + #[codec(index = 7)] #[doc = "The given task was unable to be retried since the agenda is full at that block or there"] #[doc = "was not enough weight to reschedule it."] RetryFailed { task: (::core::primitive::u32, ::core::primitive::u32), id: ::core::option::Option<[::core::primitive::u8; 32usize]>, }, + #[codec(index = 8)] #[doc = "The given task can never be executed since it is overweight."] PermanentlyOverweight { task: (::core::primitive::u32, ::core::primitive::u32), id: ::core::option::Option<[::core::primitive::u8; 32usize]>, }, + #[codec(index = 9)] #[doc = "Agenda is incomplete from `when`."] AgendaIncomplete { when: ::core::primitive::u32 }, } @@ -58202,11 +59592,38 @@ pub mod api { pub call: _1, pub maybe_periodic: ::core::option::Option<(_2, _2)>, pub origin: _3, + #[codec(skip)] pub __ignore: ::core::marker::PhantomData<_4>, } } pub mod pallet_session { use super::runtime_types; + pub mod historical { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + #[doc = "The `Event` enum of this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "The merkle root of the validators of the said session were stored"] + RootStored { index: ::core::primitive::u32 }, + #[codec(index = 1)] + #[doc = "The merkle roots of up to this session index were pruned"] + RootsPruned { up_to: ::core::primitive::u32 }, + } + } + } pub mod pallet { use super::runtime_types; #[derive( @@ -58222,6 +59639,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Sets the session key(s) of the function caller to `keys`."] #[doc = "Allows an account to set its session key prior to becoming a validator."] #[doc = "This doesn't take effect until the next session."] @@ -58235,6 +59653,7 @@ pub mod api { keys: runtime_types::rococo_runtime::SessionKeys, proof: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 1)] #[doc = "Removes any session key(s) of the function caller."] #[doc = ""] #[doc = "This doesn't take effect until the next session."] @@ -58262,14 +59681,19 @@ pub mod api { )] #[doc = "Error for the session pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Invalid ownership proof."] InvalidProof, + #[codec(index = 1)] #[doc = "No associated validator ID for account."] NoAssociatedValidatorId, + #[codec(index = 2)] #[doc = "Registered duplicate key."] DuplicatedKey, + #[codec(index = 3)] #[doc = "No keys are associated with this account."] NoKeys, + #[codec(index = 4)] #[doc = "Key setting account is not live, so it's impossible to associate keys."] NoAccount, } @@ -58286,20 +59710,42 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "New session has happened. Note that the argument is the session index, not the"] #[doc = "block number as the type might suggest."] NewSession { session_index: ::core::primitive::u32, }, + #[codec(index = 1)] + #[doc = "The `NewSession` event in the current block also implies a new validator set to be"] + #[doc = "queued."] + NewQueued, + #[codec(index = 2)] #[doc = "Validator has been disabled."] ValidatorDisabled { validator: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 3)] #[doc = "Validator has been re-enabled."] ValidatorReenabled { validator: ::subxt::ext::subxt_core::utils::AccountId32, }, } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + pub enum HoldReason { + #[codec(index = 0)] + Keys, + } } } pub mod pallet_society { @@ -58319,6 +59765,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "A user outside of the society can make a bid for entry."] #[doc = ""] #[doc = "Payment: The group's Candidate Deposit will be reserved for making a bid. It is returned"] @@ -58329,6 +59776,7 @@ pub mod api { #[doc = "Parameters:"] #[doc = "- `value`: A one time payment the bid would like to receive when joining the society."] bid { value: ::core::primitive::u128 }, + #[codec(index = 1)] #[doc = "A bidder can remove their bid for entry into society."] #[doc = "By doing so, they will have their candidate deposit returned or"] #[doc = "they will unvouch their voucher."] @@ -58337,6 +59785,7 @@ pub mod api { #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and a bidder."] unbid, + #[codec(index = 2)] #[doc = "As a member, vouch for someone to join society by placing a bid on their behalf."] #[doc = ""] #[doc = "There is no deposit required to vouch for a new bid, but a member can only vouch for"] @@ -58362,6 +59811,7 @@ pub mod api { value: ::core::primitive::u128, tip: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "As a vouching member, unvouch a bid. This only works while vouched user is"] #[doc = "only a bidder (and not a candidate)."] #[doc = ""] @@ -58370,6 +59820,7 @@ pub mod api { #[doc = "Parameters:"] #[doc = "- `pos`: Position in the `Bids` vector of the bid who should be unvouched."] unvouch, + #[codec(index = 4)] #[doc = "As a member, vote on a candidate."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and a member."] @@ -58385,6 +59836,7 @@ pub mod api { >, approve: ::core::primitive::bool, }, + #[codec(index = 5)] #[doc = "As a member, vote on the defender."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and a member."] @@ -58393,6 +59845,7 @@ pub mod api { #[doc = "- `approve`: A boolean which says if the candidate should be"] #[doc = "approved (`true`) or rejected (`false`)."] defender_vote { approve: ::core::primitive::bool }, + #[codec(index = 6)] #[doc = "Transfer the first matured payout for the sender and remove it from the records."] #[doc = ""] #[doc = "NOTE: This extrinsic needs to be called multiple times to claim multiple matured"] @@ -58404,9 +59857,11 @@ pub mod api { #[doc = "The dispatch origin for this call must be _Signed_ and a member with"] #[doc = "payouts remaining."] payout, + #[codec(index = 7)] #[doc = "Repay the payment previously given to the member with the signed origin, remove any"] #[doc = "pending payments, and elevate them from rank 0 to rank 1."] waive_repay { amount: ::core::primitive::u128 }, + #[codec(index = 8)] #[doc = "Found the society."] #[doc = ""] #[doc = "This is done as a discrete action in order to allow for the"] @@ -58435,12 +59890,14 @@ pub mod api { candidate_deposit: ::core::primitive::u128, rules: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 9)] #[doc = "Dissolve the society and remove all members."] #[doc = ""] #[doc = "The dispatch origin for this call must be Signed, and the signing account must be both"] #[doc = "the `Founder` and the `Head`. This implies that it may only be done when there is one"] #[doc = "member."] dissolve, + #[codec(index = 10)] #[doc = "Allow suspension judgement origin to make judgement on a suspended member."] #[doc = ""] #[doc = "If a suspended member is forgiven, we simply add them back as a member, not affecting"] @@ -58462,6 +59919,7 @@ pub mod api { >, forgive: ::core::primitive::bool, }, + #[codec(index = 11)] #[doc = "Change the maximum number of members in society and the maximum number of new candidates"] #[doc = "in a single intake period."] #[doc = ""] @@ -58480,18 +59938,22 @@ pub mod api { max_strikes: ::core::primitive::u32, candidate_deposit: ::core::primitive::u128, }, + #[codec(index = 12)] #[doc = "Punish the skeptic with a strike if they did not vote on a candidate. Callable by the"] #[doc = "candidate."] punish_skeptic, + #[codec(index = 13)] #[doc = "Transform an approved candidate into a member. Callable only by the"] #[doc = "the candidate, and only after the period for voting has ended."] claim_membership, + #[codec(index = 14)] #[doc = "Transform an approved candidate into a member. Callable only by the Signed origin of the"] #[doc = "Founder, only after the period for voting has ended and only when the candidate is not"] #[doc = "clearly rejected."] bestow_membership { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 15)] #[doc = "Remove the candidate's application from the society. Callable only by the Signed origin"] #[doc = "of the Founder, only after the period for voting has ended, and only when they do not"] #[doc = "have a clear approval."] @@ -58500,10 +59962,12 @@ pub mod api { kick_candidate { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 16)] #[doc = "Remove the candidate's application from the society. Callable only by the candidate."] #[doc = ""] #[doc = "Any bid deposit is lost and voucher is banned."] resign_candidacy, + #[codec(index = 17)] #[doc = "Remove a `candidate`'s failed application from the society. Callable by any"] #[doc = "signed origin but only at the end of the subsequent round and only for"] #[doc = "a candidate with more rejections than approvals."] @@ -58512,6 +59976,7 @@ pub mod api { drop_candidate { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 18)] #[doc = "Remove up to `max` stale votes for the given `candidate`."] #[doc = ""] #[doc = "May be called by any Signed origin, but only after the candidate's candidacy is ended."] @@ -58519,6 +59984,7 @@ pub mod api { candidate: ::subxt::ext::subxt_core::utils::AccountId32, max: ::core::primitive::u32, }, + #[codec(index = 19)] #[doc = "Remove up to `max` stale votes for the defender in the given `challenge_round`."] #[doc = ""] #[doc = "May be called by any Signed origin, but only after the challenge round is ended."] @@ -58526,6 +59992,15 @@ pub mod api { challenge_round: ::core::primitive::u32, max: ::core::primitive::u32, }, + #[codec(index = 20)] + #[doc = "Poke the deposit reserved when bidding."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be the bidder."] + #[doc = ""] + #[doc = "The transaction fee is waived if the deposit is changed after poking/reconsideration."] + #[doc = ""] + #[doc = "Emits `DepositPoked` if successful."] + poke_deposit, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -58540,70 +60015,105 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "User is not a member."] NotMember, + #[codec(index = 1)] #[doc = "User is already a member."] AlreadyMember, + #[codec(index = 2)] #[doc = "User is suspended."] Suspended, + #[codec(index = 3)] #[doc = "User is not suspended."] NotSuspended, + #[codec(index = 4)] #[doc = "Nothing to payout."] NoPayout, + #[codec(index = 5)] #[doc = "Society already founded."] AlreadyFounded, + #[codec(index = 6)] #[doc = "Not enough in pot to accept candidate."] InsufficientPot, + #[codec(index = 7)] #[doc = "Member is already vouching or banned from vouching again."] AlreadyVouching, + #[codec(index = 8)] #[doc = "Member is not vouching."] NotVouchingOnBidder, + #[codec(index = 9)] #[doc = "Cannot remove the head of the chain."] Head, + #[codec(index = 10)] #[doc = "Cannot remove the founder."] Founder, + #[codec(index = 11)] #[doc = "User has already made a bid."] AlreadyBid, + #[codec(index = 12)] #[doc = "User is already a candidate."] AlreadyCandidate, + #[codec(index = 13)] #[doc = "User is not a candidate."] NotCandidate, + #[codec(index = 14)] #[doc = "Too many members in the society."] MaxMembers, + #[codec(index = 15)] #[doc = "The caller is not the founder."] NotFounder, + #[codec(index = 16)] #[doc = "The caller is not the head."] NotHead, + #[codec(index = 17)] #[doc = "The membership cannot be claimed as the candidate was not clearly approved."] NotApproved, + #[codec(index = 18)] #[doc = "The candidate cannot be kicked as the candidate was not clearly rejected."] NotRejected, + #[codec(index = 19)] #[doc = "The candidacy cannot be dropped as the candidate was clearly approved."] Approved, + #[codec(index = 20)] #[doc = "The candidacy cannot be bestowed as the candidate was clearly rejected."] Rejected, + #[codec(index = 21)] #[doc = "The candidacy cannot be concluded as the voting is still in progress."] InProgress, + #[codec(index = 22)] #[doc = "The candidacy cannot be pruned until a full additional intake period has passed."] TooEarly, + #[codec(index = 23)] #[doc = "The skeptic already voted."] Voted, + #[codec(index = 24)] #[doc = "The skeptic need not vote on candidates from expired rounds."] Expired, + #[codec(index = 25)] #[doc = "User is not a bidder."] NotBidder, + #[codec(index = 26)] #[doc = "There is no defender currently."] NoDefender, + #[codec(index = 27)] #[doc = "Group doesn't exist."] NotGroup, + #[codec(index = 28)] #[doc = "The member is already elevated to this rank."] AlreadyElevated, + #[codec(index = 29)] #[doc = "The skeptic has already been punished for this offence."] AlreadyPunished, + #[codec(index = 30)] #[doc = "Funds are insufficient to pay off society debts."] InsufficientFunds, + #[codec(index = 31)] #[doc = "The candidate/defender has no stale votes to remove."] NoVotes, + #[codec(index = 32)] + #[doc = "There is no deposit associated with a bid."] + NoDeposit, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -58618,16 +60128,19 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "The society is founded by the given identity."] Founded { founder: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "A membership bid just happened. The given account is the candidate's ID and their offer"] #[doc = "is the second."] Bid { candidate_id: ::subxt::ext::subxt_core::utils::AccountId32, offer: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "A membership bid just happened by vouching. The given account is the candidate's ID and"] #[doc = "their offer is the second. The vouching party is the third."] Vouch { @@ -58635,18 +60148,22 @@ pub mod api { offer: ::core::primitive::u128, vouching: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 3)] #[doc = "A candidate was dropped (due to an excess of bids in the system)."] AutoUnbid { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 4)] #[doc = "A candidate was dropped (by their request)."] Unbid { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 5)] #[doc = "A candidate was dropped (by request of who vouched for them)."] Unvouch { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 6)] #[doc = "A group of candidates have been inducted. The batch's primary is the first value, the"] #[doc = "batch in full is the second."] Inducted { @@ -58655,49 +60172,66 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, >, }, + #[codec(index = 7)] #[doc = "A suspended member has been judged."] SuspendedMemberJudgement { who: ::subxt::ext::subxt_core::utils::AccountId32, judged: ::core::primitive::bool, }, + #[codec(index = 8)] #[doc = "A candidate has been suspended"] CandidateSuspended { candidate: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 9)] #[doc = "A member has been suspended"] MemberSuspended { member: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 10)] #[doc = "A member has been challenged"] Challenged { member: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 11)] #[doc = "A vote has been placed"] Vote { candidate: ::subxt::ext::subxt_core::utils::AccountId32, voter: ::subxt::ext::subxt_core::utils::AccountId32, vote: ::core::primitive::bool, }, + #[codec(index = 12)] #[doc = "A vote has been placed for a defending member"] DefenderVote { voter: ::subxt::ext::subxt_core::utils::AccountId32, vote: ::core::primitive::bool, }, + #[codec(index = 13)] #[doc = "A new set of \\[params\\] has been set for the group."] NewParams { params: runtime_types::pallet_society::GroupParams<::core::primitive::u128>, }, + #[codec(index = 14)] #[doc = "Society is unfounded."] Unfounded { founder: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 15)] #[doc = "Some funds were deposited into the society account."] Deposit { value: ::core::primitive::u128 }, + #[codec(index = 16)] #[doc = "A \\[member\\] got elevated to \\[rank\\]."] Elevated { member: ::subxt::ext::subxt_core::utils::AccountId32, rank: ::core::primitive::u32, }, + #[codec(index = 17)] + #[doc = "A deposit was poked / adjusted."] + DepositPoked { + who: ::subxt::ext::subxt_core::utils::AccountId32, + old_deposit: ::core::primitive::u128, + new_deposit: ::core::primitive::u128, + }, } } #[derive( @@ -58720,7 +60254,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum BidKind<_0, _1> { + #[codec(index = 0)] Deposit(_1), + #[codec(index = 1)] Vouch(_0, _1), } #[derive( @@ -58816,7 +60352,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VouchingStatus { + #[codec(index = 0)] Vouching, + #[codec(index = 1)] Banned, } } @@ -58837,6 +60375,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Control the automatic migration."] #[doc = ""] #[doc = "The dispatch origin of this call must be [`Config::ControlOrigin`]."] @@ -58845,6 +60384,7 @@ pub mod api { runtime_types::pallet_state_trie_migration::pallet::MigrationLimits, >, }, + #[codec(index = 1)] #[doc = "Continue the migration for the given `limits`."] #[doc = ""] #[doc = "The dispatch origin of this call can be any signed account."] @@ -58872,6 +60412,7 @@ pub mod api { witness_task: runtime_types::pallet_state_trie_migration::pallet::MigrationTask, }, + #[codec(index = 2)] #[doc = "Migrate the list of top keys by iterating each of them one by one."] #[doc = ""] #[doc = "This does not affect the global migration process tracker ([`MigrationProcess`]), and"] @@ -58882,6 +60423,7 @@ pub mod api { >, witness_size: ::core::primitive::u32, }, + #[codec(index = 3)] #[doc = "Migrate the list of child keys by iterating each of them one by one."] #[doc = ""] #[doc = "All of the given child keys must be present under one `child_root`."] @@ -58895,10 +60437,12 @@ pub mod api { >, total_size: ::core::primitive::u32, }, + #[codec(index = 4)] #[doc = "Set the maximum limit of the signed migration."] set_signed_max_limits { limits: runtime_types::pallet_state_trie_migration::pallet::MigrationLimits, }, + #[codec(index = 5)] #[doc = "Forcefully set the progress the running migration."] #[doc = ""] #[doc = "This is only useful in one case: the next key to migrate is too big to be migrated with"] @@ -58927,8 +60471,10 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Max signed limits not respected."] MaxSignedLimits, + #[codec(index = 1)] #[doc = "A key was longer than the configured maximum."] #[doc = ""] #[doc = "This means that the migration halted at the current [`Progress`] and"] @@ -58937,12 +60483,16 @@ pub mod api { #[doc = "The value should only be increased to avoid a storage migration for the currently"] #[doc = "stored [`crate::Progress::LastKey`]."] KeyTooLong, + #[codec(index = 2)] #[doc = "submitter does not have enough funds."] NotEnoughFunds, + #[codec(index = 3)] #[doc = "Bad witness data provided."] BadWitness, + #[codec(index = 4)] #[doc = "Signed migration is not allowed because the maximum limit is not set yet."] SignedMigrationNotAllowed, + #[codec(index = 5)] #[doc = "Bad child root provided."] BadChildRoot, } @@ -58959,6 +60509,7 @@ pub mod api { )] #[doc = "Inner events of this pallet."] pub enum Event { + #[codec(index = 0)] #[doc = "Given number of `(top, child)` keys were migrated respectively, with the given"] #[doc = "`compute`."] Migrated { @@ -58967,13 +60518,16 @@ pub mod api { compute: runtime_types::pallet_state_trie_migration::pallet::MigrationCompute, }, + #[codec(index = 1)] #[doc = "Some account got slashed by the given amount."] Slashed { who: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "The auto migration task finished."] AutoMigrationFinished, + #[codec(index = 3)] #[doc = "Migration got halted due to an error or miss-configuration."] Halted { error: runtime_types::pallet_state_trie_migration::pallet::Error, @@ -58991,6 +60545,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum HoldReason { + #[codec(index = 0)] SlashForMigrate, } #[derive( @@ -59005,7 +60560,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum MigrationCompute { + #[codec(index = 0)] Signed, + #[codec(index = 1)] Auto, } #[derive( @@ -59054,12 +60611,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Progress { + #[codec(index = 0)] ToStart, + #[codec(index = 1)] LastKey( runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ), + #[codec(index = 2)] Complete, } } @@ -59081,12 +60641,14 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] sudo { call: ::subxt::ext::subxt_core::alloc::boxed::Box< runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 1)] #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] #[doc = "This function does not check the weight of the call, and instead allows the"] #[doc = "Sudo user to specify the weight of the call."] @@ -59098,6 +60660,7 @@ pub mod api { >, weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 2)] #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] #[doc = "key."] set_key { @@ -59106,6 +60669,7 @@ pub mod api { (), >, }, + #[codec(index = 3)] #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] #[doc = "a given account."] #[doc = ""] @@ -59119,6 +60683,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 4)] #[doc = "Permanently removes the sudo key."] #[doc = ""] #[doc = "**This cannot be un-done.**"] @@ -59137,6 +60702,7 @@ pub mod api { )] #[doc = "Error for the Sudo pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Sender must be the Sudo account."] RequireSudo, } @@ -59153,18 +60719,22 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A sudo call just took place."] Sudid { sudo_result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, }, + #[codec(index = 1)] #[doc = "The sudo key has been updated."] KeyChanged { old: ::core::option::Option<::subxt::ext::subxt_core::utils::AccountId32>, new: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 2)] #[doc = "The key was permanently removed."] KeyRemoved, + #[codec(index = 3)] #[doc = "A [sudo_as](Pallet::sudo_as) call just took place."] SudoAsDone { sudo_result: @@ -59190,6 +60760,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Set the current time."] #[doc = ""] #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] @@ -59209,7 +60780,10 @@ pub mod api { #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in"] #[doc = " `on_finalize`)"] #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] - set { now: ::core::primitive::u64 }, + set { + #[codec(compact)] + now: ::core::primitive::u64, + }, } } } @@ -59230,6 +60804,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] #[doc = "has been paid by `who`."] TransactionFeePaid { @@ -59298,7 +60873,7 @@ pub mod api { )] #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] - pub struct ChargeTransactionPayment(pub ::core::primitive::u128); + pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -59307,7 +60882,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum Releases { + #[codec(index = 0)] V1Ancient, + #[codec(index = 1)] V2, } } @@ -59328,6 +60905,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 3)] #[doc = "Propose and approve a spend of treasury funds."] #[doc = ""] #[doc = "## Dispatch Origin"] @@ -59346,12 +60924,14 @@ pub mod api { #[doc = ""] #[doc = "Emits [`Event::SpendApproved`] if successful."] spend_local { + #[codec(compact)] amount: ::core::primitive::u128, beneficiary: ::subxt::ext::subxt_core::utils::MultiAddress< ::subxt::ext::subxt_core::utils::AccountId32, (), >, }, + #[codec(index = 4)] #[doc = "Force a previously approved proposal to be removed from the approval queue."] #[doc = ""] #[doc = "## Dispatch Origin"] @@ -59373,7 +60953,11 @@ pub mod api { #[doc = " approval queue, i.e., the proposal has not been approved. This could also mean the"] #[doc = " proposal does not exist altogether, thus there is no way it would have been approved"] #[doc = " in the first place."] - remove_approval { proposal_id: ::core::primitive::u32 }, + remove_approval { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + #[codec(index = 5)] #[doc = "Propose and approve a spend of treasury funds."] #[doc = ""] #[doc = "## Dispatch Origin"] @@ -59404,12 +60988,14 @@ pub mod api { asset_kind: ::subxt::ext::subxt_core::alloc::boxed::Box< runtime_types::polkadot_runtime_common::impls::VersionedLocatableAsset, >, + #[codec(compact)] amount: ::core::primitive::u128, beneficiary: ::subxt::ext::subxt_core::alloc::boxed::Box< runtime_types::xcm::VersionedLocation, >, valid_from: ::core::option::Option<::core::primitive::u32>, }, + #[codec(index = 6)] #[doc = "Claim a spend."] #[doc = ""] #[doc = "## Dispatch Origin"] @@ -59430,6 +61016,7 @@ pub mod api { #[doc = ""] #[doc = "Emits [`Event::Paid`] if successful."] payout { index: ::core::primitive::u32 }, + #[codec(index = 7)] #[doc = "Check the status of the spend and remove it from the storage if processed."] #[doc = ""] #[doc = "## Dispatch Origin"] @@ -59450,6 +61037,7 @@ pub mod api { #[doc = "Emits [`Event::PaymentFailed`] if the spend payout has failed."] #[doc = "Emits [`Event::SpendProcessed`] if the spend payout has succeed."] check_status { index: ::core::primitive::u32 }, + #[codec(index = 8)] #[doc = "Void previously approved spend."] #[doc = ""] #[doc = "## Dispatch Origin"] @@ -59481,27 +61069,38 @@ pub mod api { )] #[doc = "Error for the treasury pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "No proposal, bounty or spend at that index."] InvalidIndex, + #[codec(index = 1)] #[doc = "Too many approvals in the queue."] TooManyApprovals, + #[codec(index = 2)] #[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"] #[doc = "amount to be spent."] InsufficientPermission, + #[codec(index = 3)] #[doc = "Proposal has not been approved."] ProposalNotApproved, + #[codec(index = 4)] #[doc = "The balance of the asset kind is not convertible to the balance of the native asset."] FailedToConvertBalance, + #[codec(index = 5)] #[doc = "The spend has expired and cannot be claimed."] SpendExpired, + #[codec(index = 6)] #[doc = "The spend is not yet eligible for payout."] EarlyPayout, + #[codec(index = 7)] #[doc = "The payment has already been attempted."] AlreadyAttempted, + #[codec(index = 8)] #[doc = "There was some issue with the mechanism of payment."] PayoutError, + #[codec(index = 9)] #[doc = "The payout was not yet attempted/claimed."] NotAttempted, + #[codec(index = 10)] #[doc = "The payment has neither failed nor succeeded yet."] Inconclusive, } @@ -59518,37 +61117,45 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "We have ended a spend period and will now allocate funds."] Spending { budget_remaining: ::core::primitive::u128, }, + #[codec(index = 1)] #[doc = "Some funds have been allocated."] Awarded { proposal_index: ::core::primitive::u32, award: ::core::primitive::u128, account: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 2)] #[doc = "Some of our funds have been burnt."] Burnt { burnt_funds: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "Spending has finished; this is the amount that rolls over until next spend."] Rollover { rollover_balance: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "Some funds have been deposited."] Deposit { value: ::core::primitive::u128 }, + #[codec(index = 5)] #[doc = "A new spend proposal has been approved."] SpendApproved { proposal_index: ::core::primitive::u32, amount: ::core::primitive::u128, beneficiary: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 6)] #[doc = "The inactive funds of the pallet have been updated."] UpdatedInactive { reactivated: ::core::primitive::u128, deactivated: ::core::primitive::u128, }, + #[codec(index = 7)] #[doc = "A new asset spend proposal has been approved."] AssetSpendApproved { index: ::core::primitive::u32, @@ -59559,18 +61166,22 @@ pub mod api { valid_from: ::core::primitive::u32, expire_at: ::core::primitive::u32, }, + #[codec(index = 8)] #[doc = "An approved spend was voided."] AssetSpendVoided { index: ::core::primitive::u32 }, + #[codec(index = 9)] #[doc = "A payment happened."] Paid { index: ::core::primitive::u32, payment_id: ::core::primitive::u64, }, + #[codec(index = 10)] #[doc = "A payment failed and can be retried."] PaymentFailed { index: ::core::primitive::u32, payment_id: ::core::primitive::u64, }, + #[codec(index = 11)] #[doc = "A spend was processed and removed from the storage. It might have been successfully"] #[doc = "paid or it may have expired."] SpendProcessed { index: ::core::primitive::u32 }, @@ -59584,8 +61195,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum PaymentState<_0> { + #[codec(index = 0)] Pending, + #[codec(index = 1)] Attempted { id: _0 }, + #[codec(index = 2)] Failed, } #[derive( @@ -59634,6 +61248,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Send a batch of dispatch calls."] #[doc = ""] #[doc = "May be called from any origin except `None`."] @@ -59657,6 +61272,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 1)] #[doc = "Send a call through an indexed pseudonym of the sender."] #[doc = ""] #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] @@ -59676,6 +61292,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 2)] #[doc = "Send a batch of dispatch calls and atomically execute them."] #[doc = "The whole transaction will rollback and fail if any of the calls failed."] #[doc = ""] @@ -59694,6 +61311,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 3)] #[doc = "Dispatches a function call with a provided origin."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Root_."] @@ -59708,6 +61326,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 4)] #[doc = "Send a batch of dispatch calls."] #[doc = "Unlike `batch`, it allows errors and won't interrupt."] #[doc = ""] @@ -59726,6 +61345,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 5)] #[doc = "Dispatch a function call with a specified weight."] #[doc = ""] #[doc = "This function does not check the weight of the call, and instead allows the"] @@ -59738,6 +61358,7 @@ pub mod api { >, weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 6)] #[doc = "Dispatch a fallback call in the event the main call fails to execute."] #[doc = "May be called from any origin except `None`."] #[doc = ""] @@ -59769,6 +61390,7 @@ pub mod api { runtime_types::rococo_runtime::RuntimeCall, >, }, + #[codec(index = 7)] #[doc = "Dispatches a function call with a provided origin."] #[doc = ""] #[doc = "Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call."] @@ -59796,6 +61418,7 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Too many calls batched."] TooManyCalls, } @@ -59812,29 +61435,37 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] #[doc = "well as the error."] BatchInterrupted { index: ::core::primitive::u32, error: runtime_types::sp_runtime::DispatchError, }, + #[codec(index = 1)] #[doc = "Batch of dispatches completed fully with no error."] BatchCompleted, + #[codec(index = 2)] #[doc = "Batch of dispatches completed but has errors."] BatchCompletedWithErrors, + #[codec(index = 3)] #[doc = "A single item within a Batch of dispatches has completed with no error."] ItemCompleted, + #[codec(index = 4)] #[doc = "A single item within a Batch of dispatches has completed with error."] ItemFailed { error: runtime_types::sp_runtime::DispatchError, }, + #[codec(index = 5)] #[doc = "A call was dispatched."] DispatchedAs { result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, }, + #[codec(index = 6)] #[doc = "Main call was dispatched."] IfElseMainSuccess, + #[codec(index = 7)] #[doc = "The fallback call was dispatched."] IfElseFallbackCalled { main_error: runtime_types::sp_runtime::DispatchError, @@ -59859,6 +61490,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Unlock any vested funds of the sender account."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"] @@ -59869,6 +61501,7 @@ pub mod api { #[doc = "## Complexity"] #[doc = "- `O(1)`."] vest, + #[codec(index = 1)] #[doc = "Unlock any vested funds of a `target` account."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] @@ -59886,6 +61519,7 @@ pub mod api { (), >, }, + #[codec(index = 2)] #[doc = "Create a vested transfer."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Signed_."] @@ -59909,6 +61543,7 @@ pub mod api { ::core::primitive::u32, >, }, + #[codec(index = 3)] #[doc = "Force a vested transfer."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Root_."] @@ -59937,6 +61572,7 @@ pub mod api { ::core::primitive::u32, >, }, + #[codec(index = 4)] #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] #[doc = "the highest possible start and end blocks. If both schedules have already started the"] #[doc = "current block will be used as the schedule start; with the caveat that if one schedule"] @@ -59962,6 +61598,7 @@ pub mod api { schedule1_index: ::core::primitive::u32, schedule2_index: ::core::primitive::u32, }, + #[codec(index = 5)] #[doc = "Force remove a vesting schedule"] #[doc = ""] #[doc = "The dispatch origin for this call must be _Root_."] @@ -59989,15 +61626,20 @@ pub mod api { )] #[doc = "Error for the vesting pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The account given is not vesting."] NotVesting, + #[codec(index = 1)] #[doc = "The account already has `MaxVestingSchedules` count of schedules and thus"] #[doc = "cannot add another one. Consider merging existing schedules in order to add another."] AtMaxVestingSchedules, + #[codec(index = 2)] #[doc = "Amount being transferred is too low to create a vesting schedule."] AmountLow, + #[codec(index = 3)] #[doc = "An index was out of bounds of the vesting schedules."] ScheduleIndexOutOfBounds, + #[codec(index = 4)] #[doc = "Failed to create a new schedule because some parameter was invalid."] InvalidScheduleParams, } @@ -60014,12 +61656,20 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] + #[doc = "A vesting schedule has been created."] + VestingCreated { + account: ::subxt::ext::subxt_core::utils::AccountId32, + schedule_index: ::core::primitive::u32, + }, + #[codec(index = 1)] #[doc = "The amount vested has been updated. This could indicate a change in funds available."] #[doc = "The balance given is the amount which is left unvested (and thus locked)."] VestingUpdated { account: ::subxt::ext::subxt_core::utils::AccountId32, unvested: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "An \\[account\\] has become fully vested."] VestingCompleted { account: ::subxt::ext::subxt_core::utils::AccountId32, @@ -60053,7 +61703,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum Releases { + #[codec(index = 0)] V0, + #[codec(index = 1)] V1, } } @@ -60074,17 +61726,21 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] whitelist_call { call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 1)] remove_whitelisted_call { call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 2)] dispatch_whitelisted_call { call_hash: ::subxt::ext::subxt_core::utils::H256, call_encoded_len: ::core::primitive::u32, call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 3)] dispatch_whitelisted_call_with_preimage { call: ::subxt::ext::subxt_core::alloc::boxed::Box< runtime_types::rococo_runtime::RuntimeCall, @@ -60104,14 +61760,19 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The preimage of the call hash could not be loaded."] UnavailablePreImage, + #[codec(index = 1)] #[doc = "The call could not be decoded."] UndecodableCall, + #[codec(index = 2)] #[doc = "The weight of the decoded call was higher than the witness."] InvalidCallWeightWitness, + #[codec(index = 3)] #[doc = "The call was not whitelisted."] CallIsNotWhitelisted, + #[codec(index = 4)] #[doc = "The call was already whitelisted; No-Op."] CallAlreadyWhitelisted, } @@ -60128,12 +61789,15 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] CallWhitelisted { call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 1)] WhitelistedCallRemoved { call_hash: ::subxt::ext::subxt_core::utils::H256, }, + #[codec(index = 2)] WhitelistedCallDispatched { call_hash: ::subxt::ext::subxt_core::utils::H256, result: ::core::result::Result< @@ -60148,6 +61812,104 @@ pub mod api { } pub mod pallet_xcm { use super::runtime_types; + pub mod errors { + use super::runtime_types; + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + pub enum ExecutionError { + #[codec(index = 0)] + Overflow, + #[codec(index = 1)] + Unimplemented, + #[codec(index = 2)] + UntrustedReserveLocation, + #[codec(index = 3)] + UntrustedTeleportLocation, + #[codec(index = 4)] + LocationFull, + #[codec(index = 5)] + LocationNotInvertible, + #[codec(index = 6)] + BadOrigin, + #[codec(index = 7)] + InvalidLocation, + #[codec(index = 8)] + AssetNotFound, + #[codec(index = 9)] + FailedToTransactAsset, + #[codec(index = 10)] + NotWithdrawable, + #[codec(index = 11)] + LocationCannotHold, + #[codec(index = 12)] + ExceedsMaxMessageSize, + #[codec(index = 13)] + DestinationUnsupported, + #[codec(index = 14)] + Transport, + #[codec(index = 15)] + Unroutable, + #[codec(index = 16)] + UnknownClaim, + #[codec(index = 17)] + FailedToDecode, + #[codec(index = 18)] + MaxWeightInvalid, + #[codec(index = 19)] + NotHoldingFees, + #[codec(index = 20)] + TooExpensive, + #[codec(index = 21)] + Trap, + #[codec(index = 22)] + ExpectationFalse, + #[codec(index = 23)] + PalletNotFound, + #[codec(index = 24)] + NameMismatch, + #[codec(index = 25)] + VersionIncompatible, + #[codec(index = 26)] + HoldingWouldOverflow, + #[codec(index = 27)] + ExportError, + #[codec(index = 28)] + ReanchorFailed, + #[codec(index = 29)] + NoDeal, + #[codec(index = 30)] + FeesNotMet, + #[codec(index = 31)] + LockError, + #[codec(index = 32)] + NoPermission, + #[codec(index = 33)] + Unanchored, + #[codec(index = 34)] + NotDepositable, + #[codec(index = 35)] + TooManyAssets, + #[codec(index = 36)] + UnhandledXcmVersion, + #[codec(index = 37)] + WeightLimitReached, + #[codec(index = 38)] + Barrier, + #[codec(index = 39)] + WeightNotComputable, + #[codec(index = 40)] + ExceedsStackLimit, + } + } pub mod pallet { use super::runtime_types; #[derive( @@ -60163,7 +61925,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - send { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , message : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedXcm > , } , # [doc = "Teleport some assets from the local chain to some destination chain."] # [doc = ""] # [doc = "**This function is deprecated: Use `limited_teleport_assets` instead.**"] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] # [doc = "with all fees taken as needed from the asset."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` chain."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] teleport_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , } , # [doc = "Transfer some assets from the local chain to the destination chain through their local,"] # [doc = "destination or remote reserve."] # [doc = ""] # [doc = "`assets` must have same reserve location and may not be teleportable to `dest`."] # [doc = " - `assets` have local reserve: transfer assets to sovereign account of destination"] # [doc = " chain and forward a notification XCM to `dest` to mint and deposit reserve-based"] # [doc = " assets to `beneficiary`."] # [doc = " - `assets` have destination reserve: burn local assets and forward a notification to"] # [doc = " `dest` chain to withdraw the reserve assets from this chain's sovereign account and"] # [doc = " deposit them to `beneficiary`."] # [doc = " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move"] # [doc = " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`"] # [doc = " to mint and deposit reserve-based assets to `beneficiary`."] # [doc = ""] # [doc = "**This function is deprecated: Use `limited_reserve_transfer_assets` instead.**"] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] # [doc = "with all fees taken as needed from the asset."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] reserve_transfer_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , } , # [doc = "Execute an XCM message from a local, signed, origin."] # [doc = ""] # [doc = "An event is deposited indicating whether `msg` could be executed completely or only"] # [doc = "partially."] # [doc = ""] # [doc = "No more than `max_weight` will be used in its attempted execution. If this is less than"] # [doc = "the maximum amount of weight that the message could take to be executed, then no"] # [doc = "execution attempt will be made."] execute { message : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedXcm > , max_weight : runtime_types :: sp_weights :: weight_v2 :: Weight , } , # [doc = "Extoll that a particular destination can be communicated with through a particular"] # [doc = "version of XCM."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `location`: The destination that is being described."] # [doc = "- `xcm_version`: The latest version of XCM that `location` supports."] force_xcm_version { location : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: staging_xcm :: v5 :: location :: Location > , version : :: core :: primitive :: u32 , } , # [doc = "Set a safe XCM version (the version that XCM should be encoded with if the most recent"] # [doc = "version a destination can accept is unknown)."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable."] force_default_xcm_version { maybe_xcm_version : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [doc = "Ask a location to notify us regarding their XCM version and any changes to it."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `location`: The location to which we should subscribe for XCM version notifications."] force_subscribe_version_notify { location : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [doc = "Require that a particular destination should no longer notify us regarding any XCM"] # [doc = "version changes."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `location`: The location to which we are currently subscribed for XCM version"] # [doc = " notifications which we no longer desire."] force_unsubscribe_version_notify { location : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [doc = "Transfer some assets from the local chain to the destination chain through their local,"] # [doc = "destination or remote reserve."] # [doc = ""] # [doc = "`assets` must have same reserve location and may not be teleportable to `dest`."] # [doc = " - `assets` have local reserve: transfer assets to sovereign account of destination"] # [doc = " chain and forward a notification XCM to `dest` to mint and deposit reserve-based"] # [doc = " assets to `beneficiary`."] # [doc = " - `assets` have destination reserve: burn local assets and forward a notification to"] # [doc = " `dest` chain to withdraw the reserve assets from this chain's sovereign account and"] # [doc = " deposit them to `beneficiary`."] # [doc = " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move"] # [doc = " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`"] # [doc = " to mint and deposit reserve-based assets to `beneficiary`."] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] # [doc = "is needed than `weight_limit`, then the operation will fail and the sent assets may be"] # [doc = "at risk."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] limited_reserve_transfer_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [doc = "Teleport some assets from the local chain to some destination chain."] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] # [doc = "is needed than `weight_limit`, then the operation will fail and the sent assets may be"] # [doc = "at risk."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` chain."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] limited_teleport_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [doc = "Set or unset the global suspension state of the XCM executor."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `suspended`: `true` to suspend, `false` to resume."] force_suspension { suspended : :: core :: primitive :: bool , } , # [doc = "Transfer some assets from the local chain to the destination chain through their local,"] # [doc = "destination or remote reserve, or through teleports."] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for"] # [doc = "`weight_limit` of weight. If more weight is needed than `weight_limit`, then the"] # [doc = "operation will fail and the sent assets may be at risk."] # [doc = ""] # [doc = "`assets` (excluding `fees`) must have same reserve location or otherwise be teleportable"] # [doc = "to `dest`, no limitations imposed on `fees`."] # [doc = " - for local reserve: transfer assets to sovereign account of destination chain and"] # [doc = " forward a notification XCM to `dest` to mint and deposit reserve-based assets to"] # [doc = " `beneficiary`."] # [doc = " - for destination reserve: burn local assets and forward a notification to `dest` chain"] # [doc = " to withdraw the reserve assets from this chain's sovereign account and deposit them"] # [doc = " to `beneficiary`."] # [doc = " - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves"] # [doc = " from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint"] # [doc = " and deposit reserve-based assets to `beneficiary`."] # [doc = " - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport"] # [doc = " assets and deposit them to `beneficiary`."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent,"] # [doc = " Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send"] # [doc = " from relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] transfer_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [doc = "Claims assets trapped on this pallet because of leftover assets during XCM execution."] # [doc = ""] # [doc = "- `origin`: Anyone can call this extrinsic."] # [doc = "- `assets`: The exact assets that were trapped. Use the version to specify what version"] # [doc = "was the latest when they were trapped."] # [doc = "- `beneficiary`: The location/account where the claimed assets will be deposited."] claim_assets { assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [doc = "Transfer assets from the local chain to the destination chain using explicit transfer"] # [doc = "types for assets and fees."] # [doc = ""] # [doc = "`assets` must have same reserve location or may be teleportable to `dest`. Caller must"] # [doc = "provide the `assets_transfer_type` to be used for `assets`:"] # [doc = " - `TransferType::LocalReserve`: transfer assets to sovereign account of destination"] # [doc = " chain and forward a notification XCM to `dest` to mint and deposit reserve-based"] # [doc = " assets to `beneficiary`."] # [doc = " - `TransferType::DestinationReserve`: burn local assets and forward a notification to"] # [doc = " `dest` chain to withdraw the reserve assets from this chain's sovereign account and"] # [doc = " deposit them to `beneficiary`."] # [doc = " - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`"] # [doc = " chain to move reserves from this chain's SA to `dest` chain's SA, and forward another"] # [doc = " XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically"] # [doc = " the remote `reserve` is Asset Hub."] # [doc = " - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to"] # [doc = " mint/teleport assets and deposit them to `beneficiary`."] # [doc = ""] # [doc = "On the destination chain, as well as any intermediary hops, `BuyExecution` is used to"] # [doc = "buy execution using transferred `assets` identified by `remote_fees_id`."] # [doc = "Make sure enough of the specified `remote_fees_id` asset is included in the given list"] # [doc = "of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight"] # [doc = "is needed than `weight_limit`, then the operation will fail and the sent assets may be"] # [doc = "at risk."] # [doc = ""] # [doc = "`remote_fees_id` may use different transfer type than rest of `assets` and can be"] # [doc = "specified through `fees_transfer_type`."] # [doc = ""] # [doc = "The caller needs to specify what should happen to the transferred assets once they reach"] # [doc = "the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which"] # [doc = "contains the instructions to execute on `dest` as a final step."] # [doc = " This is usually as simple as:"] # [doc = " `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,"] # [doc = " but could be something more exotic like sending the `assets` even further."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from"] # [doc = " parachain across a bridge to another ecosystem destination."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`."] # [doc = "- `remote_fees_id`: One of the included `assets` to be used to pay fees."] # [doc = "- `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets."] # [doc = "- `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the"] # [doc = " transfer, which also determines what happens to the assets on the destination chain."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] transfer_assets_using_type_and_then { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , assets_transfer_type : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: staging_xcm_executor :: traits :: asset_transfer :: TransferType > , remote_fees_id : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssetId > , fees_transfer_type : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: staging_xcm_executor :: traits :: asset_transfer :: TransferType > , custom_xcm_on_dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedXcm > , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [doc = "Authorize another `aliaser` location to alias into the local `origin` making this call."] # [doc = "The `aliaser` is only authorized until the provided `expiry` block number."] # [doc = "The call can also be used for a previously authorized alias in order to update its"] # [doc = "`expiry` block number."] # [doc = ""] # [doc = "Usually useful to allow your local account to be aliased into from a remote location"] # [doc = "also under your control (like your account on another chain)."] # [doc = ""] # [doc = "WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in"] # [doc = "their/your name. Once authorized using this call, the `aliaser` can freely impersonate"] # [doc = "`origin` in XCM programs executed on the local chain."] add_authorized_alias { aliaser : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , expires : :: core :: option :: Option < :: core :: primitive :: u64 > , } , # [doc = "Remove a previously authorized `aliaser` from the list of locations that can alias into"] # [doc = "the local `origin` making this call."] remove_authorized_alias { aliaser : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [doc = "Remove all previously authorized `aliaser`s that can alias into the local `origin`"] # [doc = "making this call."] remove_all_authorized_aliases , } + # [codec (index = 0)] send { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , message : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedXcm > , } , # [codec (index = 1)] # [doc = "Teleport some assets from the local chain to some destination chain."] # [doc = ""] # [doc = "**This function is deprecated: Use `limited_teleport_assets` instead.**"] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] # [doc = "with all fees taken as needed from the asset."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` chain."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] teleport_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , } , # [codec (index = 2)] # [doc = "Transfer some assets from the local chain to the destination chain through their local,"] # [doc = "destination or remote reserve."] # [doc = ""] # [doc = "`assets` must have same reserve location and may not be teleportable to `dest`."] # [doc = " - `assets` have local reserve: transfer assets to sovereign account of destination"] # [doc = " chain and forward a notification XCM to `dest` to mint and deposit reserve-based"] # [doc = " assets to `beneficiary`."] # [doc = " - `assets` have destination reserve: burn local assets and forward a notification to"] # [doc = " `dest` chain to withdraw the reserve assets from this chain's sovereign account and"] # [doc = " deposit them to `beneficiary`."] # [doc = " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move"] # [doc = " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`"] # [doc = " to mint and deposit reserve-based assets to `beneficiary`."] # [doc = ""] # [doc = "**This function is deprecated: Use `limited_reserve_transfer_assets` instead.**"] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] # [doc = "with all fees taken as needed from the asset."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] reserve_transfer_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Execute an XCM message from a local, signed, origin."] # [doc = ""] # [doc = "An event is deposited indicating whether `msg` could be executed completely or only"] # [doc = "partially."] # [doc = ""] # [doc = "No more than `max_weight` will be used in its attempted execution. If this is less than"] # [doc = "the maximum amount of weight that the message could take to be executed, then no"] # [doc = "execution attempt will be made."] execute { message : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedXcm > , max_weight : runtime_types :: sp_weights :: weight_v2 :: Weight , } , # [codec (index = 4)] # [doc = "Extoll that a particular destination can be communicated with through a particular"] # [doc = "version of XCM."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `location`: The destination that is being described."] # [doc = "- `xcm_version`: The latest version of XCM that `location` supports."] force_xcm_version { location : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: staging_xcm :: v5 :: location :: Location > , version : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "Set a safe XCM version (the version that XCM should be encoded with if the most recent"] # [doc = "version a destination can accept is unknown)."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable."] force_default_xcm_version { maybe_xcm_version : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 6)] # [doc = "Ask a location to notify us regarding their XCM version and any changes to it."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `location`: The location to which we should subscribe for XCM version notifications."] force_subscribe_version_notify { location : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [codec (index = 7)] # [doc = "Require that a particular destination should no longer notify us regarding any XCM"] # [doc = "version changes."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `location`: The location to which we are currently subscribed for XCM version"] # [doc = " notifications which we no longer desire."] force_unsubscribe_version_notify { location : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [codec (index = 8)] # [doc = "Transfer some assets from the local chain to the destination chain through their local,"] # [doc = "destination or remote reserve."] # [doc = ""] # [doc = "`assets` must have same reserve location and may not be teleportable to `dest`."] # [doc = " - `assets` have local reserve: transfer assets to sovereign account of destination"] # [doc = " chain and forward a notification XCM to `dest` to mint and deposit reserve-based"] # [doc = " assets to `beneficiary`."] # [doc = " - `assets` have destination reserve: burn local assets and forward a notification to"] # [doc = " `dest` chain to withdraw the reserve assets from this chain's sovereign account and"] # [doc = " deposit them to `beneficiary`."] # [doc = " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move"] # [doc = " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`"] # [doc = " to mint and deposit reserve-based assets to `beneficiary`."] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] # [doc = "is needed than `weight_limit`, then the operation will fail and the sent assets may be"] # [doc = "at risk."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] limited_reserve_transfer_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [codec (index = 9)] # [doc = "Teleport some assets from the local chain to some destination chain."] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] # [doc = "is needed than `weight_limit`, then the operation will fail and the sent assets may be"] # [doc = "at risk."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` chain."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] limited_teleport_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [codec (index = 10)] # [doc = "Set or unset the global suspension state of the XCM executor."] # [doc = ""] # [doc = "- `origin`: Must be an origin specified by AdminOrigin."] # [doc = "- `suspended`: `true` to suspend, `false` to resume."] force_suspension { suspended : :: core :: primitive :: bool , } , # [codec (index = 11)] # [doc = "Transfer some assets from the local chain to the destination chain through their local,"] # [doc = "destination or remote reserve, or through teleports."] # [doc = ""] # [doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] # [doc = "index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for"] # [doc = "`weight_limit` of weight. If more weight is needed than `weight_limit`, then the"] # [doc = "operation will fail and the sent assets may be at risk."] # [doc = ""] # [doc = "`assets` (excluding `fees`) must have same reserve location or otherwise be teleportable"] # [doc = "to `dest`, no limitations imposed on `fees`."] # [doc = " - for local reserve: transfer assets to sovereign account of destination chain and"] # [doc = " forward a notification XCM to `dest` to mint and deposit reserve-based assets to"] # [doc = " `beneficiary`."] # [doc = " - for destination reserve: burn local assets and forward a notification to `dest` chain"] # [doc = " to withdraw the reserve assets from this chain's sovereign account and deposit them"] # [doc = " to `beneficiary`."] # [doc = " - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves"] # [doc = " from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint"] # [doc = " and deposit reserve-based assets to `beneficiary`."] # [doc = " - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport"] # [doc = " assets and deposit them to `beneficiary`."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent,"] # [doc = " Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send"] # [doc = " from relay to parachain."] # [doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will"] # [doc = " generally be an `AccountId32` value."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] # [doc = " fees."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] transfer_assets { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , fee_asset_item : :: core :: primitive :: u32 , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [codec (index = 12)] # [doc = "Claims assets trapped on this pallet because of leftover assets during XCM execution."] # [doc = ""] # [doc = "- `origin`: Anyone can call this extrinsic."] # [doc = "- `assets`: The exact assets that were trapped. Use the version to specify what version"] # [doc = "was the latest when they were trapped."] # [doc = "- `beneficiary`: The location/account where the claimed assets will be deposited."] claim_assets { assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , beneficiary : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [codec (index = 13)] # [doc = "Transfer assets from the local chain to the destination chain using explicit transfer"] # [doc = "types for assets and fees."] # [doc = ""] # [doc = "`assets` must have same reserve location or may be teleportable to `dest`. Caller must"] # [doc = "provide the `assets_transfer_type` to be used for `assets`:"] # [doc = " - `TransferType::LocalReserve`: transfer assets to sovereign account of destination"] # [doc = " chain and forward a notification XCM to `dest` to mint and deposit reserve-based"] # [doc = " assets to `beneficiary`."] # [doc = " - `TransferType::DestinationReserve`: burn local assets and forward a notification to"] # [doc = " `dest` chain to withdraw the reserve assets from this chain's sovereign account and"] # [doc = " deposit them to `beneficiary`."] # [doc = " - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`"] # [doc = " chain to move reserves from this chain's SA to `dest` chain's SA, and forward another"] # [doc = " XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically"] # [doc = " the remote `reserve` is Asset Hub."] # [doc = " - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to"] # [doc = " mint/teleport assets and deposit them to `beneficiary`."] # [doc = ""] # [doc = "On the destination chain, as well as any intermediary hops, `BuyExecution` is used to"] # [doc = "buy execution using transferred `assets` identified by `remote_fees_id`."] # [doc = "Make sure enough of the specified `remote_fees_id` asset is included in the given list"] # [doc = "of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight"] # [doc = "is needed than `weight_limit`, then the operation will fail and the sent assets may be"] # [doc = "at risk."] # [doc = ""] # [doc = "`remote_fees_id` may use different transfer type than rest of `assets` and can be"] # [doc = "specified through `fees_transfer_type`."] # [doc = ""] # [doc = "The caller needs to specify what should happen to the transferred assets once they reach"] # [doc = "the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which"] # [doc = "contains the instructions to execute on `dest` as a final step."] # [doc = " This is usually as simple as:"] # [doc = " `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,"] # [doc = " but could be something more exotic like sending the `assets` even further."] # [doc = ""] # [doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] # [doc = "- `dest`: Destination context for the assets. Will typically be `[Parent,"] # [doc = " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from"] # [doc = " relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from"] # [doc = " parachain across a bridge to another ecosystem destination."] # [doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the"] # [doc = " fee on the `dest` (and possibly reserve) chains."] # [doc = "- `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`."] # [doc = "- `remote_fees_id`: One of the included `assets` to be used to pay fees."] # [doc = "- `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets."] # [doc = "- `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the"] # [doc = " transfer, which also determines what happens to the assets on the destination chain."] # [doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] transfer_assets_using_type_and_then { dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , assets : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssets > , assets_transfer_type : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: staging_xcm_executor :: traits :: asset_transfer :: TransferType > , remote_fees_id : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedAssetId > , fees_transfer_type : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: staging_xcm_executor :: traits :: asset_transfer :: TransferType > , custom_xcm_on_dest : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedXcm > , weight_limit : runtime_types :: xcm :: v3 :: WeightLimit , } , # [codec (index = 14)] # [doc = "Authorize another `aliaser` location to alias into the local `origin` making this call."] # [doc = "The `aliaser` is only authorized until the provided `expiry` block number."] # [doc = "The call can also be used for a previously authorized alias in order to update its"] # [doc = "`expiry` block number."] # [doc = ""] # [doc = "Usually useful to allow your local account to be aliased into from a remote location"] # [doc = "also under your control (like your account on another chain)."] # [doc = ""] # [doc = "WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in"] # [doc = "their/your name. Once authorized using this call, the `aliaser` can freely impersonate"] # [doc = "`origin` in XCM programs executed on the local chain."] add_authorized_alias { aliaser : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , expires : :: core :: option :: Option < :: core :: primitive :: u64 > , } , # [codec (index = 15)] # [doc = "Remove a previously authorized `aliaser` from the list of locations that can alias into"] # [doc = "the local `origin` making this call."] remove_authorized_alias { aliaser : :: subxt :: ext :: subxt_core :: alloc :: boxed :: Box < runtime_types :: xcm :: VersionedLocation > , } , # [codec (index = 16)] # [doc = "Remove all previously authorized `aliaser`s that can alias into the local `origin`"] # [doc = "making this call."] remove_all_authorized_aliases , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -60177,63 +61939,97 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The desired destination was unreachable, generally because there is a no way of routing"] #[doc = "to it."] Unreachable, + #[codec(index = 1)] #[doc = "There was some other issue (i.e. not to do with routing) in sending the message."] #[doc = "Perhaps a lack of space for buffering the message."] SendFailure, + #[codec(index = 2)] #[doc = "The message execution fails the filter."] Filtered, + #[codec(index = 3)] #[doc = "The message's weight could not be determined."] UnweighableMessage, + #[codec(index = 4)] #[doc = "The destination `Location` provided cannot be inverted."] DestinationNotInvertible, + #[codec(index = 5)] #[doc = "The assets to be sent are empty."] Empty, + #[codec(index = 6)] #[doc = "Could not re-anchor the assets to declare the fees for the destination chain."] CannotReanchor, + #[codec(index = 7)] #[doc = "Too many assets have been attempted for transfer."] TooManyAssets, + #[codec(index = 8)] #[doc = "Origin is invalid for sending."] InvalidOrigin, + #[codec(index = 9)] #[doc = "The version of the `Versioned` value used is not able to be interpreted."] BadVersion, + #[codec(index = 10)] #[doc = "The given location could not be used (e.g. because it cannot be expressed in the"] #[doc = "desired version of XCM)."] BadLocation, + #[codec(index = 11)] #[doc = "The referenced subscription could not be found."] NoSubscription, + #[codec(index = 12)] #[doc = "The location is invalid since it already has a subscription from us."] AlreadySubscribed, + #[codec(index = 13)] #[doc = "Could not check-out the assets for teleportation to the destination chain."] CannotCheckOutTeleport, + #[codec(index = 14)] #[doc = "The owner does not own (all) of the asset that they wish to do the operation on."] LowBalance, + #[codec(index = 15)] #[doc = "The asset owner has too many locks on the asset."] TooManyLocks, + #[codec(index = 16)] #[doc = "The given account is not an identifiable sovereign account for any location."] AccountNotSovereign, + #[codec(index = 17)] #[doc = "The operation required fees to be paid which the initiator could not meet."] FeesNotMet, + #[codec(index = 18)] #[doc = "A remote lock with the corresponding data could not be found."] LockNotFound, + #[codec(index = 19)] #[doc = "The unlock operation cannot succeed because there are still consumers of the lock."] InUse, + #[codec(index = 21)] #[doc = "Invalid asset, reserve chain could not be determined for it."] InvalidAssetUnknownReserve, + #[codec(index = 22)] #[doc = "Invalid asset, do not support remote asset reserves with different fees reserves."] InvalidAssetUnsupportedReserve, + #[codec(index = 23)] #[doc = "Too many assets with different reserve locations have been attempted for transfer."] TooManyReserves, + #[codec(index = 24)] #[doc = "Local XCM execution incomplete."] LocalExecutionIncomplete, + #[codec(index = 25)] #[doc = "Too many locations authorized to alias origin."] TooManyAuthorizedAliases, + #[codec(index = 26)] #[doc = "Expiry block number is in the past."] ExpiresInPast, + #[codec(index = 27)] #[doc = "The alias to remove authorization for was not found."] AliasNotFound, + #[codec(index = 28)] + #[doc = "Local XCM execution incomplete with the actual XCM error and the index of the"] + #[doc = "instruction that caused the error."] + LocalExecutionIncompleteWithError { + index: ::core::primitive::u8, + error: runtime_types::pallet_xcm::errors::ExecutionError, + }, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -60248,10 +62044,12 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "Execution of an XCM message was attempted."] Attempted { outcome: runtime_types::staging_xcm::v5::traits::Outcome, }, + #[codec(index = 1)] #[doc = "An XCM message was sent."] Sent { origin: runtime_types::staging_xcm::v5::location::Location, @@ -60259,6 +62057,7 @@ pub mod api { message: runtime_types::staging_xcm::v5::Xcm, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] #[doc = "An XCM message failed to send."] SendFailed { origin: runtime_types::staging_xcm::v5::location::Location, @@ -60266,12 +62065,14 @@ pub mod api { error: runtime_types::xcm::v3::traits::SendError, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 3)] #[doc = "An XCM message failed to process."] ProcessXcmError { origin: runtime_types::staging_xcm::v5::location::Location, error: runtime_types::xcm::v5::traits::Error, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 4)] #[doc = "Query response received which does not match a registered query. This may be because a"] #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] #[doc = "because the query timed out."] @@ -60279,12 +62080,14 @@ pub mod api { origin: runtime_types::staging_xcm::v5::location::Location, query_id: ::core::primitive::u64, }, + #[codec(index = 5)] #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] #[doc = "no registered notification call."] ResponseReady { query_id: ::core::primitive::u64, response: runtime_types::staging_xcm::v5::Response, }, + #[codec(index = 6)] #[doc = "Query response has been received and query is removed. The registered notification has"] #[doc = "been dispatched and executed successfully."] Notified { @@ -60292,6 +62095,7 @@ pub mod api { pallet_index: ::core::primitive::u8, call_index: ::core::primitive::u8, }, + #[codec(index = 7)] #[doc = "Query response has been received and query is removed. The registered notification"] #[doc = "could not be dispatched because the dispatch weight is greater than the maximum weight"] #[doc = "originally budgeted by this runtime for the query result."] @@ -60302,6 +62106,7 @@ pub mod api { actual_weight: runtime_types::sp_weights::weight_v2::Weight, max_budgeted_weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 8)] #[doc = "Query response has been received and query is removed. There was a general error with"] #[doc = "dispatching the notification call."] NotifyDispatchError { @@ -60309,6 +62114,7 @@ pub mod api { pallet_index: ::core::primitive::u8, call_index: ::core::primitive::u8, }, + #[codec(index = 9)] #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] #[doc = "is not `(origin, QueryId, Response)`."] @@ -60317,6 +62123,7 @@ pub mod api { pallet_index: ::core::primitive::u8, call_index: ::core::primitive::u8, }, + #[codec(index = 10)] #[doc = "Expected query response has been received but the origin location of the response does"] #[doc = "not match that expected. The query remains registered for a later, valid, response to"] #[doc = "be received and acted upon."] @@ -60327,6 +62134,7 @@ pub mod api { runtime_types::staging_xcm::v5::location::Location, >, }, + #[codec(index = 11)] #[doc = "Expected query response has been received but the expected origin location placed in"] #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] #[doc = ""] @@ -60338,14 +62146,17 @@ pub mod api { origin: runtime_types::staging_xcm::v5::location::Location, query_id: ::core::primitive::u64, }, + #[codec(index = 12)] #[doc = "Received query response has been read and removed."] ResponseTaken { query_id: ::core::primitive::u64 }, + #[codec(index = 13)] #[doc = "Some assets have been placed in an asset trap."] AssetsTrapped { hash: ::subxt::ext::subxt_core::utils::H256, origin: runtime_types::staging_xcm::v5::location::Location, assets: runtime_types::xcm::VersionedAssets, }, + #[codec(index = 14)] #[doc = "An XCM version change notification message has been attempted to be sent."] #[doc = ""] #[doc = "The cost of sending it (borne by the chain) is included."] @@ -60355,12 +62166,14 @@ pub mod api { cost: runtime_types::staging_xcm::v5::asset::Assets, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 15)] #[doc = "The supported version of a location has been changed. This might be through an"] #[doc = "automatic notification or a manual intervention."] SupportedVersionChanged { location: runtime_types::staging_xcm::v5::location::Location, version: ::core::primitive::u32, }, + #[codec(index = 16)] #[doc = "A given location which had a version change subscription was dropped owing to an error"] #[doc = "sending the notification to it."] NotifyTargetSendFail { @@ -60368,12 +62181,14 @@ pub mod api { query_id: ::core::primitive::u64, error: runtime_types::xcm::v5::traits::Error, }, + #[codec(index = 17)] #[doc = "A given location which had a version change subscription was dropped owing to an error"] #[doc = "migrating the location to our new XCM format."] NotifyTargetMigrationFail { location: runtime_types::xcm::VersionedLocation, query_id: ::core::primitive::u64, }, + #[codec(index = 18)] #[doc = "Expected query response has been received but the expected querier location placed in"] #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] #[doc = ""] @@ -60385,6 +62200,7 @@ pub mod api { origin: runtime_types::staging_xcm::v5::location::Location, query_id: ::core::primitive::u64, }, + #[codec(index = 19)] #[doc = "Expected query response has been received but the querier location of the response does"] #[doc = "not match the expected. The query remains registered for a later, valid, response to"] #[doc = "be received and acted upon."] @@ -60396,6 +62212,7 @@ pub mod api { runtime_types::staging_xcm::v5::location::Location, >, }, + #[codec(index = 20)] #[doc = "A remote has requested XCM version change notification from us and we have honored it."] #[doc = "A version information message is sent to them and its cost is included."] VersionNotifyStarted { @@ -60403,12 +62220,14 @@ pub mod api { cost: runtime_types::staging_xcm::v5::asset::Assets, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 21)] #[doc = "We have requested that a remote chain send us XCM version change notifications."] VersionNotifyRequested { destination: runtime_types::staging_xcm::v5::location::Location, cost: runtime_types::staging_xcm::v5::asset::Assets, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 22)] #[doc = "We have requested that a remote chain stops sending us XCM version change"] #[doc = "notifications."] VersionNotifyUnrequested { @@ -60416,19 +62235,23 @@ pub mod api { cost: runtime_types::staging_xcm::v5::asset::Assets, message_id: [::core::primitive::u8; 32usize], }, + #[codec(index = 23)] #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] FeesPaid { paying: runtime_types::staging_xcm::v5::location::Location, fees: runtime_types::staging_xcm::v5::asset::Assets, }, + #[codec(index = 24)] #[doc = "Some assets have been claimed from an asset trap"] AssetsClaimed { hash: ::subxt::ext::subxt_core::utils::H256, origin: runtime_types::staging_xcm::v5::location::Location, assets: runtime_types::xcm::VersionedAssets, }, + #[codec(index = 25)] #[doc = "A XCM version migration finished."] VersionMigrationFinished { version: ::core::primitive::u32 }, + #[codec(index = 26)] #[doc = "An `aliaser` location was authorized by `target` to alias it, authorization valid until"] #[doc = "`expiry` block number."] AliasAuthorized { @@ -60436,11 +62259,13 @@ pub mod api { target: runtime_types::staging_xcm::v5::location::Location, expiry: ::core::option::Option<::core::primitive::u64>, }, + #[codec(index = 27)] #[doc = "`target` removed alias authorization for `aliaser`."] AliasAuthorizationRemoved { aliaser: runtime_types::staging_xcm::v5::location::Location, target: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 28)] #[doc = "`target` removed all alias authorizations."] AliasesAuthorizationsRemoved { target: runtime_types::staging_xcm::v5::location::Location, @@ -60458,6 +62283,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum HoldReason { + #[codec(index = 0)] AuthorizeAlias, } #[derive( @@ -60484,7 +62310,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Origin { + #[codec(index = 0)] Xcm(runtime_types::staging_xcm::v5::location::Location), + #[codec(index = 1)] Response(runtime_types::staging_xcm::v5::location::Location), } #[derive( @@ -60499,6 +62327,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum QueryStatus<_0> { + #[codec(index = 0)] Pending { responder: runtime_types::xcm::VersionedLocation, maybe_match_querier: @@ -60507,10 +62336,12 @@ pub mod api { ::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>, timeout: _0, }, + #[codec(index = 1)] VersionNotifier { origin: runtime_types::xcm::VersionedLocation, is_active: ::core::primitive::bool, }, + #[codec(index = 2)] Ready { response: runtime_types::xcm::VersionedResponse, at: _0, @@ -60548,13 +62379,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum VersionMigrationStage { + #[codec(index = 0)] MigrateSupportedVersion, + #[codec(index = 1)] MigrateVersionNotifiers, + #[codec(index = 2)] NotifyCurrentTargets( ::core::option::Option< ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, >, ), + #[codec(index = 3)] MigrateAndNotifyOldTargets, } } @@ -60570,6 +62405,7 @@ pub mod api { runtime_types::xcm_runtime_apis::authorized_aliases::OriginAliaser, >, pub ticket: _0, + #[codec(skip)] pub __ignore: ::core::marker::PhantomData<_1>, } } @@ -60797,18 +62633,25 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ExecutorParam { + #[codec(index = 1)] MaxMemoryPages(::core::primitive::u32), + #[codec(index = 2)] StackLogicalMax(::core::primitive::u32), + #[codec(index = 3)] StackNativeMax(::core::primitive::u32), + #[codec(index = 4)] PrecheckingMaxMemory(::core::primitive::u64), + #[codec(index = 5)] PvfPrepTimeout( runtime_types::polkadot_primitives::v8::PvfPrepKind, ::core::primitive::u64, ), + #[codec(index = 6)] PvfExecTimeout( runtime_types::polkadot_primitives::v8::PvfExecKind, ::core::primitive::u64, ), + #[codec(index = 7)] WasmExtBulkMemory, } #[derive( @@ -60846,6 +62689,7 @@ pub mod api { pub validator_index: runtime_types::polkadot_primitives::v8::ValidatorIndex, pub signature: runtime_types::polkadot_primitives::v8::validator_app::Signature, + #[codec(skip)] pub __ignore: ::core::marker::PhantomData<_1>, } } @@ -60931,7 +62775,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum SlashingOffenceKind { + #[codec(index = 0)] ForInvalid, + #[codec(index = 1)] AgainstValid, } } @@ -61070,7 +62916,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum DisputeStatement { + #[codec(index = 0)] Valid(runtime_types::polkadot_primitives::v8::ValidDisputeStatementKind), + #[codec(index = 1)] Invalid(runtime_types::polkadot_primitives::v8::InvalidDisputeStatementKind), } #[derive( @@ -61134,7 +62982,7 @@ pub mod api { )] pub struct IndexedVec<_0, _1>( pub ::subxt::ext::subxt_core::alloc::vec::Vec<_1>, - pub ::core::marker::PhantomData<_0>, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, ); #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -61148,6 +62996,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum InvalidDisputeStatementKind { + #[codec(index = 0)] Explicit, } #[derive( @@ -61162,8 +63011,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum OccupiedCoreAssumption { + #[codec(index = 0)] Included, + #[codec(index = 1)] TimedOut, + #[codec(index = 2)] Free, } #[derive( @@ -61208,7 +63060,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum PvfExecKind { + #[codec(index = 0)] Backing, + #[codec(index = 1)] Approval, } #[derive( @@ -61223,7 +63077,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum PvfPrepKind { + #[codec(index = 0)] Precheck, + #[codec(index = 1)] Prepare, } #[derive( @@ -61321,7 +63177,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum UpgradeGoAhead { + #[codec(index = 0)] Abort, + #[codec(index = 1)] GoAhead, } #[derive( @@ -61336,6 +63194,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum UpgradeRestriction { + #[codec(index = 0)] Present, } #[derive( @@ -61350,10 +63209,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ValidDisputeStatementKind { + #[codec(index = 0)] Explicit, + #[codec(index = 1)] BackingSeconded(::subxt::ext::subxt_core::utils::H256), + #[codec(index = 2)] BackingValid(::subxt::ext::subxt_core::utils::H256), + #[codec(index = 3)] ApprovalChecking, + #[codec(index = 4)] ApprovalCheckingMultipleCandidates( ::subxt::ext::subxt_core::alloc::vec::Vec< runtime_types::polkadot_core_primitives::CandidateHash, @@ -61384,7 +63248,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ValidityAttestation { + #[codec(index = 1)] Implicit(runtime_types::polkadot_primitives::v8::validator_app::Signature), + #[codec(index = 2)] Explicit(runtime_types::polkadot_primitives::v8::validator_app::Signature), } } @@ -61485,18 +63351,21 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum CandidateEvent<_0> { + #[codec(index = 0)] CandidateBacked( runtime_types::polkadot_primitives::vstaging::CandidateReceiptV2<_0>, runtime_types::polkadot_parachain_primitives::primitives::HeadData, runtime_types::polkadot_primitives::v8::CoreIndex, runtime_types::polkadot_primitives::v8::GroupIndex, ), + #[codec(index = 1)] CandidateIncluded( runtime_types::polkadot_primitives::vstaging::CandidateReceiptV2<_0>, runtime_types::polkadot_parachain_primitives::primitives::HeadData, runtime_types::polkadot_primitives::v8::CoreIndex, runtime_types::polkadot_primitives::v8::GroupIndex, ), + #[codec(index = 2)] CandidateTimedOut( runtime_types::polkadot_primitives::vstaging::CandidateReceiptV2<_0>, runtime_types::polkadot_parachain_primitives::primitives::HeadData, @@ -61549,8 +63418,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum CoreState<_0, _1> { + #[codec(index = 0)] Occupied(runtime_types::polkadot_primitives::vstaging::OccupiedCore<_0, _1>), + #[codec(index = 1)] Scheduled(runtime_types::polkadot_primitives::v8::ScheduledCore), + #[codec(index = 2)] Free, } #[derive( @@ -61564,6 +63436,43 @@ pub mod api { #[encode_as_type( crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] + pub enum DisputeOffenceKind { + #[codec(index = 0)] + ForInvalidBacked, + #[codec(index = 1)] + AgainstValid, + #[codec(index = 2)] + ForInvalidApproved, + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] + pub struct DisputeProof { + pub time_slot: + runtime_types::polkadot_primitives::v8::slashing::DisputesTimeSlot, + pub kind: runtime_types::polkadot_primitives::vstaging::DisputeOffenceKind, + pub validator_index: runtime_types::polkadot_primitives::v8::ValidatorIndex, + pub validator_id: runtime_types::polkadot_primitives::v8::validator_app::Public, + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] pub struct InherentData<_0> { pub bitfields: ::subxt::ext::subxt_core::alloc::vec::Vec< runtime_types::polkadot_primitives::v8::signed::UncheckedSigned< @@ -61633,6 +63542,24 @@ pub mod api { #[encode_as_type( crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] + pub struct PendingSlashes { + pub keys: ::subxt::ext::subxt_core::utils::KeyedVec< + runtime_types::polkadot_primitives::v8::ValidatorIndex, + runtime_types::polkadot_primitives::v8::validator_app::Public, + >, + pub kind: runtime_types::polkadot_primitives::vstaging::DisputeOffenceKind, + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] pub struct ScrapedOnChainVotes<_0> { pub session: ::core::primitive::u32, pub backing_validators_per_candidate: @@ -61668,7 +63595,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Assign a permanent parachain slot and immediately create a lease for it."] assign_perm_parachain_slot { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Assign a temporary parachain slot. The function tries to create a lease for it"] # [doc = "immediately if `SlotLeasePeriodStart::Current` is specified, and if the number"] # [doc = "of currently active temporary slots is below `MaxTemporarySlotPerLeasePeriod`."] assign_temp_parachain_slot { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart , } , # [doc = "Unassign a permanent or temporary parachain slot"] unassign_parachain_slot { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Sets the storage value [`MaxPermanentSlots`]."] set_max_permanent_slots { slots : :: core :: primitive :: u32 , } , # [doc = "Sets the storage value [`MaxTemporarySlots`]."] set_max_temporary_slots { slots : :: core :: primitive :: u32 , } , } + # [codec (index = 0)] # [doc = "Assign a permanent parachain slot and immediately create a lease for it."] assign_perm_parachain_slot { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 1)] # [doc = "Assign a temporary parachain slot. The function tries to create a lease for it"] # [doc = "immediately if `SlotLeasePeriodStart::Current` is specified, and if the number"] # [doc = "of currently active temporary slots is below `MaxTemporarySlotPerLeasePeriod`."] assign_temp_parachain_slot { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart , } , # [codec (index = 2)] # [doc = "Unassign a permanent or temporary parachain slot"] unassign_parachain_slot { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 3)] # [doc = "Sets the storage value [`MaxPermanentSlots`]."] set_max_permanent_slots { slots : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Sets the storage value [`MaxTemporarySlots`]."] set_max_temporary_slots { slots : :: core :: primitive :: u32 , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -61682,23 +63609,32 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The specified parachain is not registered."] ParaDoesntExist, + #[codec(index = 1)] #[doc = "Not a parathread (on-demand parachain)."] NotParathread, + #[codec(index = 2)] #[doc = "Cannot upgrade on-demand parachain to lease holding"] #[doc = "parachain."] CannotUpgrade, + #[codec(index = 3)] #[doc = "Cannot downgrade lease holding parachain to"] #[doc = "on-demand."] CannotDowngrade, + #[codec(index = 4)] #[doc = "Permanent or Temporary slot already assigned."] SlotAlreadyAssigned, + #[codec(index = 5)] #[doc = "Permanent or Temporary slot has not been assigned."] SlotNotAssigned, + #[codec(index = 6)] #[doc = "An ongoing lease already exists."] OngoingLeaseExists, + #[codec(index = 7)] MaxPermanentSlotsExceeded, + #[codec(index = 8)] MaxTemporarySlotsExceeded, } #[derive( @@ -61714,16 +63650,20 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A parachain was assigned a permanent parachain slot"] PermanentSlotAssigned( runtime_types::polkadot_parachain_primitives::primitives::Id, ), + #[codec(index = 1)] #[doc = "A parachain was assigned a temporary parachain slot"] TemporarySlotAssigned( runtime_types::polkadot_parachain_primitives::primitives::Id, ), + #[codec(index = 2)] #[doc = "The maximum number of permanent slots has been changed"] MaxPermanentSlotsChanged { slots: ::core::primitive::u32 }, + #[codec(index = 3)] #[doc = "The maximum number of temporary slots has been changed"] MaxTemporarySlotsChanged { slots: ::core::primitive::u32 }, } @@ -61758,7 +63698,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum SlotLeasePeriodStart { + #[codec(index = 0)] Current, + #[codec(index = 1)] Next, } } @@ -61779,15 +63721,19 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Create a new auction."] #[doc = ""] #[doc = "This can only happen when there isn't already an auction in progress and may only be"] #[doc = "called by the root origin. Accepts the `duration` of this auction and the"] #[doc = "`lease_period_index` of the initial lease period of the four that are to be auctioned."] new_auction { + #[codec(compact)] duration: ::core::primitive::u32, + #[codec(compact)] lease_period_index: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "Make a new bid from an account (including a parachain account) for deploying a new"] #[doc = "parachain."] #[doc = ""] @@ -61805,12 +63751,18 @@ pub mod api { #[doc = "- `amount` is the amount to bid to be held as deposit for the parachain should the"] #[doc = "bid win. This amount is held throughout the range."] bid { + #[codec(compact)] para: runtime_types::polkadot_parachain_primitives::primitives::Id, + #[codec(compact)] auction_index: ::core::primitive::u32, + #[codec(compact)] first_slot: ::core::primitive::u32, + #[codec(compact)] last_slot: ::core::primitive::u32, + #[codec(compact)] amount: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "Cancel an in-progress auction."] #[doc = ""] #[doc = "Can only be called by Root origin."] @@ -61829,18 +63781,25 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "This auction is already in progress."] AuctionInProgress, + #[codec(index = 1)] #[doc = "The lease period is in the past."] LeasePeriodInPast, + #[codec(index = 2)] #[doc = "Para is not registered"] ParaNotRegistered, + #[codec(index = 3)] #[doc = "Not a current auction."] NotCurrentAuction, + #[codec(index = 4)] #[doc = "Not an auction."] NotAuction, + #[codec(index = 5)] #[doc = "Auction has already ended."] AuctionEnded, + #[codec(index = 6)] #[doc = "The para is already leased out for part of this range."] AlreadyLeasedOut, } @@ -61857,6 +63816,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "An auction started. Provides its index and the block number where it will begin to"] #[doc = "close and the first lease period of the quadruplet that is auctioned."] AuctionStarted { @@ -61864,10 +63824,12 @@ pub mod api { lease_period: ::core::primitive::u32, ending: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "An auction ended. All funds become unreserved."] AuctionClosed { auction_index: ::core::primitive::u32, }, + #[codec(index = 2)] #[doc = "Funds were reserved for a winning bid. First balance is the extra amount reserved."] #[doc = "Second is the total."] Reserved { @@ -61875,11 +63837,13 @@ pub mod api { extra_reserved: ::core::primitive::u128, total_amount: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "Funds were unreserved since bidder is no longer active. `[bidder, amount]`"] Unreserved { bidder: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 4)] #[doc = "Someone attempted to lease the same slot twice for a parachain. The amount is held in"] #[doc = "reserve but no parachain slot has been leased."] ReserveConfiscated { @@ -61887,6 +63851,7 @@ pub mod api { leaser: ::subxt::ext::subxt_core::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 5)] #[doc = "A new bid has been accepted as the current winner."] BidAccepted { bidder: ::subxt::ext::subxt_core::utils::AccountId32, @@ -61895,6 +63860,7 @@ pub mod api { first_slot: ::core::primitive::u32, last_slot: ::core::primitive::u32, }, + #[codec(index = 6)] #[doc = "The winning offset was chosen for an auction. This will map into the `Winning` storage"] #[doc = "map."] WinningOffset { @@ -61921,6 +63887,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Make a claim to collect your DOTs."] #[doc = ""] #[doc = "The dispatch origin for this call must be _None_."] @@ -61950,6 +63917,7 @@ pub mod api { ethereum_signature: runtime_types::polkadot_runtime_common::claims::EcdsaSignature, }, + #[codec(index = 1)] #[doc = "Mint a new claim to collect DOTs."] #[doc = ""] #[doc = "The dispatch origin for this call must be _Root_."] @@ -61977,6 +63945,7 @@ pub mod api { runtime_types::polkadot_runtime_common::claims::StatementKind, >, }, + #[codec(index = 2)] #[doc = "Make a claim to collect your DOTs by signing a statement."] #[doc = ""] #[doc = "The dispatch origin for this call must be _None_."] @@ -62011,6 +63980,7 @@ pub mod api { statement: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 3)] #[doc = "Attest to a statement, needed to finalize the claims process."] #[doc = ""] #[doc = "WARNING: Insecure unless your chain includes `PrevalidateAttests` as a"] @@ -62034,6 +64004,7 @@ pub mod api { statement: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 4)] move_claim { old: runtime_types::polkadot_runtime_common::claims::EthereumAddress, new: runtime_types::polkadot_runtime_common::claims::EthereumAddress, @@ -62055,17 +64026,23 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Invalid Ethereum signature."] InvalidEthereumSignature, + #[codec(index = 1)] #[doc = "Ethereum address has no claim."] SignerHasNoClaim, + #[codec(index = 2)] #[doc = "Account ID sending transaction has no claim."] SenderHasNoClaim, + #[codec(index = 3)] #[doc = "There's not enough in the pot to pay out some unvested amount. Generally implies a"] #[doc = "logic error."] PotUnderflow, + #[codec(index = 4)] #[doc = "A needed statement was not included."] InvalidStatement, + #[codec(index = 5)] #[doc = "The account already has a vested balance."] VestedBalanceExists, } @@ -62082,6 +64059,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "Someone claimed some DOTs."] Claimed { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -62127,7 +64105,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum StatementKind { + #[codec(index = 0)] Regular, + #[codec(index = 1)] Saft, } } @@ -62148,28 +64128,38 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Create a new crowdloaning campaign for a parachain slot with the given lease period"] #[doc = "range."] #[doc = ""] #[doc = "This applies a lock to your parachain configuration, ensuring that it cannot be changed"] #[doc = "by the parachain manager."] create { + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, + #[codec(compact)] cap: ::core::primitive::u128, + #[codec(compact)] first_period: ::core::primitive::u32, + #[codec(compact)] last_period: ::core::primitive::u32, + #[codec(compact)] end: ::core::primitive::u32, verifier: ::core::option::Option, }, + #[codec(index = 1)] #[doc = "Contribute to a crowd sale. This will transfer some balance over to fund a parachain"] #[doc = "slot. It will be withdrawable when the crowdloan has ended and the funds are unused."] contribute { + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, + #[codec(compact)] value: ::core::primitive::u128, signature: ::core::option::Option, }, + #[codec(index = 2)] #[doc = "Withdraw full balance of a specific contributor."] #[doc = ""] #[doc = "Origin must be signed, but can come from anyone."] @@ -62189,32 +64179,44 @@ pub mod api { #[doc = "- `index`: The parachain to whose crowdloan the contribution was made."] withdraw { who: ::subxt::ext::subxt_core::utils::AccountId32, + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 3)] #[doc = "Automatically refund contributors of an ended crowdloan."] #[doc = "Due to weight restrictions, this function may need to be called multiple"] #[doc = "times to fully refund all users. We will refund `RemoveKeysLimit` users at a time."] #[doc = ""] #[doc = "Origin must be signed, but can come from anyone."] refund { + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 4)] #[doc = "Remove a fund after the retirement period has ended and all funds have been returned."] dissolve { + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 5)] #[doc = "Edit the configuration for an in-progress crowdloan."] #[doc = ""] #[doc = "Can only be called by Root origin."] edit { + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, + #[codec(compact)] cap: ::core::primitive::u128, + #[codec(compact)] first_period: ::core::primitive::u32, + #[codec(compact)] last_period: ::core::primitive::u32, + #[codec(compact)] end: ::core::primitive::u32, verifier: ::core::option::Option, }, + #[codec(index = 6)] #[doc = "Add an optional memo to an existing crowdloan contribution."] #[doc = ""] #[doc = "Origin must be Signed, and the user must have contributed to the crowdloan."] @@ -62222,16 +64224,19 @@ pub mod api { index: runtime_types::polkadot_parachain_primitives::primitives::Id, memo: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 7)] #[doc = "Poke the fund into `NewRaise`"] #[doc = ""] #[doc = "Origin must be Signed, and the fund has non-zero raise."] poke { index: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 8)] #[doc = "Contribute your entire balance to a crowd sale. This will transfer the entire balance of"] #[doc = "a user over to fund a parachain slot. It will be withdrawable when the crowdloan has"] #[doc = "ended and the funds are unused."] contribute_all { + #[codec(compact)] index: runtime_types::polkadot_parachain_primitives::primitives::Id, signature: ::core::option::Option, @@ -62250,51 +64255,74 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The current lease period is more than the first lease period."] FirstPeriodInPast, + #[codec(index = 1)] #[doc = "The first lease period needs to at least be less than 3 `max_value`."] FirstPeriodTooFarInFuture, + #[codec(index = 2)] #[doc = "Last lease period must be greater than first lease period."] LastPeriodBeforeFirstPeriod, + #[codec(index = 3)] #[doc = "The last lease period cannot be more than 3 periods after the first period."] LastPeriodTooFarInFuture, + #[codec(index = 4)] #[doc = "The campaign ends before the current block number. The end must be in the future."] CannotEndInPast, + #[codec(index = 5)] #[doc = "The end date for this crowdloan is not sensible."] EndTooFarInFuture, + #[codec(index = 6)] #[doc = "There was an overflow."] Overflow, + #[codec(index = 7)] #[doc = "The contribution was below the minimum, `MinContribution`."] ContributionTooSmall, + #[codec(index = 8)] #[doc = "Invalid fund index."] InvalidParaId, + #[codec(index = 9)] #[doc = "Contributions exceed maximum amount."] CapExceeded, + #[codec(index = 10)] #[doc = "The contribution period has already ended."] ContributionPeriodOver, + #[codec(index = 11)] #[doc = "The origin of this call is invalid."] InvalidOrigin, + #[codec(index = 12)] #[doc = "This crowdloan does not correspond to a parachain."] NotParachain, + #[codec(index = 13)] #[doc = "This parachain lease is still active and retirement cannot yet begin."] LeaseActive, + #[codec(index = 14)] #[doc = "This parachain's bid or lease is still active and withdraw cannot yet begin."] BidOrLeaseActive, + #[codec(index = 15)] #[doc = "The crowdloan has not yet ended."] FundNotEnded, + #[codec(index = 16)] #[doc = "There are no contributions stored in this crowdloan."] NoContributions, + #[codec(index = 17)] #[doc = "The crowdloan is not ready to dissolve. Potentially still has a slot or in retirement"] #[doc = "period."] NotReadyToDissolve, + #[codec(index = 18)] #[doc = "Invalid signature."] InvalidSignature, + #[codec(index = 19)] #[doc = "The provided memo is too large."] MemoTooLarge, + #[codec(index = 20)] #[doc = "The fund is already in `NewRaise`"] AlreadyInNewRaise, + #[codec(index = 21)] #[doc = "No contributions allowed during the VRF delay"] VrfDelayInProgress, + #[codec(index = 22)] #[doc = "A lease period has not started yet, due to an offset in the starting block."] NoLeasePeriod, } @@ -62311,10 +64339,12 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "Create a new crowdloaning campaign."] Created { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 1)] #[doc = "Contributed to a crowd sale."] Contributed { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -62322,6 +64352,7 @@ pub mod api { runtime_types::polkadot_parachain_primitives::primitives::Id, amount: ::core::primitive::u128, }, + #[codec(index = 2)] #[doc = "Withdrew full balance of a contributor."] Withdrew { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -62329,19 +64360,23 @@ pub mod api { runtime_types::polkadot_parachain_primitives::primitives::Id, amount: ::core::primitive::u128, }, + #[codec(index = 3)] #[doc = "The loans in a fund have been partially dissolved, i.e. there are some left"] #[doc = "over child keys that still need to be killed."] PartiallyRefunded { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 4)] #[doc = "All loans in a fund have been refunded."] AllRefunded { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 5)] #[doc = "Fund is dissolved."] Dissolved { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 6)] #[doc = "The result of trying to submit a new bid to the Slots pallet."] HandleBidResult { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, @@ -62350,16 +64385,19 @@ pub mod api { runtime_types::sp_runtime::DispatchError, >, }, + #[codec(index = 7)] #[doc = "The configuration to a crowdloan has been edited."] Edited { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 8)] #[doc = "A memo has been updated."] MemoUpdated { who: ::subxt::ext::subxt_core::utils::AccountId32, para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, memo: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, }, + #[codec(index = 9)] #[doc = "A parachain has been moved to `NewRaise`"] AddedToNewRaise { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, @@ -62402,8 +64440,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum LastContribution<_0> { + #[codec(index = 0)] Never, + #[codec(index = 1)] PreEnding(::core::primitive::u32), + #[codec(index = 2)] Ending(_0), } } @@ -62424,11 +64465,13 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Reap the `IdentityInfo` of `who` from the Identity pallet of `T`, unreserving any"] #[doc = "deposits held and removing storage items associated with `who`."] reap_identity { who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "Update the deposit of `who`. Meant to be called by the system with an XCM `Transact`"] #[doc = "Instruction."] poke_deposit { @@ -62448,10 +64491,12 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "The identity and all sub accounts were reaped for `who`."] IdentityReaped { who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "The deposits held for `who` were updated. `identity` is the new deposit held for"] #[doc = "identity info, and `subs` is the new deposit held for the sub-accounts."] DepositUpdated { @@ -62476,14 +64521,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum VersionedLocatableAsset { + #[codec(index = 3)] V3 { location: runtime_types::staging_xcm::v3::multilocation::MultiLocation, asset_id: runtime_types::xcm::v3::multiasset::AssetId, }, + #[codec(index = 4)] V4 { location: runtime_types::staging_xcm::v4::location::Location, asset_id: runtime_types::staging_xcm::v4::asset::AssetId, }, + #[codec(index = 5)] V5 { location: runtime_types::staging_xcm::v5::location::Location, asset_id: runtime_types::staging_xcm::v5::asset::AssetId, @@ -62507,7 +64555,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Register head data and validation code for a reserved Para Id."] # [doc = ""] # [doc = "## Arguments"] # [doc = "- `origin`: Must be called by a `Signed` origin."] # [doc = "- `id`: The para ID. Must be owned/managed by the `origin` signing account."] # [doc = "- `genesis_head`: The genesis head data of the parachain/thread."] # [doc = "- `validation_code`: The initial validation code of the parachain/thread."] # [doc = ""] # [doc = "## Deposits/Fees"] # [doc = "The account with the originating signature must reserve a deposit."] # [doc = ""] # [doc = "The deposit is required to cover the costs associated with storing the genesis head"] # [doc = "data and the validation code."] # [doc = "This accounts for the potential to store validation code of a size up to the"] # [doc = "`max_code_size`, as defined in the configuration pallet"] # [doc = ""] # [doc = "Anything already reserved previously for this para ID is accounted for."] # [doc = ""] # [doc = "## Events"] # [doc = "The `Registered` event is emitted in case of success."] register { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , genesis_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , validation_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [doc = "Force the registration of a Para Id on the relay chain."] # [doc = ""] # [doc = "This function must be called by a Root origin."] # [doc = ""] # [doc = "The deposit taken can be specified for this registration. Any `ParaId`"] # [doc = "can be registered, including sub-1000 IDs which are System Parachains."] force_register { who : :: subxt :: ext :: subxt_core :: utils :: AccountId32 , deposit : :: core :: primitive :: u128 , id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , genesis_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , validation_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [doc = "Deregister a Para Id, freeing all data and returning any deposit."] # [doc = ""] # [doc = "The caller must be Root, the `para` owner, or the `para` itself. The para must be an"] # [doc = "on-demand parachain."] deregister { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Swap a lease holding parachain with another parachain, either on-demand or lease"] # [doc = "holding."] # [doc = ""] # [doc = "The origin must be Root, the `para` owner, or the `para` itself."] # [doc = ""] # [doc = "The swap will happen only if there is already an opposite swap pending. If there is not,"] # [doc = "the swap will be stored in the pending swaps map, ready for a later confirmatory swap."] # [doc = ""] # [doc = "The `ParaId`s remain mapped to the same head data and code so external code can rely on"] # [doc = "`ParaId` to be a long-term identifier of a notional \"parachain\". However, their"] # [doc = "scheduling info (i.e. whether they're an on-demand parachain or lease holding"] # [doc = "parachain), auction information and the auction deposit are switched."] swap { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , other : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Remove a manager lock from a para. This will allow the manager of a"] # [doc = "previously locked para to deregister or swap a para without using governance."] # [doc = ""] # [doc = "Can only be called by the Root origin or the parachain."] remove_lock { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Reserve a Para Id on the relay chain."] # [doc = ""] # [doc = "This function will reserve a new Para Id to be owned/managed by the origin account."] # [doc = "The origin account is able to register head data and validation code using `register` to"] # [doc = "create an on-demand parachain. Using the Slots pallet, an on-demand parachain can then"] # [doc = "be upgraded to a lease holding parachain."] # [doc = ""] # [doc = "## Arguments"] # [doc = "- `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new"] # [doc = " para ID."] # [doc = ""] # [doc = "## Deposits/Fees"] # [doc = "The origin must reserve a deposit of `ParaDeposit` for the registration."] # [doc = ""] # [doc = "## Events"] # [doc = "The `Reserved` event is emitted in case of success, which provides the ID reserved for"] # [doc = "use."] reserve , # [doc = "Add a manager lock from a para. This will prevent the manager of a"] # [doc = "para to deregister or swap a para."] # [doc = ""] # [doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is"] # [doc = "unlocked."] add_lock { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Schedule a parachain upgrade."] # [doc = ""] # [doc = "This will kick off a check of `new_code` by all validators. After the majority of the"] # [doc = "validators have reported on the validity of the code, the code will either be enacted"] # [doc = "or the upgrade will be rejected. If the code will be enacted, the current code of the"] # [doc = "parachain will be overwritten directly. This means that any PoV will be checked by this"] # [doc = "new code. The parachain itself will not be informed explicitly that the validation code"] # [doc = "has changed."] # [doc = ""] # [doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is"] # [doc = "unlocked."] schedule_code_upgrade { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [doc = "Set the parachain's current head."] # [doc = ""] # [doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is"] # [doc = "unlocked."] set_current_head { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , } , } + # [codec (index = 0)] # [doc = "Register head data and validation code for a reserved Para Id."] # [doc = ""] # [doc = "## Arguments"] # [doc = "- `origin`: Must be called by a `Signed` origin."] # [doc = "- `id`: The para ID. Must be owned/managed by the `origin` signing account."] # [doc = "- `genesis_head`: The genesis head data of the parachain/thread."] # [doc = "- `validation_code`: The initial validation code of the parachain/thread."] # [doc = ""] # [doc = "## Deposits/Fees"] # [doc = "The account with the originating signature must reserve a deposit."] # [doc = ""] # [doc = "The deposit is required to cover the costs associated with storing the genesis head"] # [doc = "data and the validation code."] # [doc = "This accounts for the potential to store validation code of a size up to the"] # [doc = "`max_code_size`, as defined in the configuration pallet"] # [doc = ""] # [doc = "Anything already reserved previously for this para ID is accounted for."] # [doc = ""] # [doc = "## Events"] # [doc = "The `Registered` event is emitted in case of success."] register { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , genesis_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , validation_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [codec (index = 1)] # [doc = "Force the registration of a Para Id on the relay chain."] # [doc = ""] # [doc = "This function must be called by a Root origin."] # [doc = ""] # [doc = "The deposit taken can be specified for this registration. Any `ParaId`"] # [doc = "can be registered, including sub-1000 IDs which are System Parachains."] force_register { who : :: subxt :: ext :: subxt_core :: utils :: AccountId32 , deposit : :: core :: primitive :: u128 , id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , genesis_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , validation_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [codec (index = 2)] # [doc = "Deregister a Para Id, freeing all data and returning any deposit."] # [doc = ""] # [doc = "The caller must be Root, the `para` owner, or the `para` itself. The para must be an"] # [doc = "on-demand parachain."] deregister { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 3)] # [doc = "Swap a lease holding parachain with another parachain, either on-demand or lease"] # [doc = "holding."] # [doc = ""] # [doc = "The origin must be Root, the `para` owner, or the `para` itself."] # [doc = ""] # [doc = "The swap will happen only if there is already an opposite swap pending. If there is not,"] # [doc = "the swap will be stored in the pending swaps map, ready for a later confirmatory swap."] # [doc = ""] # [doc = "The `ParaId`s remain mapped to the same head data and code so external code can rely on"] # [doc = "`ParaId` to be a long-term identifier of a notional \"parachain\". However, their"] # [doc = "scheduling info (i.e. whether they're an on-demand parachain or lease holding"] # [doc = "parachain), auction information and the auction deposit are switched."] swap { id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , other : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 4)] # [doc = "Remove a manager lock from a para. This will allow the manager of a"] # [doc = "previously locked para to deregister or swap a para without using governance."] # [doc = ""] # [doc = "Can only be called by the Root origin or the parachain."] remove_lock { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 5)] # [doc = "Reserve a Para Id on the relay chain."] # [doc = ""] # [doc = "This function will reserve a new Para Id to be owned/managed by the origin account."] # [doc = "The origin account is able to register head data and validation code using `register` to"] # [doc = "create an on-demand parachain. Using the Slots pallet, an on-demand parachain can then"] # [doc = "be upgraded to a lease holding parachain."] # [doc = ""] # [doc = "## Arguments"] # [doc = "- `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new"] # [doc = " para ID."] # [doc = ""] # [doc = "## Deposits/Fees"] # [doc = "The origin must reserve a deposit of `ParaDeposit` for the registration."] # [doc = ""] # [doc = "## Events"] # [doc = "The `Reserved` event is emitted in case of success, which provides the ID reserved for"] # [doc = "use."] reserve , # [codec (index = 6)] # [doc = "Add a manager lock from a para. This will prevent the manager of a"] # [doc = "para to deregister or swap a para."] # [doc = ""] # [doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is"] # [doc = "unlocked."] add_lock { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 7)] # [doc = "Schedule a parachain upgrade."] # [doc = ""] # [doc = "This will kick off a check of `new_code` by all validators. After the majority of the"] # [doc = "validators have reported on the validity of the code, the code will either be enacted"] # [doc = "or the upgrade will be rejected. If the code will be enacted, the current code of the"] # [doc = "parachain will be overwritten directly. This means that any PoV will be checked by this"] # [doc = "new code. The parachain itself will not be informed explicitly that the validation code"] # [doc = "has changed."] # [doc = ""] # [doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is"] # [doc = "unlocked."] schedule_code_upgrade { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [codec (index = 8)] # [doc = "Set the parachain's current head."] # [doc = ""] # [doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is"] # [doc = "unlocked."] set_current_head { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -62521,33 +64569,47 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The ID is not registered."] NotRegistered, + #[codec(index = 1)] #[doc = "The ID is already registered."] AlreadyRegistered, + #[codec(index = 2)] #[doc = "The caller is not the owner of this Id."] NotOwner, + #[codec(index = 3)] #[doc = "Invalid para code size."] CodeTooLarge, + #[codec(index = 4)] #[doc = "Invalid para head data size."] HeadDataTooLarge, + #[codec(index = 5)] #[doc = "Para is not a Parachain."] NotParachain, + #[codec(index = 6)] #[doc = "Para is not a Parathread (on-demand parachain)."] NotParathread, + #[codec(index = 7)] #[doc = "Cannot deregister para"] CannotDeregister, + #[codec(index = 8)] #[doc = "Cannot schedule downgrade of lease holding parachain to on-demand parachain"] CannotDowngrade, + #[codec(index = 9)] #[doc = "Cannot schedule upgrade of on-demand parachain to lease holding parachain"] CannotUpgrade, + #[codec(index = 10)] #[doc = "Para is locked from manipulation by the manager. Must use parachain or relay chain"] #[doc = "governance."] ParaLocked, + #[codec(index = 11)] #[doc = "The ID given for registration has not been reserved."] NotReserved, + #[codec(index = 12)] #[doc = "The validation code is invalid."] InvalidCode, + #[codec(index = 13)] #[doc = "Cannot perform a parachain slot / lifecycle swap. Check that the state of both paras"] #[doc = "are correct for the swap to work."] CannotSwap, @@ -62565,17 +64627,21 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] Registered { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, manager: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] Deregistered { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 2)] Reserved { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, who: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 3)] Swapped { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, other_id: runtime_types::polkadot_parachain_primitives::primitives::Id, @@ -62616,6 +64682,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Schedule a para to be initialized at the start of the next session."] #[doc = ""] #[doc = "This should only be used for TESTING and not on PRODUCTION chains. It automatically"] @@ -62626,18 +64693,22 @@ pub mod api { genesis: runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs, }, + #[codec(index = 1)] #[doc = "Schedule a para to be cleaned up at the start of the next session."] sudo_schedule_para_cleanup { id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 2)] #[doc = "Upgrade a parathread (on-demand parachain) to a lease holding parachain"] sudo_schedule_parathread_upgrade { id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 3)] #[doc = "Downgrade a lease holding parachain to an on-demand parachain"] sudo_schedule_parachain_downgrade { id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 4)] #[doc = "Send a downward XCM to the given para."] #[doc = ""] #[doc = "The given parachain should exist and the payload should not exceed the preconfigured"] @@ -62648,6 +64719,7 @@ pub mod api { runtime_types::xcm::VersionedXcm, >, }, + #[codec(index = 5)] #[doc = "Forcefully establish a channel from the sender to the recipient."] #[doc = ""] #[doc = "This is equivalent to sending an `Hrmp::hrmp_init_open_channel` extrinsic followed by"] @@ -62672,25 +64744,35 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The specified parachain is not registered."] ParaDoesntExist, + #[codec(index = 1)] #[doc = "The specified parachain is already registered."] ParaAlreadyExists, + #[codec(index = 2)] #[doc = "A DMP message couldn't be sent because it exceeds the maximum size allowed for a"] #[doc = "downward message."] ExceedsMaxMessageSize, + #[codec(index = 3)] #[doc = "A DMP message couldn't be sent because the destination is unreachable."] Unroutable, + #[codec(index = 4)] #[doc = "Could not schedule para cleanup."] CouldntCleanup, + #[codec(index = 5)] #[doc = "Not a parathread (on-demand parachain)."] NotParathread, + #[codec(index = 6)] #[doc = "Not a lease holding parachain."] NotParachain, + #[codec(index = 7)] #[doc = "Cannot upgrade on-demand parachain to lease holding parachain."] CannotUpgrade, + #[codec(index = 8)] #[doc = "Cannot downgrade lease holding parachain to on-demand."] CannotDowngrade, + #[codec(index = 9)] #[doc = "There are more cores than supported by the runtime."] TooManyCores, } @@ -62713,6 +64795,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Just a connect into the `lease_out` call, in case Root wants to force some lease to"] #[doc = "happen independently of any other on-chain mechanism to use it."] #[doc = ""] @@ -62724,12 +64807,14 @@ pub mod api { period_begin: ::core::primitive::u32, period_count: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "Clear all leases for a Para Id, refunding any deposits back to the original owners."] #[doc = ""] #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] clear_all_leases { para: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 2)] #[doc = "Try to onboard a parachain that has a lease for the current lease period."] #[doc = ""] #[doc = "This function can be useful if there was some state issue with a para that should"] @@ -62754,8 +64839,10 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The parachain ID is not onboarding."] ParaNotOnboarding, + #[codec(index = 1)] #[doc = "There was an error with the lease."] LeaseError, } @@ -62772,10 +64859,12 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A new `[lease_period]` is beginning."] NewLeasePeriod { lease_period: ::core::primitive::u32, }, + #[codec(index = 1)] #[doc = "A para has won the right to a continuous set of lease periods as a parachain."] #[doc = "First balance is any extra amount reserved on top of the para's existing deposit."] #[doc = "Second balance is the total amount reserved."] @@ -62810,7 +64899,9 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] AssignmentsEmpty, + #[codec(index = 1)] #[doc = "assign_core is only allowed to append new assignments at the end of already existing"] #[doc = "ones or update the last entry."] DisallowedInsert, @@ -62921,7 +65012,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Set the validation upgrade cooldown."] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [doc = "Set the validation upgrade delay."] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [doc = "Set the acceptance period for an included candidate."] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [doc = "Set the max validation code size for incoming upgrades."] set_max_code_size { new : :: core :: primitive :: u32 , } , # [doc = "Set the max POV block size for incoming upgrades."] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [doc = "Set the max head data size for paras."] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [doc = "Set the number of coretime execution cores."] # [doc = ""] # [doc = "NOTE: that this configuration is managed by the coretime chain. Only manually change"] # [doc = "this, if you really know what you are doing!"] set_coretime_cores { new : :: core :: primitive :: u32 , } , # [doc = "Set the parachain validator-group rotation frequency"] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [doc = "Set the availability period for paras."] set_paras_availability_period { new : :: core :: primitive :: u32 , } , # [doc = "Set the scheduling lookahead, in expected number of blocks at peak throughput."] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [doc = "Set the maximum number of validators to assign to any core."] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [doc = "Set the maximum number of validators to use in parachain consensus."] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [doc = "Set the dispute period, in number of sessions to keep for disputes."] set_dispute_period { new : :: core :: primitive :: u32 , } , # [doc = "Set the dispute post conclusion acceptance period."] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [doc = "Set the no show slots, in number of number of consensus slots."] # [doc = "Must be at least 1."] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [doc = "Set the total number of delay tranches."] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [doc = "Set the zeroth delay tranche width."] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [doc = "Set the number of validators needed to approve a block."] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [doc = "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion."] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum items that can present in a upward dispatch queue at once."] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum total size of items that can present in a upward dispatch queue at"] # [doc = "once."] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [doc = "Set the critical downward message size."] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum size of an upward message that can be sent by a candidate."] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum number of messages that a candidate can contain."] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [doc = "Sets the number of sessions after which an HRMP open channel request expires."] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [doc = "Sets the amount of funds that the sender should provide for opening an HRMP channel."] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [doc = "Sets the amount of funds that the recipient should provide for accepting opening an HRMP"] # [doc = "channel."] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [doc = "Sets the maximum number of messages allowed in an HRMP channel at once."] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once."] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept."] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum size of a message that could ever be put into an HRMP channel."] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum number of outbound HRMP channels a parachain is allowed to open."] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [doc = "Sets the maximum number of outbound HRMP messages can be sent by a candidate."] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [doc = "Set the number of session changes after which a PVF pre-checking voting is rejected."] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [doc = "Sets the minimum delay between announcing the upgrade block for a parachain until the"] # [doc = "upgrade taking place."] # [doc = ""] # [doc = "See the field documentation for information and constraints for the new value."] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [doc = "Setting this to true will disable consistency checks for the configuration setters."] # [doc = "Use with caution."] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [doc = "Set the asynchronous backing parameters."] set_async_backing_params { new : runtime_types :: polkadot_primitives :: v8 :: async_backing :: AsyncBackingParams , } , # [doc = "Set PVF executor parameters."] set_executor_params { new : runtime_types :: polkadot_primitives :: v8 :: executor_params :: ExecutorParams , } , # [doc = "Set the on demand (parathreads) base fee."] set_on_demand_base_fee { new : :: core :: primitive :: u128 , } , # [doc = "Set the on demand (parathreads) fee variability."] set_on_demand_fee_variability { new : runtime_types :: sp_arithmetic :: per_things :: Perbill , } , # [doc = "Set the on demand (parathreads) queue max size."] set_on_demand_queue_max_size { new : :: core :: primitive :: u32 , } , # [doc = "Set the on demand (parathreads) fee variability."] set_on_demand_target_queue_utilization { new : runtime_types :: sp_arithmetic :: per_things :: Perbill , } , # [doc = "Set the minimum backing votes threshold."] set_minimum_backing_votes { new : :: core :: primitive :: u32 , } , # [doc = "Set/Unset a node feature."] set_node_feature { index : :: core :: primitive :: u8 , value : :: core :: primitive :: bool , } , # [doc = "Set approval-voting-params."] set_approval_voting_params { new : runtime_types :: polkadot_primitives :: v8 :: ApprovalVotingParams , } , # [doc = "Set scheduler-params."] set_scheduler_params { new : runtime_types :: polkadot_primitives :: v8 :: SchedulerParams < :: core :: primitive :: u32 > , } , } + # [codec (index = 0)] # [doc = "Set the validation upgrade cooldown."] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Set the validation upgrade delay."] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] # [doc = "Set the acceptance period for an included candidate."] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Set the max validation code size for incoming upgrades."] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Set the max POV block size for incoming upgrades."] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "Set the max head data size for paras."] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] # [doc = "Set the number of coretime execution cores."] # [doc = ""] # [doc = "NOTE: that this configuration is managed by the coretime chain. Only manually change"] # [doc = "this, if you really know what you are doing!"] set_coretime_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] # [doc = "Set the parachain validator-group rotation frequency"] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] # [doc = "Set the availability period for paras."] set_paras_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] # [doc = "Set the scheduling lookahead, in expected number of blocks at peak throughput."] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] # [doc = "Set the maximum number of validators to assign to any core."] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] # [doc = "Set the maximum number of validators to use in parachain consensus."] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Set the dispute period, in number of sessions to keep for disputes."] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] # [doc = "Set the dispute post conclusion acceptance period."] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] # [doc = "Set the no show slots, in number of number of consensus slots."] # [doc = "Must be at least 1."] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] # [doc = "Set the total number of delay tranches."] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] # [doc = "Set the zeroth delay tranche width."] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] # [doc = "Set the number of validators needed to approve a block."] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] # [doc = "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion."] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] # [doc = "Sets the maximum items that can present in a upward dispatch queue at once."] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] # [doc = "Sets the maximum total size of items that can present in a upward dispatch queue at"] # [doc = "once."] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] # [doc = "Set the critical downward message size."] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 27)] # [doc = "Sets the maximum size of an upward message that can be sent by a candidate."] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] # [doc = "Sets the maximum number of messages that a candidate can contain."] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] # [doc = "Sets the number of sessions after which an HRMP open channel request expires."] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] # [doc = "Sets the amount of funds that the sender should provide for opening an HRMP channel."] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] # [doc = "Sets the amount of funds that the recipient should provide for accepting opening an HRMP"] # [doc = "channel."] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] # [doc = "Sets the maximum number of messages allowed in an HRMP channel at once."] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] # [doc = "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once."] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] # [doc = "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept."] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] # [doc = "Sets the maximum size of a message that could ever be put into an HRMP channel."] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] # [doc = "Sets the maximum number of outbound HRMP channels a parachain is allowed to open."] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] # [doc = "Sets the maximum number of outbound HRMP messages can be sent by a candidate."] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 42)] # [doc = "Set the number of session changes after which a PVF pre-checking voting is rejected."] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] # [doc = "Sets the minimum delay between announcing the upgrade block for a parachain until the"] # [doc = "upgrade taking place."] # [doc = ""] # [doc = "See the field documentation for information and constraints for the new value."] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] # [doc = "Setting this to true will disable consistency checks for the configuration setters."] # [doc = "Use with caution."] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] # [doc = "Set the asynchronous backing parameters."] set_async_backing_params { new : runtime_types :: polkadot_primitives :: v8 :: async_backing :: AsyncBackingParams , } , # [codec (index = 46)] # [doc = "Set PVF executor parameters."] set_executor_params { new : runtime_types :: polkadot_primitives :: v8 :: executor_params :: ExecutorParams , } , # [codec (index = 47)] # [doc = "Set the on demand (parathreads) base fee."] set_on_demand_base_fee { new : :: core :: primitive :: u128 , } , # [codec (index = 48)] # [doc = "Set the on demand (parathreads) fee variability."] set_on_demand_fee_variability { new : runtime_types :: sp_arithmetic :: per_things :: Perbill , } , # [codec (index = 49)] # [doc = "Set the on demand (parathreads) queue max size."] set_on_demand_queue_max_size { new : :: core :: primitive :: u32 , } , # [codec (index = 50)] # [doc = "Set the on demand (parathreads) fee variability."] set_on_demand_target_queue_utilization { new : runtime_types :: sp_arithmetic :: per_things :: Perbill , } , # [codec (index = 52)] # [doc = "Set the minimum backing votes threshold."] set_minimum_backing_votes { new : :: core :: primitive :: u32 , } , # [codec (index = 53)] # [doc = "Set/Unset a node feature."] set_node_feature { index : :: core :: primitive :: u8 , value : :: core :: primitive :: bool , } , # [codec (index = 54)] # [doc = "Set approval-voting-params."] set_approval_voting_params { new : runtime_types :: polkadot_primitives :: v8 :: ApprovalVotingParams , } , # [codec (index = 55)] # [doc = "Set scheduler-params."] set_scheduler_params { new : runtime_types :: polkadot_primitives :: v8 :: SchedulerParams < :: core :: primitive :: u32 > , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -62935,6 +65026,7 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The new value for a configuration parameter is invalid."] InvalidNewValue, } @@ -63012,7 +65104,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Request the configuration to be updated with the specified number of cores. Warning:"] # [doc = "Since this only schedules a configuration update, it takes two sessions to come into"] # [doc = "effect."] # [doc = ""] # [doc = "- `origin`: Root or the Coretime Chain"] # [doc = "- `count`: total number of cores"] request_core_count { count : :: core :: primitive :: u16 , } , # [doc = "Request to claim the instantaneous coretime sales revenue starting from the block it was"] # [doc = "last claimed until and up to the block specified. The claimed amount value is sent back"] # [doc = "to the Coretime chain in a `notify_revenue` message. At the same time, the amount is"] # [doc = "teleported to the Coretime chain."] request_revenue_at { when : :: core :: primitive :: u32 , } , credit_account { who : :: subxt :: ext :: subxt_core :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [doc = "Receive instructions from the `ExternalBrokerOrigin`, detailing how a specific core is"] # [doc = "to be used."] # [doc = ""] # [doc = "Parameters:"] # [doc = "-`origin`: The `ExternalBrokerOrigin`, assumed to be the coretime chain."] # [doc = "-`core`: The core that should be scheduled."] # [doc = "-`begin`: The starting blockheight of the instruction."] # [doc = "-`assignment`: How the blockspace should be utilised."] # [doc = "-`end_hint`: An optional hint as to when this particular set of instructions will end."] assign_core { core : :: core :: primitive :: u16 , begin : :: core :: primitive :: u32 , assignment : :: subxt :: ext :: subxt_core :: alloc :: vec :: Vec < (runtime_types :: pallet_broker :: coretime_interface :: CoreAssignment , runtime_types :: polkadot_runtime_parachains :: assigner_coretime :: PartsOf57600 ,) > , end_hint : :: core :: option :: Option < :: core :: primitive :: u32 > , } , } + # [codec (index = 1)] # [doc = "Request the configuration to be updated with the specified number of cores. Warning:"] # [doc = "Since this only schedules a configuration update, it takes two sessions to come into"] # [doc = "effect."] # [doc = ""] # [doc = "- `origin`: Root or the Coretime Chain"] # [doc = "- `count`: total number of cores"] request_core_count { count : :: core :: primitive :: u16 , } , # [codec (index = 2)] # [doc = "Request to claim the instantaneous coretime sales revenue starting from the block it was"] # [doc = "last claimed until and up to the block specified. The claimed amount value is sent back"] # [doc = "to the Coretime chain in a `notify_revenue` message. At the same time, the amount is"] # [doc = "teleported to the Coretime chain."] request_revenue_at { when : :: core :: primitive :: u32 , } , # [codec (index = 3)] credit_account { who : :: subxt :: ext :: subxt_core :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 4)] # [doc = "Receive instructions from the `ExternalBrokerOrigin`, detailing how a specific core is"] # [doc = "to be used."] # [doc = ""] # [doc = "Parameters:"] # [doc = "-`origin`: The `ExternalBrokerOrigin`, assumed to be the coretime chain."] # [doc = "-`core`: The core that should be scheduled."] # [doc = "-`begin`: The starting blockheight of the instruction."] # [doc = "-`assignment`: How the blockspace should be utilised."] # [doc = "-`end_hint`: An optional hint as to when this particular set of instructions will end."] assign_core { core : :: core :: primitive :: u16 , begin : :: core :: primitive :: u32 , assignment : :: subxt :: ext :: subxt_core :: alloc :: vec :: Vec < (runtime_types :: pallet_broker :: coretime_interface :: CoreAssignment , runtime_types :: polkadot_runtime_parachains :: assigner_coretime :: PartsOf57600 ,) > , end_hint : :: core :: option :: Option < :: core :: primitive :: u32 > , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -63026,11 +65118,14 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The paraid making the call is not the coretime brokerage system parachain."] NotBroker, + #[codec(index = 1)] #[doc = "Requested revenue information `when` parameter was in the future from the current"] #[doc = "block height."] RequestedFutureRevenue, + #[codec(index = 2)] #[doc = "Failed to transfer assets to the coretime chain"] AssetTransferFailed, } @@ -63047,8 +65142,10 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "The broker chain has asked for revenue information for a specific block."] RevenueInfoRequested { when: ::core::primitive::u32 }, + #[codec(index = 1)] #[doc = "A core has received a new assignment from the broker chain."] CoreAssigned { core: runtime_types::polkadot_primitives::v8::CoreIndex, @@ -63073,6 +65170,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] force_unfreeze, } #[derive( @@ -63088,22 +65186,31 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Duplicate dispute statement sets provided."] DuplicateDisputeStatementSets, + #[codec(index = 1)] #[doc = "Ancient dispute statement provided."] AncientDisputeStatement, + #[codec(index = 2)] #[doc = "Validator index on statement is out of bounds for session."] ValidatorIndexOutOfBounds, + #[codec(index = 3)] #[doc = "Invalid signature on statement."] InvalidSignature, + #[codec(index = 4)] #[doc = "Validator vote submitted more than once to dispute."] DuplicateStatement, + #[codec(index = 5)] #[doc = "A dispute where there are only votes on one side."] SingleSidedDispute, + #[codec(index = 6)] #[doc = "A dispute vote from a malicious backer."] MaliciousBacker, + #[codec(index = 7)] #[doc = "No backing votes were provides along dispute statements."] MissingBackingVotes, + #[codec(index = 8)] #[doc = "Unconfirmed dispute statement sets provided."] UnconfirmedDispute, } @@ -63120,17 +65227,20 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A dispute has been initiated. \\[candidate hash, dispute location\\]"] DisputeInitiated( runtime_types::polkadot_core_primitives::CandidateHash, runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation, ), + #[codec(index = 1)] #[doc = "A dispute has concluded for or against a candidate."] #[doc = "`\\[para id, candidate hash, dispute result\\]`"] DisputeConcluded( runtime_types::polkadot_core_primitives::CandidateHash, runtime_types::polkadot_runtime_parachains::disputes::DisputeResult, ), + #[codec(index = 2)] #[doc = "A dispute has concluded with supermajority against a candidate."] #[doc = "Block authors should no longer build on top of this head and should"] #[doc = "instead revert the block at the given height. This should be the"] @@ -63155,9 +65265,10 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] report_dispute_lost_unsigned { dispute_proof: ::subxt::ext::subxt_core::alloc::boxed::Box< - runtime_types::polkadot_primitives::v8::slashing::DisputeProof, + runtime_types::polkadot_primitives::vstaging::DisputeProof, >, key_owner_proof: runtime_types::sp_session::MembershipProof, }, @@ -63175,17 +65286,23 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The key ownership proof is invalid."] InvalidKeyOwnershipProof, + #[codec(index = 1)] #[doc = "The session index is too old or invalid."] InvalidSessionIndex, + #[codec(index = 2)] #[doc = "The candidate hash is invalid."] InvalidCandidateHash, + #[codec(index = 3)] #[doc = "There is no pending slash for the given validator index and time"] #[doc = "slot."] InvalidValidatorIndex, + #[codec(index = 4)] #[doc = "The validator index does not match the validator id."] ValidatorIndexIdMismatch, + #[codec(index = 5)] #[doc = "The given slashing report is valid but already previously reported."] DuplicateSlashingReport, } @@ -63203,7 +65320,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum DisputeLocation { + #[codec(index = 0)] Local, + #[codec(index = 1)] Remote, } #[derive( @@ -63218,7 +65337,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum DisputeResult { + #[codec(index = 0)] Valid, + #[codec(index = 1)] Invalid, } } @@ -63239,7 +65360,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Initiate opening a channel from a parachain to a given recipient with given channel"] # [doc = "parameters."] # [doc = ""] # [doc = "- `proposed_max_capacity` - specifies how many messages can be in the channel at once."] # [doc = "- `proposed_max_message_size` - specifies the maximum size of the messages."] # [doc = ""] # [doc = "These numbers are a subject to the relay-chain configuration limits."] # [doc = ""] # [doc = "The channel can be opened only after the recipient confirms it and only on a session"] # [doc = "change."] hrmp_init_open_channel { recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [doc = "Accept a pending open channel request from the given sender."] # [doc = ""] # [doc = "The channel will be opened only on the next session boundary."] hrmp_accept_open_channel { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Initiate unilateral closing of a channel. The origin must be either the sender or the"] # [doc = "recipient in the channel being closed."] # [doc = ""] # [doc = "The closure can only happen on a session change."] hrmp_close_channel { channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , } , # [doc = "This extrinsic triggers the cleanup of all the HRMP storage items that a para may have."] # [doc = "Normally this happens once per session, but this allows you to trigger the cleanup"] # [doc = "immediately for a specific parachain."] # [doc = ""] # [doc = "Number of inbound and outbound channels for `para` must be provided as witness data."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_clean_hrmp { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , num_inbound : :: core :: primitive :: u32 , num_outbound : :: core :: primitive :: u32 , } , # [doc = "Force process HRMP open channel requests."] # [doc = ""] # [doc = "If there are pending HRMP open channel requests, you can use this function to process"] # [doc = "all of those requests immediately."] # [doc = ""] # [doc = "Total number of opening channels must be provided as witness data."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_process_hrmp_open { channels : :: core :: primitive :: u32 , } , # [doc = "Force process HRMP close channel requests."] # [doc = ""] # [doc = "If there are pending HRMP close channel requests, you can use this function to process"] # [doc = "all of those requests immediately."] # [doc = ""] # [doc = "Total number of closing channels must be provided as witness data."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_process_hrmp_close { channels : :: core :: primitive :: u32 , } , # [doc = "This cancels a pending open channel request. It can be canceled by either of the sender"] # [doc = "or the recipient for that request. The origin must be either of those."] # [doc = ""] # [doc = "The cancellation happens immediately. It is not possible to cancel the request if it is"] # [doc = "already accepted."] # [doc = ""] # [doc = "Total number of open requests (i.e. `HrmpOpenChannelRequestsList`) must be provided as"] # [doc = "witness data."] hrmp_cancel_open_request { channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , open_requests : :: core :: primitive :: u32 , } , # [doc = "Open a channel from a `sender` to a `recipient` `ParaId`. Although opened by governance,"] # [doc = "the `max_capacity` and `max_message_size` are still subject to the Relay Chain's"] # [doc = "configured limits."] # [doc = ""] # [doc = "Expected use is when one (and only one) of the `ParaId`s involved in the channel is"] # [doc = "governed by the system, e.g. a system parachain."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_open_hrmp_channel { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , max_capacity : :: core :: primitive :: u32 , max_message_size : :: core :: primitive :: u32 , } , # [doc = "Establish an HRMP channel between two system chains. If the channel does not already"] # [doc = "exist, the transaction fees will be refunded to the caller. The system does not take"] # [doc = "deposits for channels between system chains, and automatically sets the message number"] # [doc = "and size limits to the maximum allowed by the network's configuration."] # [doc = ""] # [doc = "Arguments:"] # [doc = ""] # [doc = "- `sender`: A system chain, `ParaId`."] # [doc = "- `recipient`: A system chain, `ParaId`."] # [doc = ""] # [doc = "Any signed origin can call this function, but _both_ inputs MUST be system chains. If"] # [doc = "the channel does not exist yet, there is no fee."] establish_system_channel { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Update the deposits held for an HRMP channel to the latest `Configuration`. Channels"] # [doc = "with system chains do not require a deposit."] # [doc = ""] # [doc = "Arguments:"] # [doc = ""] # [doc = "- `sender`: A chain, `ParaId`."] # [doc = "- `recipient`: A chain, `ParaId`."] # [doc = ""] # [doc = "Any signed origin can call this function."] poke_channel_deposits { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Establish a bidirectional HRMP channel between a parachain and a system chain."] # [doc = ""] # [doc = "Arguments:"] # [doc = ""] # [doc = "- `target_system_chain`: A system chain, `ParaId`."] # [doc = ""] # [doc = "The origin needs to be the parachain origin."] establish_channel_with_system { target_system_chain : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , } + # [codec (index = 0)] # [doc = "Initiate opening a channel from a parachain to a given recipient with given channel"] # [doc = "parameters."] # [doc = ""] # [doc = "- `proposed_max_capacity` - specifies how many messages can be in the channel at once."] # [doc = "- `proposed_max_message_size` - specifies the maximum size of the messages."] # [doc = ""] # [doc = "These numbers are a subject to the relay-chain configuration limits."] # [doc = ""] # [doc = "The channel can be opened only after the recipient confirms it and only on a session"] # [doc = "change."] hrmp_init_open_channel { recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Accept a pending open channel request from the given sender."] # [doc = ""] # [doc = "The channel will be opened only on the next session boundary."] hrmp_accept_open_channel { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 2)] # [doc = "Initiate unilateral closing of a channel. The origin must be either the sender or the"] # [doc = "recipient in the channel being closed."] # [doc = ""] # [doc = "The closure can only happen on a session change."] hrmp_close_channel { channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , } , # [codec (index = 3)] # [doc = "This extrinsic triggers the cleanup of all the HRMP storage items that a para may have."] # [doc = "Normally this happens once per session, but this allows you to trigger the cleanup"] # [doc = "immediately for a specific parachain."] # [doc = ""] # [doc = "Number of inbound and outbound channels for `para` must be provided as witness data."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_clean_hrmp { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , num_inbound : :: core :: primitive :: u32 , num_outbound : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Force process HRMP open channel requests."] # [doc = ""] # [doc = "If there are pending HRMP open channel requests, you can use this function to process"] # [doc = "all of those requests immediately."] # [doc = ""] # [doc = "Total number of opening channels must be provided as witness data."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_process_hrmp_open { channels : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "Force process HRMP close channel requests."] # [doc = ""] # [doc = "If there are pending HRMP close channel requests, you can use this function to process"] # [doc = "all of those requests immediately."] # [doc = ""] # [doc = "Total number of closing channels must be provided as witness data."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_process_hrmp_close { channels : :: core :: primitive :: u32 , } , # [codec (index = 6)] # [doc = "This cancels a pending open channel request. It can be canceled by either of the sender"] # [doc = "or the recipient for that request. The origin must be either of those."] # [doc = ""] # [doc = "The cancellation happens immediately. It is not possible to cancel the request if it is"] # [doc = "already accepted."] # [doc = ""] # [doc = "Total number of open requests (i.e. `HrmpOpenChannelRequestsList`) must be provided as"] # [doc = "witness data."] hrmp_cancel_open_request { channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , open_requests : :: core :: primitive :: u32 , } , # [codec (index = 7)] # [doc = "Open a channel from a `sender` to a `recipient` `ParaId`. Although opened by governance,"] # [doc = "the `max_capacity` and `max_message_size` are still subject to the Relay Chain's"] # [doc = "configured limits."] # [doc = ""] # [doc = "Expected use is when one (and only one) of the `ParaId`s involved in the channel is"] # [doc = "governed by the system, e.g. a system parachain."] # [doc = ""] # [doc = "Origin must be the `ChannelManager`."] force_open_hrmp_channel { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , max_capacity : :: core :: primitive :: u32 , max_message_size : :: core :: primitive :: u32 , } , # [codec (index = 8)] # [doc = "Establish an HRMP channel between two system chains. If the channel does not already"] # [doc = "exist, the transaction fees will be refunded to the caller. The system does not take"] # [doc = "deposits for channels between system chains, and automatically sets the message number"] # [doc = "and size limits to the maximum allowed by the network's configuration."] # [doc = ""] # [doc = "Arguments:"] # [doc = ""] # [doc = "- `sender`: A system chain, `ParaId`."] # [doc = "- `recipient`: A system chain, `ParaId`."] # [doc = ""] # [doc = "Any signed origin can call this function, but _both_ inputs MUST be system chains. If"] # [doc = "the channel does not exist yet, there is no fee."] establish_system_channel { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 9)] # [doc = "Update the deposits held for an HRMP channel to the latest `Configuration`. Channels"] # [doc = "with system chains do not require a deposit."] # [doc = ""] # [doc = "Arguments:"] # [doc = ""] # [doc = "- `sender`: A chain, `ParaId`."] # [doc = "- `recipient`: A chain, `ParaId`."] # [doc = ""] # [doc = "Any signed origin can call this function."] poke_channel_deposits { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 10)] # [doc = "Establish a bidirectional HRMP channel between a parachain and a system chain."] # [doc = ""] # [doc = "Arguments:"] # [doc = ""] # [doc = "- `target_system_chain`: A system chain, `ParaId`."] # [doc = ""] # [doc = "The origin needs to be the parachain origin."] establish_channel_with_system { target_system_chain : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -63253,44 +65374,64 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The sender tried to open a channel to themselves."] OpenHrmpChannelToSelf, + #[codec(index = 1)] #[doc = "The recipient is not a valid para."] OpenHrmpChannelInvalidRecipient, + #[codec(index = 2)] #[doc = "The requested capacity is zero."] OpenHrmpChannelZeroCapacity, + #[codec(index = 3)] #[doc = "The requested capacity exceeds the global limit."] OpenHrmpChannelCapacityExceedsLimit, + #[codec(index = 4)] #[doc = "The requested maximum message size is 0."] OpenHrmpChannelZeroMessageSize, + #[codec(index = 5)] #[doc = "The open request requested the message size that exceeds the global limit."] OpenHrmpChannelMessageSizeExceedsLimit, + #[codec(index = 6)] #[doc = "The channel already exists"] OpenHrmpChannelAlreadyExists, + #[codec(index = 7)] #[doc = "There is already a request to open the same channel."] OpenHrmpChannelAlreadyRequested, + #[codec(index = 8)] #[doc = "The sender already has the maximum number of allowed outbound channels."] OpenHrmpChannelLimitExceeded, + #[codec(index = 9)] #[doc = "The channel from the sender to the origin doesn't exist."] AcceptHrmpChannelDoesntExist, + #[codec(index = 10)] #[doc = "The channel is already confirmed."] AcceptHrmpChannelAlreadyConfirmed, + #[codec(index = 11)] #[doc = "The recipient already has the maximum number of allowed inbound channels."] AcceptHrmpChannelLimitExceeded, + #[codec(index = 12)] #[doc = "The origin tries to close a channel where it is neither the sender nor the recipient."] CloseHrmpChannelUnauthorized, + #[codec(index = 13)] #[doc = "The channel to be closed doesn't exist."] CloseHrmpChannelDoesntExist, + #[codec(index = 14)] #[doc = "The channel close request is already requested."] CloseHrmpChannelAlreadyUnderway, + #[codec(index = 15)] #[doc = "Canceling is requested by neither the sender nor recipient of the open channel request."] CancelHrmpOpenChannelUnauthorized, + #[codec(index = 16)] #[doc = "The open request doesn't exist."] OpenHrmpChannelDoesntExist, + #[codec(index = 17)] #[doc = "Cannot cancel an HRMP open channel request because it is already confirmed."] OpenHrmpChannelAlreadyConfirmed, + #[codec(index = 18)] #[doc = "The provided witness data is wrong."] WrongWitness, + #[codec(index = 19)] #[doc = "The channel between these two chains cannot be authorized."] ChannelCreationNotAuthorized, } @@ -63307,7 +65448,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { - # [doc = "Open HRMP channel requested."] OpenChannelRequested { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [doc = "An HRMP channel request sent by the receiver was canceled by either party."] OpenChannelCanceled { by_parachain : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , } , # [doc = "Open HRMP channel accepted."] OpenChannelAccepted { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "HRMP channel closed."] ChannelClosed { by_parachain : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , } , # [doc = "An HRMP channel was opened via Root origin."] HrmpChannelForceOpened { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [doc = "An HRMP channel was opened with a system chain."] HrmpSystemChannelOpened { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [doc = "An HRMP channel's deposits were updated."] OpenChannelDepositsUpdated { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , } + # [codec (index = 0)] # [doc = "Open HRMP channel requested."] OpenChannelRequested { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "An HRMP channel request sent by the receiver was canceled by either party."] OpenChannelCanceled { by_parachain : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , } , # [codec (index = 2)] # [doc = "Open HRMP channel accepted."] OpenChannelAccepted { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 3)] # [doc = "HRMP channel closed."] ChannelClosed { by_parachain : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , channel_id : runtime_types :: polkadot_parachain_primitives :: primitives :: HrmpChannelId , } , # [codec (index = 4)] # [doc = "An HRMP channel was opened via Root origin."] HrmpChannelForceOpened { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "An HRMP channel was opened with a system chain."] HrmpSystemChannelOpened { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , proposed_max_capacity : :: core :: primitive :: u32 , proposed_max_message_size : :: core :: primitive :: u32 , } , # [codec (index = 6)] # [doc = "An HRMP channel's deposits were updated."] OpenChannelDepositsUpdated { sender : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , recipient : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , } } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -63380,40 +65521,57 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Validator index out of bounds."] ValidatorIndexOutOfBounds, + #[codec(index = 1)] #[doc = "Candidate submitted but para not scheduled."] UnscheduledCandidate, + #[codec(index = 2)] #[doc = "Head data exceeds the configured maximum."] HeadDataTooLarge, + #[codec(index = 3)] #[doc = "Code upgrade prematurely."] PrematureCodeUpgrade, + #[codec(index = 4)] #[doc = "Output code is too large"] NewCodeTooLarge, + #[codec(index = 5)] #[doc = "The candidate's relay-parent was not allowed. Either it was"] #[doc = "not recent enough or it didn't advance based on the last parachain block."] DisallowedRelayParent, + #[codec(index = 6)] #[doc = "Failed to compute group index for the core: either it's out of bounds"] #[doc = "or the relay parent doesn't belong to the current session."] InvalidAssignment, + #[codec(index = 7)] #[doc = "Invalid group index in core assignment."] InvalidGroupIndex, + #[codec(index = 8)] #[doc = "Insufficient (non-majority) backing."] InsufficientBacking, + #[codec(index = 9)] #[doc = "Invalid (bad signature, unknown validator, etc.) backing."] InvalidBacking, + #[codec(index = 10)] #[doc = "The validation data hash does not match expected."] ValidationDataHashMismatch, + #[codec(index = 11)] #[doc = "The downward message queue is not processed correctly."] IncorrectDownwardMessageHandling, + #[codec(index = 12)] #[doc = "At least one upward message sent does not pass the acceptance criteria."] InvalidUpwardMessages, + #[codec(index = 13)] #[doc = "The candidate didn't follow the rules of HRMP watermark advancement."] HrmpWatermarkMishandling, + #[codec(index = 14)] #[doc = "The HRMP messages sent by the candidate is not valid."] InvalidOutboundHrmp, + #[codec(index = 15)] #[doc = "The validation code hash of the candidate is not valid."] InvalidValidationCodeHash, + #[codec(index = 16)] #[doc = "The `para_head` hash in the candidate descriptor doesn't match the hash of the actual"] #[doc = "para head in the commitments."] ParaHeadMismatch, @@ -63431,6 +65589,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "A candidate was backed. `[candidate, head_data]`"] CandidateBacked( runtime_types::polkadot_primitives::vstaging::CandidateReceiptV2< @@ -63440,6 +65599,7 @@ pub mod api { runtime_types::polkadot_primitives::v8::CoreIndex, runtime_types::polkadot_primitives::v8::GroupIndex, ), + #[codec(index = 1)] #[doc = "A candidate was included. `[candidate, head_data]`"] CandidateIncluded( runtime_types::polkadot_primitives::vstaging::CandidateReceiptV2< @@ -63449,6 +65609,7 @@ pub mod api { runtime_types::polkadot_primitives::v8::CoreIndex, runtime_types::polkadot_primitives::v8::GroupIndex, ), + #[codec(index = 2)] #[doc = "A candidate timed out. `[candidate, head_data]`"] CandidateTimedOut( runtime_types::polkadot_primitives::vstaging::CandidateReceiptV2< @@ -63457,6 +65618,7 @@ pub mod api { runtime_types::polkadot_parachain_primitives::primitives::HeadData, runtime_types::polkadot_primitives::v8::CoreIndex, ), + #[codec(index = 3)] #[doc = "Some upward messages have been received and will be processed."] UpwardMessagesReceived { from: runtime_types::polkadot_parachain_primitives::primitives::Id, @@ -63476,6 +65638,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AggregateMessageOrigin { + #[codec(index = 0)] Ump(runtime_types::polkadot_runtime_parachains::inclusion::UmpQueueId), } #[derive( @@ -63520,6 +65683,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum UmpQueueId { + #[codec(index = 0)] Para(runtime_types::polkadot_parachain_primitives::primitives::Id), } } @@ -63540,6 +65704,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Issue a signal to the consensus engine to forcibly act as though all parachain"] #[doc = "blocks in all relay chain blocks up to and including the given number in the current"] #[doc = "chain are valid and should be finalized."] @@ -63584,6 +65749,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Create a single on demand core order."] #[doc = "Will use the spot price for the current block and will reap the account if needed."] #[doc = ""] @@ -63603,6 +65769,7 @@ pub mod api { max_amount: ::core::primitive::u128, para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 1)] #[doc = "Same as the [`place_order_allow_death`](Self::place_order_allow_death) call , but with a"] #[doc = "check that placing the order will not reap the account."] #[doc = ""] @@ -63622,6 +65789,7 @@ pub mod api { max_amount: ::core::primitive::u128, para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, }, + #[codec(index = 2)] #[doc = "Create a single on demand core order with credits."] #[doc = "Will charge the owner's on-demand credit account the spot price for the current block."] #[doc = ""] @@ -63657,11 +65825,14 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "The order queue is full, `place_order` will not continue."] QueueFull, + #[codec(index = 1)] #[doc = "The current spot price is higher than the max amount specified in the `place_order`"] #[doc = "call, making it invalid."] SpotPriceHigherThanMaxAmount, + #[codec(index = 2)] #[doc = "The account doesn't have enough credits to purchase on-demand coretime."] InsufficientCredits, } @@ -63678,14 +65849,17 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "An order was placed at some spot price amount by orderer ordered_by"] OnDemandOrderPlaced { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, spot_price: ::core::primitive::u128, ordered_by: ::subxt::ext::subxt_core::utils::AccountId32, }, + #[codec(index = 1)] #[doc = "The value of the spot price has likely changed"] SpotPriceSet { spot_price: ::core::primitive::u128 }, + #[codec(index = 2)] #[doc = "An account was given credits."] AccountCredited { who: ::subxt::ext::subxt_core::utils::AccountId32, @@ -63776,6 +65950,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Origin { + #[codec(index = 0)] Parachain(runtime_types::polkadot_parachain_primitives::primitives::Id), } } @@ -63797,7 +65972,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [doc = "Set the storage for the parachain validation code immediately."] force_set_current_code { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [doc = "Set the storage for the current parachain head data immediately."] force_set_current_head { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , } , # [doc = "Schedule an upgrade as if it was scheduled in the given relay parent block."] force_schedule_code_upgrade { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , relay_parent_number : :: core :: primitive :: u32 , } , # [doc = "Note a new block head for para within the context of the current block."] force_note_new_head { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , } , # [doc = "Put a parachain directly into the next session's action queue."] # [doc = "We can't queue it any sooner than this without going into the"] # [doc = "initializer..."] force_queue_action { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [doc = "Adds the validation code to the storage."] # [doc = ""] # [doc = "The code will not be added if it is already present. Additionally, if PVF pre-checking"] # [doc = "is running for that code, it will be instantly accepted."] # [doc = ""] # [doc = "Otherwise, the code will be added into the storage. Note that the code will be added"] # [doc = "into storage with reference count 0. This is to account the fact that there are no users"] # [doc = "for this code yet. The caller will have to make sure that this code eventually gets"] # [doc = "used by some parachain or removed from the storage to avoid storage leaks. For the"] # [doc = "latter prefer to use the `poke_unused_validation_code` dispatchable to raw storage"] # [doc = "manipulation."] # [doc = ""] # [doc = "This function is mainly meant to be used for upgrading parachains that do not follow"] # [doc = "the go-ahead signal while the PVF pre-checking feature is enabled."] add_trusted_validation_code { validation_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [doc = "Remove the validation code from the storage iff the reference count is 0."] # [doc = ""] # [doc = "This is better than removing the storage directly, because it will not remove the code"] # [doc = "that was suddenly got used by some parachain while this dispatchable was pending"] # [doc = "dispatching."] poke_unused_validation_code { validation_code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , } , # [doc = "Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and"] # [doc = "enacts the results if that was the last vote before achieving the supermajority."] include_pvf_check_statement { stmt : runtime_types :: polkadot_primitives :: v8 :: PvfCheckStatement , signature : runtime_types :: polkadot_primitives :: v8 :: validator_app :: Signature , } , # [doc = "Set the storage for the current parachain head data immediately."] force_set_most_recent_context { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , context : :: core :: primitive :: u32 , } , } + # [codec (index = 0)] # [doc = "Set the storage for the parachain validation code immediately."] force_set_current_code { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [codec (index = 1)] # [doc = "Set the storage for the current parachain head data immediately."] force_set_current_head { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , } , # [codec (index = 2)] # [doc = "Schedule an upgrade as if it was scheduled in the given relay parent block."] force_schedule_code_upgrade { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , relay_parent_number : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Note a new block head for para within the context of the current block."] force_note_new_head { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_head : runtime_types :: polkadot_parachain_primitives :: primitives :: HeadData , } , # [codec (index = 4)] # [doc = "Put a parachain directly into the next session's action queue."] # [doc = "We can't queue it any sooner than this without going into the"] # [doc = "initializer..."] force_queue_action { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 5)] # [doc = "Adds the validation code to the storage."] # [doc = ""] # [doc = "The code will not be added if it is already present. Additionally, if PVF pre-checking"] # [doc = "is running for that code, it will be instantly accepted."] # [doc = ""] # [doc = "Otherwise, the code will be added into the storage. Note that the code will be added"] # [doc = "into storage with reference count 0. This is to account the fact that there are no users"] # [doc = "for this code yet. The caller will have to make sure that this code eventually gets"] # [doc = "used by some parachain or removed from the storage to avoid storage leaks. For the"] # [doc = "latter prefer to use the `poke_unused_validation_code` dispatchable to raw storage"] # [doc = "manipulation."] # [doc = ""] # [doc = "This function is mainly meant to be used for upgrading parachains that do not follow"] # [doc = "the go-ahead signal while the PVF pre-checking feature is enabled."] add_trusted_validation_code { validation_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , # [codec (index = 6)] # [doc = "Remove the validation code from the storage iff the reference count is 0."] # [doc = ""] # [doc = "This is better than removing the storage directly, because it will not remove the code"] # [doc = "that was suddenly got used by some parachain while this dispatchable was pending"] # [doc = "dispatching."] poke_unused_validation_code { validation_code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , } , # [codec (index = 7)] # [doc = "Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and"] # [doc = "enacts the results if that was the last vote before achieving the supermajority."] include_pvf_check_statement { stmt : runtime_types :: polkadot_primitives :: v8 :: PvfCheckStatement , signature : runtime_types :: polkadot_primitives :: v8 :: validator_app :: Signature , } , # [codec (index = 8)] # [doc = "Set the storage for the current parachain head data immediately."] force_set_most_recent_context { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , context : :: core :: primitive :: u32 , } , # [codec (index = 9)] # [doc = "Remove an upgrade cooldown for a parachain."] # [doc = ""] # [doc = "The cost for removing the cooldown earlier depends on the time left for the cooldown"] # [doc = "multiplied by [`Config::CooldownRemovalMultiplier`]. The paid tokens are burned."] remove_upgrade_cooldown { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 10)] # [doc = "Sets the storage for the authorized current code hash of the parachain."] # [doc = "If not applied, it will be removed at the `System::block_number() + valid_period` block."] # [doc = ""] # [doc = "This can be useful, when triggering `Paras::force_set_current_code(para, code)`"] # [doc = "from a different chain than the one where the `Paras` pallet is deployed."] # [doc = ""] # [doc = "The main purpose is to avoid transferring the entire `code` Wasm blob between chains."] # [doc = "Instead, we authorize `code_hash` with `root`, which can later be applied by"] # [doc = "`Paras::apply_authorized_force_set_current_code(para, code)` by anyone."] # [doc = ""] # [doc = "Authorizations are stored in an **overwriting manner**."] authorize_force_set_current_code_hash { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , valid_period : :: core :: primitive :: u32 , } , # [codec (index = 11)] # [doc = "Applies the already authorized current code for the parachain,"] # [doc = "triggering the same functionality as `force_set_current_code`."] apply_authorized_force_set_current_code { para : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , new_code : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCode , } , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -63811,32 +65986,54 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Para is not registered in our system."] NotRegistered, + #[codec(index = 1)] #[doc = "Para cannot be onboarded because it is already tracked by our system."] CannotOnboard, + #[codec(index = 2)] #[doc = "Para cannot be offboarded at this time."] CannotOffboard, + #[codec(index = 3)] #[doc = "Para cannot be upgraded to a lease holding parachain."] CannotUpgrade, + #[codec(index = 4)] #[doc = "Para cannot be downgraded to an on-demand parachain."] CannotDowngrade, + #[codec(index = 5)] #[doc = "The statement for PVF pre-checking is stale."] PvfCheckStatementStale, + #[codec(index = 6)] #[doc = "The statement for PVF pre-checking is for a future session."] PvfCheckStatementFuture, + #[codec(index = 7)] #[doc = "Claimed validator index is out of bounds."] PvfCheckValidatorIndexOutOfBounds, + #[codec(index = 8)] #[doc = "The signature for the PVF pre-checking is invalid."] PvfCheckInvalidSignature, + #[codec(index = 9)] #[doc = "The given validator already has cast a vote."] PvfCheckDoubleVote, + #[codec(index = 10)] #[doc = "The given PVF does not exist at the moment of process a vote."] PvfCheckSubjectInvalid, + #[codec(index = 11)] #[doc = "Parachain cannot currently schedule a code upgrade."] CannotUpgradeCode, + #[codec(index = 12)] #[doc = "Invalid validation code size."] InvalidCode, + #[codec(index = 13)] + #[doc = "No upgrade authorized."] + NothingAuthorized, + #[codec(index = 14)] + #[doc = "The submitted code is not authorized."] + Unauthorized, + #[codec(index = 15)] + #[doc = "Invalid block number."] + InvalidBlockNumber, } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -63851,7 +66048,7 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { - # [doc = "Current code has been updated for a Para. `para_id`"] CurrentCodeUpdated (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [doc = "Current head has been updated for a Para. `para_id`"] CurrentHeadUpdated (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [doc = "A code upgrade has been scheduled for a Para. `para_id`"] CodeUpgradeScheduled (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [doc = "A new head has been noted for a Para. `para_id`"] NewHeadNoted (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [doc = "A para has been queued to execute pending actions. `para_id`"] ActionQueued (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , :: core :: primitive :: u32 ,) , # [doc = "The given para either initiated or subscribed to a PVF check for the given validation"] # [doc = "code. `code_hash` `para_id`"] PvfCheckStarted (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [doc = "The given validation code was accepted by the PVF pre-checking vote."] # [doc = "`code_hash` `para_id`"] PvfCheckAccepted (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [doc = "The given validation code was rejected by the PVF pre-checking vote."] # [doc = "`code_hash` `para_id`"] PvfCheckRejected (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , } + # [codec (index = 0)] # [doc = "Current code has been updated for a Para. `para_id`"] CurrentCodeUpdated (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 1)] # [doc = "Current head has been updated for a Para. `para_id`"] CurrentHeadUpdated (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 2)] # [doc = "A code upgrade has been scheduled for a Para. `para_id`"] CodeUpgradeScheduled (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 3)] # [doc = "A new head has been noted for a Para. `para_id`"] NewHeadNoted (runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 4)] # [doc = "A para has been queued to execute pending actions. `para_id`"] ActionQueued (runtime_types :: polkadot_parachain_primitives :: primitives :: Id , :: core :: primitive :: u32 ,) , # [codec (index = 5)] # [doc = "The given para either initiated or subscribed to a PVF check for the given validation"] # [doc = "code. `code_hash` `para_id`"] PvfCheckStarted (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 6)] # [doc = "The given validation code was accepted by the PVF pre-checking vote."] # [doc = "`code_hash` `para_id`"] PvfCheckAccepted (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 7)] # [doc = "The given validation code was rejected by the PVF pre-checking vote."] # [doc = "`code_hash` `para_id`"] PvfCheckRejected (runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , runtime_types :: polkadot_parachain_primitives :: primitives :: Id ,) , # [codec (index = 8)] # [doc = "The upgrade cooldown was removed."] UpgradeCooldownRemoved { para_id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , } , # [codec (index = 9)] # [doc = "A new code hash has been authorized for a Para."] CodeAuthorized { para_id : runtime_types :: polkadot_parachain_primitives :: primitives :: Id , code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , expire_at : :: core :: primitive :: u32 , } , } } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, @@ -63864,6 +66061,18 @@ pub mod api { #[encode_as_type( crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] + pub struct AuthorizedCodeHashAndExpiry < _0 > { pub code_hash : runtime_types :: polkadot_parachain_primitives :: primitives :: ValidationCodeHash , pub expire_at : _0 , } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] pub struct ParaGenesisArgs { pub genesis_head: runtime_types::polkadot_parachain_primitives::primitives::HeadData, @@ -63883,12 +66092,19 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ParaLifecycle { + #[codec(index = 0)] Onboarding, + #[codec(index = 1)] Parathread, + #[codec(index = 2)] Parachain, + #[codec(index = 3)] UpgradingParathread, + #[codec(index = 4)] DowngradingParachain, + #[codec(index = 5)] OffboardingParathread, + #[codec(index = 6)] OffboardingParachain, } #[derive( @@ -63946,7 +66162,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum PvfCheckCause<_0> { + #[codec(index = 0)] Onboarding(runtime_types::polkadot_parachain_primitives::primitives::Id), + #[codec(index = 1)] Upgrade { id: runtime_types::polkadot_parachain_primitives::primitives::Id, included_at: _0, @@ -63981,7 +66199,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum UpgradeStrategy { + #[codec(index = 0)] SetGoAheadSignal, + #[codec(index = 1)] ApplyAtExpectedBlock, } } @@ -64002,6 +66222,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Enter the paras inherent. This will process bitfields and backed candidates."] enter { data: runtime_types::polkadot_primitives::vstaging::InherentData< @@ -64024,14 +66245,18 @@ pub mod api { )] #[doc = "The `Error` enum of this pallet."] pub enum Error { + #[codec(index = 0)] #[doc = "Inclusion inherent called more than once per block."] TooManyInclusionInherents, + #[codec(index = 1)] #[doc = "The hash of the submitted parent header doesn't correspond to the saved block hash of"] #[doc = "the parent."] InvalidParentHeader, + #[codec(index = 2)] #[doc = "Inherent data was filtered during execution. This should have only been done"] #[doc = "during creation."] InherentDataFilteredDuringExecution, + #[codec(index = 3)] #[doc = "Too many candidates supplied."] UnscheduledCandidate, } @@ -64053,10 +66278,12 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Assignment { + #[codec(index = 0)] Pool { para_id: runtime_types::polkadot_parachain_primitives::primitives::Id, core_index: runtime_types::polkadot_primitives::v8::CoreIndex, }, + #[codec(index = 1)] Bulk(runtime_types::polkadot_parachain_primitives::primitives::Id), } } @@ -64152,12 +66379,14 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Parameters { + #[codec(index = 0)] Target( runtime_types::rococo_runtime::dynamic_params::nis::Target, ::core::option::Option< runtime_types::sp_arithmetic::per_things::Perquintill, >, ), + #[codec(index = 1)] MinBid( runtime_types::rococo_runtime::dynamic_params::nis::MinBid, ::core::option::Option<::core::primitive::u128>, @@ -64175,7 +66404,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ParametersKey { + #[codec(index = 0)] Target(runtime_types::rococo_runtime::dynamic_params::nis::Target), + #[codec(index = 1)] MinBid(runtime_types::rococo_runtime::dynamic_params::nis::MinBid), } #[derive( @@ -64190,7 +66421,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ParametersValue { + #[codec(index = 0)] Target(runtime_types::sp_arithmetic::per_things::Perquintill), + #[codec(index = 1)] MinBid(::core::primitive::u128), } #[derive( @@ -64244,10 +66477,12 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Parameters { + #[codec(index = 0)] BaseDeposit( runtime_types::rococo_runtime::dynamic_params::preimage::BaseDeposit, ::core::option::Option<::core::primitive::u128>, ), + #[codec(index = 1)] ByteDeposit( runtime_types::rococo_runtime::dynamic_params::preimage::ByteDeposit, ::core::option::Option<::core::primitive::u128>, @@ -64265,9 +66500,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ParametersKey { + #[codec(index = 0)] BaseDeposit( runtime_types::rococo_runtime::dynamic_params::preimage::BaseDeposit, ), + #[codec(index = 1)] ByteDeposit( runtime_types::rococo_runtime::dynamic_params::preimage::ByteDeposit, ), @@ -64284,7 +66521,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum ParametersValue { + #[codec(index = 0)] BaseDeposit(::core::primitive::u128), + #[codec(index = 1)] ByteDeposit(::core::primitive::u128), } } @@ -64307,32 +66546,59 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Origin { + #[codec(index = 0)] StakingAdmin, + #[codec(index = 1)] Treasurer, + #[codec(index = 2)] FellowshipAdmin, + #[codec(index = 3)] GeneralAdmin, + #[codec(index = 4)] AuctionAdmin, + #[codec(index = 5)] LeaseAdmin, + #[codec(index = 6)] ReferendumCanceller, + #[codec(index = 7)] ReferendumKiller, + #[codec(index = 8)] SmallTipper, + #[codec(index = 9)] BigTipper, + #[codec(index = 10)] SmallSpender, + #[codec(index = 11)] MediumSpender, + #[codec(index = 12)] BigSpender, + #[codec(index = 13)] WhitelistedCaller, + #[codec(index = 14)] FellowshipInitiates, + #[codec(index = 15)] Fellows, + #[codec(index = 16)] FellowshipExperts, + #[codec(index = 17)] FellowshipMasters, + #[codec(index = 18)] Fellowship1Dan, + #[codec(index = 19)] Fellowship2Dan, + #[codec(index = 20)] Fellowship3Dan, + #[codec(index = 21)] Fellowship4Dan, + #[codec(index = 22)] Fellowship5Dan, + #[codec(index = 23)] Fellowship6Dan, + #[codec(index = 24)] Fellowship7Dan, + #[codec(index = 25)] Fellowship8Dan, + #[codec(index = 26)] Fellowship9Dan, } } @@ -64355,6 +66621,7 @@ pub mod api { )] #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { + #[codec(index = 0)] #[doc = "Add new validators to the set."] #[doc = ""] #[doc = "The new validators will be active from current session + 2."] @@ -64363,6 +66630,7 @@ pub mod api { ::subxt::ext::subxt_core::utils::AccountId32, >, }, + #[codec(index = 1)] #[doc = "Remove validators from the set."] #[doc = ""] #[doc = "The removed validators will be deactivated from current session + 2."] @@ -64385,12 +66653,14 @@ pub mod api { )] #[doc = "The `Event` enum of this pallet"] pub enum Event { + #[codec(index = 0)] #[doc = "New validators were added to the set."] ValidatorsRegistered( ::subxt::ext::subxt_core::alloc::vec::Vec< ::subxt::ext::subxt_core::utils::AccountId32, >, ), + #[codec(index = 1)] #[doc = "Validators were removed from the set."] ValidatorsDeregistered( ::subxt::ext::subxt_core::alloc::vec::Vec< @@ -64408,7 +66678,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum OriginCaller { - system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: subxt :: ext :: subxt_core :: utils :: AccountId32 > ,) , Origins (runtime_types :: rococo_runtime :: governance :: origins :: pallet_custom_origins :: Origin ,) , ParachainsOrigin (runtime_types :: polkadot_runtime_parachains :: origin :: pallet :: Origin ,) , XcmPallet (runtime_types :: pallet_xcm :: pallet :: Origin ,) , } + # [codec (index = 0)] system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: subxt :: ext :: subxt_core :: utils :: AccountId32 > ,) , # [codec (index = 43)] Origins (runtime_types :: rococo_runtime :: governance :: origins :: pallet_custom_origins :: Origin ,) , # [codec (index = 50)] ParachainsOrigin (runtime_types :: polkadot_runtime_parachains :: origin :: pallet :: Origin ,) , # [codec (index = 99)] XcmPallet (runtime_types :: pallet_xcm :: pallet :: Origin ,) , } #[derive( :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, @@ -64417,13 +66687,21 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum ProxyType { + #[codec(index = 0)] Any, + #[codec(index = 1)] NonTransfer, + #[codec(index = 2)] Governance, + #[codec(index = 3)] IdentityJudgement, + #[codec(index = 4)] CancelProxy, + #[codec(index = 5)] Auction, + #[codec(index = 6)] Society, + #[codec(index = 7)] OnDemandOrdering, } #[derive( @@ -64442,72 +66720,127 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeCall { + #[codec(index = 0)] System(runtime_types::frame_system::pallet::Call), + #[codec(index = 1)] Babe(runtime_types::pallet_babe::pallet::Call), + #[codec(index = 2)] Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 3)] Indices(runtime_types::pallet_indices::pallet::Call), + #[codec(index = 4)] Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 6)] Parameters(runtime_types::pallet_parameters::pallet::Call), + #[codec(index = 8)] Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 10)] Grandpa(runtime_types::pallet_grandpa::pallet::Call), + #[codec(index = 18)] Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 20)] ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call), + #[codec(index = 21)] Referenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 22)] FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Call), + #[codec(index = 23)] FellowshipReferenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 44)] Whitelist(runtime_types::pallet_whitelist::pallet::Call), + #[codec(index = 19)] Claims(runtime_types::polkadot_runtime_common::claims::pallet::Call), + #[codec(index = 24)] Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 25)] Identity(runtime_types::pallet_identity::pallet::Call), + #[codec(index = 26)] Society(runtime_types::pallet_society::pallet::Call), + #[codec(index = 27)] Recovery(runtime_types::pallet_recovery::pallet::Call), + #[codec(index = 28)] Vesting(runtime_types::pallet_vesting::pallet::Call), + #[codec(index = 29)] Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 30)] Proxy(runtime_types::pallet_proxy::pallet::Call), + #[codec(index = 31)] Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 32)] Preimage(runtime_types::pallet_preimage::pallet::Call), + #[codec(index = 39)] AssetRate(runtime_types::pallet_asset_rate::pallet::Call), + #[codec(index = 35)] Bounties(runtime_types::pallet_bounties::pallet::Call), + #[codec(index = 40)] ChildBounties(runtime_types::pallet_child_bounties::pallet::Call), + #[codec(index = 38)] Nis(runtime_types::pallet_nis::pallet::Call), + #[codec(index = 45)] NisCounterpartBalances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 51)] Configuration( runtime_types::polkadot_runtime_parachains::configuration::pallet::Call, ), + #[codec(index = 52)] ParasShared(runtime_types::polkadot_runtime_parachains::shared::pallet::Call), + #[codec(index = 53)] ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call), + #[codec(index = 54)] ParaInherent( runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call, ), + #[codec(index = 56)] Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Call), + #[codec(index = 57)] Initializer(runtime_types::polkadot_runtime_parachains::initializer::pallet::Call), + #[codec(index = 60)] Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call), + #[codec(index = 62)] ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Call), + #[codec(index = 63)] ParasSlashing( runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call, ), + #[codec(index = 64)] MessageQueue(runtime_types::pallet_message_queue::pallet::Call), + #[codec(index = 66)] OnDemandAssignmentProvider( runtime_types::polkadot_runtime_parachains::on_demand::pallet::Call, ), + #[codec(index = 70)] Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call), + #[codec(index = 71)] Slots(runtime_types::polkadot_runtime_common::slots::pallet::Call), + #[codec(index = 72)] Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Call), + #[codec(index = 73)] Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Call), + #[codec(index = 74)] Coretime(runtime_types::polkadot_runtime_parachains::coretime::pallet::Call), + #[codec(index = 98)] MultiBlockMigrations(runtime_types::pallet_migrations::pallet::Call), + #[codec(index = 99)] XcmPallet(runtime_types::pallet_xcm::pallet::Call), + #[codec(index = 240)] Beefy(runtime_types::pallet_beefy::pallet::Call), + #[codec(index = 248)] IdentityMigrator( runtime_types::polkadot_runtime_common::identity_migrator::pallet::Call, ), + #[codec(index = 250)] ParasSudoWrapper( runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Call, ), + #[codec(index = 251)] AssignedSlots(runtime_types::polkadot_runtime_common::assigned_slots::pallet::Call), + #[codec(index = 252)] ValidatorManager(runtime_types::rococo_runtime::validator_manager::pallet::Call), + #[codec(index = 254)] StateTrieMigration(runtime_types::pallet_state_trie_migration::pallet::Call), + #[codec(index = 249)] RootTesting(runtime_types::pallet_root_testing::pallet::Call), + #[codec(index = 255)] Sudo(runtime_types::pallet_sudo::pallet::Call), } #[derive( @@ -64518,68 +66851,117 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeError { + #[codec(index = 0)] System(runtime_types::frame_system::pallet::Error), + #[codec(index = 1)] Babe(runtime_types::pallet_babe::pallet::Error), + #[codec(index = 3)] Indices(runtime_types::pallet_indices::pallet::Error), + #[codec(index = 4)] Balances(runtime_types::pallet_balances::pallet::Error), + #[codec(index = 8)] Session(runtime_types::pallet_session::pallet::Error), + #[codec(index = 10)] Grandpa(runtime_types::pallet_grandpa::pallet::Error), + #[codec(index = 18)] Treasury(runtime_types::pallet_treasury::pallet::Error), + #[codec(index = 20)] ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error), + #[codec(index = 21)] Referenda(runtime_types::pallet_referenda::pallet::Error), + #[codec(index = 22)] FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Error), + #[codec(index = 23)] FellowshipReferenda(runtime_types::pallet_referenda::pallet::Error), + #[codec(index = 44)] Whitelist(runtime_types::pallet_whitelist::pallet::Error), + #[codec(index = 19)] Claims(runtime_types::polkadot_runtime_common::claims::pallet::Error), + #[codec(index = 24)] Utility(runtime_types::pallet_utility::pallet::Error), + #[codec(index = 25)] Identity(runtime_types::pallet_identity::pallet::Error), + #[codec(index = 26)] Society(runtime_types::pallet_society::pallet::Error), + #[codec(index = 27)] Recovery(runtime_types::pallet_recovery::pallet::Error), + #[codec(index = 28)] Vesting(runtime_types::pallet_vesting::pallet::Error), + #[codec(index = 29)] Scheduler(runtime_types::pallet_scheduler::pallet::Error), + #[codec(index = 30)] Proxy(runtime_types::pallet_proxy::pallet::Error), + #[codec(index = 31)] Multisig(runtime_types::pallet_multisig::pallet::Error), + #[codec(index = 32)] Preimage(runtime_types::pallet_preimage::pallet::Error), + #[codec(index = 39)] AssetRate(runtime_types::pallet_asset_rate::pallet::Error), + #[codec(index = 35)] Bounties(runtime_types::pallet_bounties::pallet::Error), + #[codec(index = 40)] ChildBounties(runtime_types::pallet_child_bounties::pallet::Error), + #[codec(index = 38)] Nis(runtime_types::pallet_nis::pallet::Error), + #[codec(index = 45)] NisCounterpartBalances(runtime_types::pallet_balances::pallet::Error), + #[codec(index = 51)] Configuration( runtime_types::polkadot_runtime_parachains::configuration::pallet::Error, ), + #[codec(index = 53)] ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Error), + #[codec(index = 54)] ParaInherent( runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Error, ), + #[codec(index = 56)] Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Error), + #[codec(index = 60)] Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Error), + #[codec(index = 62)] ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Error), + #[codec(index = 63)] ParasSlashing( runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Error, ), + #[codec(index = 64)] MessageQueue(runtime_types::pallet_message_queue::pallet::Error), + #[codec(index = 66)] OnDemandAssignmentProvider( runtime_types::polkadot_runtime_parachains::on_demand::pallet::Error, ), + #[codec(index = 68)] CoretimeAssignmentProvider( runtime_types::polkadot_runtime_parachains::assigner_coretime::pallet::Error, ), + #[codec(index = 70)] Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Error), + #[codec(index = 71)] Slots(runtime_types::polkadot_runtime_common::slots::pallet::Error), + #[codec(index = 72)] Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Error), + #[codec(index = 73)] Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Error), + #[codec(index = 74)] Coretime(runtime_types::polkadot_runtime_parachains::coretime::pallet::Error), + #[codec(index = 98)] MultiBlockMigrations(runtime_types::pallet_migrations::pallet::Error), + #[codec(index = 99)] XcmPallet(runtime_types::pallet_xcm::pallet::Error), + #[codec(index = 240)] Beefy(runtime_types::pallet_beefy::pallet::Error), + #[codec(index = 250)] ParasSudoWrapper( runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Error, ), + #[codec(index = 251)] AssignedSlots( runtime_types::polkadot_runtime_common::assigned_slots::pallet::Error, ), + #[codec(index = 254)] StateTrieMigration(runtime_types::pallet_state_trie_migration::pallet::Error), + #[codec(index = 255)] Sudo(runtime_types::pallet_sudo::pallet::Error), } #[derive( @@ -64590,59 +66972,109 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeEvent { + #[codec(index = 0)] System(runtime_types::frame_system::pallet::Event), + #[codec(index = 3)] Indices(runtime_types::pallet_indices::pallet::Event), + #[codec(index = 4)] Balances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 6)] Parameters(runtime_types::pallet_parameters::pallet::Event), + #[codec(index = 33)] TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), + #[codec(index = 7)] Offences(runtime_types::pallet_offences::pallet::Event), + #[codec(index = 34)] + Historical(runtime_types::pallet_session::historical::pallet::Event), + #[codec(index = 8)] Session(runtime_types::pallet_session::pallet::Event), + #[codec(index = 10)] Grandpa(runtime_types::pallet_grandpa::pallet::Event), + #[codec(index = 18)] Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 20)] ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event), + #[codec(index = 21)] Referenda(runtime_types::pallet_referenda::pallet::Event1), + #[codec(index = 22)] FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Event), + #[codec(index = 23)] FellowshipReferenda(runtime_types::pallet_referenda::pallet::Event2), + #[codec(index = 44)] Whitelist(runtime_types::pallet_whitelist::pallet::Event), + #[codec(index = 19)] Claims(runtime_types::polkadot_runtime_common::claims::pallet::Event), + #[codec(index = 24)] Utility(runtime_types::pallet_utility::pallet::Event), + #[codec(index = 25)] Identity(runtime_types::pallet_identity::pallet::Event), + #[codec(index = 26)] Society(runtime_types::pallet_society::pallet::Event), + #[codec(index = 27)] Recovery(runtime_types::pallet_recovery::pallet::Event), + #[codec(index = 28)] Vesting(runtime_types::pallet_vesting::pallet::Event), + #[codec(index = 29)] Scheduler(runtime_types::pallet_scheduler::pallet::Event), + #[codec(index = 30)] Proxy(runtime_types::pallet_proxy::pallet::Event), + #[codec(index = 31)] Multisig(runtime_types::pallet_multisig::pallet::Event), + #[codec(index = 32)] Preimage(runtime_types::pallet_preimage::pallet::Event), + #[codec(index = 39)] AssetRate(runtime_types::pallet_asset_rate::pallet::Event), + #[codec(index = 35)] Bounties(runtime_types::pallet_bounties::pallet::Event), + #[codec(index = 40)] ChildBounties(runtime_types::pallet_child_bounties::pallet::Event), + #[codec(index = 38)] Nis(runtime_types::pallet_nis::pallet::Event), + #[codec(index = 45)] NisCounterpartBalances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 53)] ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event), + #[codec(index = 56)] Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Event), + #[codec(index = 60)] Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event), + #[codec(index = 62)] ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Event), + #[codec(index = 64)] MessageQueue(runtime_types::pallet_message_queue::pallet::Event), + #[codec(index = 66)] OnDemandAssignmentProvider( runtime_types::polkadot_runtime_parachains::on_demand::pallet::Event, ), + #[codec(index = 70)] Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event), + #[codec(index = 71)] Slots(runtime_types::polkadot_runtime_common::slots::pallet::Event), + #[codec(index = 72)] Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Event), + #[codec(index = 73)] Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Event), + #[codec(index = 74)] Coretime(runtime_types::polkadot_runtime_parachains::coretime::pallet::Event), + #[codec(index = 98)] MultiBlockMigrations(runtime_types::pallet_migrations::pallet::Event), + #[codec(index = 99)] XcmPallet(runtime_types::pallet_xcm::pallet::Event), + #[codec(index = 248)] IdentityMigrator( runtime_types::polkadot_runtime_common::identity_migrator::pallet::Event, ), + #[codec(index = 251)] AssignedSlots( runtime_types::polkadot_runtime_common::assigned_slots::pallet::Event, ), + #[codec(index = 252)] ValidatorManager(runtime_types::rococo_runtime::validator_manager::pallet::Event), + #[codec(index = 254)] StateTrieMigration(runtime_types::pallet_state_trie_migration::pallet::Event), + #[codec(index = 249)] RootTesting(runtime_types::pallet_root_testing::pallet::Event), + #[codec(index = 255)] Sudo(runtime_types::pallet_sudo::pallet::Event), } #[derive( @@ -64653,9 +67085,15 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeHoldReason { + #[codec(index = 8)] + Session(runtime_types::pallet_session::pallet::HoldReason), + #[codec(index = 32)] Preimage(runtime_types::pallet_preimage::pallet::HoldReason), + #[codec(index = 38)] Nis(runtime_types::pallet_nis::pallet::HoldReason), + #[codec(index = 99)] XcmPallet(runtime_types::pallet_xcm::pallet::HoldReason), + #[codec(index = 254)] StateTrieMigration(runtime_types::pallet_state_trie_migration::pallet::HoldReason), } #[derive( @@ -64666,7 +67104,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeParameters { + #[codec(index = 0)] Nis(runtime_types::rococo_runtime::dynamic_params::nis::Parameters), + #[codec(index = 1)] Preimage(runtime_types::rococo_runtime::dynamic_params::preimage::Parameters), } #[derive( @@ -64677,7 +67117,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeParametersKey { + #[codec(index = 0)] Nis(runtime_types::rococo_runtime::dynamic_params::nis::ParametersKey), + #[codec(index = 1)] Preimage(runtime_types::rococo_runtime::dynamic_params::preimage::ParametersKey), } #[derive( @@ -64688,7 +67130,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum RuntimeParametersValue { + #[codec(index = 0)] Nis(runtime_types::rococo_runtime::dynamic_params::nis::ParametersValue), + #[codec(index = 1)] Preimage(runtime_types::rococo_runtime::dynamic_params::preimage::ParametersValue), } #[derive( @@ -64783,8 +67227,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum ArithmeticError { + #[codec(index = 0)] Underflow, + #[codec(index = 1)] Overflow, + #[codec(index = 2)] DivisionByZero, } } @@ -64837,6 +67284,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum NextConfigDescriptor { + #[codec(index = 1)] V1 { c: (::core::primitive::u64, ::core::primitive::u64), allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, @@ -64854,10 +67302,13 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum PreDigest { + #[codec(index = 1)] Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest), + #[codec(index = 2)] SecondaryPlain( runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest, ), + #[codec(index = 3)] SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest), } #[derive( @@ -64916,8 +67367,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum AllowedSlots { + #[codec(index = 0)] PrimarySlots, + #[codec(index = 1)] PrimaryAndSecondaryPlainSlots, + #[codec(index = 2)] PrimaryAndSecondaryVRFSlots, } #[derive( @@ -65167,6 +67621,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum Equivocation<_0, _1> { + #[codec(index = 0)] Prevote( runtime_types::finality_grandpa::Equivocation< runtime_types::sp_consensus_grandpa::app::Public, @@ -65174,6 +67629,7 @@ pub mod api { runtime_types::sp_consensus_grandpa::app::Signature, >, ), + #[codec(index = 1)] Precommit( runtime_types::finality_grandpa::Equivocation< runtime_types::sp_consensus_grandpa::app::Public, @@ -65328,15 +67784,25 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum Error { + #[codec(index = 0)] InvalidNumericOp, + #[codec(index = 1)] Push, + #[codec(index = 2)] GetRoot, + #[codec(index = 3)] Commit, + #[codec(index = 4)] GenerateProof, + #[codec(index = 5)] Verify, + #[codec(index = 6)] LeafNotFound, + #[codec(index = 7)] PalletNotIncluded, + #[codec(index = 8)] InvalidLeafIndex, + #[codec(index = 9)] InvalidBestKnownBlock, } #[derive( @@ -65404,19 +67870,24 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum DigestItem { + #[codec(index = 6)] PreRuntime( [::core::primitive::u8; 4usize], ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, ), + #[codec(index = 4)] Consensus( [::core::primitive::u8; 4usize], ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, ), + #[codec(index = 5)] Seal( [::core::primitive::u8; 4usize], ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, ), + #[codec(index = 0)] Other(::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>), + #[codec(index = 8)] RuntimeEnvironmentUpdated, } } @@ -65434,261 +67905,517 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Era { + #[codec(index = 0)] Immortal, + #[codec(index = 1)] Mortal1(::core::primitive::u8), + #[codec(index = 2)] Mortal2(::core::primitive::u8), + #[codec(index = 3)] Mortal3(::core::primitive::u8), + #[codec(index = 4)] Mortal4(::core::primitive::u8), + #[codec(index = 5)] Mortal5(::core::primitive::u8), + #[codec(index = 6)] Mortal6(::core::primitive::u8), + #[codec(index = 7)] Mortal7(::core::primitive::u8), + #[codec(index = 8)] Mortal8(::core::primitive::u8), + #[codec(index = 9)] Mortal9(::core::primitive::u8), + #[codec(index = 10)] Mortal10(::core::primitive::u8), + #[codec(index = 11)] Mortal11(::core::primitive::u8), + #[codec(index = 12)] Mortal12(::core::primitive::u8), + #[codec(index = 13)] Mortal13(::core::primitive::u8), + #[codec(index = 14)] Mortal14(::core::primitive::u8), + #[codec(index = 15)] Mortal15(::core::primitive::u8), + #[codec(index = 16)] Mortal16(::core::primitive::u8), + #[codec(index = 17)] Mortal17(::core::primitive::u8), + #[codec(index = 18)] Mortal18(::core::primitive::u8), + #[codec(index = 19)] Mortal19(::core::primitive::u8), + #[codec(index = 20)] Mortal20(::core::primitive::u8), + #[codec(index = 21)] Mortal21(::core::primitive::u8), + #[codec(index = 22)] Mortal22(::core::primitive::u8), + #[codec(index = 23)] Mortal23(::core::primitive::u8), + #[codec(index = 24)] Mortal24(::core::primitive::u8), + #[codec(index = 25)] Mortal25(::core::primitive::u8), + #[codec(index = 26)] Mortal26(::core::primitive::u8), + #[codec(index = 27)] Mortal27(::core::primitive::u8), + #[codec(index = 28)] Mortal28(::core::primitive::u8), + #[codec(index = 29)] Mortal29(::core::primitive::u8), + #[codec(index = 30)] Mortal30(::core::primitive::u8), + #[codec(index = 31)] Mortal31(::core::primitive::u8), + #[codec(index = 32)] Mortal32(::core::primitive::u8), + #[codec(index = 33)] Mortal33(::core::primitive::u8), + #[codec(index = 34)] Mortal34(::core::primitive::u8), + #[codec(index = 35)] Mortal35(::core::primitive::u8), + #[codec(index = 36)] Mortal36(::core::primitive::u8), + #[codec(index = 37)] Mortal37(::core::primitive::u8), + #[codec(index = 38)] Mortal38(::core::primitive::u8), + #[codec(index = 39)] Mortal39(::core::primitive::u8), + #[codec(index = 40)] Mortal40(::core::primitive::u8), + #[codec(index = 41)] Mortal41(::core::primitive::u8), + #[codec(index = 42)] Mortal42(::core::primitive::u8), + #[codec(index = 43)] Mortal43(::core::primitive::u8), + #[codec(index = 44)] Mortal44(::core::primitive::u8), + #[codec(index = 45)] Mortal45(::core::primitive::u8), + #[codec(index = 46)] Mortal46(::core::primitive::u8), + #[codec(index = 47)] Mortal47(::core::primitive::u8), + #[codec(index = 48)] Mortal48(::core::primitive::u8), + #[codec(index = 49)] Mortal49(::core::primitive::u8), + #[codec(index = 50)] Mortal50(::core::primitive::u8), + #[codec(index = 51)] Mortal51(::core::primitive::u8), + #[codec(index = 52)] Mortal52(::core::primitive::u8), + #[codec(index = 53)] Mortal53(::core::primitive::u8), + #[codec(index = 54)] Mortal54(::core::primitive::u8), + #[codec(index = 55)] Mortal55(::core::primitive::u8), + #[codec(index = 56)] Mortal56(::core::primitive::u8), + #[codec(index = 57)] Mortal57(::core::primitive::u8), + #[codec(index = 58)] Mortal58(::core::primitive::u8), + #[codec(index = 59)] Mortal59(::core::primitive::u8), + #[codec(index = 60)] Mortal60(::core::primitive::u8), + #[codec(index = 61)] Mortal61(::core::primitive::u8), + #[codec(index = 62)] Mortal62(::core::primitive::u8), + #[codec(index = 63)] Mortal63(::core::primitive::u8), + #[codec(index = 64)] Mortal64(::core::primitive::u8), + #[codec(index = 65)] Mortal65(::core::primitive::u8), + #[codec(index = 66)] Mortal66(::core::primitive::u8), + #[codec(index = 67)] Mortal67(::core::primitive::u8), + #[codec(index = 68)] Mortal68(::core::primitive::u8), + #[codec(index = 69)] Mortal69(::core::primitive::u8), + #[codec(index = 70)] Mortal70(::core::primitive::u8), + #[codec(index = 71)] Mortal71(::core::primitive::u8), + #[codec(index = 72)] Mortal72(::core::primitive::u8), + #[codec(index = 73)] Mortal73(::core::primitive::u8), + #[codec(index = 74)] Mortal74(::core::primitive::u8), + #[codec(index = 75)] Mortal75(::core::primitive::u8), + #[codec(index = 76)] Mortal76(::core::primitive::u8), + #[codec(index = 77)] Mortal77(::core::primitive::u8), + #[codec(index = 78)] Mortal78(::core::primitive::u8), + #[codec(index = 79)] Mortal79(::core::primitive::u8), + #[codec(index = 80)] Mortal80(::core::primitive::u8), + #[codec(index = 81)] Mortal81(::core::primitive::u8), + #[codec(index = 82)] Mortal82(::core::primitive::u8), + #[codec(index = 83)] Mortal83(::core::primitive::u8), + #[codec(index = 84)] Mortal84(::core::primitive::u8), + #[codec(index = 85)] Mortal85(::core::primitive::u8), + #[codec(index = 86)] Mortal86(::core::primitive::u8), + #[codec(index = 87)] Mortal87(::core::primitive::u8), + #[codec(index = 88)] Mortal88(::core::primitive::u8), + #[codec(index = 89)] Mortal89(::core::primitive::u8), + #[codec(index = 90)] Mortal90(::core::primitive::u8), + #[codec(index = 91)] Mortal91(::core::primitive::u8), + #[codec(index = 92)] Mortal92(::core::primitive::u8), + #[codec(index = 93)] Mortal93(::core::primitive::u8), + #[codec(index = 94)] Mortal94(::core::primitive::u8), + #[codec(index = 95)] Mortal95(::core::primitive::u8), + #[codec(index = 96)] Mortal96(::core::primitive::u8), + #[codec(index = 97)] Mortal97(::core::primitive::u8), + #[codec(index = 98)] Mortal98(::core::primitive::u8), + #[codec(index = 99)] Mortal99(::core::primitive::u8), + #[codec(index = 100)] Mortal100(::core::primitive::u8), + #[codec(index = 101)] Mortal101(::core::primitive::u8), + #[codec(index = 102)] Mortal102(::core::primitive::u8), + #[codec(index = 103)] Mortal103(::core::primitive::u8), + #[codec(index = 104)] Mortal104(::core::primitive::u8), + #[codec(index = 105)] Mortal105(::core::primitive::u8), + #[codec(index = 106)] Mortal106(::core::primitive::u8), + #[codec(index = 107)] Mortal107(::core::primitive::u8), + #[codec(index = 108)] Mortal108(::core::primitive::u8), + #[codec(index = 109)] Mortal109(::core::primitive::u8), + #[codec(index = 110)] Mortal110(::core::primitive::u8), + #[codec(index = 111)] Mortal111(::core::primitive::u8), + #[codec(index = 112)] Mortal112(::core::primitive::u8), + #[codec(index = 113)] Mortal113(::core::primitive::u8), + #[codec(index = 114)] Mortal114(::core::primitive::u8), + #[codec(index = 115)] Mortal115(::core::primitive::u8), + #[codec(index = 116)] Mortal116(::core::primitive::u8), + #[codec(index = 117)] Mortal117(::core::primitive::u8), + #[codec(index = 118)] Mortal118(::core::primitive::u8), + #[codec(index = 119)] Mortal119(::core::primitive::u8), + #[codec(index = 120)] Mortal120(::core::primitive::u8), + #[codec(index = 121)] Mortal121(::core::primitive::u8), + #[codec(index = 122)] Mortal122(::core::primitive::u8), + #[codec(index = 123)] Mortal123(::core::primitive::u8), + #[codec(index = 124)] Mortal124(::core::primitive::u8), + #[codec(index = 125)] Mortal125(::core::primitive::u8), + #[codec(index = 126)] Mortal126(::core::primitive::u8), + #[codec(index = 127)] Mortal127(::core::primitive::u8), + #[codec(index = 128)] Mortal128(::core::primitive::u8), + #[codec(index = 129)] Mortal129(::core::primitive::u8), + #[codec(index = 130)] Mortal130(::core::primitive::u8), + #[codec(index = 131)] Mortal131(::core::primitive::u8), + #[codec(index = 132)] Mortal132(::core::primitive::u8), + #[codec(index = 133)] Mortal133(::core::primitive::u8), + #[codec(index = 134)] Mortal134(::core::primitive::u8), + #[codec(index = 135)] Mortal135(::core::primitive::u8), + #[codec(index = 136)] Mortal136(::core::primitive::u8), + #[codec(index = 137)] Mortal137(::core::primitive::u8), + #[codec(index = 138)] Mortal138(::core::primitive::u8), + #[codec(index = 139)] Mortal139(::core::primitive::u8), + #[codec(index = 140)] Mortal140(::core::primitive::u8), + #[codec(index = 141)] Mortal141(::core::primitive::u8), + #[codec(index = 142)] Mortal142(::core::primitive::u8), + #[codec(index = 143)] Mortal143(::core::primitive::u8), + #[codec(index = 144)] Mortal144(::core::primitive::u8), + #[codec(index = 145)] Mortal145(::core::primitive::u8), + #[codec(index = 146)] Mortal146(::core::primitive::u8), + #[codec(index = 147)] Mortal147(::core::primitive::u8), + #[codec(index = 148)] Mortal148(::core::primitive::u8), + #[codec(index = 149)] Mortal149(::core::primitive::u8), + #[codec(index = 150)] Mortal150(::core::primitive::u8), + #[codec(index = 151)] Mortal151(::core::primitive::u8), + #[codec(index = 152)] Mortal152(::core::primitive::u8), + #[codec(index = 153)] Mortal153(::core::primitive::u8), + #[codec(index = 154)] Mortal154(::core::primitive::u8), + #[codec(index = 155)] Mortal155(::core::primitive::u8), + #[codec(index = 156)] Mortal156(::core::primitive::u8), + #[codec(index = 157)] Mortal157(::core::primitive::u8), + #[codec(index = 158)] Mortal158(::core::primitive::u8), + #[codec(index = 159)] Mortal159(::core::primitive::u8), + #[codec(index = 160)] Mortal160(::core::primitive::u8), + #[codec(index = 161)] Mortal161(::core::primitive::u8), + #[codec(index = 162)] Mortal162(::core::primitive::u8), + #[codec(index = 163)] Mortal163(::core::primitive::u8), + #[codec(index = 164)] Mortal164(::core::primitive::u8), + #[codec(index = 165)] Mortal165(::core::primitive::u8), + #[codec(index = 166)] Mortal166(::core::primitive::u8), + #[codec(index = 167)] Mortal167(::core::primitive::u8), + #[codec(index = 168)] Mortal168(::core::primitive::u8), + #[codec(index = 169)] Mortal169(::core::primitive::u8), + #[codec(index = 170)] Mortal170(::core::primitive::u8), + #[codec(index = 171)] Mortal171(::core::primitive::u8), + #[codec(index = 172)] Mortal172(::core::primitive::u8), + #[codec(index = 173)] Mortal173(::core::primitive::u8), + #[codec(index = 174)] Mortal174(::core::primitive::u8), + #[codec(index = 175)] Mortal175(::core::primitive::u8), + #[codec(index = 176)] Mortal176(::core::primitive::u8), + #[codec(index = 177)] Mortal177(::core::primitive::u8), + #[codec(index = 178)] Mortal178(::core::primitive::u8), + #[codec(index = 179)] Mortal179(::core::primitive::u8), + #[codec(index = 180)] Mortal180(::core::primitive::u8), + #[codec(index = 181)] Mortal181(::core::primitive::u8), + #[codec(index = 182)] Mortal182(::core::primitive::u8), + #[codec(index = 183)] Mortal183(::core::primitive::u8), + #[codec(index = 184)] Mortal184(::core::primitive::u8), + #[codec(index = 185)] Mortal185(::core::primitive::u8), + #[codec(index = 186)] Mortal186(::core::primitive::u8), + #[codec(index = 187)] Mortal187(::core::primitive::u8), + #[codec(index = 188)] Mortal188(::core::primitive::u8), + #[codec(index = 189)] Mortal189(::core::primitive::u8), + #[codec(index = 190)] Mortal190(::core::primitive::u8), + #[codec(index = 191)] Mortal191(::core::primitive::u8), + #[codec(index = 192)] Mortal192(::core::primitive::u8), + #[codec(index = 193)] Mortal193(::core::primitive::u8), + #[codec(index = 194)] Mortal194(::core::primitive::u8), + #[codec(index = 195)] Mortal195(::core::primitive::u8), + #[codec(index = 196)] Mortal196(::core::primitive::u8), + #[codec(index = 197)] Mortal197(::core::primitive::u8), + #[codec(index = 198)] Mortal198(::core::primitive::u8), + #[codec(index = 199)] Mortal199(::core::primitive::u8), + #[codec(index = 200)] Mortal200(::core::primitive::u8), + #[codec(index = 201)] Mortal201(::core::primitive::u8), + #[codec(index = 202)] Mortal202(::core::primitive::u8), + #[codec(index = 203)] Mortal203(::core::primitive::u8), + #[codec(index = 204)] Mortal204(::core::primitive::u8), + #[codec(index = 205)] Mortal205(::core::primitive::u8), + #[codec(index = 206)] Mortal206(::core::primitive::u8), + #[codec(index = 207)] Mortal207(::core::primitive::u8), + #[codec(index = 208)] Mortal208(::core::primitive::u8), + #[codec(index = 209)] Mortal209(::core::primitive::u8), + #[codec(index = 210)] Mortal210(::core::primitive::u8), + #[codec(index = 211)] Mortal211(::core::primitive::u8), + #[codec(index = 212)] Mortal212(::core::primitive::u8), + #[codec(index = 213)] Mortal213(::core::primitive::u8), + #[codec(index = 214)] Mortal214(::core::primitive::u8), + #[codec(index = 215)] Mortal215(::core::primitive::u8), + #[codec(index = 216)] Mortal216(::core::primitive::u8), + #[codec(index = 217)] Mortal217(::core::primitive::u8), + #[codec(index = 218)] Mortal218(::core::primitive::u8), + #[codec(index = 219)] Mortal219(::core::primitive::u8), + #[codec(index = 220)] Mortal220(::core::primitive::u8), + #[codec(index = 221)] Mortal221(::core::primitive::u8), + #[codec(index = 222)] Mortal222(::core::primitive::u8), + #[codec(index = 223)] Mortal223(::core::primitive::u8), + #[codec(index = 224)] Mortal224(::core::primitive::u8), + #[codec(index = 225)] Mortal225(::core::primitive::u8), + #[codec(index = 226)] Mortal226(::core::primitive::u8), + #[codec(index = 227)] Mortal227(::core::primitive::u8), + #[codec(index = 228)] Mortal228(::core::primitive::u8), + #[codec(index = 229)] Mortal229(::core::primitive::u8), + #[codec(index = 230)] Mortal230(::core::primitive::u8), + #[codec(index = 231)] Mortal231(::core::primitive::u8), + #[codec(index = 232)] Mortal232(::core::primitive::u8), + #[codec(index = 233)] Mortal233(::core::primitive::u8), + #[codec(index = 234)] Mortal234(::core::primitive::u8), + #[codec(index = 235)] Mortal235(::core::primitive::u8), + #[codec(index = 236)] Mortal236(::core::primitive::u8), + #[codec(index = 237)] Mortal237(::core::primitive::u8), + #[codec(index = 238)] Mortal238(::core::primitive::u8), + #[codec(index = 239)] Mortal239(::core::primitive::u8), + #[codec(index = 240)] Mortal240(::core::primitive::u8), + #[codec(index = 241)] Mortal241(::core::primitive::u8), + #[codec(index = 242)] Mortal242(::core::primitive::u8), + #[codec(index = 243)] Mortal243(::core::primitive::u8), + #[codec(index = 244)] Mortal244(::core::primitive::u8), + #[codec(index = 245)] Mortal245(::core::primitive::u8), + #[codec(index = 246)] Mortal246(::core::primitive::u8), + #[codec(index = 247)] Mortal247(::core::primitive::u8), + #[codec(index = 248)] Mortal248(::core::primitive::u8), + #[codec(index = 249)] Mortal249(::core::primitive::u8), + #[codec(index = 250)] Mortal250(::core::primitive::u8), + #[codec(index = 251)] Mortal251(::core::primitive::u8), + #[codec(index = 252)] Mortal252(::core::primitive::u8), + #[codec(index = 253)] Mortal253(::core::primitive::u8), + #[codec(index = 254)] Mortal254(::core::primitive::u8), + #[codec(index = 255)] Mortal255(::core::primitive::u8), } } @@ -65707,6 +68434,7 @@ pub mod api { )] pub struct Header<_0> { pub parent_hash: ::subxt::ext::subxt_core::utils::H256, + #[codec(compact)] pub number: _0, pub state_root: ::subxt::ext::subxt_core::utils::H256, pub extrinsics_root: ::subxt::ext::subxt_core::utils::H256, @@ -65728,19 +68456,33 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum TrieError { + #[codec(index = 0)] InvalidStateRoot, + #[codec(index = 1)] IncompleteDatabase, + #[codec(index = 2)] ValueAtIncompleteKey, + #[codec(index = 3)] DecoderError, + #[codec(index = 4)] InvalidHash, + #[codec(index = 5)] DuplicateKey, + #[codec(index = 6)] ExtraneousNode, + #[codec(index = 7)] ExtraneousValue, + #[codec(index = 8)] ExtraneousHashReference, + #[codec(index = 9)] InvalidChildReference, + #[codec(index = 10)] ValueMismatch, + #[codec(index = 11)] IncompleteProof, + #[codec(index = 12)] RootMismatch, + #[codec(index = 13)] DecodeError, } } @@ -65773,18 +68515,31 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum InvalidTransaction { + #[codec(index = 0)] Call, + #[codec(index = 1)] Payment, + #[codec(index = 2)] Future, + #[codec(index = 3)] Stale, + #[codec(index = 4)] BadProof, + #[codec(index = 5)] AncientBirthBlock, + #[codec(index = 6)] ExhaustsResources, + #[codec(index = 7)] Custom(::core::primitive::u8), + #[codec(index = 8)] BadMandatory, + #[codec(index = 9)] MandatoryValidation, + #[codec(index = 10)] BadSigner, + #[codec(index = 11)] IndeterminateImplicit, + #[codec(index = 12)] UnknownOrigin, } #[derive( @@ -65799,8 +68554,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum TransactionSource { + #[codec(index = 0)] InBlock, + #[codec(index = 1)] Local, + #[codec(index = 2)] External, } #[derive( @@ -65815,7 +68573,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum TransactionValidityError { + #[codec(index = 0)] Invalid(runtime_types::sp_runtime::transaction_validity::InvalidTransaction), + #[codec(index = 1)] Unknown(runtime_types::sp_runtime::transaction_validity::UnknownTransaction), } #[derive( @@ -65830,8 +68590,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum UnknownTransaction { + #[codec(index = 0)] CannotLookup, + #[codec(index = 1)] NoUnsignedValidator, + #[codec(index = 2)] Custom(::core::primitive::u8), } #[derive( @@ -65865,20 +68628,35 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum DispatchError { + #[codec(index = 0)] Other, + #[codec(index = 1)] CannotLookup, + #[codec(index = 2)] BadOrigin, + #[codec(index = 3)] Module(runtime_types::sp_runtime::ModuleError), + #[codec(index = 4)] ConsumerRemaining, + #[codec(index = 5)] NoProviders, + #[codec(index = 6)] TooManyConsumers, + #[codec(index = 7)] Token(runtime_types::sp_runtime::TokenError), + #[codec(index = 8)] Arithmetic(runtime_types::sp_arithmetic::ArithmeticError), + #[codec(index = 9)] Transactional(runtime_types::sp_runtime::TransactionalError), + #[codec(index = 10)] Exhausted, + #[codec(index = 11)] Corruption, + #[codec(index = 12)] Unavailable, + #[codec(index = 13)] RootNotAllowed, + #[codec(index = 14)] Trie(runtime_types::sp_runtime::proving_trie::TrieError), } #[derive( @@ -65900,7 +68678,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum ExtrinsicInclusionMode { + #[codec(index = 0)] AllExtrinsics, + #[codec(index = 1)] OnlyInherents, } #[derive( @@ -65922,8 +68702,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum MultiSignature { + #[codec(index = 0)] Ed25519([::core::primitive::u8; 64usize]), + #[codec(index = 1)] Sr25519([::core::primitive::u8; 64usize]), + #[codec(index = 2)] Ecdsa([::core::primitive::u8; 65usize]), } #[derive( @@ -65934,8 +68717,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum MultiSigner { + #[codec(index = 0)] Ed25519([::core::primitive::u8; 32usize]), + #[codec(index = 1)] Sr25519([::core::primitive::u8; 32usize]), + #[codec(index = 2)] Ecdsa([::core::primitive::u8; 33usize]), } #[derive( @@ -65956,15 +68742,25 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum TokenError { + #[codec(index = 0)] FundsUnavailable, + #[codec(index = 1)] OnlyProvider, + #[codec(index = 2)] BelowMinimum, + #[codec(index = 3)] CannotCreate, + #[codec(index = 4)] UnknownAsset, + #[codec(index = 5)] Frozen, + #[codec(index = 6)] Unsupported, + #[codec(index = 7)] CannotCreateHold, + #[codec(index = 8)] NotExpendable, + #[codec(index = 9)] Blocked, } #[derive( @@ -65975,7 +68771,9 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum TransactionalError { + #[codec(index = 0)] LimitReached, + #[codec(index = 1)] NoLayer, } } @@ -66068,7 +68866,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub struct Weight { + #[codec(compact)] pub ref_time: ::core::primitive::u64, + #[codec(compact)] pub proof_size: ::core::primitive::u64, } } @@ -66138,7 +68938,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetFilter { + #[codec(index = 0)] Definite(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 1)] Wild(runtime_types::staging_xcm::v4::asset::WildAsset), } #[derive( @@ -66165,11 +68967,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetInstance { + #[codec(index = 0)] Undefined, - Index(::core::primitive::u128), + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] Array32([::core::primitive::u8; 32usize]), } #[derive( @@ -66200,7 +69008,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Fungibility { - Fungible(::core::primitive::u128), + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] NonFungible(runtime_types::staging_xcm::v4::asset::AssetInstance), } #[derive( @@ -66215,15 +69025,20 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WildAsset { + #[codec(index = 0)] All, + #[codec(index = 1)] AllOf { id: runtime_types::staging_xcm::v4::asset::AssetId, fun: runtime_types::staging_xcm::v4::asset::WildFungibility, }, - AllCounted(::core::primitive::u32), + #[codec(index = 2)] + AllCounted(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] AllOfCounted { id: runtime_types::staging_xcm::v4::asset::AssetId, fun: runtime_types::staging_xcm::v4::asset::WildFungibility, + #[codec(compact)] count: ::core::primitive::u32, }, } @@ -66239,7 +69054,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WildFungibility { + #[codec(index = 0)] Fungible, + #[codec(index = 1)] NonFungible, } } @@ -66257,36 +69074,47 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Junction { - Parachain(::core::primitive::u32), + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] AccountId32 { network: ::core::option::Option< runtime_types::staging_xcm::v4::junction::NetworkId, >, id: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] AccountIndex64 { network: ::core::option::Option< runtime_types::staging_xcm::v4::junction::NetworkId, >, + #[codec(compact)] index: ::core::primitive::u64, }, + #[codec(index = 3)] AccountKey20 { network: ::core::option::Option< runtime_types::staging_xcm::v4::junction::NetworkId, >, key: [::core::primitive::u8; 20usize], }, + #[codec(index = 4)] PalletInstance(::core::primitive::u8), - GeneralIndex(::core::primitive::u128), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] GeneralKey { length: ::core::primitive::u8, data: [::core::primitive::u8; 32usize], }, + #[codec(index = 7)] OnlyChild, + #[codec(index = 8)] Plurality { id: runtime_types::xcm::v3::junction::BodyId, part: runtime_types::xcm::v3::junction::BodyPart, }, + #[codec(index = 9)] GlobalConsensus(runtime_types::staging_xcm::v4::junction::NetworkId), } #[derive( @@ -66301,21 +69129,33 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum NetworkId { + #[codec(index = 0)] ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] ByFork { block_number: ::core::primitive::u64, block_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] Polkadot, + #[codec(index = 3)] Kusama, + #[codec(index = 4)] Westend, + #[codec(index = 5)] Rococo, + #[codec(index = 6)] Wococo, + #[codec(index = 7)] Ethereum { + #[codec(compact)] chain_id: ::core::primitive::u64, }, + #[codec(index = 8)] BitcoinCore, + #[codec(index = 9)] BitcoinCash, + #[codec(index = 10)] PolkadotBulletin, } } @@ -66333,14 +69173,23 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Junctions { + #[codec(index = 0)] Here, + #[codec(index = 1)] X1([runtime_types::staging_xcm::v4::junction::Junction; 1usize]), + #[codec(index = 2)] X2([runtime_types::staging_xcm::v4::junction::Junction; 2usize]), + #[codec(index = 3)] X3([runtime_types::staging_xcm::v4::junction::Junction; 3usize]), + #[codec(index = 4)] X4([runtime_types::staging_xcm::v4::junction::Junction; 4usize]), + #[codec(index = 5)] X5([runtime_types::staging_xcm::v4::junction::Junction; 5usize]), + #[codec(index = 6)] X6([runtime_types::staging_xcm::v4::junction::Junction; 6usize]), + #[codec(index = 7)] X7([runtime_types::staging_xcm::v4::junction::Junction; 7usize]), + #[codec(index = 8)] X8([runtime_types::staging_xcm::v4::junction::Junction; 8usize]), } } @@ -66374,10 +69223,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Instruction { + #[codec(index = 0)] WithdrawAsset(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 1)] ReserveAssetDeposited(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 2)] ReceiveTeleportedAsset(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 3)] QueryResponse { + #[codec(compact)] query_id: ::core::primitive::u64, response: runtime_types::staging_xcm::v4::Response, max_weight: runtime_types::sp_weights::weight_v2::Weight, @@ -66385,137 +69239,192 @@ pub mod api { runtime_types::staging_xcm::v4::location::Location, >, }, + #[codec(index = 4)] TransferAsset { assets: runtime_types::staging_xcm::v4::asset::Assets, beneficiary: runtime_types::staging_xcm::v4::location::Location, }, + #[codec(index = 5)] TransferReserveAsset { assets: runtime_types::staging_xcm::v4::asset::Assets, dest: runtime_types::staging_xcm::v4::location::Location, xcm: runtime_types::staging_xcm::v4::Xcm, }, + #[codec(index = 6)] Transact { origin_kind: runtime_types::xcm::v3::OriginKind, require_weight_at_most: runtime_types::sp_weights::weight_v2::Weight, call: runtime_types::xcm::double_encoded::DoubleEncoded, }, + #[codec(index = 7)] HrmpNewChannelOpenRequest { + #[codec(compact)] sender: ::core::primitive::u32, + #[codec(compact)] max_message_size: ::core::primitive::u32, + #[codec(compact)] max_capacity: ::core::primitive::u32, }, + #[codec(index = 8)] HrmpChannelAccepted { + #[codec(compact)] recipient: ::core::primitive::u32, }, + #[codec(index = 9)] HrmpChannelClosing { + #[codec(compact)] initiator: ::core::primitive::u32, + #[codec(compact)] sender: ::core::primitive::u32, + #[codec(compact)] recipient: ::core::primitive::u32, }, + #[codec(index = 10)] ClearOrigin, + #[codec(index = 11)] DescendOrigin(runtime_types::staging_xcm::v4::junctions::Junctions), + #[codec(index = 12)] ReportError(runtime_types::staging_xcm::v4::QueryResponseInfo), + #[codec(index = 13)] DepositAsset { assets: runtime_types::staging_xcm::v4::asset::AssetFilter, beneficiary: runtime_types::staging_xcm::v4::location::Location, }, + #[codec(index = 14)] DepositReserveAsset { assets: runtime_types::staging_xcm::v4::asset::AssetFilter, dest: runtime_types::staging_xcm::v4::location::Location, xcm: runtime_types::staging_xcm::v4::Xcm, }, + #[codec(index = 15)] ExchangeAsset { give: runtime_types::staging_xcm::v4::asset::AssetFilter, want: runtime_types::staging_xcm::v4::asset::Assets, maximal: ::core::primitive::bool, }, + #[codec(index = 16)] InitiateReserveWithdraw { assets: runtime_types::staging_xcm::v4::asset::AssetFilter, reserve: runtime_types::staging_xcm::v4::location::Location, xcm: runtime_types::staging_xcm::v4::Xcm, }, + #[codec(index = 17)] InitiateTeleport { assets: runtime_types::staging_xcm::v4::asset::AssetFilter, dest: runtime_types::staging_xcm::v4::location::Location, xcm: runtime_types::staging_xcm::v4::Xcm, }, + #[codec(index = 18)] ReportHolding { response_info: runtime_types::staging_xcm::v4::QueryResponseInfo, assets: runtime_types::staging_xcm::v4::asset::AssetFilter, }, + #[codec(index = 19)] BuyExecution { fees: runtime_types::staging_xcm::v4::asset::Asset, weight_limit: runtime_types::xcm::v3::WeightLimit, }, + #[codec(index = 20)] RefundSurplus, + #[codec(index = 21)] SetErrorHandler(runtime_types::staging_xcm::v4::Xcm), + #[codec(index = 22)] SetAppendix(runtime_types::staging_xcm::v4::Xcm), + #[codec(index = 23)] ClearError, + #[codec(index = 24)] ClaimAsset { assets: runtime_types::staging_xcm::v4::asset::Assets, ticket: runtime_types::staging_xcm::v4::location::Location, }, - Trap(::core::primitive::u64), + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] SubscribeVersion { + #[codec(compact)] query_id: ::core::primitive::u64, max_response_weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 27)] UnsubscribeVersion, + #[codec(index = 28)] BurnAsset(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 29)] ExpectAsset(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 30)] ExpectOrigin( ::core::option::Option, ), + #[codec(index = 31)] ExpectError( ::core::option::Option<( ::core::primitive::u32, runtime_types::xcm::v3::traits::Error, )>, ), + #[codec(index = 32)] ExpectTransactStatus(runtime_types::xcm::v3::MaybeErrorCode), + #[codec(index = 33)] QueryPallet { module_name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, response_info: runtime_types::staging_xcm::v4::QueryResponseInfo, }, + #[codec(index = 34)] ExpectPallet { + #[codec(compact)] index: ::core::primitive::u32, name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, module_name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + #[codec(compact)] crate_major: ::core::primitive::u32, + #[codec(compact)] min_crate_minor: ::core::primitive::u32, }, + #[codec(index = 35)] ReportTransactStatus(runtime_types::staging_xcm::v4::QueryResponseInfo), + #[codec(index = 36)] ClearTransactStatus, + #[codec(index = 37)] UniversalOrigin(runtime_types::staging_xcm::v4::junction::Junction), + #[codec(index = 38)] ExportMessage { network: runtime_types::staging_xcm::v4::junction::NetworkId, destination: runtime_types::staging_xcm::v4::junctions::Junctions, xcm: runtime_types::staging_xcm::v4::Xcm, }, + #[codec(index = 39)] LockAsset { asset: runtime_types::staging_xcm::v4::asset::Asset, unlocker: runtime_types::staging_xcm::v4::location::Location, }, + #[codec(index = 40)] UnlockAsset { asset: runtime_types::staging_xcm::v4::asset::Asset, target: runtime_types::staging_xcm::v4::location::Location, }, + #[codec(index = 41)] NoteUnlockable { asset: runtime_types::staging_xcm::v4::asset::Asset, owner: runtime_types::staging_xcm::v4::location::Location, }, + #[codec(index = 42)] RequestUnlock { asset: runtime_types::staging_xcm::v4::asset::Asset, locker: runtime_types::staging_xcm::v4::location::Location, }, + #[codec(index = 43)] SetFeesMode { jit_withdraw: ::core::primitive::bool, }, + #[codec(index = 44)] SetTopic([::core::primitive::u8; 32usize]), + #[codec(index = 45)] ClearTopic, + #[codec(index = 46)] AliasOrigin(runtime_types::staging_xcm::v4::location::Location), + #[codec(index = 47)] UnpaidExecution { weight_limit: runtime_types::xcm::v3::WeightLimit, check_origin: ::core::option::Option< @@ -66535,6 +69444,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub struct PalletInfo { + #[codec(compact)] pub index: ::core::primitive::u32, pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, @@ -66542,8 +69452,11 @@ pub mod api { pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, + #[codec(compact)] pub major: ::core::primitive::u32, + #[codec(compact)] pub minor: ::core::primitive::u32, + #[codec(compact)] pub patch: ::core::primitive::u32, } #[derive( @@ -66559,6 +69472,7 @@ pub mod api { )] pub struct QueryResponseInfo { pub destination: runtime_types::staging_xcm::v4::location::Location, + #[codec(compact)] pub query_id: ::core::primitive::u64, pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } @@ -66574,20 +69488,26 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Response { + #[codec(index = 0)] Null, + #[codec(index = 1)] Assets(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 2)] ExecutionResult( ::core::option::Option<( ::core::primitive::u32, runtime_types::xcm::v3::traits::Error, )>, ), + #[codec(index = 3)] Version(::core::primitive::u32), + #[codec(index = 4)] PalletsInfo( runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::staging_xcm::v4::PalletInfo, >, ), + #[codec(index = 5)] DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), } #[derive( @@ -66638,7 +69558,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetFilter { + #[codec(index = 0)] Definite(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 1)] Wild(runtime_types::staging_xcm::v5::asset::WildAsset), } #[derive( @@ -66665,11 +69587,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetInstance { + #[codec(index = 0)] Undefined, - Index(::core::primitive::u128), + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] Array32([::core::primitive::u8; 32usize]), } #[derive( @@ -66684,8 +69612,11 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetTransferFilter { + #[codec(index = 0)] Teleport(runtime_types::staging_xcm::v5::asset::AssetFilter), + #[codec(index = 1)] ReserveDeposit(runtime_types::staging_xcm::v5::asset::AssetFilter), + #[codec(index = 2)] ReserveWithdraw(runtime_types::staging_xcm::v5::asset::AssetFilter), } #[derive( @@ -66716,7 +69647,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Fungibility { - Fungible(::core::primitive::u128), + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] NonFungible(runtime_types::staging_xcm::v5::asset::AssetInstance), } #[derive( @@ -66731,15 +69664,20 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WildAsset { + #[codec(index = 0)] All, + #[codec(index = 1)] AllOf { id: runtime_types::staging_xcm::v5::asset::AssetId, fun: runtime_types::staging_xcm::v5::asset::WildFungibility, }, - AllCounted(::core::primitive::u32), + #[codec(index = 2)] + AllCounted(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] AllOfCounted { id: runtime_types::staging_xcm::v5::asset::AssetId, fun: runtime_types::staging_xcm::v5::asset::WildFungibility, + #[codec(compact)] count: ::core::primitive::u32, }, } @@ -66755,7 +69693,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WildFungibility { + #[codec(index = 0)] Fungible, + #[codec(index = 1)] NonFungible, } } @@ -66773,36 +69713,47 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Junction { - Parachain(::core::primitive::u32), + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] AccountId32 { network: ::core::option::Option< runtime_types::staging_xcm::v5::junction::NetworkId, >, id: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] AccountIndex64 { network: ::core::option::Option< runtime_types::staging_xcm::v5::junction::NetworkId, >, + #[codec(compact)] index: ::core::primitive::u64, }, + #[codec(index = 3)] AccountKey20 { network: ::core::option::Option< runtime_types::staging_xcm::v5::junction::NetworkId, >, key: [::core::primitive::u8; 20usize], }, + #[codec(index = 4)] PalletInstance(::core::primitive::u8), - GeneralIndex(::core::primitive::u128), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] GeneralKey { length: ::core::primitive::u8, data: [::core::primitive::u8; 32usize], }, + #[codec(index = 7)] OnlyChild, + #[codec(index = 8)] Plurality { id: runtime_types::xcm::v3::junction::BodyId, part: runtime_types::xcm::v3::junction::BodyPart, }, + #[codec(index = 9)] GlobalConsensus(runtime_types::staging_xcm::v5::junction::NetworkId), } #[derive( @@ -66817,18 +69768,27 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum NetworkId { + #[codec(index = 0)] ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] ByFork { block_number: ::core::primitive::u64, block_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] Polkadot, + #[codec(index = 3)] Kusama, + #[codec(index = 7)] Ethereum { + #[codec(compact)] chain_id: ::core::primitive::u64, }, + #[codec(index = 8)] BitcoinCore, + #[codec(index = 9)] BitcoinCash, + #[codec(index = 10)] PolkadotBulletin, } } @@ -66846,14 +69806,23 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Junctions { + #[codec(index = 0)] Here, + #[codec(index = 1)] X1([runtime_types::staging_xcm::v5::junction::Junction; 1usize]), + #[codec(index = 2)] X2([runtime_types::staging_xcm::v5::junction::Junction; 2usize]), + #[codec(index = 3)] X3([runtime_types::staging_xcm::v5::junction::Junction; 3usize]), + #[codec(index = 4)] X4([runtime_types::staging_xcm::v5::junction::Junction; 4usize]), + #[codec(index = 5)] X5([runtime_types::staging_xcm::v5::junction::Junction; 5usize]), + #[codec(index = 6)] X6([runtime_types::staging_xcm::v5::junction::Junction; 6usize]), + #[codec(index = 7)] X7([runtime_types::staging_xcm::v5::junction::Junction; 7usize]), + #[codec(index = 8)] X8([runtime_types::staging_xcm::v5::junction::Junction; 8usize]), } } @@ -66888,17 +69857,33 @@ pub mod api { #[encode_as_type( crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] + pub struct InstructionError { + pub index: ::core::primitive::u8, + pub error: runtime_types::xcm::v5::traits::Error, + } + #[derive( + :: subxt :: ext :: subxt_core :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: subxt_core :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + #[decode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode" + )] + #[encode_as_type( + crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" + )] pub enum Outcome { + #[codec(index = 0)] Complete { used: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 1)] Incomplete { used: runtime_types::sp_weights::weight_v2::Weight, - error: runtime_types::xcm::v5::traits::Error, - }, - Error { - error: runtime_types::xcm::v5::traits::Error, + error: runtime_types::staging_xcm::v5::traits::InstructionError, }, + #[codec(index = 2)] + Error(runtime_types::staging_xcm::v5::traits::InstructionError), } } #[derive( @@ -66913,6 +69898,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Hint { + #[codec(index = 0)] AssetClaimer { location: runtime_types::staging_xcm::v5::location::Location, }, @@ -66929,10 +69915,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Instruction { + #[codec(index = 0)] WithdrawAsset(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 1)] ReserveAssetDeposited(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 2)] ReceiveTeleportedAsset(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 3)] QueryResponse { + #[codec(compact)] query_id: ::core::primitive::u64, response: runtime_types::staging_xcm::v5::Response, max_weight: runtime_types::sp_weights::weight_v2::Weight, @@ -66940,147 +69931,204 @@ pub mod api { runtime_types::staging_xcm::v5::location::Location, >, }, + #[codec(index = 4)] TransferAsset { assets: runtime_types::staging_xcm::v5::asset::Assets, beneficiary: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 5)] TransferReserveAsset { assets: runtime_types::staging_xcm::v5::asset::Assets, dest: runtime_types::staging_xcm::v5::location::Location, xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 6)] Transact { origin_kind: runtime_types::xcm::v3::OriginKind, fallback_max_weight: ::core::option::Option, call: runtime_types::xcm::double_encoded::DoubleEncoded, }, + #[codec(index = 7)] HrmpNewChannelOpenRequest { + #[codec(compact)] sender: ::core::primitive::u32, + #[codec(compact)] max_message_size: ::core::primitive::u32, + #[codec(compact)] max_capacity: ::core::primitive::u32, }, + #[codec(index = 8)] HrmpChannelAccepted { + #[codec(compact)] recipient: ::core::primitive::u32, }, + #[codec(index = 9)] HrmpChannelClosing { + #[codec(compact)] initiator: ::core::primitive::u32, + #[codec(compact)] sender: ::core::primitive::u32, + #[codec(compact)] recipient: ::core::primitive::u32, }, + #[codec(index = 10)] ClearOrigin, + #[codec(index = 11)] DescendOrigin(runtime_types::staging_xcm::v5::junctions::Junctions), + #[codec(index = 12)] ReportError(runtime_types::staging_xcm::v5::QueryResponseInfo), + #[codec(index = 13)] DepositAsset { assets: runtime_types::staging_xcm::v5::asset::AssetFilter, beneficiary: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 14)] DepositReserveAsset { assets: runtime_types::staging_xcm::v5::asset::AssetFilter, dest: runtime_types::staging_xcm::v5::location::Location, xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 15)] ExchangeAsset { give: runtime_types::staging_xcm::v5::asset::AssetFilter, want: runtime_types::staging_xcm::v5::asset::Assets, maximal: ::core::primitive::bool, }, + #[codec(index = 16)] InitiateReserveWithdraw { assets: runtime_types::staging_xcm::v5::asset::AssetFilter, reserve: runtime_types::staging_xcm::v5::location::Location, xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 17)] InitiateTeleport { assets: runtime_types::staging_xcm::v5::asset::AssetFilter, dest: runtime_types::staging_xcm::v5::location::Location, xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 18)] ReportHolding { response_info: runtime_types::staging_xcm::v5::QueryResponseInfo, assets: runtime_types::staging_xcm::v5::asset::AssetFilter, }, + #[codec(index = 19)] BuyExecution { fees: runtime_types::staging_xcm::v5::asset::Asset, weight_limit: runtime_types::xcm::v3::WeightLimit, }, + #[codec(index = 20)] RefundSurplus, + #[codec(index = 21)] SetErrorHandler(runtime_types::staging_xcm::v5::Xcm), + #[codec(index = 22)] SetAppendix(runtime_types::staging_xcm::v5::Xcm), + #[codec(index = 23)] ClearError, + #[codec(index = 24)] ClaimAsset { assets: runtime_types::staging_xcm::v5::asset::Assets, ticket: runtime_types::staging_xcm::v5::location::Location, }, - Trap(::core::primitive::u64), + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] SubscribeVersion { + #[codec(compact)] query_id: ::core::primitive::u64, max_response_weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 27)] UnsubscribeVersion, + #[codec(index = 28)] BurnAsset(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 29)] ExpectAsset(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 30)] ExpectOrigin( ::core::option::Option, ), + #[codec(index = 31)] ExpectError( ::core::option::Option<( ::core::primitive::u32, runtime_types::xcm::v5::traits::Error, )>, ), + #[codec(index = 32)] ExpectTransactStatus(runtime_types::xcm::v3::MaybeErrorCode), + #[codec(index = 33)] QueryPallet { module_name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, response_info: runtime_types::staging_xcm::v5::QueryResponseInfo, }, + #[codec(index = 34)] ExpectPallet { + #[codec(compact)] index: ::core::primitive::u32, name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, module_name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + #[codec(compact)] crate_major: ::core::primitive::u32, + #[codec(compact)] min_crate_minor: ::core::primitive::u32, }, + #[codec(index = 35)] ReportTransactStatus(runtime_types::staging_xcm::v5::QueryResponseInfo), + #[codec(index = 36)] ClearTransactStatus, + #[codec(index = 37)] UniversalOrigin(runtime_types::staging_xcm::v5::junction::Junction), + #[codec(index = 38)] ExportMessage { network: runtime_types::staging_xcm::v5::junction::NetworkId, destination: runtime_types::staging_xcm::v5::junctions::Junctions, xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 39)] LockAsset { asset: runtime_types::staging_xcm::v5::asset::Asset, unlocker: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 40)] UnlockAsset { asset: runtime_types::staging_xcm::v5::asset::Asset, target: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 41)] NoteUnlockable { asset: runtime_types::staging_xcm::v5::asset::Asset, owner: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 42)] RequestUnlock { asset: runtime_types::staging_xcm::v5::asset::Asset, locker: runtime_types::staging_xcm::v5::location::Location, }, + #[codec(index = 43)] SetFeesMode { jit_withdraw: ::core::primitive::bool, }, + #[codec(index = 44)] SetTopic([::core::primitive::u8; 32usize]), + #[codec(index = 45)] ClearTopic, + #[codec(index = 46)] AliasOrigin(runtime_types::staging_xcm::v5::location::Location), + #[codec(index = 47)] UnpaidExecution { weight_limit: runtime_types::xcm::v3::WeightLimit, check_origin: ::core::option::Option< runtime_types::staging_xcm::v5::location::Location, >, }, + #[codec(index = 48)] PayFees { asset: runtime_types::staging_xcm::v5::asset::Asset, }, + #[codec(index = 49)] InitiateTransfer { destination: runtime_types::staging_xcm::v5::location::Location, remote_fees: ::core::option::Option< @@ -67092,12 +70140,14 @@ pub mod api { >, remote_xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 50)] ExecuteWithOrigin { descendant_origin: ::core::option::Option< runtime_types::staging_xcm::v5::junctions::Junctions, >, xcm: runtime_types::staging_xcm::v5::Xcm, }, + #[codec(index = 51)] SetHints { hints: runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::staging_xcm::v5::Hint, @@ -67116,6 +70166,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub struct PalletInfo { + #[codec(compact)] pub index: ::core::primitive::u32, pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, @@ -67123,8 +70174,11 @@ pub mod api { pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, + #[codec(compact)] pub major: ::core::primitive::u32, + #[codec(compact)] pub minor: ::core::primitive::u32, + #[codec(compact)] pub patch: ::core::primitive::u32, } #[derive( @@ -67140,6 +70194,7 @@ pub mod api { )] pub struct QueryResponseInfo { pub destination: runtime_types::staging_xcm::v5::location::Location, + #[codec(compact)] pub query_id: ::core::primitive::u64, pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } @@ -67155,20 +70210,26 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Response { + #[codec(index = 0)] Null, + #[codec(index = 1)] Assets(runtime_types::staging_xcm::v5::asset::Assets), + #[codec(index = 2)] ExecutionResult( ::core::option::Option<( ::core::primitive::u32, runtime_types::xcm::v5::traits::Error, )>, ), + #[codec(index = 3)] Version(::core::primitive::u32), + #[codec(index = 4)] PalletsInfo( runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::staging_xcm::v5::PalletInfo, >, ), + #[codec(index = 5)] DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), } #[derive( @@ -67207,9 +70268,13 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum TransferType { + #[codec(index = 0)] Teleport, + #[codec(index = 1)] LocalReserve, + #[codec(index = 2)] DestinationReserve, + #[codec(index = 3)] RemoteReserve(runtime_types::xcm::VersionedLocation), } } @@ -67250,15 +70315,25 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum BodyId { + #[codec(index = 0)] Unit, + #[codec(index = 1)] Moniker([::core::primitive::u8; 4usize]), - Index(::core::primitive::u32), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] Executive, + #[codec(index = 4)] Technical, + #[codec(index = 5)] Legislative, + #[codec(index = 6)] Judicial, + #[codec(index = 7)] Defense, + #[codec(index = 8)] Administration, + #[codec(index = 9)] Treasury, } #[derive( @@ -67273,20 +70348,32 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum BodyPart { + #[codec(index = 0)] Voice, + #[codec(index = 1)] Members { + #[codec(compact)] count: ::core::primitive::u32, }, + #[codec(index = 2)] Fraction { + #[codec(compact)] nom: ::core::primitive::u32, + #[codec(compact)] denom: ::core::primitive::u32, }, + #[codec(index = 3)] AtLeastProportion { + #[codec(compact)] nom: ::core::primitive::u32, + #[codec(compact)] denom: ::core::primitive::u32, }, + #[codec(index = 4)] MoreThanProportion { + #[codec(compact)] nom: ::core::primitive::u32, + #[codec(compact)] denom: ::core::primitive::u32, }, } @@ -67302,33 +70389,44 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Junction { - Parachain(::core::primitive::u32), + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] AccountId32 { network: ::core::option::Option, id: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] AccountIndex64 { network: ::core::option::Option, + #[codec(compact)] index: ::core::primitive::u64, }, + #[codec(index = 3)] AccountKey20 { network: ::core::option::Option, key: [::core::primitive::u8; 20usize], }, + #[codec(index = 4)] PalletInstance(::core::primitive::u8), - GeneralIndex(::core::primitive::u128), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] GeneralKey { length: ::core::primitive::u8, data: [::core::primitive::u8; 32usize], }, + #[codec(index = 7)] OnlyChild, + #[codec(index = 8)] Plurality { id: runtime_types::xcm::v3::junction::BodyId, part: runtime_types::xcm::v3::junction::BodyPart, }, + #[codec(index = 9)] GlobalConsensus(runtime_types::xcm::v3::junction::NetworkId), } #[derive( @@ -67343,21 +70441,33 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum NetworkId { + #[codec(index = 0)] ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] ByFork { block_number: ::core::primitive::u64, block_hash: [::core::primitive::u8; 32usize], }, + #[codec(index = 2)] Polkadot, + #[codec(index = 3)] Kusama, + #[codec(index = 4)] Westend, + #[codec(index = 5)] Rococo, + #[codec(index = 6)] Wococo, + #[codec(index = 7)] Ethereum { + #[codec(compact)] chain_id: ::core::primitive::u64, }, + #[codec(index = 8)] BitcoinCore, + #[codec(index = 9)] BitcoinCash, + #[codec(index = 10)] PolkadotBulletin, } } @@ -67375,23 +70485,29 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Junctions { + #[codec(index = 0)] Here, + #[codec(index = 1)] X1(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 2)] X2( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, ), + #[codec(index = 3)] X3( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, ), + #[codec(index = 4)] X4( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, ), + #[codec(index = 5)] X5( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, @@ -67399,6 +70515,7 @@ pub mod api { runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, ), + #[codec(index = 6)] X6( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, @@ -67407,6 +70524,7 @@ pub mod api { runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, ), + #[codec(index = 7)] X7( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, @@ -67416,6 +70534,7 @@ pub mod api { runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, ), + #[codec(index = 8)] X8( runtime_types::xcm::v3::junction::Junction, runtime_types::xcm::v3::junction::Junction, @@ -67442,7 +70561,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetId { + #[codec(index = 0)] Concrete(runtime_types::staging_xcm::v3::multilocation::MultiLocation), + #[codec(index = 1)] Abstract([::core::primitive::u8; 32usize]), } #[derive( @@ -67457,11 +70578,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum AssetInstance { + #[codec(index = 0)] Undefined, - Index(::core::primitive::u128), + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] Array32([::core::primitive::u8; 32usize]), } #[derive( @@ -67476,7 +70603,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Fungibility { - Fungible(::core::primitive::u128), + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance), } #[derive( @@ -67506,7 +70635,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum MultiAssetFilter { + #[codec(index = 0)] Definite(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset), } #[derive( @@ -67537,7 +70668,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WildFungibility { + #[codec(index = 0)] Fungible, + #[codec(index = 1)] NonFungible, } #[derive( @@ -67552,15 +70685,20 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WildMultiAsset { + #[codec(index = 0)] All, + #[codec(index = 1)] AllOf { id: runtime_types::xcm::v3::multiasset::AssetId, fun: runtime_types::xcm::v3::multiasset::WildFungibility, }, - AllCounted(::core::primitive::u32), + #[codec(index = 2)] + AllCounted(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] AllOfCounted { id: runtime_types::xcm::v3::multiasset::AssetId, fun: runtime_types::xcm::v3::multiasset::WildFungibility, + #[codec(compact)] count: ::core::primitive::u32, }, } @@ -67579,45 +70717,85 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Error { + #[codec(index = 0)] Overflow, + #[codec(index = 1)] Unimplemented, + #[codec(index = 2)] UntrustedReserveLocation, + #[codec(index = 3)] UntrustedTeleportLocation, + #[codec(index = 4)] LocationFull, + #[codec(index = 5)] LocationNotInvertible, + #[codec(index = 6)] BadOrigin, + #[codec(index = 7)] InvalidLocation, + #[codec(index = 8)] AssetNotFound, + #[codec(index = 9)] FailedToTransactAsset, + #[codec(index = 10)] NotWithdrawable, + #[codec(index = 11)] LocationCannotHold, + #[codec(index = 12)] ExceedsMaxMessageSize, + #[codec(index = 13)] DestinationUnsupported, + #[codec(index = 14)] Transport, + #[codec(index = 15)] Unroutable, + #[codec(index = 16)] UnknownClaim, + #[codec(index = 17)] FailedToDecode, + #[codec(index = 18)] MaxWeightInvalid, + #[codec(index = 19)] NotHoldingFees, + #[codec(index = 20)] TooExpensive, + #[codec(index = 21)] Trap(::core::primitive::u64), + #[codec(index = 22)] ExpectationFalse, + #[codec(index = 23)] PalletNotFound, + #[codec(index = 24)] NameMismatch, + #[codec(index = 25)] VersionIncompatible, + #[codec(index = 26)] HoldingWouldOverflow, + #[codec(index = 27)] ExportError, + #[codec(index = 28)] ReanchorFailed, + #[codec(index = 29)] NoDeal, + #[codec(index = 30)] FeesNotMet, + #[codec(index = 31)] LockError, + #[codec(index = 32)] NoPermission, + #[codec(index = 33)] Unanchored, + #[codec(index = 34)] NotDepositable, + #[codec(index = 35)] UnhandledXcmVersion, + #[codec(index = 36)] WeightLimitReached(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 37)] Barrier, + #[codec(index = 38)] WeightNotComputable, + #[codec(index = 39)] ExceedsStackLimit, } #[derive( @@ -67632,12 +70810,19 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum SendError { + #[codec(index = 0)] NotApplicable, + #[codec(index = 1)] Transport, + #[codec(index = 2)] Unroutable, + #[codec(index = 3)] DestinationUnsupported, + #[codec(index = 4)] ExceedsMaxMessageSize, + #[codec(index = 5)] MissingArgument, + #[codec(index = 6)] Fees, } } @@ -67653,10 +70838,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Instruction { + #[codec(index = 0)] WithdrawAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] ReserveAssetDeposited(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] ReceiveTeleportedAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 3)] QueryResponse { + #[codec(compact)] query_id: ::core::primitive::u64, response: runtime_types::xcm::v3::Response, max_weight: runtime_types::sp_weights::weight_v2::Weight, @@ -67664,139 +70854,194 @@ pub mod api { runtime_types::staging_xcm::v3::multilocation::MultiLocation, >, }, + #[codec(index = 4)] TransferAsset { assets: runtime_types::xcm::v3::multiasset::MultiAssets, beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, + #[codec(index = 5)] TransferReserveAsset { assets: runtime_types::xcm::v3::multiasset::MultiAssets, dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, xcm: runtime_types::xcm::v3::Xcm, }, + #[codec(index = 6)] Transact { origin_kind: runtime_types::xcm::v3::OriginKind, require_weight_at_most: runtime_types::sp_weights::weight_v2::Weight, call: runtime_types::xcm::double_encoded::DoubleEncoded, }, + #[codec(index = 7)] HrmpNewChannelOpenRequest { + #[codec(compact)] sender: ::core::primitive::u32, + #[codec(compact)] max_message_size: ::core::primitive::u32, + #[codec(compact)] max_capacity: ::core::primitive::u32, }, + #[codec(index = 8)] HrmpChannelAccepted { + #[codec(compact)] recipient: ::core::primitive::u32, }, + #[codec(index = 9)] HrmpChannelClosing { + #[codec(compact)] initiator: ::core::primitive::u32, + #[codec(compact)] sender: ::core::primitive::u32, + #[codec(compact)] recipient: ::core::primitive::u32, }, + #[codec(index = 10)] ClearOrigin, + #[codec(index = 11)] DescendOrigin(runtime_types::xcm::v3::junctions::Junctions), + #[codec(index = 12)] ReportError(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 13)] DepositAsset { assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, beneficiary: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, + #[codec(index = 14)] DepositReserveAsset { assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, xcm: runtime_types::xcm::v3::Xcm, }, + #[codec(index = 15)] ExchangeAsset { give: runtime_types::xcm::v3::multiasset::MultiAssetFilter, want: runtime_types::xcm::v3::multiasset::MultiAssets, maximal: ::core::primitive::bool, }, + #[codec(index = 16)] InitiateReserveWithdraw { assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, reserve: runtime_types::staging_xcm::v3::multilocation::MultiLocation, xcm: runtime_types::xcm::v3::Xcm, }, + #[codec(index = 17)] InitiateTeleport { assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, dest: runtime_types::staging_xcm::v3::multilocation::MultiLocation, xcm: runtime_types::xcm::v3::Xcm, }, + #[codec(index = 18)] ReportHolding { response_info: runtime_types::xcm::v3::QueryResponseInfo, assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, }, + #[codec(index = 19)] BuyExecution { fees: runtime_types::xcm::v3::multiasset::MultiAsset, weight_limit: runtime_types::xcm::v3::WeightLimit, }, + #[codec(index = 20)] RefundSurplus, + #[codec(index = 21)] SetErrorHandler(runtime_types::xcm::v3::Xcm), + #[codec(index = 22)] SetAppendix(runtime_types::xcm::v3::Xcm), + #[codec(index = 23)] ClearError, + #[codec(index = 24)] ClaimAsset { assets: runtime_types::xcm::v3::multiasset::MultiAssets, ticket: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, - Trap(::core::primitive::u64), + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] SubscribeVersion { + #[codec(compact)] query_id: ::core::primitive::u64, max_response_weight: runtime_types::sp_weights::weight_v2::Weight, }, + #[codec(index = 27)] UnsubscribeVersion, + #[codec(index = 28)] BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 29)] ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 30)] ExpectOrigin( ::core::option::Option< runtime_types::staging_xcm::v3::multilocation::MultiLocation, >, ), + #[codec(index = 31)] ExpectError( ::core::option::Option<( ::core::primitive::u32, runtime_types::xcm::v3::traits::Error, )>, ), + #[codec(index = 32)] ExpectTransactStatus(runtime_types::xcm::v3::MaybeErrorCode), + #[codec(index = 33)] QueryPallet { module_name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, response_info: runtime_types::xcm::v3::QueryResponseInfo, }, + #[codec(index = 34)] ExpectPallet { + #[codec(compact)] index: ::core::primitive::u32, name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, module_name: ::subxt::ext::subxt_core::alloc::vec::Vec<::core::primitive::u8>, + #[codec(compact)] crate_major: ::core::primitive::u32, + #[codec(compact)] min_crate_minor: ::core::primitive::u32, }, + #[codec(index = 35)] ReportTransactStatus(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 36)] ClearTransactStatus, + #[codec(index = 37)] UniversalOrigin(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 38)] ExportMessage { network: runtime_types::xcm::v3::junction::NetworkId, destination: runtime_types::xcm::v3::junctions::Junctions, xcm: runtime_types::xcm::v3::Xcm, }, + #[codec(index = 39)] LockAsset { asset: runtime_types::xcm::v3::multiasset::MultiAsset, unlocker: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, + #[codec(index = 40)] UnlockAsset { asset: runtime_types::xcm::v3::multiasset::MultiAsset, target: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, + #[codec(index = 41)] NoteUnlockable { asset: runtime_types::xcm::v3::multiasset::MultiAsset, owner: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, + #[codec(index = 42)] RequestUnlock { asset: runtime_types::xcm::v3::multiasset::MultiAsset, locker: runtime_types::staging_xcm::v3::multilocation::MultiLocation, }, + #[codec(index = 43)] SetFeesMode { jit_withdraw: ::core::primitive::bool, }, + #[codec(index = 44)] SetTopic([::core::primitive::u8; 32usize]), + #[codec(index = 45)] ClearTopic, + #[codec(index = 46)] AliasOrigin(runtime_types::staging_xcm::v3::multilocation::MultiLocation), + #[codec(index = 47)] UnpaidExecution { weight_limit: runtime_types::xcm::v3::WeightLimit, check_origin: ::core::option::Option< @@ -67816,12 +71061,15 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum MaybeErrorCode { + #[codec(index = 0)] Success, + #[codec(index = 1)] Error( runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ), + #[codec(index = 2)] TruncatedError( runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, @@ -67840,9 +71088,13 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum OriginKind { + #[codec(index = 0)] Native, + #[codec(index = 1)] SovereignAccount, + #[codec(index = 2)] Superuser, + #[codec(index = 3)] Xcm, } #[derive( @@ -67857,6 +71109,7 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub struct PalletInfo { + #[codec(compact)] pub index: ::core::primitive::u32, pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, @@ -67864,8 +71117,11 @@ pub mod api { pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, + #[codec(compact)] pub major: ::core::primitive::u32, + #[codec(compact)] pub minor: ::core::primitive::u32, + #[codec(compact)] pub patch: ::core::primitive::u32, } #[derive( @@ -67881,6 +71137,7 @@ pub mod api { )] pub struct QueryResponseInfo { pub destination: runtime_types::staging_xcm::v3::multilocation::MultiLocation, + #[codec(compact)] pub query_id: ::core::primitive::u64, pub max_weight: runtime_types::sp_weights::weight_v2::Weight, } @@ -67896,20 +71153,26 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Response { + #[codec(index = 0)] Null, + #[codec(index = 1)] Assets(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] ExecutionResult( ::core::option::Option<( ::core::primitive::u32, runtime_types::xcm::v3::traits::Error, )>, ), + #[codec(index = 3)] Version(::core::primitive::u32), + #[codec(index = 4)] PalletsInfo( runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::xcm::v3::PalletInfo, >, ), + #[codec(index = 5)] DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), } #[derive( @@ -67924,7 +71187,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum WeightLimit { + #[codec(index = 0)] Unlimited, + #[codec(index = 1)] Limited(runtime_types::sp_weights::weight_v2::Weight), } #[derive( @@ -67960,46 +71225,87 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Error { + #[codec(index = 0)] Overflow, + #[codec(index = 1)] Unimplemented, + #[codec(index = 2)] UntrustedReserveLocation, + #[codec(index = 3)] UntrustedTeleportLocation, + #[codec(index = 4)] LocationFull, + #[codec(index = 5)] LocationNotInvertible, + #[codec(index = 6)] BadOrigin, + #[codec(index = 7)] InvalidLocation, + #[codec(index = 8)] AssetNotFound, + #[codec(index = 9)] FailedToTransactAsset, + #[codec(index = 10)] NotWithdrawable, + #[codec(index = 11)] LocationCannotHold, + #[codec(index = 12)] ExceedsMaxMessageSize, + #[codec(index = 13)] DestinationUnsupported, + #[codec(index = 14)] Transport, + #[codec(index = 15)] Unroutable, + #[codec(index = 16)] UnknownClaim, + #[codec(index = 17)] FailedToDecode, + #[codec(index = 18)] MaxWeightInvalid, + #[codec(index = 19)] NotHoldingFees, + #[codec(index = 20)] TooExpensive, + #[codec(index = 21)] Trap(::core::primitive::u64), + #[codec(index = 22)] ExpectationFalse, + #[codec(index = 23)] PalletNotFound, + #[codec(index = 24)] NameMismatch, + #[codec(index = 25)] VersionIncompatible, + #[codec(index = 26)] HoldingWouldOverflow, + #[codec(index = 27)] ExportError, + #[codec(index = 28)] ReanchorFailed, + #[codec(index = 29)] NoDeal, + #[codec(index = 30)] FeesNotMet, + #[codec(index = 31)] LockError, + #[codec(index = 32)] NoPermission, + #[codec(index = 33)] Unanchored, + #[codec(index = 34)] NotDepositable, + #[codec(index = 35)] TooManyAssets, + #[codec(index = 36)] UnhandledXcmVersion, + #[codec(index = 37)] WeightLimitReached(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 38)] Barrier, + #[codec(index = 39)] WeightNotComputable, + #[codec(index = 40)] ExceedsStackLimit, } } @@ -68012,8 +71318,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VersionedAsset { + #[codec(index = 3)] V3(runtime_types::xcm::v3::multiasset::MultiAsset), + #[codec(index = 4)] V4(runtime_types::staging_xcm::v4::asset::Asset), + #[codec(index = 5)] V5(runtime_types::staging_xcm::v5::asset::Asset), } #[derive( @@ -68024,8 +71333,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VersionedAssetId { + #[codec(index = 3)] V3(runtime_types::xcm::v3::multiasset::AssetId), + #[codec(index = 4)] V4(runtime_types::staging_xcm::v4::asset::AssetId), + #[codec(index = 5)] V5(runtime_types::staging_xcm::v5::asset::AssetId), } #[derive( @@ -68036,8 +71348,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VersionedAssets { + #[codec(index = 3)] V3(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 4)] V4(runtime_types::staging_xcm::v4::asset::Assets), + #[codec(index = 5)] V5(runtime_types::staging_xcm::v5::asset::Assets), } #[derive( @@ -68048,8 +71363,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VersionedLocation { + #[codec(index = 3)] V3(runtime_types::staging_xcm::v3::multilocation::MultiLocation), + #[codec(index = 4)] V4(runtime_types::staging_xcm::v4::location::Location), + #[codec(index = 5)] V5(runtime_types::staging_xcm::v5::location::Location), } #[derive( @@ -68060,8 +71378,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VersionedResponse { + #[codec(index = 3)] V3(runtime_types::xcm::v3::Response), + #[codec(index = 4)] V4(runtime_types::staging_xcm::v4::Response), + #[codec(index = 5)] V5(runtime_types::staging_xcm::v5::Response), } #[derive( @@ -68072,8 +71393,11 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode")] pub enum VersionedXcm { + #[codec(index = 3)] V3(runtime_types::xcm::v3::Xcm), + #[codec(index = 4)] V4(runtime_types::staging_xcm::v4::Xcm), + #[codec(index = 5)] V5(runtime_types::staging_xcm::v5::Xcm), } } @@ -68111,7 +71435,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Error { + #[codec(index = 0)] Unsupported, + #[codec(index = 1)] VersionedConversionFailed, } } @@ -68154,7 +71480,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Error { + #[codec(index = 0)] Unimplemented, + #[codec(index = 1)] VersionedConversionFailed, } #[derive( @@ -68191,11 +71519,17 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Error { + #[codec(index = 0)] Unimplemented, + #[codec(index = 1)] VersionedConversionFailed, + #[codec(index = 2)] WeightNotComputable, + #[codec(index = 3)] UnhandledXcmVersion, + #[codec(index = 4)] AssetNotFound, + #[codec(index = 5)] Unroutable, } } @@ -68213,7 +71547,9 @@ pub mod api { crate_path = ":: subxt :: ext :: subxt_core :: ext :: scale_encode" )] pub enum Error { + #[codec(index = 0)] VersionedAssetConversionFailed, + #[codec(index = 1)] VersionedLocationConversionFailed, } } diff --git a/testing/ui-tests/src/incorrect/substitute_at_wrong_path.stderr b/testing/ui-tests/src/incorrect/substitute_at_wrong_path.stderr index a0e35c3950..4f0eaa8dbb 100644 --- a/testing/ui-tests/src/incorrect/substitute_at_wrong_path.stderr +++ b/testing/ui-tests/src/incorrect/substitute_at_wrong_path.stderr @@ -7,6 +7,7 @@ error: Type `Event` does not exist at path `sp_runtime::multiaddress::Event` pallet_parameters::pallet::Event pallet_transaction_payment::pallet::Event pallet_offences::pallet::Event + pallet_session::historical::pallet::Event pallet_session::pallet::Event pallet_grandpa::pallet::Event pallet_treasury::pallet::Event