tx · 9MgEXhPo6fg71yoQqR3YgQWBiM3ZUGpUCbQAmRgd7rZe

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.02400000 Waves

2022.07.17 15:37 [2143759] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "9MgEXhPo6fg71yoQqR3YgQWBiM3ZUGpUCbQAmRgd7rZe", "fee": 2400000, "feeAssetId": null, "timestamp": 1658061434942, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "5QWyCC5pct6P7FCFavn1rasbPDsKxzWRPqFimhbKJvh2UYLALbL3ckuhQd3UyvmtPSQifGyTJgbDVLcsM6LEYuJG" ], "script": "base64:BgIvCAISABIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBIECgIBARIDCgEBEgMKAQgEAAtTdGFrZWRUb2tlbgEg+a5dhaqgwfNcHhVklvUuRcimKrmAG+DKV13AJarHD1AAC0dvdmVyblRva2VuASABbIXC10DGLlfEc7PFC2dO3zpcxegcWHrOz/9RkZaZLQAUTGlrZVBhY2thZ2VBU0lNSUNvc3QJAGgCAAEAgMLXLwAWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAkAaAIABQCAwtcvDQFpAQtEZXZXaXRoZHJhdwAECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwMJAAACBQpjdXJyZW50S2V5AiMzUDc0YnVIdDk4Qm5vakZjYVJFSlp0Yjk4S0R5VW1aR2VtSgQMRGV2Qm94QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCBkRldkJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMJAGYCAAAFDERldkJveEFtb3VudAkAAgECEk5vdCBlbm91Z2ggYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIGRGV2Qm94AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQxEZXZCb3hBbW91bnQFC0dvdmVyblRva2VuBQNuaWwJAAIBAixZb3UgY2Fubm90IHdpdGhkcmF3IGFzIHlvdXIgYXJlIG5vdCB0aGUgRGV2LgFpARVXaXRoZHJhd1dlZWtseUVhcm5pbmcABBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMTWF4RGVwb3NpdGVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAgxNYXhEZXBvc2l0ZXIEElVzZXJXZWVrbHlFYXJuaW5ncwkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCDF9XZWVrRWFybmluZwQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQJbmV3QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJXZWVrbHlFYXJuaW5ncwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMJAGYCAAAFCW5ld0Ftb3VudAkAAgECHkNhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudAMJAGYCAAAFCW5ld0Ftb3VudAkAAgEJAKwCAgJBVXNlciBjYW5ub3Qgd2l0aGRyYXcgbW9yZSB0aGFuIGRlcG9zaXRlZCBmdW5kcywgWW91ciBkZXBvc2l0IGlzOiAJAKQDAQkAaQIFCW5ld0Ftb3VudACAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyV2Vla2x5RWFybmluZ3MAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQICCk1heERlcG9zaXQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFCW5ld0Ftb3VudAULU3Rha2VkVG9rZW4FA25pbAFpAQpQdXNoUmV3YXJkAAQMbWluUHVzaEJsb2NrAAoEDW1pblN0YWtlQmxvY2sJAGgCAAcAoAsEDkRlbGF5QWZ0ZXJQdXNoADwECFdhaXRUaW1lCQBoAgCgCwABBAZtaW5yZWYAAwQORmlyc3RQdXNoVGltZXIJAGgCAAcAoAsEF3VzZXJXYWxsZXRHb3Zlcm5CYWxhbmNlCQDwBwIJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwULR292ZXJuVG9rZW4EA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECHEF0dGFjaGVkIHBheW1lbnQgaXMgcmVxdWlyZWQECFVzZXJQdXNoCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIFX1B1c2gEFFVzZXJMYXN0UHVzaE9sZFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtVc2VyUmVmc051bQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9yZWZzBBBVc2VyUmVmc051bVZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFC1VzZXJSZWZzTnVtAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwkAZgIFF3VzZXJXYWxsZXRHb3Zlcm5CYWxhbmNlCAUDcG10BmFtb3VudAMDCQBmAgkAZAIIBQNwbXQGYW1vdW50BRRVc2VyTGFzdFB1c2hPbGRWYWx1ZQUQSGlnaGVzdFB1c2hWYWx1ZQkAAAIIBQNwbXQHYXNzZXRJZAULR292ZXJuVG9rZW4HBBFVc2VyTGFzdFB1c2hCbG9jawkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCEl9Vc2VyTGFzdFB1c2hCbG9jawQSVXNlckxhc3RTdGFrZUJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwITX1VzZXJMYXN0U3Rha2VCbG9jawQJVXNlclN0YWtlCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIIX1N0YWtpbmcEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQLQWN0dWFsRGVsYXkEByRtYXRjaDAJAJoIAgUEdGhpcwIFRGVsYXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEkhpZ2hlc3RQdXNoQWRkcmVzcwQHJG1hdGNoMAkAmggCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFlVzZXJMYXN0UHVzaEJsb2NrVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwURVXNlckxhc3RQdXNoQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJMYXN0U3Rha2VCbG9jawMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQOVXNlclN0YWtlVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUJVXNlclN0YWtlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABA1EZXZCb3hCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCBkRldkJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQMRGV2Qm94QW1vdW50CQBkAgUNRGV2Qm94QmFsYW5jZQkAaQIJAGgCCAUDcG10BmFtb3VudAAFAOgHBA1Vc2VyUHVzaHZhbHVlCQBkAggFA3BtdAZhbW91bnQFFFVzZXJMYXN0UHVzaE9sZFZhbHVlBAhOZXdEZWxheQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFDkZpcnN0UHVzaFRpbWVyCQBkAgULQWN0dWFsRGVsYXkFDkRlbGF5QWZ0ZXJQdXNoBBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFCE5ld0RlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQUITmV3RGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlAwMJAGYCBQ1Vc2VyUHVzaHZhbHVlAAAJAGYCCQBlAgUGaGVpZ2h0BRdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQUNbWluU3Rha2VCbG9jawcDCQBmAgkAZQIFBmhlaWdodAUWVXNlckxhc3RQdXNoQmxvY2tWYWx1ZQUMbWluUHVzaEJsb2NrAwkAZgIFDlVzZXJTdGFrZVZhbHVlAAADCQBmAgUNVXNlclB1c2h2YWx1ZQUQSGlnaGVzdFB1c2hWYWx1ZQMJAGYCBQtQcml6ZUFtb3VudAAAAwMDAwkAZwIJAGQCBRNQcml6ZUhlaWdodFZhbHVlTmV3BQhOZXdEZWxheQUGaGVpZ2h0BgkAZwIFBmhlaWdodAkAZAIJAGQCBRNQcml6ZUhlaWdodFZhbHVlTmV3BQhOZXdEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBgkAAAIFEEhpZ2hlc3RQdXNoVmFsdWUAAAMJAGcCBRBVc2VyUmVmc051bVZhbHVlBQZtaW5yZWYJAMwIAgkBDEludGVnZXJFbnRyeQIFCFVzZXJQdXNoBQ1Vc2VyUHVzaHZhbHVlCQDMCAIJAQtTdHJpbmdFbnRyeQICEkhpZ2hlc3RQdXNoQWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtIaWdoZXN0UHVzaAUNVXNlclB1c2h2YWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgURVXNlckxhc3RQdXNoQmxvY2sFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFE1ByaXplSGVpZ2h0VmFsdWVOZXcJAMwIAgkBDEludGVnZXJFbnRyeQICBURlbGF5BQhOZXdEZWxheQkAzAgCCQEMSW50ZWdlckVudHJ5AgIGRGV2Qm94BQxEZXZCb3hBbW91bnQFA25pbAkAAgEJAKwCAgkArAICAhFZb3UgaGF2ZSB0byBoYXZlIAkApAMBBQZtaW5yZWYCPCByZWZlcnJhbHMgYWxyZWFkeSBzdGFraW5nIGZvciBhIG1pbmltdW0gb2YgMTAgZGF5cywgdG8gcHVzaAQDdHh0AwkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAJPWW91IGNhbm5vdCBQdXNoIGFmdGVyIHJld2FyZGluZyBQcml6ZSBhbmQgYmVmb3JlIE9uZSBkYXkgaGFzIHBhc3NlZCBhZnRlciBhd2FyZAIQVW5leHBlY3RlZCBlcnJvcgkAAgEFA3R4dAkAAgECTllvdSBjYW5ub3QgcHVzaCBiZWZvcmUgdGhlIHJld2FyZCBpcyB1bmxvY2tlZCwgbm8gcmV3YXJkIGhhcyBiZWVuIGRldGVjdGVkIHlldAkAAgECQ1lvdXIgcHVzaCBpbiB0cm9pa2FuIHRva2VuLCBzaG91bGQgYmUgSGlnaGVyIHRoYW4gbGFzdCBIaWdoZXN0IFB1c2gJAAIBAlhUbyBiZSBhYmxlIHRvIHBhcnRpY2lwYXRlIGluIFB1c2hpbmcgZm9yIHRoZSByZXdhcmQgeW91IG5lZWQgdG8gU3Rha2UgQVNJTUlzIGluIHRoZSBkQXBwCQACAQI1WW91IGhhdmUgdG8gd2FpdCAxMG1pbiBiZWZvcmUgeW91IGNhbiBtYWtlIGEgbmV3IFB1c2gJAAIBCQCsAgICOllvdXIgUHVzaCBkb3Qgbm90IGNvbXBseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOiACXTEuIFBvc2l0aXZlIFZhbHVlIGZvciBQdXNoIGluIFRyb2lrYW4gVG9rZQogMi4gTXVzdCBTdGFrZWQgQVNJTUkgVG9rZW4gZm9yIGEgbWluaW11bSBvZiB3ZWVrIAkAAgEJAKwCAgkArAICAnZDYW4gZGVwb3NpdCBvbmx5IHBvc2l0aXZlIGFtb3VudHMgb2YgVHJvaWthbiBUb2tlbiwgb3IgQ2hlY2sgeW91ciBXYWxsZXQgYmFsYW5jZSBpbiBUcm9pa2EsIHlvdSBzaG91bGQgaGF2ZSBtb3JlIHRoYW4gCQCkAwEFEEhpZ2hlc3RQdXNoVmFsdWUCCCB0byBwdXNoCQACAQKkAVlvdSBkbyBub3QgaGF2ZSBlbm91Z2ggVHJvaWthbiBUb2tlbnMgaW4geW91ciBXYWxsZXQgQmFsYW5jZSwgUGxlYXNlIEhhcnZlc3QgaWYgeW91IGhhdmUgZWFybmVkIFRyb2lrYW4gd2FsbGV0IG9yIHRyYW5zZmVyIHRvIHlvdXIgd2FsbGV0IG5lY2Vzc2FyeSBUcm9pa2FuIGFtb3VudCAhAWkBBVN0YWtlAAQIV2FpdFRpbWUJAGgCAKALAAEEA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECHEF0dGFjaGVkIHBheW1lbnQgaXMgcmVxdWlyZWQDAwkAZgIIBQNwbXQGYW1vdW50AAAJAAACCAUDcG10B2Fzc2V0SWQFC1N0YWtlZFRva2VuBwQfR292ZXJuVG9rZW5TbWFydENvbnRyYWN0QmFsYW5jZQkA8AcCBQR0aGlzBQtHb3Zlcm5Ub2tlbgQHVXNlckFQWQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBF9BUFkECFVzZXJQdXNoCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIFX1B1c2gEElVzZXJTdGFrZWRUb2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAglfRWFybmluZ3MEElVzZXJMYXN0U3Rha2VCbG9jawkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCE19Vc2VyTGFzdFN0YWtlQmxvY2sEGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCE19TdGFrZWRUcmFuc2FjdGlvbnMEDUFkZHJlc3NIZWlnaHQJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgxfUHJpemVIZWlnaHQEEFVzZXJXZWVrRWFybmluZ3MJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgxfV2Vla0Vhcm5pbmcEFVVzZXJTdGFrZVRyYW5zYWN0aW9ucwQHJG1hdGNoMAkAmggCBQR0aGlzBRhVc2VyU3Rha2VUcmFuc2FjdGlvbnNLZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDE1heERlcG9zaXRlcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwIMTWF4RGVwb3NpdGVyBA9NYXhEZXBvc2l0QmxvY2sEByRtYXRjaDAJAJoIAgUEdGhpcwIPTWF4RGVwb3NpdEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABApNYXhEZXBvc2l0BAckbWF0Y2gwCQCaCAIFBHRoaXMCCk1heERlcG9zaXQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEU1heERlcG9zaXRlclZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFDE1heERlcG9zaXRlcgQPTWF4RGVwb3NpdFZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0CAUDcG10BmFtb3VudAUKTWF4RGVwb3NpdAQUTWF4RGVwb3NpdEJsb2NrVmFsdWUDCQBmAggFA3BtdAZhbW91bnQFCk1heERlcG9zaXQFBmhlaWdodAUPTWF4RGVwb3NpdEJsb2NrBA1Vc2VyUHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlAwkAAAIFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlAAAFBmhlaWdodAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAZAIFFVVzZXJTdGFrZVRyYW5zYWN0aW9ucwABBBhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4EByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlclN0YWtlZFRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBRuZXdBbW91bnRTdGFrZWRUb2tlbgkAZAIFGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbggFA3BtdAZhbW91bnQEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJTdGFrZUJhbGFuY2VBbW91bnQJAGQCBQxTdGFrZUJhbGFuY2UIBQNwbXQGYW1vdW50BAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVVc2VyV2Vla0Vhcm5pbmdzVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUQVXNlcldlZWtFYXJuaW5ncwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQYY3VycmVudEFtb3VudEdvdmVyblRva2VuBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJIaWdoZXN0UHVzaEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQMJAGYCAIDC1y8FH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAAIBAj5ObyBlbm91Z2ggR292ZXJuVG9rZW4gSW4gQ29udHJhY3QsIFBsZWFzZSBkZXBvc2l0IEdvdmVyblRva2VucwQGUmV3YXJkAwkAAAIFDFN0YWtlQmFsYW5jZQAAAJBOAwkAZgIFGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwAKCQBoAgkAaAIAkE4FGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAZAIAAQkAaQIFFG5ld0Ftb3VudFN0YWtlZFRva2VuBQxTdGFrZUJhbGFuY2UJAGgCAJBOCQBkAgABCQBpAgUUbmV3QW1vdW50U3Rha2VkVG9rZW4FDFN0YWtlQmFsYW5jZQQMVXNlckFQWVZhbHVlAwkAZgIFGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgAACQBpAgkAaAIAZAUGUmV3YXJkBRhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4AAAQUbmV3QW1vdW50R292ZXJuVG9rZW4JAGQCBRhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4FBlJld2FyZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlckdvdmVyblRva2VuS2V5BRRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlclN0YWtlZFRva2VuS2V5BRRuZXdBbW91bnRTdGFrZWRUb2tlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5BRhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAMwIAgkBDEludGVnZXJFbnRyeQICDFN0YWtlQmFsYW5jZQUSU3Rha2VCYWxhbmNlQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUTUHJpemVIZWlnaHRWYWx1ZU5ldwkAzAgCCQEMSW50ZWdlckVudHJ5AgUHVXNlckFQWQUMVXNlckFQWVZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyTGFzdFN0YWtlQmxvY2sFGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQhVc2VyUHVzaAUNVXNlclB1c2hWYWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCAgxNYXhEZXBvc2l0ZXIFEU1heERlcG9zaXRlclZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpNYXhEZXBvc2l0BQ9NYXhEZXBvc2l0VmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQICD01heERlcG9zaXRCbG9jawUUTWF4RGVwb3NpdEJsb2NrVmFsdWUJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUQVXNlcldlZWtFYXJuaW5ncwUVVXNlcldlZWtFYXJuaW5nc1ZhbHVlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGUmV3YXJkBQtHb3Zlcm5Ub2tlbgUDbmlsCQACAQIbQ2FuIGRlcG9zaXQgb25seSBTdGFrZVRva2VuAWkBE1dpdGhkcmF3U3Rha2VkRnVuZHMBBmFtb3VudAQIV2FpdFRpbWUJAGgCAKALAAEEElVzZXJMYXN0U3Rha2VCbG9jawkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCE19Vc2VyTGFzdFN0YWtlQmxvY2sEElVzZXJTdGFrZWRUb2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCAV8JANgEAQULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLQWN0dWFsRGVsYXkEByRtYXRjaDAJAJoIAgUEdGhpcwIFRGVsYXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQSSGlnaGVzdFB1c2hBZGRyZXNzBAckbWF0Y2gwCQCdCAIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJTdGFrZWRUb2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUGYW1vdW50BBJTdGFrZUJhbGFuY2VBbW91bnQJAGUCBQxTdGFrZUJhbGFuY2UFBmFtb3VudAQaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUDCQAAAgUSU3Rha2VCYWxhbmNlQW1vdW50AAAAAAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUDCQBmAgAABQZhbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgAABQluZXdBbW91bnQJAAIBCQCsAgICQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQCkAwEJAGkCBQ1jdXJyZW50QW1vdW50AIDC1y8DCQBmAgCAwtcvCQDwBwIFBHRoaXMFC0dvdmVyblRva2VuCQACAQkArAICAh9Ob3QgZW5vdWdoIFRyb2lrYSBJbiBDb250cmFjdDogCQCkAwEJAGkCCQDwBwIFBHRoaXMFC0dvdmVyblRva2VuAIDC1y8JAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJHb3Zlcm5Ub2tlbktleQCAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyU3Rha2VkVG9rZW5LZXkFCW5ld0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMU3Rha2VCYWxhbmNlBRJTdGFrZUJhbGFuY2VBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyTGFzdFN0YWtlQmxvY2sFGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlCQDMCAIJAQtTdHJpbmdFbnRyeQICEkhpZ2hlc3RQdXNoQWRkcmVzcwUXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAIDC1y8FC0dvdmVyblRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQtTdGFrZWRUb2tlbgUDbmlsAWkBFldpdGhkcmF3QmlnU3Rha2VSZXdhcmQABAhXYWl0VGltZQkAaAIAoAsAAQQYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIZX0xhc3RCaWdTdGFrZXJSZXdhcmRCbG9jawQPQmlnU3Rha2VyUmV3YXJkCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIKX0JpZ1N0YWtlcgQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIJX0Vhcm5pbmdzBBJMaW1pV2l0aGRyYXdSZXdhcmQACgQVVXNlckdvdmVyblRva2VuQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQdTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCFEJpZ1N0YWtlclJld2FyZFRvdGFsAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQLQWN0dWFsRGVsYXkEByRtYXRjaDAJAJoIAgUEdGhpcwIFRGVsYXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEkhpZ2hlc3RQdXNoQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzBBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEBmFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBQ9CaWdTdGFrZXJSZXdhcmQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEElN0YWtlQmFsYW5jZUFtb3VudAkAZQIFGUJpZ1N0YWtlclJld2FyZFRvdGFsVmFsdWUFBmFtb3VudAQSQmlnU3Rha2VyUmV3YXJkVGF4AwkAZgIAAAkAaAIJAGkCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQA6AcJAGUCAOgHCQBpAgkAaAIA6AcJAGUCBQZoZWlnaHQFHUxhc3RCaWdTdGFrZXJSZXdhcmRCbG9ja1ZhbHVlCQBoAgUSTGltaVdpdGhkcmF3UmV3YXJkAKALCQBoAgDoBwCAwtcvCQBoAgkAaQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudADoBwkAZQIA6AcJAGkCCQBoAgDoBwkAZQIFBmhlaWdodAUdTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrVmFsdWUJAGgCBRJMaW1pV2l0aGRyYXdSZXdhcmQAoAsDCQBmAgAABQZhbW91bnQJAAIBCQCsAgIJAKwCAgkArAICAh9DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQgCQCkAwEJAGUCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQJAGgCAOgHAIDC1y8CBSAuLi4gCQCkAwEFBmFtb3VudAMDAwkAZgIJAGgCAOgHAIDC1y8FFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAYJAGYCAAEFBmFtb3VudAYJAGYCAAAJAGUCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQFEkJpZ1N0YWtlclJld2FyZFRheAkAAgEJAKwCAgJcTm8gQVNJTUkgcmV3YXJkIGF2YWlsYWJsZSwgb3IgTm90IGVub3VnaCBFYXJuZWQgVHJvaWthbiBUb2tlbnMgdG8gZG8gdHJhbnNhY3Rpb24sIHlvdSBoYXZlOiAJAKQDAQkAaQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudACAwtcvAwkAZgIFElN0YWtlQmFsYW5jZUFtb3VudAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9CaWdTdGFrZXJSZXdhcmQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIUQmlnU3Rha2VyUmV3YXJkVG90YWwFElN0YWtlQmFsYW5jZUFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlckdvdmVyblRva2VuS2V5CQBlAgUVVXNlckdvdmVyblRva2VuQW1vdW50BRJCaWdTdGFrZXJSZXdhcmRUYXgJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRhMYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2sFBmhlaWdodAkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MFF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQtTdGFrZWRUb2tlbgUDbmlsCQACAQJSQmFsYW5jZSBFcnJvciwgVG90YWwgQmlnIFN0YWtlcnMgY2Fubm90IGJlIG5lZ2F0aXZlLCBPcGVyYXRpb24gd29uJ3QgYmUgYXV0aG9yaXplZAFpARNIYXJ2ZXN0R292ZXJuVG9pa2VuAQZhbW91bnQEGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAglfRWFybmluZ3MEDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlckdvdmVyblRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAluZXdBbW91bnQJAGUCBQ1jdXJyZW50QW1vdW50BQZhbW91bnQDCQBmAgAABQZhbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgAABQluZXdBbW91bnQJAAIBCQCsAgICQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQCkAwEJAGkCBQ1jdXJyZW50QW1vdW50AIDC1y8JAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJHb3Zlcm5Ub2tlbktleQUJbmV3QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAULR292ZXJuVG9rZW4FA25pbAFpAQpkZWxheXByaXplAAQJRGVsYXlEYXlzCQBoAgCgCwABBAhXYWl0VGltZQkAaAIAoAsAAQQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgFfCQDYBAEFC0dvdmVyblRva2VuBBhVc2VyV2FsbGV0U0dvdmVybkJhbGFuY2UJAPAHAgkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBQtHb3Zlcm5Ub2tlbgQaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAPAHAgUEdGhpcwULU3Rha2VkVG9rZW4EDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLQWN0dWFsRGVsYXkEByRtYXRjaDAJAJoIAgUEdGhpcwIFRGVsYXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSSGlnaGVzdFB1c2hBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MEF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlAwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwIABRJIaWdoZXN0UHVzaEFkZHJlc3MEE1ByaXplSGVpZ2h0VmFsdWVOZXcDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQZoZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUED0FjdHVhbERlbGF5Q29zdAQHJG1hdGNoMAkAmggCBQR0aGlzAglEZWxheUNvc3QDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAoEA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECHEF0dGFjaGVkIHBheW1lbnQgaXMgcmVxdWlyZWQEDURldkJveEJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIGRGV2Qm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAACCAUDcG10B2Fzc2V0SWQFC0dvdmVyblRva2VuBwMJAGYCBQtQcml6ZUFtb3VudAAABBVVc2VyR292ZXJuVG9rZW5BbW91bnQIBQNwbXQGYW1vdW50BAxEZXZCb3hBbW91bnQJAGQCBQ1EZXZCb3hCYWxhbmNlCQBpAgkAaAIIBQNwbXQGYW1vdW50AAUA6AcEDE5ld0RlbGF5Q29zdAMJAAACBQ9BY3R1YWxEZWxheUNvc3QAAACAlOvcAwkAaAIAAgUPQWN0dWFsRGVsYXlDb3N0AwkAZwIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUMTmV3RGVsYXlDb3N0BAhOZXdEZWxheQkAZAIFC0FjdHVhbERlbGF5BQlEZWxheURheXMJAMwIAgkBDEludGVnZXJFbnRyeQICBURlbGF5BQhOZXdEZWxheQkAzAgCCQEMSW50ZWdlckVudHJ5AgIJRGVsYXlDb3N0BQxOZXdEZWxheUNvc3QJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZEZXZCb3gFDERldkJveEFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCAhJIaWdoZXN0UHVzaEFkZHJlc3MFF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlBQNuaWwJAAIBCQCsAgIJAKwCAgJJVG8gZGVsYXkgdGhlIHJlbGVhc2Ugb2YgdGhlIHJld2FyZCBPTkUgREFZIGxhdGVyIHRoYW4gZXhwZWN0ZWQsIHlvdSBuZWVkIAkApAMBBQxOZXdEZWxheUNvc3QCB1RST0lLQXMJAAIBAl5Zb3UgY2Fubm90IGRlbGF5IHRoZSByZXdhcmQgYmVmb3JlIHJld2FyZCBpcyByZWNlaXZlZCEgUGxlYXNlIHdhaXQgdW50aWwgYSByZXdhcmQgaXMgYXZhaWxhYmxlCQACAQIpQ2FuIFVzZSBvbmx5IFRyb2lrYSBUb2tlbiB0byBEZWxheSBSZXdhcmQBaQEKQ2xhaW1Qcml6ZQAEElVzZXJTdGFrZWRUb2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBAhVc2VyUHVzaAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCBV9QdXNoBBJVc2VyTGFzdFN0YWtlQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfVXNlckxhc3RTdGFrZUJsb2NrBA1taW5TdGFrZUJsb2NrCQBoAgCgCwAHBAZtaW5yZWYAAwQXQ29udHJhY3RHb3ZUb2tlbkJhbGFuY2UJAPAHAgUEdGhpcwULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABA1Vc2VyUHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFCFVzZXJQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFVVzZXJTdGFrZWRUb2tlbkFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyU3Rha2VkVG9rZW5LZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC0FjdHVhbERlbGF5BAckbWF0Y2gwCQCaCAIFBHRoaXMCBURlbGF5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZVdpbm5lcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzBAtQcml6ZUhlaWdodAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLVXNlclJlZnNOdW0JAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfcmVmcwQQVXNlclJlZnNOdW1WYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQtVc2VyUmVmc051bQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQAAAgULUHJpemVBbW91bnQAAAYJAGYCAIDIr6AlBRdDb250cmFjdEdvdlRva2VuQmFsYW5jZQkAAgECSU5vIHByaXplIHRvIENsYWltIG9yIE5vdCBlbm91Z2ggR292ZXJuIFRva2VuIGVuIENvbnRyYWN0IChNaW4gMTAwIFRyb2lrYSkDCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFC1ByaXplV2lubmVyCQACAQI2WW91IGFyZSBub3QgdGhlIHdpbm5lciBoZW5jZSBjYW5ub3QgY2xhaW0gdGhlIHJld2FyZCAgAwMJAGYCAIDC1y8FFVVzZXJTdGFrZWRUb2tlbkFtb3VudAkAZgIFDW1pblN0YWtlQmxvY2sFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBwkAAgECLllvdSBoYXZlIHRvIFN0YWtlIEFTSU1JIFRva2VuIHRvIGNsYWltIHJld2FyZCADAwkAZgIFBmhlaWdodAkAZAIFC1ByaXplSGVpZ2h0BQtBY3R1YWxEZWxheQkAZwIFDVVzZXJQdXNoVmFsdWUFEEhpZ2hlc3RQdXNoVmFsdWUHAwkAZwIFEFVzZXJSZWZzTnVtVmFsdWUFBm1pbnJlZgkAzAgCCQEMSW50ZWdlckVudHJ5AgULUHJpemVXaW5uZXIFC1ByaXplQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgdGdW5kQm94AAAJAMwIAgkBDEludGVnZXJFbnRyeQICC0hpZ2hlc3RQdXNoAAAJAMwIAgkBDEludGVnZXJFbnRyeQIFCFVzZXJQdXNoAAAJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzAgAJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0AAAJAMwIAgkBDEludGVnZXJFbnRyeQICBURlbGF5AAAJAMwIAgkBDEludGVnZXJFbnRyeQICCURlbGF5Q29zdAAACQDMCAIJAQtTdHJpbmdFbnRyeQICCkxhc3RXaW5uZXIFC1ByaXplV2lubmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCAglMYXN0UHJpemUFC1ByaXplQW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULUHJpemVBbW91bnQFC1N0YWtlZFRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgCAlOvcAwULR292ZXJuVG9rZW4FA25pbAkAAgEJAKwCAgkArAICAhJZb3UgaGF2ZSB0byBoYXZlICAJAKQDAQUGbWlucmVmAkcgIHJlZmVycmFscyBhbHJlYWR5IHN0YWtpbmcgZm9yIGEgbWluaW11bSBvZiAxMCBkYXlzIHRvIENsYWltIHRoZSBwcml6ZQkAAgECYVlvdSBoYXZlIHRvIGJlIHRoZSB1c2VyIHdpdGggdGhlIGhpZ2hlc3QgUHVzaCBhbmQgd2FpdCB0aWxsIGNvdW50b3duIGlzIGZpbmlzaGVkLCB0byBjbGFpbSBSZXdhcmQBaQEJQWRkbWVudG9yAQZNZW50b3IEEVVzZXJNZW50b3JBZGRyZXNzCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIHX01lbnRvcgMJAQIhPQIFBk1lbnRvcgIACQDMCAIJAQtTdHJpbmdFbnRyeQIFEVVzZXJNZW50b3JBZGRyZXNzBQZNZW50b3IFA25pbAkAAgECIE1lbnRvcidzIEFkZHJlc3MgY2Fubm90IGJlIGVtcHR5AWkBD0dldExpa2VzUGFja2FnZQINVHdpdHRlclVzZXJJZAdUd2l0dElkBBtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwIWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQZTGlrZVBhY2thZ2VBU0lNSUNvc3RWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAhRMaWtlUGFja2FnZUFTSU1JQ29zdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAgkAkQMCCAUBaQhwYXltZW50cwAACQACAQIcQXR0YWNoZWQgcGF5bWVudCBpcyByZXF1aXJlZAMDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQtTdGFrZWRUb2tlbgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAULR292ZXJuVG9rZW4HAwkAZwIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAwkAZwIICQCRAwIIBQFpCHBheW1lbnRzAAEGYW1vdW50BRtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUECkluZmx1ZW5jZXIJAKwCAgkArAICCQCkAwEFDVR3aXR0ZXJVc2VySWQCDF9Ud2l0dDJMaWtlXwkApAMBBQdUd2l0dElkBBFJbmZsdWVuY2VyQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzBQpJbmZsdWVuY2VyAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwkAAAIFEUluZmx1ZW5jZXJCYWxhbmNlAAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCkAwEFDVR3aXR0ZXJVc2VySWQCDF9Ud2l0dDJMaWtlXwkApAMBBQdUd2l0dElkCQBpAgkAaAIAXwUUTGlrZVBhY2thZ2VBU0lNSUNvc3QAZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIQTGlrZVR3aXR0c0RldkJveAkAaQIJAGgCAAUFFExpa2VQYWNrYWdlQVNJTUlDb3N0AGQFA25pbAkAAgECZkNhbm5vdCBhY3F1aXJlIGEgbmV3IHBhY2thZ2UsIHRoZSBwcmlvciBsaWtlIHBhY2thZ2UgaGFzIHRvIGJlIGRyYWluZWQgdG8gYmUgYWJsZSB0byBhY3F1aXJlIGEgbmV3IG9uZQkAAgEJAKwCAgIaVFJPSUtBTiBBbW91bnQgc2hvdWxkIGJlIDoJAKQDAQkAaQIFFExpa2VQYWNrYWdlQVNJTUlDb3N0AIDC1y8JAAIBCQCsAgICGEFTSU1JIEFtb3VudCBzaG91bGQgYmUgOgkApAMBCQBpAgUWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdACAwtcvCQACAQIwUGF5bWVudHMgc2hvdWxkIGJlIGJvdGggQVNJTUkgYW5kIFRST0lLQU4gdG9rZW5zAWkBF0dldE15TGlrZWRUd2l0dHNSZXdhcmRzAQZVc2VySWQEGFVzZXJFYXJuZWRMaWtlVHdpdHRBU0lNSQQHJG1hdGNoMAkAmggCBQR0aGlzCQCsAgIJAKQDAQUGVXNlcklkAgxfTGlrZV9BbW91bnQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEHFVzZXJFYXJuZWRkQXBwUlRUd2l0dFRST0lLQU4EByRtYXRjaDAJAJoIAgUEdGhpcwkArAICCQCkAwEFBlVzZXJJZAIWX1Ryb2lrYW5kQXBwX1JUX0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQBnAgUYVXNlckVhcm5lZExpa2VUd2l0dEFTSU1JCQBoAgABAIDC1y8JAGcCBRxVc2VyRWFybmVkZEFwcFJUVHdpdHRUUk9JS0FOCQBoAgABAIDC1y8HCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKQDAQUGVXNlcklkAhZfVHJvaWthbmRBcHBfUlRfQW1vdW50AAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkApAMBBQZVc2VySWQCDF9MaWtlX0Ftb3VudAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUYVXNlckVhcm5lZExpa2VUd2l0dEFTSU1JBQtTdGFrZWRUb2tlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFHFVzZXJFYXJuZWRkQXBwUlRUd2l0dFRST0lLQU4FC0dvdmVyblRva2VuBQNuaWwJAAIBAjtNaW5pbXVtIGVhcm5pbmdzIHRvIHdpdGhkcmF3IGFyZTogMTAwIEFTSU1JIGFuZCA1MCBUcm9pa2FucwFpARVMaW5rVHdpdHRlckFjYzJXYWxsZXQBDVR3aXR0ZXJVc2VySWQEE1R3aXR0ZXJMaW5rZWRXYWxsZXQEByRtYXRjaDAJAJ0IAgUEdGhpcwkArAICBQ1Ud2l0dGVyVXNlcklkAgdfV2FsbGV0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIETm9uZQMJAAACCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFE1R3aXR0ZXJMaW5rZWRXYWxsZXQJAAIBAjpZb3UgYWxyZWFkeSBoYXZlIHlvdXIgd2FsbGV0IGxpbmtlZCB0byB0aGUgVHdpdHRlciBhY2NvdW50AwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwUTVHdpdHRlckxpbmtlZFdhbGxldAkBAiE9AgUTVHdpdHRlckxpbmtlZFdhbGxldAIETm9uZQcJAAIBAklUaGUgd2FsbGV0IHlvdSBhcmUgdXNpbmcgaXMgbm90IHRoZSBsaW5rZWQgV2FsbGV0IHRvIHRoaXMgVHdpdHRlciBhY2NvdW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUNVHdpdHRlclVzZXJJZAIHX1dhbGxldAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBQNuaWwA99SFzw==", "height": 2143759, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CfFCYw52uCUTyS566Hop89TasfVZsi1zdhKmPyDnL7KU Next: GWBzu7anXvdwPSDwGmCTgugKK3DccgTfCMB8bcYAMmRA Diff:
OldNewDifferences
564564 else false)
565565 then o
566566 else 0
567- let I = getStringValue(this, "HighestPushAddress")
567+ let I = {
568+ let h = getString(this, "HighestPushAddress")
569+ if ($isInstanceOf(h, "String"))
570+ then {
571+ let i = h
572+ i
573+ }
574+ else ""
575+ }
568576 let P = if (if ((height > ((p + H) + u)))
569577 then (D > 0)
570578 else false)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Hoej8L1ezqQY4Miex4Z4J7uJ33LCdcubV3DsubGHEqWP'
55
66 let b = base58'6ZPMzZseuYoMP4ByozJpVxbugXBobwJYF22zVjW5JjN'
77
88 let c = (1 * 100000000)
99
1010 let d = (5 * 100000000)
1111
1212 @Callable(e)
1313 func DevWithdraw () = {
1414 let f = toBase58String(e.caller.bytes)
1515 if ((f == "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"))
1616 then {
1717 let g = {
1818 let h = getInteger(this, "DevBox")
1919 if ($isInstanceOf(h, "Int"))
2020 then {
2121 let i = h
2222 i
2323 }
2424 else 0
2525 }
2626 if ((0 > g))
2727 then throw("Not enough balance")
2828 else [IntegerEntry("DevBox", 0), ScriptTransfer(e.caller, g, b)]
2929 }
3030 else throw("You cannot withdraw as your are not the Dev.")
3131 }
3232
3333
3434
3535 @Callable(e)
3636 func WithdrawWeeklyEarning () = {
3737 let j = assetBalance(this, a)
3838 let k = getStringValue(this, "MaxDepositer")
3939 let l = (toBase58String(e.caller.bytes) + "_WeekEarning")
4040 let m = {
4141 let h = getInteger(this, "StakeBalance")
4242 if ($isInstanceOf(h, "Int"))
4343 then {
4444 let i = h
4545 i
4646 }
4747 else 0
4848 }
4949 let n = {
5050 let h = getInteger(this, "FundBox")
5151 if ($isInstanceOf(h, "Int"))
5252 then {
5353 let i = h
5454 i
5555 }
5656 else 0
5757 }
5858 let o = {
5959 let h = getInteger(this, "PrizeHeight")
6060 if ($isInstanceOf(h, "Int"))
6161 then {
6262 let i = h
6363 i
6464 }
6565 else 0
6666 }
6767 let p = if (if ((o == 0))
6868 then (n == 0)
6969 else false)
7070 then 0
7171 else if (if ((o == 0))
7272 then (n != 0)
7373 else false)
7474 then height
7575 else if (if ((o != 0))
7676 then (n != 0)
7777 else false)
7878 then o
7979 else 0
8080 let f = toBase58String(e.caller.bytes)
8181 let q = {
8282 let h = getInteger(this, l)
8383 if ($isInstanceOf(h, "Int"))
8484 then {
8585 let i = h
8686 i
8787 }
8888 else 0
8989 }
9090 if ((0 > q))
9191 then throw("Can't withdraw negative amount")
9292 else if ((0 > q))
9393 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((q / 100000000))))
9494 else [IntegerEntry(l, 0), IntegerEntry("PrizeHeight", p), IntegerEntry("MaxDeposit", 0), ScriptTransfer(e.caller, q, a)]
9595 }
9696
9797
9898
9999 @Callable(e)
100100 func PushReward () = {
101101 let r = 10
102102 let s = (7 * 1440)
103103 let t = 60
104104 let u = (1440 * 1)
105105 let v = 3
106106 let w = (7 * 1440)
107107 let x = assetBalance(Address(e.caller.bytes), b)
108108 let y = if ((size(e.payments) == 1))
109109 then e.payments[0]
110110 else throw("Attached payment is required")
111111 let z = (toBase58String(e.caller.bytes) + "_Push")
112112 let A = {
113113 let h = getInteger(this, z)
114114 if ($isInstanceOf(h, "Int"))
115115 then {
116116 let i = h
117117 i
118118 }
119119 else 0
120120 }
121121 let B = (toBase58String(e.caller.bytes) + "_refs")
122122 let C = {
123123 let h = getInteger(this, B)
124124 if ($isInstanceOf(h, "Int"))
125125 then {
126126 let i = h
127127 i
128128 }
129129 else 0
130130 }
131131 let D = {
132132 let h = getInteger(this, "HighestPush")
133133 if ($isInstanceOf(h, "Int"))
134134 then {
135135 let i = h
136136 i
137137 }
138138 else 0
139139 }
140140 if ((x > y.amount))
141141 then if (if (((y.amount + A) > D))
142142 then (y.assetId == b)
143143 else false)
144144 then {
145145 let E = (toBase58String(e.caller.bytes) + "_UserLastPushBlock")
146146 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
147147 let G = (toBase58String(e.caller.bytes) + "_Staking")
148148 let j = assetBalance(this, a)
149149 let m = {
150150 let h = getInteger(this, "StakeBalance")
151151 if ($isInstanceOf(h, "Int"))
152152 then {
153153 let i = h
154154 i
155155 }
156156 else 0
157157 }
158158 let n = {
159159 let h = getInteger(this, "FundBox")
160160 if ($isInstanceOf(h, "Int"))
161161 then {
162162 let i = h
163163 i
164164 }
165165 else 0
166166 }
167167 let o = {
168168 let h = getInteger(this, "PrizeHeight")
169169 if ($isInstanceOf(h, "Int"))
170170 then {
171171 let i = h
172172 i
173173 }
174174 else 0
175175 }
176176 let p = if (if ((o == 0))
177177 then (n == 0)
178178 else false)
179179 then 0
180180 else if (if ((o == 0))
181181 then (n != 0)
182182 else false)
183183 then height
184184 else if (if ((o != 0))
185185 then (n != 0)
186186 else false)
187187 then o
188188 else 0
189189 let H = {
190190 let h = getInteger(this, "Delay")
191191 if ($isInstanceOf(h, "Int"))
192192 then {
193193 let i = h
194194 i
195195 }
196196 else 0
197197 }
198198 let I = {
199199 let h = getInteger(this, "HighestPushAddress")
200200 if ($isInstanceOf(h, "Int"))
201201 then {
202202 let i = h
203203 i
204204 }
205205 else 0
206206 }
207207 let J = {
208208 let h = getInteger(this, E)
209209 if ($isInstanceOf(h, "Int"))
210210 then {
211211 let i = h
212212 i
213213 }
214214 else 0
215215 }
216216 let K = {
217217 let h = getInteger(this, F)
218218 if ($isInstanceOf(h, "Int"))
219219 then {
220220 let i = h
221221 i
222222 }
223223 else 0
224224 }
225225 let L = {
226226 let h = getInteger(this, G)
227227 if ($isInstanceOf(h, "Int"))
228228 then {
229229 let i = h
230230 i
231231 }
232232 else 0
233233 }
234234 let M = {
235235 let h = getInteger(this, "DevBox")
236236 if ($isInstanceOf(h, "Int"))
237237 then {
238238 let i = h
239239 i
240240 }
241241 else 0
242242 }
243243 let g = (M + ((y.amount * 5) / 1000))
244244 let N = (y.amount + A)
245245 let O = if (if ((height > ((p + H) + u)))
246246 then (D > 0)
247247 else false)
248248 then w
249249 else (H + t)
250250 let P = if (if ((height > ((p + O) + u)))
251251 then (D > 0)
252252 else false)
253253 then ""
254254 else I
255255 let Q = if (if ((height > ((p + O) + u)))
256256 then (D > 0)
257257 else false)
258258 then height
259259 else p
260260 if (if ((N > 0))
261261 then ((height - K) > s)
262262 else false)
263263 then if (((height - J) > r))
264264 then if ((L > 0))
265265 then if ((N > D))
266266 then if ((n > 0))
267267 then if (if (if (if (((Q + O) >= height))
268268 then true
269269 else (height >= ((Q + O) + u)))
270270 then (D > 0)
271271 else false)
272272 then true
273273 else (D == 0))
274274 then if ((C >= v))
275275 then [IntegerEntry(z, N), StringEntry("HighestPushAddress", toBase58String(e.caller.bytes)), IntegerEntry("HighestPush", N), IntegerEntry(E, height), IntegerEntry("PrizeHeight", Q), IntegerEntry("Delay", O), IntegerEntry("DevBox", g)]
276276 else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days, to push"))
277277 else {
278278 let R = if ((D > 0))
279279 then "You cannot Push after rewarding Prize and before One day has passed after award"
280280 else "Unexpected error"
281281 throw(R)
282282 }
283283 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
284284 else throw("Your push in troikan token, should be Higher than last Highest Push")
285285 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
286286 else throw("You have to wait 10min before you can make a new Push")
287287 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
288288 2. Must Staked ASIMI Token for a minimum of week "))
289289 }
290290 else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(D)) + " to push"))
291291 else throw("You do not have enough Troikan Tokens in your Wallet Balance, Please Harvest if you have earned Troikan wallet or transfer to your wallet necessary Troikan amount !")
292292 }
293293
294294
295295
296296 @Callable(e)
297297 func Stake () = {
298298 let u = (1440 * 1)
299299 let y = if ((size(e.payments) == 1))
300300 then e.payments[0]
301301 else throw("Attached payment is required")
302302 if (if ((y.amount > 0))
303303 then (y.assetId == a)
304304 else false)
305305 then {
306306 let S = assetBalance(this, b)
307307 let T = (toBase58String(e.caller.bytes) + "_APY")
308308 let z = (toBase58String(e.caller.bytes) + "_Push")
309309 let U = (toBase58String(e.caller.bytes) + "_Staking")
310310 let V = (toBase58String(e.caller.bytes) + "_Earnings")
311311 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
312312 let W = (toBase58String(e.caller.bytes) + "_StakedTransactions")
313313 let X = (toBase58String(e.caller.bytes) + "_PrizeHeight")
314314 let Y = (toBase58String(e.caller.bytes) + "_WeekEarning")
315315 let Z = {
316316 let h = getInteger(this, W)
317317 if ($isInstanceOf(h, "Int"))
318318 then {
319319 let i = h
320320 i
321321 }
322322 else 0
323323 }
324324 let k = getStringValue(this, "MaxDepositer")
325325 let aa = {
326326 let h = getInteger(this, "MaxDepositBlock")
327327 if ($isInstanceOf(h, "Int"))
328328 then {
329329 let i = h
330330 i
331331 }
332332 else 0
333333 }
334334 let ab = {
335335 let h = getInteger(this, "MaxDeposit")
336336 if ($isInstanceOf(h, "Int"))
337337 then {
338338 let i = h
339339 i
340340 }
341341 else 0
342342 }
343343 let ac = if ((y.amount > ab))
344344 then toBase58String(e.caller.bytes)
345345 else k
346346 let ad = if ((y.amount > ab))
347347 then y.amount
348348 else ab
349349 let ae = if ((y.amount > ab))
350350 then height
351351 else aa
352352 let af = {
353353 let h = getInteger(this, z)
354354 if ($isInstanceOf(h, "Int"))
355355 then {
356356 let i = h
357357 i
358358 }
359359 else 0
360360 }
361361 let K = {
362362 let h = getInteger(this, F)
363363 if ($isInstanceOf(h, "Int"))
364364 then {
365365 let i = h
366366 i
367367 }
368368 else 0
369369 }
370370 let ag = if ((K == 0))
371371 then height
372372 else K
373373 let ah = (Z + 1)
374374 let ai = {
375375 let h = getInteger(this, U)
376376 if ($isInstanceOf(h, "Int"))
377377 then {
378378 let i = h
379379 i
380380 }
381381 else 0
382382 }
383383 let aj = (ai + y.amount)
384384 let j = assetBalance(this, a)
385385 let m = {
386386 let h = getInteger(this, "StakeBalance")
387387 if ($isInstanceOf(h, "Int"))
388388 then {
389389 let i = h
390390 i
391391 }
392392 else 0
393393 }
394394 let ak = (m + y.amount)
395395 let n = {
396396 let h = getInteger(this, "FundBox")
397397 if ($isInstanceOf(h, "Int"))
398398 then {
399399 let i = h
400400 i
401401 }
402402 else 0
403403 }
404404 let al = {
405405 let h = getInteger(this, Y)
406406 if ($isInstanceOf(h, "Int"))
407407 then {
408408 let i = h
409409 i
410410 }
411411 else 0
412412 }
413413 let am = {
414414 let h = getInteger(this, V)
415415 if ($isInstanceOf(h, "Int"))
416416 then {
417417 let i = h
418418 i
419419 }
420420 else 0
421421 }
422422 let o = {
423423 let h = getInteger(this, "PrizeHeight")
424424 if ($isInstanceOf(h, "Int"))
425425 then {
426426 let i = h
427427 i
428428 }
429429 else 0
430430 }
431431 let p = if (if ((o == 0))
432432 then (n == 0)
433433 else false)
434434 then 0
435435 else if (if ((o == 0))
436436 then (n != 0)
437437 else false)
438438 then height
439439 else if (if ((o != 0))
440440 then (n != 0)
441441 else false)
442442 then o
443443 else 0
444444 let H = {
445445 let h = getInteger(this, "Delay")
446446 if ($isInstanceOf(h, "Int"))
447447 then {
448448 let i = h
449449 i
450450 }
451451 else 0
452452 }
453453 let D = {
454454 let h = getInteger(this, "HighestPush")
455455 if ($isInstanceOf(h, "Int"))
456456 then {
457457 let i = h
458458 i
459459 }
460460 else 0
461461 }
462462 let I = getStringValue(this, "HighestPushAddress")
463463 let P = if (if ((height > ((p + H) + u)))
464464 then (D > 0)
465465 else false)
466466 then ""
467467 else I
468468 let Q = if (if ((height > ((p + H) + u)))
469469 then (D > 0)
470470 else false)
471471 then height
472472 else p
473473 if ((100000000 > S))
474474 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
475475 else {
476476 let an = if ((m == 0))
477477 then 10000
478478 else if ((ah > 10))
479479 then ((10000 * ah) * (1 + (aj / m)))
480480 else (10000 * (1 + (aj / m)))
481481 let ao = if ((am > 0))
482482 then ((100 * an) / am)
483483 else 0
484484 let ap = (am + an)
485485 [IntegerEntry(V, ap), IntegerEntry(U, aj), IntegerEntry(W, ah), IntegerEntry("StakeBalance", ak), IntegerEntry("PrizeHeight", Q), IntegerEntry(T, ao), IntegerEntry(F, ag), IntegerEntry(z, af), StringEntry("MaxDepositer", ac), IntegerEntry("MaxDeposit", ad), IntegerEntry("MaxDepositBlock", ae), StringEntry("HighestPushAddress", P), IntegerEntry(Y, al), ScriptTransfer(e.caller, an, b)]
486486 }
487487 }
488488 else throw("Can deposit only StakeToken")
489489 }
490490
491491
492492
493493 @Callable(e)
494494 func WithdrawStakedFunds (aq) = {
495495 let u = (1440 * 1)
496496 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
497497 let U = (toBase58String(e.caller.bytes) + "_Staking")
498498 let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
499499 let j = assetBalance(this, a)
500500 let K = {
501501 let h = getInteger(this, F)
502502 if ($isInstanceOf(h, "Int"))
503503 then {
504504 let i = h
505505 i
506506 }
507507 else 0
508508 }
509509 let m = {
510510 let h = getInteger(this, "StakeBalance")
511511 if ($isInstanceOf(h, "Int"))
512512 then {
513513 let i = h
514514 i
515515 }
516516 else 0
517517 }
518518 let n = {
519519 let h = getInteger(this, "FundBox")
520520 if ($isInstanceOf(h, "Int"))
521521 then {
522522 let i = h
523523 i
524524 }
525525 else 0
526526 }
527527 let o = {
528528 let h = getInteger(this, "PrizeHeight")
529529 if ($isInstanceOf(h, "Int"))
530530 then {
531531 let i = h
532532 i
533533 }
534534 else 0
535535 }
536536 let H = {
537537 let h = getInteger(this, "Delay")
538538 if ($isInstanceOf(h, "Int"))
539539 then {
540540 let i = h
541541 i
542542 }
543543 else 0
544544 }
545545 let D = {
546546 let h = getInteger(this, "HighestPush")
547547 if ($isInstanceOf(h, "Int"))
548548 then {
549549 let i = h
550550 i
551551 }
552552 else 0
553553 }
554554 let p = if (if ((o == 0))
555555 then (n == 0)
556556 else false)
557557 then 0
558558 else if (if ((o == 0))
559559 then (n != 0)
560560 else false)
561561 then height
562562 else if (if ((o != 0))
563563 then (n != 0)
564564 else false)
565565 then o
566566 else 0
567- let I = getStringValue(this, "HighestPushAddress")
567+ let I = {
568+ let h = getString(this, "HighestPushAddress")
569+ if ($isInstanceOf(h, "String"))
570+ then {
571+ let i = h
572+ i
573+ }
574+ else ""
575+ }
568576 let P = if (if ((height > ((p + H) + u)))
569577 then (D > 0)
570578 else false)
571579 then ""
572580 else I
573581 let Q = if (if ((height > ((p + H) + u)))
574582 then (D > 0)
575583 else false)
576584 then height
577585 else p
578586 let f = toBase58String(e.caller.bytes)
579587 let ar = {
580588 let h = getInteger(this, U)
581589 if ($isInstanceOf(h, "Int"))
582590 then {
583591 let i = h
584592 i
585593 }
586594 else 0
587595 }
588596 let q = (ar - aq)
589597 let ak = (m - aq)
590598 let ag = if ((ak == 0))
591599 then 0
592600 else K
593601 if ((0 > aq))
594602 then throw("Can't withdraw negative amount")
595603 else if ((0 > q))
596604 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
597605 else if ((100000000 > assetBalance(this, b)))
598606 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
599607 else [IntegerEntry(V, 100000000), IntegerEntry(U, q), IntegerEntry("StakeBalance", ak), IntegerEntry("PrizeHeight", Q), IntegerEntry(F, ag), StringEntry("HighestPushAddress", P), ScriptTransfer(e.caller, 100000000, b), ScriptTransfer(e.caller, aq, a)]
600608 }
601609
602610
603611
604612 @Callable(e)
605613 func WithdrawBigStakeReward () = {
606614 let u = (1440 * 1)
607615 let as = (toBase58String(e.caller.bytes) + "_LastBigStakerRewardBlock")
608616 let at = (toBase58String(e.caller.bytes) + "_BigStaker")
609617 let V = (toBase58String(e.caller.bytes) + "_Earnings")
610618 let au = 10
611619 let av = {
612620 let h = getInteger(this, V)
613621 if ($isInstanceOf(h, "Int"))
614622 then {
615623 let i = h
616624 i
617625 }
618626 else 0
619627 }
620628 let aw = {
621629 let h = getInteger(this, as)
622630 if ($isInstanceOf(h, "Int"))
623631 then {
624632 let i = h
625633 i
626634 }
627635 else 0
628636 }
629637 let ax = {
630638 let h = getInteger(this, "BigStakerRewardTotal")
631639 if ($isInstanceOf(h, "Int"))
632640 then {
633641 let i = h
634642 i
635643 }
636644 else 0
637645 }
638646 let n = {
639647 let h = getInteger(this, "FundBox")
640648 if ($isInstanceOf(h, "Int"))
641649 then {
642650 let i = h
643651 i
644652 }
645653 else 0
646654 }
647655 let o = {
648656 let h = getInteger(this, "PrizeHeight")
649657 if ($isInstanceOf(h, "Int"))
650658 then {
651659 let i = h
652660 i
653661 }
654662 else 0
655663 }
656664 let p = if (if ((o == 0))
657665 then (n == 0)
658666 else false)
659667 then 0
660668 else if (if ((o == 0))
661669 then (n != 0)
662670 else false)
663671 then height
664672 else if (if ((o != 0))
665673 then (n != 0)
666674 else false)
667675 then o
668676 else 0
669677 let H = {
670678 let h = getInteger(this, "Delay")
671679 if ($isInstanceOf(h, "Int"))
672680 then {
673681 let i = h
674682 i
675683 }
676684 else 0
677685 }
678686 let D = {
679687 let h = getInteger(this, "HighestPush")
680688 if ($isInstanceOf(h, "Int"))
681689 then {
682690 let i = h
683691 i
684692 }
685693 else 0
686694 }
687695 let I = getStringValue(this, "HighestPushAddress")
688696 let P = if (if ((height > ((p + H) + u)))
689697 then (D > 0)
690698 else false)
691699 then ""
692700 else I
693701 let Q = if (if ((height > ((p + H) + u)))
694702 then (D > 0)
695703 else false)
696704 then height
697705 else p
698706 let f = toBase58String(e.caller.bytes)
699707 let aq = {
700708 let h = getInteger(this, at)
701709 if ($isInstanceOf(h, "Int"))
702710 then {
703711 let i = h
704712 i
705713 }
706714 else 0
707715 }
708716 let ak = (ax - aq)
709717 let ay = if ((0 > ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))))
710718 then (1000 * 100000000)
711719 else ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))
712720 if ((0 > aq))
713721 then throw(((("Can't withdraw negative amount " + toString((av - (1000 * 100000000)))) + " ... ") + toString(aq)))
714722 else if (if (if (((1000 * 100000000) > av))
715723 then true
716724 else (1 > aq))
717725 then true
718726 else (0 > (av - ay)))
719727 then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((av / 100000000))))
720728 else if ((ak > 0))
721729 then [IntegerEntry(at, 0), IntegerEntry("BigStakerRewardTotal", ak), IntegerEntry(V, (av - ay)), IntegerEntry("PrizeHeight", p), IntegerEntry(as, height), StringEntry("HighestPushAddress", P), ScriptTransfer(e.caller, aq, a)]
722730 else throw("Balance Error, Total Big Stakers cannot be negative, Operation won't be authorized")
723731 }
724732
725733
726734
727735 @Callable(e)
728736 func HarvestGovernToiken (aq) = {
729737 let j = assetBalance(this, a)
730738 let V = (toBase58String(e.caller.bytes) + "_Earnings")
731739 let m = {
732740 let h = getInteger(this, "StakeBalance")
733741 if ($isInstanceOf(h, "Int"))
734742 then {
735743 let i = h
736744 i
737745 }
738746 else 0
739747 }
740748 let n = {
741749 let h = getInteger(this, "FundBox")
742750 if ($isInstanceOf(h, "Int"))
743751 then {
744752 let i = h
745753 i
746754 }
747755 else 0
748756 }
749757 let o = {
750758 let h = getInteger(this, "PrizeHeight")
751759 if ($isInstanceOf(h, "Int"))
752760 then {
753761 let i = h
754762 i
755763 }
756764 else 0
757765 }
758766 let p = if (if ((o == 0))
759767 then (n == 0)
760768 else false)
761769 then 0
762770 else if (if ((o == 0))
763771 then (n != 0)
764772 else false)
765773 then height
766774 else if (if ((o != 0))
767775 then (n != 0)
768776 else false)
769777 then o
770778 else 0
771779 let f = toBase58String(e.caller.bytes)
772780 let ar = {
773781 let h = getInteger(this, V)
774782 if ($isInstanceOf(h, "Int"))
775783 then {
776784 let i = h
777785 i
778786 }
779787 else 0
780788 }
781789 let q = (ar - aq)
782790 if ((0 > aq))
783791 then throw("Can't withdraw negative amount")
784792 else if ((0 > q))
785793 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
786794 else [IntegerEntry(V, q), IntegerEntry("PrizeHeight", p), ScriptTransfer(e.caller, aq, b)]
787795 }
788796
789797
790798
791799 @Callable(e)
792800 func delayprize () = {
793801 let az = (1440 * 1)
794802 let u = (1440 * 1)
795803 let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
796804 let aA = assetBalance(Address(e.caller.bytes), b)
797805 let j = assetBalance(this, a)
798806 let m = {
799807 let h = getInteger(this, "StakeBalance")
800808 if ($isInstanceOf(h, "Int"))
801809 then {
802810 let i = h
803811 i
804812 }
805813 else 0
806814 }
807815 let n = {
808816 let h = getInteger(this, "FundBox")
809817 if ($isInstanceOf(h, "Int"))
810818 then {
811819 let i = h
812820 i
813821 }
814822 else 0
815823 }
816824 let o = {
817825 let h = getInteger(this, "PrizeHeight")
818826 if ($isInstanceOf(h, "Int"))
819827 then {
820828 let i = h
821829 i
822830 }
823831 else 0
824832 }
825833 let H = {
826834 let h = getInteger(this, "Delay")
827835 if ($isInstanceOf(h, "Int"))
828836 then {
829837 let i = h
830838 i
831839 }
832840 else 0
833841 }
834842 let p = if (if ((o == 0))
835843 then (n == 0)
836844 else false)
837845 then 0
838846 else if (if ((o == 0))
839847 then (n != 0)
840848 else false)
841849 then height
842850 else if (if ((o != 0))
843851 then (n != 0)
844852 else false)
845853 then o
846854 else 0
847855 let D = {
848856 let h = getInteger(this, "HighestPush")
849857 if ($isInstanceOf(h, "Int"))
850858 then {
851859 let i = h
852860 i
853861 }
854862 else 0
855863 }
856864 let I = getStringValue(this, "HighestPushAddress")
857865 let P = if (if ((height > ((p + H) + u)))
858866 then (D > 0)
859867 else false)
860868 then ""
861869 else I
862870 let Q = if (if ((height > ((p + H) + u)))
863871 then (D > 0)
864872 else false)
865873 then height
866874 else p
867875 let aB = {
868876 let h = getInteger(this, "DelayCost")
869877 if ($isInstanceOf(h, "Int"))
870878 then {
871879 let i = h
872880 i
873881 }
874882 else 10
875883 }
876884 let y = if ((size(e.payments) == 1))
877885 then e.payments[0]
878886 else throw("Attached payment is required")
879887 let M = {
880888 let h = getInteger(this, "DevBox")
881889 if ($isInstanceOf(h, "Int"))
882890 then {
883891 let i = h
884892 i
885893 }
886894 else 0
887895 }
888896 if (if (isDefined(y.assetId))
889897 then (y.assetId == b)
890898 else false)
891899 then if ((n > 0))
892900 then {
893901 let av = y.amount
894902 let g = (M + ((y.amount * 5) / 1000))
895903 let aC = if ((aB == 0))
896904 then 1000000000
897905 else (2 * aB)
898906 if ((av >= aC))
899907 then {
900908 let O = (H + az)
901909 [IntegerEntry("Delay", O), IntegerEntry("DelayCost", aC), IntegerEntry("PrizeHeight", Q), IntegerEntry("DevBox", g), StringEntry("HighestPushAddress", P)]
902910 }
903911 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aC)) + "TROIKAs"))
904912 }
905913 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
906914 else throw("Can Use only Troika Token to Delay Reward")
907915 }
908916
909917
910918
911919 @Callable(e)
912920 func ClaimPrize () = {
913921 let U = (toBase58String(e.caller.bytes) + "_Staking")
914922 let z = (toBase58String(e.caller.bytes) + "_Push")
915923 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
916924 let s = (1440 * 7)
917925 let v = 3
918926 let aD = assetBalance(this, b)
919927 let j = assetBalance(this, a)
920928 let m = {
921929 let h = getInteger(this, "StakeBalance")
922930 if ($isInstanceOf(h, "Int"))
923931 then {
924932 let i = h
925933 i
926934 }
927935 else 0
928936 }
929937 let n = {
930938 let h = getInteger(this, "FundBox")
931939 if ($isInstanceOf(h, "Int"))
932940 then {
933941 let i = h
934942 i
935943 }
936944 else 0
937945 }
938946 let af = {
939947 let h = getInteger(this, z)
940948 if ($isInstanceOf(h, "Int"))
941949 then {
942950 let i = h
943951 i
944952 }
945953 else 0
946954 }
947955 let K = {
948956 let h = getInteger(this, F)
949957 if ($isInstanceOf(h, "Int"))
950958 then {
951959 let i = h
952960 i
953961 }
954962 else 0
955963 }
956964 let aE = {
957965 let h = getInteger(this, U)
958966 if ($isInstanceOf(h, "Int"))
959967 then {
960968 let i = h
961969 i
962970 }
963971 else 0
964972 }
965973 let H = {
966974 let h = getInteger(this, "Delay")
967975 if ($isInstanceOf(h, "Int"))
968976 then {
969977 let i = h
970978 i
971979 }
972980 else 0
973981 }
974982 let aF = getStringValue(this, "HighestPushAddress")
975983 let aG = {
976984 let h = getInteger(this, "PrizeHeight")
977985 if ($isInstanceOf(h, "Int"))
978986 then {
979987 let i = h
980988 i
981989 }
982990 else 0
983991 }
984992 let D = {
985993 let h = getInteger(this, "HighestPush")
986994 if ($isInstanceOf(h, "Int"))
987995 then {
988996 let i = h
989997 i
990998 }
991999 else 0
9921000 }
9931001 let B = (toBase58String(e.caller.bytes) + "_refs")
9941002 let C = {
9951003 let h = getInteger(this, B)
9961004 if ($isInstanceOf(h, "Int"))
9971005 then {
9981006 let i = h
9991007 i
10001008 }
10011009 else 0
10021010 }
10031011 if (if ((n == 0))
10041012 then true
10051013 else (10000000000 > aD))
10061014 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
10071015 else if ((toBase58String(e.caller.bytes) != aF))
10081016 then throw("You are not the winner hence cannot claim the reward ")
10091017 else if (if ((100000000 > aE))
10101018 then (s > K)
10111019 else false)
10121020 then throw("You have to Stake ASIMI Token to claim reward ")
10131021 else if (if ((height > (aG + H)))
10141022 then (af >= D)
10151023 else false)
10161024 then if ((C >= v))
10171025 then [IntegerEntry(aF, n), IntegerEntry("FundBox", 0), IntegerEntry("HighestPush", 0), IntegerEntry(z, 0), StringEntry("HighestPushAddress", ""), IntegerEntry("PrizeHeight", 0), IntegerEntry("Delay", 0), IntegerEntry("DelayCost", 0), StringEntry("LastWinner", aF), IntegerEntry("LastPrize", n), ScriptTransfer(e.caller, n, a), ScriptTransfer(e.caller, 1000000000, b)]
10181026 else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
10191027 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
10201028 }
10211029
10221030
10231031
10241032 @Callable(e)
10251033 func Addmentor (aH) = {
10261034 let aI = (toBase58String(e.caller.bytes) + "_Mentor")
10271035 if ((aH != ""))
10281036 then [StringEntry(aI, aH)]
10291037 else throw("Mentor's Address cannot be empty")
10301038 }
10311039
10321040
10331041
10341042 @Callable(e)
10351043 func GetLikesPackage (aJ,aK) = {
10361044 let aL = {
10371045 let h = getInteger(this, "LikePackageTROIKANCost")
10381046 if ($isInstanceOf(h, "Int"))
10391047 then {
10401048 let i = h
10411049 i
10421050 }
10431051 else 0
10441052 }
10451053 let aM = {
10461054 let h = getInteger(this, "LikePackageASIMICost")
10471055 if ($isInstanceOf(h, "Int"))
10481056 then {
10491057 let i = h
10501058 i
10511059 }
10521060 else 0
10531061 }
10541062 let y = if ((size(e.payments) == 2))
10551063 then e.payments[0]
10561064 else throw("Attached payment is required")
10571065 if (if ((e.payments[0].assetId == a))
10581066 then (e.payments[1].assetId == b)
10591067 else false)
10601068 then if ((e.payments[0].amount >= aM))
10611069 then if ((e.payments[1].amount >= aL))
10621070 then {
10631071 let aN = ((toString(aJ) + "_Twitt2Like_") + toString(aK))
10641072 let aO = {
10651073 let h = getInteger(this, aN)
10661074 if ($isInstanceOf(h, "Int"))
10671075 then {
10681076 let i = h
10691077 i
10701078 }
10711079 else 0
10721080 }
10731081 if ((aO == 0))
10741082 then [IntegerEntry(((toString(aJ) + "_Twitt2Like_") + toString(aK)), ((95 * c) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * c) / 100))]
10751083 else throw("Cannot acquire a new package, the prior like package has to be drained to be able to acquire a new one")
10761084 }
10771085 else throw(("TROIKAN Amount should be :" + toString((c / 100000000))))
10781086 else throw(("ASIMI Amount should be :" + toString((d / 100000000))))
10791087 else throw("Payments should be both ASIMI and TROIKAN tokens")
10801088 }
10811089
10821090
10831091
10841092 @Callable(e)
10851093 func GetMyLikedTwittsRewards (aP) = {
10861094 let aQ = {
10871095 let h = getInteger(this, (toString(aP) + "_Like_Amount"))
10881096 if ($isInstanceOf(h, "Int"))
10891097 then {
10901098 let i = h
10911099 i
10921100 }
10931101 else 0
10941102 }
10951103 let aR = {
10961104 let h = getInteger(this, (toString(aP) + "_TroikandApp_RT_Amount"))
10971105 if ($isInstanceOf(h, "Int"))
10981106 then {
10991107 let i = h
11001108 i
11011109 }
11021110 else 0
11031111 }
11041112 if (if ((aQ >= (1 * 100000000)))
11051113 then (aR >= (1 * 100000000))
11061114 else false)
11071115 then [IntegerEntry((toString(aP) + "_TroikandApp_RT_Amount"), 0), IntegerEntry((toString(aP) + "_Like_Amount"), 0), ScriptTransfer(e.caller, aQ, a), ScriptTransfer(e.caller, aR, b)]
11081116 else throw("Minimum earnings to withdraw are: 100 ASIMI and 50 Troikans")
11091117 }
11101118
11111119
11121120
11131121 @Callable(e)
11141122 func LinkTwitterAcc2Wallet (aJ) = {
11151123 let aS = {
11161124 let h = getString(this, (aJ + "_Wallet"))
11171125 if ($isInstanceOf(h, "String"))
11181126 then {
11191127 let i = h
11201128 i
11211129 }
11221130 else "None"
11231131 }
11241132 if ((toBase58String(e.caller.bytes) == aS))
11251133 then throw("You already have your wallet linked to the Twitter account")
11261134 else if (if ((toBase58String(e.caller.bytes) != aS))
11271135 then (aS != "None")
11281136 else false)
11291137 then throw("The wallet you are using is not the linked Wallet to this Twitter account")
11301138 else [StringEntry((aJ + "_Wallet"), toBase58String(e.caller.bytes))]
11311139 }
11321140
11331141

github/deemru/w8io/169f3d6 
88.45 ms