tx · BGKJtM4QoRuw9hSh97CfRF2vnDDe5h5o7a96jKExfJeo

3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT:  -0.01400000 Waves

2021.07.30 17:50 [1636523] smart account 3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT > SELF 0.00000000 Waves

{ "type": 13, "id": "BGKJtM4QoRuw9hSh97CfRF2vnDDe5h5o7a96jKExfJeo", "fee": 1400000, "feeAssetId": null, "timestamp": 1627656663867, "version": 2, "chainId": 84, "sender": "3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT", "senderPublicKey": "3ijdmxaYrpDFsKVbQH2kvB7i6JzHj9bep9bGWiQPra2D", "proofs": [ "3aA16V9QuCpw2gYc2h7YmTAW7dzDJ7Ks8PUuxbSeWA77zFDNey4h4BK2bGSwtVACZMpvcFmHSPxnCooPyM2GVQNX" ], "script": "base64:AAIFAAAAAAAAACUIAhIDCgEIEgMKAQgSAwoBCBIDCgEIEgQKAggBEgMKAQgSABIAAAAAYAAAAAAUa2V5U2hhcmVUb2tlbnNMb2NrZWQCAAAAGl90b3RhbF9zaGFyZV90b2tlbnNfbG9ja2VkAAAAAAtrU2hhcmVMaW1pdAIAAAAcc2hhcmVfbGltaXRfb25fZmlyc3RfaGFydmVzdAAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAAVa2V5TGFzdEludGVyZXN0SGVpZ2h0AgAAABVfbGFzdF9pbnRlcmVzdF9oZWlnaHQAAAAAGGtleVVzZXJTaGFyZVRva2Vuc0xvY2tlZAIAAAAUX3NoYXJlX3Rva2Vuc19sb2NrZWQAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAAAlrZXlTV09QaWQCAAAAB1NXT1BfaWQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAEGtleUF2YWlsYWJsZVNXT1ACAAAAD19hdmFpbGFibGVfU1dPUAAAAAAVa2V5RmFybWluZ1N0YXJ0SGVpZ2h0AgAAABRmYXJtaW5nX3N0YXJ0X2hlaWdodAAAAAAGa2V5QVBZAgAAAANhcHkAAAAAFmtQcmV2aW91c1RvdGFsVm90ZVNXT1ACAAAAGHByZXZpb3VzX3RvdGFsX3ZvdGVfU1dPUAAAAAATa2V5U3dvcFllYXJFbWlzc2lvbgIAAAASc3dvcF95ZWFyX2VtaXNzaW9uAAAAAA9rZXlCYWxhbmNlY3BtbUECAAAAD0FfYXNzZXRfYmFsYW5jZQAAAAAPa2V5QmFsYW5jZWNwbW1CAgAAAA9CX2Fzc2V0X2JhbGFuY2UAAAAAIWtIYXJ2ZXN0UG9vbEFjdGl2ZVZvdGVTdHJ1Y1ZvdGluZwIAAAAeX2hhcnZlc3RfcG9vbF9hY3RpdmVWb3RlX3N0cnVjAAAAACVrSGFydmVzdFVzZXJQb29sQWN0aXZlVm90ZVN0cnVjVm90aW5nAgAAACNfaGFydmVzdF91c2VyX3Bvb2xfYWN0aXZlVm90ZV9zdHJ1YwAAAAAZa2V5TGltaXRTaGFyZUZpcnN0SGFydmVzdAIAAAAcc2hhcmVfbGltaXRfb25fZmlyc3RfaGFydmVzdAAAAAALa2V5QXNzZXRJZEECAAAACkFfYXNzZXRfaWQAAAAAC2tleUFzc2V0SWRCAgAAAApCX2Fzc2V0X2lkAAAAABVrZXlGaXJzdEhhcnZlc3RIZWlnaHQCAAAAFGZpcnN0X2hhcnZlc3RfaGVpZ2h0AAAAABNrZXlmaXJzdEhhcnZlc3RDcG1tAgAAAA1maXJzdF9oYXJ2ZXN0AAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAABFnb3Zlcm5hbmNlQWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVKr6ad6B9BNShco/LjqIUbMZ6pgcWfINLQAAAAAGd2FsbGV0CQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAA12b3RpbmdBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUGjZ+31einSdpXP6/9ybU5/uhw2g+IMp/AAAAABxhZG1pbkluY3JlYXNlSW50ZXJlc3RBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU3z1Ll4lYWd4V4ORRC1bdPXpfvbV/hSGJAAAAAA5vbmVXZWVrSW5CbG9jawAAAAAAAAAnegAAAAAOdG90YWxWb3RlU2hhcmUAAAAAAlQL5AAAAAAAC3NjYWxlVmFsdWUxAAAAAAAAAAAKAAAAAAtzY2FsZVZhbHVlMwAAAAAAAAAD6AAAAAALc2NhbGVWYWx1ZTUAAAAAAAABhqAAAAAAC3NjYWxlVmFsdWU2AAAAAAAAD0JAAAAAAAtzY2FsZVZhbHVlOAAAAAAABfXhAAAAAAAMc2NhbGVWYWx1ZTExAAAAABdIdugAAAAAAA9rZXlBZG1pblB1YktleTECAAAAC2FkbWluX3B1Yl8xAAAAAA9rZXlBZG1pblB1YktleTICAAAAC2FkbWluX3B1Yl8yAAAAAA9rZXlBZG1pblB1YktleTMCAAAAC2FkbWluX3B1Yl8zAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgBAAAAC2dldEFkbWluUHViAAAAAQAAAAtrZXlBZG1pblB1YgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUFAAAAC2tleUFkbWluUHViAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAABnN0cmluZwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAZzdHJpbmcEAAAAB25vdGhpbmcFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAZQWRtaW4gcHVibGljIGtleSBpcyBlbXB0eQAAAAAMYWRtaW5QdWJLZXkxCQEAAAALZ2V0QWRtaW5QdWIAAAABBQAAAA9rZXlBZG1pblB1YktleTEAAAAADGFkbWluUHViS2V5MgkBAAAAC2dldEFkbWluUHViAAAAAQUAAAAPa2V5QWRtaW5QdWJLZXkyAAAAAAxhZG1pblB1YktleTMJAQAAAAtnZXRBZG1pblB1YgAAAAEFAAAAD2tleUFkbWluUHViS2V5MwEAAAALc3RyQXNzZXRJZEEAAAABAAAABHBvb2wJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHBvb2wFAAAAC2tleUFzc2V0SWRBAQAAAAtzdHJBc3NldElkQgAAAAEAAAAEcG9vbAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEcG9vbAUAAAALa2V5QXNzZXRJZEIBAAAACGFzc2V0SWRBAAAAAQAAAARwb29sAwkAAAAAAAACCQEAAAALc3RyQXNzZXRJZEEAAAABBQAAAARwb29sAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABCQEAAAALc3RyQXNzZXRJZEEAAAABBQAAAARwb29sAQAAAAhhc3NldElkQgAAAAEAAAAEcG9vbAMJAAAAAAAAAgkBAAAAC3N0ckFzc2V0SWRCAAAAAQUAAAAEcG9vbAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQkBAAAAC3N0ckFzc2V0SWRCAAAAAQUAAAAEcG9vbAAAAAALa0Jhc2VQZXJpb2QCAAAAC2Jhc2VfcGVyaW9kAAAAAA1rUGVyaW9kTGVuZ3RoAgAAAA1wZXJpb2RfbGVuZ3RoAAAAAAxrU3RhcnRIZWlnaHQCAAAADHN0YXJ0X2hlaWdodAAAAAATa0ZpcnN0SGFydmVzdEhlaWdodAIAAAAUZmlyc3RfaGFydmVzdF9oZWlnaHQAAAAAFmtEdXJhdGlvbkZ1bGxWb3RlUG93ZXICAAAAGGR1cmF0aW9uX2Z1bGxfdm90ZV9wb3dlcgAAAAANa01pblZvdGVQb3dlcgIAAAAObWluX3ZvdGVfcG93ZXIAAAAACmJhc2VQZXJpb2QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAA12b3RpbmdBZGRyZXNzBQAAAAtrQmFzZVBlcmlvZAIAAAARRW1wdHkga0Jhc2VQZXJpb2QAAAAAC3N0YXJ0SGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAANdm90aW5nQWRkcmVzcwUAAAAMa1N0YXJ0SGVpZ2h0AgAAABJFbXB0eSBrU3RhcnRIZWlnaHQAAAAADHBlcmlvZExlbmd0aAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAADWtQZXJpb2RMZW5ndGgCAAAAE0VtcHR5IGtQZXJpb2RMZW5ndGgAAAAAFWR1cmF0aW9uRnVsbFZvdGVQb3dlcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAAFmtEdXJhdGlvbkZ1bGxWb3RlUG93ZXICAAAAHEVtcHR5IGtEdXJhdGlvbkZ1bGxWb3RlUG93ZXIAAAAADG1pblZvdGVQb3dlcgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAADXZvdGluZ0FkZHJlc3MFAAAADWtNaW5Wb3RlUG93ZXICAAAAE0VtcHR5IGtNaW5Wb3RlUG93ZXIAAAAACGlzQWN0aXZlCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUAAAAACmN1cnJQZXJpb2QJAABkAAAAAgUAAAAKYmFzZVBlcmlvZAkAAGkAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAALc3RhcnRIZWlnaHQFAAAADHBlcmlvZExlbmd0aAEAAAANZ2V0TGltaXRUb2tlbgAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEcG9vbAUAAAAZa2V5TGltaXRTaGFyZUZpcnN0SGFydmVzdAAAAAAAAAAAAAAAAAADQVBZCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAAAZrZXlBUFkAAAAAEFN3b3BZZWFyRW1pc3Npb24JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAE2tleVN3b3BZZWFyRW1pc3Npb24BAAAACmFzc2V0TmFtZUEAAAABAAAABHBvb2wEAAAAByRtYXRjaDAJAQAAAAhhc3NldElkQQAAAAEFAAAABHBvb2wDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAmlkBQAAAAckbWF0Y2gw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HWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAda2V5VG90YWxSZXdhcmRQZXJCbG9ja0N1cnJlbnQCAAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAABFnb3Zlcm5hbmNlQWRkcmVzcwQAAAAbdG90YWxSZXdhcmRQZXJCbG9ja1ByZXZpb3VzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MFAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABlyZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABFnb3Zlcm5hbmNlQWRkcmVzcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAAAwgYXQgYWRkcmVzcyAJAAQlAAAAAQUAAAARZ292ZXJuYW5jZUFkZHJlc3MEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAARZ292ZXJuYW5jZUFkZHJlc3MJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uAAAAAAAAAAAABAAAABpyZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEWdvdmVybmFuY2VBZGRyZXNzCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAMIGF0IGFkZHJlc3MgCQAEJQAAAAEFAAAAEWdvdmVybmFuY2VBZGRyZXNzBAAAABFyZXdhcmRQb29sQ3VycmVudAkAAGsAAAADBQAAABp0b3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAUAAAAZcmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAUAAAAOdG90YWxWb3RlU2hhcmUEAAAAEnJld2FyZFBvb2xQcmV2aW91cwkAAGsAAAADBQAAABt0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMFAAAAGnJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAA50b3RhbFZvdGVTaGFyZQMDCQAAZgAAAAIFAAAAEXJld2FyZFBvb2xDdXJyZW50BQAAABp0b3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAYJAABmAAAAAgUAAAAScmV3YXJkUG9vbFByZXZpb3VzBQAAABt0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMJAAACAAAAAQIAAABicmV3YXJkUG9vbEN1cnJlbnQgPiB0b3RhbFJld2FyZFBlckJsb2NrQ3VycmVudCBvciByZXdhcmRQb29sUHJldmlvdXMgPiB0b3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMJAAUWAAAABAUAAAARcmV3YXJkUG9vbEN1cnJlbnQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkUG9vbFByZXZpb3VzBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAQAAAARwb29sBAAAAAxsYXN0SW50ZXJlc3QJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QEAAAAEmxhc3RJbnRlcmVzdEhlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0CQAFFAAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAMbGFzdEludGVyZXN0AQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAARwb29sAAAAC3VzZXJBZGRyZXNzBAAAABB1c2VyTGFzdEludGVyZXN0CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAACXVzZXJTaGFyZQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAABhrZXlVc2VyU2hhcmVUb2tlbnNMb2NrZWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAUAAAAPa2V5TGFzdEludGVyZXN0CQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAQAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBAAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAAByRtYXRjaDAFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50BAAAAAckbWF0Y2gwBQAAAAl1c2VyU2hhcmUDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAJdXNlclNoYXJlBQAAAAckbWF0Y2gwBQAAAAl1c2VyU2hhcmUAAAAAAAAAAAAJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQBAAAADGNhbGNJbnRlcmVzdAAAAAoAAAASbGFzdEludGVyZXN0SGVpZ2h0AAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AAAADGxhc3RJbnRlcmVzdAAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sAAAAQc2hhcmVUb2tlbkxvY2tlZAAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrAAAADHNoYXJlQXNzZXRJZAAAAApzY2FsZVZhbHVlAAAACXBtdEFtb3VudAMJAAAAAAAAAgUAAAAQc2hhcmVUb2tlbkxvY2tlZAAAAAAAAAAAAAAAAAAAAAAAAAMJAQAAAAIhPQAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQAAAAAAAAAAAADAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAkAAAAAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQHBAAAAAZyZXdhcmQJAABoAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAGcmV3YXJkBQAAAApzY2FsZVZhbHVlBQAAABBzaGFyZVRva2VuTG9ja2VkAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAIhPQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQDAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAAAAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BwkAAGYAAAACBQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMFAAAABnJld2FyZAUAAAAKc2NhbGVWYWx1ZQUAAAAQc2hhcmVUb2tlbkxvY2tlZAQAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQEAAAAE2ludGVyZXN0QWZ0ZXJVcGRhdGUJAABkAAAAAgUAAAAMbGFzdEludGVyZXN0CQAAawAAAAMFAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQUAAAAKc2NhbGVWYWx1ZQUAAAAQc2hhcmVUb2tlbkxvY2tlZAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAGQAAAACBQAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAawAAAAMFAAAABnJld2FyZAUAAAAKc2NhbGVWYWx1ZQUAAAAQc2hhcmVUb2tlbkxvY2tlZAMJAABmAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAAZoZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQDCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BAAAAAZyZXdhcmQJAABoAAAAAgUAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAAKnJld2FyZEFmdGVyTGFzdEludGVyZXN0QmVmb3JlUmVhd2FyZFVwZGF0ZQkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BAAAABNpbnRlcmVzdEFmdGVyVXBkYXRlCQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAABkAAAAAgUAAAATaW50ZXJlc3RBZnRlclVwZGF0ZQkAAGsAAAADBQAAAAZyZXdhcmQFAAAACnNjYWxlVmFsdWUFAAAAEHNoYXJlVG9rZW5Mb2NrZWQBAAAACWNsYWltQ2FsYwAAAAMAAAAEcG9vbAAAAAZjYWxsZXIAAAAJcG10QW1vdW50BAAAAAxzaGFyZUFzc2V0SWQJAQAAAA9nZXRTaGFyZUFzc2V0SWQAAAABBQAAAARwb29sBAAAAApzY2FsZVZhbHVlCQEAAAAOY2FsY1NjYWxlVmFsdWUAAAACBQAAAARTV09QBQAAAAxzaGFyZUFzc2V0SWQEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAAA0kdDAxMzQ0NTEzNTEwCQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAEFAAAABHBvb2wEAAAAEmxhc3RJbnRlcmVzdEhlaWdodAgFAAAADSR0MDEzNDQ1MTM1MTAAAAACXzEEAAAADGxhc3RJbnRlcmVzdAgFAAAADSR0MDEzNDQ1MTM1MTAAAAACXzIEAAAADSR0MDEzNTE1MTM2MjcJAQAAAApyZXdhcmRJbmZvAAAAAQUAAAAEcG9vbAQAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCAUAAAANJHQwMTM1MTUxMzYyNwAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTM1MTUxMzYyNwAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDEzNTE1MTM2MjcAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAxMzUxNTEzNjI3AAAAAl80BAAAAA0kdDAxMzYzMjEzNzExCQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABHBvb2wFAAAABmNhbGxlcgQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAADSR0MDEzNjMyMTM3MTEAAAACXzEEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAgFAAAADSR0MDEzNjMyMTM3MTEAAAACXzIEAAAAD2N1cnJlbnRJbnRlcmVzdAkBAAAADGNhbGNJbnRlcmVzdAAAAAoFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BQAAAAxsYXN0SW50ZXJlc3QFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawUAAAAQc2hhcmVUb2tlbkxvY2tlZAUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawUAAAAMc2hhcmVBc3NldElkBQAAAApzY2FsZVZhbHVlBQAAAAlwbXRBbW91bnQEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAGUAAAACBQAAAA9jdXJyZW50SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0CQAFFgAAAAQFAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAPY3VycmVudEludGVyZXN0BQAAAAtjbGFpbUFtb3VudAUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50AQAAABdjYWxjdWxhdGVQcm90b2NvbFJld2FyZAAAAAEAAAAEcG9vbAQAAAANJHQwMTQyMzExNDI5NgkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAABBQAAAARwb29sBAAAABJsYXN0SW50ZXJlc3RIZWlnaHQIBQAAAA0kdDAxNDIzMTE0Mjk2AAAAAl8xBAAAAAxsYXN0SW50ZXJlc3QIBQAAAA0kdDAxNDIzMTE0Mjk2AAAAAl8yBAAAAA0kdDAxNDMwMTE0NDEyCQEAAAAKcmV3YXJkSW5mbwAAAAEFAAAABHBvb2wEAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawgFAAAADSR0MDE0MzAxMTQ0MTIAAAACXzEEAAAAEnJld2FyZFVwZGF0ZUhlaWdodAgFAAAADSR0MDE0MzAxMTQ0MTIAAAACXzIEAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sIBQAAAA0kdDAxNDMwMTE0NDEyAAAAAl8zBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTQzMDExNDQxMgAAAAJfNAQAAAAQc2hhcmVUb2tlbkxvY2tlZAkBAAAAGGdldFRvdGFsU2hhcmVUb2tlbkxvY2tlZAAAAAEFAAAABHBvb2wDAwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAACQAAAAAAAAIFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQAAAAAAAAAAAAHAwkAAGYAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAABmhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAMJAABmAAAAAgUAAAASbGFzdEludGVyZXN0SGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAQAAAAqcmV3YXJkQWZ0ZXJMYXN0SW50ZXJlc3RCZWZvcmVSZWF3YXJkVXBkYXRlCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQEAAAABnJld2FyZAkAAGgAAAACBQAAABVjdXJyZW50UmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAABkAAAAAgUAAAAGcmV3YXJkBQAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUDAwkAAAAAAAACBQAAABBzaGFyZVRva2VuTG9ja2VkAAAAAAAAAAAACQEAAAACIT0AAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAABwMDCQAAZgAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAGaGVpZ2h0CQAAAAAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAcEAAAABnJld2FyZAkAAGgAAAACBQAAABZwcmV2aW91c1Jld2FyZFBlckJsb2NrCQAAZQAAAAIFAAAABmhlaWdodAUAAAASbGFzdEludGVyZXN0SGVpZ2h0BQAAAAZyZXdhcmQDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFnByZXZpb3VzUmV3YXJkUGVyQmxvY2sJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABJsYXN0SW50ZXJlc3RIZWlnaHQFAAAABnJld2FyZAMDAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAAAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQHCQAAZgAAAAIFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BwQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAUAAAAGcmV3YXJkBAAAACpyZXdhcmRBZnRlckxhc3RJbnRlcmVzdEJlZm9yZVJlYXdhcmRVcGRhdGUJAABoAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawkAAGUAAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAEmxhc3RJbnRlcmVzdEhlaWdodAQAAAAGcmV3YXJkCQAAaAAAAAIFAAAAFWN1cnJlbnRS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bGxldAkAAAIAAAABAgAAACxPbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAANJHQwMTc5MDYxODAyNgkBAAAACWNsYWltQ2FsYwAAAAMFAAAABHBvb2wFAAAAHGFkbWluSW5jcmVhc2VJbnRlcmVzdEFkZHJlc3MAAAAAAAAAAAAEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE3OTA2MTgwMjYAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDE3OTA2MTgwMjYAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTc5MDYxODAyNgAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMTc5MDYxODAyNgAAAAJfNAQAAAANJHQwMTgwMzExODEzNAkBAAAACnJld2FyZEluZm8AAAABBQAAAARwb29sBAAAAA1jdXJyZW50UmV3YXJkCAUAAAANJHQwMTgwMzExODEzNAAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMTgwMzExODEzNAAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDE4MDMxMTgxMzQAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAxODAzMTE4MTM0AAAAAl80CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUxhc3RJbnRlcmVzdEhlaWdodAUAAAAGaGVpZ2h0BQAAAANuaWwAAAABaQEAAAAPbG9ja1NoYXJlVG9rZW5zAAAAAQAAAARwb29sBAAAAA0kdDAxODMyNjE4NDAxCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAANJHQwMTgzMjYxODQwMQAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAADSR0MDE4MzI2MTg0MDEAAAACXzIEAAAADSR0MDE4NDA2MTg0NzkJAQAAAAxnZXRBc3NldEluZm8AAAABBQAAAApwbXRBc3NldElkBAAAAA1wbXRTdHJBc3NldElkCAUAAAANJHQwMTg0MDYxODQ3OQAAAAJfMQQAAAAMcG10QXNzZXROYW1lCAUAAAANJHQwMTg0MDYxODQ3OQAAAAJfMgQAAAALcG10RGVjaW1hbHMIBQAAAA0kdDAxODQwNjE4NDc5AAAAAl8zBAAAAA0kdDAxODQ4NDE4NTkyCQEAAAAJY2xhaW1DYWxjAAAAAwUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAlwbXRBbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDE4NDg0MTg1OTIAAAACXzEEAAAAD2N1cnJlbnRJbnRlcmVzdAgFAAAADSR0MDE4NDg0MTg1OTIAAAACXzIEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTg0ODQxODU5MgAAAAJfMwQAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50CAUAAAANJHQwMTg0ODQxODU5MgAAAAJfNAQAAAASdXNlclNoYXJlQW1vdW50TmV3CQAAZAAAAAIFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAUAAAAJcG10QW1vdW50BAAAABFhdmFpbGFibGVGdW5kc05ldwkAAGQAAAACCQEAAAARdXNlckF2YWlsYWJsZVNXT1AAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BAAAABB0b3RhbFNoYXJlQW1vdW50CQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAATdG90YWxTaGFyZUFtb3VudE5ldwkAAGQAAAACBQAAABB0b3RhbFNoYXJlQW1vdW50BQAAAAlwbXRBbW91bnQE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MQAAAAJfMQQAAAAPY3VycmVudEludGVyZXN0CAUAAAANJHQwMjMxNjEyMzI2MQAAAAJfMgQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAyMzE2MTIzMjYxAAAAAl8zBAAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQIBQAAAA0kdDAyMzE2MTIzMjYxAAAAAl80BAAAABJ1c2VyU2hhcmVBbW91bnROZXcJAABlAAAAAgUAAAAVdXNlclNoYXJlVG9rZW5zQW1vdW50BQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BAAAABFhdmFpbGFibGVGdW5kc05ldwkAAGQAAAACCQEAAAARdXNlckF2YWlsYWJsZVNXT1AAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BAAAABB0b3RhbFNoYXJlQW1vdW50CQEAAAAYZ2V0VG90YWxTaGFyZVRva2VuTG9ja2VkAAAAAQUAAAAEcG9vbAQAAAATdG90YWxTaGFyZUFtb3VudE5ldwkAAGUAAAACBQAAABB0b3RhbFNoYXJlQW1vdW50BQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAIFAAAABHBvb2wIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAGYAAAACBQAAABlzaGFyZVRva2Vuc1dpdGhkcmF3QW1vdW50BQAAABV1c2VyU2hhcmVUb2tlbnNBbW91bnQJAAACAAAAAQIAAAAsV2l0aGRyYXcgYW1vdW50IG1vcmUgdGhlbiB1c2VyIGxvY2tlZCBhbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAZgAAAAIFAAAAGXNoYXJlVG9rZW5zV2l0aGRyYXdBbW91bnQFAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAkAAAIAAAABAgAAACxXaXRoZHJhdyBhbW91bnQgbW9yZSB0aGVuIHVzZXIgbG9ja2VkIGFtb3VudAMJAABmAAAAAgkAAGsAAAADAAAAAAAAAABjCQAAZQAAAAIJAQAAAA5hY2NvdW50QmFsYW5jZQAAAAEFAAAADXNoYXJlVG9rZW5zSWQFAAAAGXNoYXJlVG9rZW5zV2l0aGRyYXdBbW91bnQAAAAAAAAAAGQFAAAAE3RvdGFsU2hhcmVBbW91bnROZXcJAAACAAAAAQIAAAAyQmFsYW5jZSBvZiBzaGFyZS10b2tlbiBpcyBncmVhdGVyIHRoYW4gdG90YWxBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABHBvb2wCAAAAAV8JAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU2hhcmVUb2tlbnNMb2NrZWQFAAAAEnVzZXJTaGFyZUFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAA9rZXlMYXN0SW50ZXJlc3QFAAAAD2N1cnJlbnRJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlMYXN0SW50ZXJlc3RIZWlnaHQFAAAABmhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABRrZXlTaGFyZVRva2Vuc0xvY2tlZAUAAAATdG90YWxTaGFyZUFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEGtleUF2YWlsYWJsZVNXT1AFAAAAEWF2YWlsYWJsZUZ1bmRzTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwb29sAgAAAAFfCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEcG9vbAIAAAABXwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAZc2hhcmVUb2tlbnNXaXRoZHJhd0Ftb3VudAUAAAANc2hhcmVUb2tlbnNJZAUAAAADbmlsAAAAAWkBAAAABWNsYWltAAAAAQAAAARwb29sBAAAAA1zaGFyZVRva2Vuc0lkCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAV2YWx1ZQAAAAEJAAQmAAAAAQUAAAAEcG9vbAIAAAAOc2hhcmVfYXNzZXRfaWQEAAAAEHNoYXJlVG9rZW5Mb2NrZWQJAQAAABhnZXRUb3RhbFNoYXJlVG9rZW5Mb2NrZWQAAAABBQAAAARwb29sBAAAAA0kdDAyNTI2NzI1MzMyCQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAEFAAAABHBvb2wEAAAAEmxhc3RJbnRlcmVzdEhlaWdodAgFAAAADSR0MDI1MjY3MjUzMzIAAAACXzEEAAAADGxhc3RJbnRlcmVzdAgFAAAADSR0MDI1MjY3MjUzMzIAAAACXzIEAAAADSR0MDI1MzM3MjU0NDkJAQAAAApyZXdhcmRJbmZvAAAAAQUAAAAEcG9vbAQAAAAVY3VycmVudFJld2FyZFBlckJsb2NrCAUAAAANJHQwMjUzMzcyNTQ0OQAAAAJfMQQAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CAUAAAANJHQwMjUzMzcyNTQ0OQAAAAJfMgQAAAAWcHJldmlvdXNSZXdhcmRQZXJCbG9jawgFAAAADSR0MDI1MzM3MjU0NDkAAAACXzMEAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQIBQAAAA0kdDAyNTMzNzI1NDQ5AAAAAl80BAAAAA0kdDAyNTQ1NDI1NTU0CQEAAAAJY2xhaW1DYWxjAAAAAwUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAyNTQ1NDI1NTU0AAAAAl8xBAAAAA9jdXJyZW50SW50ZXJlc3QIBQAAAA0kdDAyNTQ1NDI1NTU0AAAAAl8yBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDI1NDU0MjU1NTQAAAACXzMEAAAAFXVzZXJTaGFyZVRva2Vuc0Ftb3VudAgFAAAADSR0MDI1NDU0MjU1NTQAAAACXzQEAAAADWF2YWlsYWJsZUZ1bmQJAABkAAAAAgkBAAAAEXVzZXJBdmFpbGFibGVTV09QAAAAAgUAAAAEcG9vbAgFAAAAAWkAAAAGY2FsbGVyBQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAACBQAAAARwb29sCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAANYXZhaWxhYmxlRnVuZAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAAAAAAACBQAAAA1hdmFpbGFibGVGdW5kAAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1ADCQAAZgAAAAIJAABrAAAAAwAAAAAAAAAAYwkBAAAADmFjY291bnRCYWxhbmNlAAAAAQUAAAANc2hhcmVU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", "height": 1636523, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4nqdvdVKtR9ndCnYSFDwTEVQwXemsTQhodEHxDwGCCKo Next: 5Zd8yDuSDHmfB5G7NnVS9fN2n6rWGV8gfqoY9nMjEx4Y Full:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
4+let a = "_total_share_tokens_locked"
55
6-let b = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
6+let b = "share_limit_on_first_harvest"
77
8-let c = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
8+let c = "active"
99
10-let d = "_total_share_tokens_locked"
10+let d = "shutdown_cause"
1111
12-let e = "share_limit_on_first_harvest"
12+let e = "_current_pool_fraction_reward"
1313
14-let f = "active"
14+let f = "_previous_pool_fraction_reward"
1515
16-let g = "shutdown_cause"
16+let g = "_pool_reward_update_height"
1717
18-let h = "_current_pool_fraction_reward"
18+let h = "total_reward_per_block_current"
1919
20-let i = "_previous_pool_fraction_reward"
20+let i = "total_reward_per_block_previous"
2121
22-let j = "_pool_reward_update_height"
22+let j = "reward_update_height"
2323
24-let k = "total_reward_per_block_current"
24+let k = "_last_interest"
2525
26-let l = "total_reward_per_block_previous"
26+let l = "_last_interest_height"
2727
28-let m = "reward_update_height"
28+let m = "_share_tokens_locked"
2929
3030 let n = "_last_interest"
3131
32-let o = "_last_interest_height"
32+let o = "SWOP_id"
3333
34-let p = "_share_tokens_locked"
34+let p = "_SWOP_claimed_amount"
3535
36-let q = "_last_interest"
36+let q = "_SWOP_last_claimed_amount"
3737
38-let r = "SWOP_id"
38+let r = "_available_SWOP"
3939
40-let s = "_SWOP_claimed_amount"
40+let s = "farming_start_height"
4141
42-let t = "_SWOP_last_claimed_amount"
42+let t = "apy"
4343
44-let u = "_available_SWOP"
44+let u = "previous_total_vote_SWOP"
4545
46-let v = "farming_start_height"
46+let v = "swop_year_emission"
4747
48-let w = "apy"
48+let w = "A_asset_balance"
4949
50-let x = "previous_total_vote_SWOP"
50+let x = "B_asset_balance"
5151
52-let y = "swop_year_emission"
52+let y = "_harvest_pool_activeVote_struc"
5353
54-let z = "A_asset_balance"
54+let z = "_harvest_user_pool_activeVote_struc"
5555
56-let A = "B_asset_balance"
56+let A = "share_limit_on_first_harvest"
5757
58-let B = "_harvest_pool_activeVote_struc"
58+let B = "A_asset_id"
5959
60-let C = "_harvest_user_pool_activeVote_struc"
60+let C = "B_asset_id"
6161
62-let D = "share_limit_on_first_harvest"
62+let D = "first_harvest_height"
6363
64-let E = "A_asset_id"
64+let E = "first_harvest"
6565
66-let F = "B_asset_id"
66+let F = "sum_reward_previous"
6767
68-let G = "first_harvest_height"
68+let G = "sum_reward_current"
6969
70-let H = "first_harvest"
70+let H = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
7171
72-let I = "sum_reward_previous"
72+let I = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
7373
74-let J = "sum_reward_current"
74+let J = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
7575
76-let K = Address(base58'3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU')
76+let K = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
7777
78-let L = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
78+let L = 10106
7979
80-let M = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
80+let M = 10000000000
8181
82-let N = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
82+let N = 10
8383
84-let O = 10106
84+let O = 1000
8585
86-let P = 10000000000
86+let P = 100000
8787
88-let Q = 10
88+let Q = 1000000
8989
90-let R = 1000
90+let R = 100000000
9191
92-let S = 100000
92+let S = 100000000000
9393
94-let T = 1000000
94+let T = "admin_pub_1"
9595
96-let U = 100000000
96+let U = "admin_pub_2"
9797
98-let V = 100000000000
98+let V = "admin_pub_3"
9999
100-func W (X) = getStringValue(X, E)
100+let W = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
101+
102+func X (Y) = {
103+ let Z = getString(W, Y)
104+ if ($isInstanceOf(Z, "String"))
105+ then {
106+ let aa = Z
107+ fromBase58String(aa)
108+ }
109+ else {
110+ let ab = Z
111+ throw("Admin public key is empty")
112+ }
113+ }
101114
102115
103-func Y (X) = getStringValue(X, F)
116+let ac = X(T)
117+
118+let ad = X(U)
119+
120+let ae = X(V)
121+
122+func af (ag) = getStringValue(ag, B)
104123
105124
106-func Z (X) = if ((W(X) == "WAVES"))
107- then unit
108- else fromBase58String(W(X))
125+func ah (ag) = getStringValue(ag, C)
109126
110127
111-func aa (X) = if ((Y(X) == "WAVES"))
128+func ai (ag) = if ((af(ag) == "WAVES"))
112129 then unit
113- else fromBase58String(Y(X))
130+ else fromBase58String(af(ag))
114131
115132
116-let ab = "base_period"
117-
118-let ac = "period_length"
119-
120-let ad = "start_height"
121-
122-let ae = "first_harvest_height"
123-
124-let af = "duration_full_vote_power"
125-
126-let ag = "min_vote_power"
127-
128-let ah = valueOrErrorMessage(getInteger(M, ab), "Empty kBasePeriod")
129-
130-let ai = valueOrErrorMessage(getInteger(M, ad), "Empty kStartHeight")
131-
132-let aj = valueOrErrorMessage(getInteger(M, ac), "Empty kPeriodLength")
133-
134-let ak = valueOrErrorMessage(getInteger(M, af), "Empty kDurationFullVotePower")
135-
136-let al = valueOrErrorMessage(getInteger(M, ag), "Empty kMinVotePower")
137-
138-let am = getBooleanValue(this, f)
139-
140-let an = (ah + ((height - ai) / aj))
141-
142-func ao (X) = valueOrElse(getIntegerValue(X, D), 0)
133+func aj (ag) = if ((ah(ag) == "WAVES"))
134+ then unit
135+ else fromBase58String(ah(ag))
143136
144137
145-let ap = getIntegerValue(this, w)
138+let ak = "base_period"
146139
147-let aq = getIntegerValue(this, y)
140+let al = "period_length"
148141
149-func ar (X) = {
150- let as = Z(X)
151- if ($isInstanceOf(as, "ByteVector"))
142+let am = "start_height"
143+
144+let an = "first_harvest_height"
145+
146+let ao = "duration_full_vote_power"
147+
148+let ap = "min_vote_power"
149+
150+let aq = valueOrErrorMessage(getInteger(J, ak), "Empty kBasePeriod")
151+
152+let ar = valueOrErrorMessage(getInteger(J, am), "Empty kStartHeight")
153+
154+let as = valueOrErrorMessage(getInteger(J, al), "Empty kPeriodLength")
155+
156+let at = valueOrErrorMessage(getInteger(J, ao), "Empty kDurationFullVotePower")
157+
158+let au = valueOrErrorMessage(getInteger(J, ap), "Empty kMinVotePower")
159+
160+let av = getBooleanValue(this, c)
161+
162+let aw = (aq + ((height - ar) / as))
163+
164+func ax (ag) = valueOrElse(getIntegerValue(ag, A), 0)
165+
166+
167+let ay = getIntegerValue(this, t)
168+
169+let az = getIntegerValue(this, v)
170+
171+func aA (ag) = {
172+ let Z = ai(ag)
173+ if ($isInstanceOf(Z, "ByteVector"))
152174 then {
153- let at = as
154- value(assetInfo(at)).name
175+ let aB = Z
176+ value(assetInfo(aB)).name
155177 }
156- else if ($isInstanceOf(as, "Unit"))
178+ else if ($isInstanceOf(Z, "Unit"))
157179 then {
158- let au = as
180+ let aC = Z
159181 "WAVES"
160182 }
161183 else throw("Match error")
162184 }
163185
164186
165-func av (X) = {
166- let as = aa(X)
167- if ($isInstanceOf(as, "ByteVector"))
187+func aD (ag) = {
188+ let Z = aj(ag)
189+ if ($isInstanceOf(Z, "ByteVector"))
168190 then {
169- let at = as
170- value(assetInfo(at)).name
191+ let aB = Z
192+ value(assetInfo(aB)).name
171193 }
172- else if ($isInstanceOf(as, "Unit"))
194+ else if ($isInstanceOf(Z, "Unit"))
173195 then {
174- let au = as
196+ let aC = Z
175197 "WAVES"
176198 }
177199 else throw("Match error")
178200 }
179201
180202
181-let aw = fromBase58String(getStringValue(this, r))
203+let aE = fromBase58String(getStringValue(this, o))
182204
183-func ax (X) = valueOrElse(getBoolean(X, H), false)
205+func aF (ag) = valueOrElse(getBoolean(ag, E), false)
184206
185207
186-func ay (X) = valueOrElse(getInteger(X, G), 0)
208+func aG (ag) = valueOrElse(getInteger(ag, D), 0)
187209
188210
189-func az (X) = valueOrErrorMessage(getInteger(X, z), ("No data on the key: " + z))
211+func aH (ag) = valueOrErrorMessage(getInteger(ag, w), ("No data on the key: " + w))
190212
191213
192-func aA (X) = valueOrErrorMessage(getInteger(X, A), ("No data on the key: " + A))
214+func aI (ag) = valueOrErrorMessage(getInteger(ag, x), ("No data on the key: " + x))
193215
194216
195-func aB (X) = valueOrErrorMessage(getInteger(X, e), ("No data on the key: " + e))
217+func aJ (ag) = valueOrErrorMessage(getInteger(ag, b), ("No data on the key: " + b))
196218
197219
198-func aC (X) = valueOrErrorMessage(getInteger(this, (X + d)), (("No data on the key: " + X) + d))
220+func aK (ag) = valueOrErrorMessage(getInteger(this, (ag + a)), (("No data on the key: " + ag) + a))
199221
200222
201-func aD (X) = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
223+func aL (ag) = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
202224
203225
204-func aE (aF) = {
205- let as = aF
206- if ($isInstanceOf(as, "ByteVector"))
226+func aM (aN) = {
227+ let Z = aN
228+ if ($isInstanceOf(Z, "ByteVector"))
207229 then {
208- let at = as
209- assetBalance(this, at)
230+ let aB = Z
231+ assetBalance(this, aB)
210232 }
211- else if ($isInstanceOf(as, "Unit"))
233+ else if ($isInstanceOf(Z, "Unit"))
212234 then {
213- let au = as
235+ let aC = Z
214236 wavesBalance(this).available
215237 }
216238 else throw("Match error")
217239 }
218240
219241
220-func aG (aF) = {
221- let as = aF
222- if ($isInstanceOf(as, "ByteVector"))
242+func aO (aN) = {
243+ let Z = aN
244+ if ($isInstanceOf(Z, "ByteVector"))
223245 then {
224- let at = as
225- let aH = toBase58String(at)
226- let aI = valueOrErrorMessage(assetInfo(at), (("Asset " + aH) + " doesn't exist"))
227- $Tuple3(aH, aI.name, aI.decimals)
246+ let aB = Z
247+ let aP = toBase58String(aB)
248+ let aQ = valueOrErrorMessage(assetInfo(aB), (("Asset " + aP) + " doesn't exist"))
249+ $Tuple3(aP, aQ.name, aQ.decimals)
228250 }
229- else if ($isInstanceOf(as, "Unit"))
251+ else if ($isInstanceOf(Z, "Unit"))
230252 then {
231- let au = as
253+ let aC = Z
232254 $Tuple3("WAVES", "WAVES", 8)
233255 }
234256 else throw("Match error")
235257 }
236258
237259
238-func aJ (aK,aL) = {
239- let aM = value(assetInfo(aK)).decimals
240- let aN = value(assetInfo(aL)).decimals
241- let aO = ((aN - aM) + 8)
242- pow(10, 0, aO, 0, 0, HALFDOWN)
260+func aR (aS,aT) = {
261+ let aU = value(assetInfo(aS)).decimals
262+ let aV = value(assetInfo(aT)).decimals
263+ let aW = ((aV - aU) + 8)
264+ pow(10, 0, aW, 0, 0, DOWN)
243265 }
244266
245267
246-func aP (X,aQ) = valueOrElse(getInteger(this, (((X + "_") + toString(aQ)) + u)), 0)
268+func aX (ag,aY) = valueOrElse(getInteger(this, (((ag + "_") + toString(aY)) + r)), 0)
247269
248270
249-func aR (X) = {
250- let aS = valueOrErrorMessage(getInteger(K, k), ((("No data on the key: " + k) + " at address ") + toString(K)))
251- let aT = valueOrErrorMessage(getInteger(K, l), ((("No data on the key: " + l) + " at address ") + toString(K)))
252- let aU = valueOrErrorMessage(getInteger(K, (X + h)), (((("No data on the key: " + X) + h) + " at address ") + toString(K)))
253- let aV = valueOrErrorMessage(getInteger(K, m), ((("No data on the key: " + m) + " at address ") + toString(K)))
254- let aW = valueOrElse(getInteger(K, (X + j)), 0)
255- let aX = valueOrErrorMessage(getInteger(K, (X + i)), (((("No data on the key: " + X) + i) + " at address ") + toString(K)))
256- let aY = fraction(aS, aU, P)
257- let aZ = fraction(aT, aX, P)
258- if (if ((aY > aS))
271+func aZ (ag) = {
272+ let ba = valueOrErrorMessage(getInteger(H, h), ((("No data on the key: " + h) + " at address ") + toString(H)))
273+ let bb = valueOrErrorMessage(getInteger(H, i), ((("No data on the key: " + i) + " at address ") + toString(H)))
274+ let bc = valueOrErrorMessage(getInteger(H, (ag + e)), (((("No data on the key: " + ag) + e) + " at address ") + toString(H)))
275+ let bd = valueOrErrorMessage(getInteger(H, j), ((("No data on the key: " + j) + " at address ") + toString(H)))
276+ let be = valueOrElse(getInteger(H, (ag + g)), 0)
277+ let bf = valueOrErrorMessage(getInteger(H, (ag + f)), (((("No data on the key: " + ag) + f) + " at address ") + toString(H)))
278+ let bg = fraction(ba, bc, M)
279+ let bh = fraction(bb, bf, M)
280+ if (if ((bg > ba))
259281 then true
260- else (aZ > aT))
282+ else (bh > bb))
261283 then throw("rewardPoolCurrent > totalRewardPerBlockCurrent or rewardPoolPrevious > totalRewardPerBlockPrevious")
262- else $Tuple4(aY, aV, aZ, aW)
284+ else $Tuple4(bg, bd, bh, be)
263285 }
264286
265287
266-func ba (X) = {
267- let bb = valueOrErrorMessage(getInteger(this, (X + n)), (("No data on the key: " + X) + n))
268- let bc = valueOrElse(getInteger(this, (X + o)), height)
269- $Tuple2(bc, bb)
288+func bi (ag) = {
289+ let bj = valueOrErrorMessage(getInteger(this, (ag + k)), (("No data on the key: " + ag) + k))
290+ let bk = valueOrElse(getInteger(this, (ag + l)), height)
291+ $Tuple2(bk, bj)
270292 }
271293
272294
273-func bd (X,be) = {
274- let bf = getInteger(this, (((X + "_") + toString(be)) + q))
275- let bg = getInteger(this, (((X + "_") + toString(be)) + p))
276- let bb = valueOrErrorMessage(getInteger(this, (X + n)), (("No data on the key: " + X) + n))
277- let bh = {
278- let as = bf
279- if ($isInstanceOf(as, "Int"))
295+func bl (ag,bm) = {
296+ let bn = getInteger(this, (((ag + "_") + toString(bm)) + n))
297+ let bo = getInteger(this, (((ag + "_") + toString(bm)) + m))
298+ let bj = valueOrErrorMessage(getInteger(this, (ag + k)), (("No data on the key: " + ag) + k))
299+ let bp = {
300+ let Z = bn
301+ if ($isInstanceOf(Z, "Int"))
280302 then {
281- let bf = as
282- bf
303+ let bn = Z
304+ bn
283305 }
284- else bb
306+ else bj
285307 }
286- let bi = {
287- let as = bg
288- if ($isInstanceOf(as, "Int"))
308+ let bq = {
309+ let Z = bo
310+ if ($isInstanceOf(Z, "Int"))
289311 then {
290- let bg = as
291- bg
312+ let bo = Z
313+ bo
292314 }
293315 else 0
294316 }
295- $Tuple2(bh, bi)
317+ $Tuple2(bp, bq)
296318 }
297319
298320
299-func bj (bc,aV,aW,bb,bk,bl,bm,bn,bo,bp) = if ((bl == 0))
321+func br (bk,bd,be,bj,bs,bt,bu,bv,bw,bx) = if ((bt == 0))
300322 then 0
301- else if ((aW != 0))
302- then if (if ((aV > height))
303- then (aV == aW)
323+ else if ((be != 0))
324+ then if (if ((bd > height))
325+ then (bd == be)
304326 else false)
305327 then {
306- let bq = (bm * (height - bc))
307- (bb + fraction(bq, bo, bl))
328+ let by = (bu * (height - bk))
329+ (bj + fraction(by, bw, bt))
308330 }
309- else if (if ((height > aV))
310- then (aV != aW)
331+ else if (if ((height > bd))
332+ then (bd != be)
311333 else false)
312334 then {
313- let bq = (bm * (height - bc))
314- (bb + fraction(bq, bo, bl))
335+ let by = (bu * (height - bk))
336+ (bj + fraction(by, bw, bt))
315337 }
316- else if (if (if ((height > aV))
317- then (aV == aW)
338+ else if (if (if ((height > bd))
339+ then (bd == be)
318340 else false)
319- then (bc > aV)
341+ then (bk > bd)
320342 else false)
321343 then {
322- let bq = (bk * (height - bc))
323- (bb + fraction(bq, bo, bl))
344+ let by = (bs * (height - bk))
345+ (bj + fraction(by, bw, bt))
324346 }
325347 else {
326- let br = (bm * (aV - bc))
327- let bs = (bb + fraction(br, bo, bl))
328- let bq = (bk * (height - aV))
329- (bs + fraction(bq, bo, bl))
348+ let bz = (bu * (bd - bk))
349+ let bA = (bj + fraction(bz, bw, bt))
350+ let by = (bs * (height - bd))
351+ (bA + fraction(by, bw, bt))
330352 }
331- else if ((aV > height))
353+ else if ((bd > height))
332354 then {
333- let bq = (bm * (height - bc))
334- (bb + fraction(bq, bo, bl))
355+ let by = (bu * (height - bk))
356+ (bj + fraction(by, bw, bt))
335357 }
336- else if ((bc > aV))
358+ else if ((bk > bd))
337359 then {
338- let bq = (bk * (height - bc))
339- (bb + fraction(bq, bo, bl))
360+ let by = (bs * (height - bd))
361+ (bj + fraction(by, bw, bt))
340362 }
341363 else {
342- let br = (bm * (aV - bc))
343- let bs = (bb + fraction(br, bo, bl))
344- let bq = (bk * (height - aV))
345- (bs + fraction(bq, bo, bl))
364+ let bz = (bu * (bd - bk))
365+ let bA = (bj + fraction(bz, bw, bt))
366+ let by = (bs * (height - bd))
367+ (bA + fraction(by, bw, bt))
346368 }
347369
348370
349-func bt (X,bu,bp) = {
350- let bn = aD(X)
351- let bo = aJ(aw, bn)
352- let bl = aC(X)
353- let bv = ba(X)
354- let bc = bv._1
355- let bb = bv._2
356- let bw = aR(X)
357- let bk = bw._1
358- let aV = bw._2
359- let bm = bw._3
360- let aW = bw._4
361- let bx = bd(X, bu)
362- let bf = bx._1
363- let bi = bx._2
364- let by = bj(bc, aV, aW, bb, bk, bl, bm, bn, bo, bp)
365- let bz = fraction(bi, (by - bf), bo)
366- let bA = by
367- $Tuple4(bA, by, bz, bi)
371+func bB (ag,bC,bx) = {
372+ let bv = aL(ag)
373+ let bw = aR(aE, bv)
374+ let bt = aK(ag)
375+ let bD = bi(ag)
376+ let bk = bD._1
377+ let bj = bD._2
378+ let bE = aZ(ag)
379+ let bs = bE._1
380+ let bd = bE._2
381+ let bu = bE._3
382+ let be = bE._4
383+ let bF = bl(ag, bC)
384+ let bn = bF._1
385+ let bq = bF._2
386+ let bG = br(bk, bd, be, bj, bs, bt, bu, bv, bw, bx)
387+ let bH = fraction(bq, (bG - bn), bw)
388+ let bI = bG
389+ $Tuple4(bI, bG, bH, bq)
368390 }
369391
370392
371-func bB (X) = {
372- let bC = ba(X)
373- let bc = bC._1
374- let bb = bC._2
375- let bD = aR(X)
376- let bk = bD._1
377- let aV = bD._2
378- let bm = bD._3
379- let aW = bD._4
380- let bl = aC(X)
381- if (if ((bl == 0))
382- then (aW == 0)
393+func bJ (ag) = {
394+ let bK = bi(ag)
395+ let bk = bK._1
396+ let bj = bK._2
397+ let bL = aZ(ag)
398+ let bs = bL._1
399+ let bd = bL._2
400+ let bu = bL._3
401+ let be = bL._4
402+ let bt = aK(ag)
403+ if (if ((bt == 0))
404+ then (be == 0)
383405 else false)
384- then if ((aV > height))
406+ then if ((bd > height))
385407 then {
386- let bq = (bm * (height - bc))
387- bq
408+ let by = (bu * (height - bk))
409+ by
388410 }
389- else if ((bc > aV))
411+ else if ((bk > bd))
390412 then {
391- let bq = (bk * (height - bc))
392- bq
413+ let by = (bs * (height - bk))
414+ by
393415 }
394416 else {
395- let br = (bm * (aV - bc))
396- let bq = (bk * (height - aV))
397- (bq + br)
417+ let bz = (bu * (bd - bk))
418+ let by = (bs * (height - bd))
419+ (by + bz)
398420 }
399- else if (if ((bl == 0))
400- then (aW != 0)
421+ else if (if ((bt == 0))
422+ then (be != 0)
401423 else false)
402- then if (if ((aV > height))
403- then (aV == aW)
424+ then if (if ((bd > height))
425+ then (bd == be)
404426 else false)
405427 then {
406- let bq = (bm * (height - bc))
407- bq
428+ let by = (bu * (height - bk))
429+ by
408430 }
409- else if (if ((height > aV))
410- then (aV != aW)
431+ else if (if ((height > bd))
432+ then (bd != be)
411433 else false)
412434 then {
413- let bq = (bm * (height - bc))
414- bq
435+ let by = (bu * (height - bk))
436+ by
415437 }
416- else if (if (if ((height > aV))
417- then (aV == aW)
438+ else if (if (if ((height > bd))
439+ then (bd == be)
418440 else false)
419- then (bc > aV)
441+ then (bk > bd)
420442 else false)
421443 then {
422- let bq = (bk * (height - bc))
423- bq
444+ let by = (bs * (height - bk))
445+ by
424446 }
425447 else {
426- let br = (bm * (aV - bc))
427- let bq = (bk * (height - aV))
428- (bq + br)
448+ let bz = (bu * (bd - bk))
449+ let by = (bs * (height - bd))
450+ (by + bz)
429451 }
430452 else 0
431453 }
432454
433455
434-func bE (X,bF) = {
435- let bG = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
436- if ((bF == bG))
456+func bM (ag,bN) = {
457+ let bO = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
458+ if ((bN == bO))
437459 then true
438460 else false
439461 }
440462
441463
442-func bH (X,aQ) = valueOrElse(getInteger(this, (((X + "_") + toString(aQ)) + s)), 0)
464+func bP (ag,aY) = valueOrElse(getInteger(this, (((ag + "_") + toString(aY)) + p)), 0)
443465
444466
445-func bI (bJ) = [BooleanEntry(f, false), StringEntry(g, bJ)]
467+func bQ (bR) = [BooleanEntry(c, false), StringEntry(d, bR)]
446468
447469
448-@Callable(bK)
449-func init (bL) = if (isDefined(getString(this, r)))
470+@Callable(bS)
471+func init (bT) = if (isDefined(getString(this, o)))
450472 then throw("SWOP already initialized")
451473 else {
452- let bM = 100000000000000
453- let bN = Issue("SWOP", "SWOP protocol token", bM, 8, true)
454- let bO = calculateAssetId(bN)
455-[BooleanEntry(f, true), Issue("SWOP", "SWOP protocol token", bM, 8, true), StringEntry(r, toBase58String(bO))]
474+ let bU = 100000000000000
475+ let bV = Issue("SWOP", "SWOP protocol token", bU, 8, true)
476+ let bW = calculateAssetId(bV)
477+[BooleanEntry(c, true), Issue("SWOP", "SWOP protocol token", bU, 8, true), StringEntry(o, toBase58String(bW))]
456478 }
457479
458480
459481
460-@Callable(bK)
461-func initPoolShareFarming (X) = if ((bK.caller != this))
482+@Callable(bS)
483+func initPoolShareFarming (ag) = if ((bS.caller != this))
462484 then throw("Only the DApp itself can call this function")
463485 else {
464- let bP = aR(X)
465- let bQ = bP._1
466- let aV = bP._2
467- let bm = bP._3
468- let aW = bP._4
469-[IntegerEntry((X + d), 0), IntegerEntry((X + n), 0), IntegerEntry((X + o), height)]
486+ let bX = aZ(ag)
487+ let bY = bX._1
488+ let bd = bX._2
489+ let bu = bX._3
490+ let be = bX._4
491+[IntegerEntry((ag + a), 0), IntegerEntry((ag + k), 0), IntegerEntry((ag + l), height)]
470492 }
471493
472494
473495
474-@Callable(bK)
475-func updatePoolInterest (X) = if ((bK.caller != L))
496+@Callable(bS)
497+func updatePoolInterest (ag) = if ((bS.caller != I))
476498 then throw("Only the Admin itself can call this function")
477- else if (!(am))
499+ else if (!(av))
478500 then throw("DApp is inactive at this moment")
479501 else {
480- let bR = bt(X, N, 0)
481- let bA = bR._1
482- let by = bR._2
483- let bz = bR._3
484- let bi = bR._4
485- let bS = aR(X)
486- let bQ = bS._1
487- let aV = bS._2
488- let bm = bS._3
489- let aW = bS._4
490-[IntegerEntry((X + n), bA), IntegerEntry((X + o), height)]
502+ let bZ = bB(ag, K, 0)
503+ let bI = bZ._1
504+ let bG = bZ._2
505+ let bH = bZ._3
506+ let bq = bZ._4
507+ let ca = aZ(ag)
508+ let bY = ca._1
509+ let bd = ca._2
510+ let bu = ca._3
511+ let be = ca._4
512+[IntegerEntry((ag + k), bI), IntegerEntry((ag + l), height)]
491513 }
492514
493515
494516
495-@Callable(bK)
496-func lockShareTokens (X) = {
497- let bT = $Tuple2(bK.payments[0].amount, bK.payments[0].assetId)
498- let bp = bT._1
499- let bF = bT._2
500- let bU = aG(bF)
501- let bV = bU._1
502- let bW = bU._2
503- let bX = bU._3
504- let bY = bt(X, bK.caller, bp)
505- let bA = bY._1
506- let by = bY._2
507- let bz = bY._3
508- let bi = bY._4
509- let bZ = (bi + bp)
510- let ca = (aP(X, bK.caller) + bz)
511- let cb = aC(X)
512- let cc = (cb + bp)
513- let cd = bH(X, bK.caller)
514- let ce = (cd + bz)
515- let cf = [IntegerEntry((((X + "_") + toString(bK.caller)) + q), bA), IntegerEntry((((X + "_") + toString(bK.caller)) + p), bZ), IntegerEntry((X + d), cc), IntegerEntry((X + n), by), IntegerEntry((X + o), height), IntegerEntry((((X + "_") + toString(bK.caller)) + s), ce), IntegerEntry((((X + "_") + toString(bK.caller)) + t), bz), IntegerEntry((((X + "_") + toString(bK.caller)) + u), ca)]
516- if ((0 >= bp))
517+@Callable(bS)
518+func lockShareTokens (ag) = {
519+ let cb = $Tuple2(bS.payments[0].amount, bS.payments[0].assetId)
520+ let bx = cb._1
521+ let bN = cb._2
522+ let cc = aO(bN)
523+ let cd = cc._1
524+ let ce = cc._2
525+ let cf = cc._3
526+ let cg = bB(ag, bS.caller, bx)
527+ let bI = cg._1
528+ let bG = cg._2
529+ let bH = cg._3
530+ let bq = cg._4
531+ let ch = (bq + bx)
532+ let ci = (aX(ag, bS.caller) + bH)
533+ let cj = aK(ag)
534+ let ck = (cj + bx)
535+ let cl = bP(ag, bS.caller)
536+ let cm = (cl + bH)
537+ let cn = [IntegerEntry((((ag + "_") + toString(bS.caller)) + n), bI), IntegerEntry((((ag + "_") + toString(bS.caller)) + m), ch), IntegerEntry((ag + a), ck), IntegerEntry((ag + k), bG), IntegerEntry((ag + l), height), IntegerEntry((((ag + "_") + toString(bS.caller)) + p), cm), IntegerEntry((((ag + "_") + toString(bS.caller)) + q), bH), IntegerEntry((((ag + "_") + toString(bS.caller)) + r), ci)]
538+ if ((0 >= bx))
517539 then throw("You can't lock token")
518- else if (!(am))
540+ else if (!(av))
519541 then throw("DApp is inactive at this moment")
520- else if (!(bE(X, bF)))
542+ else if (!(bM(ag, bN)))
521543 then throw("Incorrect pmtAssetId")
522- else if (if (ax(Address(fromBase58String(X))))
523- then (ay(Address(fromBase58String(X))) > height)
544+ else if (if (aF(Address(fromBase58String(ag))))
545+ then (aG(Address(fromBase58String(ag))) > height)
524546 else false)
525547 then {
526- let cg = ((((ay(Address(fromBase58String(X))) - ai) + 1) / aj) - 1)
527- let ch = split(getStringValue(M, (((toString(bK.caller) + "_") + X) + "_user_pool_struc")), "_")
528- let ci = split(getStringValue(M, (X + "_pool_struc")), "_")
529- let cj = split(valueOrElse(getString(M, (((toString(bK.caller) + "_") + X) + C)), ""), "_")
530- let ck = split(valueOrElse(getString(M, (X + B)), ""), "_")
531- let cl = bi
532- let cm = if ((toString(an) == ch[2]))
533- then valueOrElse(parseInt(cj[0]), 0)
534- else valueOrElse(parseInt(ch[1]), 0)
535- let cn = if ((toString(an) == ci[2]))
536- then valueOrElse(parseInt(ck[0]), 0)
537- else valueOrElse(parseInt(ci[1]), 0)
538- let co = bB(X)
539- if ((cm != 0))
548+ let co = ((((aG(Address(fromBase58String(ag))) - ar) + 1) / as) - 1)
549+ let cp = split(getStringValue(J, (((toString(bS.caller) + "_") + ag) + "_user_pool_struc")), "_")
550+ let cq = split(getStringValue(J, (ag + "_pool_struc")), "_")
551+ let cr = split(valueOrElse(getString(J, (((toString(bS.caller) + "_") + ag) + z)), ""), "_")
552+ let cs = split(valueOrElse(getString(J, (ag + y)), ""), "_")
553+ let ct = bq
554+ let cu = if ((toString(aw) == cp[2]))
555+ then valueOrElse(parseInt(cr[0]), 0)
556+ else valueOrElse(parseInt(cp[1]), 0)
557+ let cv = if ((toString(aw) == cq[2]))
558+ then valueOrElse(parseInt(cs[0]), 0)
559+ else valueOrElse(parseInt(cq[1]), 0)
560+ let cw = aM(bN)
561+ let cx = fraction(99, (cw + bx), 100)
562+ let cy = bJ(ag)
563+ if ((cu != 0))
540564 then {
541- let cp = aB(addressFromStringValue(X))
542- let cq = (fraction(cp, cm, cn) - cl)
543- if (if ((size(cj) > 1))
544- then (valueOrElse(parseInt(cj[1]), 0) >= cg)
565+ let cz = aJ(addressFromStringValue(ag))
566+ let cA = (fraction(cz, cu, cv) - ct)
567+ if (if ((size(cr) > 1))
568+ then (valueOrElse(parseInt(cr[1]), 0) >= co)
545569 else false)
546570 then throw("You can't share token")
547- else if ((bp > cp))
548- then throw(("You can't share token more than " + toString(cp)))
549- else if ((cq > 0))
550- then if ((fraction(99, (aE(bF) + bp), 100) > cc))
571+ else if ((bx > cz))
572+ then throw(("You can't share token more than " + toString(cz)))
573+ else if ((cA > 0))
574+ then if ((cx > ck))
551575 then throw("Balance of share-token is greater than totalAmount")
552- else if ((cb == 0))
553- then (cf ++ [ScriptTransfer(L, co, aw)])
554- else if ((cq >= bp))
555- then cf
556- else throw(("Your maximum share token is " + toString(cq)))
576+ else if (if ((cj == 0))
577+ then (cA >= bx)
578+ else false)
579+ then (cn ++ [ScriptTransfer(I, cy, aE)])
580+ else if ((cA >= bx))
581+ then cn
582+ else throw(("Your maximum share token is " + toString(cA)))
557583 else throw("You can't share token")
558584 }
559585 else throw("Your amount of token less than 0")
560586 }
561- else cf
587+ else cn
562588 }
563589
564590
565591
566-@Callable(bK)
567-func withdrawShareTokens (X,cr) = {
568- let cs = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
569- let ct = bt(X, bK.caller, 1)
570- let bA = ct._1
571- let by = ct._2
572- let bz = ct._3
573- let bi = ct._4
574- let bZ = (bi - cr)
575- let ca = (aP(X, bK.caller) + bz)
576- let cb = aC(X)
577- let cc = (cb - cr)
578- let cd = bH(X, bK.caller)
579- let ce = (cd + bz)
580- if ((cr > bi))
592+@Callable(bS)
593+func withdrawShareTokens (ag,cB) = {
594+ let cC = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
595+ let cD = bB(ag, bS.caller, 1)
596+ let bI = cD._1
597+ let bG = cD._2
598+ let bH = cD._3
599+ let bq = cD._4
600+ let ch = (bq - cB)
601+ let ci = (aX(ag, bS.caller) + bH)
602+ let cj = aK(ag)
603+ let ck = (cj - cB)
604+ let cl = bP(ag, bS.caller)
605+ let cm = (cl + bH)
606+ if ((cB > bq))
581607 then throw("Withdraw amount more then user locked amount")
582- else if (!(am))
608+ else if (!(av))
583609 then throw("DApp is inactive at this moment")
584- else if ((cr > bi))
610+ else if ((cB > bq))
585611 then throw("Withdraw amount more then user locked amount")
586- else if ((fraction(99, (aE(cs) - cr), 100) > cc))
612+ else if ((fraction(99, (aM(cC) - cB), 100) > ck))
587613 then throw("Balance of share-token is greater than totalAmount")
588- else [IntegerEntry((((X + "_") + toString(bK.caller)) + q), bA), IntegerEntry((((X + "_") + toString(bK.caller)) + p), bZ), IntegerEntry((X + n), by), IntegerEntry((X + o), height), IntegerEntry((X + d), cc), IntegerEntry((((X + "_") + toString(bK.caller)) + u), ca), IntegerEntry((((X + "_") + toString(bK.caller)) + s), ce), IntegerEntry((((X + "_") + toString(bK.caller)) + t), bz), ScriptTransfer(bK.caller, cr, cs)]
614+ else [IntegerEntry((((ag + "_") + toString(bS.caller)) + n), bI), IntegerEntry((((ag + "_") + toString(bS.caller)) + m), ch), IntegerEntry((ag + k), bG), IntegerEntry((ag + l), height), IntegerEntry((ag + a), ck), IntegerEntry((((ag + "_") + toString(bS.caller)) + r), ci), IntegerEntry((((ag + "_") + toString(bS.caller)) + p), cm), IntegerEntry((((ag + "_") + toString(bS.caller)) + q), bH), ScriptTransfer(bS.caller, cB, cC)]
589615 }
590616
591617
592618
593-@Callable(bK)
594-func claim (X) = {
595- let cs = fromBase58String(getStringValue(value(addressFromString(X)), "share_asset_id"))
596- let bl = aC(X)
597- let cu = ba(X)
598- let bc = cu._1
599- let bb = cu._2
600- let cv = aR(X)
601- let bk = cv._1
602- let aV = cv._2
603- let bm = cv._3
604- let aW = cv._4
605- let cw = bt(X, bK.caller, 1)
606- let bA = cw._1
607- let by = cw._2
608- let bz = cw._3
609- let bi = cw._4
610- let cx = (aP(X, bK.caller) + bz)
611- let cd = bH(X, bK.caller)
612- let ce = (cd + bz)
613- if ((cx == 0))
619+@Callable(bS)
620+func claim (ag) = {
621+ let cC = fromBase58String(getStringValue(value(addressFromString(ag)), "share_asset_id"))
622+ let bt = aK(ag)
623+ let cE = bi(ag)
624+ let bk = cE._1
625+ let bj = cE._2
626+ let cF = aZ(ag)
627+ let bs = cF._1
628+ let bd = cF._2
629+ let bu = cF._3
630+ let be = cF._4
631+ let cG = bB(ag, bS.caller, 1)
632+ let bI = cG._1
633+ let bG = cG._2
634+ let bH = cG._3
635+ let bq = cG._4
636+ let cH = (aX(ag, bS.caller) + bH)
637+ let cl = bP(ag, bS.caller)
638+ let cm = (cl + bH)
639+ if ((cH == 0))
614640 then throw("You have 0 available SWOP")
615- else if (!(am))
641+ else if (!(av))
616642 then throw("DApp is inactive at this moment")
617- else if ((cx == 0))
643+ else if ((cH == 0))
618644 then throw("You have 0 available SWOP")
619- else if ((fraction(99, aE(cs), 100) > bl))
645+ else if ((fraction(99, aM(cC), 100) > bt))
620646 then throw("Balance of share-token is greater than totalAmount")
621- else [IntegerEntry((((X + "_") + toString(bK.caller)) + q), bA), IntegerEntry((X + n), by), IntegerEntry((X + o), height), IntegerEntry((((X + "_") + toString(bK.caller)) + u), 0), IntegerEntry((((X + "_") + toString(bK.caller)) + s), ce), IntegerEntry((((X + "_") + toString(bK.caller)) + t), bz), ScriptTransfer(bK.caller, cx, aw)]
647+ else [IntegerEntry((((ag + "_") + toString(bS.caller)) + n), bI), IntegerEntry((ag + k), bG), IntegerEntry((ag + l), height), IntegerEntry((((ag + "_") + toString(bS.caller)) + r), 0), IntegerEntry((((ag + "_") + toString(bS.caller)) + p), cm), IntegerEntry((((ag + "_") + toString(bS.caller)) + q), bH), ScriptTransfer(bS.caller, cH, aE)]
622648 }
623649
624650
625651
626-@Callable(bK)
627-func shutdown () = if (!(am))
628- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
629- else if (!(containsElement([a, b, c], bK.callerPublicKey)))
652+@Callable(bS)
653+func shutdown () = if (!(av))
654+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, d), "the cause wasn't specified")))
655+ else if (!(containsElement([ac, ad, ae], bS.callerPublicKey)))
630656 then throw("Only admin can call this function")
631- else bI("Paused by admin")
657+ else bQ("Paused by admin")
632658
633659
634660
635-@Callable(bK)
636-func activate () = if (am)
661+@Callable(bS)
662+func activate () = if (av)
637663 then throw("DApp is already active")
638- else if (!(containsElement([a, b, c], bK.callerPublicKey)))
664+ else if (!(containsElement([ac, ad, ae], bS.callerPublicKey)))
639665 then throw("Only admin can call this function")
640- else [BooleanEntry(f, true), DeleteEntry(g)]
666+ else [BooleanEntry(c, true), DeleteEntry(d)]
641667
642668
643-@Verifier(cy)
644-func cz () = {
645- let as = cy
646- sigVerify(cy.bodyBytes, cy.proofs[0], cy.senderPublicKey)
669+@Verifier(cI)
670+func cJ () = {
671+ let Z = cI
672+ let cK = if (sigVerify(cI.bodyBytes, cI.proofs[0], ac))
673+ then 1
674+ else 0
675+ let cL = if (sigVerify(cI.bodyBytes, cI.proofs[1], ad))
676+ then 1
677+ else 0
678+ let cM = if (sigVerify(cI.bodyBytes, cI.proofs[2], ae))
679+ then 1
680+ else 0
681+ (((cK + cL) + cM) >= 2)
647682 }
648683

github/deemru/w8io/169f3d6 
241.61 ms