tx · DzfFrDWqWy1P1qseugscShRYL8BS8oKKJts4mPq4uUdJ

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.03000000 Waves

2023.02.03 13:17 [2433311] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "DzfFrDWqWy1P1qseugscShRYL8BS8oKKJts4mPq4uUdJ", "fee": 3000000, "feeAssetId": null, "timestamp": 1675419497998, "version": 1, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "5YbzVg99AcDNx23EsfuktYVLe7aDzhmEpXVBTRrZetEqGtSNsxK6Qe949Zueycyct2Ri7Y9ETqA2i8joepZqAFVM" ], "script": "base64:AAIFAAAAAAAAEt8IAhIECgIICBIDCgEIEgoKCAgICAgICAgBEgMKAQgSBgoECAgICBIECgIIGBIDCgEIEgQKAggYEgMKAQgSABIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIHU0NBTEUxOCIGTVVMVDE4Ig5QT09MV0VJR0hUTVVMVCIOR1dYdmlydHVhbFBPT0wiDGxhYmVsUG9vbHNMcCINZGVmYXVsdFNwcmVhZCIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIha2V5QWxsb3dlZExwU3RhYmxlQWRkb25TY3JpcHRIYXNoIhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIPa2V5QWRtaW5QdWJLZXlzIhZrZXlBc3NldHNTdG9yZUNvbnRyYWN0IhlrZXlWb3RpbmdFbWlzc2lvbkNvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM2MzIzNjk0IiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiByRtYXRjaDAiAXMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0IhVwZXJtaXNzaW9uRGVuaWVkRXJyb3IiCXRlc3RFcnJvciIIbXVzdFRoaXMiAWkiC211c3RNYW5hZ2VyIgJwayIQZGF0YUZhY3RvcnlDZmdWMyIOc3Rha2luZ0FkZHJlc3MiD2Jvb3N0aW5nQWRkcmVzcyILaWRvQ29udHJhY3QiDHRlYW1Db250cmFjdCIQZW1pc3Npb25Db250cmFjdCIMcmVzdENvbnRyYWN0IhBzbGlwcGFnZUNvbnRyYWN0IgtkYW9Db250cmFjdCIRbWFya2V0aW5nQ29udHJhY3QiEmd3eFJld2FyZHNDb250cmFjdCINYmlyZHNDb250cmFjdCIOZGF0YUZhY3RvcnlDZmciC2RhdGFQb29sQ2ZnIgpwb29sU3RhdHVzIglscEFzc2V0SWQiDmFtb3VudEFzc2V0U3RyIg1wcmljZUFzc2V0U3RyIhNhbW91bnRBc3NldERlY2ltYWxzIhJwcmljZUFzc2V0RGVjaW1hbHMiFWFtb3VudEFzc2V0SW50ZXJuYWxJZCIUcHJpY2VBc3NldEludGVybmFsSWQiD2xwQXNzZXREZWNpbWFscyIIcG9vbFR5cGUiFWRhdGFNYXBwaW5nUG9vbEFzc2V0cyIWaW50ZXJuYWxBbW91bnRBc3NldFN0ciIVaW50ZXJuYWxQcmljZUFzc2V0U3RyIg1nZXRQb29sQ29uZmlnIgpwb29sQXNzZXRzIhpnZXRJbnRlcm5hbEFzc2V0SWRPckNyZWF0ZSIKYXNzZXRJZFN0ciILaW5jcmVtZW50b3IiD2ludGVybmFsQXNzZXRJZCIYY3VycmVudEluZGV4T2ZJbnRlcm5hbElkIgZyZXN1bHQiEm5ld0ludGVybmFsQXNzZXRJZCIJbXVzdEFkbWluIghhZG1pblBLcyIJaXNNYW5hZ2VyIhZpbnRPckRlZmF1bHRPckZhbGxiYWNrIgprZXlEZWZhdWx0Ig12YWx1ZUZhbGxiYWNrIgZhc3NldDEiBmFzc2V0MiIJYXNzZXROdW0xIgVjaGVjayIJYXNzZXROdW0yIgJlZSIGY2hlY2tzIgJscCIPc3Rha2luZ0NvbnRyYWN0IhBib29zdGluZ0NvbnRyYWN0IhBzbHBpcGFnZUNvbnRyYWN0Ig1wcmljZURlY2ltYWxzIgtjaGVja0NhbGxlciIQbWF0aGNoZXJQdWI1OFN0ciIKbWF0aGNlclB1YiIVbGVnYWN5RmFjdG9yeUNvbnRyYWN0IgtsZWdhY3lQb29scyITYXNzZXRzU3RvcmVDb250cmFjdCIWdm90aW5nRW1pc3Npb25Db250cmFjdCILcHJpY2VBc3NldHMiBWNoZWtzIhdwZW5kaW5nTWFuYWdlclB1YmxpY0tleSIVY2hlY2tNYW5hZ2VyUHVibGljS2V5IgJwbSIFaGFzUE0iB2NoZWNrUE0iDGFkbWluUHViS2V5cyILbHBBc3NldE5hbWUiDGxwQXNzZXREZXNjciIKcG9vbFdlaWdodCIEbG9nbyIXaW50ZXJuYWxBbW91bnRBc3NldERhdGEiFWludGVybmFsQW1vdW50QXNzZXRJZCIWaW50ZXJuYWxQcmljZUFzc2V0RGF0YSIUaW50ZXJuYWxQcmljZUFzc2V0SWQiFXBvb2xBY2NvdW50U2NyaXB0SGFzaCIcZXRoYWxvblBvb2xBY2NvdW50U2NyaXB0SGFzaCIKcG9vbENvbmZpZyIPcG9vbENvbmZpZ1ZhbHVlIhRhbW91bnRBc3NldHNEZWNpbWFscyITcHJpY2VBc3NldHNEZWNpbWFscyISbHBBc3NldElzc3VlQWN0aW9uIgxscEFzc2V0SWRTdHIiGHBvb2xBY3RpdmF0ZUludm9rZVJlc3VsdCIYY3JlYXRlT3JVcGRhdGVMcEFzc2V0SW52IhJhZGRQb29sc0xwTGFiZWxJbnYiCnNldExvZ29JbnYiEGFkZEFzc2V0c0xpbmtJbnYiG2luY3JlYXNlQXNzZXRQb29sc051bWJlckludiIJbmV3U3RhdHVzIgpscEFzc2V0RGNtIgxhbW91bnRUb0VtaXQiBmNhbGxlciIMb3JpZ2luQ2FsbGVyIhBscEFzc2V0UmVxdWVzdGVkIgdscEFzc2V0IgxhbW91bnRUb0J1cm4iB3BheW1lbnQiDXBheW1lbnRBbW91bnQiD2luQW1vdW50QXNzZXRJZCIabHBBc3NldFJlcXVlc3RlZEZvckJ1cm5pbmciBXNoYXJlIg1wb29sV2VpZ2h0S2V5Igxnd3hXZWlnaHRLZXkiCWd3eFdlaWdodCINcG9vbFdlaWdodE5ldyIRb25Nb2RpZnlXZWlnaHRJbnYiFWd3eFZpcnR1YWxQb29sQWN0aW9ucyIUcG9vbFdlaWdodEhpc3RvcnlLZXkiF3Bvb2xXZWlnaHRIaXN0b3J5T3JVbml0Ihhwb29sV2VpZ2h0SGlzdG9yeUFjdGlvbnMiDmJ0Y1Bvb2xBZGRyZXNzIg5ldGhQb29sQWRkcmVzcyIRZXRoQnRjUG9vbEFkZHJlc3MiE3VzZGNVc2R0UG9vbEFkZHJlc3MiD2V0aEJ0Y1dlaWdodE5ldyIRdXNkY1VzZHRXZWlnaHROZXciD3dlaWdodERlY3JlbWVudCILc3Rha2luZ0RhcHAiDWd3eFJld2FyZERhcHAiDGJ0Y1dlaWdodEtFWSIMZXRoV2VpZ2h0S0VZIg9ldGhCdGNXZWlnaHRLRVkiEXVzZGNVc2R0V2VpZ2h0S0VZIglidGNXZWlnaHQiCWV0aFdlaWdodCIMYnRjV2VpZ2h0TmV3IgxldGhXZWlnaHROZXciD2J0Y0xwQXNzZXRJZFN0ciIPZXRoTHBBc3NldElkU3RyIhJldGhCdGNMcEFzc2V0SWRTdHIiFHVzZGNVc2R0THBBc3NldElkU3RyIhFvbk1vZGlmeVdlaWdodEJ0YyIRb25Nb2RpZnlXZWlnaHRFdGgiFG9uTW9kaWZ5V2VpZ2h0RXRoQnRjIhZvbk1vZGlmeVdlaWdodFVzZGNVc2R0IgloYXZlTGFiZWwiAWIiB2Fzc2V0SWQiFGNoZWNrUHJpY2VBc3NldHNTaXplIgJjYiIDYWNjIgpwcmljZUFzc2V0IgFyIgdhY3Rpb25zIgIkbCICJHMiBSRhY2MwIgUkZjBfMSICJGEiAiRpIgUkZjBfMiIecG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIiJhbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIgNmZWUiA2NmZyICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5AAAAZQAAAAABYQAAAAAAAAAACAAAAAABYgAAAAAABfXhAAAAAAABYwAAAAAAAAAAEgAAAAABZAkAATYAAAABAA3gtrOnZAAAAAAAAAFlBQAAAAFiAAAAAAFmAgAAAA5HV1h2aXJ0dWFsUE9PTAAAAAABZwIAAAAIUE9PTFNfTFAAAAAAAWgAAAAAAAAehIAAAAAAAWkJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAAFqAgAAAAJfXwAAAAABawIAAAAAAAAAAAFsAAAAAAAAAAABAAAAAAFtAAAAAAAAAAACAAAAAAFuAAAAAAAAAAADAAAAAAFvAAAAAAAAAAAEAAAAAAFwAAAAAAAAAAABAAAAAAFxAAAAAAAAAAACAAAAAAFyAAAAAAAAAAADAAAAAAFzAAAAAAAAAAABAAAAAAF0AAAAAAAAAAACAAAAAAF1AAAAAAAAAAADAAAAAAF2AAAAAAAAAAAEAAAAAAF3AAAAAAAAAAAFAAAAAAF4AAAAAAAAAAAGAAAAAAF5AAAAAAAAAAAHAAAAAAF6AAAAAAAAAAAIAAAAAAFBAAAAAAAAAAAJAAAAAAFCAAAAAAAAAAAKAAAAAAFDAAAAAAAAAAALAAAAAAFEAgAAAAtXWF9FTUlTU0lPTgAAAAABRQkABEwAAAACBQAAAAFEBQAAAANuaWwBAAAAAUYAAAAAAgAAABclc19fYWxsb3dlZExwU2NyaXB0SGFzaAEAAAABRwAAAAACAAAAHSVzX19hbGxvd2VkTHBTdGFibGVTY3JpcHRIYXNoAQAAAAFIAAAAAAIAAAAiJXNfX2FsbG93ZWRMcFN0YWJsZUFkZG9uU2NyaXB0SGFzaAEAAAABSQAAAAACAAAAESVzX19mYWN0b3J5Q29uZmlnAQAAAAFKAAAAAAIAAAAQJXNfX2xwVG9rZW5zTGlzdAEAAAABSwAAAAACAAAAFiVzJXNfX3Bvb2xfX3NjcmlwdEhhc2gBAAAAAUwAAAAAAgAAABglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAAAAAU0AAAAAAgAAABklc19fbGVnYWN5RmFjdG9yeUNvbnRyYWN0AQAAAAFOAAAAAAIAAAAPJXNfX2xlZ2FjeVBvb2xzAQAAAAFPAAAAAAIAAAAUJXNfX21hbmFnZXJQdWJsaWNLZXkBAAAAAVAAAAAAAgAAABslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBAAAAAVEAAAAAAgAAABAlc19fYWRtaW5QdWJLZXlzAQAAAAFSAAAAAAIAAAAXJXNfX2Fzc2V0c1N0b3JlQ29udHJhY3QBAAAAAVMAAAAAAgAAABolc19fdm90aW5nRW1pc3Npb25Db250cmFjdAEAAAABVAAAAAAJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAAAtwcmljZUFzc2V0cwUAAAADbmlsBQAAAAFqAQAAAAFVAAAAAAIAAAARJXNfX3ByaWNlRGVjaW1hbHMBAAAAAVYAAAAAAgAAAAwlc19fc2h1dGRvd24BAAAAAVcAAAAAAgAAABclc19fbmV4dEludGVybmFsQXNzZXRJZAEAAAABWAAAAAEAAAABWQkAASwAAAACAgAAABIlcyVzX19wb29sV2VpZ2h0X18FAAAAAVkBAAAAAVoAAAACAAAAAVkAAAACYWEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEiVzJXNfX3Bvb2xXZWlnaHRfXwUAAAABWQIAAAACX18JAAGkAAAAAQUAAAACYWEBAAAAAmFiAAAAAQAAAAJhYwkAASwAAAACAgAAACglcyVzJWRfX21hcHBpbmdzX19pbnRlcm5hbDJiYXNlQXNzZXRJZF9fCQABpAAAAAEFAAAAAmFjAQAAAAJhZAAAAAEAAAACYWUJAAEsAAAAAgIAAAAoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUAAAACYWUBAAAAAmFmAAAAAgAAAAJhZwAAAAJhaAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAglZCVkJXNfXwUAAAACYWcCAAAAAl9fBQAAAAJhaAIAAAAIX19jb25maWcBAAAAAmFpAAAAAQAAAAJhagQAAAACYWsFAAAAAmFqBAAAAAJhZwgFAAAAAmFrAAAAAl8xBAAAAAJhaAgFAAAAAmFrAAAAAl8yCQAEuQAAAAIJAARMAAAAAgIAAAAGJWQlZCVzCQAETAAAAAIJAAGkAAAAAQUAAAACYWcJAARMAAAAAgkAAaQAAAABBQAAAAJhaAkABEwAAAACAgAAABpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUAAAADbmlsBQAAAAFqAQAAAAJhbAAAAAAJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAABpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUAAAADbmlsBQAAAAFqAQAAAAJhbQAAAAEAAAACYW4JAAEsAAAAAgkAASwAAAACAgAAAAglcyVzJXNfXwUAAAACYW4CAAAAGF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbAEAAAACYW8AAAACAAAAAmFwAAAAAmFxCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACiVkJWQlcyVzX18FAAAAAmFwAgAAAAJfXwUAAAACYXECAAAAHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAEAAAACYXIAAAABAAAAAVkJAAEsAAAAAgIAAAAOJXMlc19fc3ByZWFkX18FAAAAAVkBAAAAAmFzAAAAAQAAAAJhdAkAASwAAAACCQABLAAAAAICAAAACCVzJXMlc19fBQAAAAJhdAIAAAAjX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MlBvb2xBc3NldHMBAAAAAmF1AAAAAgAAAAJhcAAAAAJhcQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAolZCVkJXMlc19fCQABpAAAAAEFAAAAAmFwAgAAAAJfXwkAAaQAAAABBQAAAAJhcQIAAAAjX19tYXBwaW5nc19fcG9vbEFzc2V0czJQb29sQ29udHJhY3QBAAAAAmF2AAAAAQAAAAJhdAkAASwAAAACCQABLAAAAAICAAAACCVzJXMlc19fBQAAAAJhdAIAAAAgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQBAAAAAmF3AAAAAQAAAAJhbgkAASwAAAACCQABLAAAAAICAAAACCVzJXMlc19fBQAAAAJhbgIAAAAgX19tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QBAAAAAmF4AAAAAgAAAAJheQAAAAJhegkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUJXMlcyVzX193eEVtaXNzaW9uX18FAAAAAmF5AgAAAAJfXwUAAAACYXoBAAAAAmFBAAAAAQAAAAFZCQABLAAAAAICAAAADSVzJXNfX2luRmVlX18FAAAAAVkBAAAAAmFCAAAAAAIAAAAQJXNfX2luRmVlRGVmYXVsdAEAAAACYUMAAAABAAAAAVkJAAEsAAAAAgIAAAAOJXMlc19fb3V0RmVlX18FAAAAAVkBAAAAAmFEAAAAAAIAAAARJXNfX291dEZlZURlZmF1bHQBAAAAAmFFAAAAAQAAAAJhRgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAAmFGCQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAACYUYBAAAAAmFHAAAAAQAAAAJhRgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAAAmFGCQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAACYUYBAAAAAmFIAAAAAQAAAAJhRgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAAmFGCQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAACYUYAAAAAAmFJAAAAAAAAAAABAAAAAAJhSgAAAAAAAAAAAgAAAAACYUsAAAAAAAAAAAMAAAAAAmFMAAAAAAAAAAAEAAAAAAJhTQAAAAAAAAAABQAAAAACYU4AAAAAAAAAAAYAAAAAAmFPAAAAAAAAAAAHAAAAAAJhUAAAAAAAAAAACAAAAAACYVEAAAAAAAAAAAkAAAAAAmFSAAAAAAAAAAAKAAAAAAJhUwAAAAAAAAAACwEAAAACYVQAAAABAAAAAmFVCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAAAmFVBQAAAAJhSgEAAAACYVYAAAABAAAAAmFVCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAAAmFVBQAAAAJhTQEAAAACYVcAAAABAAAAAmFVCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAAAmFVBQAAAAJhSQEAAAACYVgAAAABAAAAAmFVCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAAAmFVBQAAAAJhUgEAAAACYVkAAAAABAAAAAJhWgkABCIAAAABCQEAAAABVAAAAAADCQAAAQAAAAIFAAAAAmFaAgAAAAZTdHJpbmcEAAAAAmJhBQAAAAJhWgMJAAAAAAAAAgkAATEAAAABBQAAAAJiYQAAAAAAAAAAAAUAAAADbmlsCQAEtQAAAAIFAAAAAmJhBQAAAAFqBQAAAANuaWwBAAAAAmJiAAAAAAQAAAACYVoJAAQiAAAAAQkBAAAAAU8AAAAAAwkAAAEAAAACBQAAAAJhWgIAAAAGU3RyaW5nBAAAAAJiYQUAAAACYVoJAAJZAAAAAQUAAAACYmEDCQAAAQAAAAIFAAAAAmFaAgAAAARVbml0BQAAAAR1bml0CQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAAJiYwAAAAAEAAAAAmFaCQAEIgAAAAEJAQAAAAFQAAAAAAMJAAABAAAAAgUAAAACYVoCAAAABlN0cmluZwQAAAACYmEFAAAAAmFaCQACWQAAAAEFAAAAAmJhAwkAAAEAAAACBQAAAAJhWgIAAAAEVW5pdAUAAAAEdW5pdAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgAAAAACYmQJAAACAAAAAQIAAAARUGVybWlzc2lvbiBkZW5pZWQAAAAAAmJlCQAAAgAAAAECAAAAD1Rlc3QgZXJyb3IgaGVyZQEAAAACYmYAAAABAAAAAmJnAwkAAAAAAAACCAUAAAACYmcAAAAGY2FsbGVyBQAAAAR0aGlzBgUAAAACYmQBAAAAAmJoAAAAAQAAAAJiZwQAAAACYVoJAQAAAAJiYgAAAAADCQAAAQAAAAIFAAAAAmFaAgAAAApCeXRlVmVjdG9yBAAAAAJiaQUAAAACYVoDCQAAAAAAAAIIBQAAAAJiZwAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAAmJpBgUAAAACYmQDCQAAAQAAAAIFAAAAAmFaAgAAAARVbml0CQEAAAACYmYAAAABBQAAAAJiZwkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgEAAAACYmoAAAALAAAAAmJrAAAAAmJsAAAAAmJtAAAAAmJuAAAAAmJvAAAAAmJwAAAAAmJxAAAAAmJyAAAAAmJzAAAAAmJ0AAAAAmJ1CQAEuQAAAAIJAARMAAAAAgIAAAAWJXMlcyVzJXMlcyVzJXMlcyVzJXMlcwkABEwAAAACBQAAAAJiawkABEwAAAACBQAAAAJibAkABEwAAAACBQAAAAJibQkABEwAAAACBQAAAAJibgkABEwAAAACBQAAAAJibwkABEwAAAACBQAAAAJicAkABEwAAAACBQAAAAJicQkABEwAAAACBQAAAAJicgkABEwAAAACBQAAAAJicwkABEwAAAACBQAAAAJidAkABEwAAAACBQAAAAJidQUAAAADbmlsBQAAAAFqAQAAAAJidgAAAAcAAAACYmsAAAACYmwAAAACYm0AAAACYm4AAAACYm8AAAACYnAAAAACYnEJAAS5AAAAAgkABEwAAAACAgAAAAwlcyVzJXMlcyVzJXMJAARMAAAAAgUAAAACYmsJAARMAAAAAgUAAAACYmwJAARMAAAAAgUAAAACYm0JAARMAAAAAgUAAAACYm4JAARMAAAAAgUAAAACYm8JAARMAAAAAgUAAAACYnAJAARMAAAAAgUAAAACYnEFAAAAA25pbAUAAAABagEAAAACYncAAAALAAAAAVkAAAACYngAAAACYnkAAAACYnoAAAACYkEAAAACYkIAAAACYkMAAAACYkQAAAACYkUAAAACYkYAAAACYkcJAAS5AAAAAgkABEwAAAACAgAAABYlcyVkJXMlcyVzJWQlZCVkJWQlZCVzCQAETAAAAAIFAAAAAVkJAARMAAAAAgUAAAACYngJAARMAAAAAgUAAAACYnkJAARMAAAAAgUAAAACYnoJAARMAAAAAgUAAAACYkEJAARMAAAAAgkAAaQAAAABBQAAAAJiQgkABEwAAAACCQABpAAAAAEFAAAAAmJDCQAETAAAAAIJAAGkAAAAAQUAAAACYkQJAARMAAAAAgkAAaQAAAABBQAAAAJiRQkABEwAAAACCQABpAAAAAEFAAAAAmJGCQAETAAAAAIFAAAAAmJHBQAAAANuaWwFAAAAAWoBAAAAAmJIAAAAAgAAAAJiSQAAAAJiSgkABLkAAAACCQAETAAAAAICAAAABCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAAJiSQkABEwAAAACCQABpAAAAAEFAAAAAmJKBQAAAANuaWwFAAAAAWoBAAAAAmJLAAAAAQAAAAFZBAAAAAJiTAkABLUAAAACCQEAAAACYUUAAAABCQEAAAACYXMAAAABBQAAAAFZBQAAAAFqBAAAAAJhZwkAAZEAAAACBQAAAAJiTAAAAAAAAAAAAQQAAAACYWgJAAGRAAAAAgUAAAACYkwAAAAAAAAAAAIJAAS1AAAAAgkBAAAAAmFFAAAAAQkBAAAAAmFmAAAAAgUAAAACYWcFAAAAAmFoBQAAAAFqAQAAAAJiTQAAAAIAAAACYk4AAAACYk8EAAAAAmJQCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAAAJhZAAAAAEFAAAAAmJOAAAAAAAAAAAABAAAAAJiUQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAABVwAAAAAAAAAAAAAAAAAEAAAAAmJSAwkAAAAAAAACBQAAAAJiUAAAAAAAAAAAAAQAAAACYlMJAABkAAAAAgUAAAACYlEFAAAAAmJPCQAFFQAAAAMFAAAAAmJTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAABVwAAAAAFAAAAAmJTCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAACYWQAAAABBQAAAAJiTgUAAAACYlMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAmFiAAAAAQUAAAACYlMFAAAAAmJOBQAAAANuaWwGCQAFFQAAAAMFAAAAAmJQBQAAAANuaWwHBQAAAAJiUgEAAAACYlQAAAABAAAAAmJnBAAAAAJiVQkABLUAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEIgAAAAEJAQAAAAFRAAAAAAUAAAABawUAAAABagMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAJiVQkAAlgAAAABCAUAAAACYmcAAAAPY2FsbGVyUHVibGljS2V5BgQAAAACYlYJAQAAAAJiaAAAAAEFAAAAAmJnAwkAAAAAAAACBQAAAAJiVgUAAAACYlYGCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEAAAACYlcAAAADAAAAAmFGAAAAAmJYAAAAAmJZCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAAmFGCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAAmJYBQAAAAJiWQAAABkAAAACYmcBAAAAIGdldExwQXNzZXRGcm9tUG9vbEFzc2V0c1JFQURPTkxZAAAAAgAAAAJiWgAAAAJjYQQAAAACY2IJAQAAAAV2YWx1ZQAAAAEJAAQdAAAAAgUAAAAEdGhpcwkBAAAAAmFkAAAAAQUAAAACYloEAAAAAmNjAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAAmNiBgkAAAIAAAABAgAAABR0ZXN0IGVycm9yIGFzc2V0TnVtMQMJAAAAAAAAAgUAAAACY2MFAAAAAmNjBAAAAAJjZAkBAAAABXZhbHVlAAAAAQkABB0AAAACBQAAAAR0aGlzCQEAAAACYWQAAAABBQAAAAJjYQQAAAACY2UJAAQdAAAAAgUAAAAEdGhpcwkBAAAAAmFvAAAAAgUAAAACY2IFAAAAAmNkBAAAAAJjZgMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAJjZQYJAAACAAAAAQIAAAARdGVzdCBlcnJvciBzdHJpbmcDCQAAAAAAAAIFAAAAAmNmBQAAAAJjZgkABRQAAAACBQAAAANuaWwJAAQdAAAAAgUAAAAEdGhpcwkBAAAAAmFvAAAAAgUAAAACYloFAAAAAmNhCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAAIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQAAAAEAAAACY2cJAAUUAAAAAgUAAAADbmlsCQAEHQAAAAIFAAAABHRoaXMJAQAAAAJhdwAAAAEFAAAAAmNnAAAAAmJnAQAAAAtjb25zdHJ1Y3RvcgAAAAgAAAACY2gAAAACY2kAAAACYm0AAAACYm4AAAACYm8AAAACYnAAAAACY2oAAAACY2sEAAAAAmNsCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAFJAAAAAAkBAAAAAmJ2AAAABwUAAAACY2gFAAAAAmNpBQAAAAJibQUAAAACYm4FAAAAAmJvBQAAAAJicAUAAAACY2oJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAFVAAAAAAUAAAACY2sFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAADWNvbnN0cnVjdG9yVjIAAAABAAAAAmNtBAAAAAJjbAkBAAAAAmJoAAAAAQUAAAACYmcDCQAAAAAAAAIFAAAAAmNsBQAAAAJjbAQAAAACY24JAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAACY20DCQAAAAAAAAIFAAAAAmNuBQAAAAJjbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAABTAAAAAAFAAAAAmNtBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAANY29uc3RydWN0b3JWMwAAAAQAAAACYnIAAAACYnMAAAACYnQAAAACYnUEAAAAAmNsCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsBAAAAAJhVQkABLUAAAACCQEAAAACYUUAAAABCQEAAAABSQAAAAAFAAAAAWoJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAUkAAAAACQEAAAACYmoAAAALCQABkQAAAAIFAAAAAmFVAAAAAAAAAAABCQABkQAAAAIFAAAAAmFVAAAAAAAAAAACCQABkQAAAAIFAAAAAmFVAAAAAAAAAAADCQABkQAAAAIFAAAAAmFVAAAAAAAAAAAECQABkQAAAAIFAAAAAmFVAAAAAAAAAAAFCQABkQAAAAIFAAAAAmFVAAAAAAAAAAAGCQABkQAAAAIFAAAAAmFVAAAAAAAAAAAHBQAAAAJicgUAAAACYnMFAAAAAmJ0BQAAAAJidQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAANY29uc3RydWN0b3JWNAAAAAIAAAACY28AAAACY3AEAAAAAmNsCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAFNAAAAAAUAAAACY28JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAU4AAAAACQAEuQAAAAIFAAAAAmNwBQAAAAFqBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAmJnAQAAAA1jb25zdHJ1Y3RvclY1AAAAAQAAAAJjcQQAAAACY2wJAQAAAAJiaAAAAAEFAAAAAmJnAwkAAAAAAAACBQAAAAJjbAUAAAACY2wJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAVIAAAAABQAAAAJjcQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAANY29uc3RydWN0b3JWNgAAAAIAAAACY3IAAAACY3MEAAAAAmN0CQAETAAAAAIJAQAAAAJiaAAAAAEFAAAAAmJnCQAETAAAAAIDCQEAAAACIT0AAAACCQAEJgAAAAEFAAAAAmNyBQAAAAR1bml0BgIAAAAoaW52YWxpZCB2b3RpbmcgZW1pc3Npb24gY29udHJhY3QgYWRkcmVzcwUAAAADbmlsAwkAAAAAAAACBQAAAAJjdAUAAAACY3QJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAVMAAAAABQAAAAJjcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAABVAAAAAAJAAS5AAAAAgUAAAACY3MFAAAAAWoFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAACnNldE1hbmFnZXIAAAABAAAAAmN1BAAAAAJjbAkBAAAAAmJoAAAAAQUAAAACYmcDCQAAAAAAAAIFAAAAAmNsBQAAAAJjbAQAAAACY3YJAAJZAAAAAQUAAAACY3UDCQAAAAAAAAIFAAAAAmN2BQAAAAJjdgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAABUAAAAAAFAAAAAmN1BQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAAOY29uZmlybU1hbmFnZXIAAAAABAAAAAJjdwkBAAAAAmJjAAAAAAQAAAACY3gDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAACY3cGCQAAAgAAAAECAAAAEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAACY3gFAAAAAmN4BAAAAAJjeQMJAAAAAAAAAggFAAAAAmJnAAAAD2NhbGxlclB1YmxpY0tleQkBAAAABXZhbHVlAAAAAQUAAAACY3cGCQAAAgAAAAECAAAAG1lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAACY3kFAAAAAmN5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAFPAAAAAAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAJjdwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAABUAAAAAAFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAmJnAQAAAAlzZXRBZG1pbnMAAAABAAAAAmN6BAAAAAJjbAkBAAAAAmJoAAAAAQUAAAACYmcDCQAAAAAAAAIFAAAAAmNsBQAAAAJjbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAABUQAAAAAJAAS5AAAAAgUAAAACY3oFAAAAAWoFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAAD2FjdGl2YXRlTmV3UG9vbAAAAAgAAAABWQAAAAJiegAAAAJiQQAAAAJjQQAAAAJjQgAAAAJjQwAAAAJiRwAAAAJjRAQAAAACY2wJAQAAAAJiVAAAAAEFAAAAAmJnAwkAAAAAAAACBQAAAAJjbAUAAAACY2wDCQEAAAAJaXNEZWZpbmVkAAAAAQkABCIAAAABCQEAAAACYXMAAAABBQAAAAFZCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAA1Qb29sIGFkZHJlc3MgBQAAAAFZAgAAABQgYWxyZWFkeSByZWdpc3RlcmVkLgQAAAACY0UJAQAAAAJiTQAAAAIFAAAAAmJ6AAAAAAAAAAABBAAAAAJjRggFAAAAAmNFAAAAAl8xBAAAAAJjRwkBAAAAAmJNAAAAAgUAAAACYkEDCAUAAAACY0UAAAACXzMAAAAAAAAAAAIAAAAAAAAAAAEEAAAAAmNICAUAAAACY0cAAAACXzEEAAAAAmNJCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPxAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAABWQkAASwAAAACAgAAAClObyBzY3JpcHQgaGFzIGJlZW4gZm91bmQgb24gcG9vbCBhY2NvdW50IAUAAAABWQQAAAACY0oJAQAAABFAZXh0ck5hdGl2ZSgxMDU3KQAAAAEJAQAAAAFLAAAAAAQAAAACY0sJAAQdAAAAAgUAAAAEdGhpcwkBAAAAAmFmAAAAAgkAAaQAAAABBQAAAAJjRgkAAaQAAAABBQAAAAJjSAMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAJjSwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAABVBvb2wgBQAAAAJiegIAAAABLwUAAAACYkECAAAAHCBoYXMgYWxyZWFkeSBiZWVuIGFjdGl2YXRlZC4EAAAAAmNMCQEAAAAFdmFsdWUAAAABCQAEHQAAAAIFAAAABHRoaXMJAQAAAAJhZgAAAAIJAAGkAAAAAQUAAAACY0YJAAGkAAAAAQUAAAACY0gEAAAAAmNNAwkAAAAAAAACBQAAAAJiegIAAAAFV0FWRVMFAAAAAWkJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQkAAlkAAAABBQAAAAJiegAAAAhkZWNpbWFscwAAAAAAAAAAAAAAAAAAAAAAAAUAAAAERE9XTgQAAAACY04DCQAAAAAAAAIFAAAAAmJBAgAAAAVXQVZFUwUAAAABaQkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAACAkBAAAABXZhbHVlAAAAAQkAA+wAAAABCQACWQAAAAEFAAAAAmJBAAAACGRlY2ltYWxzAAAAAAAAAAAAAAAAAAAAAAAABQAAAARET1dOBAAAAAJjTwkABEIAAAAFBQAAAAJjQQUAAAACY0IAAAAAAAAAAAEAAAAAAAAAAAgGBAAAAAJieQkABDgAAAABBQAAAAJjTwQAAAACY1AJAAJYAAAAAQUAAAACYnkEAAAAAmNRCQAD/AAAAAQJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAAVkCAAAACGFjdGl2YXRlCQAETAAAAAIFAAAAAmJ6CQAETAAAAAIFAAAAAmJBBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAACY1EFAAAAAmNRAwkBAAAAAiE9AAAAAgUAAAACY1ECAAAAB3N1Y2Nlc3MJAAACAAAAAQIAAAAjUG9vbCBpbml0aWFsaXNhdGlvbiBlcnJvciBoYXBwZW5lZC4EAAAAAmNxCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAACYUUAAAABCQEAAAABUgAAAAAEAAAAAmNSCQAD/AAAAAQFAAAAAmNxAgAAAA5jcmVhdGVPclVwZGF0ZQkABEwAAAACBQAAAAJjUAkABEwAAAACBQAAAAJjQQkABEwAAAACBwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmNSBQAAAAJjUgQAAAACY1MJAAP8AAAABAUAAAACY3ECAAAACGFkZExhYmVsCQAETAAAAAIFAAAAAmNQCQAETAAAAAIFAAAAAWcFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJjUwUAAAACY1MEAAAAAmNUCQAD/AAAAAQFAAAAAmNxAgAAAAdzZXRMb2dvCQAETAAAAAIFAAAAAmNQCQAETAAAAAIFAAAAAmNEBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAACY1QFAAAAAmNUBAAAAAJjVQkAA/wAAAAEBQAAAAJjcQIAAAANYWRkQXNzZXRzTGluawkABEwAAAACBQAAAAJiegkABEwAAAACBQAAAAJiQQkABEwAAAACBQAAAAJjUAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmNVBQAAAAJjVQQAAAACY1YJAAP8AAAABAUAAAACY3ECAAAAGGluY3JlYXNlQXNzZXRQb29sc051bWJlcgkABEwAAAACBQAAAAJiegUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmNWBQAAAAJjVgkABRQAAAACCQAETgAAAAIJAAROAAAAAggFAAAAAmNFAAAAAl8yCAUAAAACY0cAAAACXzIJAARMAAAAAgUAAAACY08JAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAJieQAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYWYAAAACCQABpAAAAAEFAAAAAmNGCQABpAAAAAEFAAAAAmNICQEAAAACYncAAAALBQAAAAFZCQABpAAAAAEFAAAAAWwFAAAAAmNQBQAAAAJiegUAAAACYkEFAAAAAmNNBQAAAAJjTgUAAAACY0YFAAAAAmNIBQAAAAFpBQAAAAJiRwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYW0AAAABBQAAAAJjUAkBAAAAAmJIAAAAAgUAAAACY0YFAAAAAmNICQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAJhbwAAAAIJAAGkAAAAAQUAAAACY0YJAAGkAAAAAQUAAAACY0gJAAEsAAAAAgIAAAAEJXNfXwUAAAACY1AJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAmFzAAAAAQUAAAABWQkBAAAAAmJIAAAAAgUAAAACY0YFAAAAAmNICQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAJhdQAAAAIFAAAAAmNGBQAAAAJjSAUAAAABWQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYXcAAAABBQAAAAJjUAUAAAABWQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYXYAAAABBQAAAAFZBQAAAAJjUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAVgAAAABBQAAAAFZBQAAAAJjQwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAmFyAAAAAQUAAAABWQUAAAABaAUAAAADbmlsBQAAAAJjUAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAACm1hbmFnZVBvb2wAAAACAAAAAVkAAAACY1cEAAAAAmNsCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsBAAAAAJjSwkBAAAAAmJLAAAAAQUAAAABWQQAAAACYngJAAGRAAAAAgUAAAACY0sFAAAAAXQEAAAAAmNQCQABkQAAAAIFAAAAAmNLBQAAAAF1BAAAAAJiegkAAZEAAAACBQAAAAJjSwUAAAABdgQAAAACYkEJAAGRAAAAAgUAAAACY0sFAAAAAXcEAAAAAmNNCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAACY0sFAAAAAXgEAAAAAmNOCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAACY0sFAAAAAXkEAAAAAmNGCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAACY0sFAAAAAXoEAAAAAmNICQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAACY0sFAAAAAUEEAAAAAmNYCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAACY0sFAAAAAUIEAAAAAmJHCQABkQAAAAIFAAAAAmNLBQAAAAFDCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAJhZgAAAAIJAAGkAAAAAQUAAAACY0YJAAGkAAAAAQUAAAACY0gJAQAAAAJidwAAAAsFAAAAAVkJAAGkAAAAAQUAAAACY1cFAAAAAmNQBQAAAAJiegUAAAACYkEFAAAAAmNNBQAAAAJjTgUAAAACY0YFAAAAAmNIBQAAAAJjWAUAAAACYkcFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAABGVtaXQAAAABAAAAAmNZBAAAAAJjWggFAAAAAmJnAAAABmNhbGxlcgQAAAACZGEIBQAAAAJiZwAAAAxvcmlnaW5DYWxsZXIEAAAAAmRiCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQkBAAAAAmF2AAAAAQkABCUAAAABBQAAAAJjWgIAAAAdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4EAAAAAmRjCQACWQAAAAEFAAAAAmRiBAAAAAJjcAkABLUAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEIgAAAAEJAQAAAAFOAAAAAAUAAAABawUAAAABagQAAAACY28JAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCIAAAABCQEAAAABTQAAAAACAAAAKExlZ2FjeSBmYWN0b3J5IGNvbnRyYWN0IGRvZXMgbm90IGV4aXN0cy4DCQAAZwAAAAIAAAAAAAAAAAAFAAAAAmNZBQAAAANuaWwDCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgUAAAACY3AJAAQlAAAAAQUAAAACY1oJAAUUAAAAAgUAAAADbmlsBQAAAAJjbwkABRQAAAACCQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAACZGMFAAAAAmNZBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAACYmcAAAAGY2FsbGVyBQAAAAJjWQUAAAACZGMFAAAAA25pbAIAAAAHc3VjY2VzcwAAAAJiZwEAAAAEYnVybgAAAAEAAAACZGQEAAAAAmNaCAUAAAACYmcAAAAGY2FsbGVyBAAAAAJkYQgFAAAAAmJnAAAADG9yaWdpbkNhbGxlcgQAAAACZGUJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAmJnAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAJkZgkBAAAABXZhbHVlAAAAAQgFAAAAAmRlAAAABmFtb3VudAQAAAACZGcJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAAmRlAAAAB2Fzc2V0SWQEAAAAAmRoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQkBAAAAAmF2AAAAAQkABCUAAAABBQAAAAJjWgIAAAAdSW52YWxpZCBMUCBhZGRyZXNzIGNhbGxlZCBtZS4DCQEAAAACIT0AAAACBQAAAAJkZwUAAAACZGgJAAACAAAAAQIAAAAVSW52YWxpZCBhc3NldCBwYXNzZWQuAwkBAAAAAiE9AAAAAgUAAAACZGQFAAAAAmRmCQAAAgAAAAECAAAAFkludmFsaWQgYW1vdW50IHBhc3NlZC4EAAAAAmRjCQACWQAAAAEFAAAAAmRoCQAFFAAAAAIJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAJkYwUAAAACZGQFAAAAA25pbAIAAAAHc3VjY2VzcwAAAAJiZwEAAAAMbW9kaWZ5V2VpZ2h0AAAAAgAAAAJieQAAAAJkaQQAAAACY2wDCQAAAAAAAAIJAAJYAAAAAQgIBQAAAAJiZwAAAAZjYWxsZXIAAAAFYnl0ZXMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAAVMAAAAAAgAAAAAGCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsBAAAAAJhdAkBAAAAAmFFAAAAAQkBAAAAAmF3AAAAAQUAAAACYnkEAAAAAmRqCQEAAAABWAAAAAEFAAAAAmF0BAAAAAJkawkBAAAAAVgAAAABBQAAAAFmBAAAAAJkbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB8AAAABBQAAAAJkawAAAAAAAAAAAAQAAAACY0MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQfAAAAAQUAAAACZGoAAAAAAAAAAAAEAAAAAmRtBQAAAAJkaQQAAAACYVUJAAS1AAAAAgkBAAAAAmFFAAAAAQkBAAAAAUkAAAAABQAAAAFqBAAAAAJjaAkBAAAAAmFXAAAAAQUAAAACYVUEAAAAAmRuCQAD/AAAAAQFAAAAAmNoAgAAAA5vbk1vZGlmeVdlaWdodAkABEwAAAACBQAAAAJieQkABEwAAAACBQAAAAJhdAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmRuBQAAAAJkbgQAAAACZG8DCQAAAAAAAAIFAAAAAmRsAAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAAmRrAAAAAAAAAAAABQAAAANuaWwEAAAAAmRwCQEAAAABWgAAAAIFAAAAAmF0AAAAAAAAAAAABAAAAAJkcQkABB8AAAABBQAAAAJkcAQAAAACZHIDCQAAAAAAAAIFAAAAAmRxBQAAAAR1bml0BQAAAANuaWwJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQUAAAACZHAFAAAAA25pbAkABE4AAAACCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAAmRqBQAAAAJkbQUAAAADbmlsBQAAAAJkbwUAAAACZHIJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAANbW9kaWZ5V2VpZ2h0cwAAAAQAAAACZHMAAAACZHQAAAACZHUAAAACZHYEAAAAAmNsCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsBAAAAAJkdwkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAAUFAAAAAWUAAAAAAAAAAGQEAAAAAmR4CQAAaQAAAAIJAABoAAAAAgAAAAAAAAAABQUAAAABZQAAAAAAAAAAZAQAAAACZHkJAABpAAAAAgkAAGgAAAACAAAAAAAAAAAFBQAAAAFlAAAAAAAAAABkBAAAAAJhVQkABLUAAAACCQEAAAACYUUAAAABCQEAAAABSQAAAAAFAAAAAWoEAAAAAmR6CQEAAAACYVcAAAABBQAAAAJhVQQAAAACZEEJAQAAAAJhWAAAAAEFAAAAAmFVBAAAAAJkQgkBAAAAAVgAAAABBQAAAAJkcwQAAAACZEMJAQAAAAFYAAAAAQUAAAACZHQEAAAAAmRECQEAAAABWAAAAAEFAAAAAmR1BAAAAAJkRQkBAAAAAVgAAAABBQAAAAJkdgQAAAACZEYJAQAAAAJhSAAAAAEFAAAAAmRCBAAAAAJkRwkBAAAAAmFIAAAAAQUAAAACZEMEAAAAAmRICQAAZQAAAAIFAAAAAmRGBQAAAAJkeQQAAAACZEkJAABlAAAAAgUAAAACZEcFAAAAAmR5AwkAAGcAAAACAAAAAAAAAAAABQAAAAJkSAkAAAIAAAABCQABLAAAAAICAAAAFmludmFsaWQgYnRjV2VpZ2h0TmV3OiAJAAGkAAAAAQUAAAACZEgDCQAAZwAAAAIAAAAAAAAAAAAFAAAAAmRJCQAAAgAAAAEJAAEsAAAAAgIAAAAWaW52YWxpZCBldGhXZWlnaHROZXc6IAkAAaQAAAABBQAAAAJkSQQAAAACZEoJAQAAAAJhRQAAAAEJAQAAAAJhdgAAAAEFAAAAAmRzBAAAAAJkSwkBAAAAAmFFAAAAAQkBAAAAAmF2AAAAAQUAAAACZHQEAAAAAmRMCQEAAAACYUUAAAABCQEAAAACYXYAAAABBQAAAAJkdQQAAAACZE0JAQAAAAJhRQAAAAEJAQAAAAJhdgAAAAEFAAAAAmR2BAAAAAJkTgkAA/wAAAAEBQAAAAJkegIAAAAOb25Nb2RpZnlXZWlnaHQJAARMAAAAAgUAAAACZEoJAARMAAAAAgUAAAACZHMFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJkTgUAAAACZE4EAAAAAmRPCQAD/AAAAAQFAAAAAmR6AgAAAA5vbk1vZGlmeVdlaWdodAkABEwAAAACBQAAAAJkSwkABEwAAAACBQAAAAJkdAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAAmRPBQAAAAJkTwQAAAACZFAJAAP8AAAABAUAAAACZHoCAAAADm9uTW9kaWZ5V2VpZ2h0CQAETAAAAAIFAAAAAmRMCQAETAAAAAIFAAAAAmR1BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAACZFAFAAAAAmRQBAAAAAJkUQkAA/wAAAAEBQAAAAJkegIAAAAOb25Nb2RpZnlXZWlnaHQJAARMAAAAAgUAAAACZE0JAARMAAAAAgUAAAACZHYFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJkUQUAAAACZFEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAAmRCBQAAAAJkSAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAACZEMFAAAAAmRJCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAJkRAUAAAACZHcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAAmRFBQAAAAJkeAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAVoAAAACBQAAAAJkcwAAAAAAAAAAAAUAAAACZEYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAFaAAAAAgUAAAACZHQAAAAAAAAAAAAFAAAAAmRHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAABWgAAAAIFAAAAAmR1AAAAAAAAAAAABQAAAAJkdwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAVoAAAACBQAAAAJkdgAAAAAAAAAAAAUAAAACZHgFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAmJnAQAAABhjaGVja1d4RW1pc3Npb25Qb29sTGFiZWwAAAACAAAAAmF5AAAAAmF6BAAAAAJkUgQAAAACYVoJAAQgAAAAAQkBAAAAAmF4AAAAAgUAAAACYXkFAAAAAmF6AwkAAAEAAAACBQAAAAJhWgIAAAAHQm9vbGVhbgQAAAACZFMFAAAAAmFaBQAAAAJkUwcJAAUUAAAAAgUAAAADbmlsBQAAAAJkUgAAAAJiZwEAAAAWc2V0V3hFbWlzc2lvblBvb2xMYWJlbAAAAAIAAAACYXkAAAACYXoEAAAAAmNsCQEAAAACYlQAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsCQAFFAAAAAIJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAAAJheAAAAAIFAAAAAmF5BQAAAAJhegYFAAAAA25pbAUAAAAEdW5pdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAACYmcBAAAAGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwAAAACAAAAAmF5AAAAAmF6BAAAAAJjbAMJAQAAAAJiZgAAAAEFAAAAAmJnBgkBAAAAAmJUAAAAAQUAAAACYmcDCQAAAAAAAAIFAAAAAmNsBQAAAAJjbAkABRQAAAACCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAAAJheAAAAAIFAAAAAmF5BQAAAAJhegUAAAADbmlsBQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAASb25WZXJpZmljYXRpb25Mb3NzAAAAAQAAAAJkVAQAAAACY2wDCQAAAAAAAAIJAAJYAAAAAQgIBQAAAAJiZwAAAAZjYWxsZXIAAAAFYnl0ZXMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAAVIAAAAAAgAAAAAGCQEAAAACYmgAAAABBQAAAAJiZwMJAAAAAAAAAgUAAAACY2wFAAAAAmNsBAAAAAJjcwkBAAAAAmFZAAAAAAQAAAACZFUDCQAAZgAAAAIJAAGQAAAAAQUAAAACY3MAAAAAAAAAAAAGCQAAAgAAAAECAAAAFGludmFsaWQgcHJpY2UgYXNzZXRzAwkAAAAAAAACBQAAAAJkVQUAAAACZFUKAQAAAAJkVgAAAAIAAAACZFcAAAACZFgEAAAAAmRZCQAD/AAAAAQFAAAABHRoaXMCAAAAGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwJAARMAAAAAgUAAAACZFQJAARMAAAAAgUAAAACZFgFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAJkWQUAAAACZFkFAAAABHVuaXQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAAAAAJkWgoAAAAAAmVhBQAAAAJjcwoAAAAAAmViCQABkAAAAAEFAAAAAmVhCgAAAAACZWMFAAAABHVuaXQKAQAAAAJlZAAAAAIAAAACZWUAAAACZWYDCQAAZwAAAAIFAAAAAmVmBQAAAAJlYgUAAAACZWUJAQAAAAJkVgAAAAIFAAAAAmVlCQABkQAAAAIFAAAAAmVhBQAAAAJlZgoBAAAAAmVnAAAAAgAAAAJlZQAAAAJlZgMJAABnAAAAAgUAAAACZWYFAAAAAmViBQAAAAJlZQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA0CQEAAAACZWcAAAACCQEAAAACZWQAAAACCQEAAAACZWQAAAACCQEAAAACZWQAAAACCQEAAAACZWQAAAACBQAAAAJlYwAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAMJAAAAAAAAAgUAAAACZFoFAAAAAmRaCQAFFAAAAAIFAAAAA25pbAUAAAAEdW5pdAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAJiZwEAAAAoaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWRSRUFET05MWQAAAAEAAAABWQQAAAACY0sJAQAAAAJiSwAAAAEFAAAAAVkEAAAAAmFqCQAFFAAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAJjSwUAAAABegkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAAmNLBQAAAAFBBAAAAAJlaAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABCAAAAABCQEAAAACYWkAAAABBQAAAAJhagcEAAAAAmVpCQEAAAALdmFsdWVPckVsc2UAAAACCQAEIAAAAAEJAQAAAAJhbAAAAAAHCQAFFAAAAAIFAAAAA25pbAMFAAAAAmVpBgUAAAACZWgAAAACYmcBAAAAEGdldEluRmVlUkVBRE9OTFkAAAABAAAAAVkEAAAAAmVqCQEAAAACYlcAAAADCQEAAAACYUEAAAABBQAAAAFZCQEAAAACYUIAAAAAAAAAAAAAAAAACQAFFAAAAAIFAAAAA25pbAUAAAACZWoAAAACYmcBAAAAEWdldE91dEZlZVJFQURPTkxZAAAAAQAAAAFZBAAAAAJlagkBAAAAAmJXAAAAAwkBAAAAAmFDAAAAAQUAAAABWQkBAAAAAmFEAAAAAAkAAGsAAAADAAAAAAAAAAAKBQAAAAFiAAAAAAAAACcQCQAFFAAAAAIFAAAAA25pbAUAAAACZWoAAAACYmcBAAAAFWdldFBvb2xTdGF0dXNSRUFET05MWQAAAAEAAAABWQQAAAACYkwJAAS1AAAAAgkBAAAAAmFFAAAAAQkBAAAAAmFzAAAAAQUAAAABWQUAAAABagQAAAACYWcJAAGRAAAAAgUAAAACYkwAAAAAAAAAAAEEAAAAAmFoCQABkQAAAAIFAAAAAmJMAAAAAAAAAAACBAAAAAJlawkABLUAAAACCQEAAAACYUUAAAABCQEAAAACYWYAAAACBQAAAAJhZwUAAAACYWgFAAAAAWoJAAUUAAAAAgUAAAADbmlsCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAACZWsFAAAAAXQAAAABAAAAAmVsAQAAAAJlbQAAAAAEAAAAAmVuBAAAAAJhWgkBAAAAAmJiAAAAAAMJAAABAAAAAgUAAAACYVoCAAAACkJ5dGVWZWN0b3IEAAAAAmJpBQAAAAJhWgUAAAACYmkDCQAAAQAAAAIFAAAAAmFaAgAAAARVbml0CAUAAAACZWwAAAAPc2VuZGVyUHVibGljS2V5CQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQAB9AAAAAMIBQAAAAJlbAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmVsAAAABnByb29mcwAAAAAAAAAAAAUAAAACZW5KMOZx", "chainId": 84, "height": 2433311, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AhurH4xKxZAg3sVsEucZj84DM3g9pXTDbDQNHTGFskJg Next: 4RSfCGht3J7fR8qDSrkGwUNwmvFW3gZY4p5VPtFvx4Wz Diff:
OldNewDifferences
336336
337337 @Callable(bg)
338338 func getLpAssetFromPoolAssetsREADONLY (bZ,ca) = {
339- let cb = getString(this, ao(bZ, ca))
339+ let cb = value(getString(this, ad(bZ)))
340340 let cc = if (isDefined(cb))
341341 then true
342- else throw("test error string")
342+ else throw("test error assetNum1")
343343 if ((cc == cc))
344- then $Tuple2(nil, getString(this, ao(bZ, ca)))
344+ then {
345+ let cd = value(getString(this, ad(ca)))
346+ let ce = getString(this, ao(cb, cd))
347+ let cf = if (isDefined(ce))
348+ then true
349+ else throw("test error string")
350+ if ((cf == cf))
351+ then $Tuple2(nil, getString(this, ao(bZ, ca)))
352+ else throw("Strict value is not equal to itself.")
353+ }
345354 else throw("Strict value is not equal to itself.")
346355 }
347356
348357
349358
350359 @Callable(bg)
351-func getPoolAddressFromLpAssetREADONLY (cd) = $Tuple2(nil, getString(this, aw(cd)))
360+func getPoolAddressFromLpAssetREADONLY (cg) = $Tuple2(nil, getString(this, aw(cg)))
352361
353362
354363
355364 @Callable(bg)
356-func constructor (ce,cf,bm,bn,bo,bp,cg,ch) = {
357- let ci = bh(bg)
358- if ((ci == ci))
359- then [StringEntry(I(), bv(ce, cf, bm, bn, bo, bp, cg)), IntegerEntry(U(), ch)]
365+func constructor (ch,ci,bm,bn,bo,bp,cj,ck) = {
366+ let cl = bh(bg)
367+ if ((cl == cl))
368+ then [StringEntry(I(), bv(ch, ci, bm, bn, bo, bp, cj)), IntegerEntry(U(), ck)]
360369 else throw("Strict value is not equal to itself.")
361370 }
362371
363372
364373
365374 @Callable(bg)
366-func constructorV2 (cj) = {
367- let ci = bh(bg)
368- if ((ci == ci))
375+func constructorV2 (cm) = {
376+ let cl = bh(bg)
377+ if ((cl == cl))
369378 then {
370- let ck = addressFromPublicKey(fromBase58String(cj))
371- if ((ck == ck))
372- then [StringEntry(L(), cj)]
379+ let cn = addressFromPublicKey(fromBase58String(cm))
380+ if ((cn == cn))
381+ then [StringEntry(L(), cm)]
373382 else throw("Strict value is not equal to itself.")
374383 }
375384 else throw("Strict value is not equal to itself.")
379388
380389 @Callable(bg)
381390 func constructorV3 (br,bs,bt,bu) = {
382- let ci = bh(bg)
383- if ((ci == ci))
391+ let cl = bh(bg)
392+ if ((cl == cl))
384393 then {
385394 let aU = split(aE(I()), j)
386395 [StringEntry(I(), bj(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], br, bs, bt, bu))]
391400
392401
393402 @Callable(bg)
394-func constructorV4 (cl,cm) = {
395- let ci = bh(bg)
396- if ((ci == ci))
397- then [StringEntry(M(), cl), StringEntry(N(), makeString(cm, j))]
403+func constructorV4 (co,cp) = {
404+ let cl = bh(bg)
405+ if ((cl == cl))
406+ then [StringEntry(M(), co), StringEntry(N(), makeString(cp, j))]
398407 else throw("Strict value is not equal to itself.")
399408 }
400409
401410
402411
403412 @Callable(bg)
404-func constructorV5 (cn) = {
405- let ci = bh(bg)
406- if ((ci == ci))
407- then [StringEntry(R(), cn)]
413+func constructorV5 (cq) = {
414+ let cl = bh(bg)
415+ if ((cl == cl))
416+ then [StringEntry(R(), cq)]
408417 else throw("Strict value is not equal to itself.")
409418 }
410419
411420
412421
413422 @Callable(bg)
414-func constructorV6 (co,cp) = {
415- let cq = [bh(bg), if ((addressFromString(co) != unit))
423+func constructorV6 (cr,cs) = {
424+ let ct = [bh(bg), if ((addressFromString(cr) != unit))
416425 then true
417426 else "invalid voting emission contract address"]
418- if ((cq == cq))
419- then [StringEntry(S(), co), StringEntry(T(), makeString(cp, j))]
427+ if ((ct == ct))
428+ then [StringEntry(S(), cr), StringEntry(T(), makeString(cs, j))]
420429 else throw("Strict value is not equal to itself.")
421430 }
422431
423432
424433
425434 @Callable(bg)
426-func setManager (cr) = {
427- let ci = bh(bg)
428- if ((ci == ci))
435+func setManager (cu) = {
436+ let cl = bh(bg)
437+ if ((cl == cl))
429438 then {
430- let cs = fromBase58String(cr)
431- if ((cs == cs))
432- then [StringEntry(P(), cr)]
439+ let cv = fromBase58String(cu)
440+ if ((cv == cv))
441+ then [StringEntry(P(), cu)]
433442 else throw("Strict value is not equal to itself.")
434443 }
435444 else throw("Strict value is not equal to itself.")
439448
440449 @Callable(bg)
441450 func confirmManager () = {
442- let ct = bc()
443- let cu = if (isDefined(ct))
451+ let cw = bc()
452+ let cx = if (isDefined(cw))
444453 then true
445454 else throw("No pending manager")
446- if ((cu == cu))
455+ if ((cx == cx))
447456 then {
448- let cv = if ((bg.callerPublicKey == value(ct)))
457+ let cy = if ((bg.callerPublicKey == value(cw)))
449458 then true
450459 else throw("You are not pending manager")
451- if ((cv == cv))
452- then [StringEntry(O(), toBase58String(value(ct))), DeleteEntry(P())]
460+ if ((cy == cy))
461+ then [StringEntry(O(), toBase58String(value(cw))), DeleteEntry(P())]
453462 else throw("Strict value is not equal to itself.")
454463 }
455464 else throw("Strict value is not equal to itself.")
458467
459468
460469 @Callable(bg)
461-func setAdmins (cw) = {
462- let ci = bh(bg)
463- if ((ci == ci))
464- then [StringEntry(Q(), makeString(cw, j))]
470+func setAdmins (cz) = {
471+ let cl = bh(bg)
472+ if ((cl == cl))
473+ then [StringEntry(Q(), makeString(cz, j))]
465474 else throw("Strict value is not equal to itself.")
466475 }
467476
468477
469478
470479 @Callable(bg)
471-func activateNewPool (Y,bz,bA,cx,cy,cz,bG,cA) = {
472- let ci = bT(bg)
473- if ((ci == ci))
480+func activateNewPool (Y,bz,bA,cA,cB,cC,bG,cD) = {
481+ let cl = bT(bg)
482+ if ((cl == cl))
474483 then if (isDefined(getString(as(Y))))
475484 then throw((("Pool address " + Y) + " already registered."))
476485 else {
477- let cB = bM(bz, 1)
478- let cC = cB._1
479- let cD = bM(bA, if (cB._3)
486+ let cE = bM(bz, 1)
487+ let cF = cE._1
488+ let cG = bM(bA, if (cE._3)
480489 then 2
481490 else 1)
482- let cE = cD._1
483- let cF = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
484- let cG = getBinaryValue(K())
485- let cH = getString(this, af(toString(cC), toString(cE)))
486- if (isDefined(cH))
491+ let cH = cG._1
492+ let cI = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
493+ let cJ = getBinaryValue(K())
494+ let cK = getString(this, af(toString(cF), toString(cH)))
495+ if (isDefined(cK))
487496 then throw((((("Pool " + bz) + "/") + bA) + " has already been activated."))
488497 else {
489- let cI = value(getString(this, af(toString(cC), toString(cE))))
490- let cJ = if ((bz == "WAVES"))
498+ let cL = value(getString(this, af(toString(cF), toString(cH))))
499+ let cM = if ((bz == "WAVES"))
491500 then i
492501 else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
493- let cK = if ((bA == "WAVES"))
502+ let cN = if ((bA == "WAVES"))
494503 then i
495504 else pow(10, 0, value(assetInfo(fromBase58String(bA))).decimals, 0, 0, DOWN)
496- let cL = Issue(cx, cy, 1, 8, true)
497- let by = calculateAssetId(cL)
498- let cM = toBase58String(by)
499- let cN = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
500- if ((cN == cN))
501- then if ((cN != "success"))
505+ let cO = Issue(cA, cB, 1, 8, true)
506+ let by = calculateAssetId(cO)
507+ let cP = toBase58String(by)
508+ let cQ = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
509+ if ((cQ == cQ))
510+ then if ((cQ != "success"))
502511 then throw("Pool initialisation error happened.")
503512 else {
504- let cn = addressFromStringValue(aE(R()))
505- let cO = invoke(cn, "createOrUpdate", [cM, cx, false], nil)
506- if ((cO == cO))
513+ let cq = addressFromStringValue(aE(R()))
514+ let cR = invoke(cq, "createOrUpdate", [cP, cA, false], nil)
515+ if ((cR == cR))
507516 then {
508- let cP = invoke(cn, "addLabel", [cM, g], nil)
509- if ((cP == cP))
517+ let cS = invoke(cq, "addLabel", [cP, g], nil)
518+ if ((cS == cS))
510519 then {
511- let cQ = invoke(cn, "setLogo", [cM, cA], nil)
512- if ((cQ == cQ))
520+ let cT = invoke(cq, "setLogo", [cP, cD], nil)
521+ if ((cT == cT))
513522 then {
514- let cR = invoke(cn, "addAssetsLink", [bz, bA, cM], nil)
515- if ((cR == cR))
523+ let cU = invoke(cq, "addAssetsLink", [bz, bA, cP], nil)
524+ if ((cU == cU))
516525 then {
517- let cS = invoke(cn, "increaseAssetPoolsNumber", [bz], nil)
518- if ((cS == cS))
519- then $Tuple2(((cB._2 ++ cD._2) ++ [cL, Burn(by, 1), StringEntry(af(toString(cC), toString(cE)), bw(Y, toString(l), cM, bz, bA, cJ, cK, cC, cE, i, bG)), StringEntry(am(cM), bH(cC, cE)), StringEntry(ao(toString(cC), toString(cE)), ("%s__" + cM)), StringEntry(as(Y), bH(cC, cE)), StringEntry(au(cC, cE), Y), StringEntry(aw(cM), Y), StringEntry(av(Y), cM), IntegerEntry(X(Y), cz), IntegerEntry(ar(Y), h)]), cM)
526+ let cV = invoke(cq, "increaseAssetPoolsNumber", [bz], nil)
527+ if ((cV == cV))
528+ then $Tuple2(((cE._2 ++ cG._2) ++ [cO, Burn(by, 1), StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(l), cP, bz, bA, cM, cN, cF, cH, i, bG)), StringEntry(am(cP), bH(cF, cH)), StringEntry(ao(toString(cF), toString(cH)), ("%s__" + cP)), StringEntry(as(Y), bH(cF, cH)), StringEntry(au(cF, cH), Y), StringEntry(aw(cP), Y), StringEntry(av(Y), cP), IntegerEntry(X(Y), cC), IntegerEntry(ar(Y), h)]), cP)
520529 else throw("Strict value is not equal to itself.")
521530 }
522531 else throw("Strict value is not equal to itself.")
536545
537546
538547 @Callable(bg)
539-func managePool (Y,cT) = {
540- let ci = bh(bg)
541- if ((ci == ci))
548+func managePool (Y,cW) = {
549+ let cl = bh(bg)
550+ if ((cl == cl))
542551 then {
543- let cH = bK(Y)
544- let bx = cH[t]
545- let cM = cH[u]
546- let bz = cH[v]
547- let bA = cH[w]
548- let cJ = parseIntValue(cH[x])
549- let cK = parseIntValue(cH[y])
550- let cC = parseIntValue(cH[z])
551- let cE = parseIntValue(cH[A])
552- let cU = parseIntValue(cH[B])
553- let bG = cH[C]
554-[StringEntry(af(toString(cC), toString(cE)), bw(Y, toString(cT), cM, bz, bA, cJ, cK, cC, cE, cU, bG))]
552+ let cK = bK(Y)
553+ let bx = cK[t]
554+ let cP = cK[u]
555+ let bz = cK[v]
556+ let bA = cK[w]
557+ let cM = parseIntValue(cK[x])
558+ let cN = parseIntValue(cK[y])
559+ let cF = parseIntValue(cK[z])
560+ let cH = parseIntValue(cK[A])
561+ let cX = parseIntValue(cK[B])
562+ let bG = cK[C]
563+[StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(cW), cP, bz, bA, cM, cN, cF, cH, cX, bG))]
555564 }
556565 else throw("Strict value is not equal to itself.")
557566 }
559568
560569
561570 @Callable(bg)
562-func emit (cV) = {
563- let cW = bg.caller
564- let cX = bg.originCaller
565- let cY = valueOrErrorMessage(getString(av(toString(cW))), "Invalid LP address called me.")
566- let cZ = fromBase58String(cY)
567- let cm = split(valueOrElse(getString(N()), k), j)
568- let cl = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
569- if ((0 >= cV))
571+func emit (cY) = {
572+ let cZ = bg.caller
573+ let da = bg.originCaller
574+ let db = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
575+ let dc = fromBase58String(db)
576+ let cp = split(valueOrElse(getString(N()), k), j)
577+ let co = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
578+ if ((0 >= cY))
570579 then nil
571- else if (containsElement(cm, toString(cW)))
572- then $Tuple2(nil, cl)
573- else $Tuple2([Reissue(cZ, cV, true), ScriptTransfer(bg.caller, cV, cZ)], "success")
580+ else if (containsElement(cp, toString(cZ)))
581+ then $Tuple2(nil, co)
582+ else $Tuple2([Reissue(dc, cY, true), ScriptTransfer(bg.caller, cY, dc)], "success")
574583 }
575584
576585
577586
578587 @Callable(bg)
579-func burn (da) = {
580- let cW = bg.caller
581- let cX = bg.originCaller
582- let db = value(bg.payments[0])
583- let dc = value(db.amount)
584- let dd = toBase58String(value(db.assetId))
585- let de = valueOrErrorMessage(getString(av(toString(cW))), "Invalid LP address called me.")
586- if ((dd != de))
588+func burn (dd) = {
589+ let cZ = bg.caller
590+ let da = bg.originCaller
591+ let de = value(bg.payments[0])
592+ let df = value(de.amount)
593+ let dg = toBase58String(value(de.assetId))
594+ let dh = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
595+ if ((dg != dh))
587596 then throw("Invalid asset passed.")
588- else if ((da != dc))
597+ else if ((dd != df))
589598 then throw("Invalid amount passed.")
590599 else {
591- let cZ = fromBase58String(de)
592- $Tuple2([Burn(cZ, da)], "success")
600+ let dc = fromBase58String(dh)
601+ $Tuple2([Burn(dc, dd)], "success")
593602 }
594603 }
595604
596605
597606
598607 @Callable(bg)
599-func modifyWeight (by,df) = {
600- let ci = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
608+func modifyWeight (by,di) = {
609+ let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
601610 then true
602611 else bh(bg)
603- if ((ci == ci))
612+ if ((cl == cl))
604613 then {
605614 let at = aE(aw(by))
606- let dg = X(at)
607- let dh = X(f)
608- let di = valueOrElse(getInteger(dh), 0)
609- let cz = valueOrElse(getInteger(dg), 0)
610- let dj = df
615+ let dj = X(at)
616+ let dk = X(f)
617+ let dl = valueOrElse(getInteger(dk), 0)
618+ let cC = valueOrElse(getInteger(dj), 0)
619+ let dm = di
611620 let aU = split(aE(I()), j)
612- let ce = aW(aU)
613- let dk = invoke(ce, "onModifyWeight", [by, at], nil)
614- if ((dk == dk))
621+ let ch = aW(aU)
622+ let dn = invoke(ch, "onModifyWeight", [by, at], nil)
623+ if ((dn == dn))
615624 then {
616- let dl = if ((di == 0))
625+ let do = if ((dl == 0))
617626 then nil
618- else [IntegerEntry(dh, 0)]
619- let dm = Z(at, 0)
620- let dn = getInteger(dm)
621- let do = if ((dn == unit))
627+ else [IntegerEntry(dk, 0)]
628+ let dp = Z(at, 0)
629+ let dq = getInteger(dp)
630+ let dr = if ((dq == unit))
622631 then nil
623- else [DeleteEntry(dm)]
624- (([IntegerEntry(dg, dj)] ++ dl) ++ do)
632+ else [DeleteEntry(dp)]
633+ (([IntegerEntry(dj, dm)] ++ do) ++ dr)
625634 }
626635 else throw("Strict value is not equal to itself.")
627636 }
631640
632641
633642 @Callable(bg)
634-func modifyWeights (dp,dq,dr,ds) = {
635- let ci = bh(bg)
636- if ((ci == ci))
643+func modifyWeights (ds,dt,du,dv) = {
644+ let cl = bh(bg)
645+ if ((cl == cl))
637646 then {
638- let dt = ((5 * e) / 100)
639- let du = ((5 * e) / 100)
640- let dv = ((5 * e) / 100)
647+ let dw = ((5 * e) / 100)
648+ let dx = ((5 * e) / 100)
649+ let dy = ((5 * e) / 100)
641650 let aU = split(aE(I()), j)
642- let dw = aW(aU)
643- let dx = aX(aU)
644- let dy = X(dp)
645- let dz = X(dq)
646- let dA = X(dr)
651+ let dz = aW(aU)
652+ let dA = aX(aU)
647653 let dB = X(ds)
648- let dC = aH(dy)
649- let dD = aH(dz)
650- let dE = (dC - dv)
651- let dF = (dD - dv)
652- if ((0 >= dE))
653- then throw(("invalid btcWeightNew: " + toString(dE)))
654- else if ((0 >= dF))
655- then throw(("invalid ethWeightNew: " + toString(dF)))
654+ let dC = X(dt)
655+ let dD = X(du)
656+ let dE = X(dv)
657+ let dF = aH(dB)
658+ let dG = aH(dC)
659+ let dH = (dF - dy)
660+ let dI = (dG - dy)
661+ if ((0 >= dH))
662+ then throw(("invalid btcWeightNew: " + toString(dH)))
663+ else if ((0 >= dI))
664+ then throw(("invalid ethWeightNew: " + toString(dI)))
656665 else {
657- let dG = aE(av(dp))
658- let dH = aE(av(dq))
659- let dI = aE(av(dr))
660666 let dJ = aE(av(ds))
661- let dK = invoke(dw, "onModifyWeight", [dG, dp], nil)
662- if ((dK == dK))
667+ let dK = aE(av(dt))
668+ let dL = aE(av(du))
669+ let dM = aE(av(dv))
670+ let dN = invoke(dz, "onModifyWeight", [dJ, ds], nil)
671+ if ((dN == dN))
663672 then {
664- let dL = invoke(dw, "onModifyWeight", [dH, dq], nil)
665- if ((dL == dL))
673+ let dO = invoke(dz, "onModifyWeight", [dK, dt], nil)
674+ if ((dO == dO))
666675 then {
667- let dM = invoke(dw, "onModifyWeight", [dI, dr], nil)
668- if ((dM == dM))
676+ let dP = invoke(dz, "onModifyWeight", [dL, du], nil)
677+ if ((dP == dP))
669678 then {
670- let dN = invoke(dw, "onModifyWeight", [dJ, ds], nil)
671- if ((dN == dN))
672- then [IntegerEntry(dy, dE), IntegerEntry(dz, dF), IntegerEntry(dA, dt), IntegerEntry(dB, du), IntegerEntry(Z(dp, 0), dC), IntegerEntry(Z(dq, 0), dD), IntegerEntry(Z(dr, 0), dt), IntegerEntry(Z(ds, 0), du)]
679+ let dQ = invoke(dz, "onModifyWeight", [dM, dv], nil)
680+ if ((dQ == dQ))
681+ then [IntegerEntry(dB, dH), IntegerEntry(dC, dI), IntegerEntry(dD, dw), IntegerEntry(dE, dx), IntegerEntry(Z(ds, 0), dF), IntegerEntry(Z(dt, 0), dG), IntegerEntry(Z(du, 0), dw), IntegerEntry(Z(dv, 0), dx)]
673682 else throw("Strict value is not equal to itself.")
674683 }
675684 else throw("Strict value is not equal to itself.")
686695
687696 @Callable(bg)
688697 func checkWxEmissionPoolLabel (ay,az) = {
689- let dO = {
698+ let dR = {
690699 let aZ = getBoolean(ax(ay, az))
691700 if ($isInstanceOf(aZ, "Boolean"))
692701 then {
693- let dP = aZ
694- dP
702+ let dS = aZ
703+ dS
695704 }
696705 else false
697706 }
698- $Tuple2(nil, dO)
707+ $Tuple2(nil, dR)
699708 }
700709
701710
702711
703712 @Callable(bg)
704713 func setWxEmissionPoolLabel (ay,az) = {
705- let ci = bT(bg)
706- if ((ci == ci))
714+ let cl = bT(bg)
715+ if ((cl == cl))
707716 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
708717 else throw("Strict value is not equal to itself.")
709718 }
712721
713722 @Callable(bg)
714723 func deleteWxEmissionPoolLabel (ay,az) = {
715- let ci = if (bf(bg))
724+ let cl = if (bf(bg))
716725 then true
717726 else bT(bg)
718- if ((ci == ci))
727+ if ((cl == cl))
719728 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
720729 else throw("Strict value is not equal to itself.")
721730 }
723732
724733
725734 @Callable(bg)
726-func onVerificationLoss (dQ) = {
727- let ci = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
735+func onVerificationLoss (dT) = {
736+ let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
728737 then true
729738 else bh(bg)
730- if ((ci == ci))
739+ if ((cl == cl))
731740 then {
732- let cp = aY()
733- let dR = if ((size(cp) > 0))
741+ let cs = aY()
742+ let dU = if ((size(cs) > 0))
734743 then true
735744 else throw("invalid price assets")
736- if ((dR == dR))
745+ if ((dU == dU))
737746 then {
738- func dS (dT,dU) = {
739- let dV = invoke(this, "deleteWxEmissionPoolLabel", [dQ, dU], nil)
740- if ((dV == dV))
747+ func dV (dW,dX) = {
748+ let dY = invoke(this, "deleteWxEmissionPoolLabel", [dT, dX], nil)
749+ if ((dY == dY))
741750 then unit
742751 else throw("Strict value is not equal to itself.")
743752 }
744753
745- let dW = {
746- let dX = cp
747- let dY = size(dX)
748- let dZ = unit
749- func ea (eb,ec) = if ((ec >= dY))
750- then eb
751- else dS(eb, dX[ec])
754+ let dZ = {
755+ let ea = cs
756+ let eb = size(ea)
757+ let ec = unit
758+ func ed (ee,ef) = if ((ef >= eb))
759+ then ee
760+ else dV(ee, ea[ef])
752761
753- func ed (eb,ec) = if ((ec >= dY))
754- then eb
762+ func eg (ee,ef) = if ((ef >= eb))
763+ then ee
755764 else throw("List size exceeds 4")
756765
757- ed(ea(ea(ea(ea(dZ, 0), 1), 2), 3), 4)
766+ eg(ed(ed(ed(ed(ec, 0), 1), 2), 3), 4)
758767 }
759- if ((dW == dW))
768+ if ((dZ == dZ))
760769 then $Tuple2(nil, unit)
761770 else throw("Strict value is not equal to itself.")
762771 }
769778
770779 @Callable(bg)
771780 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
772- let cH = bK(Y)
773- let aj = $Tuple2(parseIntValue(cH[z]), parseIntValue(cH[A]))
774- let ee = valueOrElse(getBoolean(ai(aj)), false)
775- let ef = valueOrElse(getBoolean(al()), false)
776- $Tuple2(nil, if (ef)
781+ let cK = bK(Y)
782+ let aj = $Tuple2(parseIntValue(cK[z]), parseIntValue(cK[A]))
783+ let eh = valueOrElse(getBoolean(ai(aj)), false)
784+ let ei = valueOrElse(getBoolean(al()), false)
785+ $Tuple2(nil, if (ei)
777786 then true
778- else ee)
787+ else eh)
779788 }
780789
781790
782791
783792 @Callable(bg)
784793 func getInFeeREADONLY (Y) = {
785- let eg = bW(aA(Y), aB(), 0)
786- $Tuple2(nil, eg)
794+ let ej = bW(aA(Y), aB(), 0)
795+ $Tuple2(nil, ej)
787796 }
788797
789798
790799
791800 @Callable(bg)
792801 func getOutFeeREADONLY (Y) = {
793- let eg = bW(aC(Y), aD(), fraction(10, b, 10000))
794- $Tuple2(nil, eg)
802+ let ej = bW(aC(Y), aD(), fraction(10, b, 10000))
803+ $Tuple2(nil, ej)
795804 }
796805
797806
801810 let bL = split(aE(as(Y)), j)
802811 let ag = bL[1]
803812 let ah = bL[2]
804- let eh = split(aE(af(ag, ah)), j)
805- $Tuple2(nil, parseIntValue(eh[t]))
813+ let ek = split(aE(af(ag, ah)), j)
814+ $Tuple2(nil, parseIntValue(ek[t]))
806815 }
807816
808817
809-@Verifier(ei)
810-func ej () = {
811- let ek = {
818+@Verifier(el)
819+func em () = {
820+ let en = {
812821 let aZ = bb()
813822 if ($isInstanceOf(aZ, "ByteVector"))
814823 then {
816825 bi
817826 }
818827 else if ($isInstanceOf(aZ, "Unit"))
819- then ei.senderPublicKey
828+ then el.senderPublicKey
820829 else throw("Match error")
821830 }
822- sigVerify(ei.bodyBytes, ei.proofs[0], ek)
831+ sigVerify(el.bodyBytes, el.proofs[0], en)
823832 }
824833
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 18
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = b
1313
1414 let f = "GWXvirtualPOOL"
1515
1616 let g = "POOLS_LP"
1717
1818 let h = 2000000
1919
2020 let i = ((100 * 1000) * 1000)
2121
2222 let j = "__"
2323
2424 let k = ""
2525
2626 let l = 1
2727
2828 let m = 2
2929
3030 let n = 3
3131
3232 let o = 4
3333
3434 let p = 1
3535
3636 let q = 2
3737
3838 let r = 3
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = 3
4545
4646 let v = 4
4747
4848 let w = 5
4949
5050 let x = 6
5151
5252 let y = 7
5353
5454 let z = 8
5555
5656 let A = 9
5757
5858 let B = 10
5959
6060 let C = 11
6161
6262 let D = "WX_EMISSION"
6363
6464 let E = [D]
6565
6666 func F () = "%s__allowedLpScriptHash"
6767
6868
6969 func G () = "%s__allowedLpStableScriptHash"
7070
7171
7272 func H () = "%s__allowedLpStableAddonScriptHash"
7373
7474
7575 func I () = "%s__factoryConfig"
7676
7777
7878 func J () = "%s__lpTokensList"
7979
8080
8181 func K () = "%s%s__pool__scriptHash"
8282
8383
8484 func L () = "%s%s__matcher__publicKey"
8585
8686
8787 func M () = "%s__legacyFactoryContract"
8888
8989
9090 func N () = "%s__legacyPools"
9191
9292
9393 func O () = "%s__managerPublicKey"
9494
9595
9696 func P () = "%s__pendingManagerPublicKey"
9797
9898
9999 func Q () = "%s__adminPubKeys"
100100
101101
102102 func R () = "%s__assetsStoreContract"
103103
104104
105105 func S () = "%s__votingEmissionContract"
106106
107107
108108 func T () = makeString(["%s", "priceAssets"], j)
109109
110110
111111 func U () = "%s__priceDecimals"
112112
113113
114114 func V () = "%s__shutdown"
115115
116116
117117 func W () = "%s__nextInternalAssetId"
118118
119119
120120 func X (Y) = ("%s%s__poolWeight__" + Y)
121121
122122
123123 func Z (Y,aa) = ((("%s%s__poolWeight__" + Y) + "__") + toString(aa))
124124
125125
126126 func ab (ac) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(ac))
127127
128128
129129 func ad (ae) = ("%s%s%s__mappings__baseAsset2internalId__" + ae)
130130
131131
132132 func af (ag,ah) = (((("%d%d%s__" + ag) + "__") + ah) + "__config")
133133
134134
135135 func ai (aj) = {
136136 let ak = aj
137137 let ag = ak._1
138138 let ah = ak._2
139139 makeString(["%d%d%s", toString(ag), toString(ah), "oneTokenOperationsDisabled"], j)
140140 }
141141
142142
143143 func al () = makeString(["%s", "oneTokenOperationsDisabled"], j)
144144
145145
146146 func am (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2Pool")
147147
148148
149149 func ao (ap,aq) = (((("%d%d%s%s__" + ap) + "__") + aq) + "__mappings__PoolAssets2LpAsset")
150150
151151
152152 func ar (Y) = ("%s%s__spread__" + Y)
153153
154154
155155 func as (at) = (("%s%s%s__" + at) + "__mappings__poolContract2PoolAssets")
156156
157157
158158 func au (ap,aq) = (((("%d%d%s%s__" + toString(ap)) + "__") + toString(aq)) + "__mappings__poolAssets2PoolContract")
159159
160160
161161 func av (at) = (("%s%s%s__" + at) + "__mappings__poolContract2LpAsset")
162162
163163
164164 func aw (an) = (("%s%s%s__" + an) + "__mappings__lpAsset2PoolContract")
165165
166166
167167 func ax (ay,az) = ((("%s%s%s__wxEmission__" + ay) + "__") + az)
168168
169169
170170 func aA (Y) = ("%s%s__inFee__" + Y)
171171
172172
173173 func aB () = "%s__inFeeDefault"
174174
175175
176176 func aC (Y) = ("%s%s__outFee__" + Y)
177177
178178
179179 func aD () = "%s__outFeeDefault"
180180
181181
182182 func aE (aF) = valueOrErrorMessage(getString(this, aF), ("No data for this.key=" + aF))
183183
184184
185185 func aG (aF) = valueOrErrorMessage(getBoolean(this, aF), ("No data for this.key=" + aF))
186186
187187
188188 func aH (aF) = valueOrErrorMessage(getInteger(this, aF), ("No data for this.key=" + aF))
189189
190190
191191 let aI = 1
192192
193193 let aJ = 2
194194
195195 let aK = 3
196196
197197 let aL = 4
198198
199199 let aM = 5
200200
201201 let aN = 6
202202
203203 let aO = 7
204204
205205 let aP = 8
206206
207207 let aQ = 9
208208
209209 let aR = 10
210210
211211 let aS = 11
212212
213213 func aT (aU) = addressFromStringValue(aU[aJ])
214214
215215
216216 func aV (aU) = addressFromStringValue(aU[aM])
217217
218218
219219 func aW (aU) = addressFromStringValue(aU[aI])
220220
221221
222222 func aX (aU) = addressFromStringValue(aU[aR])
223223
224224
225225 func aY () = {
226226 let aZ = getString(T())
227227 if ($isInstanceOf(aZ, "String"))
228228 then {
229229 let ba = aZ
230230 if ((size(ba) == 0))
231231 then nil
232232 else split(ba, j)
233233 }
234234 else nil
235235 }
236236
237237
238238 func bb () = {
239239 let aZ = getString(O())
240240 if ($isInstanceOf(aZ, "String"))
241241 then {
242242 let ba = aZ
243243 fromBase58String(ba)
244244 }
245245 else if ($isInstanceOf(aZ, "Unit"))
246246 then unit
247247 else throw("Match error")
248248 }
249249
250250
251251 func bc () = {
252252 let aZ = getString(P())
253253 if ($isInstanceOf(aZ, "String"))
254254 then {
255255 let ba = aZ
256256 fromBase58String(ba)
257257 }
258258 else if ($isInstanceOf(aZ, "Unit"))
259259 then unit
260260 else throw("Match error")
261261 }
262262
263263
264264 let bd = throw("Permission denied")
265265
266266 let be = throw("Test error here")
267267
268268 func bf (bg) = if ((bg.caller == this))
269269 then true
270270 else bd
271271
272272
273273 func bh (bg) = {
274274 let aZ = bb()
275275 if ($isInstanceOf(aZ, "ByteVector"))
276276 then {
277277 let bi = aZ
278278 if ((bg.callerPublicKey == bi))
279279 then true
280280 else bd
281281 }
282282 else if ($isInstanceOf(aZ, "Unit"))
283283 then bf(bg)
284284 else throw("Match error")
285285 }
286286
287287
288288 func bj (bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bk, bl, bm, bn, bo, bp, bq, br, bs, bt, bu], j)
289289
290290
291291 func bv (bk,bl,bm,bn,bo,bp,bq) = makeString(["%s%s%s%s%s%s", bk, bl, bm, bn, bo, bp, bq], j)
292292
293293
294294 func bw (Y,bx,by,bz,bA,bB,bC,bD,bE,bF,bG) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", Y, bx, by, bz, bA, toString(bB), toString(bC), toString(bD), toString(bE), toString(bF), bG], j)
295295
296296
297297 func bH (bI,bJ) = makeString(["%d%d", toString(bI), toString(bJ)], j)
298298
299299
300300 func bK (Y) = {
301301 let bL = split(aE(as(Y)), j)
302302 let ag = bL[1]
303303 let ah = bL[2]
304304 split(aE(af(ag, ah)), j)
305305 }
306306
307307
308308 func bM (bN,bO) = {
309309 let bP = valueOrElse(getInteger(this, ad(bN)), 0)
310310 let bQ = valueOrElse(getInteger(this, W()), 0)
311311 let bR = if ((bP == 0))
312312 then {
313313 let bS = (bQ + bO)
314314 $Tuple3(bS, [IntegerEntry(W(), bS), IntegerEntry(ad(bN), bS), StringEntry(ab(bS), bN)], true)
315315 }
316316 else $Tuple3(bP, nil, false)
317317 bR
318318 }
319319
320320
321321 func bT (bg) = {
322322 let bU = split(valueOrElse(getString(Q()), k), j)
323323 if (containsElement(bU, toBase58String(bg.callerPublicKey)))
324324 then true
325325 else {
326326 let bV = bh(bg)
327327 if ((bV == bV))
328328 then true
329329 else throw("Strict value is not equal to itself.")
330330 }
331331 }
332332
333333
334334 func bW (aF,bX,bY) = valueOrElse(getInteger(this, aF), valueOrElse(getInteger(this, bX), bY))
335335
336336
337337 @Callable(bg)
338338 func getLpAssetFromPoolAssetsREADONLY (bZ,ca) = {
339- let cb = getString(this, ao(bZ, ca))
339+ let cb = value(getString(this, ad(bZ)))
340340 let cc = if (isDefined(cb))
341341 then true
342- else throw("test error string")
342+ else throw("test error assetNum1")
343343 if ((cc == cc))
344- then $Tuple2(nil, getString(this, ao(bZ, ca)))
344+ then {
345+ let cd = value(getString(this, ad(ca)))
346+ let ce = getString(this, ao(cb, cd))
347+ let cf = if (isDefined(ce))
348+ then true
349+ else throw("test error string")
350+ if ((cf == cf))
351+ then $Tuple2(nil, getString(this, ao(bZ, ca)))
352+ else throw("Strict value is not equal to itself.")
353+ }
345354 else throw("Strict value is not equal to itself.")
346355 }
347356
348357
349358
350359 @Callable(bg)
351-func getPoolAddressFromLpAssetREADONLY (cd) = $Tuple2(nil, getString(this, aw(cd)))
360+func getPoolAddressFromLpAssetREADONLY (cg) = $Tuple2(nil, getString(this, aw(cg)))
352361
353362
354363
355364 @Callable(bg)
356-func constructor (ce,cf,bm,bn,bo,bp,cg,ch) = {
357- let ci = bh(bg)
358- if ((ci == ci))
359- then [StringEntry(I(), bv(ce, cf, bm, bn, bo, bp, cg)), IntegerEntry(U(), ch)]
365+func constructor (ch,ci,bm,bn,bo,bp,cj,ck) = {
366+ let cl = bh(bg)
367+ if ((cl == cl))
368+ then [StringEntry(I(), bv(ch, ci, bm, bn, bo, bp, cj)), IntegerEntry(U(), ck)]
360369 else throw("Strict value is not equal to itself.")
361370 }
362371
363372
364373
365374 @Callable(bg)
366-func constructorV2 (cj) = {
367- let ci = bh(bg)
368- if ((ci == ci))
375+func constructorV2 (cm) = {
376+ let cl = bh(bg)
377+ if ((cl == cl))
369378 then {
370- let ck = addressFromPublicKey(fromBase58String(cj))
371- if ((ck == ck))
372- then [StringEntry(L(), cj)]
379+ let cn = addressFromPublicKey(fromBase58String(cm))
380+ if ((cn == cn))
381+ then [StringEntry(L(), cm)]
373382 else throw("Strict value is not equal to itself.")
374383 }
375384 else throw("Strict value is not equal to itself.")
376385 }
377386
378387
379388
380389 @Callable(bg)
381390 func constructorV3 (br,bs,bt,bu) = {
382- let ci = bh(bg)
383- if ((ci == ci))
391+ let cl = bh(bg)
392+ if ((cl == cl))
384393 then {
385394 let aU = split(aE(I()), j)
386395 [StringEntry(I(), bj(aU[1], aU[2], aU[3], aU[4], aU[5], aU[6], aU[7], br, bs, bt, bu))]
387396 }
388397 else throw("Strict value is not equal to itself.")
389398 }
390399
391400
392401
393402 @Callable(bg)
394-func constructorV4 (cl,cm) = {
395- let ci = bh(bg)
396- if ((ci == ci))
397- then [StringEntry(M(), cl), StringEntry(N(), makeString(cm, j))]
403+func constructorV4 (co,cp) = {
404+ let cl = bh(bg)
405+ if ((cl == cl))
406+ then [StringEntry(M(), co), StringEntry(N(), makeString(cp, j))]
398407 else throw("Strict value is not equal to itself.")
399408 }
400409
401410
402411
403412 @Callable(bg)
404-func constructorV5 (cn) = {
405- let ci = bh(bg)
406- if ((ci == ci))
407- then [StringEntry(R(), cn)]
413+func constructorV5 (cq) = {
414+ let cl = bh(bg)
415+ if ((cl == cl))
416+ then [StringEntry(R(), cq)]
408417 else throw("Strict value is not equal to itself.")
409418 }
410419
411420
412421
413422 @Callable(bg)
414-func constructorV6 (co,cp) = {
415- let cq = [bh(bg), if ((addressFromString(co) != unit))
423+func constructorV6 (cr,cs) = {
424+ let ct = [bh(bg), if ((addressFromString(cr) != unit))
416425 then true
417426 else "invalid voting emission contract address"]
418- if ((cq == cq))
419- then [StringEntry(S(), co), StringEntry(T(), makeString(cp, j))]
427+ if ((ct == ct))
428+ then [StringEntry(S(), cr), StringEntry(T(), makeString(cs, j))]
420429 else throw("Strict value is not equal to itself.")
421430 }
422431
423432
424433
425434 @Callable(bg)
426-func setManager (cr) = {
427- let ci = bh(bg)
428- if ((ci == ci))
435+func setManager (cu) = {
436+ let cl = bh(bg)
437+ if ((cl == cl))
429438 then {
430- let cs = fromBase58String(cr)
431- if ((cs == cs))
432- then [StringEntry(P(), cr)]
439+ let cv = fromBase58String(cu)
440+ if ((cv == cv))
441+ then [StringEntry(P(), cu)]
433442 else throw("Strict value is not equal to itself.")
434443 }
435444 else throw("Strict value is not equal to itself.")
436445 }
437446
438447
439448
440449 @Callable(bg)
441450 func confirmManager () = {
442- let ct = bc()
443- let cu = if (isDefined(ct))
451+ let cw = bc()
452+ let cx = if (isDefined(cw))
444453 then true
445454 else throw("No pending manager")
446- if ((cu == cu))
455+ if ((cx == cx))
447456 then {
448- let cv = if ((bg.callerPublicKey == value(ct)))
457+ let cy = if ((bg.callerPublicKey == value(cw)))
449458 then true
450459 else throw("You are not pending manager")
451- if ((cv == cv))
452- then [StringEntry(O(), toBase58String(value(ct))), DeleteEntry(P())]
460+ if ((cy == cy))
461+ then [StringEntry(O(), toBase58String(value(cw))), DeleteEntry(P())]
453462 else throw("Strict value is not equal to itself.")
454463 }
455464 else throw("Strict value is not equal to itself.")
456465 }
457466
458467
459468
460469 @Callable(bg)
461-func setAdmins (cw) = {
462- let ci = bh(bg)
463- if ((ci == ci))
464- then [StringEntry(Q(), makeString(cw, j))]
470+func setAdmins (cz) = {
471+ let cl = bh(bg)
472+ if ((cl == cl))
473+ then [StringEntry(Q(), makeString(cz, j))]
465474 else throw("Strict value is not equal to itself.")
466475 }
467476
468477
469478
470479 @Callable(bg)
471-func activateNewPool (Y,bz,bA,cx,cy,cz,bG,cA) = {
472- let ci = bT(bg)
473- if ((ci == ci))
480+func activateNewPool (Y,bz,bA,cA,cB,cC,bG,cD) = {
481+ let cl = bT(bg)
482+ if ((cl == cl))
474483 then if (isDefined(getString(as(Y))))
475484 then throw((("Pool address " + Y) + " already registered."))
476485 else {
477- let cB = bM(bz, 1)
478- let cC = cB._1
479- let cD = bM(bA, if (cB._3)
486+ let cE = bM(bz, 1)
487+ let cF = cE._1
488+ let cG = bM(bA, if (cE._3)
480489 then 2
481490 else 1)
482- let cE = cD._1
483- let cF = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
484- let cG = getBinaryValue(K())
485- let cH = getString(this, af(toString(cC), toString(cE)))
486- if (isDefined(cH))
491+ let cH = cG._1
492+ let cI = valueOrErrorMessage(scriptHash(addressFromStringValue(Y)), ("No script has been found on pool account " + Y))
493+ let cJ = getBinaryValue(K())
494+ let cK = getString(this, af(toString(cF), toString(cH)))
495+ if (isDefined(cK))
487496 then throw((((("Pool " + bz) + "/") + bA) + " has already been activated."))
488497 else {
489- let cI = value(getString(this, af(toString(cC), toString(cE))))
490- let cJ = if ((bz == "WAVES"))
498+ let cL = value(getString(this, af(toString(cF), toString(cH))))
499+ let cM = if ((bz == "WAVES"))
491500 then i
492501 else pow(10, 0, value(assetInfo(fromBase58String(bz))).decimals, 0, 0, DOWN)
493- let cK = if ((bA == "WAVES"))
502+ let cN = if ((bA == "WAVES"))
494503 then i
495504 else pow(10, 0, value(assetInfo(fromBase58String(bA))).decimals, 0, 0, DOWN)
496- let cL = Issue(cx, cy, 1, 8, true)
497- let by = calculateAssetId(cL)
498- let cM = toBase58String(by)
499- let cN = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
500- if ((cN == cN))
501- then if ((cN != "success"))
505+ let cO = Issue(cA, cB, 1, 8, true)
506+ let by = calculateAssetId(cO)
507+ let cP = toBase58String(by)
508+ let cQ = invoke(addressFromStringValue(Y), "activate", [bz, bA], nil)
509+ if ((cQ == cQ))
510+ then if ((cQ != "success"))
502511 then throw("Pool initialisation error happened.")
503512 else {
504- let cn = addressFromStringValue(aE(R()))
505- let cO = invoke(cn, "createOrUpdate", [cM, cx, false], nil)
506- if ((cO == cO))
513+ let cq = addressFromStringValue(aE(R()))
514+ let cR = invoke(cq, "createOrUpdate", [cP, cA, false], nil)
515+ if ((cR == cR))
507516 then {
508- let cP = invoke(cn, "addLabel", [cM, g], nil)
509- if ((cP == cP))
517+ let cS = invoke(cq, "addLabel", [cP, g], nil)
518+ if ((cS == cS))
510519 then {
511- let cQ = invoke(cn, "setLogo", [cM, cA], nil)
512- if ((cQ == cQ))
520+ let cT = invoke(cq, "setLogo", [cP, cD], nil)
521+ if ((cT == cT))
513522 then {
514- let cR = invoke(cn, "addAssetsLink", [bz, bA, cM], nil)
515- if ((cR == cR))
523+ let cU = invoke(cq, "addAssetsLink", [bz, bA, cP], nil)
524+ if ((cU == cU))
516525 then {
517- let cS = invoke(cn, "increaseAssetPoolsNumber", [bz], nil)
518- if ((cS == cS))
519- then $Tuple2(((cB._2 ++ cD._2) ++ [cL, Burn(by, 1), StringEntry(af(toString(cC), toString(cE)), bw(Y, toString(l), cM, bz, bA, cJ, cK, cC, cE, i, bG)), StringEntry(am(cM), bH(cC, cE)), StringEntry(ao(toString(cC), toString(cE)), ("%s__" + cM)), StringEntry(as(Y), bH(cC, cE)), StringEntry(au(cC, cE), Y), StringEntry(aw(cM), Y), StringEntry(av(Y), cM), IntegerEntry(X(Y), cz), IntegerEntry(ar(Y), h)]), cM)
526+ let cV = invoke(cq, "increaseAssetPoolsNumber", [bz], nil)
527+ if ((cV == cV))
528+ then $Tuple2(((cE._2 ++ cG._2) ++ [cO, Burn(by, 1), StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(l), cP, bz, bA, cM, cN, cF, cH, i, bG)), StringEntry(am(cP), bH(cF, cH)), StringEntry(ao(toString(cF), toString(cH)), ("%s__" + cP)), StringEntry(as(Y), bH(cF, cH)), StringEntry(au(cF, cH), Y), StringEntry(aw(cP), Y), StringEntry(av(Y), cP), IntegerEntry(X(Y), cC), IntegerEntry(ar(Y), h)]), cP)
520529 else throw("Strict value is not equal to itself.")
521530 }
522531 else throw("Strict value is not equal to itself.")
523532 }
524533 else throw("Strict value is not equal to itself.")
525534 }
526535 else throw("Strict value is not equal to itself.")
527536 }
528537 else throw("Strict value is not equal to itself.")
529538 }
530539 else throw("Strict value is not equal to itself.")
531540 }
532541 }
533542 else throw("Strict value is not equal to itself.")
534543 }
535544
536545
537546
538547 @Callable(bg)
539-func managePool (Y,cT) = {
540- let ci = bh(bg)
541- if ((ci == ci))
548+func managePool (Y,cW) = {
549+ let cl = bh(bg)
550+ if ((cl == cl))
542551 then {
543- let cH = bK(Y)
544- let bx = cH[t]
545- let cM = cH[u]
546- let bz = cH[v]
547- let bA = cH[w]
548- let cJ = parseIntValue(cH[x])
549- let cK = parseIntValue(cH[y])
550- let cC = parseIntValue(cH[z])
551- let cE = parseIntValue(cH[A])
552- let cU = parseIntValue(cH[B])
553- let bG = cH[C]
554-[StringEntry(af(toString(cC), toString(cE)), bw(Y, toString(cT), cM, bz, bA, cJ, cK, cC, cE, cU, bG))]
552+ let cK = bK(Y)
553+ let bx = cK[t]
554+ let cP = cK[u]
555+ let bz = cK[v]
556+ let bA = cK[w]
557+ let cM = parseIntValue(cK[x])
558+ let cN = parseIntValue(cK[y])
559+ let cF = parseIntValue(cK[z])
560+ let cH = parseIntValue(cK[A])
561+ let cX = parseIntValue(cK[B])
562+ let bG = cK[C]
563+[StringEntry(af(toString(cF), toString(cH)), bw(Y, toString(cW), cP, bz, bA, cM, cN, cF, cH, cX, bG))]
555564 }
556565 else throw("Strict value is not equal to itself.")
557566 }
558567
559568
560569
561570 @Callable(bg)
562-func emit (cV) = {
563- let cW = bg.caller
564- let cX = bg.originCaller
565- let cY = valueOrErrorMessage(getString(av(toString(cW))), "Invalid LP address called me.")
566- let cZ = fromBase58String(cY)
567- let cm = split(valueOrElse(getString(N()), k), j)
568- let cl = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
569- if ((0 >= cV))
571+func emit (cY) = {
572+ let cZ = bg.caller
573+ let da = bg.originCaller
574+ let db = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
575+ let dc = fromBase58String(db)
576+ let cp = split(valueOrElse(getString(N()), k), j)
577+ let co = addressFromStringValue(valueOrErrorMessage(getString(M()), "Legacy factory contract does not exists."))
578+ if ((0 >= cY))
570579 then nil
571- else if (containsElement(cm, toString(cW)))
572- then $Tuple2(nil, cl)
573- else $Tuple2([Reissue(cZ, cV, true), ScriptTransfer(bg.caller, cV, cZ)], "success")
580+ else if (containsElement(cp, toString(cZ)))
581+ then $Tuple2(nil, co)
582+ else $Tuple2([Reissue(dc, cY, true), ScriptTransfer(bg.caller, cY, dc)], "success")
574583 }
575584
576585
577586
578587 @Callable(bg)
579-func burn (da) = {
580- let cW = bg.caller
581- let cX = bg.originCaller
582- let db = value(bg.payments[0])
583- let dc = value(db.amount)
584- let dd = toBase58String(value(db.assetId))
585- let de = valueOrErrorMessage(getString(av(toString(cW))), "Invalid LP address called me.")
586- if ((dd != de))
588+func burn (dd) = {
589+ let cZ = bg.caller
590+ let da = bg.originCaller
591+ let de = value(bg.payments[0])
592+ let df = value(de.amount)
593+ let dg = toBase58String(value(de.assetId))
594+ let dh = valueOrErrorMessage(getString(av(toString(cZ))), "Invalid LP address called me.")
595+ if ((dg != dh))
587596 then throw("Invalid asset passed.")
588- else if ((da != dc))
597+ else if ((dd != df))
589598 then throw("Invalid amount passed.")
590599 else {
591- let cZ = fromBase58String(de)
592- $Tuple2([Burn(cZ, da)], "success")
600+ let dc = fromBase58String(dh)
601+ $Tuple2([Burn(dc, dd)], "success")
593602 }
594603 }
595604
596605
597606
598607 @Callable(bg)
599-func modifyWeight (by,df) = {
600- let ci = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
608+func modifyWeight (by,di) = {
609+ let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, S()), "")))
601610 then true
602611 else bh(bg)
603- if ((ci == ci))
612+ if ((cl == cl))
604613 then {
605614 let at = aE(aw(by))
606- let dg = X(at)
607- let dh = X(f)
608- let di = valueOrElse(getInteger(dh), 0)
609- let cz = valueOrElse(getInteger(dg), 0)
610- let dj = df
615+ let dj = X(at)
616+ let dk = X(f)
617+ let dl = valueOrElse(getInteger(dk), 0)
618+ let cC = valueOrElse(getInteger(dj), 0)
619+ let dm = di
611620 let aU = split(aE(I()), j)
612- let ce = aW(aU)
613- let dk = invoke(ce, "onModifyWeight", [by, at], nil)
614- if ((dk == dk))
621+ let ch = aW(aU)
622+ let dn = invoke(ch, "onModifyWeight", [by, at], nil)
623+ if ((dn == dn))
615624 then {
616- let dl = if ((di == 0))
625+ let do = if ((dl == 0))
617626 then nil
618- else [IntegerEntry(dh, 0)]
619- let dm = Z(at, 0)
620- let dn = getInteger(dm)
621- let do = if ((dn == unit))
627+ else [IntegerEntry(dk, 0)]
628+ let dp = Z(at, 0)
629+ let dq = getInteger(dp)
630+ let dr = if ((dq == unit))
622631 then nil
623- else [DeleteEntry(dm)]
624- (([IntegerEntry(dg, dj)] ++ dl) ++ do)
632+ else [DeleteEntry(dp)]
633+ (([IntegerEntry(dj, dm)] ++ do) ++ dr)
625634 }
626635 else throw("Strict value is not equal to itself.")
627636 }
628637 else throw("Strict value is not equal to itself.")
629638 }
630639
631640
632641
633642 @Callable(bg)
634-func modifyWeights (dp,dq,dr,ds) = {
635- let ci = bh(bg)
636- if ((ci == ci))
643+func modifyWeights (ds,dt,du,dv) = {
644+ let cl = bh(bg)
645+ if ((cl == cl))
637646 then {
638- let dt = ((5 * e) / 100)
639- let du = ((5 * e) / 100)
640- let dv = ((5 * e) / 100)
647+ let dw = ((5 * e) / 100)
648+ let dx = ((5 * e) / 100)
649+ let dy = ((5 * e) / 100)
641650 let aU = split(aE(I()), j)
642- let dw = aW(aU)
643- let dx = aX(aU)
644- let dy = X(dp)
645- let dz = X(dq)
646- let dA = X(dr)
651+ let dz = aW(aU)
652+ let dA = aX(aU)
647653 let dB = X(ds)
648- let dC = aH(dy)
649- let dD = aH(dz)
650- let dE = (dC - dv)
651- let dF = (dD - dv)
652- if ((0 >= dE))
653- then throw(("invalid btcWeightNew: " + toString(dE)))
654- else if ((0 >= dF))
655- then throw(("invalid ethWeightNew: " + toString(dF)))
654+ let dC = X(dt)
655+ let dD = X(du)
656+ let dE = X(dv)
657+ let dF = aH(dB)
658+ let dG = aH(dC)
659+ let dH = (dF - dy)
660+ let dI = (dG - dy)
661+ if ((0 >= dH))
662+ then throw(("invalid btcWeightNew: " + toString(dH)))
663+ else if ((0 >= dI))
664+ then throw(("invalid ethWeightNew: " + toString(dI)))
656665 else {
657- let dG = aE(av(dp))
658- let dH = aE(av(dq))
659- let dI = aE(av(dr))
660666 let dJ = aE(av(ds))
661- let dK = invoke(dw, "onModifyWeight", [dG, dp], nil)
662- if ((dK == dK))
667+ let dK = aE(av(dt))
668+ let dL = aE(av(du))
669+ let dM = aE(av(dv))
670+ let dN = invoke(dz, "onModifyWeight", [dJ, ds], nil)
671+ if ((dN == dN))
663672 then {
664- let dL = invoke(dw, "onModifyWeight", [dH, dq], nil)
665- if ((dL == dL))
673+ let dO = invoke(dz, "onModifyWeight", [dK, dt], nil)
674+ if ((dO == dO))
666675 then {
667- let dM = invoke(dw, "onModifyWeight", [dI, dr], nil)
668- if ((dM == dM))
676+ let dP = invoke(dz, "onModifyWeight", [dL, du], nil)
677+ if ((dP == dP))
669678 then {
670- let dN = invoke(dw, "onModifyWeight", [dJ, ds], nil)
671- if ((dN == dN))
672- then [IntegerEntry(dy, dE), IntegerEntry(dz, dF), IntegerEntry(dA, dt), IntegerEntry(dB, du), IntegerEntry(Z(dp, 0), dC), IntegerEntry(Z(dq, 0), dD), IntegerEntry(Z(dr, 0), dt), IntegerEntry(Z(ds, 0), du)]
679+ let dQ = invoke(dz, "onModifyWeight", [dM, dv], nil)
680+ if ((dQ == dQ))
681+ then [IntegerEntry(dB, dH), IntegerEntry(dC, dI), IntegerEntry(dD, dw), IntegerEntry(dE, dx), IntegerEntry(Z(ds, 0), dF), IntegerEntry(Z(dt, 0), dG), IntegerEntry(Z(du, 0), dw), IntegerEntry(Z(dv, 0), dx)]
673682 else throw("Strict value is not equal to itself.")
674683 }
675684 else throw("Strict value is not equal to itself.")
676685 }
677686 else throw("Strict value is not equal to itself.")
678687 }
679688 else throw("Strict value is not equal to itself.")
680689 }
681690 }
682691 else throw("Strict value is not equal to itself.")
683692 }
684693
685694
686695
687696 @Callable(bg)
688697 func checkWxEmissionPoolLabel (ay,az) = {
689- let dO = {
698+ let dR = {
690699 let aZ = getBoolean(ax(ay, az))
691700 if ($isInstanceOf(aZ, "Boolean"))
692701 then {
693- let dP = aZ
694- dP
702+ let dS = aZ
703+ dS
695704 }
696705 else false
697706 }
698- $Tuple2(nil, dO)
707+ $Tuple2(nil, dR)
699708 }
700709
701710
702711
703712 @Callable(bg)
704713 func setWxEmissionPoolLabel (ay,az) = {
705- let ci = bT(bg)
706- if ((ci == ci))
714+ let cl = bT(bg)
715+ if ((cl == cl))
707716 then $Tuple2([BooleanEntry(ax(ay, az), true)], unit)
708717 else throw("Strict value is not equal to itself.")
709718 }
710719
711720
712721
713722 @Callable(bg)
714723 func deleteWxEmissionPoolLabel (ay,az) = {
715- let ci = if (bf(bg))
724+ let cl = if (bf(bg))
716725 then true
717726 else bT(bg)
718- if ((ci == ci))
727+ if ((cl == cl))
719728 then $Tuple2([DeleteEntry(ax(ay, az))], unit)
720729 else throw("Strict value is not equal to itself.")
721730 }
722731
723732
724733
725734 @Callable(bg)
726-func onVerificationLoss (dQ) = {
727- let ci = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
735+func onVerificationLoss (dT) = {
736+ let cl = if ((toBase58String(bg.caller.bytes) == valueOrElse(getString(this, R()), "")))
728737 then true
729738 else bh(bg)
730- if ((ci == ci))
739+ if ((cl == cl))
731740 then {
732- let cp = aY()
733- let dR = if ((size(cp) > 0))
741+ let cs = aY()
742+ let dU = if ((size(cs) > 0))
734743 then true
735744 else throw("invalid price assets")
736- if ((dR == dR))
745+ if ((dU == dU))
737746 then {
738- func dS (dT,dU) = {
739- let dV = invoke(this, "deleteWxEmissionPoolLabel", [dQ, dU], nil)
740- if ((dV == dV))
747+ func dV (dW,dX) = {
748+ let dY = invoke(this, "deleteWxEmissionPoolLabel", [dT, dX], nil)
749+ if ((dY == dY))
741750 then unit
742751 else throw("Strict value is not equal to itself.")
743752 }
744753
745- let dW = {
746- let dX = cp
747- let dY = size(dX)
748- let dZ = unit
749- func ea (eb,ec) = if ((ec >= dY))
750- then eb
751- else dS(eb, dX[ec])
754+ let dZ = {
755+ let ea = cs
756+ let eb = size(ea)
757+ let ec = unit
758+ func ed (ee,ef) = if ((ef >= eb))
759+ then ee
760+ else dV(ee, ea[ef])
752761
753- func ed (eb,ec) = if ((ec >= dY))
754- then eb
762+ func eg (ee,ef) = if ((ef >= eb))
763+ then ee
755764 else throw("List size exceeds 4")
756765
757- ed(ea(ea(ea(ea(dZ, 0), 1), 2), 3), 4)
766+ eg(ed(ed(ed(ed(ec, 0), 1), 2), 3), 4)
758767 }
759- if ((dW == dW))
768+ if ((dZ == dZ))
760769 then $Tuple2(nil, unit)
761770 else throw("Strict value is not equal to itself.")
762771 }
763772 else throw("Strict value is not equal to itself.")
764773 }
765774 else throw("Strict value is not equal to itself.")
766775 }
767776
768777
769778
770779 @Callable(bg)
771780 func isPoolOneTokenOperationsDisabledREADONLY (Y) = {
772- let cH = bK(Y)
773- let aj = $Tuple2(parseIntValue(cH[z]), parseIntValue(cH[A]))
774- let ee = valueOrElse(getBoolean(ai(aj)), false)
775- let ef = valueOrElse(getBoolean(al()), false)
776- $Tuple2(nil, if (ef)
781+ let cK = bK(Y)
782+ let aj = $Tuple2(parseIntValue(cK[z]), parseIntValue(cK[A]))
783+ let eh = valueOrElse(getBoolean(ai(aj)), false)
784+ let ei = valueOrElse(getBoolean(al()), false)
785+ $Tuple2(nil, if (ei)
777786 then true
778- else ee)
787+ else eh)
779788 }
780789
781790
782791
783792 @Callable(bg)
784793 func getInFeeREADONLY (Y) = {
785- let eg = bW(aA(Y), aB(), 0)
786- $Tuple2(nil, eg)
794+ let ej = bW(aA(Y), aB(), 0)
795+ $Tuple2(nil, ej)
787796 }
788797
789798
790799
791800 @Callable(bg)
792801 func getOutFeeREADONLY (Y) = {
793- let eg = bW(aC(Y), aD(), fraction(10, b, 10000))
794- $Tuple2(nil, eg)
802+ let ej = bW(aC(Y), aD(), fraction(10, b, 10000))
803+ $Tuple2(nil, ej)
795804 }
796805
797806
798807
799808 @Callable(bg)
800809 func getPoolStatusREADONLY (Y) = {
801810 let bL = split(aE(as(Y)), j)
802811 let ag = bL[1]
803812 let ah = bL[2]
804- let eh = split(aE(af(ag, ah)), j)
805- $Tuple2(nil, parseIntValue(eh[t]))
813+ let ek = split(aE(af(ag, ah)), j)
814+ $Tuple2(nil, parseIntValue(ek[t]))
806815 }
807816
808817
809-@Verifier(ei)
810-func ej () = {
811- let ek = {
818+@Verifier(el)
819+func em () = {
820+ let en = {
812821 let aZ = bb()
813822 if ($isInstanceOf(aZ, "ByteVector"))
814823 then {
815824 let bi = aZ
816825 bi
817826 }
818827 else if ($isInstanceOf(aZ, "Unit"))
819- then ei.senderPublicKey
828+ then el.senderPublicKey
820829 else throw("Match error")
821830 }
822- sigVerify(ei.bodyBytes, ei.proofs[0], ek)
831+ sigVerify(el.bodyBytes, el.proofs[0], en)
823832 }
824833

github/deemru/w8io/026f985 
197.42 ms