tx · GWBzu7anXvdwPSDwGmCTgugKK3DccgTfCMB8bcYAMmRA

3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK:  -0.02400000 Waves

2022.07.17 15:41 [2143763] smart account 3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK > SELF 0.00000000 Waves

{ "type": 13, "id": "GWBzu7anXvdwPSDwGmCTgugKK3DccgTfCMB8bcYAMmRA", "fee": 2400000, "feeAssetId": null, "timestamp": 1658061725549, "version": 2, "chainId": 84, "sender": "3N9evuqxGecMq9hBmpdJu2VkMzdR5VNVrvK", "senderPublicKey": "AHY8zupoYc6HPJ5fh1gQiGE9bNZSeifFbcQQ89okxVug", "proofs": [ "2gKtxW8Mh5tYej38ncTH1AEstbwwPqnbWyymAYwfu2TMch1oH1LAtEqNzBKJESKuxLSp4U8kZ3YP7d4fMHSb6fmv" ], "script": "base64:BgIvCAISABIAEgASABIDCgEBEgASAwoBARIAEgASAwoBCBIECgIBARIDCgEBEgMKAQgEAAtTdGFrZWRUb2tlbgEg+a5dhaqgwfNcHhVklvUuRcimKrmAG+DKV13AJarHD1AAC0dvdmVyblRva2VuASABbIXC10DGLlfEc7PFC2dO3zpcxegcWHrOz/9RkZaZLQAUTGlrZVBhY2thZ2VBU0lNSUNvc3QJAGgCAAEAgMLXLwAWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAkAaAIABQCAwtcvDQFpAQtEZXZXaXRoZHJhdwAECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwMJAAACBQpjdXJyZW50S2V5AiMzUDc0YnVIdDk4Qm5vakZjYVJFSlp0Yjk4S0R5VW1aR2VtSgQMRGV2Qm94QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCBkRldkJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMJAGYCAAAFDERldkJveEFtb3VudAkAAgECEk5vdCBlbm91Z2ggYmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIGRGV2Qm94AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQxEZXZCb3hBbW91bnQFC0dvdmVyblRva2VuBQNuaWwJAAIBAixZb3UgY2Fubm90IHdpdGhkcmF3IGFzIHlvdXIgYXJlIG5vdCB0aGUgRGV2LgFpARVXaXRoZHJhd1dlZWtseUVhcm5pbmcABBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMTWF4RGVwb3NpdGVyBAckbWF0Y2gwCQCdCAIFBHRoaXMCDE1heERlcG9zaXRlcgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQSVXNlcldlZWtseUVhcm5pbmdzCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIMX1dlZWtFYXJuaW5nBAxTdGFrZUJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIMU3Rha2VCYWxhbmNlAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAluZXdBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlcldlZWtseUVhcm5pbmdzAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwkAZgIAAAUJbmV3QW1vdW50CQACAQIeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAZgIAAAUJbmV3QW1vdW50CQACAQkArAICAkFVc2VyIGNhbm5vdCB3aXRoZHJhdyBtb3JlIHRoYW4gZGVwb3NpdGVkIGZ1bmRzLCBZb3VyIGRlcG9zaXQgaXM6IAkApAMBCQBpAgUJbmV3QW1vdW50AIDC1y8JAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJXZWVrbHlFYXJuaW5ncwAACQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIKTWF4RGVwb3NpdAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUJbmV3QW1vdW50BQtTdGFrZWRUb2tlbgUDbmlsAWkBClB1c2hSZXdhcmQABAxtaW5QdXNoQmxvY2sACgQNbWluU3Rha2VCbG9jawkAaAIABwCgCwQORGVsYXlBZnRlclB1c2gAPAQIV2FpdFRpbWUJAGgCAKALAAEEBm1pbnJlZgADBA5GaXJzdFB1c2hUaW1lcgkAaAIABwCgCwQXdXNlcldhbGxldEdvdmVybkJhbGFuY2UJAPAHAgkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBQtHb3Zlcm5Ub2tlbgQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIcQXR0YWNoZWQgcGF5bWVudCBpcyByZXF1aXJlZAQIVXNlclB1c2gJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfUHVzaAQUVXNlckxhc3RQdXNoT2xkVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUIVXNlclB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1VzZXJSZWZzTnVtCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIFX3JlZnMEEFVzZXJSZWZzTnVtVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwULVXNlclJlZnNOdW0DCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAADCQBmAgUXdXNlcldhbGxldEdvdmVybkJhbGFuY2UIBQNwbXQGYW1vdW50AwMJAGYCCQBkAggFA3BtdAZhbW91bnQFFFVzZXJMYXN0UHVzaE9sZFZhbHVlBRBIaWdoZXN0UHVzaFZhbHVlCQAAAggFA3BtdAdhc3NldElkBQtHb3Zlcm5Ub2tlbgcEEVVzZXJMYXN0UHVzaEJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwISX1VzZXJMYXN0UHVzaEJsb2NrBBJVc2VyTGFzdFN0YWtlQmxvY2sJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAhNfVXNlckxhc3RTdGFrZUJsb2NrBAlVc2VyU3Rha2UJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAghfU3Rha2luZwQaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAPAHAgUEdGhpcwULU3Rha2VkVG9rZW4EDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSSGlnaGVzdFB1c2hBZGRyZXNzBAckbWF0Y2gwCQCaCAIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQWVXNlckxhc3RQdXNoQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRFVc2VyTGFzdFB1c2hCbG9jawMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlckxhc3RTdGFrZUJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABA5Vc2VyU3Rha2VWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQlVc2VyU3Rha2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDURldkJveEJhbGFuY2UEByRtYXRjaDAJAJoIAgUEdGhpcwIGRGV2Qm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAxEZXZCb3hBbW91bnQJAGQCBQ1EZXZCb3hCYWxhbmNlCQBpAgkAaAIIBQNwbXQGYW1vdW50AAUA6AcEDVVzZXJQdXNodmFsdWUJAGQCCAUDcG10BmFtb3VudAUUVXNlckxhc3RQdXNoT2xkVmFsdWUECE5ld0RlbGF5AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUORmlyc3RQdXNoVGltZXIJAGQCBQtBY3R1YWxEZWxheQUORGVsYXlBZnRlclB1c2gEF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlAwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQUITmV3RGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwIABRJIaWdoZXN0UHVzaEFkZHJlc3MEE1ByaXplSGVpZ2h0VmFsdWVOZXcDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQhOZXdEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQZoZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUDAwkAZgIFDVVzZXJQdXNodmFsdWUAAAkAZgIJAGUCBQZoZWlnaHQFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBQ1taW5TdGFrZUJsb2NrBwMJAGYCCQBlAgUGaGVpZ2h0BRZVc2VyTGFzdFB1c2hCbG9ja1ZhbHVlBQxtaW5QdXNoQmxvY2sDCQBmAgUOVXNlclN0YWtlVmFsdWUAAAMJAGYCBQ1Vc2VyUHVzaHZhbHVlBRBIaWdoZXN0UHVzaFZhbHVlAwkAZgIFC1ByaXplQW1vdW50AAADAwMDCQBnAgkAZAIFE1ByaXplSGVpZ2h0VmFsdWVOZXcFCE5ld0RlbGF5BQZoZWlnaHQGCQBnAgUGaGVpZ2h0CQBkAgkAZAIFE1ByaXplSGVpZ2h0VmFsdWVOZXcFCE5ld0RlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcGCQAAAgUQSGlnaGVzdFB1c2hWYWx1ZQAAAwkAZwIFEFVzZXJSZWZzTnVtVmFsdWUFBm1pbnJlZgkAzAgCCQEMSW50ZWdlckVudHJ5AgUIVXNlclB1c2gFDVVzZXJQdXNodmFsdWUJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBDEludGVnZXJFbnRyeQICC0hpZ2hlc3RQdXNoBQ1Vc2VyUHVzaHZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRFVc2VyTGFzdFB1c2hCbG9jawUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUTUHJpemVIZWlnaHRWYWx1ZU5ldwkAzAgCCQEMSW50ZWdlckVudHJ5AgIFRGVsYXkFCE5ld0RlbGF5CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgZEZXZCb3gFDERldkJveEFtb3VudAUDbmlsCQACAQkArAICCQCsAgICEVlvdSBoYXZlIHRvIGhhdmUgCQCkAwEFBm1pbnJlZgI8IHJlZmVycmFscyBhbHJlYWR5IHN0YWtpbmcgZm9yIGEgbWluaW11bSBvZiAxMCBkYXlzLCB0byBwdXNoBAN0eHQDCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAAAk9Zb3UgY2Fubm90IFB1c2ggYWZ0ZXIgcmV3YXJkaW5nIFByaXplIGFuZCBiZWZvcmUgT25lIGRheSBoYXMgcGFzc2VkIGFmdGVyIGF3YXJkAhBVbmV4cGVjdGVkIGVycm9yCQACAQUDdHh0CQACAQJOWW91IGNhbm5vdCBwdXNoIGJlZm9yZSB0aGUgcmV3YXJkIGlzIHVubG9ja2VkLCBubyByZXdhcmQgaGFzIGJlZW4gZGV0ZWN0ZWQgeWV0CQACAQJDWW91ciBwdXNoIGluIHRyb2lrYW4gdG9rZW4sIHNob3VsZCBiZSBIaWdoZXIgdGhhbiBsYXN0IEhpZ2hlc3QgUHVzaAkAAgECWFRvIGJlIGFibGUgdG8gcGFydGljaXBhdGUgaW4gUHVzaGluZyBmb3IgdGhlIHJld2FyZCB5b3UgbmVlZCB0byBTdGFrZSBBU0lNSXMgaW4gdGhlIGRBcHAJAAIBAjVZb3UgaGF2ZSB0byB3YWl0IDEwbWluIGJlZm9yZSB5b3UgY2FuIG1ha2UgYSBuZXcgUHVzaAkAAgEJAKwCAgI6WW91ciBQdXNoIGRvdCBub3QgY29tcGx5IG9uZSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6IAJdMS4gUG9zaXRpdmUgVmFsdWUgZm9yIFB1c2ggaW4gVHJvaWthbiBUb2tlCiAyLiBNdXN0IFN0YWtlZCBBU0lNSSBUb2tlbiBmb3IgYSBtaW5pbXVtIG9mIHdlZWsgCQACAQkArAICCQCsAgICdkNhbiBkZXBvc2l0IG9ubHkgcG9zaXRpdmUgYW1vdW50cyBvZiBUcm9pa2FuIFRva2VuLCBvciBDaGVjayB5b3VyIFdhbGxldCBiYWxhbmNlIGluIFRyb2lrYSwgeW91IHNob3VsZCBoYXZlIG1vcmUgdGhhbiAJAKQDAQUQSGlnaGVzdFB1c2hWYWx1ZQIIIHRvIHB1c2gJAAIBAqQBWW91IGRvIG5vdCBoYXZlIGVub3VnaCBUcm9pa2FuIFRva2VucyBpbiB5b3VyIFdhbGxldCBCYWxhbmNlLCBQbGVhc2UgSGFydmVzdCBpZiB5b3UgaGF2ZSBlYXJuZWQgVHJvaWthbiB3YWxsZXQgb3IgdHJhbnNmZXIgdG8geW91ciB3YWxsZXQgbmVjZXNzYXJ5IFRyb2lrYW4gYW1vdW50ICEBaQEFU3Rha2UABAhXYWl0VGltZQkAaAIAoAsAAQQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIcQXR0YWNoZWQgcGF5bWVudCBpcyByZXF1aXJlZAMDCQBmAggFA3BtdAZhbW91bnQAAAkAAAIIBQNwbXQHYXNzZXRJZAULU3Rha2VkVG9rZW4HBB9Hb3Zlcm5Ub2tlblNtYXJ0Q29udHJhY3RCYWxhbmNlCQDwBwIFBHRoaXMFC0dvdmVyblRva2VuBAdVc2VyQVBZCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIEX0FQWQQIVXNlclB1c2gJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfUHVzaAQSVXNlclN0YWtlZFRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIIX1N0YWtpbmcEElVzZXJHb3Zlcm5Ub2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCV9FYXJuaW5ncwQSVXNlckxhc3RTdGFrZUJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwITX1VzZXJMYXN0U3Rha2VCbG9jawQYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwITX1N0YWtlZFRyYW5zYWN0aW9ucwQNQWRkcmVzc0hlaWdodAkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCDF9Qcml6ZUhlaWdodAQQVXNlcldlZWtFYXJuaW5ncwkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCDF9XZWVrRWFybmluZwQVVXNlclN0YWtlVHJhbnNhY3Rpb25zBAckbWF0Y2gwCQCaCAIFBHRoaXMFGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQMTWF4RGVwb3NpdGVyBAckbWF0Y2gwCQCdCAIFBHRoaXMCDE1heERlcG9zaXRlcgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQPTWF4RGVwb3NpdEJsb2NrBAckbWF0Y2gwCQCaCAIFBHRoaXMCD01heERlcG9zaXRCbG9jawMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQKTWF4RGVwb3NpdAQHJG1hdGNoMAkAmggCBQR0aGlzAgpNYXhEZXBvc2l0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBFNYXhEZXBvc2l0ZXJWYWx1ZQMJAGYCCAUDcG10BmFtb3VudAUKTWF4RGVwb3NpdAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBQxNYXhEZXBvc2l0ZXIED01heERlcG9zaXRWYWx1ZQMJAGYCCAUDcG10BmFtb3VudAUKTWF4RGVwb3NpdAgFA3BtdAZhbW91bnQFCk1heERlcG9zaXQEFE1heERlcG9zaXRCbG9ja1ZhbHVlAwkAZgIIBQNwbXQGYW1vdW50BQpNYXhEZXBvc2l0BQZoZWlnaHQFD01heERlcG9zaXRCbG9jawQNVXNlclB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQhVc2VyUHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlckxhc3RTdGFrZUJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZQMJAAACBRdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQAABQZoZWlnaHQFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBBhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAGQCBRVVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAQQYY3VycmVudEFtb3VudFN0YWtlZFRva2VuBAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJTdGFrZWRUb2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQUbmV3QW1vdW50U3Rha2VkVG9rZW4JAGQCBRhjdXJyZW50QW1vdW50U3Rha2VkVG9rZW4IBQNwbXQGYW1vdW50BBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSU3Rha2VCYWxhbmNlQW1vdW50CQBkAgUMU3Rha2VCYWxhbmNlCAUDcG10BmFtb3VudAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVVXNlcldlZWtFYXJuaW5nc1ZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMFEFVzZXJXZWVrRWFybmluZ3MDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyR292ZXJuVG9rZW5LZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSSGlnaGVzdFB1c2hBZGRyZXNzBAckbWF0Y2gwCQCdCAIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQMJAGYCAIDC1y8FH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAAIBAj5ObyBlbm91Z2ggR292ZXJuVG9rZW4gSW4gQ29udHJhY3QsIFBsZWFzZSBkZXBvc2l0IEdvdmVyblRva2VucwQGUmV3YXJkAwkAAAIFDFN0YWtlQmFsYW5jZQAAAJBOAwkAZgIFGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwAKCQBoAgkAaAIAkE4FGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAZAIAAQkAaQIFFG5ld0Ftb3VudFN0YWtlZFRva2VuBQxTdGFrZUJhbGFuY2UJAGgCAJBOCQBkAgABCQBpAgUUbmV3QW1vdW50U3Rha2VkVG9rZW4FDFN0YWtlQmFsYW5jZQQMVXNlckFQWVZhbHVlAwkAZgIFGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgAACQBpAgkAaAIAZAUGUmV3YXJkBRhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4AAAQUbmV3QW1vdW50R292ZXJuVG9rZW4JAGQCBRhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4FBlJld2FyZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlckdvdmVyblRva2VuS2V5BRRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlclN0YWtlZFRva2VuS2V5BRRuZXdBbW91bnRTdGFrZWRUb2tlbgkAzAgCCQEMSW50ZWdlckVudHJ5AgUYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5BRhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAMwIAgkBDEludGVnZXJFbnRyeQICDFN0YWtlQmFsYW5jZQUSU3Rha2VCYWxhbmNlQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUTUHJpemVIZWlnaHRWYWx1ZU5ldwkAzAgCCQEMSW50ZWdlckVudHJ5AgUHVXNlckFQWQUMVXNlckFQWVZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyTGFzdFN0YWtlQmxvY2sFGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQhVc2VyUHVzaAUNVXNlclB1c2hWYWx1ZQkAzAgCCQELU3RyaW5nRW50cnkCAgxNYXhEZXBvc2l0ZXIFEU1heERlcG9zaXRlclZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgpNYXhEZXBvc2l0BQ9NYXhEZXBvc2l0VmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQICD01heERlcG9zaXRCbG9jawUUTWF4RGVwb3NpdEJsb2NrVmFsdWUJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUQVXNlcldlZWtFYXJuaW5ncwUVVXNlcldlZWtFYXJuaW5nc1ZhbHVlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGUmV3YXJkBQtHb3Zlcm5Ub2tlbgUDbmlsCQACAQIbQ2FuIGRlcG9zaXQgb25seSBTdGFrZVRva2VuAWkBE1dpdGhkcmF3U3Rha2VkRnVuZHMBBmFtb3VudAQIV2FpdFRpbWUJAGgCAKALAAEEElVzZXJMYXN0U3Rha2VCbG9jawkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCE19Vc2VyTGFzdFN0YWtlQmxvY2sEElVzZXJTdGFrZWRUb2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCF9TdGFraW5nBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCAV8JANgEAQULR292ZXJuVG9rZW4EGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQDwBwIFBHRoaXMFC1N0YWtlZFRva2VuBBdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyTGFzdFN0YWtlQmxvY2sDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEDFN0YWtlQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzAgxTdGFrZUJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEC1ByaXplQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMCB0Z1bmRCb3gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFUhlaWdodFRyYW5zYWN0RnVuZEJveAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLQWN0dWFsRGVsYXkEByRtYXRjaDAJAJoIAgUEdGhpcwIFRGVsYXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQSSGlnaGVzdFB1c2hBZGRyZXNzBAckbWF0Y2gwCQCdCAIFBHRoaXMCEkhpZ2hlc3RQdXNoQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAQXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHAgAFEkhpZ2hlc3RQdXNoQWRkcmVzcwQTUHJpemVIZWlnaHRWYWx1ZU5ldwMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcFBmhlaWdodAUQUHJpemVIZWlnaHRWYWx1ZQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJTdGFrZWRUb2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUGYW1vdW50BBJTdGFrZUJhbGFuY2VBbW91bnQJAGUCBQxTdGFrZUJhbGFuY2UFBmFtb3VudAQaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUDCQAAAgUSU3Rha2VCYWxhbmNlQW1vdW50AAAAAAUXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUDCQBmAgAABQZhbW91bnQJAAIBAh5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQBmAgAABQluZXdBbW91bnQJAAIBCQCsAgICQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQCkAwEJAGkCBQ1jdXJyZW50QW1vdW50AIDC1y8DCQBmAgCAwtcvCQDwBwIFBHRoaXMFC0dvdmVyblRva2VuCQACAQkArAICAh9Ob3QgZW5vdWdoIFRyb2lrYSBJbiBDb250cmFjdDogCQCkAwEJAGkCCQDwBwIFBHRoaXMFC0dvdmVyblRva2VuAIDC1y8JAMwIAgkBDEludGVnZXJFbnRyeQIFElVzZXJHb3Zlcm5Ub2tlbktleQCAwtcvCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyU3Rha2VkVG9rZW5LZXkFCW5ld0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgIMU3Rha2VCYWxhbmNlBRJTdGFrZUJhbGFuY2VBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRNQcml6ZUhlaWdodFZhbHVlTmV3CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyTGFzdFN0YWtlQmxvY2sFGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlCQDMCAIJAQtTdHJpbmdFbnRyeQICEkhpZ2hlc3RQdXNoQWRkcmVzcwUXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAIDC1y8FC0dvdmVyblRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQtTdGFrZWRUb2tlbgUDbmlsAWkBFldpdGhkcmF3QmlnU3Rha2VSZXdhcmQABAhXYWl0VGltZQkAaAIAoAsAAQQYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIZX0xhc3RCaWdTdGFrZXJSZXdhcmRCbG9jawQPQmlnU3Rha2VyUmV3YXJkCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIKX0JpZ1N0YWtlcgQSVXNlckdvdmVyblRva2VuS2V5CQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIJX0Vhcm5pbmdzBBJMaW1pV2l0aGRyYXdSZXdhcmQACgQVVXNlckdvdmVyblRva2VuQW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFElVzZXJHb3Zlcm5Ub2tlbktleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQdTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUYTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBlCaWdTdGFrZXJSZXdhcmRUb3RhbFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCFEJpZ1N0YWtlclJld2FyZFRvdGFsAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtQcml6ZUFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzAgdGdW5kQm94AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEByRtYXRjaDAJAJoIAgUEdGhpcwILUHJpemVIZWlnaHQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEFByaXplSGVpZ2h0VmFsdWUDAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQAAAgULUHJpemVBbW91bnQAAAcAAAMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBQZoZWlnaHQDAwkBAiE9AgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAQIhPQIFC1ByaXplQW1vdW50AAAHBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAQLQWN0dWFsRGVsYXkEByRtYXRjaDAJAJoIAgUEdGhpcwIFRGVsYXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEEhpZ2hlc3RQdXNoVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwILSGlnaGVzdFB1c2gDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEkhpZ2hlc3RQdXNoQWRkcmVzcwQHJG1hdGNoMAkAnQgCBQR0aGlzAhJIaWdoZXN0UHVzaEFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgAEF0hpZ2hlc3RQdXNoQWRkcmVzc1ZhbHVlAwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwIABRJIaWdoZXN0UHVzaEFkZHJlc3MEE1ByaXplSGVpZ2h0VmFsdWVOZXcDAwkAZgIFBmhlaWdodAkAZAIJAGQCBRBQcml6ZUhlaWdodFZhbHVlBQtBY3R1YWxEZWxheQUIV2FpdFRpbWUJAGYCBRBIaWdoZXN0UHVzaFZhbHVlAAAHBQZoZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQGYW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFD0JpZ1N0YWtlclJld2FyZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQSU3Rha2VCYWxhbmNlQW1vdW50CQBlAgUZQmlnU3Rha2VyUmV3YXJkVG90YWxWYWx1ZQUGYW1vdW50BBJCaWdTdGFrZXJSZXdhcmRUYXgDCQBmAgAACQBoAgkAaQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudADoBwkAZQIA6AcJAGkCCQBoAgDoBwkAZQIFBmhlaWdodAUdTGFzdEJpZ1N0YWtlclJld2FyZEJsb2NrVmFsdWUJAGgCBRJMaW1pV2l0aGRyYXdSZXdhcmQAoAsJAGgCAOgHAIDC1y8JAGgCCQBpAgUVVXNlckdvdmVyblRva2VuQW1vdW50AOgHCQBlAgDoBwkAaQIJAGgCAOgHCQBlAgUGaGVpZ2h0BR1MYXN0QmlnU3Rha2VyUmV3YXJkQmxvY2tWYWx1ZQkAaAIFEkxpbWlXaXRoZHJhd1Jld2FyZACgCwMJAGYCAAAFBmFtb3VudAkAAgEJAKwCAgkArAICCQCsAgICH0Nhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudCAJAKQDAQkAZQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAkAaAIA6AcAgMLXLwIFIC4uLiAJAKQDAQUGYW1vdW50AwMDCQBmAgkAaAIA6AcAgMLXLwUVVXNlckdvdmVyblRva2VuQW1vdW50BgkAZgIAAQUGYW1vdW50BgkAZgIAAAkAZQIFFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUSQmlnU3Rha2VyUmV3YXJkVGF4CQACAQkArAICAlxObyBBU0lNSSByZXdhcmQgYXZhaWxhYmxlLCBvciBOb3QgZW5vdWdoIEVhcm5lZCBUcm9pa2FuIFRva2VucyB0byBkbyB0cmFuc2FjdGlvbiwgeW91IGhhdmU6IAkApAMBCQBpAgUVVXNlckdvdmVyblRva2VuQW1vdW50AIDC1y8DCQBmAgUSU3Rha2VCYWxhbmNlQW1vdW50AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFD0JpZ1N0YWtlclJld2FyZAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCAhRCaWdTdGFrZXJSZXdhcmRUb3RhbAUSU3Rha2VCYWxhbmNlQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJVc2VyR292ZXJuVG9rZW5LZXkJAGUCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQFEkJpZ1N0YWtlclJld2FyZFRheAkAzAgCCQEMSW50ZWdlckVudHJ5AgILUHJpemVIZWlnaHQFEFByaXplSGVpZ2h0VmFsdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFGExhc3RCaWdTdGFrZXJSZXdhcmRCbG9jawUGaGVpZ2h0CQDMCAIJAQtTdHJpbmdFbnRyeQICEkhpZ2hlc3RQdXNoQWRkcmVzcwUXSGlnaGVzdFB1c2hBZGRyZXNzVmFsdWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFC1N0YWtlZFRva2VuBQNuaWwJAAIBAlJCYWxhbmNlIEVycm9yLCBUb3RhbCBCaWcgU3Rha2VycyBjYW5ub3QgYmUgbmVnYXRpdmUsIE9wZXJhdGlvbiB3b24ndCBiZSBhdXRob3JpemVkAWkBE0hhcnZlc3RHb3Zlcm5Ub2lrZW4BBmFtb3VudAQaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAPAHAgUEdGhpcwULU3Rha2VkVG9rZW4EElVzZXJHb3Zlcm5Ub2tlbktleQkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCCV9FYXJuaW5ncwQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBBQcml6ZUhlaWdodFZhbHVlAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkAAAIFC1ByaXplQW1vdW50AAAHAAADAwkAAAIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUGaGVpZ2h0AwMJAQIhPQIFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAACQECIT0CBQtQcml6ZUFtb3VudAAABwUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAECmN1cnJlbnRLZXkJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQNY3VycmVudEFtb3VudAQHJG1hdGNoMAkAmggCBQR0aGlzBRJVc2VyR292ZXJuVG9rZW5LZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAECW5ld0Ftb3VudAkAZQIFDWN1cnJlbnRBbW91bnQFBmFtb3VudAMJAGYCAAAFBmFtb3VudAkAAgECHkNhbid0IHdpdGhkcmF3IG5lZ2F0aXZlIGFtb3VudAMJAGYCAAAFCW5ld0Ftb3VudAkAAgEJAKwCAgJBVXNlciBjYW5ub3Qgd2l0aGRyYXcgbW9yZSB0aGFuIGRlcG9zaXRlZCBmdW5kcywgWW91ciBkZXBvc2l0IGlzOiAJAKQDAQkAaQIFDWN1cnJlbnRBbW91bnQAgMLXLwkAzAgCCQEMSW50ZWdlckVudHJ5AgUSVXNlckdvdmVyblRva2VuS2V5BQluZXdBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQtHb3Zlcm5Ub2tlbgUDbmlsAWkBCmRlbGF5cHJpemUABAlEZWxheURheXMJAGgCAKALAAEECFdhaXRUaW1lCQBoAgCgCwABBBJVc2VyR292ZXJuVG9rZW5LZXkJAKwCAgkArAICCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMCAV8JANgEAQULR292ZXJuVG9rZW4EGFVzZXJXYWxsZXRTR292ZXJuQmFsYW5jZQkA8AcCCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFC0dvdmVyblRva2VuBBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAckbWF0Y2gwCQCaCAIFBHRoaXMCC1ByaXplSGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAgUVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAJAAACBQtQcml6ZUFtb3VudAAABwAAAwMJAAACBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFBmhlaWdodAMDCQECIT0CBRVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAkBAiE9AgULUHJpemVBbW91bnQAAAcFFUhlaWdodFRyYW5zYWN0RnVuZEJveAAABBBIaWdoZXN0UHVzaFZhbHVlBAckbWF0Y2gwCQCaCAIFBHRoaXMCC0hpZ2hlc3RQdXNoAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJIaWdoZXN0UHVzaEFkZHJlc3MEByRtYXRjaDAJAJ0IAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABBdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQMDCQBmAgUGaGVpZ2h0CQBkAgkAZAIFEFByaXplSGVpZ2h0VmFsdWUFC0FjdHVhbERlbGF5BQhXYWl0VGltZQkAZgIFEEhpZ2hlc3RQdXNoVmFsdWUAAAcCAAUSSGlnaGVzdFB1c2hBZGRyZXNzBBNQcml6ZUhlaWdodFZhbHVlTmV3AwMJAGYCBQZoZWlnaHQJAGQCCQBkAgUQUHJpemVIZWlnaHRWYWx1ZQULQWN0dWFsRGVsYXkFCFdhaXRUaW1lCQBmAgUQSGlnaGVzdFB1c2hWYWx1ZQAABwUGaGVpZ2h0BRBQcml6ZUhlaWdodFZhbHVlBA9BY3R1YWxEZWxheUNvc3QEByRtYXRjaDAJAJoIAgUEdGhpcwIJRGVsYXlDb3N0AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAKBANwbXQDCQAAAgkAkAMBCAUBaQhwYXltZW50cwABCQCRAwIIBQFpCHBheW1lbnRzAAAJAAIBAhxBdHRhY2hlZCBwYXltZW50IGlzIHJlcXVpcmVkBA1EZXZCb3hCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCBkRldkJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkCQAAAggFA3BtdAdhc3NldElkBQtHb3Zlcm5Ub2tlbgcDCQBmAgULUHJpemVBbW91bnQAAAQVVXNlckdvdmVyblRva2VuQW1vdW50CAUDcG10BmFtb3VudAQMRGV2Qm94QW1vdW50CQBkAgUNRGV2Qm94QmFsYW5jZQkAaQIJAGgCCAUDcG10BmFtb3VudAAFAOgHBAxOZXdEZWxheUNvc3QDCQAAAgUPQWN0dWFsRGVsYXlDb3N0AAAAgJTr3AMJAGgCAAIFD0FjdHVhbERlbGF5Q29zdAMJAGcCBRVVc2VyR292ZXJuVG9rZW5BbW91bnQFDE5ld0RlbGF5Q29zdAQITmV3RGVsYXkJAGQCBQtBY3R1YWxEZWxheQUJRGVsYXlEYXlzCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgVEZWxheQUITmV3RGVsYXkJAMwIAgkBDEludGVnZXJFbnRyeQICCURlbGF5Q29zdAUMTmV3RGVsYXlDb3N0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtQcml6ZUhlaWdodAUTUHJpemVIZWlnaHRWYWx1ZU5ldwkAzAgCCQEMSW50ZWdlckVudHJ5AgIGRGV2Qm94BQxEZXZCb3hBbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzBRdIaWdoZXN0UHVzaEFkZHJlc3NWYWx1ZQUDbmlsCQACAQkArAICCQCsAgICSVRvIGRlbGF5IHRoZSByZWxlYXNlIG9mIHRoZSByZXdhcmQgT05FIERBWSBsYXRlciB0aGFuIGV4cGVjdGVkLCB5b3UgbmVlZCAJAKQDAQUMTmV3RGVsYXlDb3N0AgdUUk9JS0FzCQACAQJeWW91IGNhbm5vdCBkZWxheSB0aGUgcmV3YXJkIGJlZm9yZSByZXdhcmQgaXMgcmVjZWl2ZWQhIFBsZWFzZSB3YWl0IHVudGlsIGEgcmV3YXJkIGlzIGF2YWlsYWJsZQkAAgECKUNhbiBVc2Ugb25seSBUcm9pa2EgVG9rZW4gdG8gRGVsYXkgUmV3YXJkAWkBCkNsYWltUHJpemUABBJVc2VyU3Rha2VkVG9rZW5LZXkJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAghfU3Rha2luZwQIVXNlclB1c2gJAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfUHVzaAQSVXNlckxhc3RTdGFrZUJsb2NrCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwITX1VzZXJMYXN0U3Rha2VCbG9jawQNbWluU3Rha2VCbG9jawkAaAIAoAsABwQGbWlucmVmAAMEF0NvbnRyYWN0R292VG9rZW5CYWxhbmNlCQDwBwIFBHRoaXMFC0dvdmVyblRva2VuBBpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkA8AcCBQR0aGlzBQtTdGFrZWRUb2tlbgQMU3Rha2VCYWxhbmNlBAckbWF0Y2gwCQCaCAIFBHRoaXMCDFN0YWtlQmFsYW5jZQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwIHRnVuZEJveAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQNVXNlclB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQhVc2VyUHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlckxhc3RTdGFrZUJsb2NrAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVVc2VyU3Rha2VkVG9rZW5BbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUSVXNlclN0YWtlZFRva2VuS2V5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABAtBY3R1YWxEZWxheQQHJG1hdGNoMAkAmggCBQR0aGlzAgVEZWxheQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLUHJpemVXaW5uZXIEByRtYXRjaDAJAJ0IAgUEdGhpcwISSGlnaGVzdFB1c2hBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIABAtQcml6ZUhlaWdodAQHJG1hdGNoMAkAmggCBQR0aGlzAgtQcml6ZUhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQQSGlnaGVzdFB1c2hWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAgtIaWdoZXN0UHVzaAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQLVXNlclJlZnNOdW0JAKwCAgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAgVfcmVmcwQQVXNlclJlZnNOdW1WYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzBQtVc2VyUmVmc051bQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQAAAgULUHJpemVBbW91bnQAAAYJAGYCAIDIr6AlBRdDb250cmFjdEdvdlRva2VuQmFsYW5jZQkAAgECSU5vIHByaXplIHRvIENsYWltIG9yIE5vdCBlbm91Z2ggR292ZXJuIFRva2VuIGVuIENvbnRyYWN0IChNaW4gMTAwIFRyb2lrYSkDCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFC1ByaXplV2lubmVyCQACAQI2WW91IGFyZSBub3QgdGhlIHdpbm5lciBoZW5jZSBjYW5ub3QgY2xhaW0gdGhlIHJld2FyZCAgAwMJAGYCAIDC1y8FFVVzZXJTdGFrZWRUb2tlbkFtb3VudAkAZgIFDW1pblN0YWtlQmxvY2sFF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBwkAAgECLllvdSBoYXZlIHRvIFN0YWtlIEFTSU1JIFRva2VuIHRvIGNsYWltIHJld2FyZCADAwkAZgIFBmhlaWdodAkAZAIFC1ByaXplSGVpZ2h0BQtBY3R1YWxEZWxheQkAZwIFDVVzZXJQdXNoVmFsdWUFEEhpZ2hlc3RQdXNoVmFsdWUHAwkAZwIFEFVzZXJSZWZzTnVtVmFsdWUFBm1pbnJlZgkAzAgCCQEMSW50ZWdlckVudHJ5AgULUHJpemVXaW5uZXIFC1ByaXplQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAgdGdW5kQm94AAAJAMwIAgkBDEludGVnZXJFbnRyeQICC0hpZ2hlc3RQdXNoAAAJAMwIAgkBDEludGVnZXJFbnRyeQIFCFVzZXJQdXNoAAAJAMwIAgkBC1N0cmluZ0VudHJ5AgISSGlnaGVzdFB1c2hBZGRyZXNzAgAJAMwIAgkBDEludGVnZXJFbnRyeQICC1ByaXplSGVpZ2h0AAAJAMwIAgkBDEludGVnZXJFbnRyeQICBURlbGF5AAAJAMwIAgkBDEludGVnZXJFbnRyeQICCURlbGF5Q29zdAAACQDMCAIJAQtTdHJpbmdFbnRyeQICCkxhc3RXaW5uZXIFC1ByaXplV2lubmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCAglMYXN0UHJpemUFC1ByaXplQW1vdW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULUHJpemVBbW91bnQFC1N0YWtlZFRva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgCAlOvcAwULR292ZXJuVG9rZW4FA25pbAkAAgEJAKwCAgkArAICAhJZb3UgaGF2ZSB0byBoYXZlICAJAKQDAQUGbWlucmVmAkcgIHJlZmVycmFscyBhbHJlYWR5IHN0YWtpbmcgZm9yIGEgbWluaW11bSBvZiAxMCBkYXlzIHRvIENsYWltIHRoZSBwcml6ZQkAAgECYVlvdSBoYXZlIHRvIGJlIHRoZSB1c2VyIHdpdGggdGhlIGhpZ2hlc3QgUHVzaCBhbmQgd2FpdCB0aWxsIGNvdW50b3duIGlzIGZpbmlzaGVkLCB0byBjbGFpbSBSZXdhcmQBaQEJQWRkbWVudG9yAQZNZW50b3IEEVVzZXJNZW50b3JBZGRyZXNzCQCsAgIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwIHX01lbnRvcgMJAQIhPQIFBk1lbnRvcgIACQDMCAIJAQtTdHJpbmdFbnRyeQIFEVVzZXJNZW50b3JBZGRyZXNzBQZNZW50b3IFA25pbAkAAgECIE1lbnRvcidzIEFkZHJlc3MgY2Fubm90IGJlIGVtcHR5AWkBD0dldExpa2VzUGFja2FnZQINVHdpdHRlclVzZXJJZAdUd2l0dElkBBtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUEByRtYXRjaDAJAJoIAgUEdGhpcwIWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQZTGlrZVBhY2thZ2VBU0lNSUNvc3RWYWx1ZQQHJG1hdGNoMAkAmggCBQR0aGlzAhRMaWtlUGFja2FnZUFTSU1JQ29zdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAgkAkQMCCAUBaQhwYXltZW50cwAACQACAQIcQXR0YWNoZWQgcGF5bWVudCBpcyByZXF1aXJlZAMDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQtTdGFrZWRUb2tlbgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAEHYXNzZXRJZAULR292ZXJuVG9rZW4HAwkAZwIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BRlMaWtlUGFja2FnZUFTSU1JQ29zdFZhbHVlAwkAZwIICQCRAwIIBQFpCHBheW1lbnRzAAEGYW1vdW50BRtMaWtlUGFja2FnZVRST0lLQU5Db3N0VmFsdWUECkluZmx1ZW5jZXIJAKwCAgkArAICCQCkAwEFDVR3aXR0ZXJVc2VySWQCDF9Ud2l0dDJMaWtlXwkApAMBBQdUd2l0dElkBBFJbmZsdWVuY2VyQmFsYW5jZQQHJG1hdGNoMAkAmggCBQR0aGlzBQpJbmZsdWVuY2VyAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAwkAAAIFEUluZmx1ZW5jZXJCYWxhbmNlAAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCkAwEFDVR3aXR0ZXJVc2VySWQCDF9Ud2l0dDJMaWtlXwkApAMBBQdUd2l0dElkCQBpAgkAaAIAXwUUTGlrZVBhY2thZ2VBU0lNSUNvc3QAZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIQTGlrZVR3aXR0c0RldkJveAkAaQIJAGgCAAUFFExpa2VQYWNrYWdlQVNJTUlDb3N0AGQFA25pbAkAAgECZkNhbm5vdCBhY3F1aXJlIGEgbmV3IHBhY2thZ2UsIHRoZSBwcmlvciBsaWtlIHBhY2thZ2UgaGFzIHRvIGJlIGRyYWluZWQgdG8gYmUgYWJsZSB0byBhY3F1aXJlIGEgbmV3IG9uZQkAAgEJAKwCAgIaVFJPSUtBTiBBbW91bnQgc2hvdWxkIGJlIDoJAKQDAQkAaQIFFExpa2VQYWNrYWdlQVNJTUlDb3N0AIDC1y8JAAIBCQCsAgICGEFTSU1JIEFtb3VudCBzaG91bGQgYmUgOgkApAMBCQBpAgUWTGlrZVBhY2thZ2VUUk9JS0FOQ29zdACAwtcvCQACAQIwUGF5bWVudHMgc2hvdWxkIGJlIGJvdGggQVNJTUkgYW5kIFRST0lLQU4gdG9rZW5zAWkBF0dldE15TGlrZWRUd2l0dHNSZXdhcmRzAQZVc2VySWQEGFVzZXJFYXJuZWRMaWtlVHdpdHRBU0lNSQQHJG1hdGNoMAkAmggCBQR0aGlzCQCsAgIJAKQDAQUGVXNlcklkAgxfTGlrZV9BbW91bnQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEHFVzZXJFYXJuZWRkQXBwUlRUd2l0dFRST0lLQU4EByRtYXRjaDAJAJoIAgUEdGhpcwkArAICCQCkAwEFBlVzZXJJZAIWX1Ryb2lrYW5kQXBwX1JUX0Ftb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAMDCQBnAgUYVXNlckVhcm5lZExpa2VUd2l0dEFTSU1JCQBoAgABAIDC1y8JAGcCBRxVc2VyRWFybmVkZEFwcFJUVHdpdHRUUk9JS0FOCQBoAgABAIDC1y8HCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKQDAQUGVXNlcklkAhZfVHJvaWthbmRBcHBfUlRfQW1vdW50AAAJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkApAMBBQZVc2VySWQCDF9MaWtlX0Ftb3VudAAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUYVXNlckVhcm5lZExpa2VUd2l0dEFTSU1JBQtTdGFrZWRUb2tlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFHFVzZXJFYXJuZWRkQXBwUlRUd2l0dFRST0lLQU4FC0dvdmVyblRva2VuBQNuaWwJAAIBAjtNaW5pbXVtIGVhcm5pbmdzIHRvIHdpdGhkcmF3IGFyZTogMTAwIEFTSU1JIGFuZCA1MCBUcm9pa2FucwFpARVMaW5rVHdpdHRlckFjYzJXYWxsZXQBDVR3aXR0ZXJVc2VySWQEE1R3aXR0ZXJMaW5rZWRXYWxsZXQEByRtYXRjaDAJAJ0IAgUEdGhpcwkArAICBQ1Ud2l0dGVyVXNlcklkAgdfV2FsbGV0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIETm9uZQMJAAACCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFE1R3aXR0ZXJMaW5rZWRXYWxsZXQJAAIBAjpZb3UgYWxyZWFkeSBoYXZlIHlvdXIgd2FsbGV0IGxpbmtlZCB0byB0aGUgVHdpdHRlciBhY2NvdW50AwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwUTVHdpdHRlckxpbmtlZFdhbGxldAkBAiE9AgUTVHdpdHRlckxpbmtlZFdhbGxldAIETm9uZQcJAAIBAklUaGUgd2FsbGV0IHlvdSBhcmUgdXNpbmcgaXMgbm90IHRoZSBsaW5rZWQgV2FsbGV0IHRvIHRoaXMgVHdpdHRlciBhY2NvdW50CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUNVHdpdHRlclVzZXJJZAIHX1dhbGxldAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBQNuaWwAK7gZhA==", "height": 2143763, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9MgEXhPo6fg71yoQqR3YgQWBiM3ZUGpUCbQAmRgd7rZe Next: 7db296TdSDtxQ1aGsiUKGe6d1ajzxETUwyGbtqQDs644 Diff:
OldNewDifferences
3535 @Callable(e)
3636 func WithdrawWeeklyEarning () = {
3737 let j = assetBalance(this, a)
38- let k = getStringValue(this, "MaxDepositer")
38+ let k = {
39+ let h = getString(this, "MaxDepositer")
40+ if ($isInstanceOf(h, "String"))
41+ then {
42+ let i = h
43+ i
44+ }
45+ else ""
46+ }
3947 let l = (toBase58String(e.caller.bytes) + "_WeekEarning")
4048 let m = {
4149 let h = getInteger(this, "StakeBalance")
321329 }
322330 else 0
323331 }
324- let k = getStringValue(this, "MaxDepositer")
332+ let k = {
333+ let h = getString(this, "MaxDepositer")
334+ if ($isInstanceOf(h, "String"))
335+ then {
336+ let i = h
337+ i
338+ }
339+ else ""
340+ }
325341 let aa = {
326342 let h = getInteger(this, "MaxDepositBlock")
327343 if ($isInstanceOf(h, "Int"))
459475 }
460476 else 0
461477 }
462- let I = getStringValue(this, "HighestPushAddress")
478+ let I = {
479+ let h = getString(this, "HighestPushAddress")
480+ if ($isInstanceOf(h, "String"))
481+ then {
482+ let i = h
483+ i
484+ }
485+ else ""
486+ }
463487 let P = if (if ((height > ((p + H) + u)))
464488 then (D > 0)
465489 else false)
692716 }
693717 else 0
694718 }
695- let I = getStringValue(this, "HighestPushAddress")
719+ let I = {
720+ let h = getString(this, "HighestPushAddress")
721+ if ($isInstanceOf(h, "String"))
722+ then {
723+ let i = h
724+ i
725+ }
726+ else ""
727+ }
696728 let P = if (if ((height > ((p + H) + u)))
697729 then (D > 0)
698730 else false)
861893 }
862894 else 0
863895 }
864- let I = getStringValue(this, "HighestPushAddress")
896+ let I = {
897+ let h = getString(this, "HighestPushAddress")
898+ if ($isInstanceOf(h, "String"))
899+ then {
900+ let i = h
901+ i
902+ }
903+ else ""
904+ }
865905 let P = if (if ((height > ((p + H) + u)))
866906 then (D > 0)
867907 else false)
9791019 }
9801020 else 0
9811021 }
982- let aF = getStringValue(this, "HighestPushAddress")
1022+ let aF = {
1023+ let h = getString(this, "HighestPushAddress")
1024+ if ($isInstanceOf(h, "String"))
1025+ then {
1026+ let i = h
1027+ i
1028+ }
1029+ else ""
1030+ }
9831031 let aG = {
9841032 let h = getInteger(this, "PrizeHeight")
9851033 if ($isInstanceOf(h, "Int"))
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)
38- let k = getStringValue(this, "MaxDepositer")
38+ let k = {
39+ let h = getString(this, "MaxDepositer")
40+ if ($isInstanceOf(h, "String"))
41+ then {
42+ let i = h
43+ i
44+ }
45+ else ""
46+ }
3947 let l = (toBase58String(e.caller.bytes) + "_WeekEarning")
4048 let m = {
4149 let h = getInteger(this, "StakeBalance")
4250 if ($isInstanceOf(h, "Int"))
4351 then {
4452 let i = h
4553 i
4654 }
4755 else 0
4856 }
4957 let n = {
5058 let h = getInteger(this, "FundBox")
5159 if ($isInstanceOf(h, "Int"))
5260 then {
5361 let i = h
5462 i
5563 }
5664 else 0
5765 }
5866 let o = {
5967 let h = getInteger(this, "PrizeHeight")
6068 if ($isInstanceOf(h, "Int"))
6169 then {
6270 let i = h
6371 i
6472 }
6573 else 0
6674 }
6775 let p = if (if ((o == 0))
6876 then (n == 0)
6977 else false)
7078 then 0
7179 else if (if ((o == 0))
7280 then (n != 0)
7381 else false)
7482 then height
7583 else if (if ((o != 0))
7684 then (n != 0)
7785 else false)
7886 then o
7987 else 0
8088 let f = toBase58String(e.caller.bytes)
8189 let q = {
8290 let h = getInteger(this, l)
8391 if ($isInstanceOf(h, "Int"))
8492 then {
8593 let i = h
8694 i
8795 }
8896 else 0
8997 }
9098 if ((0 > q))
9199 then throw("Can't withdraw negative amount")
92100 else if ((0 > q))
93101 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((q / 100000000))))
94102 else [IntegerEntry(l, 0), IntegerEntry("PrizeHeight", p), IntegerEntry("MaxDeposit", 0), ScriptTransfer(e.caller, q, a)]
95103 }
96104
97105
98106
99107 @Callable(e)
100108 func PushReward () = {
101109 let r = 10
102110 let s = (7 * 1440)
103111 let t = 60
104112 let u = (1440 * 1)
105113 let v = 3
106114 let w = (7 * 1440)
107115 let x = assetBalance(Address(e.caller.bytes), b)
108116 let y = if ((size(e.payments) == 1))
109117 then e.payments[0]
110118 else throw("Attached payment is required")
111119 let z = (toBase58String(e.caller.bytes) + "_Push")
112120 let A = {
113121 let h = getInteger(this, z)
114122 if ($isInstanceOf(h, "Int"))
115123 then {
116124 let i = h
117125 i
118126 }
119127 else 0
120128 }
121129 let B = (toBase58String(e.caller.bytes) + "_refs")
122130 let C = {
123131 let h = getInteger(this, B)
124132 if ($isInstanceOf(h, "Int"))
125133 then {
126134 let i = h
127135 i
128136 }
129137 else 0
130138 }
131139 let D = {
132140 let h = getInteger(this, "HighestPush")
133141 if ($isInstanceOf(h, "Int"))
134142 then {
135143 let i = h
136144 i
137145 }
138146 else 0
139147 }
140148 if ((x > y.amount))
141149 then if (if (((y.amount + A) > D))
142150 then (y.assetId == b)
143151 else false)
144152 then {
145153 let E = (toBase58String(e.caller.bytes) + "_UserLastPushBlock")
146154 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
147155 let G = (toBase58String(e.caller.bytes) + "_Staking")
148156 let j = assetBalance(this, a)
149157 let m = {
150158 let h = getInteger(this, "StakeBalance")
151159 if ($isInstanceOf(h, "Int"))
152160 then {
153161 let i = h
154162 i
155163 }
156164 else 0
157165 }
158166 let n = {
159167 let h = getInteger(this, "FundBox")
160168 if ($isInstanceOf(h, "Int"))
161169 then {
162170 let i = h
163171 i
164172 }
165173 else 0
166174 }
167175 let o = {
168176 let h = getInteger(this, "PrizeHeight")
169177 if ($isInstanceOf(h, "Int"))
170178 then {
171179 let i = h
172180 i
173181 }
174182 else 0
175183 }
176184 let p = if (if ((o == 0))
177185 then (n == 0)
178186 else false)
179187 then 0
180188 else if (if ((o == 0))
181189 then (n != 0)
182190 else false)
183191 then height
184192 else if (if ((o != 0))
185193 then (n != 0)
186194 else false)
187195 then o
188196 else 0
189197 let H = {
190198 let h = getInteger(this, "Delay")
191199 if ($isInstanceOf(h, "Int"))
192200 then {
193201 let i = h
194202 i
195203 }
196204 else 0
197205 }
198206 let I = {
199207 let h = getInteger(this, "HighestPushAddress")
200208 if ($isInstanceOf(h, "Int"))
201209 then {
202210 let i = h
203211 i
204212 }
205213 else 0
206214 }
207215 let J = {
208216 let h = getInteger(this, E)
209217 if ($isInstanceOf(h, "Int"))
210218 then {
211219 let i = h
212220 i
213221 }
214222 else 0
215223 }
216224 let K = {
217225 let h = getInteger(this, F)
218226 if ($isInstanceOf(h, "Int"))
219227 then {
220228 let i = h
221229 i
222230 }
223231 else 0
224232 }
225233 let L = {
226234 let h = getInteger(this, G)
227235 if ($isInstanceOf(h, "Int"))
228236 then {
229237 let i = h
230238 i
231239 }
232240 else 0
233241 }
234242 let M = {
235243 let h = getInteger(this, "DevBox")
236244 if ($isInstanceOf(h, "Int"))
237245 then {
238246 let i = h
239247 i
240248 }
241249 else 0
242250 }
243251 let g = (M + ((y.amount * 5) / 1000))
244252 let N = (y.amount + A)
245253 let O = if (if ((height > ((p + H) + u)))
246254 then (D > 0)
247255 else false)
248256 then w
249257 else (H + t)
250258 let P = if (if ((height > ((p + O) + u)))
251259 then (D > 0)
252260 else false)
253261 then ""
254262 else I
255263 let Q = if (if ((height > ((p + O) + u)))
256264 then (D > 0)
257265 else false)
258266 then height
259267 else p
260268 if (if ((N > 0))
261269 then ((height - K) > s)
262270 else false)
263271 then if (((height - J) > r))
264272 then if ((L > 0))
265273 then if ((N > D))
266274 then if ((n > 0))
267275 then if (if (if (if (((Q + O) >= height))
268276 then true
269277 else (height >= ((Q + O) + u)))
270278 then (D > 0)
271279 else false)
272280 then true
273281 else (D == 0))
274282 then if ((C >= v))
275283 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)]
276284 else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days, to push"))
277285 else {
278286 let R = if ((D > 0))
279287 then "You cannot Push after rewarding Prize and before One day has passed after award"
280288 else "Unexpected error"
281289 throw(R)
282290 }
283291 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
284292 else throw("Your push in troikan token, should be Higher than last Highest Push")
285293 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
286294 else throw("You have to wait 10min before you can make a new Push")
287295 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
288296 2. Must Staked ASIMI Token for a minimum of week "))
289297 }
290298 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"))
291299 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 !")
292300 }
293301
294302
295303
296304 @Callable(e)
297305 func Stake () = {
298306 let u = (1440 * 1)
299307 let y = if ((size(e.payments) == 1))
300308 then e.payments[0]
301309 else throw("Attached payment is required")
302310 if (if ((y.amount > 0))
303311 then (y.assetId == a)
304312 else false)
305313 then {
306314 let S = assetBalance(this, b)
307315 let T = (toBase58String(e.caller.bytes) + "_APY")
308316 let z = (toBase58String(e.caller.bytes) + "_Push")
309317 let U = (toBase58String(e.caller.bytes) + "_Staking")
310318 let V = (toBase58String(e.caller.bytes) + "_Earnings")
311319 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
312320 let W = (toBase58String(e.caller.bytes) + "_StakedTransactions")
313321 let X = (toBase58String(e.caller.bytes) + "_PrizeHeight")
314322 let Y = (toBase58String(e.caller.bytes) + "_WeekEarning")
315323 let Z = {
316324 let h = getInteger(this, W)
317325 if ($isInstanceOf(h, "Int"))
318326 then {
319327 let i = h
320328 i
321329 }
322330 else 0
323331 }
324- let k = getStringValue(this, "MaxDepositer")
332+ let k = {
333+ let h = getString(this, "MaxDepositer")
334+ if ($isInstanceOf(h, "String"))
335+ then {
336+ let i = h
337+ i
338+ }
339+ else ""
340+ }
325341 let aa = {
326342 let h = getInteger(this, "MaxDepositBlock")
327343 if ($isInstanceOf(h, "Int"))
328344 then {
329345 let i = h
330346 i
331347 }
332348 else 0
333349 }
334350 let ab = {
335351 let h = getInteger(this, "MaxDeposit")
336352 if ($isInstanceOf(h, "Int"))
337353 then {
338354 let i = h
339355 i
340356 }
341357 else 0
342358 }
343359 let ac = if ((y.amount > ab))
344360 then toBase58String(e.caller.bytes)
345361 else k
346362 let ad = if ((y.amount > ab))
347363 then y.amount
348364 else ab
349365 let ae = if ((y.amount > ab))
350366 then height
351367 else aa
352368 let af = {
353369 let h = getInteger(this, z)
354370 if ($isInstanceOf(h, "Int"))
355371 then {
356372 let i = h
357373 i
358374 }
359375 else 0
360376 }
361377 let K = {
362378 let h = getInteger(this, F)
363379 if ($isInstanceOf(h, "Int"))
364380 then {
365381 let i = h
366382 i
367383 }
368384 else 0
369385 }
370386 let ag = if ((K == 0))
371387 then height
372388 else K
373389 let ah = (Z + 1)
374390 let ai = {
375391 let h = getInteger(this, U)
376392 if ($isInstanceOf(h, "Int"))
377393 then {
378394 let i = h
379395 i
380396 }
381397 else 0
382398 }
383399 let aj = (ai + y.amount)
384400 let j = assetBalance(this, a)
385401 let m = {
386402 let h = getInteger(this, "StakeBalance")
387403 if ($isInstanceOf(h, "Int"))
388404 then {
389405 let i = h
390406 i
391407 }
392408 else 0
393409 }
394410 let ak = (m + y.amount)
395411 let n = {
396412 let h = getInteger(this, "FundBox")
397413 if ($isInstanceOf(h, "Int"))
398414 then {
399415 let i = h
400416 i
401417 }
402418 else 0
403419 }
404420 let al = {
405421 let h = getInteger(this, Y)
406422 if ($isInstanceOf(h, "Int"))
407423 then {
408424 let i = h
409425 i
410426 }
411427 else 0
412428 }
413429 let am = {
414430 let h = getInteger(this, V)
415431 if ($isInstanceOf(h, "Int"))
416432 then {
417433 let i = h
418434 i
419435 }
420436 else 0
421437 }
422438 let o = {
423439 let h = getInteger(this, "PrizeHeight")
424440 if ($isInstanceOf(h, "Int"))
425441 then {
426442 let i = h
427443 i
428444 }
429445 else 0
430446 }
431447 let p = if (if ((o == 0))
432448 then (n == 0)
433449 else false)
434450 then 0
435451 else if (if ((o == 0))
436452 then (n != 0)
437453 else false)
438454 then height
439455 else if (if ((o != 0))
440456 then (n != 0)
441457 else false)
442458 then o
443459 else 0
444460 let H = {
445461 let h = getInteger(this, "Delay")
446462 if ($isInstanceOf(h, "Int"))
447463 then {
448464 let i = h
449465 i
450466 }
451467 else 0
452468 }
453469 let D = {
454470 let h = getInteger(this, "HighestPush")
455471 if ($isInstanceOf(h, "Int"))
456472 then {
457473 let i = h
458474 i
459475 }
460476 else 0
461477 }
462- let I = getStringValue(this, "HighestPushAddress")
478+ let I = {
479+ let h = getString(this, "HighestPushAddress")
480+ if ($isInstanceOf(h, "String"))
481+ then {
482+ let i = h
483+ i
484+ }
485+ else ""
486+ }
463487 let P = if (if ((height > ((p + H) + u)))
464488 then (D > 0)
465489 else false)
466490 then ""
467491 else I
468492 let Q = if (if ((height > ((p + H) + u)))
469493 then (D > 0)
470494 else false)
471495 then height
472496 else p
473497 if ((100000000 > S))
474498 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
475499 else {
476500 let an = if ((m == 0))
477501 then 10000
478502 else if ((ah > 10))
479503 then ((10000 * ah) * (1 + (aj / m)))
480504 else (10000 * (1 + (aj / m)))
481505 let ao = if ((am > 0))
482506 then ((100 * an) / am)
483507 else 0
484508 let ap = (am + an)
485509 [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)]
486510 }
487511 }
488512 else throw("Can deposit only StakeToken")
489513 }
490514
491515
492516
493517 @Callable(e)
494518 func WithdrawStakedFunds (aq) = {
495519 let u = (1440 * 1)
496520 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
497521 let U = (toBase58String(e.caller.bytes) + "_Staking")
498522 let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
499523 let j = assetBalance(this, a)
500524 let K = {
501525 let h = getInteger(this, F)
502526 if ($isInstanceOf(h, "Int"))
503527 then {
504528 let i = h
505529 i
506530 }
507531 else 0
508532 }
509533 let m = {
510534 let h = getInteger(this, "StakeBalance")
511535 if ($isInstanceOf(h, "Int"))
512536 then {
513537 let i = h
514538 i
515539 }
516540 else 0
517541 }
518542 let n = {
519543 let h = getInteger(this, "FundBox")
520544 if ($isInstanceOf(h, "Int"))
521545 then {
522546 let i = h
523547 i
524548 }
525549 else 0
526550 }
527551 let o = {
528552 let h = getInteger(this, "PrizeHeight")
529553 if ($isInstanceOf(h, "Int"))
530554 then {
531555 let i = h
532556 i
533557 }
534558 else 0
535559 }
536560 let H = {
537561 let h = getInteger(this, "Delay")
538562 if ($isInstanceOf(h, "Int"))
539563 then {
540564 let i = h
541565 i
542566 }
543567 else 0
544568 }
545569 let D = {
546570 let h = getInteger(this, "HighestPush")
547571 if ($isInstanceOf(h, "Int"))
548572 then {
549573 let i = h
550574 i
551575 }
552576 else 0
553577 }
554578 let p = if (if ((o == 0))
555579 then (n == 0)
556580 else false)
557581 then 0
558582 else if (if ((o == 0))
559583 then (n != 0)
560584 else false)
561585 then height
562586 else if (if ((o != 0))
563587 then (n != 0)
564588 else false)
565589 then o
566590 else 0
567591 let I = {
568592 let h = getString(this, "HighestPushAddress")
569593 if ($isInstanceOf(h, "String"))
570594 then {
571595 let i = h
572596 i
573597 }
574598 else ""
575599 }
576600 let P = if (if ((height > ((p + H) + u)))
577601 then (D > 0)
578602 else false)
579603 then ""
580604 else I
581605 let Q = if (if ((height > ((p + H) + u)))
582606 then (D > 0)
583607 else false)
584608 then height
585609 else p
586610 let f = toBase58String(e.caller.bytes)
587611 let ar = {
588612 let h = getInteger(this, U)
589613 if ($isInstanceOf(h, "Int"))
590614 then {
591615 let i = h
592616 i
593617 }
594618 else 0
595619 }
596620 let q = (ar - aq)
597621 let ak = (m - aq)
598622 let ag = if ((ak == 0))
599623 then 0
600624 else K
601625 if ((0 > aq))
602626 then throw("Can't withdraw negative amount")
603627 else if ((0 > q))
604628 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
605629 else if ((100000000 > assetBalance(this, b)))
606630 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, b) / 100000000))))
607631 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)]
608632 }
609633
610634
611635
612636 @Callable(e)
613637 func WithdrawBigStakeReward () = {
614638 let u = (1440 * 1)
615639 let as = (toBase58String(e.caller.bytes) + "_LastBigStakerRewardBlock")
616640 let at = (toBase58String(e.caller.bytes) + "_BigStaker")
617641 let V = (toBase58String(e.caller.bytes) + "_Earnings")
618642 let au = 10
619643 let av = {
620644 let h = getInteger(this, V)
621645 if ($isInstanceOf(h, "Int"))
622646 then {
623647 let i = h
624648 i
625649 }
626650 else 0
627651 }
628652 let aw = {
629653 let h = getInteger(this, as)
630654 if ($isInstanceOf(h, "Int"))
631655 then {
632656 let i = h
633657 i
634658 }
635659 else 0
636660 }
637661 let ax = {
638662 let h = getInteger(this, "BigStakerRewardTotal")
639663 if ($isInstanceOf(h, "Int"))
640664 then {
641665 let i = h
642666 i
643667 }
644668 else 0
645669 }
646670 let n = {
647671 let h = getInteger(this, "FundBox")
648672 if ($isInstanceOf(h, "Int"))
649673 then {
650674 let i = h
651675 i
652676 }
653677 else 0
654678 }
655679 let o = {
656680 let h = getInteger(this, "PrizeHeight")
657681 if ($isInstanceOf(h, "Int"))
658682 then {
659683 let i = h
660684 i
661685 }
662686 else 0
663687 }
664688 let p = if (if ((o == 0))
665689 then (n == 0)
666690 else false)
667691 then 0
668692 else if (if ((o == 0))
669693 then (n != 0)
670694 else false)
671695 then height
672696 else if (if ((o != 0))
673697 then (n != 0)
674698 else false)
675699 then o
676700 else 0
677701 let H = {
678702 let h = getInteger(this, "Delay")
679703 if ($isInstanceOf(h, "Int"))
680704 then {
681705 let i = h
682706 i
683707 }
684708 else 0
685709 }
686710 let D = {
687711 let h = getInteger(this, "HighestPush")
688712 if ($isInstanceOf(h, "Int"))
689713 then {
690714 let i = h
691715 i
692716 }
693717 else 0
694718 }
695- let I = getStringValue(this, "HighestPushAddress")
719+ let I = {
720+ let h = getString(this, "HighestPushAddress")
721+ if ($isInstanceOf(h, "String"))
722+ then {
723+ let i = h
724+ i
725+ }
726+ else ""
727+ }
696728 let P = if (if ((height > ((p + H) + u)))
697729 then (D > 0)
698730 else false)
699731 then ""
700732 else I
701733 let Q = if (if ((height > ((p + H) + u)))
702734 then (D > 0)
703735 else false)
704736 then height
705737 else p
706738 let f = toBase58String(e.caller.bytes)
707739 let aq = {
708740 let h = getInteger(this, at)
709741 if ($isInstanceOf(h, "Int"))
710742 then {
711743 let i = h
712744 i
713745 }
714746 else 0
715747 }
716748 let ak = (ax - aq)
717749 let ay = if ((0 > ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))))
718750 then (1000 * 100000000)
719751 else ((av / 1000) * (1000 - ((1000 * (height - aw)) / (au * 1440))))
720752 if ((0 > aq))
721753 then throw(((("Can't withdraw negative amount " + toString((av - (1000 * 100000000)))) + " ... ") + toString(aq)))
722754 else if (if (if (((1000 * 100000000) > av))
723755 then true
724756 else (1 > aq))
725757 then true
726758 else (0 > (av - ay)))
727759 then throw(("No ASIMI reward available, or Not enough Earned Troikan Tokens to do transaction, you have: " + toString((av / 100000000))))
728760 else if ((ak > 0))
729761 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)]
730762 else throw("Balance Error, Total Big Stakers cannot be negative, Operation won't be authorized")
731763 }
732764
733765
734766
735767 @Callable(e)
736768 func HarvestGovernToiken (aq) = {
737769 let j = assetBalance(this, a)
738770 let V = (toBase58String(e.caller.bytes) + "_Earnings")
739771 let m = {
740772 let h = getInteger(this, "StakeBalance")
741773 if ($isInstanceOf(h, "Int"))
742774 then {
743775 let i = h
744776 i
745777 }
746778 else 0
747779 }
748780 let n = {
749781 let h = getInteger(this, "FundBox")
750782 if ($isInstanceOf(h, "Int"))
751783 then {
752784 let i = h
753785 i
754786 }
755787 else 0
756788 }
757789 let o = {
758790 let h = getInteger(this, "PrizeHeight")
759791 if ($isInstanceOf(h, "Int"))
760792 then {
761793 let i = h
762794 i
763795 }
764796 else 0
765797 }
766798 let p = if (if ((o == 0))
767799 then (n == 0)
768800 else false)
769801 then 0
770802 else if (if ((o == 0))
771803 then (n != 0)
772804 else false)
773805 then height
774806 else if (if ((o != 0))
775807 then (n != 0)
776808 else false)
777809 then o
778810 else 0
779811 let f = toBase58String(e.caller.bytes)
780812 let ar = {
781813 let h = getInteger(this, V)
782814 if ($isInstanceOf(h, "Int"))
783815 then {
784816 let i = h
785817 i
786818 }
787819 else 0
788820 }
789821 let q = (ar - aq)
790822 if ((0 > aq))
791823 then throw("Can't withdraw negative amount")
792824 else if ((0 > q))
793825 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((ar / 100000000))))
794826 else [IntegerEntry(V, q), IntegerEntry("PrizeHeight", p), ScriptTransfer(e.caller, aq, b)]
795827 }
796828
797829
798830
799831 @Callable(e)
800832 func delayprize () = {
801833 let az = (1440 * 1)
802834 let u = (1440 * 1)
803835 let V = ((toBase58String(e.caller.bytes) + "_") + toBase58String(b))
804836 let aA = assetBalance(Address(e.caller.bytes), b)
805837 let j = assetBalance(this, a)
806838 let m = {
807839 let h = getInteger(this, "StakeBalance")
808840 if ($isInstanceOf(h, "Int"))
809841 then {
810842 let i = h
811843 i
812844 }
813845 else 0
814846 }
815847 let n = {
816848 let h = getInteger(this, "FundBox")
817849 if ($isInstanceOf(h, "Int"))
818850 then {
819851 let i = h
820852 i
821853 }
822854 else 0
823855 }
824856 let o = {
825857 let h = getInteger(this, "PrizeHeight")
826858 if ($isInstanceOf(h, "Int"))
827859 then {
828860 let i = h
829861 i
830862 }
831863 else 0
832864 }
833865 let H = {
834866 let h = getInteger(this, "Delay")
835867 if ($isInstanceOf(h, "Int"))
836868 then {
837869 let i = h
838870 i
839871 }
840872 else 0
841873 }
842874 let p = if (if ((o == 0))
843875 then (n == 0)
844876 else false)
845877 then 0
846878 else if (if ((o == 0))
847879 then (n != 0)
848880 else false)
849881 then height
850882 else if (if ((o != 0))
851883 then (n != 0)
852884 else false)
853885 then o
854886 else 0
855887 let D = {
856888 let h = getInteger(this, "HighestPush")
857889 if ($isInstanceOf(h, "Int"))
858890 then {
859891 let i = h
860892 i
861893 }
862894 else 0
863895 }
864- let I = getStringValue(this, "HighestPushAddress")
896+ let I = {
897+ let h = getString(this, "HighestPushAddress")
898+ if ($isInstanceOf(h, "String"))
899+ then {
900+ let i = h
901+ i
902+ }
903+ else ""
904+ }
865905 let P = if (if ((height > ((p + H) + u)))
866906 then (D > 0)
867907 else false)
868908 then ""
869909 else I
870910 let Q = if (if ((height > ((p + H) + u)))
871911 then (D > 0)
872912 else false)
873913 then height
874914 else p
875915 let aB = {
876916 let h = getInteger(this, "DelayCost")
877917 if ($isInstanceOf(h, "Int"))
878918 then {
879919 let i = h
880920 i
881921 }
882922 else 10
883923 }
884924 let y = if ((size(e.payments) == 1))
885925 then e.payments[0]
886926 else throw("Attached payment is required")
887927 let M = {
888928 let h = getInteger(this, "DevBox")
889929 if ($isInstanceOf(h, "Int"))
890930 then {
891931 let i = h
892932 i
893933 }
894934 else 0
895935 }
896936 if (if (isDefined(y.assetId))
897937 then (y.assetId == b)
898938 else false)
899939 then if ((n > 0))
900940 then {
901941 let av = y.amount
902942 let g = (M + ((y.amount * 5) / 1000))
903943 let aC = if ((aB == 0))
904944 then 1000000000
905945 else (2 * aB)
906946 if ((av >= aC))
907947 then {
908948 let O = (H + az)
909949 [IntegerEntry("Delay", O), IntegerEntry("DelayCost", aC), IntegerEntry("PrizeHeight", Q), IntegerEntry("DevBox", g), StringEntry("HighestPushAddress", P)]
910950 }
911951 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(aC)) + "TROIKAs"))
912952 }
913953 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
914954 else throw("Can Use only Troika Token to Delay Reward")
915955 }
916956
917957
918958
919959 @Callable(e)
920960 func ClaimPrize () = {
921961 let U = (toBase58String(e.caller.bytes) + "_Staking")
922962 let z = (toBase58String(e.caller.bytes) + "_Push")
923963 let F = (toBase58String(e.caller.bytes) + "_UserLastStakeBlock")
924964 let s = (1440 * 7)
925965 let v = 3
926966 let aD = assetBalance(this, b)
927967 let j = assetBalance(this, a)
928968 let m = {
929969 let h = getInteger(this, "StakeBalance")
930970 if ($isInstanceOf(h, "Int"))
931971 then {
932972 let i = h
933973 i
934974 }
935975 else 0
936976 }
937977 let n = {
938978 let h = getInteger(this, "FundBox")
939979 if ($isInstanceOf(h, "Int"))
940980 then {
941981 let i = h
942982 i
943983 }
944984 else 0
945985 }
946986 let af = {
947987 let h = getInteger(this, z)
948988 if ($isInstanceOf(h, "Int"))
949989 then {
950990 let i = h
951991 i
952992 }
953993 else 0
954994 }
955995 let K = {
956996 let h = getInteger(this, F)
957997 if ($isInstanceOf(h, "Int"))
958998 then {
959999 let i = h
9601000 i
9611001 }
9621002 else 0
9631003 }
9641004 let aE = {
9651005 let h = getInteger(this, U)
9661006 if ($isInstanceOf(h, "Int"))
9671007 then {
9681008 let i = h
9691009 i
9701010 }
9711011 else 0
9721012 }
9731013 let H = {
9741014 let h = getInteger(this, "Delay")
9751015 if ($isInstanceOf(h, "Int"))
9761016 then {
9771017 let i = h
9781018 i
9791019 }
9801020 else 0
9811021 }
982- let aF = getStringValue(this, "HighestPushAddress")
1022+ let aF = {
1023+ let h = getString(this, "HighestPushAddress")
1024+ if ($isInstanceOf(h, "String"))
1025+ then {
1026+ let i = h
1027+ i
1028+ }
1029+ else ""
1030+ }
9831031 let aG = {
9841032 let h = getInteger(this, "PrizeHeight")
9851033 if ($isInstanceOf(h, "Int"))
9861034 then {
9871035 let i = h
9881036 i
9891037 }
9901038 else 0
9911039 }
9921040 let D = {
9931041 let h = getInteger(this, "HighestPush")
9941042 if ($isInstanceOf(h, "Int"))
9951043 then {
9961044 let i = h
9971045 i
9981046 }
9991047 else 0
10001048 }
10011049 let B = (toBase58String(e.caller.bytes) + "_refs")
10021050 let C = {
10031051 let h = getInteger(this, B)
10041052 if ($isInstanceOf(h, "Int"))
10051053 then {
10061054 let i = h
10071055 i
10081056 }
10091057 else 0
10101058 }
10111059 if (if ((n == 0))
10121060 then true
10131061 else (10000000000 > aD))
10141062 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
10151063 else if ((toBase58String(e.caller.bytes) != aF))
10161064 then throw("You are not the winner hence cannot claim the reward ")
10171065 else if (if ((100000000 > aE))
10181066 then (s > K)
10191067 else false)
10201068 then throw("You have to Stake ASIMI Token to claim reward ")
10211069 else if (if ((height > (aG + H)))
10221070 then (af >= D)
10231071 else false)
10241072 then if ((C >= v))
10251073 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)]
10261074 else throw((("You have to have " + toString(v)) + " referrals already staking for a minimum of 10 days to Claim the prize"))
10271075 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
10281076 }
10291077
10301078
10311079
10321080 @Callable(e)
10331081 func Addmentor (aH) = {
10341082 let aI = (toBase58String(e.caller.bytes) + "_Mentor")
10351083 if ((aH != ""))
10361084 then [StringEntry(aI, aH)]
10371085 else throw("Mentor's Address cannot be empty")
10381086 }
10391087
10401088
10411089
10421090 @Callable(e)
10431091 func GetLikesPackage (aJ,aK) = {
10441092 let aL = {
10451093 let h = getInteger(this, "LikePackageTROIKANCost")
10461094 if ($isInstanceOf(h, "Int"))
10471095 then {
10481096 let i = h
10491097 i
10501098 }
10511099 else 0
10521100 }
10531101 let aM = {
10541102 let h = getInteger(this, "LikePackageASIMICost")
10551103 if ($isInstanceOf(h, "Int"))
10561104 then {
10571105 let i = h
10581106 i
10591107 }
10601108 else 0
10611109 }
10621110 let y = if ((size(e.payments) == 2))
10631111 then e.payments[0]
10641112 else throw("Attached payment is required")
10651113 if (if ((e.payments[0].assetId == a))
10661114 then (e.payments[1].assetId == b)
10671115 else false)
10681116 then if ((e.payments[0].amount >= aM))
10691117 then if ((e.payments[1].amount >= aL))
10701118 then {
10711119 let aN = ((toString(aJ) + "_Twitt2Like_") + toString(aK))
10721120 let aO = {
10731121 let h = getInteger(this, aN)
10741122 if ($isInstanceOf(h, "Int"))
10751123 then {
10761124 let i = h
10771125 i
10781126 }
10791127 else 0
10801128 }
10811129 if ((aO == 0))
10821130 then [IntegerEntry(((toString(aJ) + "_Twitt2Like_") + toString(aK)), ((95 * c) / 100)), IntegerEntry("LikeTwittsDevBox", ((5 * c) / 100))]
10831131 else throw("Cannot acquire a new package, the prior like package has to be drained to be able to acquire a new one")
10841132 }
10851133 else throw(("TROIKAN Amount should be :" + toString((c / 100000000))))
10861134 else throw(("ASIMI Amount should be :" + toString((d / 100000000))))
10871135 else throw("Payments should be both ASIMI and TROIKAN tokens")
10881136 }
10891137
10901138
10911139
10921140 @Callable(e)
10931141 func GetMyLikedTwittsRewards (aP) = {
10941142 let aQ = {
10951143 let h = getInteger(this, (toString(aP) + "_Like_Amount"))
10961144 if ($isInstanceOf(h, "Int"))
10971145 then {
10981146 let i = h
10991147 i
11001148 }
11011149 else 0
11021150 }
11031151 let aR = {
11041152 let h = getInteger(this, (toString(aP) + "_TroikandApp_RT_Amount"))
11051153 if ($isInstanceOf(h, "Int"))
11061154 then {
11071155 let i = h
11081156 i
11091157 }
11101158 else 0
11111159 }
11121160 if (if ((aQ >= (1 * 100000000)))
11131161 then (aR >= (1 * 100000000))
11141162 else false)
11151163 then [IntegerEntry((toString(aP) + "_TroikandApp_RT_Amount"), 0), IntegerEntry((toString(aP) + "_Like_Amount"), 0), ScriptTransfer(e.caller, aQ, a), ScriptTransfer(e.caller, aR, b)]
11161164 else throw("Minimum earnings to withdraw are: 100 ASIMI and 50 Troikans")
11171165 }
11181166
11191167
11201168
11211169 @Callable(e)
11221170 func LinkTwitterAcc2Wallet (aJ) = {
11231171 let aS = {
11241172 let h = getString(this, (aJ + "_Wallet"))
11251173 if ($isInstanceOf(h, "String"))
11261174 then {
11271175 let i = h
11281176 i
11291177 }
11301178 else "None"
11311179 }
11321180 if ((toBase58String(e.caller.bytes) == aS))
11331181 then throw("You already have your wallet linked to the Twitter account")
11341182 else if (if ((toBase58String(e.caller.bytes) != aS))
11351183 then (aS != "None")
11361184 else false)
11371185 then throw("The wallet you are using is not the linked Wallet to this Twitter account")
11381186 else [StringEntry((aJ + "_Wallet"), toBase58String(e.caller.bytes))]
11391187 }
11401188
11411189

github/deemru/w8io/3ef1775 
160.65 ms