diff --git a/framework/libra-framework/sources/code.move b/framework/libra-framework/sources/code.move index b4ee9b52d..790b1d47f 100644 --- a/framework/libra-framework/sources/code.move +++ b/framework/libra-framework/sources/code.move @@ -9,6 +9,7 @@ module diem_framework::code { use diem_std::copyable_any::Any; use std::option::Option; use std::string; + use ol_framework::testnet; // ---------------------------------------------------------------------- // Code Publishing @@ -88,6 +89,10 @@ module diem_framework::code { /// Creating a package with incompatible upgrade policy is disabled. const EINCOMPATIBLE_POLICY_DISABLED: u64 = 0x8; + //////// 0L //////// + /// Third party contracts can be published on testnet and layer 2. Libra, not blockchain. + const ENOT_A_COMPUTE_PLATFORM: u64 = 0x9; + /// Whether unconditional code upgrade with no compatibility check is allowed. This /// publication mode should only be used for modules which aren't shared with user others. /// The developer is responsible for not breaking memory layout of any resources he already @@ -127,7 +132,35 @@ module diem_framework::code { /// Publishes a package at the given signer's address. The caller must provide package metadata describing the /// package. - public fun publish_package(owner: &signer, pack: PackageMetadata, code: vector>) acquires PackageRegistry { + public fun publish_package(owner: &signer, pack: PackageMetadata, code: + vector>) acquires PackageRegistry { + // Contract publishing is done by system resource addresses (0x1, 0x2, + // etc.) + // To defend the throughput and reliability of the chain, the layer 1 + // optimizes for the intended use of the chain (programming Libra) + // versus generalized compute (which does not use Libra). + // Despite there being no user deployment of modules, any user can craft + // Move "transaction scripts" for custom workflows which use framework + // smart contracts. Note that such transaction scripts can also be + // executed in multisig and ownerless "resource accounts" + // for community execution. + // Third party modules are possible on L2 networks, and testnet. + // If you need a specific functionality or program on the Layer 1, + // submit a pull request for module "Ascension" (for more info see: https://www.youtube.com/watch?v=jDwqPCAw_7k). + + // If it is not a reserved address this must not be chain ID 1 (mainnet) + assert!(system_addresses::is_framework_reserved_address(signer::address_of(owner)) || + testnet::is_testnet(), + ENOT_A_COMPUTE_PLATFORM + // Rise up this mornin', + // Smiled with the risin' sun, + // Three little birds + // Pitch by my doorstep + // Singin' sweet songs + // Of melodies pure and true, + // Sayin', ("This is my message to you-ou-ou:") + ); + // Disallow incompatible upgrade mode. Governance can decide later if // this should be reconsidered. assert!( diff --git a/framework/releases/head.mrb b/framework/releases/head.mrb index f9a6d13a2..50cba03bd 100644 Binary files a/framework/releases/head.mrb and b/framework/releases/head.mrb differ diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script.mv b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script.mv index 0e7cefb5f..344542f89 100644 Binary files a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script.mv and b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script.mv differ diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script_sha3 b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script_sha3 index b8960bf57..a14fee823 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script_sha3 +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/script_sha3 @@ -1 +1 @@ -55160121cdabafe018da27c4531e6e25141f939d57110e9c662b6acfbcaed589 \ No newline at end of file +b267dcd733538e5cd89e6aa6c0b42c45d96d5452ad4f7dc1dc2fa3f298f1b53a \ No newline at end of file diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/sources/1-move-stdlib.move b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/sources/1-move-stdlib.move index 306d922c9..7f6196f10 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/sources/1-move-stdlib.move +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/1-move-stdlib/sources/1-move-stdlib.move @@ -1,9 +1,9 @@ // Upgrade proposal for package `MoveStdlib` -// Framework commit hash: 85f102a0002684626b730c4168de28b54aca8236 +// Framework commit hash: 0aca1662b767111e252f971abf31b4691f16eb9a // Builder commit hash: db1137ba1f8e7301e325021f71f740063daaf76e -// Next step script hash: 3b3b30322a1bebff817c859db1c065eb10e9048793655d8b1bd9e8c8cd090455 +// Next step script hash: b169af1a1a4e0c345708e96223d16e8f2332e666ab101a63f467ea90f966a08b // source digest: CD5C8655F0340314CC68657DF89A58E257A0A88218E2B07A278A20B843E7A09E script { @@ -17,7 +17,7 @@ script { let framework_signer = diem_governance::resolve_multi_step_proposal( proposal_id, @0000000000000000000000000000000000000000000000000000000000000001, - vector[59u8,59u8,48u8,50u8,42u8,27u8,235u8,255u8,129u8,124u8,133u8,157u8,177u8,192u8,101u8,235u8,16u8,233u8,4u8,135u8,147u8,101u8,93u8,139u8,27u8,217u8,232u8,200u8,205u8,9u8,4u8,85u8,], + vector[177u8,105u8,175u8,26u8,26u8,78u8,12u8,52u8,87u8,8u8,233u8,98u8,35u8,209u8,110u8,143u8,35u8,50u8,230u8,102u8,171u8,16u8,26u8,99u8,244u8,103u8,234u8,144u8,249u8,102u8,160u8,139u8,], ); let code = vector::empty(); let code_chunk0 = @@ -644,6 +644,6 @@ script { 112u8,116u8,105u8,111u8,110u8,0u8,0u8,0u8,6u8,115u8,116u8,114u8,105u8,110u8,103u8,0u8,0u8,0u8,0u8,0u8, ]; code::publish_package_txn(&framework_signer, metadata_chunk1, code); - version::upgrade_set_git(&framework_signer, x"85f102a0002684626b730c4168de28b54aca8236") + version::upgrade_set_git(&framework_signer, x"0aca1662b767111e252f971abf31b4691f16eb9a") } } diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script.mv b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script.mv index 530d5d9ad..f8867bac5 100644 Binary files a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script.mv and b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script.mv differ diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script_sha3 b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script_sha3 index 24162f0cc..36ce42383 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script_sha3 +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/script_sha3 @@ -1 +1 @@ -3b3b30322a1bebff817c859db1c065eb10e9048793655d8b1bd9e8c8cd090455 \ No newline at end of file +b169af1a1a4e0c345708e96223d16e8f2332e666ab101a63f467ea90f966a08b \ No newline at end of file diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/sources/2-vendor-stdlib.move b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/sources/2-vendor-stdlib.move index 2622242ee..12cf60f6d 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/sources/2-vendor-stdlib.move +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/2-vendor-stdlib/sources/2-vendor-stdlib.move @@ -1,9 +1,9 @@ // Upgrade proposal for package `VendorStdlib` -// Framework commit hash: 85f102a0002684626b730c4168de28b54aca8236 +// Framework commit hash: 0aca1662b767111e252f971abf31b4691f16eb9a // Builder commit hash: db1137ba1f8e7301e325021f71f740063daaf76e -// Next step script hash: ae2e3c071a3cbc949dd441d79268e2ea575ea9eae879f1e3494456417854fc3c +// Next step script hash: d65c8d49d68fe6c5be25786e4d4688f29f3f00a62a541b7942e078599b1b654a // source digest: 5E12DDD8987B153D75378183FB77218A1FAB6038899EB9121ECD4BE94EC1D598 script { @@ -17,7 +17,7 @@ script { let framework_signer = diem_governance::resolve_multi_step_proposal( proposal_id, @0000000000000000000000000000000000000000000000000000000000000001, - vector[174u8,46u8,60u8,7u8,26u8,60u8,188u8,148u8,157u8,212u8,65u8,215u8,146u8,104u8,226u8,234u8,87u8,94u8,169u8,234u8,232u8,121u8,241u8,227u8,73u8,68u8,86u8,65u8,120u8,84u8,252u8,60u8,], + vector[214u8,92u8,141u8,73u8,214u8,143u8,230u8,197u8,190u8,37u8,120u8,110u8,77u8,70u8,136u8,242u8,159u8,63u8,0u8,166u8,42u8,84u8,27u8,121u8,66u8,224u8,120u8,89u8,155u8,27u8,101u8,74u8,], ); let code = vector::empty(); let code_chunk0 = @@ -2551,6 +2551,6 @@ script { 0u8,0u8,1u8,10u8,77u8,111u8,118u8,101u8,83u8,116u8,100u8,108u8,105u8,98u8,0u8, ]; code::publish_package_txn(&framework_signer, metadata_chunk1, code); - version::upgrade_set_git(&framework_signer, x"85f102a0002684626b730c4168de28b54aca8236") + version::upgrade_set_git(&framework_signer, x"0aca1662b767111e252f971abf31b4691f16eb9a") } } diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script.mv b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script.mv index e6161e218..0fd372d44 100644 Binary files a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script.mv and b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script.mv differ diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script_sha3 b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script_sha3 index 5b53e7bf4..e9aaed963 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script_sha3 +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/script_sha3 @@ -1 +1 @@ -ae2e3c071a3cbc949dd441d79268e2ea575ea9eae879f1e3494456417854fc3c \ No newline at end of file +d65c8d49d68fe6c5be25786e4d4688f29f3f00a62a541b7942e078599b1b654a \ No newline at end of file diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/sources/3-libra-framework.move b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/sources/3-libra-framework.move index 7b718e7c0..1f19a46cc 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/sources/3-libra-framework.move +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-multi-lib/3-libra-framework/sources/3-libra-framework.move @@ -1,11 +1,11 @@ // Upgrade proposal for package `LibraFramework` -// Framework commit hash: 85f102a0002684626b730c4168de28b54aca8236 +// Framework commit hash: 0aca1662b767111e252f971abf31b4691f16eb9a // Builder commit hash: db1137ba1f8e7301e325021f71f740063daaf76e // Next step script hash: -// source digest: DE8B6B4561D21789CEBA5E0BA83B7221927FEC62C2AF34B17A99915472627E9B +// source digest: 26FF3BCD2D4F70353C0B12919430653C71F027D7097390249D15C129F2049978 script { use std::vector; use diem_framework::diem_governance; @@ -3996,203 +3996,214 @@ script { vector::push_back(&mut code, code_chunk37); let code_chunk38 = vector[ - 161u8,28u8,235u8,11u8,6u8,0u8,0u8,0u8,12u8,1u8,0u8,18u8,2u8,18u8,38u8,3u8,56u8,117u8,4u8, - 173u8,1u8,4u8,5u8,177u8,1u8,215u8,1u8,7u8,136u8,3u8,245u8,5u8,8u8,253u8,8u8,32u8,6u8,157u8,9u8, - 168u8,3u8,16u8,197u8,12u8,159u8,6u8,10u8,228u8,18u8,77u8,12u8,177u8,19u8,209u8,10u8,13u8,130u8,30u8,20u8, + 161u8,28u8,235u8,11u8,6u8,0u8,0u8,0u8,12u8,1u8,0u8,20u8,2u8,20u8,38u8,3u8,58u8,127u8,4u8, + 185u8,1u8,4u8,5u8,189u8,1u8,216u8,1u8,7u8,149u8,3u8,166u8,6u8,8u8,187u8,9u8,32u8,6u8,219u8,9u8, + 178u8,3u8,16u8,141u8,13u8,149u8,7u8,10u8,162u8,20u8,77u8,12u8,239u8,20u8,240u8,10u8,13u8,223u8,31u8,20u8, 0u8,0u8,0u8,1u8,0u8,2u8,0u8,3u8,0u8,4u8,0u8,5u8,0u8,6u8,0u8,7u8,0u8,8u8,0u8,9u8, - 2u8,0u8,0u8,10u8,6u8,0u8,0u8,11u8,7u8,0u8,0u8,12u8,6u8,0u8,0u8,13u8,14u8,0u8,0u8,14u8, - 7u8,0u8,5u8,16u8,7u8,0u8,3u8,37u8,7u8,1u8,0u8,0u8,1u8,38u8,7u8,0u8,0u8,15u8,0u8,1u8, - 0u8,0u8,17u8,2u8,3u8,0u8,0u8,18u8,4u8,5u8,0u8,0u8,19u8,6u8,3u8,0u8,0u8,20u8,7u8,8u8, - 0u8,0u8,21u8,9u8,8u8,0u8,0u8,22u8,10u8,3u8,0u8,0u8,23u8,11u8,1u8,0u8,0u8,24u8,12u8,3u8, - 0u8,0u8,25u8,13u8,3u8,0u8,0u8,26u8,14u8,3u8,0u8,0u8,27u8,15u8,3u8,0u8,0u8,28u8,3u8,16u8, - 0u8,0u8,29u8,3u8,16u8,0u8,0u8,30u8,3u8,16u8,0u8,2u8,48u8,20u8,20u8,0u8,2u8,49u8,20u8,20u8, - 0u8,5u8,50u8,24u8,19u8,0u8,2u8,51u8,20u8,20u8,0u8,8u8,52u8,27u8,1u8,1u8,0u8,6u8,53u8,29u8, - 3u8,0u8,4u8,54u8,29u8,11u8,0u8,7u8,55u8,24u8,32u8,1u8,0u8,19u8,19u8,22u8,25u8,2u8,8u8,5u8, - 8u8,5u8,1u8,1u8,2u8,6u8,8u8,3u8,6u8,10u8,8u8,6u8,0u8,2u8,5u8,6u8,8u8,3u8,1u8,10u8, - 8u8,0u8,3u8,6u8,8u8,3u8,6u8,8u8,3u8,6u8,10u8,8u8,6u8,1u8,6u8,8u8,3u8,1u8,10u8,8u8, - 6u8,2u8,5u8,3u8,3u8,6u8,12u8,6u8,12u8,8u8,3u8,1u8,5u8,3u8,6u8,12u8,8u8,3u8,10u8,10u8, - 2u8,3u8,6u8,12u8,10u8,2u8,10u8,10u8,2u8,4u8,5u8,10u8,8u8,6u8,10u8,10u8,2u8,2u8,5u8,5u8, - 10u8,8u8,6u8,10u8,8u8,0u8,10u8,10u8,2u8,2u8,1u8,8u8,5u8,4u8,3u8,3u8,6u8,8u8,6u8,6u8, - 8u8,1u8,1u8,8u8,1u8,1u8,8u8,6u8,1u8,3u8,16u8,5u8,5u8,10u8,8u8,0u8,6u8,8u8,2u8,6u8, - 8u8,3u8,6u8,10u8,8u8,2u8,1u8,3u8,3u8,3u8,3u8,8u8,6u8,8u8,6u8,3u8,3u8,6u8,8u8,4u8, - 1u8,8u8,0u8,1u8,8u8,2u8,1u8,10u8,2u8,1u8,8u8,3u8,3u8,8u8,5u8,3u8,10u8,8u8,6u8,2u8, - 6u8,10u8,9u8,0u8,6u8,9u8,0u8,2u8,3u8,10u8,8u8,6u8,1u8,6u8,12u8,9u8,1u8,1u8,1u8,1u8, - 1u8,1u8,1u8,1u8,1u8,12u8,8u8,5u8,3u8,5u8,10u8,8u8,0u8,3u8,7u8,10u8,8u8,3u8,3u8,3u8, - 10u8,8u8,6u8,6u8,8u8,3u8,8u8,5u8,3u8,1u8,9u8,0u8,4u8,99u8,111u8,100u8,101u8,12u8,99u8,111u8, - 112u8,121u8,97u8,98u8,108u8,101u8,95u8,97u8,110u8,121u8,5u8,101u8,114u8,114u8,111u8,114u8,6u8,111u8,112u8,116u8, - 105u8,111u8,110u8,6u8,115u8,105u8,103u8,110u8,101u8,114u8,6u8,115u8,116u8,114u8,105u8,110u8,103u8,16u8,115u8,121u8, - 115u8,116u8,101u8,109u8,95u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,101u8,115u8,4u8,117u8,116u8,105u8,108u8,6u8, - 118u8,101u8,99u8,116u8,111u8,114u8,10u8,65u8,108u8,108u8,111u8,119u8,101u8,100u8,68u8,101u8,112u8,14u8,77u8,111u8, - 100u8,117u8,108u8,101u8,77u8,101u8,116u8,97u8,100u8,97u8,116u8,97u8,10u8,80u8,97u8,99u8,107u8,97u8,103u8,101u8, - 68u8,101u8,112u8,15u8,80u8,97u8,99u8,107u8,97u8,103u8,101u8,77u8,101u8,116u8,97u8,100u8,97u8,116u8,97u8,15u8, - 80u8,97u8,99u8,107u8,97u8,103u8,101u8,82u8,101u8,103u8,105u8,115u8,116u8,114u8,121u8,13u8,85u8,112u8,103u8,114u8, - 97u8,100u8,101u8,80u8,111u8,108u8,105u8,99u8,121u8,28u8,99u8,97u8,110u8,95u8,99u8,104u8,97u8,110u8,103u8,101u8, - 95u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,116u8,111u8,6u8,83u8, - 116u8,114u8,105u8,110u8,103u8,17u8,99u8,104u8,101u8,99u8,107u8,95u8,99u8,111u8,101u8,120u8,105u8,115u8,116u8,101u8, - 110u8,99u8,101u8,18u8,99u8,104u8,101u8,99u8,107u8,95u8,100u8,101u8,112u8,101u8,110u8,100u8,101u8,110u8,99u8,105u8, - 101u8,115u8,19u8,99u8,104u8,101u8,99u8,107u8,95u8,117u8,112u8,103u8,114u8,97u8,100u8,97u8,98u8,105u8,108u8,105u8, - 116u8,121u8,16u8,103u8,101u8,116u8,95u8,109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,115u8,34u8, - 103u8,101u8,116u8,95u8,109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,115u8,95u8,102u8,111u8,114u8, - 95u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,95u8,105u8,110u8,100u8,101u8,120u8,10u8,105u8,110u8,105u8,116u8,105u8, - 97u8,108u8,105u8,122u8,101u8,26u8,105u8,115u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,101u8,120u8,101u8,109u8, - 112u8,116u8,101u8,100u8,95u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,15u8,112u8,117u8,98u8,108u8,105u8,115u8,104u8, - 95u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,19u8,112u8,117u8,98u8,108u8,105u8,115u8,104u8,95u8,112u8,97u8,99u8, - 107u8,97u8,103u8,101u8,95u8,116u8,120u8,110u8,15u8,114u8,101u8,113u8,117u8,101u8,115u8,116u8,95u8,112u8,117u8,98u8, - 108u8,105u8,115u8,104u8,33u8,114u8,101u8,113u8,117u8,101u8,115u8,116u8,95u8,112u8,117u8,98u8,108u8,105u8,115u8,104u8, - 95u8,119u8,105u8,116u8,104u8,95u8,97u8,108u8,108u8,111u8,119u8,101u8,100u8,95u8,100u8,101u8,112u8,115u8,24u8,117u8, - 112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,97u8,114u8,98u8,105u8,116u8,114u8, - 97u8,114u8,121u8,21u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,99u8, - 111u8,109u8,112u8,97u8,116u8,24u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8, - 95u8,105u8,109u8,109u8,117u8,116u8,97u8,98u8,108u8,101u8,7u8,97u8,99u8,99u8,111u8,117u8,110u8,116u8,11u8,109u8, - 111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,4u8,110u8,97u8,109u8,101u8,6u8,115u8,111u8,117u8,114u8, - 99u8,101u8,10u8,115u8,111u8,117u8,114u8,99u8,101u8,95u8,109u8,97u8,112u8,9u8,101u8,120u8,116u8,101u8,110u8,115u8, - 105u8,111u8,110u8,6u8,79u8,112u8,116u8,105u8,111u8,110u8,3u8,65u8,110u8,121u8,12u8,112u8,97u8,99u8,107u8,97u8, - 103u8,101u8,95u8,110u8,97u8,109u8,101u8,14u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8, - 99u8,121u8,14u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,110u8,117u8,109u8,98u8,101u8,114u8,13u8,115u8,111u8, - 117u8,114u8,99u8,101u8,95u8,100u8,105u8,103u8,101u8,115u8,116u8,8u8,109u8,97u8,110u8,105u8,102u8,101u8,115u8,116u8, - 7u8,109u8,111u8,100u8,117u8,108u8,101u8,115u8,4u8,100u8,101u8,112u8,115u8,8u8,112u8,97u8,99u8,107u8,97u8,103u8, - 101u8,115u8,6u8,112u8,111u8,108u8,105u8,99u8,121u8,14u8,97u8,108u8,114u8,101u8,97u8,100u8,121u8,95u8,101u8,120u8, - 105u8,115u8,116u8,115u8,9u8,110u8,111u8,116u8,95u8,102u8,111u8,117u8,110u8,100u8,4u8,117u8,116u8,102u8,56u8,16u8, - 105u8,110u8,118u8,97u8,108u8,105u8,100u8,95u8,97u8,114u8,103u8,117u8,109u8,101u8,110u8,116u8,8u8,99u8,111u8,110u8, - 116u8,97u8,105u8,110u8,115u8,21u8,97u8,115u8,115u8,101u8,114u8,116u8,95u8,100u8,105u8,101u8,109u8,95u8,102u8,114u8, - 97u8,109u8,101u8,119u8,111u8,114u8,107u8,10u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,95u8,111u8,102u8,10u8,102u8, - 114u8,111u8,109u8,95u8,98u8,121u8,116u8,101u8,115u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,10u8,2u8,0u8,0u8,11u8,6u8,0u8,0u8,12u8,7u8,0u8,0u8,13u8,6u8,0u8,0u8,14u8,14u8,0u8, + 0u8,15u8,7u8,0u8,5u8,17u8,7u8,0u8,3u8,38u8,7u8,1u8,0u8,0u8,1u8,39u8,7u8,0u8,0u8,16u8, + 0u8,1u8,0u8,0u8,18u8,2u8,3u8,0u8,0u8,19u8,4u8,5u8,0u8,0u8,20u8,6u8,3u8,0u8,0u8,21u8, + 7u8,8u8,0u8,0u8,22u8,9u8,8u8,0u8,0u8,23u8,10u8,3u8,0u8,0u8,24u8,11u8,1u8,0u8,0u8,25u8, + 12u8,3u8,0u8,0u8,26u8,13u8,3u8,0u8,0u8,27u8,14u8,3u8,0u8,0u8,28u8,15u8,3u8,0u8,0u8,29u8, + 3u8,16u8,0u8,0u8,30u8,3u8,16u8,0u8,0u8,31u8,3u8,16u8,0u8,2u8,49u8,20u8,20u8,0u8,2u8,50u8, + 20u8,20u8,0u8,5u8,51u8,24u8,19u8,0u8,2u8,52u8,20u8,20u8,0u8,9u8,53u8,27u8,1u8,1u8,0u8,6u8, + 54u8,29u8,3u8,0u8,4u8,55u8,29u8,11u8,0u8,6u8,56u8,11u8,1u8,0u8,7u8,57u8,3u8,1u8,0u8,8u8, + 58u8,24u8,32u8,1u8,0u8,19u8,19u8,24u8,25u8,2u8,8u8,5u8,8u8,5u8,1u8,1u8,2u8,6u8,8u8,3u8, + 6u8,10u8,8u8,6u8,0u8,2u8,5u8,6u8,8u8,3u8,1u8,10u8,8u8,0u8,3u8,6u8,8u8,3u8,6u8,8u8, + 3u8,6u8,10u8,8u8,6u8,1u8,6u8,8u8,3u8,1u8,10u8,8u8,6u8,2u8,5u8,3u8,3u8,6u8,12u8,6u8, + 12u8,8u8,3u8,1u8,5u8,3u8,6u8,12u8,8u8,3u8,10u8,10u8,2u8,3u8,6u8,12u8,10u8,2u8,10u8,10u8, + 2u8,4u8,5u8,10u8,8u8,6u8,10u8,10u8,2u8,2u8,5u8,5u8,10u8,8u8,6u8,10u8,8u8,0u8,10u8,10u8, + 2u8,2u8,1u8,8u8,5u8,4u8,3u8,3u8,6u8,8u8,6u8,6u8,8u8,1u8,1u8,8u8,1u8,1u8,8u8,6u8, + 1u8,3u8,16u8,5u8,5u8,10u8,8u8,0u8,6u8,8u8,2u8,6u8,8u8,3u8,6u8,10u8,8u8,2u8,1u8,3u8, + 3u8,3u8,3u8,8u8,6u8,8u8,6u8,3u8,3u8,6u8,8u8,4u8,1u8,8u8,0u8,1u8,8u8,2u8,1u8,10u8, + 2u8,1u8,8u8,3u8,3u8,8u8,5u8,3u8,10u8,8u8,6u8,2u8,6u8,10u8,9u8,0u8,6u8,9u8,0u8,2u8, + 3u8,10u8,8u8,6u8,1u8,6u8,12u8,9u8,1u8,1u8,1u8,1u8,1u8,1u8,1u8,1u8,1u8,13u8,1u8,8u8, + 5u8,3u8,5u8,10u8,8u8,0u8,3u8,7u8,10u8,8u8,3u8,3u8,3u8,10u8,8u8,6u8,6u8,8u8,3u8,8u8, + 5u8,3u8,1u8,9u8,0u8,4u8,99u8,111u8,100u8,101u8,12u8,99u8,111u8,112u8,121u8,97u8,98u8,108u8,101u8,95u8, + 97u8,110u8,121u8,5u8,101u8,114u8,114u8,111u8,114u8,6u8,111u8,112u8,116u8,105u8,111u8,110u8,6u8,115u8,105u8,103u8, + 110u8,101u8,114u8,6u8,115u8,116u8,114u8,105u8,110u8,103u8,16u8,115u8,121u8,115u8,116u8,101u8,109u8,95u8,97u8,100u8, + 100u8,114u8,101u8,115u8,115u8,101u8,115u8,7u8,116u8,101u8,115u8,116u8,110u8,101u8,116u8,4u8,117u8,116u8,105u8,108u8, + 6u8,118u8,101u8,99u8,116u8,111u8,114u8,10u8,65u8,108u8,108u8,111u8,119u8,101u8,100u8,68u8,101u8,112u8,14u8,77u8, + 111u8,100u8,117u8,108u8,101u8,77u8,101u8,116u8,97u8,100u8,97u8,116u8,97u8,10u8,80u8,97u8,99u8,107u8,97u8,103u8, + 101u8,68u8,101u8,112u8,15u8,80u8,97u8,99u8,107u8,97u8,103u8,101u8,77u8,101u8,116u8,97u8,100u8,97u8,116u8,97u8, + 15u8,80u8,97u8,99u8,107u8,97u8,103u8,101u8,82u8,101u8,103u8,105u8,115u8,116u8,114u8,121u8,13u8,85u8,112u8,103u8, + 114u8,97u8,100u8,101u8,80u8,111u8,108u8,105u8,99u8,121u8,28u8,99u8,97u8,110u8,95u8,99u8,104u8,97u8,110u8,103u8, + 101u8,95u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,116u8,111u8,6u8, + 83u8,116u8,114u8,105u8,110u8,103u8,17u8,99u8,104u8,101u8,99u8,107u8,95u8,99u8,111u8,101u8,120u8,105u8,115u8,116u8, + 101u8,110u8,99u8,101u8,18u8,99u8,104u8,101u8,99u8,107u8,95u8,100u8,101u8,112u8,101u8,110u8,100u8,101u8,110u8,99u8, + 105u8,101u8,115u8,19u8,99u8,104u8,101u8,99u8,107u8,95u8,117u8,112u8,103u8,114u8,97u8,100u8,97u8,98u8,105u8,108u8, + 105u8,116u8,121u8,16u8,103u8,101u8,116u8,95u8,109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,115u8, + 34u8,103u8,101u8,116u8,95u8,109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,115u8,95u8,102u8,111u8, + 114u8,95u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,95u8,105u8,110u8,100u8,101u8,120u8,10u8,105u8,110u8,105u8,116u8, + 105u8,97u8,108u8,105u8,122u8,101u8,26u8,105u8,115u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,101u8,120u8,101u8, + 109u8,112u8,116u8,101u8,100u8,95u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,15u8,112u8,117u8,98u8,108u8,105u8,115u8, + 104u8,95u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,19u8,112u8,117u8,98u8,108u8,105u8,115u8,104u8,95u8,112u8,97u8, + 99u8,107u8,97u8,103u8,101u8,95u8,116u8,120u8,110u8,15u8,114u8,101u8,113u8,117u8,101u8,115u8,116u8,95u8,112u8,117u8, + 98u8,108u8,105u8,115u8,104u8,33u8,114u8,101u8,113u8,117u8,101u8,115u8,116u8,95u8,112u8,117u8,98u8,108u8,105u8,115u8, + 104u8,95u8,119u8,105u8,116u8,104u8,95u8,97u8,108u8,108u8,111u8,119u8,101u8,100u8,95u8,100u8,101u8,112u8,115u8,24u8, + 117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8,97u8,114u8,98u8,105u8,116u8, + 114u8,97u8,114u8,121u8,21u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8,121u8,95u8, + 99u8,111u8,109u8,112u8,97u8,116u8,24u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8,105u8,99u8, + 121u8,95u8,105u8,109u8,109u8,117u8,116u8,97u8,98u8,108u8,101u8,7u8,97u8,99u8,99u8,111u8,117u8,110u8,116u8,11u8, + 109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,4u8,110u8,97u8,109u8,101u8,6u8,115u8,111u8,117u8, + 114u8,99u8,101u8,10u8,115u8,111u8,117u8,114u8,99u8,101u8,95u8,109u8,97u8,112u8,9u8,101u8,120u8,116u8,101u8,110u8, + 115u8,105u8,111u8,110u8,6u8,79u8,112u8,116u8,105u8,111u8,110u8,3u8,65u8,110u8,121u8,12u8,112u8,97u8,99u8,107u8, + 97u8,103u8,101u8,95u8,110u8,97u8,109u8,101u8,14u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,112u8,111u8,108u8, + 105u8,99u8,121u8,14u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,95u8,110u8,117u8,109u8,98u8,101u8,114u8,13u8,115u8, + 111u8,117u8,114u8,99u8,101u8,95u8,100u8,105u8,103u8,101u8,115u8,116u8,8u8,109u8,97u8,110u8,105u8,102u8,101u8,115u8, + 116u8,7u8,109u8,111u8,100u8,117u8,108u8,101u8,115u8,4u8,100u8,101u8,112u8,115u8,8u8,112u8,97u8,99u8,107u8,97u8, + 103u8,101u8,115u8,6u8,112u8,111u8,108u8,105u8,99u8,121u8,14u8,97u8,108u8,114u8,101u8,97u8,100u8,121u8,95u8,101u8, + 120u8,105u8,115u8,116u8,115u8,9u8,110u8,111u8,116u8,95u8,102u8,111u8,117u8,110u8,100u8,4u8,117u8,116u8,102u8,56u8, + 16u8,105u8,110u8,118u8,97u8,108u8,105u8,100u8,95u8,97u8,114u8,103u8,117u8,109u8,101u8,110u8,116u8,8u8,99u8,111u8, + 110u8,116u8,97u8,105u8,110u8,115u8,21u8,97u8,115u8,115u8,101u8,114u8,116u8,95u8,100u8,105u8,101u8,109u8,95u8,102u8, + 114u8,97u8,109u8,101u8,119u8,111u8,114u8,107u8,10u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,95u8,111u8,102u8,29u8, + 105u8,115u8,95u8,102u8,114u8,97u8,109u8,101u8,119u8,111u8,114u8,107u8,95u8,114u8,101u8,115u8,101u8,114u8,118u8,101u8, + 100u8,95u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,10u8,105u8,115u8,95u8,116u8,101u8,115u8,116u8,110u8,101u8,116u8, + 10u8,102u8,114u8,111u8,109u8,95u8,98u8,121u8,116u8,101u8,115u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 1u8,3u8,8u8,7u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,3u8,8u8,8u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,4u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,3u8,8u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,5u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,3u8,8u8,2u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,3u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,10u8,2u8,1u8,0u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,1u8,5u8, - 32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,2u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,1u8,3u8,8u8,7u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,6u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,3u8,8u8,8u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,4u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,3u8,8u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,9u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,3u8,8u8,5u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,8u8,2u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,3u8,8u8,3u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,10u8,2u8,1u8,0u8,5u8,32u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,3u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,1u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 4u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,5u8,5u8,32u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,2u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,3u8,5u8, + 32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,4u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,6u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,5u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,7u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,8u8,5u8,32u8,0u8, + 6u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,7u8,5u8,32u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,9u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,8u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,10u8,17u8,100u8,105u8,101u8,109u8,58u8,58u8,109u8,101u8,116u8,97u8,100u8,97u8,116u8,97u8, - 95u8,118u8,49u8,139u8,6u8,8u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,18u8,69u8,77u8,79u8,68u8,85u8, - 76u8,69u8,95u8,78u8,65u8,77u8,69u8,95u8,67u8,76u8,65u8,83u8,72u8,104u8,80u8,97u8,99u8,107u8,97u8,103u8, - 101u8,32u8,99u8,111u8,110u8,116u8,97u8,105u8,110u8,115u8,32u8,100u8,117u8,112u8,108u8,105u8,99u8,97u8,116u8,101u8, - 32u8,109u8,111u8,100u8,117u8,108u8,101u8,32u8,110u8,97u8,109u8,101u8,115u8,32u8,119u8,105u8,116u8,104u8,32u8,101u8, - 120u8,105u8,115u8,116u8,105u8,110u8,103u8,32u8,109u8,111u8,100u8,117u8,108u8,101u8,115u8,32u8,112u8,117u8,98u8,108u8, - 105u8,115u8,101u8,100u8,32u8,105u8,110u8,32u8,111u8,116u8,104u8,101u8,114u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8, - 101u8,115u8,32u8,111u8,110u8,32u8,116u8,104u8,105u8,115u8,32u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,2u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,18u8,69u8,85u8,80u8,71u8,82u8,65u8,68u8,69u8,95u8,73u8,77u8,77u8,85u8, - 84u8,65u8,66u8,76u8,69u8,35u8,67u8,97u8,110u8,110u8,111u8,116u8,32u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8, - 32u8,97u8,110u8,32u8,105u8,109u8,109u8,117u8,116u8,97u8,98u8,108u8,101u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8, - 101u8,3u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,69u8,85u8,80u8,71u8,82u8,65u8,68u8,69u8,95u8,87u8, - 69u8,65u8,75u8,69u8,82u8,95u8,80u8,79u8,76u8,73u8,67u8,89u8,49u8,67u8,97u8,110u8,110u8,111u8,116u8,32u8, - 100u8,111u8,119u8,110u8,103u8,114u8,97u8,100u8,101u8,32u8,97u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,39u8, - 115u8,32u8,117u8,112u8,103u8,114u8,97u8,100u8,97u8,98u8,105u8,108u8,105u8,116u8,121u8,32u8,112u8,111u8,108u8,105u8, - 99u8,121u8,4u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,15u8,69u8,77u8,79u8,68u8,85u8,76u8,69u8,95u8,77u8, - 73u8,83u8,83u8,73u8,78u8,71u8,61u8,67u8,97u8,110u8,110u8,111u8,116u8,32u8,100u8,101u8,108u8,101u8,116u8,101u8, - 32u8,97u8,32u8,109u8,111u8,100u8,117u8,108u8,101u8,32u8,116u8,104u8,97u8,116u8,32u8,119u8,97u8,115u8,32u8,112u8, - 117u8,98u8,108u8,105u8,115u8,104u8,101u8,100u8,32u8,105u8,110u8,32u8,116u8,104u8,101u8,32u8,115u8,97u8,109u8,101u8, - 32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,5u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,20u8,69u8,80u8,65u8, - 67u8,75u8,65u8,71u8,69u8,95u8,68u8,69u8,80u8,95u8,77u8,73u8,83u8,83u8,73u8,78u8,71u8,58u8,68u8,101u8, - 112u8,101u8,110u8,100u8,101u8,110u8,99u8,121u8,32u8,99u8,111u8,117u8,108u8,100u8,32u8,110u8,111u8,116u8,32u8,98u8, - 101u8,32u8,114u8,101u8,115u8,111u8,108u8,118u8,101u8,100u8,32u8,116u8,111u8,32u8,97u8,110u8,121u8,32u8,112u8,117u8, - 98u8,108u8,105u8,115u8,104u8,101u8,100u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,46u8,6u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,18u8,69u8,68u8,69u8,80u8,95u8,87u8,69u8,65u8,75u8,69u8,82u8,95u8,80u8,79u8,76u8, - 73u8,67u8,89u8,49u8,65u8,32u8,100u8,101u8,112u8,101u8,110u8,100u8,101u8,110u8,99u8,121u8,32u8,99u8,97u8,110u8, - 110u8,111u8,116u8,32u8,104u8,97u8,118u8,101u8,32u8,97u8,32u8,119u8,101u8,97u8,107u8,101u8,114u8,32u8,117u8,112u8, - 103u8,114u8,97u8,100u8,101u8,32u8,112u8,111u8,108u8,105u8,99u8,121u8,46u8,7u8,0u8,0u8,0u8,0u8,0u8,0u8, - 0u8,31u8,69u8,68u8,69u8,80u8,95u8,65u8,82u8,66u8,73u8,84u8,82u8,65u8,82u8,89u8,95u8,78u8,79u8,84u8, - 95u8,83u8,65u8,77u8,69u8,95u8,65u8,68u8,68u8,82u8,69u8,83u8,83u8,67u8,65u8,32u8,100u8,101u8,112u8,101u8, - 110u8,100u8,101u8,110u8,99u8,121u8,32u8,116u8,111u8,32u8,97u8,110u8,32u8,96u8,97u8,114u8,98u8,105u8,116u8,114u8, - 97u8,114u8,121u8,96u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,32u8,109u8,117u8,115u8,116u8,32u8,98u8,101u8, - 32u8,111u8,110u8,32u8,116u8,104u8,101u8,32u8,115u8,97u8,109u8,101u8,32u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8, - 46u8,8u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,29u8,69u8,73u8,78u8,67u8,79u8,77u8,80u8,65u8,84u8,73u8, - 66u8,76u8,69u8,95u8,80u8,79u8,76u8,73u8,67u8,89u8,95u8,68u8,73u8,83u8,65u8,66u8,76u8,69u8,68u8,64u8, - 67u8,114u8,101u8,97u8,116u8,105u8,110u8,103u8,32u8,97u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,32u8,119u8, - 105u8,116u8,104u8,32u8,105u8,110u8,99u8,111u8,109u8,112u8,97u8,116u8,105u8,98u8,108u8,101u8,32u8,117u8,112u8,103u8, - 114u8,97u8,100u8,101u8,32u8,112u8,111u8,108u8,105u8,99u8,121u8,32u8,105u8,115u8,32u8,100u8,105u8,115u8,97u8,98u8, - 108u8,101u8,100u8,46u8,0u8,1u8,34u8,103u8,101u8,116u8,95u8,109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8, - 109u8,101u8,115u8,95u8,102u8,111u8,114u8,95u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,95u8,105u8,110u8,100u8,101u8, - 120u8,1u8,1u8,0u8,0u8,2u8,2u8,31u8,5u8,32u8,8u8,6u8,1u8,2u8,4u8,33u8,8u8,6u8,34u8,10u8, - 2u8,35u8,10u8,2u8,36u8,11u8,7u8,1u8,8u8,8u8,2u8,2u8,2u8,31u8,5u8,39u8,8u8,6u8,3u8,2u8, - 8u8,33u8,8u8,6u8,40u8,8u8,5u8,41u8,3u8,42u8,8u8,6u8,43u8,10u8,2u8,44u8,10u8,8u8,1u8,45u8, - 10u8,8u8,2u8,36u8,11u8,7u8,1u8,8u8,8u8,4u8,2u8,1u8,46u8,10u8,8u8,3u8,5u8,2u8,1u8,47u8, - 2u8,0u8,1u8,0u8,0u8,3u8,8u8,14u8,0u8,16u8,0u8,20u8,14u8,1u8,16u8,0u8,20u8,37u8,2u8,1u8, - 0u8,0u8,0u8,17u8,58u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,2u8,10u8,2u8,10u8,0u8, - 16u8,1u8,65u8,18u8,35u8,4u8,53u8,5u8,9u8,10u8,0u8,16u8,1u8,10u8,2u8,66u8,18u8,12u8,5u8,6u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,3u8,10u8,3u8,10u8,1u8,65u8,19u8,35u8,4u8,46u8,5u8, - 22u8,10u8,1u8,10u8,3u8,66u8,19u8,12u8,4u8,10u8,5u8,16u8,2u8,11u8,4u8,34u8,4u8,32u8,5u8,41u8, - 11u8,0u8,1u8,11u8,5u8,1u8,11u8,1u8,1u8,7u8,4u8,17u8,15u8,39u8,11u8,3u8,6u8,1u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,22u8,12u8,3u8,5u8,16u8,11u8,5u8,1u8,11u8,2u8,6u8,1u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,22u8,12u8,2u8,5u8,2u8,11u8,0u8,1u8,11u8,1u8,1u8,2u8,2u8,0u8,0u8,1u8, - 4u8,21u8,202u8,1u8,64u8,22u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,4u8,10u8,1u8,16u8,3u8, - 12u8,7u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,9u8,10u8,7u8,65u8,23u8,12u8,15u8,10u8, - 9u8,10u8,15u8,35u8,4u8,196u8,1u8,5u8,15u8,10u8,7u8,10u8,9u8,66u8,23u8,12u8,5u8,10u8,5u8,16u8, - 4u8,20u8,41u8,4u8,4u8,25u8,5u8,34u8,11u8,1u8,1u8,11u8,7u8,1u8,11u8,5u8,1u8,7u8,5u8,17u8, - 16u8,39u8,10u8,5u8,16u8,4u8,20u8,17u8,7u8,4u8,56u8,11u8,5u8,16u8,4u8,20u8,12u8,2u8,7u8,8u8, - 17u8,17u8,12u8,13u8,13u8,4u8,11u8,2u8,11u8,13u8,18u8,0u8,68u8,22u8,11u8,9u8,6u8,1u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,22u8,12u8,9u8,5u8,10u8,10u8,5u8,16u8,4u8,20u8,43u8,4u8,12u8,17u8,6u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,10u8,10u8,17u8,16u8,5u8,65u8,25u8,12u8,12u8,9u8,12u8, - 8u8,10u8,10u8,10u8,12u8,35u8,4u8,181u8,1u8,5u8,74u8,10u8,17u8,16u8,5u8,10u8,10u8,66u8,25u8,12u8, - 6u8,10u8,6u8,16u8,6u8,20u8,10u8,5u8,16u8,7u8,20u8,33u8,4u8,174u8,1u8,11u8,17u8,1u8,8u8,12u8, - 8u8,10u8,6u8,16u8,8u8,16u8,0u8,20u8,10u8,1u8,16u8,8u8,16u8,0u8,20u8,38u8,4u8,102u8,5u8,113u8, - 11u8,1u8,1u8,11u8,7u8,1u8,11u8,6u8,1u8,11u8,5u8,1u8,7u8,1u8,17u8,18u8,39u8,10u8,6u8,16u8, - 8u8,20u8,17u8,12u8,33u8,4u8,137u8,1u8,10u8,5u8,16u8,4u8,20u8,10u8,0u8,33u8,4u8,126u8,5u8,137u8, - 1u8,11u8,1u8,1u8,11u8,7u8,1u8,11u8,6u8,1u8,11u8,5u8,1u8,7u8,0u8,17u8,18u8,39u8,6u8,0u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,11u8,10u8,6u8,16u8,1u8,65u8,18u8,12u8,16u8,10u8,11u8,10u8, - 16u8,35u8,4u8,169u8,1u8,5u8,148u8,1u8,10u8,5u8,16u8,4u8,20u8,12u8,3u8,10u8,6u8,16u8,1u8,10u8, - 11u8,66u8,18u8,16u8,2u8,20u8,12u8,14u8,13u8,4u8,11u8,3u8,11u8,14u8,18u8,0u8,68u8,22u8,11u8,11u8, - 6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,11u8,5u8,143u8,1u8,11u8,6u8,1u8,11u8,5u8, - 1u8,5u8,181u8,1u8,11u8,6u8,1u8,11u8,10u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8, - 10u8,5u8,69u8,11u8,8u8,4u8,184u8,1u8,5u8,191u8,1u8,11u8,1u8,1u8,11u8,7u8,1u8,7u8,5u8,17u8, - 16u8,39u8,11u8,9u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,9u8,5u8,10u8,11u8,1u8, - 1u8,11u8,7u8,1u8,11u8,4u8,2u8,3u8,0u8,0u8,0u8,26u8,67u8,17u8,14u8,12u8,3u8,10u8,0u8,16u8, - 8u8,16u8,0u8,20u8,14u8,3u8,16u8,0u8,20u8,35u8,4u8,12u8,5u8,21u8,11u8,0u8,1u8,11u8,1u8,1u8, - 11u8,2u8,1u8,7u8,6u8,17u8,18u8,39u8,10u8,0u8,16u8,8u8,20u8,11u8,1u8,16u8,8u8,20u8,17u8,0u8, - 4u8,30u8,5u8,37u8,11u8,0u8,1u8,11u8,2u8,1u8,7u8,7u8,17u8,18u8,39u8,11u8,0u8,17u8,4u8,12u8, - 5u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,4u8,10u8,4u8,14u8,5u8,65u8,19u8,35u8,4u8, - 64u8,5u8,48u8,10u8,2u8,14u8,5u8,10u8,4u8,66u8,19u8,56u8,0u8,4u8,55u8,5u8,59u8,11u8,2u8,1u8, - 7u8,3u8,39u8,11u8,4u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,4u8,5u8,42u8,11u8, - 2u8,1u8,2u8,4u8,0u8,0u8,0u8,28u8,28u8,64u8,19u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8, - 2u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,1u8,10u8,1u8,10u8,0u8,16u8,1u8,65u8,18u8, - 35u8,4u8,24u8,5u8,11u8,13u8,2u8,10u8,0u8,16u8,1u8,10u8,1u8,66u8,18u8,16u8,2u8,20u8,68u8,19u8, - 11u8,1u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,1u8,5u8,4u8,11u8,0u8,1u8,11u8, - 2u8,2u8,5u8,1u8,0u8,1u8,4u8,3u8,7u8,11u8,0u8,43u8,4u8,16u8,5u8,11u8,1u8,66u8,25u8,17u8, - 4u8,2u8,6u8,0u8,0u8,1u8,4u8,11u8,23u8,11u8,0u8,17u8,20u8,10u8,1u8,17u8,21u8,12u8,3u8,10u8, - 3u8,41u8,4u8,32u8,4u8,15u8,11u8,1u8,11u8,2u8,64u8,25u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, - 18u8,4u8,45u8,4u8,5u8,22u8,11u8,1u8,1u8,11u8,3u8,42u8,4u8,15u8,5u8,11u8,2u8,68u8,25u8,2u8, - 7u8,0u8,0u8,0u8,30u8,85u8,10u8,0u8,7u8,9u8,33u8,4u8,7u8,8u8,12u8,1u8,5u8,11u8,10u8,0u8, - 7u8,10u8,33u8,12u8,1u8,11u8,1u8,4u8,16u8,8u8,12u8,2u8,5u8,20u8,10u8,0u8,7u8,11u8,33u8,12u8, - 2u8,11u8,2u8,4u8,25u8,8u8,12u8,3u8,5u8,29u8,10u8,0u8,7u8,12u8,33u8,12u8,3u8,11u8,3u8,4u8, - 34u8,8u8,12u8,4u8,5u8,38u8,10u8,0u8,7u8,13u8,33u8,12u8,4u8,11u8,4u8,4u8,43u8,8u8,12u8,5u8, - 5u8,47u8,10u8,0u8,7u8,14u8,33u8,12u8,5u8,11u8,5u8,4u8,52u8,8u8,12u8,6u8,5u8,56u8,10u8,0u8, - 7u8,15u8,33u8,12u8,6u8,11u8,6u8,4u8,61u8,8u8,12u8,7u8,5u8,65u8,10u8,0u8,7u8,16u8,33u8,12u8, - 7u8,11u8,7u8,4u8,70u8,8u8,12u8,8u8,5u8,74u8,10u8,0u8,7u8,17u8,33u8,12u8,8u8,11u8,8u8,4u8, - 79u8,8u8,12u8,9u8,5u8,83u8,11u8,0u8,7u8,18u8,33u8,12u8,9u8,11u8,9u8,2u8,8u8,1u8,0u8,1u8, - 4u8,31u8,123u8,17u8,12u8,12u8,3u8,14u8,1u8,16u8,8u8,16u8,0u8,20u8,14u8,3u8,16u8,0u8,20u8,36u8, - 4u8,12u8,5u8,17u8,11u8,0u8,1u8,7u8,2u8,17u8,18u8,39u8,10u8,0u8,17u8,21u8,12u8,5u8,10u8,5u8, - 41u8,4u8,32u8,4u8,29u8,11u8,0u8,64u8,25u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,18u8,4u8,45u8, - 4u8,5u8,31u8,11u8,0u8,1u8,10u8,5u8,14u8,1u8,17u8,2u8,12u8,6u8,14u8,1u8,17u8,4u8,12u8,11u8, - 10u8,5u8,42u8,4u8,15u8,5u8,12u8,8u8,10u8,8u8,46u8,65u8,25u8,12u8,7u8,10u8,7u8,12u8,10u8,6u8, - 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,9u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8, - 14u8,10u8,9u8,10u8,7u8,35u8,4u8,93u8,5u8,57u8,10u8,8u8,10u8,9u8,12u8,4u8,46u8,11u8,4u8,66u8, - 25u8,12u8,12u8,10u8,12u8,16u8,6u8,20u8,14u8,1u8,16u8,6u8,20u8,33u8,4u8,85u8,10u8,12u8,16u8,9u8, - 20u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,14u8,11u8,12u8,14u8,1u8,14u8,11u8,17u8, - 3u8,10u8,9u8,12u8,10u8,5u8,88u8,11u8,12u8,14u8,11u8,17u8,1u8,11u8,9u8,6u8,1u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,22u8,12u8,9u8,5u8,52u8,11u8,14u8,13u8,1u8,15u8,9u8,21u8,14u8,1u8,16u8,8u8, - 20u8,12u8,13u8,10u8,10u8,11u8,7u8,35u8,4u8,111u8,11u8,1u8,11u8,8u8,11u8,10u8,67u8,25u8,21u8,5u8, - 114u8,11u8,8u8,11u8,1u8,68u8,25u8,11u8,5u8,11u8,11u8,11u8,6u8,11u8,2u8,14u8,13u8,16u8,0u8,20u8, - 17u8,11u8,2u8,9u8,1u8,4u8,1u8,4u8,3u8,6u8,11u8,0u8,11u8,1u8,56u8,1u8,11u8,2u8,17u8,8u8, - 2u8,10u8,0u8,2u8,0u8,11u8,0u8,2u8,0u8,12u8,1u8,0u8,0u8,3u8,3u8,49u8,0u8,18u8,5u8,2u8, - 13u8,1u8,0u8,0u8,3u8,3u8,49u8,1u8,18u8,5u8,2u8,14u8,1u8,0u8,0u8,3u8,3u8,49u8,2u8,18u8, - 5u8,2u8,5u8,0u8,3u8,5u8,1u8,0u8,3u8,6u8,2u8,0u8,4u8,0u8,3u8,0u8,2u8,1u8,3u8,1u8, - 3u8,2u8,0u8, + 0u8,0u8,9u8,5u8,32u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,10u8,17u8,100u8,105u8, + 101u8,109u8,58u8,58u8,109u8,101u8,116u8,97u8,100u8,97u8,116u8,97u8,95u8,118u8,49u8,129u8,7u8,9u8,1u8,0u8, + 0u8,0u8,0u8,0u8,0u8,0u8,18u8,69u8,77u8,79u8,68u8,85u8,76u8,69u8,95u8,78u8,65u8,77u8,69u8,95u8, + 67u8,76u8,65u8,83u8,72u8,104u8,80u8,97u8,99u8,107u8,97u8,103u8,101u8,32u8,99u8,111u8,110u8,116u8,97u8,105u8, + 110u8,115u8,32u8,100u8,117u8,112u8,108u8,105u8,99u8,97u8,116u8,101u8,32u8,109u8,111u8,100u8,117u8,108u8,101u8,32u8, + 110u8,97u8,109u8,101u8,115u8,32u8,119u8,105u8,116u8,104u8,32u8,101u8,120u8,105u8,115u8,116u8,105u8,110u8,103u8,32u8, + 109u8,111u8,100u8,117u8,108u8,101u8,115u8,32u8,112u8,117u8,98u8,108u8,105u8,115u8,101u8,100u8,32u8,105u8,110u8,32u8, + 111u8,116u8,104u8,101u8,114u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,115u8,32u8,111u8,110u8,32u8,116u8,104u8, + 105u8,115u8,32u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,2u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,18u8,69u8, + 85u8,80u8,71u8,82u8,65u8,68u8,69u8,95u8,73u8,77u8,77u8,85u8,84u8,65u8,66u8,76u8,69u8,35u8,67u8,97u8, + 110u8,110u8,111u8,116u8,32u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,32u8,97u8,110u8,32u8,105u8,109u8,109u8,117u8, + 116u8,97u8,98u8,108u8,101u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,3u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,22u8,69u8,85u8,80u8,71u8,82u8,65u8,68u8,69u8,95u8,87u8,69u8,65u8,75u8,69u8,82u8,95u8,80u8,79u8, + 76u8,73u8,67u8,89u8,49u8,67u8,97u8,110u8,110u8,111u8,116u8,32u8,100u8,111u8,119u8,110u8,103u8,114u8,97u8,100u8, + 101u8,32u8,97u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,39u8,115u8,32u8,117u8,112u8,103u8,114u8,97u8,100u8, + 97u8,98u8,105u8,108u8,105u8,116u8,121u8,32u8,112u8,111u8,108u8,105u8,99u8,121u8,4u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,15u8,69u8,77u8,79u8,68u8,85u8,76u8,69u8,95u8,77u8,73u8,83u8,83u8,73u8,78u8,71u8,61u8,67u8, + 97u8,110u8,110u8,111u8,116u8,32u8,100u8,101u8,108u8,101u8,116u8,101u8,32u8,97u8,32u8,109u8,111u8,100u8,117u8,108u8, + 101u8,32u8,116u8,104u8,97u8,116u8,32u8,119u8,97u8,115u8,32u8,112u8,117u8,98u8,108u8,105u8,115u8,104u8,101u8,100u8, + 32u8,105u8,110u8,32u8,116u8,104u8,101u8,32u8,115u8,97u8,109u8,101u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8, + 5u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,20u8,69u8,80u8,65u8,67u8,75u8,65u8,71u8,69u8,95u8,68u8,69u8, + 80u8,95u8,77u8,73u8,83u8,83u8,73u8,78u8,71u8,58u8,68u8,101u8,112u8,101u8,110u8,100u8,101u8,110u8,99u8,121u8, + 32u8,99u8,111u8,117u8,108u8,100u8,32u8,110u8,111u8,116u8,32u8,98u8,101u8,32u8,114u8,101u8,115u8,111u8,108u8,118u8, + 101u8,100u8,32u8,116u8,111u8,32u8,97u8,110u8,121u8,32u8,112u8,117u8,98u8,108u8,105u8,115u8,104u8,101u8,100u8,32u8, + 112u8,97u8,99u8,107u8,97u8,103u8,101u8,46u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,18u8,69u8,68u8,69u8, + 80u8,95u8,87u8,69u8,65u8,75u8,69u8,82u8,95u8,80u8,79u8,76u8,73u8,67u8,89u8,49u8,65u8,32u8,100u8,101u8, + 112u8,101u8,110u8,100u8,101u8,110u8,99u8,121u8,32u8,99u8,97u8,110u8,110u8,111u8,116u8,32u8,104u8,97u8,118u8,101u8, + 32u8,97u8,32u8,119u8,101u8,97u8,107u8,101u8,114u8,32u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,32u8,112u8,111u8, + 108u8,105u8,99u8,121u8,46u8,7u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,31u8,69u8,68u8,69u8,80u8,95u8,65u8, + 82u8,66u8,73u8,84u8,82u8,65u8,82u8,89u8,95u8,78u8,79u8,84u8,95u8,83u8,65u8,77u8,69u8,95u8,65u8,68u8, + 68u8,82u8,69u8,83u8,83u8,67u8,65u8,32u8,100u8,101u8,112u8,101u8,110u8,100u8,101u8,110u8,99u8,121u8,32u8,116u8, + 111u8,32u8,97u8,110u8,32u8,96u8,97u8,114u8,98u8,105u8,116u8,114u8,97u8,114u8,121u8,96u8,32u8,112u8,97u8,99u8, + 107u8,97u8,103u8,101u8,32u8,109u8,117u8,115u8,116u8,32u8,98u8,101u8,32u8,111u8,110u8,32u8,116u8,104u8,101u8,32u8, + 115u8,97u8,109u8,101u8,32u8,97u8,100u8,100u8,114u8,101u8,115u8,115u8,46u8,8u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,29u8,69u8,73u8,78u8,67u8,79u8,77u8,80u8,65u8,84u8,73u8,66u8,76u8,69u8,95u8,80u8,79u8,76u8,73u8, + 67u8,89u8,95u8,68u8,73u8,83u8,65u8,66u8,76u8,69u8,68u8,64u8,67u8,114u8,101u8,97u8,116u8,105u8,110u8,103u8, + 32u8,97u8,32u8,112u8,97u8,99u8,107u8,97u8,103u8,101u8,32u8,119u8,105u8,116u8,104u8,32u8,105u8,110u8,99u8,111u8, + 109u8,112u8,97u8,116u8,105u8,98u8,108u8,101u8,32u8,117u8,112u8,103u8,114u8,97u8,100u8,101u8,32u8,112u8,111u8,108u8, + 105u8,99u8,121u8,32u8,105u8,115u8,32u8,100u8,105u8,115u8,97u8,98u8,108u8,101u8,100u8,46u8,9u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,23u8,69u8,78u8,79u8,84u8,95u8,65u8,95u8,67u8,79u8,77u8,80u8,85u8,84u8,69u8,95u8, + 80u8,76u8,65u8,84u8,70u8,79u8,82u8,77u8,85u8,84u8,104u8,105u8,114u8,100u8,32u8,112u8,97u8,114u8,116u8,121u8, + 32u8,99u8,111u8,110u8,116u8,114u8,97u8,99u8,116u8,115u8,32u8,99u8,97u8,110u8,32u8,98u8,101u8,32u8,112u8,117u8, + 98u8,108u8,105u8,115u8,104u8,101u8,100u8,32u8,111u8,110u8,32u8,116u8,101u8,115u8,116u8,110u8,101u8,116u8,32u8,97u8, + 110u8,100u8,32u8,108u8,97u8,121u8,101u8,114u8,32u8,50u8,46u8,32u8,76u8,105u8,98u8,114u8,97u8,44u8,32u8,110u8, + 111u8,116u8,32u8,98u8,108u8,111u8,99u8,107u8,99u8,104u8,97u8,105u8,110u8,46u8,0u8,1u8,34u8,103u8,101u8,116u8, + 95u8,109u8,111u8,100u8,117u8,108u8,101u8,95u8,110u8,97u8,109u8,101u8,115u8,95u8,102u8,111u8,114u8,95u8,112u8,97u8, + 99u8,107u8,97u8,103u8,101u8,95u8,105u8,110u8,100u8,101u8,120u8,1u8,1u8,0u8,0u8,2u8,2u8,32u8,5u8,33u8, + 8u8,6u8,1u8,2u8,4u8,34u8,8u8,6u8,35u8,10u8,2u8,36u8,10u8,2u8,37u8,11u8,7u8,1u8,8u8,8u8, + 2u8,2u8,2u8,32u8,5u8,40u8,8u8,6u8,3u8,2u8,8u8,34u8,8u8,6u8,41u8,8u8,5u8,42u8,3u8,43u8, + 8u8,6u8,44u8,10u8,2u8,45u8,10u8,8u8,1u8,46u8,10u8,8u8,2u8,37u8,11u8,7u8,1u8,8u8,8u8,4u8, + 2u8,1u8,47u8,10u8,8u8,3u8,5u8,2u8,1u8,48u8,2u8,0u8,1u8,0u8,0u8,3u8,8u8,14u8,0u8,16u8, + 0u8,20u8,14u8,1u8,16u8,0u8,20u8,37u8,2u8,1u8,0u8,0u8,0u8,17u8,58u8,6u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,12u8,2u8,10u8,2u8,10u8,0u8,16u8,1u8,65u8,18u8,35u8,4u8,53u8,5u8,9u8,10u8, + 0u8,16u8,1u8,10u8,2u8,66u8,18u8,12u8,5u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,3u8, + 10u8,3u8,10u8,1u8,65u8,19u8,35u8,4u8,46u8,5u8,22u8,10u8,1u8,10u8,3u8,66u8,19u8,12u8,4u8,10u8, + 5u8,16u8,2u8,11u8,4u8,34u8,4u8,32u8,5u8,41u8,11u8,0u8,1u8,11u8,5u8,1u8,11u8,1u8,1u8,7u8, + 4u8,17u8,15u8,39u8,11u8,3u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,3u8,5u8,16u8, + 11u8,5u8,1u8,11u8,2u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,2u8,5u8,2u8,11u8, + 0u8,1u8,11u8,1u8,1u8,2u8,2u8,0u8,0u8,1u8,4u8,21u8,202u8,1u8,64u8,22u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,12u8,4u8,10u8,1u8,16u8,3u8,12u8,7u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,12u8,9u8,10u8,7u8,65u8,23u8,12u8,15u8,10u8,9u8,10u8,15u8,35u8,4u8,196u8,1u8,5u8,15u8,10u8, + 7u8,10u8,9u8,66u8,23u8,12u8,5u8,10u8,5u8,16u8,4u8,20u8,41u8,4u8,4u8,25u8,5u8,34u8,11u8,1u8, + 1u8,11u8,7u8,1u8,11u8,5u8,1u8,7u8,6u8,17u8,16u8,39u8,10u8,5u8,16u8,4u8,20u8,17u8,7u8,4u8, + 56u8,11u8,5u8,16u8,4u8,20u8,12u8,2u8,7u8,9u8,17u8,17u8,12u8,13u8,13u8,4u8,11u8,2u8,11u8,13u8, + 18u8,0u8,68u8,22u8,11u8,9u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,9u8,5u8,10u8, + 10u8,5u8,16u8,4u8,20u8,43u8,4u8,12u8,17u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,10u8, + 10u8,17u8,16u8,5u8,65u8,25u8,12u8,12u8,9u8,12u8,8u8,10u8,10u8,10u8,12u8,35u8,4u8,181u8,1u8,5u8, + 74u8,10u8,17u8,16u8,5u8,10u8,10u8,66u8,25u8,12u8,6u8,10u8,6u8,16u8,6u8,20u8,10u8,5u8,16u8,7u8, + 20u8,33u8,4u8,174u8,1u8,11u8,17u8,1u8,8u8,12u8,8u8,10u8,6u8,16u8,8u8,16u8,0u8,20u8,10u8,1u8, + 16u8,8u8,16u8,0u8,20u8,38u8,4u8,102u8,5u8,113u8,11u8,1u8,1u8,11u8,7u8,1u8,11u8,6u8,1u8,11u8, + 5u8,1u8,7u8,1u8,17u8,18u8,39u8,10u8,6u8,16u8,8u8,20u8,17u8,12u8,33u8,4u8,137u8,1u8,10u8,5u8, + 16u8,4u8,20u8,10u8,0u8,33u8,4u8,126u8,5u8,137u8,1u8,11u8,1u8,1u8,11u8,7u8,1u8,11u8,6u8,1u8, + 11u8,5u8,1u8,7u8,0u8,17u8,18u8,39u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,11u8,10u8, + 6u8,16u8,1u8,65u8,18u8,12u8,16u8,10u8,11u8,10u8,16u8,35u8,4u8,169u8,1u8,5u8,148u8,1u8,10u8,5u8, + 16u8,4u8,20u8,12u8,3u8,10u8,6u8,16u8,1u8,10u8,11u8,66u8,18u8,16u8,2u8,20u8,12u8,14u8,13u8,4u8, + 11u8,3u8,11u8,14u8,18u8,0u8,68u8,22u8,11u8,11u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8, + 12u8,11u8,5u8,143u8,1u8,11u8,6u8,1u8,11u8,5u8,1u8,5u8,181u8,1u8,11u8,6u8,1u8,11u8,10u8,6u8, + 1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,10u8,5u8,69u8,11u8,8u8,4u8,184u8,1u8,5u8,191u8, + 1u8,11u8,1u8,1u8,11u8,7u8,1u8,7u8,6u8,17u8,16u8,39u8,11u8,9u8,6u8,1u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,22u8,12u8,9u8,5u8,10u8,11u8,1u8,1u8,11u8,7u8,1u8,11u8,4u8,2u8,3u8,0u8,0u8, + 0u8,26u8,67u8,17u8,14u8,12u8,3u8,10u8,0u8,16u8,8u8,16u8,0u8,20u8,14u8,3u8,16u8,0u8,20u8,35u8, + 4u8,12u8,5u8,21u8,11u8,0u8,1u8,11u8,1u8,1u8,11u8,2u8,1u8,7u8,7u8,17u8,18u8,39u8,10u8,0u8, + 16u8,8u8,20u8,11u8,1u8,16u8,8u8,20u8,17u8,0u8,4u8,30u8,5u8,37u8,11u8,0u8,1u8,11u8,2u8,1u8, + 7u8,8u8,17u8,18u8,39u8,11u8,0u8,17u8,4u8,12u8,5u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 12u8,4u8,10u8,4u8,14u8,5u8,65u8,19u8,35u8,4u8,64u8,5u8,48u8,10u8,2u8,14u8,5u8,10u8,4u8,66u8, + 19u8,56u8,0u8,4u8,55u8,5u8,59u8,11u8,2u8,1u8,7u8,3u8,39u8,11u8,4u8,6u8,1u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,22u8,12u8,4u8,5u8,42u8,11u8,2u8,1u8,2u8,4u8,0u8,0u8,0u8,28u8,28u8,64u8, + 19u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,2u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8, + 12u8,1u8,10u8,1u8,10u8,0u8,16u8,1u8,65u8,18u8,35u8,4u8,24u8,5u8,11u8,13u8,2u8,10u8,0u8,16u8, + 1u8,10u8,1u8,66u8,18u8,16u8,2u8,20u8,68u8,19u8,11u8,1u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8, + 0u8,22u8,12u8,1u8,5u8,4u8,11u8,0u8,1u8,11u8,2u8,2u8,5u8,1u8,0u8,1u8,4u8,3u8,7u8,11u8, + 0u8,43u8,4u8,16u8,5u8,11u8,1u8,66u8,25u8,17u8,4u8,2u8,6u8,0u8,0u8,1u8,4u8,11u8,23u8,11u8, + 0u8,17u8,20u8,10u8,1u8,17u8,21u8,12u8,3u8,10u8,3u8,41u8,4u8,32u8,4u8,15u8,11u8,1u8,11u8,2u8, + 64u8,25u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,18u8,4u8,45u8,4u8,5u8,22u8,11u8,1u8,1u8,11u8, + 3u8,42u8,4u8,15u8,5u8,11u8,2u8,68u8,25u8,2u8,7u8,0u8,0u8,0u8,30u8,85u8,10u8,0u8,7u8,10u8, + 33u8,4u8,7u8,8u8,12u8,1u8,5u8,11u8,10u8,0u8,7u8,11u8,33u8,12u8,1u8,11u8,1u8,4u8,16u8,8u8, + 12u8,2u8,5u8,20u8,10u8,0u8,7u8,12u8,33u8,12u8,2u8,11u8,2u8,4u8,25u8,8u8,12u8,3u8,5u8,29u8, + 10u8,0u8,7u8,13u8,33u8,12u8,3u8,11u8,3u8,4u8,34u8,8u8,12u8,4u8,5u8,38u8,10u8,0u8,7u8,14u8, + 33u8,12u8,4u8,11u8,4u8,4u8,43u8,8u8,12u8,5u8,5u8,47u8,10u8,0u8,7u8,15u8,33u8,12u8,5u8,11u8, + 5u8,4u8,52u8,8u8,12u8,6u8,5u8,56u8,10u8,0u8,7u8,16u8,33u8,12u8,6u8,11u8,6u8,4u8,61u8,8u8, + 12u8,7u8,5u8,65u8,10u8,0u8,7u8,17u8,33u8,12u8,7u8,11u8,7u8,4u8,70u8,8u8,12u8,8u8,5u8,74u8, + 10u8,0u8,7u8,18u8,33u8,12u8,8u8,11u8,8u8,4u8,79u8,8u8,12u8,9u8,5u8,83u8,11u8,0u8,7u8,19u8, + 33u8,12u8,9u8,11u8,9u8,2u8,8u8,1u8,0u8,1u8,4u8,31u8,139u8,1u8,10u8,0u8,17u8,21u8,17u8,22u8, + 4u8,7u8,8u8,12u8,3u8,5u8,9u8,17u8,23u8,12u8,3u8,11u8,3u8,4u8,12u8,5u8,16u8,11u8,0u8,1u8, + 7u8,5u8,39u8,17u8,12u8,12u8,4u8,14u8,1u8,16u8,8u8,16u8,0u8,20u8,14u8,4u8,16u8,0u8,20u8,36u8, + 4u8,28u8,5u8,33u8,11u8,0u8,1u8,7u8,2u8,17u8,18u8,39u8,10u8,0u8,17u8,21u8,12u8,6u8,10u8,6u8, + 41u8,4u8,32u8,4u8,45u8,11u8,0u8,64u8,25u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,18u8,4u8,45u8, + 4u8,5u8,47u8,11u8,0u8,1u8,10u8,6u8,14u8,1u8,17u8,2u8,12u8,7u8,14u8,1u8,17u8,4u8,12u8,12u8, + 10u8,6u8,42u8,4u8,15u8,5u8,12u8,9u8,10u8,9u8,46u8,65u8,25u8,12u8,8u8,10u8,8u8,12u8,11u8,6u8, + 0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8,10u8,6u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,12u8, + 15u8,10u8,10u8,10u8,8u8,35u8,4u8,109u8,5u8,73u8,10u8,9u8,10u8,10u8,12u8,5u8,46u8,11u8,5u8,66u8, + 25u8,12u8,13u8,10u8,13u8,16u8,6u8,20u8,14u8,1u8,16u8,6u8,20u8,33u8,4u8,101u8,10u8,13u8,16u8,9u8, + 20u8,6u8,1u8,0u8,0u8,0u8,0u8,0u8,0u8,0u8,22u8,12u8,15u8,11u8,13u8,14u8,1u8,14u8,12u8,17u8, + 3u8,10u8,10u8,12u8,11u8,5u8,104u8,11u8,13u8,14u8,12u8,17u8,1u8,11u8,10u8,6u8,1u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,22u8,12u8,10u8,5u8,68u8,11u8,15u8,13u8,1u8,15u8,9u8,21u8,14u8,1u8,16u8,8u8, + 20u8,12u8,14u8,10u8,11u8,11u8,8u8,35u8,4u8,127u8,11u8,1u8,11u8,9u8,11u8,11u8,67u8,25u8,21u8,5u8, + 130u8,1u8,11u8,9u8,11u8,1u8,68u8,25u8,11u8,6u8,11u8,12u8,11u8,7u8,11u8,2u8,14u8,14u8,16u8,0u8, + 20u8,17u8,11u8,2u8,9u8,1u8,4u8,1u8,4u8,3u8,6u8,11u8,0u8,11u8,1u8,56u8,1u8,11u8,2u8,17u8, + 8u8,2u8,10u8,0u8,2u8,0u8,11u8,0u8,2u8,0u8,12u8,1u8,0u8,0u8,3u8,3u8,49u8,0u8,18u8,5u8, + 2u8,13u8,1u8,0u8,0u8,3u8,3u8,49u8,1u8,18u8,5u8,2u8,14u8,1u8,0u8,0u8,3u8,3u8,49u8,2u8, + 18u8,5u8,2u8,5u8,0u8,3u8,5u8,1u8,0u8,3u8,6u8,2u8,0u8,4u8,0u8,3u8,0u8,2u8,1u8,3u8, + 1u8,3u8,2u8,0u8, ]; vector::push_back(&mut code, code_chunk38); let code_chunk39 = @@ -9284,10 +9295,10 @@ script { vector::push_back(&mut code, code_chunk77); let metadata_chunk1 = vector[ 14u8,76u8,105u8,98u8,114u8,97u8,70u8,114u8,97u8,109u8,101u8,119u8,111u8,114u8,107u8,1u8,0u8,0u8,0u8, - 0u8,0u8,0u8,0u8,0u8,64u8,68u8,69u8,56u8,66u8,54u8,66u8,52u8,53u8,54u8,49u8,68u8,50u8,49u8,55u8, - 56u8,57u8,67u8,69u8,66u8,65u8,53u8,69u8,48u8,66u8,65u8,56u8,51u8,66u8,55u8,50u8,50u8,49u8,57u8,50u8, - 55u8,70u8,69u8,67u8,54u8,50u8,67u8,50u8,65u8,70u8,51u8,52u8,66u8,49u8,55u8,65u8,57u8,57u8,57u8,49u8, - 53u8,52u8,55u8,50u8,54u8,50u8,55u8,69u8,57u8,66u8,194u8,1u8,31u8,139u8,8u8,0u8,0u8,0u8,0u8,0u8, + 0u8,0u8,0u8,0u8,0u8,64u8,50u8,54u8,70u8,70u8,51u8,66u8,67u8,68u8,50u8,68u8,52u8,70u8,55u8,48u8, + 51u8,53u8,51u8,67u8,48u8,66u8,49u8,50u8,57u8,49u8,57u8,52u8,51u8,48u8,54u8,53u8,51u8,67u8,55u8,49u8, + 70u8,48u8,50u8,55u8,68u8,55u8,48u8,57u8,55u8,51u8,57u8,48u8,50u8,52u8,57u8,68u8,49u8,53u8,67u8,49u8, + 50u8,57u8,70u8,50u8,48u8,52u8,57u8,57u8,55u8,56u8,194u8,1u8,31u8,139u8,8u8,0u8,0u8,0u8,0u8,0u8, 2u8,255u8,109u8,142u8,49u8,11u8,194u8,48u8,16u8,133u8,247u8,251u8,21u8,37u8,187u8,181u8,69u8,4u8,23u8,7u8, 17u8,156u8,220u8,4u8,151u8,82u8,74u8,154u8,156u8,18u8,218u8,230u8,202u8,37u8,86u8,65u8,252u8,239u8,38u8,173u8, 10u8,162u8,219u8,221u8,251u8,30u8,31u8,175u8,232u8,165u8,106u8,228u8,25u8,75u8,176u8,178u8,195u8,100u8,157u8,136u8, @@ -9364,6 +9375,6 @@ script { 116u8,100u8,108u8,105u8,98u8,0u8, ]; code::publish_package_txn(&framework_signer, metadata_chunk1, code); - version::upgrade_set_git(&framework_signer, x"85f102a0002684626b730c4168de28b54aca8236") + version::upgrade_set_git(&framework_signer, x"0aca1662b767111e252f971abf31b4691f16eb9a") } } diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script.mv b/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script.mv index 9c1e54dd3..45452f15c 100644 Binary files a/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script.mv and b/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script.mv differ diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script_sha3 b/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script_sha3 index 4c195002f..14a5ce7fd 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script_sha3 +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/script_sha3 @@ -1 +1 @@ -787260e5a9b45a4d0afc71fabdda801c50bc1c266cadd76f8ca3b15d91de45fd \ No newline at end of file +6f9451baafea21b9a063be0c486217bf61c41a64f8921e1f92242de3329568ad \ No newline at end of file diff --git a/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/sources/1-move-stdlib.move b/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/sources/1-move-stdlib.move index ae13cc5b3..eb083c8dd 100644 --- a/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/sources/1-move-stdlib.move +++ b/framework/src/upgrade_fixtures/fixtures/upgrade-single-lib/1-move-stdlib/sources/1-move-stdlib.move @@ -1,6 +1,6 @@ // Upgrade proposal for package `MoveStdlib` -// Framework commit hash: 85f102a0002684626b730c4168de28b54aca8236 +// Framework commit hash: 0aca1662b767111e252f971abf31b4691f16eb9a // Builder commit hash: db1137ba1f8e7301e325021f71f740063daaf76e // Next step script hash: @@ -658,6 +658,6 @@ script { 111u8,110u8,0u8,0u8,0u8,6u8,115u8,116u8,114u8,105u8,110u8,103u8,0u8,0u8,0u8,0u8,0u8, ]; code::publish_package_txn(&framework_signer, metadata_chunk1, code); - version::upgrade_set_git(&framework_signer, x"85f102a0002684626b730c4168de28b54aca8236") + version::upgrade_set_git(&framework_signer, x"0aca1662b767111e252f971abf31b4691f16eb9a") } }