tx · Fe7Ka9m3tcN3WUMrGxmQGWofdsPGBC5AH1kFWSnGYSUy

3P8KMyAJCPWNcyedqrmymxaeWonvmkhGauz:  -0.01400000 Waves

2021.12.29 18:47 [2920797] smart account 3P8KMyAJCPWNcyedqrmymxaeWonvmkhGauz > SELF 0.00000000 Waves

{ "type": 13, "id": "Fe7Ka9m3tcN3WUMrGxmQGWofdsPGBC5AH1kFWSnGYSUy", "fee": 1400000, "feeAssetId": null, "timestamp": 1640792914326, "version": 1, "sender": "3P8KMyAJCPWNcyedqrmymxaeWonvmkhGauz", "senderPublicKey": "DxhbzFs9BZTiN6kcnyybxmqPTV8xReD6Z5gWQ5AgRX8w", "proofs": [ "3M6Vv9BCsioSx7atAzfEvSKzqsitwQr2cA2Dk6JKdvRyAbxmLEqBrMcwbEG9Nyh2VAkrnUsNkAkXqubpR8c97xAz" ], "script": "base64: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AAAIc2xpcHBhZ2UJAAUUAAAAAgUAAAAGcGFzc2VkCQABmQAAAAEJAARMAAAAAgUAAAAHcmVhbEFtdAkABEwAAAACBQAAAAtleHBlY3RlZEFtdAUAAAADbmlsAQAAABBwcml2YXRlQ2FsY1ByaWNlAAAABAAAAAphbUFzc2V0RGNtAAAACnByQXNzZXREY20AAAAFYW1BbXQAAAAFcHJBbXQEAAAAC2FtdEFzQW10WDE4CQEAAAAFdG9YMTgAAAACBQAAAAVhbUFtdAUAAAAKYW1Bc3NldERjbQQAAAAKcHJBc0FtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAFcHJBbXQFAAAACnByQXNzZXREY20JAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAApwckFzQW10WDE4BQAAAAthbXRBc0FtdFgxOAEAAAAKY2FsY1ByaWNlcwAAAAMAAAAFYW1BbXQAAAAFcHJBbXQAAAAFbHBBbXQEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAAhhbXRBc0RjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAALaWR4QW10QXNEY20EAAAAB3ByQXNEY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADWlkeFByaWNlQXNEY20EAAAACHByaWNlWDE4CQEAAAAQcHJpdmF0ZUNhbGNQcmljZQAAAAQFAAAACGFtdEFzRGNtBQAAAAdwckFzRGNtBQAAAAVhbUFtdAUAAAAFcHJBbXQEAAAACGFtQW10WDE4CQEAAAAFdG9YMTgAAAACBQAAAAVhbUFtdAUAAAAIYW10QXNEY20EAAAACHByQW10WDE4CQEAAAAFdG9YMTgAAAACBQAAAAVwckFtdAUAAAAHcHJBc0RjbQQAAAAIbHBBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAABWxwQW10BQAAAAZzY2FsZTgEAAAADWxwUHJJbkFtQXNYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAhhbUFtdFgxOAUAAAAIbHBBbXRYMTgEAAAADWxwUHJJblByQXNYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAhwckFtdFgxOAUAAAAIbHBBbXRYMTgJAARMAAAAAgUAAAAIcHJpY2VYMTgJAARMAAAAAgUAAAANbHBQckluQW1Bc1gxOAkABEwAAAACBQAAAA1scFBySW5QckFzWDE4BQAAAANuaWwBAAAAD2NhbGN1bGF0ZVByaWNlcwAAAAMAAAAFYW1BbXQAAAAFcHJBbXQAAAAFbHBBbXQEAAAABnByaWNlcwkBAAAACmNhbGNQcmljZXMAAAADBQAAAAVhbUFtdAUAAAAFcHJBbXQFAAAABWxwQW10CQAETAAAAAIJAQAAAAdmcm9tWDE4AAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAAFAAAABnNjYWxlOAkABEwAAAACCQEAAAAHZnJvbVgxOAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAABBQAAAAZzY2FsZTgJAARMAAAAAgkBAAAAB2Zyb21YMTgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAgUAAAAGc2NhbGU4BQAAAANuaWwBAAAAFGVzdGltYXRlR2V0T3BlcmF0aW9uAAAABAAAAAZ0eElkNTgAAAAKcG10QXNzZXRJZAAAAAhwbXRMcEFtdAAAAAt1c2VyQWRkcmVzcwQAAAADY2ZnCQEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAABGxwSWQJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhMUEFzSWQEAAAABGFtSWQJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhBbUFzSWQEAAAABHBySWQJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhQckFzSWQEAAAABWFtRGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAAAtpZHhBbXRBc0RjbQQAAAAFcHJEY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADWlkeFByaWNlQXNEY20EAAAACnBvb2xTdGF0dXMJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhQb29sU3QEAAAACmxwRW1pc3Npb24ICQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPsAAAAAQkAAlkAAAABBQAAAARscElkAgAAAA1JbnZhbGlkIExQIGlkAAAACHF1YW50aXR5AwkBAAAAAiE9AAAAAgUAAAAEbHBJZAUAAAAKcG10QXNzZXRJZAkAAAIAAAABAgAAABFJbnZhbGlkIHBtdCBhc3NldAQAAAAJYW1CYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABGFtSWQEAAAADGFtQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJYW1CYWxhbmNlBQAAAAVhbURjbQQAAAAJcHJCYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABHBySWQEAAAADHByQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJcHJCYWxhbmNlBQAAAAVwckRjbQQAAAALY3VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAADGFtQmFsYW5jZVgxOAQAAAAIY3VyUHJpY2UJAQAAAAdmcm9tWDE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAABnNjYWxlOAQAAAALcG10THBBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAACHBtdExwQW10BQAAAAZzY2FsZTgEAAAADWxwRW1pc3Npb25YMTgJAQAAAAV0b1gxOAAAAAIFAAAACmxwRW1pc3Npb24FAAAABnNjYWxlOAQAAAALb3V0QW1BbXRYMTgJAAE8AAAAAwUAAAAMYW1CYWxhbmNlWDE4BQAAAAtwbXRMcEFtdFgxOAUAAAANbHBFbWlzc2lvblgxOAQAAAALb3V0UHJBbXRYMTgJAAE8AAAAAwUAAAAMcHJCYWxhbmNlWDE4BQAAAAtwbXRMcEFtdFgxOAUAAAANbHBFbWlzc2lvblgxOAQAAAAIb3V0QW1BbXQJAQAAAAdmcm9tWDE4AAAAAgUAAAALb3V0QW1BbXRYMTgFAAAABWFtRGNtBAAAAAhvdXRQckFtdAkBAAAAB2Zyb21YMTgAAAACBQAAAAtvdXRQckFtdFgxOAUAAAAFcHJEY20EAAAABXN0YXRlAwkAAAAAAAACBQAAAAZ0eElkNTgCAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAAhvdXRBbUFtdAMJAAAAAAAAAgUAAAAEYW1JZAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAEYW1JZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAt1c2VyQWRkcmVzcwUAAAAIb3V0UHJBbXQDCQAAAAAAAAIFAAAABHBySWQCAAAABVdBVkVTBQAAAAR1bml0CQACWQAAAAEFAAAABHBySWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUdldEFjdGlvbkJ5VXNlcgAAAAIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAABnR4SWQ1OAkBAAAAEWRhdGFHZXRBY3Rpb25JbmZvAAAABgUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAAhwbXRMcEFtdAUAAAAIY3VyUHJpY2UFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlQcmljZUxhc3QAAAAABQAAAAhjdXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVByaWNlSGlzdG9yeQAAAAIFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACGN1clByaWNlBQAAAANuaWwJAAUcAAAACgUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAARhbUlkBQAAAARwcklkBQAAAAlhbUJhbGFuY2UFAAAACXByQmFsYW5jZQUAAAAKbHBFbWlzc2lvbgUAAAALY3VyUHJpY2VYMTgFAAAACnBvb2xTdGF0dXMFAAAABXN0YXRlAQAAABRlc3RpbWF0ZVB1dE9wZXJhdGlvbgAAAAwAAAAGdHhJZDU4AAAACHNsaXBwYWdlAAAAB2luQW1BbXQAAAAGaW5BbUlkAAAAB2luUHJBbXQAAAAGaW5QcklkAAAAC3VzZXJBZGRyZXNzAAAABmlzRXZhbAAAAAZlbWl0THAAAAAKaXNPbmVBc3NldAAAAAZwbXRBbXQAAAAFcG10SWQEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAARscElkCQACWQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhMUEFzSWQEAAAAB2FtSWRTdHIJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhBbUFzSWQEAAAAB3BySWRTdHIJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhQckFzSWQEAAAACWluQW1JZFN0cgkAAZEAAAACBQAAAANjZmcFAAAAC2lkeElBbXRBc0lkBAAAAAlpblBySWRTdHIJAAGRAAAAAgUAAAADY2ZnBQAAAA1pZHhJUHJpY2VBc0lkBAAAAAZhbXREY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAC2lkeEFtdEFzRGNtBAAAAAhwcmljZURjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UHJpY2VBc0RjbQQAAAAKcG9vbFN0YXR1cwkAAZEAAAACBQAAAANjZmcFAAAACWlkeFBvb2xTdAQAAAAEbHBFbQgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABBQAAAARscElkAgAAAAhXciBscCBhcwAAAAhxdWFudGl0eQQAAAAJYW1CYWxhbmNlAwUAAAAGaXNFdmFsCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB2FtSWRTdHIDAwUAAAAKaXNPbmVBc3NldAkAAAAAAAACBQAAAAVwbXRJZAUAAAAHYW1JZFN0cgcJAABlAAAAAgkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdhbUlkU3RyBQAAAAZwbXRBbXQDBQAAAAppc09uZUFzc2V0CQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB2FtSWRTdHIJAABlAAAAAgkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdhbUlkU3RyBQAAAAdpbkFtQW10BAAAAAlwckJhbGFuY2UDBQAAAAZpc0V2YWwJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAHcHJJZFN0cgMDBQAAAAppc09uZUFzc2V0CQAAAAAAAAIFAAAABXBtdElkBQAAAAdwcklkU3RyBwkAAGUAAAACCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB3BySWRTdHIFAAAABnBtdEFtdAMFAAAACmlzT25lQXNzZXQJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAHcHJJZFN0cgkAAGUAAAACCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB3BySWRTdHIFAAAAB2luUHJBbXQEAAAAD2luQW1Bc3NldEFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAHaW5BbUFtdAUAAAAGYW10RGNtBAAAAA9pblByQXNzZXRBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAAB2luUHJBbXQFAAAACHByaWNlRGNtBAAAAAx1c2VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAA9pblByQXNzZXRBbXRYMTgFAAAAD2luQW1Bc3NldEFtdFgxOAQAAAAMYW1CYWxhbmNlWDE4CQEAAAAFdG9YMTgAAAACBQAAAAlhbUJhbGFuY2UFAAAABmFtdERjbQQAAAAMcHJCYWxhbmNlWDE4CQEAAAAFdG9YMTgAAAACBQAAAAlwckJhbGFuY2UFAAAACHByaWNlRGNtBAAAAANyZXMDCQAAAAAAAAIFAAAABGxwRW0AAAAAAAAAAAAEAAAAC2N1clByaWNlWDE4BQAAAAp6ZXJvQmlnSW50BAAAAAtzbGlwcGFnZVgxOAUAAAAKemVyb0JpZ0ludAQAAAAIbHBBbXRYMTgJAAB2AAAABgkAATkAAAACBQAAAA9pbkFtQXNzZXRBbXRYMTgFAAAAD2luUHJBc3NldEFtdFgxOAAAAAAAAAAAAAkAATYAAAABAAAAAAAAAAAFAAAAAAAAAAABAAAAAAAAAAAABQAAAARET1dOCQAFFwAAAAUJAQAAAAdmcm9tWDE4AAAAAgUAAAAIbHBBbXRYMTgFAAAABnNjYWxlOAkBAAAAB2Zyb21YMTgAAAACBQAAAA9pbkFtQXNzZXRBbXRYMTgFAAAABmFtdERjbQkBAAAAB2Zyb21YMTgAAAACBQAAAA9pblByQXNzZXRBbXRYMTgFAAAACHByaWNlRGNtCQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgkAATcAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAAD2luUHJBc3NldEFtdFgxOAkAATcAAAACBQAAAAxhbUJhbGFuY2VYMTgFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAALc2xpcHBhZ2VYMTgEAAAAC2N1clByaWNlWDE4CQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgUAAAAMcHJCYWxhbmNlWDE4BQAAAAxhbUJhbGFuY2VYMTgEAAAAD3NsaXBwYWdlUmVhbFgxOAkAATwAAAADCQEAAAADYWJzAAAAAQkAATgAAAACBQAAAAtjdXJQcmljZVgxOAUAAAAMdXNlclByaWNlWDE4BQAAAAdzY2FsZTE4BQAAAAtjdXJQcmljZVgxOAQAAAALc2xpcHBhZ2VYMTgJAQAAAAV0b1gxOAAAAAIFAAAACHNsaXBwYWdlBQAAAAZzY2FsZTgDAwkBAAAAAiE9AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAACnplcm9CaWdJbnQJAAE/AAAAAgUAAAAPc2xpcHBhZ2VSZWFsWDE4BQAAAAtzbGlwcGFnZVgxOAcJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPUHJpY2Ugc2xpcHBhZ2UgCQABpgAAAAEFAAAAD3NsaXBwYWdlUmVhbFgxOAIAAAADID4gCQABpgAAAAEFAAAAC3NsaXBwYWdlWDE4BAAAAA1scEVtaXNzaW9uWDE4CQEAAAAFdG9YMTgAAAACBQAAAARscEVtBQAAAAZzY2FsZTgEAAAACnByVmlhQW1YMTgJAAE8AAAAAwUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAAtjdXJQcmljZVgxOAUAAAAHc2NhbGUxOAQAAAAKYW1WaWFQclgxOAkAATwAAAADBQAAAA9pblByQXNzZXRBbXRYMTgFAAAAB3NjYWxlMTgFAAAAC2N1clByaWNlWDE4BAAAAAxleHBlY3RlZEFtdHMDCQABPwAAAAIFAAAACnByVmlhQW1YMTgFAAAAD2luUHJBc3NldEFtdFgxOAkABRQAAAACBQAAAAphbVZpYVByWDE4BQAAAA9pblByQXNzZXRBbXRYMTgJAAUUAAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAApwclZpYUFtWDE4BAAAABFleHBBbXRBc3NldEFtdFgxOAgFAAAADGV4cGVjdGVkQW10cwAAAAJfMQQAAAATZXhwUHJpY2VBc3NldEFtdFgxOAgFAAAADGV4cGVjdGVkQW10cwAAAAJfMgQAAAAIbHBBbXRYMTgJAAE8AAAAAwUAAAANbHBFbWlzc2lvblgxOAUAAAATZXhwUHJpY2VBc3NldEFtdFgxOAUAAAAMcHJCYWxhbmNlWDE4CQAFFwAAAAUJAQAAAAdmcm9tWDE4AAAAAgUAAAAIbHBBbXRYMTgFAAAABnNjYWxlOAkBAAAAB2Zyb21YMTgAAAACBQAAABFleHBBbXRBc3NldEFtdFgxOAUAAAAGYW10RGNtCQEAAAAHZnJvbVgxOAAAAAIFAAAAE2V4cFByaWNlQXNzZXRBbXRYMTgFAAAACHByaWNlRGNtBQAAAAtjdXJQcmljZVgxOAUAAAALc2xpcHBhZ2VYMTgEAAAACWNhbGNMcEFtdAgFAAAAA3JlcwAAAAJfMQQAAAAOY2FsY0FtQXNzZXRQbXQIBQAAAANyZXMAAAACXzIEAAAADmNhbGNQckFzc2V0UG10CAUAAAADcmVzAAAAAl8zBAAAAAhjdXJQcmljZQkBAAAAB2Zyb21YMTgAAAACCAUAAAADcmVzAAAAAl80BQAAAAZzY2FsZTgEAAAADHNsaXBwYWdlQ2FsYwkBAAAAB2Zyb21YMTgAAAACCAUAAAADcmVzAAAAAl81BQAAAAZzY2FsZTgDCQAAZwAAAAIAAAAAAAAAAAAFAAAACWNhbGNMcEFtdAkAAAIAAAABAgAAAAdMUCA8PSAwBAAAAAllbWl0THBBbXQDCQEAAAABIQAAAAEFAAAABmVtaXRMcAAAAAAAAAAAAAUAAAAJY2FsY0xwQW10BAAAAAZhbURpZmYJAABlAAAAAgUAAAAHaW5BbUFtdAUAAAAOY2FsY0FtQXNzZXRQbXQEAAAABnByRGlmZgkAAGUAAAACBQAAAAdpblByQW10BQAAAA5jYWxjUHJBc3NldFBtdAQAAAANJHQwMTU2NDAxNTk4NQMDBQAAAAppc09uZUFzc2V0CQAAAAAAAAIFAAAABXBtdElkBQAAAAdhbUlkU3RyBwkABRQAAAACBQAAAAZwbXRBbXQAAAAAAAAAAAADAwUAAAAKaXNPbmVBc3NldAkAAAAAAAACBQAAAAVwbXRJZAUAAAAHcHJJZFN0cgcJAAUUAAAAAgAAAAAAAAAAAAUAAAAGcG10QW10CQAFFAAAAAIFAAAADmNhbGNBbUFzc2V0UG10BQAAAA5jYWxjUHJBc3NldFBtdAQAAAAKd3JpdGVBbUFtdAgFAAAADSR0MDE1NjQwMTU5ODUAAAACXzEEAAAACndyaXRlUHJBbXQIBQAAAA0kdDAxNTY0MDE1OTg1AAAAAl8yBAAAAAtjb21tb25TdGF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleVByaWNlTGFzdAAAAAAFAAAACGN1clByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPa2V5UHJpY2VIaXN0b3J5AAAAAgUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAIY3VyUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleVB1dEFjdGlvbkJ5VXNlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAAZ0eElkNTgJAQAAABFkYXRhUHV0QWN0aW9uSW5mbwAAAAoFAAAACndyaXRlQW1BbXQFAAAACndyaXRlUHJBbXQFAAAACWVtaXRMcEFtdAUAAAAIY3VyUHJpY2UFAAAACHNsaXBwYWdlBQAAAAxzbGlwcGFnZUNhbGMFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAABmFtRGlmZgUAAAAGcHJEaWZmBQAAAANuaWwJAAUfAAAADQUAAAAJY2FsY0xwQW10BQAAAAllbWl0THBBbXQFAAAACGN1clByaWNlBQAAAAlhbUJhbGFuY2UFAAAACXByQmFsYW5jZQUAAAAEbHBFbQUAAAAEbHBJZAUAAAAKcG9vbFN0YXR1cwUAAAALY29tbW9uU3RhdGUFAAAABmFtRGlmZgUAAAAGcHJEaWZmBQAAAAZpbkFtSWQFAAAABmluUHJJZAEAAAAbdmFsaWRhdGVNYXRjaGVyT3JkZXJBbGxvd2VkAAAAAQAAAAVvcmRlcgQAAAADY2ZnCQEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAAB2FtdEFzSWQJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhBbUFzSWQEAAAABnByQXNJZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeFByQXNJZAQAAAAKcG9vbFN0YXR1cwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4UG9vbFN0BAAAAAhhbXRBc0RjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAALaWR4QW10QXNEY20EAAAAB3ByQXNEY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADWlkeFByaWNlQXNEY20EAAAAD2FjY0FtdEFzQmFsYW5jZQkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdhbXRBc0lkBAAAAA5hY2NQckFzQmFsYW5jZQkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAZwckFzSWQEAAAAC2N1clByaWNlWDE4AwkAAAAAAAACCAUAAAAFb3JkZXIAAAAJb3JkZXJUeXBlBQAAAANCdXkJAQAAABBwcml2YXRlQ2FsY1ByaWNlAAAABAUAAAAIYW10QXNEY20FAAAAB3ByQXNEY20JAABkAAAAAgUAAAAPYWNjQW10QXNCYWxhbmNlCAUAAAAFb3JkZXIAAAAGYW1vdW50BQAAAA5hY2NQckFzQmFsYW5jZQkBAAAAEHByaXZhdGVDYWxjUHJpY2UAAAAEBQAAAAhhbXRBc0RjbQUAAAAHcHJBc0RjbQkAAGUAAAACBQAAAA9hY2NBbXRBc0JhbGFuY2UIBQAAAAVvcmRlcgAAAAZhbW91bnQFAAAADmFjY1ByQXNCYWxhbmNlBAAAAAhjdXJQcmljZQkBAAAAB2Zyb21YMTgAAAACBQAAAAtjdXJQcmljZVgxOAUAAAAGc2NhbGU4AwMDCQEAAAAQaXNHbG9iYWxTaHV0ZG93bgAAAAAGCQAAAAAAAAIFAAAACnBvb2xTdGF0dXMFAAAADlBvb2xNYXRjaGVyRGlzBgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAAAxQb29sU2h1dGRvd24JAAACAAAAAQIAAAANQWRtaW4gYmxvY2tlZAQAAAAKb3JBbXRBc3NldAgIBQAAAAVvcmRlcgAAAAlhc3NldFBhaXIAAAALYW1vdW50QXNzZXQEAAAACm9yQW10QXNTdHIDCQAAAAAAAAIFAAAACm9yQW10QXNzZXQFAAAABHVuaXQCAAAABVdBVkVTCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAACm9yQW10QXNzZXQEAAAACW9yUHJBc3NldAgIBQAAAAVvcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAQAAAAJb3JQckFzU3RyAwkAAAAAAAACBQAAAAlvclByQXNzZXQFAAAABHVuaXQCAAAABVdBVkVTCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAACW9yUHJBc3NldAMDCQEAAAACIT0AAAACBQAAAApvckFtdEFzU3RyBQAAAAdhbXRBc0lkBgkBAAAAAiE9AAAAAgUAAAAJb3JQckFzU3RyBQAAAAZwckFzSWQJAAACAAAAAQIAAAAJV3IgYXNzZXRzBAAAAApvcmRlclByaWNlCAUAAAAFb3JkZXIAAAAFcHJpY2UEAAAACHByaWNlRGNtCQAAawAAAAMFAAAABnNjYWxlOAUAAAAHcHJBc0RjbQUAAAAIYW10QXNEY20EAAAADmNhc3RPcmRlclByaWNlCQEAAAAHdG9TY2FsZQAAAAMFAAAACm9yZGVyUHJpY2UFAAAABnNjYWxlOAUAAAAIcHJpY2VEY20EAAAAEWlzT3JkZXJQcmljZVZhbGlkAwkAAAAAAAACCAUAAAAFb3JkZXIAAAAJb3JkZXJUeXBlBQAAAANCdXkJAABnAAAAAgUAAAAIY3VyUHJpY2UFAAAADmNhc3RPcmRlclByaWNlCQAAZwAAAAIFAAAADmNhc3RPcmRlclByaWNlBQAAAAhjdXJQcmljZQYBAAAACWNvbW1vbkdldAAAAAEAAAABaQMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAKMSBwbW50IGV4cAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApwbXRBc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAABnBtdEFtdAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAA3JlcwkBAAAAFGVzdGltYXRlR2V0T3BlcmF0aW9uAAAABAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEFAAAACnBtdEFzc2V0SWQFAAAABnBtdEFtdAgFAAAAAWkAAAAGY2FsbGVyBAAAAAhvdXRBbUFtdAgFAAAAA3JlcwAAAAJfMQQAAAAIb3V0UHJBbXQIBQAAAANyZXMAAAACXzIEAAAACnBvb2xTdGF0dXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQgFAAAAA3JlcwAAAAJfOQQAAAAFc3RhdGUIBQAAAANyZXMAAAADXzEwAwMJAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAYJAAAAAAAAAgUAAAAKcG9vbFN0YXR1cwUAAAAMUG9vbFNodXRkb3duCQAAAgAAAAEJAAEsAAAAAgIAAAAPQWRtaW4gYmxvY2tlZDogCQABpAAAAAEFAAAACnBvb2xTdGF0dXMJAAUXAAAABQUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAAZwbXRBbXQFAAAACnBtdEFzc2V0SWQFAAAABXN0YXRlAQAAAAljb21tb25QdXQAAAAJAAAABmNhbGxlcgAAAAR0eElkAAAAB2FtQXNQbXQAAAAHcHJBc1BtdAAAAAhzbGlwcGFnZQAAAAZlbWl0THAAAAAKaXNPbmVBc3NldAAAAAZwbXRBbXQAAAAFcG10SWQEAAAAAXIJAQAAABRlc3RpbWF0ZVB1dE9wZXJhdGlvbgAAAAwFAAAABHR4SWQFAAAACHNsaXBwYWdlCAkBAAAABXZhbHVlAAAAAQUAAAAHYW1Bc1BtdAAAAAZhbW91bnQICQEAAAAFdmFsdWUAAAABBQAAAAdhbUFzUG10AAAAB2Fzc2V0SWQICQEAAAAFdmFsdWUAAAABBQAAAAdwckFzUG10AAAABmFtb3VudAgJAQAAAAV2YWx1ZQAAAAEFAAAAB3ByQXNQbXQAAAAHYXNzZXRJZAUAAAAGY2FsbGVyBwUAAAAGZW1pdExwBQAAAAppc09uZUFzc2V0BQAAAAZwbXRBbXQFAAAABXBtdElkBAAAAAZzdGF0dXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQgFAAAAAXIAAAACXzgDAwMJAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAYJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAApQb29sUHV0RGlzBgkAAAAAAAACBQAAAAZzdGF0dXMFAAAADFBvb2xTaHV0ZG93bgkAAAIAAAABCQABLAAAAAICAAAACEJsb2NrZWQ6CQABpAAAAAEFAAAABnN0YXR1cwUAAAABcgAAABEAAAABaQEAAAALY29uc3RydWN0b3IAAAACAAAAD2ZhY3RvcnlDb250cmFjdAAAABBtYW5hZ2VyUHVibGljS2V5AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAABmRlbmllZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALa2V5RmFjdENudHIAAAAABQAAAA9mYWN0b3J5Q29udHJhY3QJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADGtleU1hblB1YktleQAAAAAFAAAAEG1hbmFnZXJQdWJsaWNLZXkFAAAAA25pbAAAAAFpAQAAAANwdXQAAAACAAAABHNsaXAAAAAJYXV0b1N0YWtlBAAAAAdmYWN0Q2ZnCQEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAEAAAAC3N0YWtpbmdDbnRyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAAdmYWN0Q2ZnBQAAAA9pZHhGYWN0U3Rha0NudHICAAAACldyIHN0IGFkZHIEAAAACHNsaXBDbnRyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAAdmYWN0Q2ZnBQAAABBpZHhGYWN0U2xpcHBDbnRyAgAAAApXciBzbCBhZGRyAwkAAGYAAAACAAAAAAAAAAAABQAAAARzbGlwCQAAAgAAAAECAAAAEEludmFsaWQgc2xpcHBhZ2UDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAACCQAAAgAAAAECAAAADDIgcG1udHMgZXhwZAQAAAAGZXN0UHV0CQEAAAAJY29tbW9uUHV0AAAACQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQUAAAAEc2xpcAYHAAAAAAAAAAAAAgAAAAAEAAAACWVtaXRMcEFtdAgFAAAABmVzdFB1dAAAAAJfMgQAAAAJbHBBc3NldElkCAUAAAAGZXN0UHV0AAAAAl83BAAAAAVzdGF0ZQgFAAAABmVzdFB1dAAAAAJfOQQAAAAGYW1EaWZmCAUAAAAGZXN0UHV0AAAAA18xMAQAAAAGcHJEaWZmCAUAAAAGZXN0UHV0AAAAA18xMQQAAAAEYW1JZAgFAAAABmVzdFB1dAAAAANfMTIEAAAABHBySWQIBQAAAAZlc3RQdXQAAAADXzEzBAAAAAdlbWl0SW52CQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEZW1pdAkABEwAAAACBQAAAAllbWl0THBBbXQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAdlbWl0SW52BQAAAAdlbWl0SW52BAAAAAxzbGlwcGFnZUFJbnYDCQAAZgAAAAIFAAAABmFtRGlmZgAAAAAAAAAAAAkAA/wAAAAEBQAAAAhzbGlwQ250cgIAAAADcHV0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAABGFtSWQFAAAABmFtRGlmZgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADHNsaXBwYWdlQUludgUAAAAMc2xpcHBhZ2VBSW52BAAAAAxzbGlwcGFnZVBJbnYDCQAAZgAAAAIFAAAABnByRGlmZgAAAAAAAAAAAAkAA/wAAAAEBQAAAAhzbGlwQ250cgIAAAADcHV0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAABHBySWQFAAAABnByRGlmZgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADHNsaXBwYWdlUEludgUAAAAMc2xpcHBhZ2VQSW52BAAAAAhscFRybnNmcgMFAAAACWF1dG9TdGFrZQQAAAALc2xwU3Rha2VJbnYJAAP8AAAABAUAAAALc3Rha2luZ0NudHICAAAABXN0YWtlBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAACWxwQXNzZXRJZAUAAAAJZW1pdExwQW10BQAAAANuaWwDCQAAAAAAAAIFAAAAC3NscFN0YWtlSW52BQAAAAtzbHBTdGFrZUludgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACWVtaXRMcEFtdAUAAAAJbHBBc3NldElkBQAAAANuaWwJAAROAAAAAgUAAAAFc3RhdGUFAAAACGxwVHJuc2ZyCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACXB1dE9uZVRrbgAAAAUAAAALYW1Bc3NldFBhcnQAAAALcHJBc3NldFBhcnQAAAAFb3V0THAAAAAIc2xpcHBhZ2UAAAAJYXV0b1N0YWtlBAAAAANjZmcJAQAAABBnZXRGYWN0b3J5Q29uZmlnAAAAAAMGCQAAAgAAAAECAAAAA29mZgQAAAALc3Rha2luZ0NudHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAPaWR4RmFjdFN0YWtDbnRyAgAAAApXciBzdCBhZGRyBAAAAAhzbGlwQ250cgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAABBpZHhGYWN0U2xpcHBDbnRyAgAAAApXciBzbCBhZGRyBAAAAAdnd3hDbnRyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAEWlkeEZhY3RHd3hSZXdDbnRyAgAAAAtXciBnd3ggYWRkcgQAAAAHcG9vbENmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAARhbUlkCQABkQAAAAIFAAAAB3Bvb2xDZmcFAAAACWlkeEFtQXNJZAQAAAAEcHJJZAkAAZEAAAACBQAAAAdwb29sQ2ZnBQAAAAlpZHhQckFzSWQEAAAABWFtRGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAHcG9vbENmZwUAAAALaWR4QW10QXNEY20EAAAABXByRGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAHcG9vbENmZwUAAAANaWR4UHJpY2VBc0RjbQMDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAIc2xpcHBhZ2UGCQAAZwAAAAIAAAAAAAAAAAAFAAAAC2FtQXNzZXRQYXJ0BgkAAGcAAAACAAAAAAAAAAAABQAAAAtwckFzc2V0UGFydAYJAABnAAAAAgAAAAAAAAAAAAUAAAAFb3V0THAJAAACAAAAAQIAAAAMV3JvbmcgcGFyYW1zAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAAAsxIHBtbnQgZXhwZAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApwbXRBc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAGcG10QW10CAUAAAADcG10AAAABmFtb3VudAMDAwkAAGYAAAACBQAAAAthbUFzc2V0UGFydAUAAAAGcG10QW10BgkAAGYAAAACBQAAAAtwckFzc2V0UGFydAUAAAAGcG10QW10BgkAAGYAAAACAAAAAAAAmJaABQAAAAZwbXRBbXQJAAACAAAAAQIAAAANV3JvbmcgcG10IGFtdAQAAAAJYW1CYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABGFtSWQEAAAACXByQmFsYW5jZQkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAARwcklkBAAAAA0kdDAyMzc4ODI0MTY4AwkAAAAAAAACBQAAAApwbXRBc3NldElkBQAAAARhbUlkCQAFGAAAAAYJAABlAAAAAgUAAAAJYW1CYWxhbmNlBQAAAAZwbXRBbXQFAAAACXByQmFsYW5jZQkAAGUAAAACBQAAAAZwbXRBbXQFAAAAC2FtQXNzZXRQYXJ0BQAAAAtwckFzc2V0UGFydAAAAAAAAAAAAAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEcHJJZAkABRgAAAAGBQAAAAlhbUJhbGFuY2UJAABlAAAAAgUAAAAJcHJCYWxhbmNlBQAAAAZwbXRBbXQAAAAAAAAAAAAAAAAAAAAAAAAJAABlAAAAAgUAAAAGcG10QW10BQAAAAtwckFzc2V0UGFydAUAAAALYW1Bc3NldFBhcnQJAAACAAAAAQIAAAAQd3JvbmcgcG10QXNzZXRJZAQAAAAMYW1CYWxhbmNlTm93CAUAAAANJHQwMjM3ODgyNDE2OAAAAAJfMQQAAAAMcHJCYWxhbmNlTm93CAUAAAANJHQwMjM3ODgyNDE2OAAAAAJfMgQAAAAMdmlydFN3YXBJbkFtCAUAAAANJHQwMjM3ODgyNDE2OAAAAAJfMwQAAAANdmlydFN3YXBPdXRQcggFAAAADSR0MDIzNzg4MjQxNjgAAAACXzQEAAAADHZpcnRTd2FwSW5QcggFAAAADSR0MDIzNzg4MjQxNjgAAAACXzUEAAAADXZpcnRTd2FwT3V0QW0IBQAAAA0kdDAyMzc4ODI0MTY4AAAAAl82BAAAAAJEMAkAA/wAAAAEBQAAAAdnd3hDbnRyAgAAAAVjYWxjRAkABEwAAAACCQABpAAAAAEFAAAADGFtQmFsYW5jZU5vdwkABEwAAAACCQABpAAAAAEFAAAADHByQmFsYW5jZU5vdwkABEwAAAACBQAAAAFBCQAETAAAAAIFAAAABUFtdWx0CQAETAAAAAIFAAAABURjb252BQAAAANuaWwFAAAAA25pbAQAAAACRDEJAAP8AAAABAUAAAAHZ3d4Q250cgIAAAAFY2FsY0QJAARMAAAAAgkAAaYAAAABCQABNgAAAAEJAABlAAAAAgkAAGQAAAACBQAAAAxhbUJhbGFuY2VOb3cFAAAADHZpcnRTd2FwSW5BbQUAAAANdmlydFN3YXBPdXRBbQkABEwAAAACCQABpgAAAAEJAAE2AAAAAQkAAGUAAAACCQAAZAAAAAIFAAAADHByQmFsYW5jZU5vdwUAAAAMdmlydFN3YXBJblByBQAAAA12aXJ0U3dhcE91dFByCQAETAAAAAIFAAAAAUEJAARMAAAAAgUAAAAFQW11bHQJAARMAAAAAgUAAAAFRGNvbnYFAAAAA25pbAUAAAADbmlsBAAAAAZEMHZzRDEJAQAAAA92YWxpZGF0ZUFic0RpZmYAAAADCQABpwAAAAEJAQAAAAhhc1N0cmluZwAAAAEFAAAAAkQxCQABpwAAAAEJAQAAAAhhc1N0cmluZwAAAAEFAAAAAkQwCQABNgAAAAEAAAAAAAAAA+gDCQAAAAAAAAIFAAAABkQwdnNEMQUAAAAGRDB2c0QxBAAAAAZlc3RQdXQJAQAAAAljb21tb25QdXQAAAAJCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkAAlkAAAABBQAAAARhbUlkBQAAAAthbUFzc2V0UGFydAkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIJAAJZAAAAAQUAAAAEcHJJZAUAAAALcHJBc3NldFBhcnQAAAAAC6Q7dAAGBgUAAAAGcG10QW10BQAAAApwbXRBc3NldElkBAAAAAdlc3RpbUxQCAUAAAAGZXN0UHV0AAAAAl8yBAAAAAlscEFzc2V0SWQIBQAAAAZlc3RQdXQAAAACXzcEAAAABXN0YXRlCAUAAAAGZXN0UHV0AAAAAl85BAAAAAZhbURpZmYIBQAAAAZlc3RQdXQAAAADXzEwBAAAAAZwckRpZmYIBQAAAAZlc3RQdXQAAAADXzExBAAAAAlscENhbGNSZXMJAQAAAA92YWxpZGF0ZUFic0RpZmYAAAADCQABNgAAAAEFAAAAB2VzdGltTFAJAAE2AAAAAQUAAAAFb3V0THAJAAE2AAAAAQUAAAAIc2xpcHBhZ2UEAAAACWVtaXRMcEFtdAkAAaAAAAABCAUAAAAJbHBDYWxjUmVzAAAAAl8yBAAAAAdlbWl0SW52CQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEZW1pdAkABEwAAAACBQAAAAllbWl0THBBbXQFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAdlbWl0SW52BQAAAAdlbWl0SW52BAAAAAxzbGlwcGFnZUFJbnYDCQAAZgAAAAIFAAAABmFtRGlmZgAAAAAAAAAAAAkAA/wAAAAEBQAAAAhzbGlwQ250cgIAAAADcHV0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIJAAJZAAAAAQUAAAAEYW1JZAUAAAAGYW1EaWZmBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAMc2xpcHBhZ2VBSW52BQAAAAxzbGlwcGFnZUFJbnYEAAAADHNsaXBwYWdlUEludgMJAABmAAAAAgUAAAAGcHJEaWZmAAAAAAAAAAAACQAD/AAAAAQFAAAACHNsaXBDbnRyAgAAAANwdXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkAAlkAAAABBQAAAARwcklkBQAAAAZwckRpZmYFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAxzbGlwcGFnZVBJbnYFAAAADHNsaXBwYWdlUEludgQAAAAIbHBUcm5zZnIDBQAAAAlhdXRvU3Rha2UEAAAAC3NscFN0YWtlSW52CQAD/AAAAAQFAAAAC3N0YWtpbmdDbnRyAgAAAAVzdGFrZQUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAlscEFzc2V0SWQFAAAACWVtaXRMcEFtdAUAAAADbmlsAwkAAAAAAAACBQAAAAtzbHBTdGFrZUludgUAAAALc2xwU3Rha2VJbnYFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAllbWl0THBBbXQFAAAACWxwQXNzZXRJZAUAAAADbmlsCQAETgAAAAIFAAAABXN0YXRlBQAAAAhscFRybnNmcgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKcHV0Rm9yRnJlZQAAAAEAAAALbWF4U2xpcHBhZ2UDCQAAZgAAAAIAAAAAAAAAAAAFAAAAC21heFNsaXBwYWdlCQAAAgAAAAECAAAAEEludmFsaWQgc2xpcHBhZ2UDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAACCQAAAgAAAAECAAAADDIgcG1udHMgZXhwZAQAAAAGZXN0UHV0CQEAAAAJY29tbW9uUHV0AAAACQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQUAAAALbWF4U2xpcHBhZ2UHBwAAAAAAAAAAAAIAAAAACAUAAAAGZXN0UHV0AAAAAl85AAAAAWkBAAAAA2dldAAAAAAEAAAAA3JlcwkBAAAACWNvbW1vbkdldAAAAAEFAAAAAWkEAAAACW91dEFtdEFtdAgFAAAAA3JlcwAAAAJfMQQAAAAIb3V0UHJBbXQIBQAAAANyZXMAAAACXzIEAAAABnBtdEFtdAgFAAAAA3JlcwAAAAJfMwQAAAAKcG10QXNzZXRJZAgFAAAAA3JlcwAAAAJfNAQAAAAFc3RhdGUIBQAAAANyZXMAAAACXzUEAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5CQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEYnVybgkABEwAAAACBQAAAAZwbXRBbXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAGcG10QW10BQAAAANuaWwDCQAAAAAAAAIFAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5BQAAABRidXJuTFBBc3NldE9uRmFjdG9yeQUAAAAFc3RhdGUJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACWdldE9uZVRrbgAAAAUAAAALYW1Bc3NldFN3YXAAAAALcHJBc3NldFN3YXAAAAAJb3V0QW1vdW50AAAACm91dEFzc2V0SWQAAAAIc2xpcHBhZ2UDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAACzEgcG1udCBleHBkAwYJAAACAAAAAQIAAAADb2ZmBAAAAANjZmcJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAEbHBJZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeExQQXNJZAQAAAAEYW1JZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeEFtQXNJZAQAAAAEcHJJZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeFByQXNJZAQAAAAFYW1EY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAC2lkeEFtdEFzRGNtBAAAAAVwckRjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UHJpY2VBc0RjbQQAAAAKcG9vbFN0YXR1cwkAAZEAAAACBQAAAANjZmcFAAAACWlkeFBvb2xTdAQAAAAEZmNmZwkBAAAAEGdldEZhY3RvcnlDb25maWcAAAAABAAAAAdnd3hDbnRyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAARmY2ZnBQAAABFpZHhGYWN0R3d4UmV3Q250cgIAAAAKV3Igc2wgYWRkcgQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAt1c2VyQWRkcmVzcwgFAAAAAWkAAAAGY2FsbGVyBAAAAAZ0eElkNTgJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAQAAAAKcG10QXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAZwbXRBbXQIBQAAAANwbXQAAAAGYW1vdW50AwMDAwkAAGYAAAACAAAAAAAAAAAABQAAAAhzbGlwcGFnZQYJAABmAAAAAgAAAAAAAAAAAAUAAAALYW1Bc3NldFN3YXAGCQAAZgAAAAIAAAAAAAAAAAAFAAAAC3ByQXNzZXRTd2FwBgkAAGYAAAACAAAAAAAAAAAABQAAAAlvdXRBbW91bnQJAAACAAAAAQIAAAAMV3JvbmcgcGFyYW1zAwkBAAAAAiE9AAAAAgUAAAAEbHBJZAkAAlgAAAABBQAAAApwbXRBc3NldElkCQAAAgAAAAECAAAACkludmFsaWQgTFAEAAAAAXIJAQAAABRlc3RpbWF0ZUdldE9wZXJhdGlvbgAAAAQJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkAAlgAAAABBQAAAApwbXRBc3NldElkBQAAAAZwbXRBbXQIBQAAAAFpAAAABmNhbGxlcgQAAAAKZXN0aW1BbUFtdAgFAAAAAXIAAAACXzEEAAAACmVzdGltUHJBbXQIBQAAAAFyAAAAAl8yBAAAAAlhbUJhbGFuY2UJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAEYW1JZAQAAAAJcHJCYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABHBySWQEAAAADSR0MDI4NjUwMjkxMzQDCQAAAAAAAAIFAAAACm91dEFzc2V0SWQFAAAABGFtSWQJAAUZAAAABwkAAGUAAAACBQAAAAlhbUJhbGFuY2UFAAAACmVzdGltQW1BbXQJAABlAAAAAgUAAAAJcHJCYWxhbmNlBQAAAAplc3RpbVByQW10CQAAZQAAAAIFAAAACW91dEFtb3VudAUAAAAKZXN0aW1BbUFtdAUAAAALcHJBc3NldFN3YXAAAAAAAAAAAAAAAAAAAAAAAAAJAABkAAAAAgUAAAAKZXN0aW1BbUFtdAUAAAALYW1Bc3NldFN3YXADCQAAAAAAAAIFAAAACm91dEFzc2V0SWQFAAAABHBySWQJAAUZAAAABwkAAGUAAAACBQAAAAlhbUJhbGFuY2UFAAAACmVzdGltQW1BbXQJAABlAAAAAgUAAAAJcHJCYWxhbmNlBQAAAAplc3RpbVByQW10AAAAAAAAAAAAAAAAAAAAAAAACQAAZQAAAAIFAAAACW91dEFtb3VudAUAAAAKZXN0aW1QckFtdAUAAAALYW1Bc3NldFN3YXAJAABkAAAAAgUAAAAKZXN0aW1QckFtdAUAAAALcHJBc3NldFN3YXAJAAACAAAAAQIAAAAQd3Jvbmcgb3V0QXNzZXRJZAQAAAAMYW1CYWxhbmNlTm93CAUAAAANJHQwMjg2NTAyOTEzNAAAAAJfMQQAAAAMcHJCYWxhbmNlTm93CAUAAAANJHQwMjg2NTAyOTEzNAAAAAJfMgQAAAAMdmlydFN3YXBJbkFtCAUAAAANJHQwMjg2NTAyOTEzNAAAAAJfMwQAAAANdmlydFN3YXBPdXRQcggFAAAADSR0MDI4NjUwMjkxMzQAAAACXzQEAAAADHZpcnRTd2FwSW5QcggFAAAADSR0MDI4NjUwMjkxMzQAAAACXzUEAAAADXZpcnRTd2FwT3V0QW0IBQAAAA0kdDAyODY1MDI5MTM0AAAAAl82BAAAAAh0b3RhbEdldAgFAAAADSR0MDI4NjUwMjkxMzQAAAACXzcDAwkAAGYAAAACAAAAAAAAAAAABQAAAAx2aXJ0U3dhcEluQW0GCQAAZgAAAAIAAAAAAAAAAAAFAAAADHZpcnRTd2FwSW5QcgkAAAIAAAABAgAAAAxJbnZhbGlkIGNhbGMEAAAAAkQwCQAD/AAAAAQFAAAAB2d3eENudHICAAAABWNhbGNECQAETAAAAAIJAAGkAAAAAQUAAAAMYW1CYWxhbmNlTm93CQAETAAAAAIJAAGkAAAAAQUAAAAMcHJCYWxhbmNlTm93CQAETAAAAAIFAAAAAUEJAARMAAAAAgUAAAAFQW11bHQJAARMAAAAAgUAAAAFRGNvbnYFAAAAA25pbAUAAAADbmlsBAAAAAJEMQkAA/wAAAAEBQAAAAdnd3hDbnRyAgAAAAVjYWxjRAkABEwAAAACCQABpAAAAAEJAABkAAAAAgkAAGUAAAACBQAAAAxhbUJhbGFuY2VOb3cFAAAADHZpcnRTd2FwSW5BbQUAAAANdmlydFN3YXBPdXRBbQkABEwAAAACCQABpAAAAAEJAABlAAAAAgkAAGQAAAACBQAAAAxwckJhbGFuY2VOb3cFAAAADXZpcnRTd2FwT3V0UHIFAAAADHZpcnRTd2FwSW5QcgkABEwAAAACBQAAAAFBCQAETAAAAAIFAAAABUFtdWx0CQAETAAAAAIFAAAABURjb252BQAAAANuaWwFAAAAA25pbAQAAAAGRDB2c0QxCQEAAAAPdmFsaWRhdGVBYnNEaWZmAAAAAwkAAacAAAABCQEAAAAIYXNTdHJpbmcAAAABBQAAAAJEMQkAAacAAAABCQEAAAAIYXNTdHJpbmcAAAABBQAAAAJEMAkAATYAAAABAAAAAAAAAAPoAwkAAAAAAAACBQAAAAZEMHZzRDEFAAAABkQwdnNEMQQAAAANYW1vdW50MlJldHVybgkBAAAAD3ZhbGlkYXRlQWJzRGlmZgAAAAMJAAE2AAAAAQUAAAAIdG90YWxHZXQJAAE2AAAAAQUAAAAJb3V0QW1vdW50CQABNgAAAAEFAAAACHNsaXBwYWdlAwkAAAAAAAACBQAAAA1hbW91bnQyUmV0dXJuBQAAAA1hbW91bnQyUmV0dXJuBAAAAA0kdDAyOTg4NjMwMDAwAwkAAAAAAAACBQAAAApvdXRBc3NldElkBQAAAARhbUlkCQAFFAAAAAIJAAGgAAAAAQgFAAAADWFtb3VudDJSZXR1cm4AAAACXzIAAAAAAAAAAAAJAAUUAAAAAgAAAAAAAAAAAAkAAaAAAAABCAUAAAANYW1vdW50MlJldHVybgAAAAJfMgQAAAAFb3V0QW0IBQAAAA0kdDAyOTg4NjMwMDAwAAAAAl8xBAAAAAVvdXRQcggFAAAADSR0MDI5ODg2MzAwMDAAAAACXzIEAAAAC2N1clByaWNlWDE4CQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgkBAAAABXRvWDE4AAAAAgUAAAAJcHJCYWxhbmNlBQAAAAVwckRjbQkBAAAABXRvWDE4AAAAAgUAAAAJYW1CYWxhbmNlBQAAAAVhbURjbQQAAAAIY3VyUHJpY2UJAQAAAAdmcm9tWDE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAABnNjYWxlOAQAAAAFc3RhdGUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALdXNlckFkZHJlc3MJAABkAAAAAgUAAAAFb3V0QW0FAAAABW91dFByAwkAAAAAAAACBQAAAApvdXRBc3NldElkAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAApvdXRBc3NldElkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABJrZXlHZXRBY3Rpb25CeVVzZXIAAAACCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAAZ0eElkNTgJAQAAABFkYXRhR2V0QWN0aW9uSW5mbwAAAAYFAAAABW91dEFtBQAAAAVvdXRQcgUAAAAGcG10QW10BQAAAAhjdXJQcmljZQUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleVByaWNlTGFzdAAAAAAFAAAACGN1clByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPa2V5UHJpY2VIaXN0b3J5AAAAAgUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAIY3VyUHJpY2UFAAAAA25pbAMJAAAAAAAAAgUAAAAFc3RhdGUFAAAABXN0YXRlBAAAAARidXJuCQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEYnVybgkABEwAAAACBQAAAAZwbXRBbXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAGcG10QW10BQAAAANuaWwDCQAAAAAAAAIFAAAABGJ1cm4FAAAABGJ1cm4FAAAABXN0YXRlCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAlnZXROb0xlc3MAAAACAAAAEm5vTGVzc1RoZW5BbXRBc3NldAAAABRub0xlc3NUaGVuUHJpY2VBc3NldAQAAAADcmVzCQEAAAAJY29tbW9uR2V0AAAAAQUAAAABaQQAAAAIb3V0QW1BbXQIBQAAAANyZXMAAAACXzEEAAAACG91dFByQW10CAUAAAADcmVzAAAAAl8yBAAAAAZwbXRBbXQIBQAAAANyZXMAAAACXzMEAAAACnBtdEFzc2V0SWQIBQAAAANyZXMAAAACXzQEAAAABXN0YXRlCAUAAAADcmVzAAAAAl81AwkAAGYAAAACBQAAABJub0xlc3NUaGVuQW10QXNzZXQFAAAACG91dEFtQW10CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACUZhaWxlZDogIAkAAaQAAAABBQAAAAhvdXRBbUFtdAIAAAADIDwgCQABpAAAAAEFAAAAEm5vTGVzc1RoZW5BbXRBc3NldAMJAABmAAAAAgUAAAAUbm9MZXNzVGhlblByaWNlQXNzZXQFAAAACG91dFByQW10CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACEZhaWxlZDogCQABpAAAAAEFAAAACG91dFByQW10AgAAAAMgPCAJAAGkAAAAAQUAAAAUbm9MZXNzVGhlblByaWNlQXNzZXQEAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5CQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEYnVybgkABEwAAAACBQAAAAZwbXRBbXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAGcG10QW10BQAAAANuaWwDCQAAAAAAAAIFAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5BQAAABRidXJuTFBBc3NldE9uRmFjdG9yeQUAAAAFc3RhdGUJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADXVuc3Rha2VBbmRHZXQAAAABAAAABmFtb3VudAQAAAANY2hlY2tQYXltZW50cwMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAANTm8gcG1udHMgZXhwZAYDCQAAAAAAAAIFAAAADWNoZWNrUGF5bWVudHMFAAAADWNoZWNrUGF5bWVudHMEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAApmYWN0b3J5Q2ZnCQEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAEAAAACWxwQXNzZXRJZAkAAlkAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4TFBBc0lkBAAAAA9zdGFraW5nQ29udHJhY3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQABkQAAAAIFAAAACmZhY3RvcnlDZmcFAAAAD2lkeEZhY3RTdGFrQ250cgIAAAAKV3Igc3QgYWRkcgQAAAAKdW5zdGFrZUludgkAA/wAAAAEBQAAAA9zdGFraW5nQ29udHJhY3QCAAAAB3Vuc3Rha2UJAARMAAAAAgkAAlgAAAABBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAAGYW1vdW50BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAKdW5zdGFrZUludgUAAAAKdW5zdGFrZUludgQAAAABcgkBAAAAFGVzdGltYXRlR2V0T3BlcmF0aW9uAAAABAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEFAAAACWxwQXNzZXRJZAUAAAAGYW1vdW50CAUAAAABaQAAAAZjYWxsZXIEAAAACnBvb2xTdGF0dXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQgFAAAAAXIAAAACXzkEAAAABXN0YXRlCAUAAAABcgAAAANfMTAEAAAAD2NoZWNrUG9vbFN0YXR1cwMDCQEAAAAQaXNHbG9iYWxTaHV0ZG93bgAAAAAGCQAAAAAAAAIFAAAACnBvb2xTdGF0dXMFAAAADFBvb2xTaHV0ZG93bgkAAAIAAAABCQABLAAAAAICAAAACUJsb2NrZWQ6IAkAAaQAAAABBQAAAApwb29sU3RhdHVzBgMJAAAAAAAAAgUAAAAPY2hlY2tQb29sU3RhdHVzBQAAAA9jaGVja1Bvb2xTdGF0dXMEAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5CQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEYnVybgkABEwAAAACBQAAAAZhbW91bnQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAJbHBBc3NldElkBQAAAAZhbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAUYnVybkxQQXNzZXRPbkZhY3RvcnkFAAAAFGJ1cm5MUEFzc2V0T25GYWN0b3J5BQAAAAVzdGF0ZQkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAIYWN0aXZhdGUAAAACAAAAC2FtdEFzc2V0U3RyAAAADXByaWNlQXNzZXRTdHIDCQEAAAACIT0AAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkABCUAAAABBQAAAA9mYWN0b3J5Q29udHJhY3QJAAACAAAAAQIAAAAGZGVuaWVkCQAFFAAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAC2tleUFtdEFzc2V0AAAAAAUAAAALYW10QXNzZXRTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAADWtleVByaWNlQXNzZXQAAAAABQAAAA1wcmljZUFzc2V0U3RyBQAAAANuaWwCAAAAB3N1Y2Nlc3MAAAABaQEAAAAcZ2V0UG9vbENvbmZpZ1dyYXBwZXJSRUFET05MWQAAAAAJAAUUAAAAAgUAAAADbmlsCQEAAAANZ2V0UG9vbENvbmZpZwAAAAAAAAABaQEAAAAcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQAAAAEAAAAHYXNzZXRJZAkABRQAAAACBQAAAANuaWwJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAHYXNzZXRJZAAAAAFpAQAAABljYWxjUHJpY2VzV3JhcHBlclJFQURPTkxZAAAAAwAAAAVhbUFtdAAAAAVwckFtdAAAAAVscEFtdAQAAAAGcHJpY2VzCQEAAAAKY2FsY1ByaWNlcwAAAAMFAAAABWFtQW10BQAAAAVwckFtdAUAAAAFbHBBbXQJAAUUAAAAAgUAAAADbmlsCQAETAAAAAIJAAGmAAAAAQkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAAJAARMAAAAAgkAAaYAAAABCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAQkABEwAAAACCQABpgAAAAEJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAACBQAAAANuaWwAAAABaQEAAAAWZnJvbVgxOFdyYXBwZXJSRUFET05MWQAAAAIAAAADdmFsAAAAD3Jlc3VsdFNjYWxlTXVsdAkABRQAAAACBQAAAANuaWwJAQAAAAdmcm9tWDE4AAAAAgkAAacAAAABBQAAAAN2YWwFAAAAD3Jlc3VsdFNjYWxlTXVsdAAAAAFpAQAAABR0b1gxOFdyYXBwZXJSRUFET05MWQAAAAIAAAAHb3JpZ1ZhbAAAAA1vcmlnU2NhbGVNdWx0CQAFFAAAAAIFAAAAA25pbAkAAaYAAAABCQEAAAAFdG9YMTgAAAACBQAAAAdvcmlnVmFsBQAAAA1vcmlnU2NhbGVNdWx0AAAAAWkBAAAAHmNhbGNQcmljZUJpZ0ludFdyYXBwZXJSRUFET05MWQAAAAIAAAAIcHJBbXRYMTgAAAAIYW1BbXRYMTgJAAUUAAAAAgUAAAADbmlsCQABpgAAAAEJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACCQABpwAAAAEFAAAACHByQW10WDE4CQABpwAAAAEFAAAACGFtQW10WDE4AAAAAWkBAAAAI2VzdGltYXRlUHV0T3BlcmF0aW9uV3JhcHBlclJFQURPTkxZAAAACQAAAAZ0eElkNTgAAAAIc2xpcHBhZ2UAAAAHaW5BbUFtdAAAAAZpbkFtSWQAAAAHaW5QckFtdAAAAAZpblBySWQAAAAHdXNyQWRkcgAAAAZpc0V2YWwAAAAGZW1pdExwCQAFFAAAAAIFAAAAA25pbAkBAAAAFGVzdGltYXRlUHV0T3BlcmF0aW9uAAAADAUAAAAGdHhJZDU4BQAAAAhzbGlwcGFnZQUAAAAHaW5BbUFtdAUAAAAGaW5BbUlkBQAAAAdpblByQW10BQAAAAZpblBySWQFAAAAB3VzckFkZHIFAAAABmlzRXZhbAUAAAAGZW1pdExwBwAAAAAAAAAAAAIAAAAAAAAAAWkBAAAAI2VzdGltYXRlR2V0T3BlcmF0aW9uV3JhcHBlclJFQURPTkxZAAAABAAAAAZ0eElkNTgAAAAHcG10QXNJZAAAAAhwbXRMcEFtdAAAAAd1c3JBZGRyBAAAAANyZXMJAQAAABRlc3RpbWF0ZUdldE9wZXJhdGlvbgAAAAQFAAAABnR4SWQ1OAUAAAAHcG10QXNJZAUAAAAIcG10THBBbXQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAB3VzckFkZHIJAAUUAAAAAgUAAAADbmlsCQAFHAAAAAoIBQAAAANyZXMAAAACXzEIBQAAAANyZXMAAAACXzIIBQAAAANyZXMAAAACXzMIBQAAAANyZXMAAAACXzQIBQAAAANyZXMAAAACXzUIBQAAAANyZXMAAAACXzYIBQAAAANyZXMAAAACXzcJAAGmAAAAAQgFAAAAA3JlcwAAAAJfOAgFAAAAA3JlcwAAAAJfOQgFAAAAA3JlcwAAAANfMTAAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFT3JkZXIEAAAABW9yZGVyBQAAAAckbWF0Y2gwBAAAAAdtdGNoUHViCQEAAAATZ2V0TWF0Y2hlclB1Yk9yRmFpbAAAAAAEAAAAA29yVgkBAAAAG3ZhbGlkYXRlTWF0Y2hlck9yZGVyQWxsb3dlZAAAAAEFAAAABW9yZGVyBAAAAAVzbmRyVgkAAfQAAAADCAUAAAAFb3JkZXIAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAVvcmRlcgAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAVvcmRlcgAAAA9zZW5kZXJQdWJsaWNLZXkEAAAABW10Y2hWCQAB9AAAAAMIBQAAAAVvcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAABW9yZGVyAAAABnByb29mcwAAAAAAAAAAAQUAAAAHbXRjaFB1YgMDAwUAAAADb3JWBQAAAAVzbmRyVgcFAAAABW10Y2hWBwYJAQAAAA90aHJvd09yZGVyRXJyb3IAAAADBQAAAANvclYFAAAABXNuZHJWBQAAAAVtdGNoVgQAAAAFYWRtaW4JAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAADGtleU1hblB1YktleQAAAAAFAAAABUVNUFRZAwkAAAAAAAACBQAAAAVhZG1pbgUAAAAFRU1QVFkJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAkAAlkAAAABBQAAAAVhZG1pboLNj3g=", "chainId": 87, "height": 2920797, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: APtHb66c6NoWfxVPHMVwHMA3sqrBqKD8P7JrH48MCn2w Next: HMsNAUgWAwQAP6joVHCQN3U69NEKrkqeRU6ggudJPkVa Diff:
OldNewDifferences
468468 @Callable(cT)
469469 func putOneTkn (do,dp,dq,aY,dd) = {
470470 let bk = aA()
471- let df = valueOrErrorMessage(addressFromString(bk[w]), "Wr st addr")
472- let dg = valueOrErrorMessage(addressFromString(bk[x]), "Wr sl addr")
473- let dr = valueOrErrorMessage(addressFromString(bk[y]), "Wr gwx addr")
474- let ds = aw()
475- let bz = ds[q]
476- let bA = ds[r]
477- let bB = parseIntValue(ds[s])
478- let bC = parseIntValue(ds[t])
479- if (if (if (if ((0 >= aY))
480- then true
481- else (0 >= do))
482- then true
483- else (0 >= dp))
484- then true
485- else (0 >= dq))
486- then throw("Wrong params")
487- else if ((size(cT.payments) != 1))
488- then throw("1 pmnt expd")
489- else {
490- let cU = value(cT.payments[0])
491- let bv = toBase58String(value(cU.assetId))
492- let ca = cU.amount
493- if (if (if ((do > ca))
494- then true
495- else (dp > ca))
496- then true
497- else (10000000 > ca))
498- then throw("Wrong pmt amt")
471+ if (true)
472+ then throw("off")
473+ else {
474+ let df = valueOrErrorMessage(addressFromString(bk[w]), "Wr st addr")
475+ let dg = valueOrErrorMessage(addressFromString(bk[x]), "Wr sl addr")
476+ let dr = valueOrErrorMessage(addressFromString(bk[y]), "Wr gwx addr")
477+ let ds = aw()
478+ let bz = ds[q]
479+ let bA = ds[r]
480+ let bB = parseIntValue(ds[s])
481+ let bC = parseIntValue(ds[t])
482+ if (if (if (if ((0 >= aY))
483+ then true
484+ else (0 >= do))
485+ then true
486+ else (0 >= dp))
487+ then true
488+ else (0 >= dq))
489+ then throw("Wrong params")
490+ else if ((size(cT.payments) != 1))
491+ then throw("1 pmnt expd")
499492 else {
500- let bF = aQ(bz)
501- let bH = aQ(bA)
502- let dt = if ((bv == bz))
503- then $Tuple6((bF - ca), bH, (ca - do), dp, 0, 0)
504- else if ((bv == bA))
505- then $Tuple6(bF, (bH - ca), 0, 0, (ca - dp), do)
506- else throw("wrong pmtAssetId")
507- let du = dt._1
508- let dv = dt._2
509- let dw = dt._3
510- let dx = dt._4
511- let dy = dt._5
512- let dz = dt._6
513- let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
514- let dB = invoke(dr, "calcD", [toString(toBigInt(((du + dw) - dz))), toString(toBigInt(((dv + dy) - dx))), at, f, g], nil)
515- let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
516- if ((dC == dC))
517- then {
518- let dh = cV(toString(cT.caller), toBase58String(cT.transactionId), AttachedPayment(fromBase58String(bz), do), AttachedPayment(fromBase58String(bA), dp), 50000000000, true, true, ca, bv)
519- let dD = dh._2
520- let di = dh._7
521- let bR = dh._9
522- let cz = dh._10
523- let cA = dh._11
524- let dE = aV(toBigInt(dD), toBigInt(dq), toBigInt(aY))
525- let cy = toInt(dE._2)
526- let dj = invoke(as, "emit", [cy], nil)
527- if ((dj == dj))
493+ let cU = value(cT.payments[0])
494+ let bv = toBase58String(value(cU.assetId))
495+ let ca = cU.amount
496+ if (if (if ((do > ca))
497+ then true
498+ else (dp > ca))
499+ then true
500+ else (10000000 > ca))
501+ then throw("Wrong pmt amt")
502+ else {
503+ let bF = aQ(bz)
504+ let bH = aQ(bA)
505+ let dt = if ((bv == bz))
506+ then $Tuple6((bF - ca), bH, (ca - do), dp, 0, 0)
507+ else if ((bv == bA))
508+ then $Tuple6(bF, (bH - ca), 0, 0, (ca - dp), do)
509+ else throw("wrong pmtAssetId")
510+ let du = dt._1
511+ let dv = dt._2
512+ let dw = dt._3
513+ let dx = dt._4
514+ let dy = dt._5
515+ let dz = dt._6
516+ let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
517+ let dB = invoke(dr, "calcD", [toString(toBigInt(((du + dw) - dz))), toString(toBigInt(((dv + dy) - dx))), at, f, g], nil)
518+ let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
519+ if ((dC == dC))
528520 then {
529- let dk = if ((cz > 0))
530- then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bz), cz)])
531- else nil
532- if ((dk == dk))
521+ let dh = cV(toString(cT.caller), toBase58String(cT.transactionId), AttachedPayment(fromBase58String(bz), do), AttachedPayment(fromBase58String(bA), dp), 50000000000, true, true, ca, bv)
522+ let dD = dh._2
523+ let di = dh._7
524+ let bR = dh._9
525+ let cz = dh._10
526+ let cA = dh._11
527+ let dE = aV(toBigInt(dD), toBigInt(dq), toBigInt(aY))
528+ let cy = toInt(dE._2)
529+ let dj = invoke(as, "emit", [cy], nil)
530+ if ((dj == dj))
533531 then {
534- let dl = if ((cA > 0))
535- then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bA), cA)])
532+ let dk = if ((cz > 0))
533+ then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bz), cz)])
536534 else nil
537- if ((dl == dl))
535+ if ((dk == dk))
538536 then {
539- let dm = if (dd)
537+ let dl = if ((cA > 0))
538+ then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bA), cA)])
539+ else nil
540+ if ((dl == dl))
540541 then {
541- let dn = invoke(df, "stake", nil, [AttachedPayment(di, cy)])
542- if ((dn == dn))
543- then nil
544- else throw("Strict value is not equal to itself.")
542+ let dm = if (dd)
543+ then {
544+ let dn = invoke(df, "stake", nil, [AttachedPayment(di, cy)])
545+ if ((dn == dn))
546+ then nil
547+ else throw("Strict value is not equal to itself.")
548+ }
549+ else [ScriptTransfer(cT.caller, cy, di)]
550+ (bR ++ dm)
545551 }
546- else [ScriptTransfer(cT.caller, cy, di)]
547- (bR ++ dm)
552+ else throw("Strict value is not equal to itself.")
548553 }
549554 else throw("Strict value is not equal to itself.")
550555 }
552557 }
553558 else throw("Strict value is not equal to itself.")
554559 }
555- else throw("Strict value is not equal to itself.")
556560 }
557- }
561+ }
558562 }
559563
560564
590594 @Callable(cT)
591595 func getOneTkn (dI,dJ,dK,dL,aY) = if ((size(cT.payments) != 1))
592596 then throw("1 pmnt expd")
593- else {
594- let bk = aw()
595- let by = bk[p]
596- let bz = bk[q]
597- let bA = bk[r]
598- let bB = parseIntValue(bk[s])
599- let bC = parseIntValue(bk[t])
600- let bD = bk[o]
601- let dM = aA()
602- let dr = valueOrErrorMessage(addressFromString(dM[y]), "Wr sl addr")
603- let cU = value(cT.payments[0])
604- let bx = cT.caller
605- let bu = toBase58String(cT.transactionId)
606- let bv = value(cU.assetId)
607- let ca = cU.amount
608- if (if (if (if ((0 > aY))
609- then true
610- else (0 > dI))
611- then true
612- else (0 > dJ))
613- then true
614- else (0 > dK))
615- then throw("Wrong params")
616- else if ((by != toBase58String(bv)))
617- then throw("Invalid LP")
618- else {
619- let cZ = bt(toBase58String(cT.transactionId), toBase58String(bv), ca, cT.caller)
620- let dN = cZ._1
621- let dO = cZ._2
622- let bF = aQ(bz)
623- let bH = aQ(bA)
624- let dP = if ((dL == bz))
625- then $Tuple7((bF - dN), (bH - dO), (dK - dN), dJ, 0, 0, (dN + dI))
626- else if ((dL == bA))
627- then $Tuple7((bF - dN), (bH - dO), 0, 0, (dK - dO), dI, (dO + dJ))
628- else throw("wrong outAssetId")
629- let du = dP._1
630- let dv = dP._2
631- let dw = dP._3
632- let dx = dP._4
633- let dy = dP._5
634- let dz = dP._6
635- let dQ = dP._7
636- if (if ((0 > dw))
637- then true
638- else (0 > dy))
639- then throw("Invalid calc")
640- else {
641- let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
642- let dB = invoke(dr, "calcD", [toString(((du - dw) + dz)), toString(((dv + dx) - dy)), at, f, g], nil)
643- let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
644- if ((dC == dC))
645- then {
646- let dR = aV(toBigInt(dQ), toBigInt(dK), toBigInt(aY))
647- if ((dR == dR))
648- then {
649- let dS = if ((dL == bz))
650- then $Tuple2(toInt(dR._2), 0)
651- else $Tuple2(0, toInt(dR._2))
652- let dT = dS._1
653- let dU = dS._2
654- let bJ = aS(z(bH, bC), z(bF, bB))
655- let bK = C(bJ, a)
656- let bR = [ScriptTransfer(bx, (dT + dU), if ((dL == "WAVES"))
657- then unit
658- else fromBase58String(dL)), StringEntry(T(toString(bx), bu), aM(dT, dU, ca, bK, height, lastBlock.timestamp)), IntegerEntry(M(), bK), IntegerEntry(N(height, lastBlock.timestamp), bK)]
659- if ((bR == bR))
660- then {
661- let dV = invoke(as, "burn", [ca], [AttachedPayment(bv, ca)])
662- if ((dV == dV))
663- then bR
664- else throw("Strict value is not equal to itself.")
665- }
666- else throw("Strict value is not equal to itself.")
667- }
668- else throw("Strict value is not equal to itself.")
669- }
670- else throw("Strict value is not equal to itself.")
671- }
672- }
673- }
597+ else if (true)
598+ then throw("off")
599+ else {
600+ let bk = aw()
601+ let by = bk[p]
602+ let bz = bk[q]
603+ let bA = bk[r]
604+ let bB = parseIntValue(bk[s])
605+ let bC = parseIntValue(bk[t])
606+ let bD = bk[o]
607+ let dM = aA()
608+ let dr = valueOrErrorMessage(addressFromString(dM[y]), "Wr sl addr")
609+ let cU = value(cT.payments[0])
610+ let bx = cT.caller
611+ let bu = toBase58String(cT.transactionId)
612+ let bv = value(cU.assetId)
613+ let ca = cU.amount
614+ if (if (if (if ((0 > aY))
615+ then true
616+ else (0 > dI))
617+ then true
618+ else (0 > dJ))
619+ then true
620+ else (0 > dK))
621+ then throw("Wrong params")
622+ else if ((by != toBase58String(bv)))
623+ then throw("Invalid LP")
624+ else {
625+ let cZ = bt(toBase58String(cT.transactionId), toBase58String(bv), ca, cT.caller)
626+ let dN = cZ._1
627+ let dO = cZ._2
628+ let bF = aQ(bz)
629+ let bH = aQ(bA)
630+ let dP = if ((dL == bz))
631+ then $Tuple7((bF - dN), (bH - dO), (dK - dN), dJ, 0, 0, (dN + dI))
632+ else if ((dL == bA))
633+ then $Tuple7((bF - dN), (bH - dO), 0, 0, (dK - dO), dI, (dO + dJ))
634+ else throw("wrong outAssetId")
635+ let du = dP._1
636+ let dv = dP._2
637+ let dw = dP._3
638+ let dx = dP._4
639+ let dy = dP._5
640+ let dz = dP._6
641+ let dQ = dP._7
642+ if (if ((0 > dw))
643+ then true
644+ else (0 > dy))
645+ then throw("Invalid calc")
646+ else {
647+ let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
648+ let dB = invoke(dr, "calcD", [toString(((du - dw) + dz)), toString(((dv + dx) - dy)), at, f, g], nil)
649+ let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
650+ if ((dC == dC))
651+ then {
652+ let dR = aV(toBigInt(dQ), toBigInt(dK), toBigInt(aY))
653+ if ((dR == dR))
654+ then {
655+ let dS = if ((dL == bz))
656+ then $Tuple2(toInt(dR._2), 0)
657+ else $Tuple2(0, toInt(dR._2))
658+ let dT = dS._1
659+ let dU = dS._2
660+ let bJ = aS(z(bH, bC), z(bF, bB))
661+ let bK = C(bJ, a)
662+ let bR = [ScriptTransfer(bx, (dT + dU), if ((dL == "WAVES"))
663+ then unit
664+ else fromBase58String(dL)), StringEntry(T(toString(bx), bu), aM(dT, dU, ca, bK, height, lastBlock.timestamp)), IntegerEntry(M(), bK), IntegerEntry(N(height, lastBlock.timestamp), bK)]
665+ if ((bR == bR))
666+ then {
667+ let dV = invoke(as, "burn", [ca], [AttachedPayment(bv, ca)])
668+ if ((dV == dV))
669+ then bR
670+ else throw("Strict value is not equal to itself.")
671+ }
672+ else throw("Strict value is not equal to itself.")
673+ }
674+ else throw("Strict value is not equal to itself.")
675+ }
676+ else throw("Strict value is not equal to itself.")
677+ }
678+ }
679+ }
674680
675681
676682
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 let b = toBigInt(100000000)
77
88 let c = toBigInt(1000000000000000000)
99
1010 let d = toBigInt(0)
1111
1212 let e = toBigInt(1)
1313
1414 let f = "100"
1515
1616 let g = "1"
1717
1818 let h = "__"
1919
2020 let i = ""
2121
2222 let j = 1
2323
2424 let k = 2
2525
2626 let l = 3
2727
2828 let m = 4
2929
3030 let n = 1
3131
3232 let o = 2
3333
3434 let p = 3
3535
3636 let q = 4
3737
3838 let r = 5
3939
4040 let s = 6
4141
4242 let t = 7
4343
4444 let u = 8
4545
4646 let v = 9
4747
4848 let w = 1
4949
5050 let x = 7
5151
5252 let y = 10
5353
5454 func z (A,B) = fraction(toBigInt(A), c, toBigInt(B))
5555
5656
5757 func C (D,E) = toInt(fraction(D, toBigInt(E), c))
5858
5959
6060 func F (G,H,I) = fraction(G, H, I)
6161
6262
6363 func J (D) = if ((d > D))
6464 then -(D)
6565 else D
6666
6767
6868 func K () = "%s__factoryContract"
6969
7070
7171 func L () = "%s__managerPublicKey"
7272
7373
7474 func M () = "%s%s__price__last"
7575
7676
7777 func N (O,P) = makeString(["%s%s%d%d__price__history", toString(O), toString(P)], h)
7878
7979
8080 func Q (R,S) = ((("%s%s%s__P__" + R) + "__") + S)
8181
8282
8383 func T (R,S) = ((("%s%s%s__G__" + R) + "__") + S)
8484
8585
8686 func U () = "%s__amountAsset"
8787
8888
8989 func V () = "%s__priceAsset"
9090
9191
9292 func W () = "%s__amp"
9393
9494
9595 func X () = "%s__factoryConfig"
9696
9797
9898 func Y () = "%s%s__matcher__publicKey"
9999
100100
101101 func Z (aa,ab) = (((("%d%d%s__" + aa) + "__") + ab) + "__config")
102102
103103
104104 func ac (ad) = ("%s%s%s__mappings__baseAsset2internalId__" + ad)
105105
106106
107107 func ae () = "%s__shutdown"
108108
109109
110110 func af (ag) = ("%s%s__poolWeight__" + ag)
111111
112112
113113 func ah (ai,aj,ak) = throw(((((("Failed: orderValid=" + toString(ai)) + " senderValid=") + toString(aj)) + " matcherValid=") + toString(ak)))
114114
115115
116116 func al (D) = {
117117 let am = D
118118 if ($isInstanceOf(am, "String"))
119119 then {
120120 let an = am
121121 an
122122 }
123123 else throw("fail cast to String")
124124 }
125125
126126
127127 func ao (ap,aq) = valueOrErrorMessage(getString(ap, aq), makeString(["mandatory ", toString(ap), ".", aq, " is not defined"], ""))
128128
129129
130130 func ar (ap,aq) = valueOrErrorMessage(getInteger(ap, aq), makeString(["mandatory ", toString(ap), ".", aq, " is not defined"], ""))
131131
132132
133133 let as = addressFromStringValue(ao(this, K()))
134134
135135 let at = ao(this, W())
136136
137137 func au () = valueOrElse(getBoolean(as, ae()), false)
138138
139139
140140 func av () = fromBase58String(ao(as, Y()))
141141
142142
143143 func aw () = {
144144 let ax = ao(this, U())
145145 let ay = ao(this, V())
146146 let az = ar(as, ac(ay))
147147 let aa = ar(as, ac(ax))
148148 split(ao(as, Z(toString(aa), toString(az))), h)
149149 }
150150
151151
152152 func aA () = split(ao(as, X()), h)
153153
154154
155155 func aB (aC,aD,aE,aF,aG,aH,aI,aJ,aK,aL) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(aC), toString(aD), toString(aE), toString(aF), toString(aG), toString(aH), toString(aI), toString(aJ), toString(aK), toString(aL)], h)
156156
157157
158158 func aM (aN,aO,aP,aF,aI,aJ) = makeString(["%d%d%d%d%d%d", toString(aN), toString(aO), toString(aP), toString(aF), toString(aI), toString(aJ)], h)
159159
160160
161161 func aQ (aR) = if ((aR == "WAVES"))
162162 then wavesBalance(this).available
163163 else assetBalance(this, fromBase58String(aR))
164164
165165
166166 func aS (aT,aU) = fraction(aT, c, aU)
167167
168168
169169 func aV (aW,aX,aY) = {
170170 let aZ = fraction((aW - aX), b, aX)
171171 let ba = ((aY - J(aZ)) > d)
172172 if (!(ba))
173173 then throw(((("Too big slippage: " + toString(aZ)) + " vs ") + toString(aY)))
174174 else $Tuple2(ba, min([aW, aX]))
175175 }
176176
177177
178178 func bb (bc,bd,be,bf) = {
179179 let bg = z(be, bc)
180180 let bh = z(bf, bd)
181181 aS(bh, bg)
182182 }
183183
184184
185185 func bi (be,bf,bj) = {
186186 let bk = aw()
187187 let bl = parseIntValue(bk[s])
188188 let bm = parseIntValue(bk[t])
189189 let bn = bb(bl, bm, be, bf)
190190 let aU = z(be, bl)
191191 let aT = z(bf, bm)
192192 let bo = z(bj, a)
193193 let bp = aS(aU, bo)
194194 let bq = aS(aT, bo)
195195 [bn, bp, bq]
196196 }
197197
198198
199199 func br (be,bf,bj) = {
200200 let bs = bi(be, bf, bj)
201201 [C(bs[0], a), C(bs[1], a), C(bs[2], a)]
202202 }
203203
204204
205205 func bt (bu,bv,bw,bx) = {
206206 let bk = aw()
207207 let by = bk[p]
208208 let bz = bk[q]
209209 let bA = bk[r]
210210 let bB = parseIntValue(bk[s])
211211 let bC = parseIntValue(bk[t])
212212 let bD = bk[o]
213213 let bE = valueOrErrorMessage(assetInfo(fromBase58String(by)), "Invalid LP id").quantity
214214 if ((by != bv))
215215 then throw("Invalid pmt asset")
216216 else {
217217 let bF = aQ(bz)
218218 let bG = z(bF, bB)
219219 let bH = aQ(bA)
220220 let bI = z(bH, bC)
221221 let bJ = aS(bI, bG)
222222 let bK = C(bJ, a)
223223 let bL = z(bw, a)
224224 let bM = z(bE, a)
225225 let bN = fraction(bG, bL, bM)
226226 let bO = fraction(bI, bL, bM)
227227 let bP = C(bN, bB)
228228 let bQ = C(bO, bC)
229229 let bR = if ((bu == ""))
230230 then nil
231231 else [ScriptTransfer(bx, bP, if ((bz == "WAVES"))
232232 then unit
233233 else fromBase58String(bz)), ScriptTransfer(bx, bQ, if ((bA == "WAVES"))
234234 then unit
235235 else fromBase58String(bA)), StringEntry(T(toString(bx), bu), aM(bP, bQ, bw, bK, height, lastBlock.timestamp)), IntegerEntry(M(), bK), IntegerEntry(N(height, lastBlock.timestamp), bK)]
236236 $Tuple10(bP, bQ, bz, bA, bF, bH, bE, bJ, bD, bR)
237237 }
238238 }
239239
240240
241241 func bS (bu,aY,bT,bU,bV,bW,bx,bX,bY,bZ,ca,cb) = {
242242 let bk = aw()
243243 let by = fromBase58String(bk[p])
244244 let cc = bk[q]
245245 let cd = bk[r]
246246 let ce = bk[u]
247247 let cf = bk[v]
248248 let cg = parseIntValue(bk[s])
249249 let ch = parseIntValue(bk[t])
250250 let bD = bk[o]
251251 let ci = valueOrErrorMessage(assetInfo(by), "Wr lp as").quantity
252252 let bF = if (bX)
253253 then aQ(cc)
254254 else if (if (bZ)
255255 then (cb == cc)
256256 else false)
257257 then (aQ(cc) - ca)
258258 else if (bZ)
259259 then aQ(cc)
260260 else (aQ(cc) - bT)
261261 let bH = if (bX)
262262 then aQ(cd)
263263 else if (if (bZ)
264264 then (cb == cd)
265265 else false)
266266 then (aQ(cd) - ca)
267267 else if (bZ)
268268 then aQ(cd)
269269 else (aQ(cd) - bV)
270270 let cj = z(bT, cg)
271271 let ck = z(bV, ch)
272272 let cl = aS(ck, cj)
273273 let bG = z(bF, cg)
274274 let bI = z(bH, ch)
275275 let cm = if ((ci == 0))
276276 then {
277277 let bJ = d
278278 let cn = d
279279 let bo = pow((cj * ck), 0, toBigInt(5), 1, 0, DOWN)
280280 $Tuple5(C(bo, a), C(cj, cg), C(ck, ch), aS((bI + ck), (bG + cj)), cn)
281281 }
282282 else {
283283 let bJ = aS(bI, bG)
284284 let co = fraction(J((bJ - cl)), c, bJ)
285285 let cn = z(aY, a)
286286 if (if ((bJ != d))
287287 then (co > cn)
288288 else false)
289289 then throw(((("Price slippage " + toString(co)) + " > ") + toString(cn)))
290290 else {
291291 let bM = z(ci, a)
292292 let cp = fraction(cj, bJ, c)
293293 let cq = fraction(ck, c, bJ)
294294 let cr = if ((cp > ck))
295295 then $Tuple2(cq, ck)
296296 else $Tuple2(cj, cp)
297297 let cs = cr._1
298298 let ct = cr._2
299299 let bo = fraction(bM, ct, bI)
300300 $Tuple5(C(bo, a), C(cs, cg), C(ct, ch), bJ, cn)
301301 }
302302 }
303303 let cu = cm._1
304304 let cv = cm._2
305305 let cw = cm._3
306306 let bK = C(cm._4, a)
307307 let cx = C(cm._5, a)
308308 if ((0 >= cu))
309309 then throw("LP <= 0")
310310 else {
311311 let cy = if (!(bY))
312312 then 0
313313 else cu
314314 let cz = (bT - cv)
315315 let cA = (bV - cw)
316316 let cB = if (if (bZ)
317317 then (cb == cc)
318318 else false)
319319 then $Tuple2(ca, 0)
320320 else if (if (bZ)
321321 then (cb == cd)
322322 else false)
323323 then $Tuple2(0, ca)
324324 else $Tuple2(cv, cw)
325325 let cC = cB._1
326326 let cD = cB._2
327327 let cE = [IntegerEntry(M(), bK), IntegerEntry(N(height, lastBlock.timestamp), bK), StringEntry(Q(bx, bu), aB(cC, cD, cy, bK, aY, cx, height, lastBlock.timestamp, cz, cA))]
328328 $Tuple13(cu, cy, bK, bF, bH, ci, by, bD, cE, cz, cA, bU, bW)
329329 }
330330 }
331331
332332
333333 func cF (cG) = {
334334 let bk = aw()
335335 let cH = bk[q]
336336 let cI = bk[r]
337337 let bD = parseIntValue(bk[o])
338338 let bl = parseIntValue(bk[s])
339339 let bm = parseIntValue(bk[t])
340340 let cJ = aQ(cH)
341341 let cK = aQ(cI)
342342 let bJ = if ((cG.orderType == Buy))
343343 then bb(bl, bm, (cJ + cG.amount), cK)
344344 else bb(bl, bm, (cJ - cG.amount), cK)
345345 let bK = C(bJ, a)
346346 if (if (if (au())
347347 then true
348348 else (bD == l))
349349 then true
350350 else (bD == m))
351351 then throw("Admin blocked")
352352 else {
353353 let cL = cG.assetPair.amountAsset
354354 let cM = if ((cL == unit))
355355 then "WAVES"
356356 else toBase58String(value(cL))
357357 let cN = cG.assetPair.priceAsset
358358 let cO = if ((cN == unit))
359359 then "WAVES"
360360 else toBase58String(value(cN))
361361 if (if ((cM != cH))
362362 then true
363363 else (cO != cI))
364364 then throw("Wr assets")
365365 else {
366366 let cP = cG.price
367367 let ch = fraction(a, bm, bl)
368368 let cQ = F(cP, a, ch)
369369 let cR = if ((cG.orderType == Buy))
370370 then (bK >= cQ)
371371 else (cQ >= bK)
372372 true
373373 }
374374 }
375375 }
376376
377377
378378 func cS (cT) = if ((size(cT.payments) != 1))
379379 then throw("1 pmnt exp")
380380 else {
381381 let cU = value(cT.payments[0])
382382 let bv = value(cU.assetId)
383383 let ca = cU.amount
384384 let cm = bt(toBase58String(cT.transactionId), toBase58String(bv), ca, cT.caller)
385385 let bP = cm._1
386386 let bQ = cm._2
387387 let bD = parseIntValue(cm._9)
388388 let bR = cm._10
389389 if (if (au())
390390 then true
391391 else (bD == m))
392392 then throw(("Admin blocked: " + toString(bD)))
393393 else $Tuple5(bP, bQ, ca, bv, bR)
394394 }
395395
396396
397397 func cV (cW,S,cX,cY,aY,bY,bZ,ca,cb) = {
398398 let cZ = bS(S, aY, value(cX).amount, value(cX).assetId, value(cY).amount, value(cY).assetId, cW, false, bY, bZ, ca, cb)
399399 let da = parseIntValue(cZ._8)
400400 if (if (if (au())
401401 then true
402402 else (da == k))
403403 then true
404404 else (da == m))
405405 then throw(("Blocked:" + toString(da)))
406406 else cZ
407407 }
408408
409409
410410 @Callable(cT)
411411 func constructor (as,db) = if ((cT.caller != this))
412412 then throw("denied")
413413 else [StringEntry(K(), as), StringEntry(L(), db)]
414414
415415
416416
417417 @Callable(cT)
418418 func put (dc,dd) = {
419419 let de = aA()
420420 let df = valueOrErrorMessage(addressFromString(de[w]), "Wr st addr")
421421 let dg = valueOrErrorMessage(addressFromString(de[x]), "Wr sl addr")
422422 if ((0 > dc))
423423 then throw("Invalid slippage")
424424 else if ((size(cT.payments) != 2))
425425 then throw("2 pmnts expd")
426426 else {
427427 let dh = cV(toString(cT.caller), toBase58String(cT.transactionId), AttachedPayment(value(cT.payments[0]).assetId, value(cT.payments[0]).amount), cT.payments[1], dc, true, false, 0, "")
428428 let cy = dh._2
429429 let di = dh._7
430430 let bR = dh._9
431431 let cz = dh._10
432432 let cA = dh._11
433433 let bz = dh._12
434434 let bA = dh._13
435435 let dj = invoke(as, "emit", [cy], nil)
436436 if ((dj == dj))
437437 then {
438438 let dk = if ((cz > 0))
439439 then invoke(dg, "put", nil, [AttachedPayment(bz, cz)])
440440 else nil
441441 if ((dk == dk))
442442 then {
443443 let dl = if ((cA > 0))
444444 then invoke(dg, "put", nil, [AttachedPayment(bA, cA)])
445445 else nil
446446 if ((dl == dl))
447447 then {
448448 let dm = if (dd)
449449 then {
450450 let dn = invoke(df, "stake", nil, [AttachedPayment(di, cy)])
451451 if ((dn == dn))
452452 then nil
453453 else throw("Strict value is not equal to itself.")
454454 }
455455 else [ScriptTransfer(cT.caller, cy, di)]
456456 (bR ++ dm)
457457 }
458458 else throw("Strict value is not equal to itself.")
459459 }
460460 else throw("Strict value is not equal to itself.")
461461 }
462462 else throw("Strict value is not equal to itself.")
463463 }
464464 }
465465
466466
467467
468468 @Callable(cT)
469469 func putOneTkn (do,dp,dq,aY,dd) = {
470470 let bk = aA()
471- let df = valueOrErrorMessage(addressFromString(bk[w]), "Wr st addr")
472- let dg = valueOrErrorMessage(addressFromString(bk[x]), "Wr sl addr")
473- let dr = valueOrErrorMessage(addressFromString(bk[y]), "Wr gwx addr")
474- let ds = aw()
475- let bz = ds[q]
476- let bA = ds[r]
477- let bB = parseIntValue(ds[s])
478- let bC = parseIntValue(ds[t])
479- if (if (if (if ((0 >= aY))
480- then true
481- else (0 >= do))
482- then true
483- else (0 >= dp))
484- then true
485- else (0 >= dq))
486- then throw("Wrong params")
487- else if ((size(cT.payments) != 1))
488- then throw("1 pmnt expd")
489- else {
490- let cU = value(cT.payments[0])
491- let bv = toBase58String(value(cU.assetId))
492- let ca = cU.amount
493- if (if (if ((do > ca))
494- then true
495- else (dp > ca))
496- then true
497- else (10000000 > ca))
498- then throw("Wrong pmt amt")
471+ if (true)
472+ then throw("off")
473+ else {
474+ let df = valueOrErrorMessage(addressFromString(bk[w]), "Wr st addr")
475+ let dg = valueOrErrorMessage(addressFromString(bk[x]), "Wr sl addr")
476+ let dr = valueOrErrorMessage(addressFromString(bk[y]), "Wr gwx addr")
477+ let ds = aw()
478+ let bz = ds[q]
479+ let bA = ds[r]
480+ let bB = parseIntValue(ds[s])
481+ let bC = parseIntValue(ds[t])
482+ if (if (if (if ((0 >= aY))
483+ then true
484+ else (0 >= do))
485+ then true
486+ else (0 >= dp))
487+ then true
488+ else (0 >= dq))
489+ then throw("Wrong params")
490+ else if ((size(cT.payments) != 1))
491+ then throw("1 pmnt expd")
499492 else {
500- let bF = aQ(bz)
501- let bH = aQ(bA)
502- let dt = if ((bv == bz))
503- then $Tuple6((bF - ca), bH, (ca - do), dp, 0, 0)
504- else if ((bv == bA))
505- then $Tuple6(bF, (bH - ca), 0, 0, (ca - dp), do)
506- else throw("wrong pmtAssetId")
507- let du = dt._1
508- let dv = dt._2
509- let dw = dt._3
510- let dx = dt._4
511- let dy = dt._5
512- let dz = dt._6
513- let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
514- let dB = invoke(dr, "calcD", [toString(toBigInt(((du + dw) - dz))), toString(toBigInt(((dv + dy) - dx))), at, f, g], nil)
515- let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
516- if ((dC == dC))
517- then {
518- let dh = cV(toString(cT.caller), toBase58String(cT.transactionId), AttachedPayment(fromBase58String(bz), do), AttachedPayment(fromBase58String(bA), dp), 50000000000, true, true, ca, bv)
519- let dD = dh._2
520- let di = dh._7
521- let bR = dh._9
522- let cz = dh._10
523- let cA = dh._11
524- let dE = aV(toBigInt(dD), toBigInt(dq), toBigInt(aY))
525- let cy = toInt(dE._2)
526- let dj = invoke(as, "emit", [cy], nil)
527- if ((dj == dj))
493+ let cU = value(cT.payments[0])
494+ let bv = toBase58String(value(cU.assetId))
495+ let ca = cU.amount
496+ if (if (if ((do > ca))
497+ then true
498+ else (dp > ca))
499+ then true
500+ else (10000000 > ca))
501+ then throw("Wrong pmt amt")
502+ else {
503+ let bF = aQ(bz)
504+ let bH = aQ(bA)
505+ let dt = if ((bv == bz))
506+ then $Tuple6((bF - ca), bH, (ca - do), dp, 0, 0)
507+ else if ((bv == bA))
508+ then $Tuple6(bF, (bH - ca), 0, 0, (ca - dp), do)
509+ else throw("wrong pmtAssetId")
510+ let du = dt._1
511+ let dv = dt._2
512+ let dw = dt._3
513+ let dx = dt._4
514+ let dy = dt._5
515+ let dz = dt._6
516+ let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
517+ let dB = invoke(dr, "calcD", [toString(toBigInt(((du + dw) - dz))), toString(toBigInt(((dv + dy) - dx))), at, f, g], nil)
518+ let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
519+ if ((dC == dC))
528520 then {
529- let dk = if ((cz > 0))
530- then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bz), cz)])
531- else nil
532- if ((dk == dk))
521+ let dh = cV(toString(cT.caller), toBase58String(cT.transactionId), AttachedPayment(fromBase58String(bz), do), AttachedPayment(fromBase58String(bA), dp), 50000000000, true, true, ca, bv)
522+ let dD = dh._2
523+ let di = dh._7
524+ let bR = dh._9
525+ let cz = dh._10
526+ let cA = dh._11
527+ let dE = aV(toBigInt(dD), toBigInt(dq), toBigInt(aY))
528+ let cy = toInt(dE._2)
529+ let dj = invoke(as, "emit", [cy], nil)
530+ if ((dj == dj))
533531 then {
534- let dl = if ((cA > 0))
535- then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bA), cA)])
532+ let dk = if ((cz > 0))
533+ then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bz), cz)])
536534 else nil
537- if ((dl == dl))
535+ if ((dk == dk))
538536 then {
539- let dm = if (dd)
537+ let dl = if ((cA > 0))
538+ then invoke(dg, "put", nil, [AttachedPayment(fromBase58String(bA), cA)])
539+ else nil
540+ if ((dl == dl))
540541 then {
541- let dn = invoke(df, "stake", nil, [AttachedPayment(di, cy)])
542- if ((dn == dn))
543- then nil
544- else throw("Strict value is not equal to itself.")
542+ let dm = if (dd)
543+ then {
544+ let dn = invoke(df, "stake", nil, [AttachedPayment(di, cy)])
545+ if ((dn == dn))
546+ then nil
547+ else throw("Strict value is not equal to itself.")
548+ }
549+ else [ScriptTransfer(cT.caller, cy, di)]
550+ (bR ++ dm)
545551 }
546- else [ScriptTransfer(cT.caller, cy, di)]
547- (bR ++ dm)
552+ else throw("Strict value is not equal to itself.")
548553 }
549554 else throw("Strict value is not equal to itself.")
550555 }
551556 else throw("Strict value is not equal to itself.")
552557 }
553558 else throw("Strict value is not equal to itself.")
554559 }
555- else throw("Strict value is not equal to itself.")
556560 }
557- }
561+ }
558562 }
559563
560564
561565
562566 @Callable(cT)
563567 func putForFree (dF) = if ((0 > dF))
564568 then throw("Invalid slippage")
565569 else if ((size(cT.payments) != 2))
566570 then throw("2 pmnts expd")
567571 else {
568572 let dh = cV(toString(cT.caller), toBase58String(cT.transactionId), AttachedPayment(value(cT.payments[0]).assetId, value(cT.payments[0]).amount), cT.payments[1], dF, false, false, 0, "")
569573 dh._9
570574 }
571575
572576
573577
574578 @Callable(cT)
575579 func get () = {
576580 let cm = cS(cT)
577581 let dG = cm._1
578582 let bQ = cm._2
579583 let ca = cm._3
580584 let bv = cm._4
581585 let bR = cm._5
582586 let dH = invoke(as, "burn", [ca], [AttachedPayment(bv, ca)])
583587 if ((dH == dH))
584588 then bR
585589 else throw("Strict value is not equal to itself.")
586590 }
587591
588592
589593
590594 @Callable(cT)
591595 func getOneTkn (dI,dJ,dK,dL,aY) = if ((size(cT.payments) != 1))
592596 then throw("1 pmnt expd")
593- else {
594- let bk = aw()
595- let by = bk[p]
596- let bz = bk[q]
597- let bA = bk[r]
598- let bB = parseIntValue(bk[s])
599- let bC = parseIntValue(bk[t])
600- let bD = bk[o]
601- let dM = aA()
602- let dr = valueOrErrorMessage(addressFromString(dM[y]), "Wr sl addr")
603- let cU = value(cT.payments[0])
604- let bx = cT.caller
605- let bu = toBase58String(cT.transactionId)
606- let bv = value(cU.assetId)
607- let ca = cU.amount
608- if (if (if (if ((0 > aY))
609- then true
610- else (0 > dI))
611- then true
612- else (0 > dJ))
613- then true
614- else (0 > dK))
615- then throw("Wrong params")
616- else if ((by != toBase58String(bv)))
617- then throw("Invalid LP")
618- else {
619- let cZ = bt(toBase58String(cT.transactionId), toBase58String(bv), ca, cT.caller)
620- let dN = cZ._1
621- let dO = cZ._2
622- let bF = aQ(bz)
623- let bH = aQ(bA)
624- let dP = if ((dL == bz))
625- then $Tuple7((bF - dN), (bH - dO), (dK - dN), dJ, 0, 0, (dN + dI))
626- else if ((dL == bA))
627- then $Tuple7((bF - dN), (bH - dO), 0, 0, (dK - dO), dI, (dO + dJ))
628- else throw("wrong outAssetId")
629- let du = dP._1
630- let dv = dP._2
631- let dw = dP._3
632- let dx = dP._4
633- let dy = dP._5
634- let dz = dP._6
635- let dQ = dP._7
636- if (if ((0 > dw))
637- then true
638- else (0 > dy))
639- then throw("Invalid calc")
640- else {
641- let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
642- let dB = invoke(dr, "calcD", [toString(((du - dw) + dz)), toString(((dv + dx) - dy)), at, f, g], nil)
643- let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
644- if ((dC == dC))
645- then {
646- let dR = aV(toBigInt(dQ), toBigInt(dK), toBigInt(aY))
647- if ((dR == dR))
648- then {
649- let dS = if ((dL == bz))
650- then $Tuple2(toInt(dR._2), 0)
651- else $Tuple2(0, toInt(dR._2))
652- let dT = dS._1
653- let dU = dS._2
654- let bJ = aS(z(bH, bC), z(bF, bB))
655- let bK = C(bJ, a)
656- let bR = [ScriptTransfer(bx, (dT + dU), if ((dL == "WAVES"))
657- then unit
658- else fromBase58String(dL)), StringEntry(T(toString(bx), bu), aM(dT, dU, ca, bK, height, lastBlock.timestamp)), IntegerEntry(M(), bK), IntegerEntry(N(height, lastBlock.timestamp), bK)]
659- if ((bR == bR))
660- then {
661- let dV = invoke(as, "burn", [ca], [AttachedPayment(bv, ca)])
662- if ((dV == dV))
663- then bR
664- else throw("Strict value is not equal to itself.")
665- }
666- else throw("Strict value is not equal to itself.")
667- }
668- else throw("Strict value is not equal to itself.")
669- }
670- else throw("Strict value is not equal to itself.")
671- }
672- }
673- }
597+ else if (true)
598+ then throw("off")
599+ else {
600+ let bk = aw()
601+ let by = bk[p]
602+ let bz = bk[q]
603+ let bA = bk[r]
604+ let bB = parseIntValue(bk[s])
605+ let bC = parseIntValue(bk[t])
606+ let bD = bk[o]
607+ let dM = aA()
608+ let dr = valueOrErrorMessage(addressFromString(dM[y]), "Wr sl addr")
609+ let cU = value(cT.payments[0])
610+ let bx = cT.caller
611+ let bu = toBase58String(cT.transactionId)
612+ let bv = value(cU.assetId)
613+ let ca = cU.amount
614+ if (if (if (if ((0 > aY))
615+ then true
616+ else (0 > dI))
617+ then true
618+ else (0 > dJ))
619+ then true
620+ else (0 > dK))
621+ then throw("Wrong params")
622+ else if ((by != toBase58String(bv)))
623+ then throw("Invalid LP")
624+ else {
625+ let cZ = bt(toBase58String(cT.transactionId), toBase58String(bv), ca, cT.caller)
626+ let dN = cZ._1
627+ let dO = cZ._2
628+ let bF = aQ(bz)
629+ let bH = aQ(bA)
630+ let dP = if ((dL == bz))
631+ then $Tuple7((bF - dN), (bH - dO), (dK - dN), dJ, 0, 0, (dN + dI))
632+ else if ((dL == bA))
633+ then $Tuple7((bF - dN), (bH - dO), 0, 0, (dK - dO), dI, (dO + dJ))
634+ else throw("wrong outAssetId")
635+ let du = dP._1
636+ let dv = dP._2
637+ let dw = dP._3
638+ let dx = dP._4
639+ let dy = dP._5
640+ let dz = dP._6
641+ let dQ = dP._7
642+ if (if ((0 > dw))
643+ then true
644+ else (0 > dy))
645+ then throw("Invalid calc")
646+ else {
647+ let dA = invoke(dr, "calcD", [toString(du), toString(dv), at, f, g], nil)
648+ let dB = invoke(dr, "calcD", [toString(((du - dw) + dz)), toString(((dv + dx) - dy)), at, f, g], nil)
649+ let dC = aV(parseBigIntValue(al(dB)), parseBigIntValue(al(dA)), toBigInt(1000))
650+ if ((dC == dC))
651+ then {
652+ let dR = aV(toBigInt(dQ), toBigInt(dK), toBigInt(aY))
653+ if ((dR == dR))
654+ then {
655+ let dS = if ((dL == bz))
656+ then $Tuple2(toInt(dR._2), 0)
657+ else $Tuple2(0, toInt(dR._2))
658+ let dT = dS._1
659+ let dU = dS._2
660+ let bJ = aS(z(bH, bC), z(bF, bB))
661+ let bK = C(bJ, a)
662+ let bR = [ScriptTransfer(bx, (dT + dU), if ((dL == "WAVES"))
663+ then unit
664+ else fromBase58String(dL)), StringEntry(T(toString(bx), bu), aM(dT, dU, ca, bK, height, lastBlock.timestamp)), IntegerEntry(M(), bK), IntegerEntry(N(height, lastBlock.timestamp), bK)]
665+ if ((bR == bR))
666+ then {
667+ let dV = invoke(as, "burn", [ca], [AttachedPayment(bv, ca)])
668+ if ((dV == dV))
669+ then bR
670+ else throw("Strict value is not equal to itself.")
671+ }
672+ else throw("Strict value is not equal to itself.")
673+ }
674+ else throw("Strict value is not equal to itself.")
675+ }
676+ else throw("Strict value is not equal to itself.")
677+ }
678+ }
679+ }
674680
675681
676682
677683 @Callable(cT)
678684 func getNoLess (dW,dX) = {
679685 let cm = cS(cT)
680686 let bP = cm._1
681687 let bQ = cm._2
682688 let ca = cm._3
683689 let bv = cm._4
684690 let bR = cm._5
685691 if ((dW > bP))
686692 then throw(((("Failed: " + toString(bP)) + " < ") + toString(dW)))
687693 else if ((dX > bQ))
688694 then throw(((("Failed: " + toString(bQ)) + " < ") + toString(dX)))
689695 else {
690696 let dH = invoke(as, "burn", [ca], [AttachedPayment(bv, ca)])
691697 if ((dH == dH))
692698 then bR
693699 else throw("Strict value is not equal to itself.")
694700 }
695701 }
696702
697703
698704
699705 @Callable(cT)
700706 func unstakeAndGet (dY) = {
701707 let dZ = if ((size(cT.payments) != 0))
702708 then throw("No pmnts expd")
703709 else true
704710 if ((dZ == dZ))
705711 then {
706712 let bk = aw()
707713 let ea = aA()
708714 let di = fromBase58String(bk[p])
709715 let eb = valueOrErrorMessage(addressFromString(ea[w]), "Wr st addr")
710716 let ec = invoke(eb, "unstake", [toBase58String(di), dY], nil)
711717 if ((ec == ec))
712718 then {
713719 let cZ = bt(toBase58String(cT.transactionId), toBase58String(di), dY, cT.caller)
714720 let bD = parseIntValue(cZ._9)
715721 let bR = cZ._10
716722 let ed = if (if (au())
717723 then true
718724 else (bD == m))
719725 then throw(("Blocked: " + toString(bD)))
720726 else true
721727 if ((ed == ed))
722728 then {
723729 let dH = invoke(as, "burn", [dY], [AttachedPayment(di, dY)])
724730 if ((dH == dH))
725731 then bR
726732 else throw("Strict value is not equal to itself.")
727733 }
728734 else throw("Strict value is not equal to itself.")
729735 }
730736 else throw("Strict value is not equal to itself.")
731737 }
732738 else throw("Strict value is not equal to itself.")
733739 }
734740
735741
736742
737743 @Callable(cT)
738744 func activate (ee,ef) = if ((toString(cT.caller) != toString(as)))
739745 then throw("denied")
740746 else $Tuple2([StringEntry(U(), ee), StringEntry(V(), ef)], "success")
741747
742748
743749
744750 @Callable(cT)
745751 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aw())
746752
747753
748754
749755 @Callable(cT)
750756 func getAccBalanceWrapperREADONLY (aR) = $Tuple2(nil, aQ(aR))
751757
752758
753759
754760 @Callable(cT)
755761 func calcPricesWrapperREADONLY (be,bf,bj) = {
756762 let bs = bi(be, bf, bj)
757763 $Tuple2(nil, [toString(bs[0]), toString(bs[1]), toString(bs[2])])
758764 }
759765
760766
761767
762768 @Callable(cT)
763769 func fromX18WrapperREADONLY (D,E) = $Tuple2(nil, C(parseBigIntValue(D), E))
764770
765771
766772
767773 @Callable(cT)
768774 func toX18WrapperREADONLY (A,B) = $Tuple2(nil, toString(z(A, B)))
769775
770776
771777
772778 @Callable(cT)
773779 func calcPriceBigIntWrapperREADONLY (aT,aU) = $Tuple2(nil, toString(aS(parseBigIntValue(aT), parseBigIntValue(aU))))
774780
775781
776782
777783 @Callable(cT)
778784 func estimatePutOperationWrapperREADONLY (bu,aY,bT,bU,bV,bW,eg,bX,bY) = $Tuple2(nil, bS(bu, aY, bT, bU, bV, bW, eg, bX, bY, false, 0, ""))
779785
780786
781787
782788 @Callable(cT)
783789 func estimateGetOperationWrapperREADONLY (bu,eh,bw,eg) = {
784790 let cm = bt(bu, eh, bw, addressFromStringValue(eg))
785791 $Tuple2(nil, $Tuple10(cm._1, cm._2, cm._3, cm._4, cm._5, cm._6, cm._7, toString(cm._8), cm._9, cm._10))
786792 }
787793
788794
789795 @Verifier(ei)
790796 func ej () = {
791797 let am = ei
792798 if ($isInstanceOf(am, "Order"))
793799 then {
794800 let cG = am
795801 let ek = av()
796802 let ai = cF(cG)
797803 let el = sigVerify(cG.bodyBytes, cG.proofs[0], cG.senderPublicKey)
798804 let em = sigVerify(cG.bodyBytes, cG.proofs[1], ek)
799805 if (if (if (ai)
800806 then el
801807 else false)
802808 then em
803809 else false)
804810 then true
805811 else ah(ai, el, em)
806812 }
807813 else {
808814 let en = valueOrElse(getString(this, L()), i)
809815 if ((en == i))
810816 then sigVerify(ei.bodyBytes, ei.proofs[0], ei.senderPublicKey)
811817 else sigVerify(ei.bodyBytes, ei.proofs[0], fromBase58String(en))
812818 }
813819 }
814820

github/deemru/w8io/3ef1775 
100.67 ms