tx · 7yUQ6jv62TThmLNk6j7WChmmJ1HKAtHE116Kwog1pUh7

3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov:  -0.01800000 Waves

2024.03.15 09:47 [4084623] smart account 3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov > SELF 0.00000000 Waves

{ "type": 13, "id": "7yUQ6jv62TThmLNk6j7WChmmJ1HKAtHE116Kwog1pUh7", "fee": 1800000, "feeAssetId": null, "timestamp": 1710485327728, "version": 2, "chainId": 87, "sender": "3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov", "senderPublicKey": "5BKRz3VCmywzUUoj3kTwCzrCiP8waYbkaymD8B1kdRH2", "proofs": [ "4B53k37phvLAGFrpscCjnPHsdpzRcXi6kpipzDdrLarFGdsdoUxBVXnS27jtpBDXXhmRGznLmJESNvxJNC3Q6nea" ], "script": "base64:BgIqCAISABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAQAENdHJ5R2V0SW50ZWdlcgIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAAJkNgDAhD0AAmQ4AIDC1y8AA2QxNgkAaAIFAmQ4BQJkOAAHaW52b2tlcgkBB0FkZHJlc3MBARoBVxiJGyRtL+JEpbK5LtBkI1AuKd9yMNoyWQAGcG9vbElkARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgAKcG9vbFN0cmluZwkA2AQBBQZwb29sSWQABXBvb2wyARoBV/VGaCeADWjfTiZ1erSh0ygx4Am/9Xl5NwAHcG9vbEJCQgEaAVdS7pNWFE1+B4zShQ/mflxXN34cn+88gh0ABnBvb2xMUAEaAVf61bOvSU24UtR2KrAcY14nOVcIK6sa+fsACXB6QnVybnh0bgEg6E/bZSZbhJ23xWeQDTdrti3/RRlCZunX//bcTfwTTk4ABXB6QkJCASCJDcNi70nCdEFjgsae3z2E0F+spys+Mc0qwSdofc8VugAFeHRuSWQBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAlidXJueHRuSWQBICRPdXlqfjM5uPsM/4SpcVxeyi3eM6DEXWn56kQR7ExUAA1idXJueHRuU3RyaW5nCQDYBAEFCWJ1cm54dG5JZAAGd2VzdElkASAxg4RvRZ/dtx1aHhf9QX5E2DfZB5PX5OV7imckX+PA+QAHdmlyZXNJZAEguNriNwFicF+aqFuyGQy9D8Nlr3UGtlgt3QeTVqndqZcABWVnZ0lkASCjn39PI3JR0SziIZJiiE0MC/PqIm6B1a/8C5MXzm2xyQAGc3VyZklkASCS0fRK4hEBK/R+6t4hjj3F+8nyfc6Hsu1SGfA6TiRY9QAGbnNidElkASBV7sO+qgvwUOhxyBuqbnCepLHI/kouucHxzMVrD3iXSwAEd3hJZAEgkwEcq6nHbiVXzmaecba9qmv4POhYCyru2aBOuzzcFLEABnN3b3BJZAEgy5Y+heb1k1ZPj3mDERR4TyZ+jN5UknzW4a3AXGioruwAB3dhdmVzSWQBBBOr2TMAB3VzZHRlcmMBIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AAd1c2RjZXJjASDxv3SPaQJrrq/OO7Bv813wxUqhMWxWt9z6Kkqh65EaSQAHdXNkdGJzYwEgh4UqFF29G+Bpw6Ta1ht3T9wFBJusBd9BsK+AwEkw6aIAB3VzZGNic2MBIC83lMQwDtQehi9NDXhd/eReQjxD3uYkHGrUYHeG6+W1AAZzd2F2ZXMBIAgfyPcWMO1Rwikb7Kwaj/yQcRxZOC3rIYGwN0HwRdFKAAZwdXp6bGUBIPEa/iX+9pk49GkqxN/hEtZHssbKDro3Ca93bR+OouVjAAl3aGlybHBvb2wBIFnjjdzCtSO6ShTcxNCvFAnmZOYEviUGCyZO5VBtl1nHAARyb21lASCLX5QBhMNlwSQ0jv8b/HCRMUhqyTHqqMuT8/mfNEQIzwAHdnZ4dG5scAEgbK344M+K4XFHDQp5aAF0Yjjr7215882Ns7bGR8K4aQcADWtleUludm9rZU5leHQCC2ludm9rZSBuZXh0AAxTV0FWRVNfc3Rha2UJAQdBZGRyZXNzAQEaAVd9yXuTFHn/51HxsUrHb/lqHYCVR89YI34BCF9sb2FkSW50AgRrZXlfCGRlZmF1bHRfBAckbWF0Y2gwCQCaCAIFDFNXQVZFU19zdGFrZQUEa2V5XwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEFCGRlZmF1bHRfAQtfbG9hZEJpZ0ludAIEa2V5XwhkZWZhdWx0XwQHJG1hdGNoMAkAnAgCBQxTV0FWRVNfc3Rha2UFBGtleV8DCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYQUHJG1hdGNoMAkAngMBBQFhBQhkZWZhdWx0XwAQV1hfQlVSTlhUTl9XQVZFUwkBB0FkZHJlc3MBARoBVyvirnF7fckwtSB55xbFa21XQIGlOBY9PgAIbGFzdFJhdGUJAQtfbG9hZEJpZ0ludAICCUxBU1RfUkFURQkAtgIBAICglKWNHQALY3VycmVudFJhdGUJAQtfbG9hZEJpZ0ludAICDENVUlJFTlRfUkFURQkAtgIBAAAACmxhc3RIZWlnaHQJAQhfbG9hZEludAICC0xBU1RfSEVJR0hUAAAADHRhcmdldEhlaWdodAkAlwMBCQDMCAIJAQhfbG9hZEludAICDVRBUkdFVF9IRUlHSFQAAAkAzAgCBQZoZWlnaHQFA25pbAAPbGFzdFJhdGVVcGRhdGVkCQC3AgIFCGxhc3RSYXRlCQC5AgIFC2N1cnJlbnRSYXRlCQC2AgEJAGUCBQx0YXJnZXRIZWlnaHQFCmxhc3RIZWlnaHQACmJhc2VBbW91bnQJAKADAQkAvQIECQC2AgEJAPAHAgUQV1hfQlVSTlhUTl9XQVZFUwUGc3dhdmVzBQ9sYXN0UmF0ZVVwZGF0ZWQJALYCAQCAoJSljR0FBUZMT09SAAl3YXZlc0luV1gJAGQCCAkA7wcBBRBXWF9CVVJOWFROX1dBVkVTB3JlZ3VsYXIFCmJhc2VBbW91bnQAC2J1cm54dG5JbldYCQDwBwIFEFdYX0JVUk5YVE5fV0FWRVMFCWJ1cm54dG5JZAARYnVybnh0bndhdmVzcHJpY2UJAGsDBQJkOAUJd2F2ZXNJbldYBQtidXJueHRuSW5XWAAPYnVybnh0bmJhbGFuY2UyCQDwBwIJAQdBZGRyZXNzAQUFcG9vbDIFCWJ1cm54dG5JZAAKdXNkYmFsYW5jZQkAaQIJAGQCCQBkAgkAZAIJAPAHAgkBB0FkZHJlc3MBBQVwb29sMgUHdXNkdGVyYwkA8AcCCQEHQWRkcmVzcwEFBXBvb2wyBQd1c2RjZXJjCQDwBwIJAQdBZGRyZXNzAQUFcG9vbDIFB3VzZHRic2MJAPAHAgkBB0FkZHJlc3MBBQVwb29sMgUHdXNkY2JzYwAEAA9idXJueHRudXNkcHJpY2UJAGsDBQJkOAUKdXNkYmFsYW5jZQUPYnVybnh0bmJhbGFuY2UyAANBVEgDCQBmAgURYnVybnh0bndhdmVzcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDU1KQECD0FUSCBpbiB3YXZlbGV0cwURYnVybnh0bndhdmVzcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCD0FUSCBpbiB3YXZlbGV0cwAGQVRIdXNkAwkAZgIFD2J1cm54dG51c2RwcmljZQkBEUBleHRyTmF0aXZlKDEwNTUpAQIPQVRIIGluIGNlbnRsZXRzBQ9idXJueHRudXNkcHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCD0FUSCBpbiBjZW50bGV0cwALd2F2ZXNpbnBvb2wJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQdBZGRyZXNzAQUGcG9vbElkCQCsAgIJAKwCAgIHZ2xvYmFsXwkA2AQBBQd3YXZlc0lkAghfYmFsYW5jZQAMcHJvamVjdHN0YWtlCQERQGV4dHJOYXRpdmUoMTA1MCkCCQEHQWRkcmVzcwEFBnBvb2xJZAkArAICAiMzUEF1Y2JidW1kVVhtaHpjUjQyMXpHaWF5cGhFZG8ydFJvegIMX2luZGV4U3Rha2VkAAp0b3RhbHN0YWtlCQERQGV4dHJOYXRpdmUoMTA1MCkCCQEHQWRkcmVzcwEFBnBvb2xJZAIXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQACnR2bGlud2F2ZXMJAGsDCQBrAwULd2F2ZXNpbnBvb2wFDHByb2plY3RzdGFrZQUKdG90YWxzdGFrZQAJBQJkOAAHdHZscG9vbAkAawMFC3dhdmVzaW5wb29sAAkFAmQ4AAtwcmljZWdyb3d0aAkAaQIJAGUCCQBrAwUCZDgFEWJ1cm54dG53YXZlc3ByaWNlCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAiFpbnRpYWwgcHJpY2UgQlVSTi1YVE4gaW4gd2F2ZWxldHMFAmQ4AMCEPQAHUExfRGVmaQkBB0FkZHJlc3MBARoBVxkLO48/zcX1AFJDuOumjMisvxQ5MT4kvgEIUExfdmFsdWUCC2RBcHBBZGRyZXNzBWFzc2V0CQBrAwkBEUBleHRyTmF0aXZlKDEwNTApAgULZEFwcEFkZHJlc3MJAKwCAgkArAICCQClCAEFBHRoaXMCCl9zdXBwbGllZF8JANgEAQUFYXNzZXQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFC2RBcHBBZGRyZXNzCQCsAgIJANgEAQUFYXNzZXQCBl9zUmF0ZQUDZDE2AQZzd2FwV1gDB2Fzc2V0SW4IYXNzZXRPdXQIYW1vdW50SW4JAPwHBAkBB0FkZHJlc3MBARoBVy4qNTWxDbfxeT7ht0bQnnRSTXsx0IOuBgIEc3dhcAkAzAgCCQBrAwUIYW1vdW50SW4ACwAKCQDMCAIJANgEAQUIYXNzZXRPdXQJAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SW4FCGFtb3VudEluBQNuaWwAD1ZWWFROTFBfWFROX0FNTQkBB0FkZHJlc3MBARoBV1K6ANH7OoZtNahjr1MiXzrd2/dsTiAMWwAKWFROYmFsYW5jZQkA8AcCBQ9WVlhUTkxQX1hUTl9BTU0FBXh0bklkAA5WVlhUTkxQYmFsYW5jZQkA8AcCBQ9WVlhUTkxQX1hUTl9BTU0FB3Z2eHRubHAADFZWWFROTFBwcmljZQkAawMFClhUTmJhbGFuY2UAZAUOVlZYVE5MUGJhbGFuY2UUAWkBBVBaYmJiAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIECHN3YXBTd29wCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIJANgEAQUJYnVybnh0bklkCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzd29wSWQJAPAHAgUEdGhpcwUGc3dvcElkBQNuaWwDCQAAAgUIc3dhcFN3b3AFCHN3YXBTd29wBANpbnYJAPwHBAkBB0FkZHJlc3MBBQZwb29sTFACFGdlbmVyYXRlV2l0aE9uZVRva2VuCQDMCAIJANgEAQUHcG9vbEJCQgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkBQNuaWwDCQAAAgUDaW52BQNpbnYJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAHwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGJ1cm5TVVJGAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIECXN3YXBXaGlybAkA/AcECQEHQWRkcmVzcwEFB3Bvb2xCQkICBHN3YXAJAMwIAgkA2AQBBQlidXJueHRuSWQJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCXdoaXJscG9vbAkA8AcCBQR0aGlzBQl3aGlybHBvb2wFA25pbAMJAAACBQlzd2FwV2hpcmwFCXN3YXBXaGlybAQIc3dhcFJvbWUJAPwHBAkBB0FkZHJlc3MBBQdwb29sQkJCAgRzd2FwCQDMCAIJANgEAQUJYnVybnh0bklkCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQRyb21lCQDwBwIFBHRoaXMFBHJvbWUFA25pbAMJAAACBQhzd2FwUm9tZQUIc3dhcFJvbWUECXN3YXBXYXZlcwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCCQDYBAEFBnN1cmZJZAkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAkBDXRyeUdldEludGVnZXICBQR0aGlzAhR3YXZlcyBhbW91bnQgdG8gc3dhcAUDbmlsAwkAAAIFCXN3YXBXYXZlcwUJc3dhcFdhdmVzBA5zdXJmQnVybkFtb3VudAkA8AcCBQR0aGlzBQZzdXJmSWQECHN1cmZCdXJuCQEEQnVybgIFBnN1cmZJZAUOc3VyZkJ1cm5BbW91bnQJAMwIAgUIc3VyZkJ1cm4JAMwIAgkBDEludGVnZXJFbnRyeQICEVNVUkYgdG90YWwgYnVybmVkCQBkAgkBDXRyeUdldEludGVnZXICBQR0aGlzAhFTVVJGIHRvdGFsIGJ1cm5lZAUOc3VyZkJ1cm5BbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAIQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDlNVUkZhbmRWVlhUTkxQAAQJc3Rha2VTdXJmCQD8BwQJAQdBZGRyZXNzAQEaAVcZCzuPP83F9QBSQ7jrpozIrL8UOTE+JL4CBnN1cHBseQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzdXJmSWQJAPAHAgUEdGhpcwUGc3VyZklkBQNuaWwDCQAAAgUJc3Rha2VTdXJmBQlzdGFrZVN1cmYEEHN3YXBYVE50b1ZWWFROTFADCQBmAgBQBQxWVlhUTkxQcHJpY2UJAQZzd2FwV1gDBQV4dG5JZAUHdnZ4dG5scAkA8AcCBQR0aGlzBQV4dG5JZAUEdW5pdAMJAAACBRBzd2FwWFROdG9WVlhUTkxQBRBzd2FwWFROdG9WVlhUTkxQCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0ADIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQZkRW50cnkAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIiQlVSTi1YVE4gLyBXQVZFUyBwcmljZSBpbiB3YXZlbGV0cwURYnVybnh0bndhdmVzcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICDlByaWNlIGdyb3d0aCAlBQtwcmljZWdyb3d0aAkAzAgCCQEMSW50ZWdlckVudHJ5AgIPQVRIIGluIHdhdmVsZXRzBQNBVEgJAMwIAgkBDEludGVnZXJFbnRyeQICIEJVUk4tWFROIC8gVVNEIHByaWNlIGluIGNlbnRsZXRzBQ9idXJueHRudXNkcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQICD0FUSCBpbiBjZW50bGV0cwUGQVRIdXNkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAidUVkwgcHJvamVjdCBpbiBXQVZFUyBleGNsdWRpbmcgQlVSTi1YVE4FCnR2bGlud2F2ZXMJAMwIAgkBDEludGVnZXJFbnRyeQICJFRWTCBwb29sIGluIFdBVkVTIGV4Y2x1ZGluZyBCVVJOLVhUTgUHdHZscG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgIVQWN0aXZhdGVkIGJsb2NraGVpZ2h0BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQICD0JVUk4tWFROIHN1cHBseQQHJG1hdGNoMAkA7AcBBQlidXJueHRuSWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCQBpAggFBWFzc2V0CHF1YW50aXR5BQJkOAkAAgECEENhbid0IGZpbmQgYXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQICFUJVUk4tWFROIHRvdGFsIGJ1cm5lZAkAZQIAgJTr3AMEByRtYXRjaDAJAOwHAQUJYnVybnh0bklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAaQIIBQVhc3NldAhxdWFudGl0eQUCZDgJAAIBAhBDYW4ndCBmaW5kIGFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtTVVJGIHN1cHBseQQHJG1hdGNoMAkA7AcBBQZzdXJmSWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCQBpAggFBWFzc2V0CHF1YW50aXR5BQJkNgkAAgECEENhbid0IGZpbmQgYXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQICGHRvdGFsIFNVUkYgUEwgV2F2ZXMgRGVmaQkBCFBMX3ZhbHVlAgUHUExfRGVmaQUGc3VyZklkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AAAFA25pbAFpAQtidXJuQlVSTlhUTgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBAtidXJueHRuQnVybgkBBEJ1cm4CBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkCQDMCAIFC2J1cm54dG5CdXJuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AAsFA25pbAFpAQRwdW1wAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEBXN3ZXN0CQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBndlc3RJZAkA8AcCBQR0aGlzBQZ3ZXN0SWQFA25pbAMJAAACBQVzd2VzdAUFc3dlc3QEBnN2aXJlcwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQd2aXJlc0lkCQDwBwIFBHRoaXMFB3ZpcmVzSWQFA25pbAMJAAACBQZzdmlyZXMFBnN2aXJlcwQEc2VnZwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQVlZ2dJZAkA8AcCBQR0aGlzBQVlZ2dJZAUDbmlsAwkAAAIFBHNlZ2cFBHNlZ2cEBXNuc2J0CQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBm5zYnRJZAkA8AcCBQR0aGlzBQZuc2J0SWQFA25pbAMJAAACBQVzbnNidAUFc25zYnQECXN3YXB3YXZlcwkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0AwkAZgIJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAABQNuaWwDCQAAAgUJc3dhcHdhdmVzBQlzd2Fwd2F2ZXMJAMwIAgkBBEJ1cm4CBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AB4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1QdW1wQnlBbnlib2R5AAMJAGYCCQBkAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIVQWN0aXZhdGVkIGJsb2NraGVpZ2h0CQBoAgAIAKALBQZoZWlnaHQJAAIBCQCsAgICFldhaXQgdGlsbCBibG9ja2hlaWdodDoJAKQDAQkAZAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCFUFjdGl2YXRlZCBibG9ja2hlaWdodAkAaAIACACgCwQIY2xhaW1JbnYJAPwHBAkBB0FkZHJlc3MBARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgIRY2xhaW1JbmRleFJld2FyZHMFA25pbAUDbmlsAwkAAAIFCGNsYWltSW52BQhjbGFpbUludgQFc3dlc3QJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGd2VzdElkCQDwBwIFBHRoaXMFBndlc3RJZAUDbmlsAwkAAAIFBXN3ZXN0BQVzd2VzdAQGc3ZpcmVzCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3ZpcmVzSWQJAPAHAgUEdGhpcwUHdmlyZXNJZAUDbmlsAwkAAAIFBnN2aXJlcwUGc3ZpcmVzBARzZWdnCQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBWVnZ0lkCQDwBwIFBHRoaXMFBWVnZ0lkBQNuaWwDCQAAAgUEc2VnZwUEc2VnZwQFc3N1cmYJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGc3VyZklkCQDwBwIFBHRoaXMFBnN1cmZJZAUDbmlsAwkAAAIFBXNzdXJmBQVzc3VyZgQFc25zYnQJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGbnNidElkCQDwBwIFBHRoaXMFBm5zYnRJZAUDbmlsAwkAAAIFBXNuc2J0BQVzbnNidAQDc3d4CQD8BwQJAQdBZGRyZXNzAQUGcG9vbElkAgRzd2FwCQDMCAIFDWJ1cm54dG5TdHJpbmcJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHd4SWQJAPAHAgUEdGhpcwUEd3hJZAUDbmlsAwkAAAIFA3N3eAUDc3d4BAVzc3dvcAkA/AcECQEHQWRkcmVzcwEFBnBvb2xJZAIEc3dhcAkAzAgCBQ1idXJueHRuU3RyaW5nCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZzd29wSWQJAPAHAgUEdGhpcwUGc3dvcElkBQNuaWwDCQAAAgUFc3N3b3AFBXNzd29wBAlzd2Fwd2F2ZXMJAPwHBAkBB0FkZHJlc3MBBQZwb29sSWQCBHN3YXAJAMwIAgUNYnVybnh0blN0cmluZwkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAMJAGYCCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFAmQ4AAAJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAUDbmlsAwkAAAIFCXN3YXB3YXZlcwUJc3dhcHdhdmVzBA14dG5idXJuYW1vdW50CQDwBwIFBHRoaXMFBXh0bklkBAd4dG5CdXJuCQEEQnVybgIFBXh0bklkBQ14dG5idXJuYW1vdW50BAtidXJueHRuQnVybgkBBEJ1cm4CBQlidXJueHRuSWQJAPAHAgUEdGhpcwUJYnVybnh0bklkCQDMCAIFB3h0bkJ1cm4JAMwIAgULYnVybnh0bkJ1cm4JAMwIAgkBDEludGVnZXJFbnRyeQICD0JVUk4tWFROIHN1cHBseQQHJG1hdGNoMAkA7AcBBQlidXJueHRuSWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCQBpAggFBWFzc2V0CHF1YW50aXR5BQJkOAkAAgECEENhbid0IGZpbmQgYXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQICFUJVUk4tWFROIHRvdGFsIGJ1cm5lZAkAZQIAgJTr3AMEByRtYXRjaDAJAOwHAQUJYnVybnh0bklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAaQIIBQVhc3NldAhxdWFudGl0eQUCZDgJAAIBAhBDYW4ndCBmaW5kIGFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBYVE4gdG90YWwgYnVybmVkCQBkAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIQWFROIHRvdGFsIGJ1cm5lZAUNeHRuYnVybmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCHdpdGhkcmF3AAMJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBVxiJGyRtL+JEpbK5LtBkI1AuKd9yMNoyWQkAAgECCW5vIGFjY2VzcwQId2l0aGRyYXcJAPwHBAkBB0FkZHJlc3MBARoBV3US3ZOCD1veJXYVOctJ1R9TKAnE6HFeJwIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQh3aXRoZHJhdwUId2l0aGRyYXcFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1pbXBvcnRWVlhUTkxQAAMJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBVxiJGyRtL+JEpbK5LtBkI1AuKd9yMNoyWQkAAgECCW5vIGFjY2VzcwQGaW1wb3J0CQD8BwQJAQdBZGRyZXNzAQEaAVd1Et2Tgg9b3iV2FTnLSdUfUygJxOhxXicCCGltcG9ydExQBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3Z2eHRubHAJAPAHAgUEdGhpcwUHdnZ4dG5scAUDbmlsAwkAAAIFBmltcG9ydAUGaW1wb3J0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHYnVyblhUTgADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBA14dG5idXJuYW1vdW50CQDwBwIFBHRoaXMFBXh0bklkBAd4dG5CdXJuCQEEQnVybgIFBXh0bklkBQ14dG5idXJuYW1vdW50CQDMCAIFB3h0bkJ1cm4JAMwIAgkBDEludGVnZXJFbnRyeQICEFhUTiB0b3RhbCBidXJuZWQJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhBYVE4gdG90YWwgYnVybmVkBQ14dG5idXJuYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpYVE4gc3VwcGx5BAckbWF0Y2gwCQDsBwEFBXh0bklkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAkAaQIJAGUCCAUFYXNzZXQIcXVhbnRpdHkJAPAHAgkBB0FkZHJlc3MBARoBV3AEYqZHm+mtVmiUy++FjDCCICiaCBSWsgUFeHRuSWQFAmQ2CQACAQIQQ2FuJ3QgZmluZCBhc3NldAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAMJAGcCBRFidXJueHRud2F2ZXNwcmljZQkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIPQVRIIGluIHdhdmVsZXRzAAoAFAUDbmlsAWkBCGNsYWltQkJCAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEEndhdmVzQmFsYW5jZUJlZm9yZQgJAO8HAQUEdGhpcwlhdmFpbGFibGUDCQAAAgUSd2F2ZXNCYWxhbmNlQmVmb3JlBRJ3YXZlc0JhbGFuY2VCZWZvcmUECGNsYWltSW52CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJANgEAQUHcG9vbEJCQgIRY2xhaW1JbmRleFJld2FyZHMFA25pbAUDbmlsAwkAAAIFCGNsYWltSW52BQhjbGFpbUludgQPd2F2ZXNEaWZmZXJlbmNlCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFEndhdmVzQmFsYW5jZUJlZm9yZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAgCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhR3YXZlcyBhbW91bnQgdG8gc3dhcAUPd2F2ZXNEaWZmZXJlbmNlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELcHV6emxlUFpiYmIAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQHc3B1enpsZQkA/AcECQEHQWRkcmVzcwEFBnBvb2xMUAIUZ2VuZXJhdGVXaXRoT25lVG9rZW4JAMwIAgUHcG9vbEJCQgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQZwdXp6bGUJAPAHAgUEdGhpcwUGcHV6emxlBQNuaWwDCQAAAgUHc3B1enpsZQUHc3B1enpsZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAoBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKc3Rha2VQWmJiYgADAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQZjYWxsZXIFB2ludm9rZXIHCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQKc3Rha2VQWmJiYgkA/AcECQEHQWRkcmVzcwEFB3Bvb2xCQkICDXN0YWtlSW5kZXhGb3IJAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBXB6QkJCCQDwBwIFBHRoaXMFBXB6QkJCBQNuaWwDCQAAAgUKc3Rha2VQWmJiYgUKc3Rha2VQWmJiYgkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAoBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFZ3JvdzEAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQFc3dlc3QJAPwHBAkBB0FkZHJlc3MBBQZwb29sTFACFGdlbmVyYXRlV2l0aE9uZVRva2VuCQDMCAIFCnBvb2xTdHJpbmcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGd2VzdElkCQDwBwIFBHRoaXMFBndlc3RJZAUDbmlsAwkAAAIFBXN3ZXN0BQVzd2VzdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNa2V5SW52b2tlTmV4dAAMBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFZ3JvdzIAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQGc3ZpcmVzCQD8BwQJAQdBZGRyZXNzAQUGcG9vbExQAhRnZW5lcmF0ZVdpdGhPbmVUb2tlbgkAzAgCBQpwb29sU3RyaW5nBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3ZpcmVzSWQJAPAHAgUEdGhpcwUHdmlyZXNJZAUDbmlsAwkAAAIFBnN2aXJlcwUGc3ZpcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AA0FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVncm93MwADAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQECIT0CCAUBaQZjYWxsZXIFB2ludm9rZXIHCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQEc2VnZwkA/AcECQEHQWRkcmVzcwEFBnBvb2xMUAIUZ2VuZXJhdGVXaXRoT25lVG9rZW4JAMwIAgUKcG9vbFN0cmluZwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQVlZ2dJZAkA8AcCBQR0aGlzBQVlZ2dJZAUDbmlsAwkAAAIFBHNlZ2cFBHNlZ2cJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQADgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWdyb3c0AAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEBXNuc2J0CQD8BwQJAQdBZGRyZXNzAQUGcG9vbExQAhRnZW5lcmF0ZVdpdGhPbmVUb2tlbgkAzAgCBQpwb29sU3RyaW5nBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBm5zYnRJZAkA8AcCBQR0aGlzBQZuc2J0SWQFA25pbAMJAAACBQVzbnNidAUFc25zYnQJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQADwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWdyb3c1AAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIECXN3YXB3YXZlcwkA/AcECQEHQWRkcmVzcwEFBnBvb2xMUAIUZ2VuZXJhdGVXaXRoT25lVG9rZW4JAMwIAgUKcG9vbFN0cmluZwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQR1bml0AwkAZgIJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAABQNuaWwDCQAAAgUJc3dhcHdhdmVzBQlzd2Fwd2F2ZXMJAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleUludm9rZU5leHQAEAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWdyb3c2AAMDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAQIhPQIIBQFpBmNhbGxlcgUHaW52b2tlcgcJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBA5zdGFrZVBaYnVybnh0bgkA/AcECQEHQWRkcmVzcwEBGgFXhZ0sMNX8Az5hxa3ekr/FKpHzma4aQUAKAg1zdGFrZUluZGV4Rm9yCQDMCAIJAKUIAQUEdGhpcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQlwekJ1cm54dG4JAPAHAgUEdGhpcwUJcHpCdXJueHRuBQNuaWwDCQAAAgUOc3Rha2VQWmJ1cm54dG4FDnN0YWtlUFpidXJueHRuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlJbnZva2VOZXh0AB4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQhzZWxlY3RvcgADCQECIT0CCAUBaQZjYWxsZXIJAQdBZGRyZXNzAQEaAVcYiRskbS/iRKWyuS7QZCNQLinfcjDaMlkJAAIBAglubyBhY2Nlc3MEBWludjAwAwkAAAIJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAACQD8BwQFBHRoaXMCB2J1cm5YVE4FA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjAwBQVpbnYwMAQFaW52MDEDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAAJAPwHBAkBB0FkZHJlc3MBARoBV4WdLDDV/AM+YcWt3pK/xSqR85muGkFACgIRY2xhaW1JbmRleFJld2FyZHMFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjAxBQVpbnYwMQQFaW52MTADCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAoJAPwHBAUEdGhpcwILYnVybkJVUk5YVE4FA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjEwBQVpbnYxMAQFaW52MTEDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAsJAPwHBAUEdGhpcwIFZ3JvdzEFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjExBQVpbnYxMQQFaW52MTIDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AAwJAPwHBAUEdGhpcwIFZ3JvdzIFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjEyBQVpbnYxMgQFaW52MTMDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA0JAPwHBAUEdGhpcwIFZ3JvdzMFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjEzBQVpbnYxMwQFaW52MTQDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA4JAPwHBAUEdGhpcwIFZ3JvdzQFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjE0BQVpbnYxNAQFaW52MTUDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0AA8JAPwHBAUEdGhpcwIFZ3JvdzUFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjE1BQVpbnYxNQQFaW52MTYDCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0ABAJAPwHBAUEdGhpcwIFZ3JvdzIFA25pbAUDbmlsBQR1bml0AwkAAAIFBWludjE2BQVpbnYxNgQFaW52MjADCQAAAgkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlJbnZva2VOZXh0ABQJAPwHBAUEdGhpcwIEcHVtcAUDbmlsBQNuaWwFBHVuaXQDCQAAAgUFaW52MjAFBWludjIwBAVpbnYzMAMJAAACCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDWtleUludm9rZU5leHQAHgkA/AcEBQR0aGlzAgVQWmJiYgUDbmlsBQNuaWwFBHVuaXQDCQAAAgUFaW52MzAFBWludjMwBAVpbnYzMQMJAAACCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDWtleUludm9rZU5leHQAHwkA/AcEBQR0aGlzAghjbGFpbUJCQgUDbmlsBQNuaWwFBHVuaXQDCQAAAgUFaW52MzEFBWludjMxBAVpbnYzMgMJAAACCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDWtleUludm9rZU5leHQAIAkA/AcEBQR0aGlzAghidXJuU1VSRgUDbmlsBQNuaWwFBHVuaXQDCQAAAgUFaW52MzIFBWludjMyBAVpbnYzMwMJAAACCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDWtleUludm9rZU5leHQAIQkA/AcEBQR0aGlzAgtwdXp6bGVQWmJiYgUDbmlsBQNuaWwFBHVuaXQDCQAAAgUFaW52MzMFBWludjMzBAVpbnYzNAMJAAACCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDWtleUludm9rZU5leHQAIgkA/AcEBQR0aGlzAgpzdGFrZVBaYmJiBQNuaWwFA25pbAUEdW5pdAMJAAACBQVpbnYzNAUFaW52MzQEBWludjQwAwkAAAIJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAoCQD8BwQFBHRoaXMCDlNVUkZhbmRWVlhUTkxQBQNuaWwFA25pbAUEdW5pdAMJAAACBQVpbnY0MAUFaW52NDAEBWludjUwAwkAAAIJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUNa2V5SW52b2tlTmV4dAAyCQD8BwQFBHRoaXMCBmRFbnRyeQUDbmlsBQNuaWwFBHVuaXQDCQAAAgUFaW52NTAFBWludjUwBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4ARP15dQ==", "height": 4084623, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: aiSN64kduPRv3CmzhM2Cjm4ep2R5PMKBrvpfrPonQr1 Next: GN8rEypRE54NdTJDv1TtZ56e2B7CGrcqhMoKKpxUk16c Diff:
OldNewDifferences
527527 then invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
528528 else unit
529529 if ((inv01 == inv01))
530- then nil
530+ then {
531+ let inv10 = if ((tryGetInteger(this, keyInvokeNext) == 10))
532+ then invoke(this, "burnBURNXTN", nil, nil)
533+ else unit
534+ if ((inv10 == inv10))
535+ then {
536+ let inv11 = if ((tryGetInteger(this, keyInvokeNext) == 11))
537+ then invoke(this, "grow1", nil, nil)
538+ else unit
539+ if ((inv11 == inv11))
540+ then {
541+ let inv12 = if ((tryGetInteger(this, keyInvokeNext) == 12))
542+ then invoke(this, "grow2", nil, nil)
543+ else unit
544+ if ((inv12 == inv12))
545+ then {
546+ let inv13 = if ((tryGetInteger(this, keyInvokeNext) == 13))
547+ then invoke(this, "grow3", nil, nil)
548+ else unit
549+ if ((inv13 == inv13))
550+ then {
551+ let inv14 = if ((tryGetInteger(this, keyInvokeNext) == 14))
552+ then invoke(this, "grow4", nil, nil)
553+ else unit
554+ if ((inv14 == inv14))
555+ then {
556+ let inv15 = if ((tryGetInteger(this, keyInvokeNext) == 15))
557+ then invoke(this, "grow5", nil, nil)
558+ else unit
559+ if ((inv15 == inv15))
560+ then {
561+ let inv16 = if ((tryGetInteger(this, keyInvokeNext) == 16))
562+ then invoke(this, "grow2", nil, nil)
563+ else unit
564+ if ((inv16 == inv16))
565+ then {
566+ let inv20 = if ((tryGetInteger(this, keyInvokeNext) == 20))
567+ then invoke(this, "pump", nil, nil)
568+ else unit
569+ if ((inv20 == inv20))
570+ then {
571+ let inv30 = if ((tryGetInteger(this, keyInvokeNext) == 30))
572+ then invoke(this, "PZbbb", nil, nil)
573+ else unit
574+ if ((inv30 == inv30))
575+ then {
576+ let inv31 = if ((tryGetInteger(this, keyInvokeNext) == 31))
577+ then invoke(this, "claimBBB", nil, nil)
578+ else unit
579+ if ((inv31 == inv31))
580+ then {
581+ let inv32 = if ((tryGetInteger(this, keyInvokeNext) == 32))
582+ then invoke(this, "burnSURF", nil, nil)
583+ else unit
584+ if ((inv32 == inv32))
585+ then {
586+ let inv33 = if ((tryGetInteger(this, keyInvokeNext) == 33))
587+ then invoke(this, "puzzlePZbbb", nil, nil)
588+ else unit
589+ if ((inv33 == inv33))
590+ then {
591+ let inv34 = if ((tryGetInteger(this, keyInvokeNext) == 34))
592+ then invoke(this, "stakePZbbb", nil, nil)
593+ else unit
594+ if ((inv34 == inv34))
595+ then {
596+ let inv40 = if ((tryGetInteger(this, keyInvokeNext) == 40))
597+ then invoke(this, "SURFandVVXTNLP", nil, nil)
598+ else unit
599+ if ((inv40 == inv40))
600+ then {
601+ let inv50 = if ((tryGetInteger(this, keyInvokeNext) == 50))
602+ then invoke(this, "dEntry", nil, nil)
603+ else unit
604+ if ((inv50 == inv50))
605+ then nil
606+ else throw("Strict value is not equal to itself.")
607+ }
608+ else throw("Strict value is not equal to itself.")
609+ }
610+ else throw("Strict value is not equal to itself.")
611+ }
612+ else throw("Strict value is not equal to itself.")
613+ }
614+ else throw("Strict value is not equal to itself.")
615+ }
616+ else throw("Strict value is not equal to itself.")
617+ }
618+ else throw("Strict value is not equal to itself.")
619+ }
620+ else throw("Strict value is not equal to itself.")
621+ }
622+ else throw("Strict value is not equal to itself.")
623+ }
624+ else throw("Strict value is not equal to itself.")
625+ }
626+ else throw("Strict value is not equal to itself.")
627+ }
628+ else throw("Strict value is not equal to itself.")
629+ }
630+ else throw("Strict value is not equal to itself.")
631+ }
632+ else throw("Strict value is not equal to itself.")
633+ }
634+ else throw("Strict value is not equal to itself.")
635+ }
531636 else throw("Strict value is not equal to itself.")
532637 }
533638 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetInteger (address,key) = match getInteger(address, key) {
55 case b: Int =>
66 b
77 case _ =>
88 0
99 }
1010
1111
1212 let d6 = 1000000
1313
1414 let d8 = 100000000
1515
1616 let d16 = (d8 * d8)
1717
1818 let invoker = Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')
1919
2020 let poolId = base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'
2121
2222 let poolString = toBase58String(poolId)
2323
2424 let pool2 = base58'3PQHndCUVrv3wBuQjbvVP9SnGmfbfitGxfx'
2525
2626 let poolBBB = base58'3P9VPwVfNj3dDevQZt1Z951A4K57cmQmCgk'
2727
2828 let poolLP = base58'3PQoBfUKHkJAeGWhooLP7WS8ovb54av9Jp2'
2929
3030 let pzBurnxtn = base58'GdrDHazRGcCYeCgDEZzLpsZ3E7jmrxYB7EDUiGfiVAr1'
3131
3232 let pzBBB = base58'AE12ZN9PQyPKHR5CqR2Qau31JqS68rZbVYxaJbRM8kFj'
3333
3434 let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
3535
3636 let burnxtnId = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
3737
3838 let burnxtnString = toBase58String(burnxtnId)
3939
4040 let westId = base58'4LHHvYGNKJUg5hj65aGD5vgScvCBmLpdRFtjokvCjSL8'
4141
4242 let viresId = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
4343
4444 let eggId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
4545
4646 let surfId = base58'At8D6NFFpheCbvKVnjVoeLL84Eo8NZn6ovManxfLaFWL'
4747
4848 let nsbtId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
4949
5050 let wxId = base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
5151
5252 let swopId = base58'Ehie5xYpeN8op1Cctc6aGUrqx8jq3jtf1DSjXDbfm7aT'
5353
5454 let wavesId = base58'WAVES'
5555
5656 let usdterc = base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
5757
5858 let usdcerc = base58'HGgabTqUS8WtVFUJzfmrTDMgEccJuZLBPhFgQFxvnsoW'
5959
6060 let usdtbsc = base58'A81p1LTRyoq2rDR2TNxB2dWYxsiNwCSSi8sXef2SEkwb'
6161
6262 let usdcbsc = base58'4BKKSp6NoNcrFHyorZogDyctq1fq6w7114Ym1pw6HUtC'
6363
6464 let swaves = base58'YiNbofFzC17jEHHCMwrRcpy9MrrjabMMLZxg8g5xmf7'
6565
6666 let puzzle = base58'HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS'
6767
6868 let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
6969
7070 let rome = base58'AP4Cb5xLYGH6ZigHreCZHoXpQTWDkPsG2BHqfDUx6taJ'
7171
7272 let vvxtnlp = base58'8KEtor9aSsSj38MknyAE7k1uRThHY9prAXgiE4D7WpyL'
7373
7474 let keyInvokeNext = "invoke next"
7575
7676 let SWAVES_stake = Address(base58'3PDPzZVLhN1EuzGy4xAxjjTVkawKDLEaHiV')
7777
7878 func _loadInt (key_,default_) = match getInteger(SWAVES_stake, key_) {
7979 case a: Int =>
8080 a
8181 case _ =>
8282 default_
8383 }
8484
8585
8686 func _loadBigInt (key_,default_) = match getBinary(SWAVES_stake, key_) {
8787 case a: ByteVector =>
8888 toBigInt(a)
8989 case _ =>
9090 default_
9191 }
9292
9393
9494 let WX_BURNXTN_WAVES = Address(base58'3P5vwLbXddLWpsRspftMxLuzfsjk3dLT3n5')
9595
9696 let lastRate = _loadBigInt("LAST_RATE", toBigInt(1000000000000))
9797
9898 let currentRate = _loadBigInt("CURRENT_RATE", toBigInt(0))
9999
100100 let lastHeight = _loadInt("LAST_HEIGHT", 0)
101101
102102 let targetHeight = min([_loadInt("TARGET_HEIGHT", 0), height])
103103
104104 let lastRateUpdated = (lastRate + (currentRate * toBigInt((targetHeight - lastHeight))))
105105
106106 let baseAmount = toInt(fraction(toBigInt(assetBalance(WX_BURNXTN_WAVES, swaves)), lastRateUpdated, toBigInt(1000000000000), FLOOR))
107107
108108 let wavesInWX = (wavesBalance(WX_BURNXTN_WAVES).regular + baseAmount)
109109
110110 let burnxtnInWX = assetBalance(WX_BURNXTN_WAVES, burnxtnId)
111111
112112 let burnxtnwavesprice = fraction(d8, wavesInWX, burnxtnInWX)
113113
114114 let burnxtnbalance2 = assetBalance(Address(pool2), burnxtnId)
115115
116116 let usdbalance = ((((assetBalance(Address(pool2), usdterc) + assetBalance(Address(pool2), usdcerc)) + assetBalance(Address(pool2), usdtbsc)) + assetBalance(Address(pool2), usdcbsc)) / 4)
117117
118118 let burnxtnusdprice = fraction(d8, usdbalance, burnxtnbalance2)
119119
120120 let ATH = if ((burnxtnwavesprice > getIntegerValue("ATH in wavelets")))
121121 then burnxtnwavesprice
122122 else getIntegerValue(this, "ATH in wavelets")
123123
124124 let ATHusd = if ((burnxtnusdprice > getIntegerValue("ATH in centlets")))
125125 then burnxtnusdprice
126126 else getIntegerValue(this, "ATH in centlets")
127127
128128 let wavesinpool = getIntegerValue(Address(poolId), (("global_" + toBase58String(wavesId)) + "_balance"))
129129
130130 let projectstake = getIntegerValue(Address(poolId), ("3PAucbbumdUXmhzcR421zGiayphEdo2tRoz" + "_indexStaked"))
131131
132132 let totalstake = getIntegerValue(Address(poolId), "global_poolToken_amount")
133133
134134 let tvlinwaves = fraction(fraction(wavesinpool, projectstake, totalstake), 9, d8)
135135
136136 let tvlpool = fraction(wavesinpool, 9, d8)
137137
138138 let pricegrowth = ((fraction(d8, burnxtnwavesprice, getIntegerValue(this, "intial price BURN-XTN in wavelets")) - d8) / 1000000)
139139
140140 let PL_Defi = Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X')
141141
142142 func PL_value (dAppAddress,asset) = fraction(getIntegerValue(dAppAddress, ((toString(this) + "_supplied_") + toBase58String(asset))), getIntegerValue(dAppAddress, (toBase58String(asset) + "_sRate")), d16)
143143
144144
145145 func swapWX (assetIn,assetOut,amountIn) = invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [fraction(amountIn, 11, 10), toBase58String(assetOut), toString(this)], [AttachedPayment(assetIn, amountIn)])
146146
147147
148148 let VVXTNLP_XTN_AMM = Address(base58'3P9UJxhsqj1UkqPDtM16yi9aGE26V5tdH6i')
149149
150150 let XTNbalance = assetBalance(VVXTNLP_XTN_AMM, xtnId)
151151
152152 let VVXTNLPbalance = assetBalance(VVXTNLP_XTN_AMM, vvxtnlp)
153153
154154 let VVXTNLPprice = fraction(XTNbalance, 100, VVXTNLPbalance)
155155
156156 @Callable(i)
157157 func PZbbb () = if ((i.caller != this))
158158 then throw("access only by project owner")
159159 else {
160160 let swapSwop = invoke(Address(poolId), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
161161 if ((swapSwop == swapSwop))
162162 then {
163163 let inv = invoke(Address(poolLP), "generateWithOneToken", [toBase58String(poolBBB)], [AttachedPayment(burnxtnId, assetBalance(this, burnxtnId))])
164164 if ((inv == inv))
165165 then [IntegerEntry(keyInvokeNext, 31)]
166166 else throw("Strict value is not equal to itself.")
167167 }
168168 else throw("Strict value is not equal to itself.")
169169 }
170170
171171
172172
173173 @Callable(i)
174174 func burnSURF () = if ((i.caller != this))
175175 then throw("access only by project owner")
176176 else {
177177 let swapWhirl = invoke(Address(poolBBB), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(whirlpool, assetBalance(this, whirlpool))])
178178 if ((swapWhirl == swapWhirl))
179179 then {
180180 let swapRome = invoke(Address(poolBBB), "swap", [toBase58String(burnxtnId), 0], [AttachedPayment(rome, assetBalance(this, rome))])
181181 if ((swapRome == swapRome))
182182 then {
183183 let swapWaves = invoke(Address(poolId), "swap", [toBase58String(surfId), 0], [AttachedPayment(unit, tryGetInteger(this, "waves amount to swap"))])
184184 if ((swapWaves == swapWaves))
185185 then {
186186 let surfBurnAmount = assetBalance(this, surfId)
187187 let surfBurn = Burn(surfId, surfBurnAmount)
188188 [surfBurn, IntegerEntry("SURF total burned", (tryGetInteger(this, "SURF total burned") + surfBurnAmount)), IntegerEntry(keyInvokeNext, 33)]
189189 }
190190 else throw("Strict value is not equal to itself.")
191191 }
192192 else throw("Strict value is not equal to itself.")
193193 }
194194 else throw("Strict value is not equal to itself.")
195195 }
196196
197197
198198
199199 @Callable(i)
200200 func SURFandVVXTNLP () = {
201201 let stakeSurf = invoke(Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X'), "supply", nil, [AttachedPayment(surfId, assetBalance(this, surfId))])
202202 if ((stakeSurf == stakeSurf))
203203 then {
204204 let swapXTNtoVVXTNLP = if ((80 > VVXTNLPprice))
205205 then swapWX(xtnId, vvxtnlp, assetBalance(this, xtnId))
206206 else unit
207207 if ((swapXTNtoVVXTNLP == swapXTNtoVVXTNLP))
208208 then [IntegerEntry(keyInvokeNext, 50)]
209209 else throw("Strict value is not equal to itself.")
210210 }
211211 else throw("Strict value is not equal to itself.")
212212 }
213213
214214
215215
216216 @Callable(i)
217217 func dEntry () = if ((i.caller != this))
218218 then throw("access only by project owner")
219219 else [IntegerEntry("BURN-XTN / WAVES price in wavelets", burnxtnwavesprice), IntegerEntry("Price growth %", pricegrowth), IntegerEntry("ATH in wavelets", ATH), IntegerEntry("BURN-XTN / USD price in centlets", burnxtnusdprice), IntegerEntry("ATH in centlets", ATHusd), IntegerEntry("TVL project in WAVES excluding BURN-XTN", tvlinwaves), IntegerEntry("TVL pool in WAVES excluding BURN-XTN", tvlpool), IntegerEntry("Activated blockheight", height), IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
220220 case asset: Asset =>
221221 (asset.quantity / d8)
222222 case _ =>
223223 throw("Can't find asset")
224224 }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
225225 case asset: Asset =>
226226 (asset.quantity / d8)
227227 case _ =>
228228 throw("Can't find asset")
229229 })), IntegerEntry("SURF supply", match assetInfo(surfId) {
230230 case asset: Asset =>
231231 (asset.quantity / d6)
232232 case _ =>
233233 throw("Can't find asset")
234234 }), IntegerEntry("total SURF PL Waves Defi", PL_value(PL_Defi, surfId)), IntegerEntry(keyInvokeNext, 0)]
235235
236236
237237
238238 @Callable(i)
239239 func burnBURNXTN () = if ((i.caller != this))
240240 then throw("access only by project owner")
241241 else {
242242 let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
243243 [burnxtnBurn, IntegerEntry(keyInvokeNext, 11)]
244244 }
245245
246246
247247
248248 @Callable(i)
249249 func pump () = if ((i.caller != this))
250250 then throw("access only by project owner")
251251 else {
252252 let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
253253 if ((swest == swest))
254254 then {
255255 let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
256256 if ((svires == svires))
257257 then {
258258 let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
259259 if ((segg == segg))
260260 then {
261261 let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
262262 if ((snsbt == snsbt))
263263 then {
264264 let swapwaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
265265 then (wavesBalance(this).available - d8)
266266 else 0)])
267267 if ((swapwaves == swapwaves))
268268 then [Burn(burnxtnId, assetBalance(this, burnxtnId)), IntegerEntry(keyInvokeNext, 30)]
269269 else throw("Strict value is not equal to itself.")
270270 }
271271 else throw("Strict value is not equal to itself.")
272272 }
273273 else throw("Strict value is not equal to itself.")
274274 }
275275 else throw("Strict value is not equal to itself.")
276276 }
277277 else throw("Strict value is not equal to itself.")
278278 }
279279
280280
281281
282282 @Callable(i)
283283 func PumpByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (8 * 1440)) > height))
284284 then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (8 * 1440)))))
285285 else {
286286 let claimInv = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
287287 if ((claimInv == claimInv))
288288 then {
289289 let swest = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(westId, assetBalance(this, westId))])
290290 if ((swest == swest))
291291 then {
292292 let svires = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(viresId, assetBalance(this, viresId))])
293293 if ((svires == svires))
294294 then {
295295 let segg = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(eggId, assetBalance(this, eggId))])
296296 if ((segg == segg))
297297 then {
298298 let ssurf = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(surfId, assetBalance(this, surfId))])
299299 if ((ssurf == ssurf))
300300 then {
301301 let snsbt = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
302302 if ((snsbt == snsbt))
303303 then {
304304 let swx = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(wxId, assetBalance(this, wxId))])
305305 if ((swx == swx))
306306 then {
307307 let sswop = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(swopId, assetBalance(this, swopId))])
308308 if ((sswop == sswop))
309309 then {
310310 let swapwaves = invoke(Address(poolId), "swap", [burnxtnString, 0], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
311311 then (wavesBalance(this).available - d8)
312312 else 0)])
313313 if ((swapwaves == swapwaves))
314314 then {
315315 let xtnburnamount = assetBalance(this, xtnId)
316316 let xtnBurn = Burn(xtnId, xtnburnamount)
317317 let burnxtnBurn = Burn(burnxtnId, assetBalance(this, burnxtnId))
318318 [xtnBurn, burnxtnBurn, IntegerEntry("BURN-XTN supply", match assetInfo(burnxtnId) {
319319 case asset: Asset =>
320320 (asset.quantity / d8)
321321 case _ =>
322322 throw("Can't find asset")
323323 }), IntegerEntry("BURN-XTN total burned", (1000000000 - match assetInfo(burnxtnId) {
324324 case asset: Asset =>
325325 (asset.quantity / d8)
326326 case _ =>
327327 throw("Can't find asset")
328328 })), IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount))]
329329 }
330330 else throw("Strict value is not equal to itself.")
331331 }
332332 else throw("Strict value is not equal to itself.")
333333 }
334334 else throw("Strict value is not equal to itself.")
335335 }
336336 else throw("Strict value is not equal to itself.")
337337 }
338338 else throw("Strict value is not equal to itself.")
339339 }
340340 else throw("Strict value is not equal to itself.")
341341 }
342342 else throw("Strict value is not equal to itself.")
343343 }
344344 else throw("Strict value is not equal to itself.")
345345 }
346346 else throw("Strict value is not equal to itself.")
347347 }
348348
349349
350350
351351 @Callable(i)
352352 func withdraw () = if ((i.caller != Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')))
353353 then throw("no access")
354354 else {
355355 let withdraw = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "withdrawVestedAllUSDN", [false, true], nil)
356356 if ((withdraw == withdraw))
357357 then nil
358358 else throw("Strict value is not equal to itself.")
359359 }
360360
361361
362362
363363 @Callable(i)
364364 func importVVXTNLP () = if ((i.caller != Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')))
365365 then throw("no access")
366366 else {
367367 let import = invoke(Address(base58'3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk'), "importLP", nil, [AttachedPayment(vvxtnlp, assetBalance(this, vvxtnlp))])
368368 if ((import == import))
369369 then nil
370370 else throw("Strict value is not equal to itself.")
371371 }
372372
373373
374374
375375 @Callable(i)
376376 func burnXTN () = if ((i.caller != this))
377377 then throw("access only by project owner")
378378 else {
379379 let xtnburnamount = assetBalance(this, xtnId)
380380 let xtnBurn = Burn(xtnId, xtnburnamount)
381381 [xtnBurn, IntegerEntry("XTN total burned", (getIntegerValue(this, "XTN total burned") + xtnburnamount)), IntegerEntry("XTN supply", match assetInfo(xtnId) {
382382 case asset: Asset =>
383383 ((asset.quantity - assetBalance(Address(base58'3PC9BfRwJWWiw9AREE2B3eWzCks3CYtg4yo'), xtnId)) / d6)
384384 case _ =>
385385 throw("Can't find asset")
386386 }), IntegerEntry(keyInvokeNext, if ((burnxtnwavesprice >= getIntegerValue(this, "ATH in wavelets")))
387387 then 10
388388 else 20)]
389389 }
390390
391391
392392
393393 @Callable(i)
394394 func claimBBB () = if ((i.caller != this))
395395 then throw("access only by project owner")
396396 else {
397397 let wavesBalanceBefore = wavesBalance(this).available
398398 if ((wavesBalanceBefore == wavesBalanceBefore))
399399 then {
400400 let claimInv = invoke(addressFromStringValue(toBase58String(poolBBB)), "claimIndexRewards", nil, nil)
401401 if ((claimInv == claimInv))
402402 then {
403403 let wavesDifference = (wavesBalance(this).available - wavesBalanceBefore)
404404 [IntegerEntry(keyInvokeNext, 32), IntegerEntry("waves amount to swap", wavesDifference)]
405405 }
406406 else throw("Strict value is not equal to itself.")
407407 }
408408 else throw("Strict value is not equal to itself.")
409409 }
410410
411411
412412
413413 @Callable(i)
414414 func puzzlePZbbb () = if ((i.caller != this))
415415 then throw("access only by project owner")
416416 else {
417417 let spuzzle = invoke(Address(poolLP), "generateWithOneToken", [poolBBB], [AttachedPayment(puzzle, assetBalance(this, puzzle))])
418418 if ((spuzzle == spuzzle))
419419 then [IntegerEntry(keyInvokeNext, 40)]
420420 else throw("Strict value is not equal to itself.")
421421 }
422422
423423
424424
425425 @Callable(i)
426426 func stakePZbbb () = if (if ((i.caller != this))
427427 then (i.caller != invoker)
428428 else false)
429429 then throw("access only by project owner")
430430 else {
431431 let stakePZbbb = invoke(Address(poolBBB), "stakeIndexFor", [toString(this)], [AttachedPayment(pzBBB, assetBalance(this, pzBBB))])
432432 if ((stakePZbbb == stakePZbbb))
433433 then [IntegerEntry(keyInvokeNext, 40)]
434434 else throw("Strict value is not equal to itself.")
435435 }
436436
437437
438438
439439 @Callable(i)
440440 func grow1 () = if ((i.caller != this))
441441 then throw("access only by project owner")
442442 else {
443443 let swest = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(westId, assetBalance(this, westId))])
444444 if ((swest == swest))
445445 then [IntegerEntry(keyInvokeNext, 12)]
446446 else throw("Strict value is not equal to itself.")
447447 }
448448
449449
450450
451451 @Callable(i)
452452 func grow2 () = if ((i.caller != this))
453453 then throw("access only by project owner")
454454 else {
455455 let svires = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(viresId, assetBalance(this, viresId))])
456456 if ((svires == svires))
457457 then [IntegerEntry(keyInvokeNext, 13)]
458458 else throw("Strict value is not equal to itself.")
459459 }
460460
461461
462462
463463 @Callable(i)
464464 func grow3 () = if (if ((i.caller != this))
465465 then (i.caller != invoker)
466466 else false)
467467 then throw("access only by project owner")
468468 else {
469469 let segg = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(eggId, assetBalance(this, eggId))])
470470 if ((segg == segg))
471471 then [IntegerEntry(keyInvokeNext, 14)]
472472 else throw("Strict value is not equal to itself.")
473473 }
474474
475475
476476
477477 @Callable(i)
478478 func grow4 () = if ((i.caller != this))
479479 then throw("access only by project owner")
480480 else {
481481 let snsbt = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(nsbtId, assetBalance(this, nsbtId))])
482482 if ((snsbt == snsbt))
483483 then [IntegerEntry(keyInvokeNext, 15)]
484484 else throw("Strict value is not equal to itself.")
485485 }
486486
487487
488488
489489 @Callable(i)
490490 func grow5 () = if ((i.caller != this))
491491 then throw("access only by project owner")
492492 else {
493493 let swapwaves = invoke(Address(poolLP), "generateWithOneToken", [poolString], [AttachedPayment(unit, if (((wavesBalance(this).available - d8) > 0))
494494 then (wavesBalance(this).available - d8)
495495 else 0)])
496496 if ((swapwaves == swapwaves))
497497 then [IntegerEntry(keyInvokeNext, 16)]
498498 else throw("Strict value is not equal to itself.")
499499 }
500500
501501
502502
503503 @Callable(i)
504504 func grow6 () = if (if ((i.caller != this))
505505 then (i.caller != invoker)
506506 else false)
507507 then throw("access only by project owner")
508508 else {
509509 let stakePZburnxtn = invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "stakeIndexFor", [toString(this)], [AttachedPayment(pzBurnxtn, assetBalance(this, pzBurnxtn))])
510510 if ((stakePZburnxtn == stakePZburnxtn))
511511 then [IntegerEntry(keyInvokeNext, 30)]
512512 else throw("Strict value is not equal to itself.")
513513 }
514514
515515
516516
517517 @Callable(i)
518518 func selector () = if ((i.caller != Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')))
519519 then throw("no access")
520520 else {
521521 let inv00 = if ((tryGetInteger(this, keyInvokeNext) == 0))
522522 then invoke(this, "burnXTN", nil, nil)
523523 else unit
524524 if ((inv00 == inv00))
525525 then {
526526 let inv01 = if ((tryGetInteger(this, keyInvokeNext) == 0))
527527 then invoke(Address(base58'3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB'), "claimIndexRewards", nil, nil)
528528 else unit
529529 if ((inv01 == inv01))
530- then nil
530+ then {
531+ let inv10 = if ((tryGetInteger(this, keyInvokeNext) == 10))
532+ then invoke(this, "burnBURNXTN", nil, nil)
533+ else unit
534+ if ((inv10 == inv10))
535+ then {
536+ let inv11 = if ((tryGetInteger(this, keyInvokeNext) == 11))
537+ then invoke(this, "grow1", nil, nil)
538+ else unit
539+ if ((inv11 == inv11))
540+ then {
541+ let inv12 = if ((tryGetInteger(this, keyInvokeNext) == 12))
542+ then invoke(this, "grow2", nil, nil)
543+ else unit
544+ if ((inv12 == inv12))
545+ then {
546+ let inv13 = if ((tryGetInteger(this, keyInvokeNext) == 13))
547+ then invoke(this, "grow3", nil, nil)
548+ else unit
549+ if ((inv13 == inv13))
550+ then {
551+ let inv14 = if ((tryGetInteger(this, keyInvokeNext) == 14))
552+ then invoke(this, "grow4", nil, nil)
553+ else unit
554+ if ((inv14 == inv14))
555+ then {
556+ let inv15 = if ((tryGetInteger(this, keyInvokeNext) == 15))
557+ then invoke(this, "grow5", nil, nil)
558+ else unit
559+ if ((inv15 == inv15))
560+ then {
561+ let inv16 = if ((tryGetInteger(this, keyInvokeNext) == 16))
562+ then invoke(this, "grow2", nil, nil)
563+ else unit
564+ if ((inv16 == inv16))
565+ then {
566+ let inv20 = if ((tryGetInteger(this, keyInvokeNext) == 20))
567+ then invoke(this, "pump", nil, nil)
568+ else unit
569+ if ((inv20 == inv20))
570+ then {
571+ let inv30 = if ((tryGetInteger(this, keyInvokeNext) == 30))
572+ then invoke(this, "PZbbb", nil, nil)
573+ else unit
574+ if ((inv30 == inv30))
575+ then {
576+ let inv31 = if ((tryGetInteger(this, keyInvokeNext) == 31))
577+ then invoke(this, "claimBBB", nil, nil)
578+ else unit
579+ if ((inv31 == inv31))
580+ then {
581+ let inv32 = if ((tryGetInteger(this, keyInvokeNext) == 32))
582+ then invoke(this, "burnSURF", nil, nil)
583+ else unit
584+ if ((inv32 == inv32))
585+ then {
586+ let inv33 = if ((tryGetInteger(this, keyInvokeNext) == 33))
587+ then invoke(this, "puzzlePZbbb", nil, nil)
588+ else unit
589+ if ((inv33 == inv33))
590+ then {
591+ let inv34 = if ((tryGetInteger(this, keyInvokeNext) == 34))
592+ then invoke(this, "stakePZbbb", nil, nil)
593+ else unit
594+ if ((inv34 == inv34))
595+ then {
596+ let inv40 = if ((tryGetInteger(this, keyInvokeNext) == 40))
597+ then invoke(this, "SURFandVVXTNLP", nil, nil)
598+ else unit
599+ if ((inv40 == inv40))
600+ then {
601+ let inv50 = if ((tryGetInteger(this, keyInvokeNext) == 50))
602+ then invoke(this, "dEntry", nil, nil)
603+ else unit
604+ if ((inv50 == inv50))
605+ then nil
606+ else throw("Strict value is not equal to itself.")
607+ }
608+ else throw("Strict value is not equal to itself.")
609+ }
610+ else throw("Strict value is not equal to itself.")
611+ }
612+ else throw("Strict value is not equal to itself.")
613+ }
614+ else throw("Strict value is not equal to itself.")
615+ }
616+ else throw("Strict value is not equal to itself.")
617+ }
618+ else throw("Strict value is not equal to itself.")
619+ }
620+ else throw("Strict value is not equal to itself.")
621+ }
622+ else throw("Strict value is not equal to itself.")
623+ }
624+ else throw("Strict value is not equal to itself.")
625+ }
626+ else throw("Strict value is not equal to itself.")
627+ }
628+ else throw("Strict value is not equal to itself.")
629+ }
630+ else throw("Strict value is not equal to itself.")
631+ }
632+ else throw("Strict value is not equal to itself.")
633+ }
634+ else throw("Strict value is not equal to itself.")
635+ }
531636 else throw("Strict value is not equal to itself.")
532637 }
533638 else throw("Strict value is not equal to itself.")
534639 }
535640
536641

github/deemru/w8io/3ef1775 
59.96 ms