tx · CeftPtPctkMfhkkuebUVxHcircebAfkRrZyWUfHJVLKQ 3N2rcyriCEdhEj4exvjYdSW3afoRPa54PJL: -0.01000000 Waves 2021.09.29 14:47 [1724207] smart account 3N2rcyriCEdhEj4exvjYdSW3afoRPa54PJL > SELF 0.00000000 Waves
{ "type": 13, "id": "CeftPtPctkMfhkkuebUVxHcircebAfkRrZyWUfHJVLKQ", "fee": 1000000, "feeAssetId": null, "timestamp": 1632916025516, "version": 1, "sender": "3N2rcyriCEdhEj4exvjYdSW3afoRPa54PJL", "senderPublicKey": "HcYUcARjSQ9s6sNtiBY85skwJEowirwR4zUZmdVFtQq3", "proofs": [ "zngaSN46Kk7MqMDDiHYiYzX2TRSpC3dACckZ8PzZ46he6Ka5UjGLLPwaJbU4SeF2jTKRRJrHxQD5FGu7X2chKsU" ], "script": "base64:AAIFAAAAAAAAAC4IAhIDCgEIEgQKAgEEEgASBAoCCAgSABIFCgMBAQgSBQoDAQEIEgUKAwgBCBIAAAAAOwAAAAAKbFBkZWNpbWFscwAAAAAAAAAACAAAAAAGc2NhbGU4AAAAAAAF9eEAAAAAAAxzY2FsZThCaWdJbnQJAAE2AAAAAQAAAAAABfXhAAAAAAAHc2NhbGUxOAkAATYAAAABAA3gtrOnZAAAAAAAAANTRVACAAAAAl9fAAAAAApQb29sQWN0aXZlAAAAAAAAAAABAAAAAA9Qb29sUHV0RGlzYWJsZWQAAAAAAAAAAAIAAAAAE1Bvb2xNYXRjaGVyRGlzYWJsZWQAAAAAAAAAAAMAAAAADFBvb2xTaHV0ZG93bgAAAAAAAAAABAAAAAAOaWR4UG9vbEFkZHJlc3MAAAAAAAAAAAEAAAAADWlkeFBvb2xTdGF0dXMAAAAAAAAAAAIAAAAAEGlkeFBvb2xMUEFzc2V0SWQAAAAAAAAAAAMAAAAAEGlkeEFtb3VudEFzc2V0SWQAAAAAAAAAAAQAAAAAD2lkeFByaWNlQXNzZXRJZAAAAAAAAAAABQAAAAAWaWR4QW1vdW50QXNzZXREZWNpbWFscwAAAAAAAAAABgAAAAAVaWR4UHJpY2VBc3NldERlY2ltYWxzAAAAAAAAAAAHAAAAABhpZHhBbW91bnRBc3NldEludGVybmFsSWQAAAAAAAAAAAgAAAAAF2lkeFByaWNlQXNzZXRJbnRlcm5hbElkAAAAAAAAAAAJAAAAABJpZHhMUEFzc2V0RGVjaW1hbHMAAAAAAAAAAAoAAAAAE2lkeE1hdGNoZXJQdWJsaWNLZXkAAAAAAAAAAAsAAAAAFWlkeFBvb2xBbW91bnRBc3NldEFtdAAAAAAAAAAAAQAAAAAUaWR4UG9vbFByaWNlQXNzZXRBbXQAAAAAAAAAAAIAAAAAEWlkeFBvb2xMUEFzc2V0QW10AAAAAAAAAAADAAAAABlpZHhGYWN0b3J5U3Rha2luZ0NvbnRyYWN0AAAAAAAAAAABAAAAABhpZHhGYWN0b3J5Qm9vc3RpbmdDb25maWcAAAAAAAAAAAIBAAAAEmtleUZhY3RvcnlDb250cmFjdAAAAAACAAAAEyVzX19mYWN0b3J5Q29udHJhY3QBAAAADGtleVByaWNlTGFzdAAAAAACAAAAESVzJXNfX3ByaWNlX19sYXN0AQAAAA9rZXlQcmljZUhpc3RvcnkAAAACAAAAAWgAAAAJdGltZXN0YW1wCQAEuQAAAAIJAARMAAAAAgIAAAAYJXMlcyVkJWRfX3ByaWNlX19oaXN0b3J5CQAETAAAAAIJAAGkAAAAAQUAAAABaAkABEwAAAACCQABpAAAAAEFAAAACXRpbWVzdGFtcAUAAAADbmlsBQAAAANTRVABAAAAEGtleVBvb2xMaXF1aWRpdHkAAAACAAAAE2ludGVybmFsQW1vdW50QXNzZXQAAAASaW50ZXJuYWxQcmljZUFzc2V0CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACCVkJWQlc19fBQAAABNpbnRlcm5hbEFtb3VudEFzc2V0AgAAAAJfXwUAAAASaW50ZXJuYWxQcmljZUFzc2V0AgAAAAhfX2xvY2tlZAEAAAASa2V5UHV0QWN0aW9uQnlVc2VyAAAAAgAAAAt1c2VyQWRkcmVzcwAAAAR0eElkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAslcyVzJXNfX1BfXwUAAAALdXNlckFkZHJlc3MCAAAAAl9fBQAAAAR0eElkAQAAABJrZXlHZXRBY3Rpb25CeVVzZXIAAAACAAAAC3VzZXJBZGRyZXNzAAAABHR4SWQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACyVzJXMlc19fR19fBQAAAAt1c2VyQWRkcmVzcwIAAAACX18FAAAABHR4SWQBAAAADmtleUFtb3VudEFzc2V0AAAAAAIAAAAPJXNfX2Ftb3VudEFzc2V0AQAAAA1rZXlQcmljZUFzc2V0AAAAAAIAAAAOJXNfX3ByaWNlQXNzZXQBAAAAC2tleUtDdXJyZW50AAAAAAIAAAAPJXMlc19fS19jdXJyZW50AQAAAAxrZXlLSGlzdG9yaWMAAAACAAAAAWgAAAAJdGltZXN0YW1wCQAEuQAAAAIJAARMAAAAAgIAAAATJXMlcyVkJWRfX0tfaGlzdG9yeQkABEwAAAACCQABpAAAAAEFAAAAAWgJAARMAAAAAgkAAaQAAAABBQAAAAl0aW1lc3RhbXAFAAAAA25pbAUAAAADU0VQAQAAABBrZXlGYWN0b3J5Q29uZmlnAAAAAAIAAAARJXNfX2ZhY3RvcnlDb25maWcBAAAAKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzAAAAAQAAABNwb29sQ29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAIJXMlcyVzX18FAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MCAAAAIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0AQAAAA1rZXlQb29sQ29uZmlnAAAAAgAAABNhbW91bnRBc3NldEludGVybmFsAAAAEnByaWNlQXNzZXRJbnRlcm5hbAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAglZCVkJXNfXwUAAAATYW1vdW50QXNzZXRJbnRlcm5hbAIAAAACX18FAAAAEnByaWNlQXNzZXRJbnRlcm5hbAIAAAAIX19jb25maWcBAAAAH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQAAAABAAAADGJhc2VBc3NldFN0cgkAASwAAAACAgAAACglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQAAAAxiYXNlQXNzZXRTdHIBAAAAE2tleUFsbFBvb2xzU2h1dGRvd24AAAAAAgAAAAwlc19fc2h1dGRvd24BAAAADWtleVBvb2xXZWlnaHQAAAABAAAAD2NvbnRyYWN0QWRkcmVzcwkAASwAAAACAgAAABIlcyVzX19wb29sV2VpZ2h0X18FAAAAD2NvbnRyYWN0QWRkcmVzcwAAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAEmtleUZhY3RvcnlDb250cmFjdAAAAAACAAAAGU5vIEZhY3RvcnkgQWNjb3VudCBmb3VuZC4BAAAAEGlzR2xvYmFsU2h1dGRvd24AAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAE2tleUFsbFBvb2xzU2h1dGRvd24AAAAABwEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAAD3Bvb2xBbW91bnRBc3NldAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAQAAAA5rZXlBbW91bnRBc3NldAAAAAACAAAAIE5vIGNvbmZpZyBmb3IgYW1vdW50IGFzc2V0IGZvdW5kBAAAAA5wb29sUHJpY2VBc3NldAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAQAAAA1rZXlQcmljZUFzc2V0AAAAAAIAAAAfTm8gY29uZmlnIGZvciBwcmljZSBhc3NldCBmb3VuZAQAAAAWcG9vbFByaWNlQXNzZXRJbnRlcm5hbAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAH2tleU1hcHBpbmdzQmFzZUFzc2V0MmludGVybmFsSWQAAAABBQAAAA5wb29sUHJpY2VBc3NldAIAAAAoTm8gY29uZmlnIGZvciBpbnRlcm5hbCBwcmljZSBhc3NldCBmb3VuZAQAAAAXcG9vbEFtb3VudEFzc2V0SW50ZXJuYWwJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAPcG9vbEFtb3VudEFzc2V0AgAAAClObyBjb25maWcgZm9yIGludGVybmFsIGFtb3VudCBhc3NldCBmb3VuZAkABLUAAAACCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAANa2V5UG9vbENvbmZpZwAAAAIJAAGkAAAAAQUAAAAXcG9vbEFtb3VudEFzc2V0SW50ZXJuYWwJAAGkAAAAAQUAAAAWcG9vbFByaWNlQXNzZXRJbnRlcm5hbAIAAAAoTm8gZmFjdG9yeSBjb25maWcgZm91bmQgZm9yIHBvb2wgYXNzZXRzLgUAAAADU0VQAQAAABBnZXRGYWN0b3J5Q29uZmlnAAAAAAkABLUAAAACCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAQa2V5RmFjdG9yeUNvbmZpZwAAAAACAAAAGE5vIGZhY3RvcnkgY29uZmlnIGZvdW5kLgUAAAADU0VQAQAAABBnZXRQb29sTGlxdWlkaXR5AAAAAgAAABVhbW91bnRBc3NldEludGVybmFsSWQAAAAUcHJpY2VBc3NldEludGVybmFsSWQEAAAAGWN1cnJlbnRQb29sTGlxdWlkaXR5VmFsdWUJAAQdAAAAAgUAAAAEdGhpcwkBAAAAEGtleVBvb2xMaXF1aWRpdHkAAAACBQAAABVhbW91bnRBc3NldEludGVybmFsSWQFAAAAFHByaWNlQXNzZXRJbnRlcm5hbElkAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAGWN1cnJlbnRQb29sTGlxdWlkaXR5VmFsdWUJAAS1AAAAAgkBAAAABXZhbHVlAAAAAQUAAAAZY3VycmVudFBvb2xMaXF1aWRpdHlWYWx1ZQUAAAADU0VQCQAETAAAAAICAAAAAAkABEwAAAACAgAAAAEwCQAETAAAAAICAAAAATAJAARMAAAAAgIAAAABMAUAAAADbmlsAQAAABFkYXRhUG9vbExpcXVpZGl0eQAAAAMAAAARYW1vdW50QXNzZXRMb2NrZWQAAAAQcHJpY2VBc3NldExvY2tlZAAAAA1scFRva2VuTG9ja2VkCQAEuQAAAAIJAARMAAAAAgIAAAAGJWQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAARYW1vdW50QXNzZXRMb2NrZWQJAARMAAAAAgkAAaQAAAABBQAAABBwcmljZUFzc2V0TG9ja2VkCQAETAAAAAIJAAGkAAAAAQUAAAANbHBUb2tlbkxvY2tlZAUAAAADbmlsBQAAAANTRVABAAAAEWRhdGFQdXRBY3Rpb25JbmZvAAAACAAAABBpbkFtb3VudEFzc2V0QW10AAAAD2luUHJpY2VBc3NldEFtdAAAAAhvdXRMcEFtdAAAAAVwcmljZQAAAB1zbGlwcGFnZVRvbGVyYW5jZVBhc3NlZEJ5VXNlcgAAABVzbGlwcGFnZVRvbGVyYW5jZVJlYWwAAAAIdHhIZWlnaHQAAAALdHhUaW1lc3RhbXAJAAS5AAAAAgkABEwAAAACAgAAAA4lZCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAAEGluQW1vdW50QXNzZXRBbXQJAARMAAAAAgkAAaQAAAABBQAAAA9pblByaWNlQXNzZXRBbXQJAARMAAAAAgkAAaQAAAABBQAAAAhvdXRMcEFtdAkABEwAAAACCQABpAAAAAEFAAAABXByaWNlCQAETAAAAAIJAAGkAAAAAQUAAAAdc2xpcHBhZ2VUb2xlcmFuY2VQYXNzZWRCeVVzZXIJAARMAAAAAgkAAaQAAAABBQAAABVzbGlwcGFnZVRvbGVyYW5jZVJlYWwJAARMAAAAAgkAAaQAAAABBQAAAAh0eEhlaWdodAkABEwAAAACCQABpAAAAAEFAAAAC3R4VGltZXN0YW1wBQAAAANuaWwFAAAAA1NFUAEAAAARZGF0YUdldEFjdGlvbkluZm8AAAAGAAAAEW91dEFtb3VudEFzc2V0QW10AAAAEG91dFByaWNlQXNzZXRBbXQAAAAHaW5McEFtdAAAAAVwcmljZQAAAAh0eEhlaWdodAAAAAt0eFRpbWVzdGFtcAkABLkAAAACCQAETAAAAAICAAAADCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAAEW91dEFtb3VudEFzc2V0QW10CQAETAAAAAIJAAGkAAAAAQUAAAAQb3V0UHJpY2VBc3NldEFtdAkABEwAAAACCQABpAAAAAEFAAAAB2luTHBBbXQJAARMAAAAAgkAAaQAAAABBQAAAAVwcmljZQkABEwAAAACCQABpAAAAAEFAAAACHR4SGVpZ2h0CQAETAAAAAIJAAGkAAAAAQUAAAALdHhUaW1lc3RhbXAFAAAAA25pbAUAAAADU0VQAQAAABRwcml2YXRlQ2FzdFRvU2NhbGVPZgAAAAMAAAAGYW1vdW50AAAAC3Jlc3VsdFNjYWxlAAAADGN1cnJlbnRTY2FsZQkAAGsAAAADBQAAAAZhbW91bnQFAAAAC3Jlc3VsdFNjYWxlBQAAAAxjdXJyZW50U2NhbGUBAAAAGnByaXZhdGVCaWdJbnRDYXN0VG9TY2FsZU9mAAAAAwAAAAZhbW91bnQAAAALcmVzdWx0U2NhbGUAAAAMY3VycmVudFNjYWxlCQABPAAAAAMFAAAABmFtb3VudAUAAAALcmVzdWx0U2NhbGUFAAAADGN1cnJlbnRTY2FsZQEAAAAOY2FsY3VsYXRlUHJpY2UAAAACAAAAE3ByaWNlQXNzZXRMb2NrZWRBbXQAAAAVYW1vdW50QXNzZXRsTG9ja2VkQW10CQAAawAAAAMFAAAAE3ByaWNlQXNzZXRMb2NrZWRBbXQFAAAABnNjYWxlOAUAAAAVYW1vdW50QXNzZXRsTG9ja2VkQW10AQAAABRjYWxjdWxhdGVQcmljZUJpZ0ludAAAAAIAAAATcHJpY2VBc3NldExvY2tlZEFtdAAAABVhbW91bnRBc3NldGxMb2NrZWRBbXQJAAGgAAAAAQkAATwAAAADBQAAABNwcmljZUFzc2V0TG9ja2VkQW10BQAAAAxzY2FsZThCaWdJbnQFAAAAFWFtb3VudEFzc2V0bExvY2tlZEFtdAEAAAAVcHJpdmF0ZUNhbGN1bGF0ZVByaWNlAAAABAAAABJhbW91dEFzc2V0RGVjaW1hbHMAAAAScHJpY2VBc3NldERlY2ltYWxzAAAADmFtb3VudEFzc2V0QW10AAAADXByaWNlQXNzZXRBbXQEAAAAFGFtb3VudEFzc2V0QW10Q2FzdGVkCQEAAAAUcHJpdmF0ZUNhc3RUb1NjYWxlT2YAAAADBQAAAA5hbW91bnRBc3NldEFtdAUAAAAGc2NhbGU4BQAAABJhbW91dEFzc2V0RGVjaW1hbHMEAAAAE3ByaWNlQXNzZXRBbXRDYXN0ZWQJAQAAABRwcml2YXRlQ2FzdFRvU2NhbGVPZgAAAAMFAAAADXByaWNlQXNzZXRBbXQFAAAABnNjYWxlOAUAAAAScHJpY2VBc3NldERlY2ltYWxzCQEAAAAOY2FsY3VsYXRlUHJpY2UAAAACBQAAABNwcmljZUFzc2V0QW10Q2FzdGVkBQAAABRhbW91bnRBc3NldEFtdENhc3RlZAEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQAAAAdhc3NldElkAwkAAAAAAAACBQAAAAdhc3NldElkAgAAAAVXQVZFUwgJAAPvAAAAAQUAAAAEdGhpcwAAAAlhdmFpbGFibGUJAAPwAAAAAgUAAAAEdGhpcwkAAlkAAAABBQAAAAdhc3NldElkAQAAAA9jYWxjdWxhdGVQcmljZXMAAAADAAAADmFtb3VudEFzc2V0QW10AAAADXByaWNlQXNzZXRBbXQAAAAIbHBBbW91bnQEAAAAEnBvb2xDb25maWdEYXRhTGlzdAkBAAAADWdldFBvb2xDb25maWcAAAAABAAAABJhbW91dEFzc2V0RGVjaW1hbHMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAFmlkeEFtb3VudEFzc2V0RGVjaW1hbHMEAAAAEnByaWNlQXNzZXREZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAVaWR4UHJpY2VBc3NldERlY2ltYWxzBAAAAAlwb29sUHJpY2UJAQAAABVwcml2YXRlQ2FsY3VsYXRlUHJpY2UAAAAEBQAAABJhbW91dEFzc2V0RGVjaW1hbHMFAAAAEnByaWNlQXNzZXREZWNpbWFscwUAAAAOYW1vdW50QXNzZXRBbXQFAAAADXByaWNlQXNzZXRBbXQEAAAAGGFtb3VudEFzc2V0UG9vbExvY2tlZEFtdAkBAAAAFHByaXZhdGVDYXN0VG9TY2FsZU9mAAAAAwUAAAAOYW1vdW50QXNzZXRBbXQFAAAABnNjYWxlOAUAAAASYW1vdXRBc3NldERlY2ltYWxzBAAAABdwcmljZUFzc2V0UG9vbExvY2tlZEFtdAkBAAAAFHByaXZhdGVDYXN0VG9TY2FsZU9mAAAAAwUAAAANcHJpY2VBc3NldEFtdAUAAAAGc2NhbGU4BQAAABJwcmljZUFzc2V0RGVjaW1hbHMEAAAAFGxwUHJpY2VJbkFtb3VudEFzc2V0CQEAAAAOY2FsY3VsYXRlUHJpY2UAAAACBQAAABhhbW91bnRBc3NldFBvb2xMb2NrZWRBbXQFAAAACGxwQW1vdW50BAAAABNscFByaWNlSW5QcmljZUFzc2V0CQEAAAAOY2FsY3VsYXRlUHJpY2UAAAACBQAAABdwcmljZUFzc2V0UG9vbExvY2tlZEFtdAUAAAAIbHBBbW91bnQJAARMAAAAAgUAAAAJcG9vbFByaWNlCQAETAAAAAIFAAAAFGxwUHJpY2VJbkFtb3VudEFzc2V0CQAETAAAAAIFAAAAE2xwUHJpY2VJblByaWNlQXNzZXQFAAAAA25pbAEAAAAbcHJpdmF0ZUVzdGltYXRlR2V0T3BlcmF0aW9uAAAAAwAAABBwYXltZW50THBBc3NldElkAAAAD3BheW1lbnRMcEFtb3VudAAAAAt1c2VyQWRkcmVzcwQAAAAOcG9vbENvbmZpZ0xpc3QJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAJbHBBc3NldElkCQABkQAAAAIFAAAADnBvb2xDb25maWdMaXN0BQAAABBpZHhQb29sTFBBc3NldElkBAAAAA1hbW91bnRBc3NldElkCQABkQAAAAIFAAAADnBvb2xDb25maWdMaXN0BQAAABBpZHhBbW91bnRBc3NldElkBAAAAAxwcmljZUFzc2V0SWQJAAGRAAAAAgUAAAAOcG9vbENvbmZpZ0xpc3QFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCQABkQAAAAIFAAAADnBvb2xDb25maWdMaXN0BQAAABhpZHhBbW91bnRBc3NldEludGVybmFsSWQEAAAAFHByaWNlQXNzZXRJbnRlcm5hbElkCQABkQAAAAIFAAAADnBvb2xDb25maWdMaXN0BQAAABdpZHhQcmljZUFzc2V0SW50ZXJuYWxJZAQAAAASYW1vdXRBc3NldERlY2ltYWxzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAOcG9vbENvbmZpZ0xpc3QFAAAAFmlkeEFtb3VudEFzc2V0RGVjaW1hbHMEAAAAEnByaWNlQXNzZXREZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADnBvb2xDb25maWdMaXN0BQAAABVpZHhQcmljZUFzc2V0RGVjaW1hbHMEAAAACnBvb2xTdGF0dXMJAAGRAAAAAgUAAAAOcG9vbENvbmZpZ0xpc3QFAAAADWlkeFBvb2xTdGF0dXMEAAAAEXBvb2xMaXF1aWRpdHlMaXN0CQEAAAAQZ2V0UG9vbExpcXVpZGl0eQAAAAIFAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAUAAAAUcHJpY2VBc3NldEludGVybmFsSWQEAAAADXBvb2xMUEJhbGFuY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABFwb29sTGlxdWlkaXR5TGlzdAUAAAARaWR4UG9vbExQQXNzZXRBbXQEAAAAFnBvb2xBbW91bnRBc3NldEJhbGFuY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABFwb29sTGlxdWlkaXR5TGlzdAUAAAAVaWR4UG9vbEFtb3VudEFzc2V0QW10BAAAABVwb29sUHJpY2VBc3NldEJhbGFuY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABFwb29sTGlxdWlkaXR5TGlzdAUAAAAUaWR4UG9vbFByaWNlQXNzZXRBbXQDCQEAAAACIT0AAAACBQAAAAlscEFzc2V0SWQFAAAAEHBheW1lbnRMcEFzc2V0SWQJAAACAAAAAQIAAAAVSW52YWxpZCBhc3NldCBwYXNzZWQuBAAAABhhbW91bnRBc3NldFBvb2xMb2NrZWRBbXQJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMJAAE2AAAAAQkBAAAAGHByaXZhdGVHZXRBY2NvdW50QmFsYW5jZQAAAAEFAAAADWFtb3VudEFzc2V0SWQFAAAAB3NjYWxlMTgJAAE2AAAAAQUAAAASYW1vdXRBc3NldERlY2ltYWxzBAAAABdwcmljZUFzc2V0UG9vbExvY2tlZEFtdAkBAAAAGnByaXZhdGVCaWdJbnRDYXN0VG9TY2FsZU9mAAAAAwkAATYAAAABCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAAMcHJpY2VBc3NldElkBQAAAAdzY2FsZTE4CQABNgAAAAEFAAAAEnByaWNlQXNzZXREZWNpbWFscwQAAAAMY3VycmVudFByaWNlCQEAAAAUY2FsY3VsYXRlUHJpY2VCaWdJbnQAAAACBQAAABdwcmljZUFzc2V0UG9vbExvY2tlZEFtdAUAAAAYYW1vdW50QXNzZXRQb29sTG9ja2VkQW10BAAAABJwYXltZW50THBBbW91bnRCdWYJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMJAAE2AAAAAQUAAAAPcGF5bWVudExwQW1vdW50BQAAAAdzY2FsZTE4BQAAAAxzY2FsZThCaWdJbnQEAAAAEHBvb2xMUEJhbGFuY2VCdWYJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMJAAE2AAAAAQUAAAANcG9vbExQQmFsYW5jZQUAAAAHc2NhbGUxOAUAAAAMc2NhbGU4QmlnSW50BAAAABFvdXRBbW91bnRBc3NldEFtdAkAATwAAAADBQAAABhhbW91bnRBc3NldFBvb2xMb2NrZWRBbXQFAAAAEnBheW1lbnRMcEFtb3VudEJ1ZgUAAAAQcG9vbExQQmFsYW5jZUJ1ZgQAAAAQb3V0UHJpY2VBc3NldEFtdAkAATwAAAADBQAAABdwcmljZUFzc2V0UG9vbExvY2tlZEFtdAUAAAAScGF5bWVudExwQW1vdW50QnVmBQAAABBwb29sTFBCYWxhbmNlQnVmBAAAABZvdXRBbW91bnRBc3NldEFtdEZpbmFsCQABoAAAAAEJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMFAAAAEW91dEFtb3VudEFzc2V0QW10CQABNgAAAAEFAAAAEmFtb3V0QXNzZXREZWNpbWFscwUAAAAHc2NhbGUxOAQAAAAVb3V0UHJpY2VBc3NldEFtdEZpbmFsCQABoAAAAAEJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMFAAAAEG91dFByaWNlQXNzZXRBbXQJAAE2AAAAAQUAAAAScHJpY2VBc3NldERlY2ltYWxzBQAAAAdzY2FsZTE4CQAFHQAAAAsFAAAAFm91dEFtb3VudEFzc2V0QW10RmluYWwFAAAAFW91dFByaWNlQXNzZXRBbXRGaW5hbAUAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkBQAAABRwcmljZUFzc2V0SW50ZXJuYWxJZAUAAAANYW1vdW50QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkBQAAABZwb29sQW1vdW50QXNzZXRCYWxhbmNlBQAAABVwb29sUHJpY2VBc3NldEJhbGFuY2UFAAAADXBvb2xMUEJhbGFuY2UFAAAADGN1cnJlbnRQcmljZQUAAAAKcG9vbFN0YXR1cwEAAAAbcHJpdmF0ZUVzdGltYXRlUHV0T3BlcmF0aW9uAAAABwAAABFzbGlwcGFnZVRvbGVyYW5jZQAAABBpbkFtb3VudEFzc2V0QW10AAAAD2luQW1vdW50QXNzZXRJZAAAAA9pblByaWNlQXNzZXRBbXQAAAAOaW5QcmljZUFzc2V0SWQAAAALdXNlckFkZHJlc3MAAAAKaXNFdmFsdWF0ZQQAAAAScG9vbENvbmZpZ0RhdGFMaXN0CQEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAACWxwQXNzZXRJZAkAAlkAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAQaWR4UG9vbExQQXNzZXRJZAQAAAANYW1vdW50QXNzZXRJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAEGlkeEFtb3VudEFzc2V0SWQEAAAADHByaWNlQXNzZXRJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAYaWR4QW1vdW50QXNzZXRJbnRlcm5hbElkBAAAABRwcmljZUFzc2V0SW50ZXJuYWxJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAF2lkeFByaWNlQXNzZXRJbnRlcm5hbElkBAAAABJhbW91dEFzc2V0RGVjaW1hbHMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAFmlkeEFtb3VudEFzc2V0RGVjaW1hbHMEAAAAEnByaWNlQXNzZXREZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAVaWR4UHJpY2VBc3NldERlY2ltYWxzBAAAAApwb29sU3RhdHVzCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAANaWR4UG9vbFN0YXR1cwQAAAAVcG9vbExpcXVpZGl0eURhdGFMaXN0CQEAAAAQZ2V0UG9vbExpcXVpZGl0eQAAAAIFAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAUAAAAUcHJpY2VBc3NldEludGVybmFsSWQEAAAAFnBvb2xBbW91bnRBc3NldEJhbGFuY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABVwb29sTGlxdWlkaXR5RGF0YUxpc3QFAAAAFWlkeFBvb2xBbW91bnRBc3NldEFtdAQAAAAVcG9vbFByaWNlQXNzZXRCYWxhbmNlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAVcG9vbExpcXVpZGl0eURhdGFMaXN0BQAAABRpZHhQb29sUHJpY2VBc3NldEFtdAQAAAANcG9vbExQQmFsYW5jZQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAFXBvb2xMaXF1aWRpdHlEYXRhTGlzdAUAAAARaWR4UG9vbExQQXNzZXRBbXQDAwkBAAAAAiE9AAAAAgUAAAANYW1vdW50QXNzZXRJZAUAAAAPaW5BbW91bnRBc3NldElkBgkBAAAAAiE9AAAAAgUAAAAMcHJpY2VBc3NldElkBQAAAA5pblByaWNlQXNzZXRJZAkAAAIAAAABAgAAACVJbnZhbGlkIGFtb3VudCBvciBwcmljZSBhc3NldCBwYXNzZWQuBAAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlAwUAAAAKaXNFdmFsdWF0ZQkBAAAAGHByaXZhdGVHZXRBY2NvdW50QmFsYW5jZQAAAAEFAAAADWFtb3VudEFzc2V0SWQJAABlAAAAAgkBAAAAGHByaXZhdGVHZXRBY2NvdW50QmFsYW5jZQAAAAEFAAAADWFtb3VudEFzc2V0SWQFAAAAEGluQW1vdW50QXNzZXRBbXQEAAAAGGFjY291bnRQcmljZUFzc2V0QmFsYW5jZQMFAAAACmlzRXZhbHVhdGUJAQAAABhwcml2YXRlR2V0QWNjb3VudEJhbGFuY2UAAAABBQAAAAxwcmljZUFzc2V0SWQJAABlAAAAAgkBAAAAGHByaXZhdGVHZXRBY2NvdW50QmFsYW5jZQAAAAEFAAAADHByaWNlQXNzZXRJZAUAAAAPaW5QcmljZUFzc2V0QW10BAAAABhhbW91dEFzc2V0RGVjaW1hbHNCaWdJbnQJAAE2AAAAAQUAAAASYW1vdXRBc3NldERlY2ltYWxzBAAAABhwcmljZUFzc2V0RGVjaW1hbHNCaWdJbnQJAAE2AAAAAQUAAAAScHJpY2VBc3NldERlY2ltYWxzBAAAABppbkFtb3VudEFzc2V0QW10Q2FsY3VsYXRlZAkBAAAAGnByaXZhdGVCaWdJbnRDYXN0VG9TY2FsZU9mAAAAAwkAATYAAAABBQAAABBpbkFtb3VudEFzc2V0QW10BQAAAAdzY2FsZTE4BQAAABhhbW91dEFzc2V0RGVjaW1hbHNCaWdJbnQEAAAAGWluUHJpY2VBc3NldEFtdENhbGN1bGF0ZWQJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMJAAE2AAAAAQUAAAAPaW5QcmljZUFzc2V0QW10BQAAAAdzY2FsZTE4BQAAABhwcmljZUFzc2V0RGVjaW1hbHNCaWdJbnQEAAAACXVzZXJQcmljZQkBAAAAFGNhbGN1bGF0ZVByaWNlQmlnSW50AAAAAgUAAAAZaW5QcmljZUFzc2V0QW10Q2FsY3VsYXRlZAUAAAAaaW5BbW91bnRBc3NldEFtdENhbGN1bGF0ZWQEAAAAGGFtb3VudEFzc2V0UG9vbExvY2tlZEFtdAkBAAAAGnByaXZhdGVCaWdJbnRDYXN0VG9TY2FsZU9mAAAAAwkAATYAAAABBQAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlBQAAAAdzY2FsZTE4BQAAABhhbW91dEFzc2V0RGVjaW1hbHNCaWdJbnQEAAAAF3ByaWNlQXNzZXRQb29sTG9ja2VkQW10CQEAAAAacHJpdmF0ZUJpZ0ludENhc3RUb1NjYWxlT2YAAAADCQABNgAAAAEFAAAAGGFjY291bnRQcmljZUFzc2V0QmFsYW5jZQUAAAAHc2NhbGUxOAUAAAAYcHJpY2VBc3NldERlY2ltYWxzQmlnSW50BAAAAAtjdXJlbnRQcmljZQMJAAAAAAAAAgUAAAANcG9vbExQQmFsYW5jZQAAAAAAAAAAAAAAAAAAAAAAAAkBAAAAFGNhbGN1bGF0ZVByaWNlQmlnSW50AAAAAgUAAAAXcHJpY2VBc3NldFBvb2xMb2NrZWRBbXQFAAAAGGFtb3VudEFzc2V0UG9vbExvY2tlZEFtdAQAAAAIc2xpcHBhZ2UDCQAAAAAAAAIFAAAAC2N1cmVudFByaWNlAAAAAAAAAAAAAAAAAAAAAAAAAwkAAGYAAAACBQAAAAtjdXJlbnRQcmljZQUAAAAJdXNlclByaWNlCQAAawAAAAMJAABlAAAAAgUAAAALY3VyZW50UHJpY2UFAAAACXVzZXJQcmljZQAAAAAAAAAAZAUAAAALY3VyZW50UHJpY2UJAABrAAAAAwkAAGUAAAACBQAAAAl1c2VyUHJpY2UFAAAAC2N1cmVudFByaWNlAAAAAAAAAABkBQAAAAtjdXJlbnRQcmljZQMDCQEAAAACIT0AAAACBQAAAAtjdXJlbnRQcmljZQAAAAAAAAAAAAkAAGYAAAACCQAAaAAAAAIFAAAACHNsaXBwYWdlBQAAAAZzY2FsZTgFAAAAEXNsaXBwYWdlVG9sZXJhbmNlBwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9QcmljZSBzbGlwcGFnZSAJAAGkAAAAAQkAAGgAAAACBQAAAAhzbGlwcGFnZQUAAAAGc2NhbGU4AgAAAB4gZXhjZWVkZWQgdGhlIHBhc3NlZCBsaW1pdCBvZiAJAAGkAAAAAQUAAAARc2xpcHBhZ2VUb2xlcmFuY2UEAAAACmZpbmFsUHJpY2UJAQAAABRjYWxjdWxhdGVQcmljZUJpZ0ludAAAAAIJAAE3AAAAAgUAAAAXcHJpY2VBc3NldFBvb2xMb2NrZWRBbXQFAAAAGWluUHJpY2VBc3NldEFtdENhbGN1bGF0ZWQJAAE3AAAAAgUAAAAYYW1vdW50QXNzZXRQb29sTG9ja2VkQW10BQAAABppbkFtb3VudEFzc2V0QW10Q2FsY3VsYXRlZAQAAAALb3V0THBBbW91bnQDCQAAAAAAAAIFAAAADXBvb2xMUEJhbGFuY2UAAAAAAAAAAAAEAAAAC2xwUmVzdWx0QnVmCQAAdgAAAAYJAAE5AAAAAgUAAAAaaW5BbW91bnRBc3NldEFtdENhbGN1bGF0ZWQFAAAAGWluUHJpY2VBc3NldEFtdENhbGN1bGF0ZWQAAAAAAAAAAAAJAAE2AAAAAQAAAAAAAAAABQAAAAAAAAAAAQAAAAAAAAAAAAUAAAAERE9XTgkAAaAAAAABCQEAAAAacHJpdmF0ZUJpZ0ludENhc3RUb1NjYWxlT2YAAAADBQAAAAtscFJlc3VsdEJ1ZgUAAAAMc2NhbGU4QmlnSW50BQAAAAdzY2FsZTE4BAAAABBwb29sTFBCYWxhbmNlQnVmCQEAAAAacHJpdmF0ZUJpZ0ludENhc3RUb1NjYWxlT2YAAAADCQABNgAAAAEFAAAADXBvb2xMUEJhbGFuY2UFAAAAB3NjYWxlMTgFAAAADHNjYWxlOEJpZ0ludAQAAAASbHBBbXRCeUFtb3VudEFzc2V0CQABoAAAAAEJAQAAABpwcml2YXRlQmlnSW50Q2FzdFRvU2NhbGVPZgAAAAMJAAE8AAAAAwUAAAAQcG9vbExQQmFsYW5jZUJ1ZgUAAAAaaW5BbW91bnRBc3NldEFtdENhbGN1bGF0ZWQFAAAAGGFtb3VudEFzc2V0UG9vbExvY2tlZEFtdAUAAAAMc2NhbGU4QmlnSW50BQAAAAdzY2FsZTE4BAAAABFscEFtdEJ5UHJpY2VBc3NldAkAAaAAAAABCQEAAAAacHJpdmF0ZUJpZ0ludENhc3RUb1NjYWxlT2YAAAADCQABPAAAAAMFAAAAEHBvb2xMUEJhbGFuY2VCdWYFAAAAGWluUHJpY2VBc3NldEFtdENhbGN1bGF0ZWQFAAAAF3ByaWNlQXNzZXRQb29sTG9ja2VkQW10BQAAAAxzY2FsZThCaWdJbnQFAAAAB3NjYWxlMTgDCQAAZgAAAAIFAAAAEWxwQW10QnlQcmljZUFzc2V0BQAAABJscEFtdEJ5QW1vdW50QXNzZXQFAAAAEmxwQW10QnlBbW91bnRBc3NldAUAAAARbHBBbXRCeVByaWNlQXNzZXQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAC291dExwQW1vdW50CQAAAgAAAAECAAAANkludmFsaWQgY2FsY3VsYXRpb25zLiBMUCBjYWxjdWxhdGVkIGlzIGxlc3MgdGhhbiB6ZXJvLgkABRwAAAAKBQAAAAtvdXRMcEFtb3VudAUAAAAKZmluYWxQcmljZQUAAAAWcG9vbEFtb3VudEFzc2V0QmFsYW5jZQUAAAAVcG9vbFByaWNlQXNzZXRCYWxhbmNlBQAAAA1wb29sTFBCYWxhbmNlBQAAABVhbW91bnRBc3NldEludGVybmFsSWQFAAAAFHByaWNlQXNzZXRJbnRlcm5hbElkBQAAAAlscEFzc2V0SWQFAAAACHNsaXBwYWdlBQAAAApwb29sU3RhdHVzAQAAABt2YWxpZGF0ZU1hdGNoZXJPcmRlckFsbG93ZWQAAAABAAAABW9yZGVyBAAAABJwb29sQ29uZmlnRGF0YUxpc3QJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAANYW1vdW50QXNzZXRJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAEGlkeEFtb3VudEFzc2V0SWQEAAAADHByaWNlQXNzZXRJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAKcG9vbFN0YXR1cwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAANaWR4UG9vbFN0YXR1cwQAAAATbWF0Y2hlclB1YmxpY0tleVN0cgkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAE2lkeE1hdGNoZXJQdWJsaWNLZXkEAAAAE2Ftb3VudEFzc2V0RGVjaW1hbHMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAFmlkeEFtb3VudEFzc2V0RGVjaW1hbHMEAAAAEnByaWNlQXNzZXREZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAVaWR4UHJpY2VBc3NldERlY2ltYWxzBAAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAANYW1vdW50QXNzZXRJZAQAAAAYYWNjb3VudFByaWNlQXNzZXRCYWxhbmNlCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAAMcHJpY2VBc3NldElkBAAAAAxjdXJyZW50UHJpY2UDCQAAAAAAAAIIBQAAAAVvcmRlcgAAAAlvcmRlclR5cGUFAAAAA0J1eQkBAAAAFXByaXZhdGVDYWxjdWxhdGVQcmljZQAAAAQFAAAAE2Ftb3VudEFzc2V0RGVjaW1hbHMFAAAAEnByaWNlQXNzZXREZWNpbWFscwkAAGQAAAACBQAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlCAUAAAAFb3JkZXIAAAAGYW1vdW50BQAAABhhY2NvdW50UHJpY2VBc3NldEJhbGFuY2UJAQAAABVwcml2YXRlQ2FsY3VsYXRlUHJpY2UAAAAEBQAAABNhbW91bnRBc3NldERlY2ltYWxzBQAAABJwcmljZUFzc2V0RGVjaW1hbHMJAABkAAAAAgUAAAAZYWNjb3VudEFtb3VudEFzc2V0QmFsYW5jZQgFAAAABW9yZGVyAAAABmFtb3VudAUAAAAYYWNjb3VudFByaWNlQXNzZXRCYWxhbmNlBAAAABFpc1Bvb2xTdGF0dXNWYWxpZAMDAwkBAAAAEGlzR2xvYmFsU2h1dGRvd24AAAAABgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAABNQb29sTWF0Y2hlckRpc2FibGVkBgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAAAxQb29sU2h1dGRvd24HBgQAAAASaXNWYWxpZE1hdGNoZXJTaWduBgQAAAAQb3JkZXJBbW91bnRBc3NldAgIBQAAAAVvcmRlcgAAAAlhc3NldFBhaXIAAAALYW1vdW50QXNzZXQEAAAAE29yZGVyQW1vdW50QXNzZXRTdHIDCQAAAAAAAAIFAAAAEG9yZGVyQW1vdW50QXNzZXQFAAAABHVuaXQCAAAABVdBVkVTCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAAEG9yZGVyQW1vdW50QXNzZXQEAAAAD29yZGVyUHJpY2VBc3NldAgIBQAAAAVvcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAQAAAASb3JkZXJQcmljZUFzc2V0U3RyAwkAAAAAAAACBQAAAA9vcmRlclByaWNlQXNzZXQFAAAABHVuaXQCAAAABVdBVkVTCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAAD29yZGVyUHJpY2VBc3NldAQAAAAQaXNWYWxpZEFzc2V0UGFpcgMDCQEAAAACIT0AAAACBQAAABNvcmRlckFtb3VudEFzc2V0U3RyBQAAAA1hbW91bnRBc3NldElkBgkBAAAAAiE9AAAAAgUAAAASb3JkZXJQcmljZUFzc2V0U3RyBQAAAAxwcmljZUFzc2V0SWQHBgQAAAAKb3JkZXJQcmljZQgFAAAABW9yZGVyAAAABXByaWNlBAAAAA1wcmljZURlY2ltYWxzCQAAawAAAAMFAAAABnNjYWxlOAUAAAAScHJpY2VBc3NldERlY2ltYWxzBQAAABNhbW91bnRBc3NldERlY2ltYWxzBAAAABBjYXN0ZWRPcmRlclByaWNlCQEAAAAUcHJpdmF0ZUNhc3RUb1NjYWxlT2YAAAADBQAAAApvcmRlclByaWNlBQAAAAZzY2FsZTgFAAAADXByaWNlRGVjaW1hbHMEAAAAEWlzT3JkZXJQcmljZVZhbGlkAwkAAAAAAAACCAUAAAAFb3JkZXIAAAAJb3JkZXJUeXBlBQAAAANCdXkJAABnAAAAAgUAAAAMY3VycmVudFByaWNlBQAAABBjYXN0ZWRPcmRlclByaWNlCQAAZwAAAAIFAAAAEGNhc3RlZE9yZGVyUHJpY2UFAAAADGN1cnJlbnRQcmljZQMDAwUAAAAQaXNWYWxpZEFzc2V0UGFpcgUAAAASaXNWYWxpZE1hdGNoZXJTaWduBwUAAAARaXNQb29sU3RhdHVzVmFsaWQHBQAAABFpc09yZGVyUHJpY2VWYWxpZAcAAAAJAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAAAQAAAA9mYWN0b3J5Q29udHJhY3QDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlGYWN0b3J5Q29udHJhY3QAAAAABQAAAA9mYWN0b3J5Q29udHJhY3QFAAAAA25pbAAAAAFpAQAAAANwdXQAAAACAAAAEXNsaXBwYWdlVG9sZXJhbmNlAAAAD3Nob3VsZEF1dG9TdGFrZQQAAAARZmFjdG9yeUNvbmZpZ0xpc3QJAQAAABBnZXRGYWN0b3J5Q29uZmlnAAAAAAQAAAAPc3Rha2luZ0NvbnRyYWN0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAABFmYWN0b3J5Q29uZmlnTGlzdAUAAAAZaWR4RmFjdG9yeVN0YWtpbmdDb250cmFjdAIAAAAhRXJyb3IuIEluY29ycmVjdCBzdGFraW5nIGFkZHJlc3MuBAAAAA5wbXRBbW91bnRBc3NldAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAQaW5BbW91bnRBc3NldEFtdAgFAAAADnBtdEFtb3VudEFzc2V0AAAABmFtb3VudAQAAAAPaW5BbW91bnRBc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAADnBtdEFtb3VudEFzc2V0AAAAB2Fzc2V0SWQJAAJZAAAAAQIAAAAFV0FWRVMJAQAAAAV2YWx1ZQAAAAEIBQAAAA5wbXRBbW91bnRBc3NldAAAAAdhc3NldElkBAAAAA1wbXRQcmljZUFzc2V0CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABBAAAAA9pblByaWNlQXNzZXRBbXQIBQAAAA1wbXRQcmljZUFzc2V0AAAABmFtb3VudAQAAAAOaW5QcmljZUFzc2V0SWQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAANcG10UHJpY2VBc3NldAAAAAdhc3NldElkCQACWQAAAAECAAAABVdBVkVTCQEAAAAFdmFsdWUAAAABCAUAAAANcG10UHJpY2VBc3NldAAAAAdhc3NldElkBAAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzCQEAAAAbcHJpdmF0ZUVzdGltYXRlUHV0T3BlcmF0aW9uAAAABwUAAAARc2xpcHBhZ2VUb2xlcmFuY2UFAAAAEGluQW1vdW50QXNzZXRBbXQJAAJYAAAAAQUAAAAPaW5BbW91bnRBc3NldElkBQAAAA9pblByaWNlQXNzZXRBbXQJAAJYAAAAAQUAAAAOaW5QcmljZUFzc2V0SWQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBwQAAAALb3V0THBBbW91bnQIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl8xBAAAAAtjdXJlbnRQcmljZQgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAACXzIEAAAAFnBvb2xBbW91bnRBc3NldEJhbGFuY2UIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl8zBAAAABVwb29sUHJpY2VBc3NldEJhbGFuY2UIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl80BAAAAA1wb29sTFBCYWxhbmNlCAUAAAATZXN0aW1hdGVkUHV0UmVzdWx0cwAAAAJfNQQAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCAUAAAATZXN0aW1hdGVkUHV0UmVzdWx0cwAAAAJfNgQAAAAUcHJpY2VBc3NldEludGVybmFsSWQIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl83BAAAAAlscEFzc2V0SWQIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl84BAAAABJzbGlwcGFnZUNhbGN1bGF0ZWQIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl85BAAAAApwb29sU3RhdHVzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAA18xMAMDAwkBAAAAEGlzR2xvYmFsU2h1dGRvd24AAAAABgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAAA9Qb29sUHV0RGlzYWJsZWQGCQAAAAAAAAIFAAAACnBvb2xTdGF0dXMFAAAADFBvb2xTaHV0ZG93bgkAAAIAAAABCQABLAAAAAICAAAALFB1dCBvcGVyYXRpb24gaXMgYmxvY2tlZCBieSBhZG1pbi4gU3RhdHVzID0gCQABpAAAAAEFAAAACnBvb2xTdGF0dXMEAAAAFGVtaXRMUEFzc2V0T25GYWN0b3J5CQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEZW1pdAkABEwAAAACBQAAAAtvdXRMcEFtb3VudAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAFGVtaXRMUEFzc2V0T25GYWN0b3J5BQAAABRlbWl0TFBBc3NldE9uRmFjdG9yeQMJAQAAAAIhPQAAAAIFAAAAFGVtaXRMUEFzc2V0T25GYWN0b3J5AgAAAAdzdWNjZXNzCQAAAgAAAAECAAAANExQIGFzc2V0IHJlaXNzdWUgZmFpbGVkIGR1cmluZyBlbWl0IGNhbGwgb24gZmFjdG9yeS4EAAAAB3Jlc3VsdHMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGtleVByaWNlTGFzdAAAAAAJAAEsAAAAAgIAAAAEJXNfXwkAAaQAAAABBQAAAAtjdXJlbnRQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPa2V5UHJpY2VIaXN0b3J5AAAAAgUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAASwAAAACAgAAAAQlc19fCQABpAAAAAEFAAAAC2N1cmVudFByaWNlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlQdXRBY3Rpb25CeVVzZXIAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQEAAAARZGF0YVB1dEFjdGlvbkluZm8AAAAIBQAAABBpbkFtb3VudEFzc2V0QW10BQAAAA9pblByaWNlQXNzZXRBbXQFAAAAC291dExwQW1vdW50BQAAAAtjdXJlbnRQcmljZQUAAAARc2xpcHBhZ2VUb2xlcmFuY2UFAAAAEnNsaXBwYWdlQ2FsY3VsYXRlZAUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAQa2V5UG9vbExpcXVpZGl0eQAAAAIFAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAUAAAAUcHJpY2VBc3NldEludGVybmFsSWQJAQAAABFkYXRhUG9vbExpcXVpZGl0eQAAAAMJAABkAAAAAgUAAAAWcG9vbEFtb3VudEFzc2V0QmFsYW5jZQUAAAAQaW5BbW91bnRBc3NldEFtdAkAAGQAAAACBQAAABVwb29sUHJpY2VBc3NldEJhbGFuY2UFAAAAD2luUHJpY2VBc3NldEFtdAkAAGQAAAACBQAAAA1wb29sTFBCYWxhbmNlBQAAAAtvdXRMcEFtb3VudAUAAAADbmlsAwUAAAAPc2hvdWxkQXV0b1N0YWtlBAAAAAVzdGFrZQkAA/wAAAAEBQAAAA9zdGFraW5nQ29udHJhY3QCAAAABXN0YWtlBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAACWxwQXNzZXRJZAUAAAALb3V0THBBbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAFc3Rha2UFAAAABXN0YWtlBQAAAAdyZXN1bHRzCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkABE0AAAACBQAAAAdyZXN1bHRzCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC291dExwQW1vdW50BQAAAAlscEFzc2V0SWQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAA2dldAAAAAAEAAAADnBtdEFtb3VudEFzc2V0CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApwbXRBc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAAOcG10QW1vdW50QXNzZXQAAAAHYXNzZXRJZAQAAAAOcG10QXNzZXRBbW91bnQIBQAAAA5wbXRBbW91bnRBc3NldAAAAAZhbW91bnQEAAAAB3Jlc3VsdHMJAQAAABtwcml2YXRlRXN0aW1hdGVHZXRPcGVyYXRpb24AAAADCQACWAAAAAEFAAAACnBtdEFzc2V0SWQFAAAADnBtdEFzc2V0QW1vdW50CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAARb3V0QW1vdW50QXNzZXRBbXQIBQAAAAdyZXN1bHRzAAAAAl8xBAAAABBvdXRQcmljZUFzc2V0QW10CAUAAAAHcmVzdWx0cwAAAAJfMgQAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCAUAAAAHcmVzdWx0cwAAAAJfMwQAAAAUcHJpY2VBc3NldEludGVybmFsSWQIBQAAAAdyZXN1bHRzAAAAAl80BAAAAA1hbW91bnRBc3NldElkCAUAAAAHcmVzdWx0cwAAAAJfNQQAAAAMcHJpY2VBc3NldElkCAUAAAAHcmVzdWx0cwAAAAJfNgQAAAAWcG9vbEFtb3VudEFzc2V0QmFsYW5jZQgFAAAAB3Jlc3VsdHMAAAACXzcEAAAAFXBvb2xQcmljZUFzc2V0QmFsYW5jZQgFAAAAB3Jlc3VsdHMAAAACXzgEAAAADXBvb2xMUEJhbGFuY2UIBQAAAAdyZXN1bHRzAAAAAl85BAAAAAxjdXJyZW50UHJpY2UIBQAAAAdyZXN1bHRzAAAAA18xMAQAAAAKcG9vbFN0YXR1cwkBAAAADXBhcnNlSW50VmFsdWUAAAABCAUAAAAHcmVzdWx0cwAAAANfMTEDAwkBAAAAEGlzR2xvYmFsU2h1dGRvd24AAAAABgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAAAxQb29sU2h1dGRvd24JAAACAAAAAQkAASwAAAACAgAAACxHZXQgb3BlcmF0aW9uIGlzIGJsb2NrZWQgYnkgYWRtaW4uIFN0YXR1cyA9IAkAAaQAAAABBQAAAApwb29sU3RhdHVzBAAAABRidXJuTFBBc3NldE9uRmFjdG9yeQkAA/wAAAAEBQAAAA9mYWN0b3J5Q29udHJhY3QCAAAABGJ1cm4JAARMAAAAAgUAAAAOcG10QXNzZXRBbW91bnQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAOcG10QXNzZXRBbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAUYnVybkxQQXNzZXRPbkZhY3RvcnkFAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5AwkBAAAAAiE9AAAAAgUAAAAUYnVybkxQQXNzZXRPbkZhY3RvcnkCAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAxTFAgYXNzZXQgYnVybiBmYWlsZWQgZHVyaW5nIGVtaXQgY2FsbCBvbiBmYWN0b3J5LgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAEW91dEFtb3VudEFzc2V0QW10AwkAAAAAAAACBQAAAA1hbW91bnRBc3NldElkAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAA1hbW91bnRBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAQb3V0UHJpY2VBc3NldEFtdAkAAlkAAAABBQAAAAxwcmljZUFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGtleVBvb2xMaXF1aWRpdHkAAAACBQAAABVhbW91bnRBc3NldEludGVybmFsSWQFAAAAFHByaWNlQXNzZXRJbnRlcm5hbElkCQEAAAARZGF0YVBvb2xMaXF1aWRpdHkAAAADCQAAZQAAAAIFAAAAFnBvb2xBbW91bnRBc3NldEJhbGFuY2UFAAAAEW91dEFtb3VudEFzc2V0QW10CQAAZQAAAAIFAAAAFXBvb2xQcmljZUFzc2V0QmFsYW5jZQUAAAAQb3V0UHJpY2VBc3NldEFtdAkAAGUAAAACBQAAAA1wb29sTFBCYWxhbmNlBQAAAA5wbXRBc3NldEFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5R2V0QWN0aW9uQnlVc2VyAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkBAAAAEWRhdGFHZXRBY3Rpb25JbmZvAAAABgUAAAARb3V0QW1vdW50QXNzZXRBbXQFAAAAEG91dFByaWNlQXNzZXRBbXQFAAAADnBtdEFzc2V0QW1vdW50BQAAAAxjdXJyZW50UHJpY2UFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGtleVByaWNlTGFzdAAAAAAJAAEsAAAAAgIAAAAEJXNfXwkAAaQAAAABBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2tleVByaWNlSGlzdG9yeQAAAAIFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAEsAAAAAgIAAAAEJXNfXwkAAaQAAAABBQAAAAxjdXJyZW50UHJpY2UFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAIYWN0aXZhdGUAAAACAAAADmFtb3VudEFzc2V0U3RyAAAADXByaWNlQXNzZXRTdHIDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkABCUAAAABBQAAAA9mYWN0b3J5Q29udHJhY3QJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADmtleUFtb3VudEFzc2V0AAAAAAUAAAAOYW1vdW50QXNzZXRTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleVByaWNlQXNzZXQAAAAABQAAAA1wcmljZUFzc2V0U3RyBQAAAANuaWwCAAAAB3N1Y2Nlc3MAAAABaQEAAAANc3RhdHNSRUFET05MWQAAAAAEAAAAEnBvb2xDb25maWdEYXRhTGlzdAkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAAlscEFzc2V0SWQJAAJZAAAAAQkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAEGlkeFBvb2xMUEFzc2V0SWQEAAAADWFtb3VudEFzc2V0SWQJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAABBpZHhBbW91bnRBc3NldElkBAAAAAxwcmljZUFzc2V0SWQJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAAA9pZHhQcmljZUFzc2V0SWQEAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAGGlkeEFtb3VudEFzc2V0SW50ZXJuYWxJZAQAAAAUcHJpY2VBc3NldEludGVybmFsSWQJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAABdpZHhQcmljZUFzc2V0SW50ZXJuYWxJZAQAAAASYW1vdXRBc3NldERlY2ltYWxzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAABZpZHhBbW91bnRBc3NldERlY2ltYWxzBAAAABJwcmljZUFzc2V0RGVjaW1hbHMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAFWlkeFByaWNlQXNzZXREZWNpbWFscwQAAAAVcG9vbExpcXVpZGl0eURhdGFMaXN0CQEAAAAQZ2V0UG9vbExpcXVpZGl0eQAAAAIFAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAUAAAAUcHJpY2VBc3NldEludGVybmFsSWQEAAAADXBvb2xMUEJhbGFuY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABVwb29sTGlxdWlkaXR5RGF0YUxpc3QFAAAAEWlkeFBvb2xMUEFzc2V0QW10BAAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAANYW1vdW50QXNzZXRJZAQAAAAYYWNjb3VudFByaWNlQXNzZXRCYWxhbmNlCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAAMcHJpY2VBc3NldElkBAAAAApwcmljZXNMaXN0CQEAAAAPY2FsY3VsYXRlUHJpY2VzAAAAAwUAAAAZYWNjb3VudEFtb3VudEFzc2V0QmFsYW5jZQUAAAAYYWNjb3VudFByaWNlQXNzZXRCYWxhbmNlBQAAAA1wb29sTFBCYWxhbmNlBAAAAAxjdXJyZW50UHJpY2UJAAGRAAAAAgUAAAAKcHJpY2VzTGlzdAAAAAAAAAAAAAQAAAASbHBBbW91bnRBc3NldFNoYXJlCQABkQAAAAIFAAAACnByaWNlc0xpc3QAAAAAAAAAAAEEAAAAEWxwUHJpY2VBc3NldFNoYXJlCQABkQAAAAIFAAAACnByaWNlc0xpc3QAAAAAAAAAAAIEAAAACnBvb2xXZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlQb29sV2VpZ2h0AAAAAQkABCUAAAABBQAAAAR0aGlzAgAAABlQb29sIGRvZXNuJ3QgaGF2ZSB3ZWlnaHQuCQAFFAAAAAIFAAAAA25pbAkABLkAAAACCQAETAAAAAICAAAADiVkJWQlZCVkJWQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAAZYWNjb3VudEFtb3VudEFzc2V0QmFsYW5jZQkABEwAAAACCQABpAAAAAEFAAAAGGFjY291bnRQcmljZUFzc2V0QmFsYW5jZQkABEwAAAACCQABpAAAAAEFAAAADXBvb2xMUEJhbGFuY2UJAARMAAAAAgkAAaQAAAABBQAAAAxjdXJyZW50UHJpY2UJAARMAAAAAgkAAaQAAAABBQAAABJscEFtb3VudEFzc2V0U2hhcmUJAARMAAAAAgkAAaQAAAABBQAAABFscFByaWNlQXNzZXRTaGFyZQkABEwAAAACCQABpAAAAAEFAAAACnBvb2xXZWlnaHQFAAAAA25pbAUAAAADU0VQAAAAAWkBAAAAIGV2YWx1YXRlUHV0QnlBbW91bnRBc3NldFJFQURPTkxZAAAAAwAAABFzbGlwcGFnZVRvbGVyYW5jZQAAABBpbkFtb3VudEFzc2V0QW10AAAAC3VzZXJBZGRyZXNzBAAAABJwb29sQ29uZmlnRGF0YUxpc3QJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAJbHBBc3NldElkCQACWQAAAAEJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAABBpZHhQb29sTFBBc3NldElkBAAAAA1hbW91bnRBc3NldElkCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAQaWR4QW1vdW50QXNzZXRJZAQAAAAMcHJpY2VBc3NldElkCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAPaWR4UHJpY2VBc3NldElkBAAAABVhbW91bnRBc3NldEludGVybmFsSWQJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAABhpZHhBbW91bnRBc3NldEludGVybmFsSWQEAAAAFHByaWNlQXNzZXRJbnRlcm5hbElkCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAXaWR4UHJpY2VBc3NldEludGVybmFsSWQEAAAAEmFtb3V0QXNzZXREZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAWaWR4QW1vdW50QXNzZXREZWNpbWFscwQAAAAScHJpY2VBc3NldERlY2ltYWxzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAABVpZHhQcmljZUFzc2V0RGVjaW1hbHMEAAAACnBvb2xTdGF0dXMJAAGRAAAAAgUAAAAScG9vbENvbmZpZ0RhdGFMaXN0BQAAAA1pZHhQb29sU3RhdHVzBAAAABVwb29sTGlxdWlkaXR5RGF0YUxpc3QJAQAAABBnZXRQb29sTGlxdWlkaXR5AAAAAgUAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkBQAAABRwcmljZUFzc2V0SW50ZXJuYWxJZAQAAAANcG9vbExQQmFsYW5jZQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAFXBvb2xMaXF1aWRpdHlEYXRhTGlzdAUAAAARaWR4UG9vbExQQXNzZXRBbXQEAAAAGWFjY291bnRBbW91bnRBc3NldEJhbGFuY2UJAQAAABhwcml2YXRlR2V0QWNjb3VudEJhbGFuY2UAAAABBQAAAA1hbW91bnRBc3NldElkBAAAABhhY2NvdW50UHJpY2VBc3NldEJhbGFuY2UJAQAAABhwcml2YXRlR2V0QWNjb3VudEJhbGFuY2UAAAABBQAAAAxwcmljZUFzc2V0SWQEAAAAH2FjY291bnRBbW91bnRBc3NldEJhbGFuY2VDYXN0ZWQJAQAAABRwcml2YXRlQ2FzdFRvU2NhbGVPZgAAAAMFAAAAGWFjY291bnRBbW91bnRBc3NldEJhbGFuY2UFAAAABnNjYWxlOAUAAAASYW1vdXRBc3NldERlY2ltYWxzBAAAAB5hY2NvdW50UHJpY2VBc3NldEJhbGFuY2VDYXN0ZWQJAQAAABRwcml2YXRlQ2FzdFRvU2NhbGVPZgAAAAMFAAAAGGFjY291bnRQcmljZUFzc2V0QmFsYW5jZQUAAAAGc2NhbGU4BQAAABJwcmljZUFzc2V0RGVjaW1hbHMEAAAAC2N1cmVudFByaWNlAwkAAAAAAAACBQAAAA1wb29sTFBCYWxhbmNlAAAAAAAAAAAAAAAAAAAAAAAACQEAAAAOY2FsY3VsYXRlUHJpY2UAAAACBQAAAB5hY2NvdW50UHJpY2VBc3NldEJhbGFuY2VDYXN0ZWQFAAAAH2FjY291bnRBbW91bnRBc3NldEJhbGFuY2VDYXN0ZWQEAAAAGWluUHJpY2VBc3NldEFtdENhbGN1bGF0ZWQJAABrAAAAAwUAAAAQaW5BbW91bnRBc3NldEFtdAUAAAALY3VyZW50UHJpY2UFAAAABnNjYWxlOAQAAAAPaW5QcmljZUFzc2V0QW10CQEAAAAUcHJpdmF0ZUNhc3RUb1NjYWxlT2YAAAADBQAAABlpblByaWNlQXNzZXRBbXRDYWxjdWxhdGVkBQAAABJwcmljZUFzc2V0RGVjaW1hbHMFAAAABnNjYWxlOAQAAAATZXN0aW1hdGVkUHV0UmVzdWx0cwkBAAAAG3ByaXZhdGVFc3RpbWF0ZVB1dE9wZXJhdGlvbgAAAAcFAAAAEXNsaXBwYWdlVG9sZXJhbmNlBQAAABBpbkFtb3VudEFzc2V0QW10BQAAAA1hbW91bnRBc3NldElkBQAAAA9pblByaWNlQXNzZXRBbXQFAAAADHByaWNlQXNzZXRJZAUAAAALdXNlckFkZHJlc3MGBAAAAA9vdXRMcEFtb3VudENhbGMIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl8xBAAAAA9jdXJlbnRQcmljZUNhbGMIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl8yBAAAABpwb29sQW1vdW50QXNzZXRCYWxhbmNlQ2FsYwgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAACXzMEAAAAGXBvb2xQcmljZUFzc2V0QmFsYW5jZUNBbGMIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAAl80BAAAABFwb29sTFBCYWxhbmNlQ2FsYwgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAACXzUEAAAADnBvb2xTdGF0dXNDYWxjCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEIBQAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzAAAAA18xMAkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAAAwlZCVkJWQlZCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAA9vdXRMcEFtb3VudENhbGMJAARMAAAAAgkAAaQAAAABBQAAAAtjdXJlbnRQcmljZQkABEwAAAACCQABpAAAAAEFAAAAGnBvb2xBbW91bnRBc3NldEJhbGFuY2VDYWxjCQAETAAAAAIJAAGkAAAAAQUAAAAZcG9vbFByaWNlQXNzZXRCYWxhbmNlQ0FsYwkABEwAAAACCQABpAAAAAEFAAAAEXBvb2xMUEJhbGFuY2VDYWxjCQAETAAAAAIJAAGkAAAAAQUAAAAOcG9vbFN0YXR1c0NhbGMFAAAAA25pbAUAAAADU0VQAAAAAWkBAAAAH2V2YWx1YXRlUHV0QnlQcmljZUFzc2V0UkVBRE9OTFkAAAADAAAAEXNsaXBwYWdlVG9sZXJhbmNlAAAAD2luUHJpY2VBc3NldEFtdAAAAAt1c2VyQWRkcmVzcwQAAAAScG9vbENvbmZpZ0RhdGFMaXN0CQEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAACWxwQXNzZXRJZAkAAlkAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAQaWR4UG9vbExQQXNzZXRJZAQAAAANYW1vdW50QXNzZXRJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAEGlkeEFtb3VudEFzc2V0SWQEAAAADHByaWNlQXNzZXRJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAVYW1vdW50QXNzZXRJbnRlcm5hbElkCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAYaWR4QW1vdW50QXNzZXRJbnRlcm5hbElkBAAAABRwcmljZUFzc2V0SW50ZXJuYWxJZAkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAF2lkeFByaWNlQXNzZXRJbnRlcm5hbElkBAAAABJhbW91dEFzc2V0RGVjaW1hbHMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABJwb29sQ29uZmlnRGF0YUxpc3QFAAAAFmlkeEFtb3VudEFzc2V0RGVjaW1hbHMEAAAAEnByaWNlQXNzZXREZWNpbWFscwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAAVaWR4UHJpY2VBc3NldERlY2ltYWxzBAAAAApwb29sU3RhdHVzCQABkQAAAAIFAAAAEnBvb2xDb25maWdEYXRhTGlzdAUAAAANaWR4UG9vbFN0YXR1cwQAAAAVcG9vbExpcXVpZGl0eURhdGFMaXN0CQEAAAAQZ2V0UG9vbExpcXVpZGl0eQAAAAIFAAAAFWFtb3VudEFzc2V0SW50ZXJuYWxJZAUAAAAUcHJpY2VBc3NldEludGVybmFsSWQEAAAADXBvb2xMUEJhbGFuY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABVwb29sTGlxdWlkaXR5RGF0YUxpc3QFAAAAEWlkeFBvb2xMUEFzc2V0QW10BAAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAANYW1vdW50QXNzZXRJZAQAAAAYYWNjb3VudFByaWNlQXNzZXRCYWxhbmNlCQEAAAAYcHJpdmF0ZUdldEFjY291bnRCYWxhbmNlAAAAAQUAAAAMcHJpY2VBc3NldElkBAAAAB9hY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlQ2FzdGVkCQEAAAAUcHJpdmF0ZUNhc3RUb1NjYWxlT2YAAAADBQAAABlhY2NvdW50QW1vdW50QXNzZXRCYWxhbmNlBQAAAAZzY2FsZTgFAAAAEmFtb3V0QXNzZXREZWNpbWFscwQAAAAeYWNjb3VudFByaWNlQXNzZXRCYWxhbmNlQ2FzdGVkCQEAAAAUcHJpdmF0ZUNhc3RUb1NjYWxlT2YAAAADBQAAABhhY2NvdW50UHJpY2VBc3NldEJhbGFuY2UFAAAABnNjYWxlOAUAAAAScHJpY2VBc3NldERlY2ltYWxzBAAAAB5pblByaWNlQXNzZXRBbXRDYWxjdWxhdGVkVHVwbGUJAQAAABRwcml2YXRlQ2FzdFRvU2NhbGVPZgAAAAMFAAAAD2luUHJpY2VBc3NldEFtdAUAAAAGc2NhbGU4BQAAABJwcmljZUFzc2V0RGVjaW1hbHMEAAAAC2N1cmVudFByaWNlAwkAAAAAAAACBQAAAA1wb29sTFBCYWxhbmNlAAAAAAAAAAAAAAAAAAAAAAAACQEAAAAOY2FsY3VsYXRlUHJpY2UAAAACBQAAAB5hY2NvdW50UHJpY2VBc3NldEJhbGFuY2VDYXN0ZWQFAAAAH2FjY291bnRBbW91bnRBc3NldEJhbGFuY2VDYXN0ZWQEAAAAGmluQW1vdW50QXNzZXRBbXRDYWxjdWxhdGVkCQAAawAAAAMFAAAAHmluUHJpY2VBc3NldEFtdENhbGN1bGF0ZWRUdXBsZQUAAAAGc2NhbGU4BQAAAAtjdXJlbnRQcmljZQQAAAAQaW5BbW91bnRBc3NldEFtdAkBAAAAFHByaXZhdGVDYXN0VG9TY2FsZU9mAAAAAwUAAAAaaW5BbW91bnRBc3NldEFtdENhbGN1bGF0ZWQFAAAAEmFtb3V0QXNzZXREZWNpbWFscwUAAAAGc2NhbGU4BAAAABNlc3RpbWF0ZWRQdXRSZXN1bHRzCQEAAAAbcHJpdmF0ZUVzdGltYXRlUHV0T3BlcmF0aW9uAAAABwUAAAARc2xpcHBhZ2VUb2xlcmFuY2UFAAAAEGluQW1vdW50QXNzZXRBbXQFAAAADWFtb3VudEFzc2V0SWQFAAAAD2luUHJpY2VBc3NldEFtdAUAAAAMcHJpY2VBc3NldElkBQAAAAt1c2VyQWRkcmVzcwYEAAAAD291dExwQW1vdW50Q2FsYwgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAACXzEEAAAAD2N1cmVudFByaWNlQ2FsYwgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAACXzIEAAAAGnBvb2xBbW91bnRBc3NldEJhbGFuY2VDYWxjCAUAAAATZXN0aW1hdGVkUHV0UmVzdWx0cwAAAAJfMwQAAAAZcG9vbFByaWNlQXNzZXRCYWxhbmNlQ0FsYwgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAACXzQEAAAAEXBvb2xMUEJhbGFuY2VDYWxjCAUAAAATZXN0aW1hdGVkUHV0UmVzdWx0cwAAAAJfNQQAAAAOcG9vbFN0YXR1c0NhbGMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQgFAAAAE2VzdGltYXRlZFB1dFJlc3VsdHMAAAADXzEwCQAFFAAAAAIFAAAAA25pbAkABLkAAAACCQAETAAAAAICAAAADCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAAD291dExwQW1vdW50Q2FsYwkABEwAAAACCQABpAAAAAEFAAAAC2N1cmVudFByaWNlCQAETAAAAAIJAAGkAAAAAQUAAAAacG9vbEFtb3VudEFzc2V0QmFsYW5jZUNhbGMJAARMAAAAAgkAAaQAAAABBQAAABlwb29sUHJpY2VBc3NldEJhbGFuY2VDQWxjCQAETAAAAAIJAAGkAAAAAQUAAAARcG9vbExQQmFsYW5jZUNhbGMJAARMAAAAAgkAAaQAAAABBQAAAA5wb29sU3RhdHVzQ2FsYwUAAAADbmlsBQAAAANTRVAAAAABaQEAAAATZXZhbHVhdGVHZXRSRUFET05MWQAAAAMAAAAQcGF5bWVudExwQXNzZXRJZAAAAA9wYXltZW50THBBbW91bnQAAAALdXNlckFkZHJlc3MEAAAAB3Jlc3VsdHMJAQAAABtwcml2YXRlRXN0aW1hdGVHZXRPcGVyYXRpb24AAAADBQAAABBwYXltZW50THBBc3NldElkBQAAAA9wYXltZW50THBBbW91bnQFAAAAC3VzZXJBZGRyZXNzBAAAABFvdXRBbW91bnRBc3NldEFtdAgFAAAAB3Jlc3VsdHMAAAACXzEEAAAAEG91dFByaWNlQXNzZXRBbXQIBQAAAAdyZXN1bHRzAAAAAl8yBAAAABZwb29sQW1vdW50QXNzZXRCYWxhbmNlCAUAAAAHcmVzdWx0cwAAAAJfNwQAAAAVcG9vbFByaWNlQXNzZXRCYWxhbmNlCAUAAAAHcmVzdWx0cwAAAAJfOAQAAAANcG9vbExQQmFsYW5jZQgFAAAAB3Jlc3VsdHMAAAACXzkEAAAADGN1cnJlbnRQcmljZQgFAAAAB3Jlc3VsdHMAAAADXzEwBAAAAApwb29sU3RhdHVzCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEIBQAAAAdyZXN1bHRzAAAAA18xMQkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAAA4lZCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAAEW91dEFtb3VudEFzc2V0QW10CQAETAAAAAIJAAGkAAAAAQUAAAAQb3V0UHJpY2VBc3NldEFtdAkABEwAAAACCQABpAAAAAEFAAAAFnBvb2xBbW91bnRBc3NldEJhbGFuY2UJAARMAAAAAgkAAaQAAAABBQAAABVwb29sUHJpY2VBc3NldEJhbGFuY2UJAARMAAAAAgkAAaQAAAABBQAAAA1wb29sTFBCYWxhbmNlCQAETAAAAAIJAAGkAAAAAQUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAAGkAAAAAQUAAAAKcG9vbFN0YXR1cwUAAAADbmlsBQAAAANTRVAAAAABaQEAAAAMaGFzaFJFQURPTkxZAAAAAAkABRQAAAACBQAAAANuaWwJAAJaAAAAAQkBAAAABXZhbHVlAAAAAQkAA/EAAAABBQAAAAR0aGlzAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABU9yZGVyBAAAAAVvcmRlcgUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5Qsj0HQ==", "chainId": 84, "height": 1724207, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 5yztQop6MHd879EdnPTmsMAy4dSVWYuuAiroMT8kVFYd Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = 8 | |
5 | + | ||
6 | + | let b = 100000000 | |
7 | + | ||
8 | + | let c = toBigInt(100000000) | |
9 | + | ||
10 | + | let d = toBigInt(1000000000000000000) | |
11 | + | ||
12 | + | let e = "__" | |
13 | + | ||
14 | + | let f = 1 | |
15 | + | ||
16 | + | let g = 2 | |
17 | + | ||
18 | + | let h = 3 | |
19 | + | ||
20 | + | let i = 4 | |
21 | + | ||
22 | + | let j = 1 | |
23 | + | ||
24 | + | let k = 2 | |
25 | + | ||
26 | + | let l = 3 | |
27 | + | ||
28 | + | let m = 4 | |
29 | + | ||
30 | + | let n = 5 | |
31 | + | ||
32 | + | let o = 6 | |
33 | + | ||
34 | + | let p = 7 | |
35 | + | ||
36 | + | let q = 8 | |
37 | + | ||
38 | + | let r = 9 | |
39 | + | ||
40 | + | let s = 10 | |
41 | + | ||
42 | + | let t = 11 | |
43 | + | ||
44 | + | let u = 1 | |
45 | + | ||
46 | + | let v = 2 | |
47 | + | ||
48 | + | let w = 3 | |
49 | + | ||
50 | + | let x = 1 | |
51 | + | ||
52 | + | let y = 2 | |
53 | + | ||
54 | + | func z () = "%s__factoryContract" | |
55 | + | ||
56 | + | ||
57 | + | func A () = "%s%s__price__last" | |
58 | + | ||
59 | + | ||
60 | + | func B (C,D) = makeString(["%s%s%d%d__price__history", toString(C), toString(D)], e) | |
61 | + | ||
62 | + | ||
63 | + | func E (F,G) = (((("%d%d%s__" + F) + "__") + G) + "__locked") | |
64 | + | ||
65 | + | ||
66 | + | func H (I,J) = ((("%s%s%s__P__" + I) + "__") + J) | |
67 | + | ||
68 | + | ||
69 | + | func K (I,J) = ((("%s%s%s__G__" + I) + "__") + J) | |
70 | + | ||
71 | + | ||
72 | + | func L () = "%s__amountAsset" | |
73 | + | ||
74 | + | ||
75 | + | func M () = "%s__priceAsset" | |
76 | + | ||
77 | + | ||
78 | + | func N () = "%s%s__K_current" | |
79 | + | ||
80 | + | ||
81 | + | func O (C,D) = makeString(["%s%s%d%d__K_history", toString(C), toString(D)], e) | |
82 | + | ||
83 | + | ||
84 | + | func P () = "%s__factoryConfig" | |
85 | + | ||
86 | + | ||
87 | + | func Q (R) = (("%s%s%s__" + R) + "__mappings__poolContract2LpAsset") | |
88 | + | ||
89 | + | ||
90 | + | func S (T,U) = (((("%d%d%s__" + T) + "__") + U) + "__config") | |
91 | + | ||
92 | + | ||
93 | + | func V (W) = ("%s%s%s__mappings__baseAsset2internalId__" + W) | |
94 | + | ||
95 | + | ||
96 | + | func X () = "%s__shutdown" | |
97 | + | ||
98 | + | ||
99 | + | func Y (Z) = ("%s%s__poolWeight__" + Z) | |
100 | + | ||
101 | + | ||
102 | + | let aa = addressFromStringValue(valueOrErrorMessage(getString(this, z()), "No Factory Account found.")) | |
103 | + | ||
104 | + | func ab () = valueOrElse(getBoolean(aa, X()), false) | |
105 | + | ||
106 | + | ||
107 | + | func ac () = { | |
108 | + | let ad = valueOrErrorMessage(getString(this, L()), "No config for amount asset found") | |
109 | + | let ae = valueOrErrorMessage(getString(this, M()), "No config for price asset found") | |
110 | + | let af = valueOrErrorMessage(getInteger(aa, V(ae)), "No config for internal price asset found") | |
111 | + | let ag = valueOrErrorMessage(getInteger(aa, V(ad)), "No config for internal amount asset found") | |
112 | + | split(valueOrErrorMessage(getString(aa, S(toString(ag), toString(af))), "No factory config found for pool assets."), e) | |
113 | + | } | |
114 | + | ||
115 | + | ||
116 | + | func ah () = split(valueOrErrorMessage(getString(aa, P()), "No factory config found."), e) | |
117 | + | ||
118 | + | ||
119 | + | func ai (aj,ak) = { | |
120 | + | let al = getString(this, E(aj, ak)) | |
121 | + | if (isDefined(al)) | |
122 | + | then split(value(al), e) | |
123 | + | else ["", "0", "0", "0"] | |
124 | + | } | |
125 | + | ||
126 | + | ||
127 | + | func am (an,ao,ap) = makeString(["%d%d%d", toString(an), toString(ao), toString(ap)], e) | |
128 | + | ||
129 | + | ||
130 | + | func aq (ar,as,at,au,av,aw,ax,ay) = makeString(["%d%d%d%d%d%d%d", toString(ar), toString(as), toString(at), toString(au), toString(av), toString(aw), toString(ax), toString(ay)], e) | |
131 | + | ||
132 | + | ||
133 | + | func az (aA,aB,aC,au,ax,ay) = makeString(["%d%d%d%d%d%d", toString(aA), toString(aB), toString(aC), toString(au), toString(ax), toString(ay)], e) | |
134 | + | ||
135 | + | ||
136 | + | func aD (aE,aF,aG) = fraction(aE, aF, aG) | |
137 | + | ||
138 | + | ||
139 | + | func aH (aE,aF,aG) = fraction(aE, aF, aG) | |
140 | + | ||
141 | + | ||
142 | + | func aI (aJ,aK) = fraction(aJ, b, aK) | |
143 | + | ||
144 | + | ||
145 | + | func aL (aJ,aK) = toInt(fraction(aJ, c, aK)) | |
146 | + | ||
147 | + | ||
148 | + | func aM (aN,aO,aP,aQ) = { | |
149 | + | let aR = aD(aP, b, aN) | |
150 | + | let aS = aD(aQ, b, aO) | |
151 | + | aI(aS, aR) | |
152 | + | } | |
153 | + | ||
154 | + | ||
155 | + | func aT (aU) = if ((aU == "WAVES")) | |
156 | + | then wavesBalance(this).available | |
157 | + | else assetBalance(this, fromBase58String(aU)) | |
158 | + | ||
159 | + | ||
160 | + | func aV (aP,aQ,aW) = { | |
161 | + | let aX = ac() | |
162 | + | let aN = parseIntValue(aX[o]) | |
163 | + | let aO = parseIntValue(aX[p]) | |
164 | + | let aY = aM(aN, aO, aP, aQ) | |
165 | + | let aZ = aD(aP, b, aN) | |
166 | + | let ba = aD(aQ, b, aO) | |
167 | + | let bb = aI(aZ, aW) | |
168 | + | let bc = aI(ba, aW) | |
169 | + | [aY, bb, bc] | |
170 | + | } | |
171 | + | ||
172 | + | ||
173 | + | func bd (be,bf,I) = { | |
174 | + | let bg = ac() | |
175 | + | let bh = bg[l] | |
176 | + | let bi = bg[m] | |
177 | + | let bj = bg[n] | |
178 | + | let aj = bg[q] | |
179 | + | let ak = bg[r] | |
180 | + | let aN = parseIntValue(bg[o]) | |
181 | + | let aO = parseIntValue(bg[p]) | |
182 | + | let bk = bg[k] | |
183 | + | let bl = ai(aj, ak) | |
184 | + | let bm = parseIntValue(bl[w]) | |
185 | + | let bn = parseIntValue(bl[u]) | |
186 | + | let bo = parseIntValue(bl[v]) | |
187 | + | if ((bh != be)) | |
188 | + | then throw("Invalid asset passed.") | |
189 | + | else { | |
190 | + | let aZ = aH(toBigInt(aT(bi)), d, toBigInt(aN)) | |
191 | + | let ba = aH(toBigInt(aT(bj)), d, toBigInt(aO)) | |
192 | + | let bp = aL(ba, aZ) | |
193 | + | let bq = aH(toBigInt(bf), d, c) | |
194 | + | let br = aH(toBigInt(bm), d, c) | |
195 | + | let aA = fraction(aZ, bq, br) | |
196 | + | let aB = fraction(ba, bq, br) | |
197 | + | let bs = toInt(aH(aA, toBigInt(aN), d)) | |
198 | + | let bt = toInt(aH(aB, toBigInt(aO), d)) | |
199 | + | $Tuple11(bs, bt, aj, ak, bi, bj, bn, bo, bm, bp, bk) | |
200 | + | } | |
201 | + | } | |
202 | + | ||
203 | + | ||
204 | + | func bu (bv,ar,bw,as,bx,I,by) = { | |
205 | + | let aX = ac() | |
206 | + | let bh = fromBase58String(aX[l]) | |
207 | + | let bi = aX[m] | |
208 | + | let bj = aX[n] | |
209 | + | let aj = aX[q] | |
210 | + | let ak = aX[r] | |
211 | + | let aN = parseIntValue(aX[o]) | |
212 | + | let aO = parseIntValue(aX[p]) | |
213 | + | let bk = aX[k] | |
214 | + | let bz = ai(aj, ak) | |
215 | + | let bn = parseIntValue(bz[u]) | |
216 | + | let bo = parseIntValue(bz[v]) | |
217 | + | let bm = parseIntValue(bz[w]) | |
218 | + | if (if ((bi != bw)) | |
219 | + | then true | |
220 | + | else (bj != bx)) | |
221 | + | then throw("Invalid amount or price asset passed.") | |
222 | + | else { | |
223 | + | let bA = if (by) | |
224 | + | then aT(bi) | |
225 | + | else (aT(bi) - ar) | |
226 | + | let bB = if (by) | |
227 | + | then aT(bj) | |
228 | + | else (aT(bj) - as) | |
229 | + | let bC = toBigInt(aN) | |
230 | + | let bD = toBigInt(aO) | |
231 | + | let bE = aH(toBigInt(ar), d, bC) | |
232 | + | let bF = aH(toBigInt(as), d, bD) | |
233 | + | let bG = aL(bF, bE) | |
234 | + | let aZ = aH(toBigInt(bA), d, bC) | |
235 | + | let ba = aH(toBigInt(bB), d, bD) | |
236 | + | let bH = if ((bm == 0)) | |
237 | + | then 0 | |
238 | + | else aL(ba, aZ) | |
239 | + | let bI = if ((bH == 0)) | |
240 | + | then 0 | |
241 | + | else if ((bH > bG)) | |
242 | + | then fraction((bH - bG), 100, bH) | |
243 | + | else fraction((bG - bH), 100, bH) | |
244 | + | if (if ((bH != 0)) | |
245 | + | then ((bI * b) > bv) | |
246 | + | else false) | |
247 | + | then throw(((("Price slippage " + toString((bI * b))) + " exceeded the passed limit of ") + toString(bv))) | |
248 | + | else { | |
249 | + | let bJ = aL((ba + bF), (aZ + bE)) | |
250 | + | let bK = if ((bm == 0)) | |
251 | + | then { | |
252 | + | let bL = pow((bE * bF), 0, toBigInt(5), 1, 0, DOWN) | |
253 | + | toInt(aH(bL, c, d)) | |
254 | + | } | |
255 | + | else { | |
256 | + | let br = aH(toBigInt(bm), d, c) | |
257 | + | let bM = toInt(aH(fraction(br, bE, aZ), c, d)) | |
258 | + | let bN = toInt(aH(fraction(br, bF, ba), c, d)) | |
259 | + | if ((bN > bM)) | |
260 | + | then bM | |
261 | + | else bN | |
262 | + | } | |
263 | + | if ((0 >= bK)) | |
264 | + | then throw("Invalid calculations. LP calculated is less than zero.") | |
265 | + | else $Tuple10(bK, bJ, bn, bo, bm, aj, ak, bh, bI, bk) | |
266 | + | } | |
267 | + | } | |
268 | + | } | |
269 | + | ||
270 | + | ||
271 | + | func bO (bP) = { | |
272 | + | let aX = ac() | |
273 | + | let bi = aX[m] | |
274 | + | let bj = aX[n] | |
275 | + | let bk = parseIntValue(aX[k]) | |
276 | + | let bQ = aX[t] | |
277 | + | let bR = parseIntValue(aX[o]) | |
278 | + | let aO = parseIntValue(aX[p]) | |
279 | + | let bA = aT(bi) | |
280 | + | let bB = aT(bj) | |
281 | + | let bp = if ((bP.orderType == Buy)) | |
282 | + | then aM(bR, aO, (bA + bP.amount), bB) | |
283 | + | else aM(bR, aO, (bA + bP.amount), bB) | |
284 | + | let bS = if (if (if (ab()) | |
285 | + | then true | |
286 | + | else (bk == h)) | |
287 | + | then true | |
288 | + | else (bk == i)) | |
289 | + | then false | |
290 | + | else true | |
291 | + | let bT = true | |
292 | + | let bU = bP.assetPair.amountAsset | |
293 | + | let bV = if ((bU == unit)) | |
294 | + | then "WAVES" | |
295 | + | else toBase58String(value(bU)) | |
296 | + | let bW = bP.assetPair.priceAsset | |
297 | + | let bX = if ((bW == unit)) | |
298 | + | then "WAVES" | |
299 | + | else toBase58String(value(bW)) | |
300 | + | let bY = if (if ((bV != bi)) | |
301 | + | then true | |
302 | + | else (bX != bj)) | |
303 | + | then false | |
304 | + | else true | |
305 | + | let bZ = bP.price | |
306 | + | let ca = fraction(b, aO, bR) | |
307 | + | let cb = aD(bZ, b, ca) | |
308 | + | let cc = if ((bP.orderType == Buy)) | |
309 | + | then (bp >= cb) | |
310 | + | else (cb >= bp) | |
311 | + | if (if (if (bY) | |
312 | + | then bT | |
313 | + | else false) | |
314 | + | then bS | |
315 | + | else false) | |
316 | + | then cc | |
317 | + | else false | |
318 | + | } | |
319 | + | ||
320 | + | ||
321 | + | @Callable(cd) | |
322 | + | func constructor (aa) = if ((cd.caller != this)) | |
323 | + | then throw("permissions denied") | |
324 | + | else [StringEntry(z(), aa)] | |
325 | + | ||
326 | + | ||
327 | + | ||
328 | + | @Callable(cd) | |
329 | + | func put (bv,ce) = { | |
330 | + | let cf = ah() | |
331 | + | let cg = valueOrErrorMessage(addressFromString(cf[x]), "Error. Incorrect staking address.") | |
332 | + | let ch = value(cd.payments[0]) | |
333 | + | let ar = ch.amount | |
334 | + | let bw = if (!(isDefined(ch.assetId))) | |
335 | + | then fromBase58String("WAVES") | |
336 | + | else value(ch.assetId) | |
337 | + | let ci = value(cd.payments[1]) | |
338 | + | let as = ci.amount | |
339 | + | let bx = if (!(isDefined(ci.assetId))) | |
340 | + | then fromBase58String("WAVES") | |
341 | + | else value(ci.assetId) | |
342 | + | let cj = bu(bv, ar, toBase58String(bw), as, toBase58String(bx), toString(cd.caller), false) | |
343 | + | let bK = cj._1 | |
344 | + | let bH = cj._2 | |
345 | + | let bn = cj._3 | |
346 | + | let bo = cj._4 | |
347 | + | let bm = cj._5 | |
348 | + | let aj = cj._6 | |
349 | + | let ak = cj._7 | |
350 | + | let bh = cj._8 | |
351 | + | let ck = cj._9 | |
352 | + | let bk = parseIntValue(cj._10) | |
353 | + | if (if (if (ab()) | |
354 | + | then true | |
355 | + | else (bk == g)) | |
356 | + | then true | |
357 | + | else (bk == i)) | |
358 | + | then throw(("Put operation is blocked by admin. Status = " + toString(bk))) | |
359 | + | else { | |
360 | + | let cl = invoke(aa, "emit", [bK], nil) | |
361 | + | if ((cl == cl)) | |
362 | + | then if ((cl != "success")) | |
363 | + | then throw("LP asset reissue failed during emit call on factory.") | |
364 | + | else { | |
365 | + | let cm = [StringEntry(A(), ("%s__" + toString(bH))), StringEntry(B(height, lastBlock.timestamp), ("%s__" + toString(bH))), StringEntry(H(toString(cd.caller), toBase58String(cd.transactionId)), aq(ar, as, bK, bH, bv, ck, height, lastBlock.timestamp)), StringEntry(E(aj, ak), am((bn + ar), (bo + as), (bm + bK)))] | |
366 | + | if (ce) | |
367 | + | then { | |
368 | + | let cn = invoke(cg, "stake", nil, [AttachedPayment(bh, bK)]) | |
369 | + | if ((cn == cn)) | |
370 | + | then cm | |
371 | + | else throw("Strict value is not equal to itself.") | |
372 | + | } | |
373 | + | else (cm :+ ScriptTransfer(cd.caller, bK, bh)) | |
374 | + | } | |
375 | + | else throw("Strict value is not equal to itself.") | |
376 | + | } | |
377 | + | } | |
378 | + | ||
379 | + | ||
380 | + | ||
381 | + | @Callable(cd) | |
382 | + | func get () = { | |
383 | + | let ch = value(cd.payments[0]) | |
384 | + | let co = value(ch.assetId) | |
385 | + | let cp = ch.amount | |
386 | + | let cm = bd(toBase58String(co), cp, toString(cd.caller)) | |
387 | + | let aA = cm._1 | |
388 | + | let aB = cm._2 | |
389 | + | let aj = cm._3 | |
390 | + | let ak = cm._4 | |
391 | + | let bi = cm._5 | |
392 | + | let bj = cm._6 | |
393 | + | let bn = cm._7 | |
394 | + | let bo = cm._8 | |
395 | + | let bm = cm._9 | |
396 | + | let bp = cm._10 | |
397 | + | let bk = parseIntValue(cm._11) | |
398 | + | if (if (ab()) | |
399 | + | then true | |
400 | + | else (bk == i)) | |
401 | + | then throw(("Get operation is blocked by admin. Status = " + toString(bk))) | |
402 | + | else { | |
403 | + | let cq = invoke(aa, "burn", [cp], [AttachedPayment(co, cp)]) | |
404 | + | if ((cq == cq)) | |
405 | + | then if ((cq != "success")) | |
406 | + | then throw("LP asset burn failed during emit call on factory.") | |
407 | + | else [ScriptTransfer(cd.caller, aA, if ((bi == "WAVES")) | |
408 | + | then unit | |
409 | + | else fromBase58String(bi)), ScriptTransfer(cd.caller, aB, fromBase58String(bj)), StringEntry(E(aj, ak), am((bn - aA), (bo - aB), (bm - cp))), StringEntry(K(toString(cd.caller), toBase58String(cd.transactionId)), az(aA, aB, cp, bp, height, lastBlock.timestamp)), StringEntry(A(), ("%s__" + toString(bp))), StringEntry(B(height, lastBlock.timestamp), ("%s__" + toString(bp)))] | |
410 | + | else throw("Strict value is not equal to itself.") | |
411 | + | } | |
412 | + | } | |
413 | + | ||
414 | + | ||
415 | + | ||
416 | + | @Callable(cd) | |
417 | + | func activate (cr,cs) = if ((toString(cd.caller) != toString(aa))) | |
418 | + | then throw("permissions denied") | |
419 | + | else $Tuple2([StringEntry(L(), cr), StringEntry(M(), cs)], "success") | |
420 | + | ||
421 | + | ||
422 | + | ||
423 | + | @Callable(cd) | |
424 | + | func statsREADONLY () = { | |
425 | + | let aX = ac() | |
426 | + | let bh = fromBase58String(aX[l]) | |
427 | + | let bi = aX[m] | |
428 | + | let bj = aX[n] | |
429 | + | let aj = aX[q] | |
430 | + | let ak = aX[r] | |
431 | + | let aN = parseIntValue(aX[o]) | |
432 | + | let aO = parseIntValue(aX[p]) | |
433 | + | let bz = ai(aj, ak) | |
434 | + | let bm = parseIntValue(bz[w]) | |
435 | + | let bA = aT(bi) | |
436 | + | let bB = aT(bj) | |
437 | + | let ct = aV(bA, bB, bm) | |
438 | + | let bp = ct[0] | |
439 | + | let cu = ct[1] | |
440 | + | let cv = ct[2] | |
441 | + | let cw = valueOrErrorMessage(getInteger(aa, Y(toString(this))), "Pool doesn't have weight.") | |
442 | + | $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(bA), toString(bB), toString(bm), toString(bp), toString(cu), toString(cv), toString(cw)], e)) | |
443 | + | } | |
444 | + | ||
445 | + | ||
446 | + | ||
447 | + | @Callable(cd) | |
448 | + | func evaluatePutByAmountAssetREADONLY (bv,ar,I) = { | |
449 | + | let aX = ac() | |
450 | + | let bh = fromBase58String(aX[l]) | |
451 | + | let bi = aX[m] | |
452 | + | let bj = aX[n] | |
453 | + | let aj = aX[q] | |
454 | + | let ak = aX[r] | |
455 | + | let aN = parseIntValue(aX[o]) | |
456 | + | let aO = parseIntValue(aX[p]) | |
457 | + | let bk = aX[k] | |
458 | + | let bz = ai(aj, ak) | |
459 | + | let bm = parseIntValue(bz[w]) | |
460 | + | let bA = aT(bi) | |
461 | + | let bB = aT(bj) | |
462 | + | let cx = aD(bA, b, aN) | |
463 | + | let cy = aD(bB, b, aO) | |
464 | + | let bH = if ((bm == 0)) | |
465 | + | then 0 | |
466 | + | else aI(cy, cx) | |
467 | + | let bF = fraction(ar, bH, b) | |
468 | + | let as = aD(bF, aO, b) | |
469 | + | let cj = bu(bv, ar, bi, as, bj, I, true) | |
470 | + | let cz = cj._1 | |
471 | + | let cA = cj._2 | |
472 | + | let cB = cj._3 | |
473 | + | let cC = cj._4 | |
474 | + | let cD = cj._5 | |
475 | + | let cE = parseIntValue(cj._10) | |
476 | + | $Tuple2(nil, makeString(["%d%d%d%d%d%d", toString(cz), toString(bH), toString(cB), toString(cC), toString(cD), toString(cE)], e)) | |
477 | + | } | |
478 | + | ||
479 | + | ||
480 | + | ||
481 | + | @Callable(cd) | |
482 | + | func evaluatePutByPriceAssetREADONLY (bv,as,I) = { | |
483 | + | let aX = ac() | |
484 | + | let bh = fromBase58String(aX[l]) | |
485 | + | let bi = aX[m] | |
486 | + | let bj = aX[n] | |
487 | + | let aj = aX[q] | |
488 | + | let ak = aX[r] | |
489 | + | let aN = parseIntValue(aX[o]) | |
490 | + | let aO = parseIntValue(aX[p]) | |
491 | + | let bk = aX[k] | |
492 | + | let bz = ai(aj, ak) | |
493 | + | let bm = parseIntValue(bz[w]) | |
494 | + | let bA = aT(bi) | |
495 | + | let bB = aT(bj) | |
496 | + | let cx = aD(bA, b, aN) | |
497 | + | let cy = aD(bB, b, aO) | |
498 | + | let cF = aD(as, b, aO) | |
499 | + | let bH = if ((bm == 0)) | |
500 | + | then 0 | |
501 | + | else aI(cy, cx) | |
502 | + | let bE = fraction(cF, b, bH) | |
503 | + | let ar = aD(bE, aN, b) | |
504 | + | let cj = bu(bv, ar, bi, as, bj, I, true) | |
505 | + | let cz = cj._1 | |
506 | + | let cA = cj._2 | |
507 | + | let cB = cj._3 | |
508 | + | let cC = cj._4 | |
509 | + | let cD = cj._5 | |
510 | + | let cE = parseIntValue(cj._10) | |
511 | + | $Tuple2(nil, makeString(["%d%d%d%d%d%d", toString(cz), toString(bH), toString(cB), toString(cC), toString(cD), toString(cE)], e)) | |
512 | + | } | |
513 | + | ||
514 | + | ||
515 | + | ||
516 | + | @Callable(cd) | |
517 | + | func evaluateGetREADONLY (be,bf,I) = { | |
518 | + | let cm = bd(be, bf, I) | |
519 | + | let aA = cm._1 | |
520 | + | let aB = cm._2 | |
521 | + | let bn = cm._7 | |
522 | + | let bo = cm._8 | |
523 | + | let bm = cm._9 | |
524 | + | let bp = cm._10 | |
525 | + | let bk = parseIntValue(cm._11) | |
526 | + | $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(aA), toString(aB), toString(bn), toString(bo), toString(bm), toString(bp), toString(bk)], e)) | |
527 | + | } | |
528 | + | ||
529 | + | ||
530 | + | ||
531 | + | @Callable(cd) | |
532 | + | func hashREADONLY () = $Tuple2(nil, toBase64String(value(scriptHash(this)))) | |
533 | + | ||
534 | + | ||
535 | + | @Verifier(cG) | |
536 | + | func cH () = { | |
537 | + | let cI = cG | |
538 | + | if ($isInstanceOf(cI, "Order")) | |
539 | + | then { | |
540 | + | let bP = cI | |
541 | + | sigVerify(cG.bodyBytes, cG.proofs[0], cG.senderPublicKey) | |
542 | + | } | |
543 | + | else sigVerify(cG.bodyBytes, cG.proofs[0], cG.senderPublicKey) | |
544 | + | } | |
545 | + |
github/deemru/w8io/169f3d6 69.35 ms ◑