tx · 2GHuaZVB6SbThCz438DvWgByt6rk4Be4V1MhTeHxYQg1

3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx:  -0.03500000 Waves

2023.04.21 09:16 [2543945] smart account 3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx > SELF 0.00000000 Waves

{ "type": 13, "id": "2GHuaZVB6SbThCz438DvWgByt6rk4Be4V1MhTeHxYQg1", "fee": 3500000, "feeAssetId": null, "timestamp": 1682057892532, "version": 2, "chainId": 84, "sender": "3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx", "senderPublicKey": "EKZmHJ5bK3qKKgRdq8rAamt9qrDbVMLARzRqXoQW258v", "proofs": [ "4ucLyH5L89pVQimsrVtDNsYbnu4nXLmoJm4ndiuHX5eg4BNUKwHkTRzKiw5j8NaUC9wBWP4fHhuadd7cQsjQqsUr" ], "script": "base64:BgJgCAISDAoKCAgICAgBCAgICBIECgIICBIGCgQICAgIEgMKAQgSBwoFCAgIAQgSBwoFCAgICAISCQoHCAgICAgICBIDCgEIEgQKAggIEgMKAQgSBAoCCAgSAwoBGBIDCgEYDAAJc2VwYXJhdG9yAgFfAARrQnV5AgNidXkABmtQcmljZQIFcHJpY2UABWtTZWxsAgRzZWxsABJtYXhBdWN0aW9uRHVyYXRpb24AHgAFdGVhbXMBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+AAVXQVZFUwEAAARrQmlkAgNiaWQABnBhdXNlZAYADHN0YXR1c0Zvck5GVAkAlgoEAgRPUEVOAgZDTE9TRUQCCFJFV0FSREVEAghDQU5DRUxFRAALZEFwcEFkZHJlc3MBGgFUSrhPbN7C2pPt9I7pSjb41U9/ldVVW12gAQVpc05mdAEHYXNzZXRJZAQHJG1hdGNoMAkA7AcBBQdhc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAV0b2tlbgUHJG1hdGNoMAMDCQAAAggFBXRva2VuCGRlY2ltYWxzAAAJAAACCAUFdG9rZW4IcXVhbnRpdHkAAQcJAAACCAUFdG9rZW4KcmVpc3N1YWJsZQcHBw0BaQEJY3JlYXRlTmZ0CghuZnRfbmFtZQluZnRfb3duZXIPbmZ0X2RBcHBBZGRyZXNzCG5mdF90eXBlCG5mdF90YWdzEW5mdF9zZWxsaW5nX3ByaWNlEnJveWFsaXR5UGVyY2VudGFnZQ9uZnRfZGVzY3JpcHRpb24KbmZ0X29uU2VsbAhuZnRfZGF0YQQIbmV3VG9rZW4JAMIIBQUIbmZ0X25hbWUFD25mdF9kZXNjcmlwdGlvbgABAAAHBAdpc3N1ZUlkCQC4CAEFCG5ld1Rva2VuBAR0eElkCAUBaQ10cmFuc2FjdGlvbklkCQDMCAIFCG5ld1Rva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdpc3N1ZUlkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIFT3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIIbmZ0X3R5cGUFCG5mdF90eXBlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIIbmZ0X3RhZ3MFCG5mdF90YWdzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIPbmZ0X2RBcHBBZGRyZXNzBQ9uZnRfZEFwcEFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUEdHhJZAUJc2VwYXJhdG9yAhJyb3lhbGl0eVBlcmNlbnRhZ2UFEnJveWFsaXR5UGVyY2VudGFnZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAhFuZnRfc2VsbGluZ19wcmljZQURbmZ0X3NlbGxpbmdfcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAgpuZnRfb25TZWxsBQpuZnRfb25TZWxsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIIbmZ0X2RhdGEFCG5mdF9kYXRhCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFBHR4SWQFCXNlcGFyYXRvcgIJaXNzdWVfbmZ0CQDYBAEFB2lzc3VlSWQFA25pbAFpAQdzZWxsTkZUAgVwcmljZRBwYXltZW50X2N1cnJlbmN5BAR0eElkCAUBaQ10cmFuc2FjdGlvbklkBAZzZWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMECyR0MDI1MDIyNTg3CQCUCgIJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBnRva2VuMAgFCyR0MDI1MDIyNTg3Al8xBAdhbW91bnQwCAULJHQwMjUwMjI1ODcCXzIDCQEBIQEJAQVpc05mdAEFBnRva2VuMAkAAgECEFRva2VuIGlzIG5vdCBORlQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBmtQcmljZQUJc2VwYXJhdG9yCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBWtTZWxsCQCsAgIJAKwCAgkArAICCQDYBAEFBnRva2VuMAUJc2VwYXJhdG9yCQCkAwEFB2Ftb3VudDAFEHBheW1lbnRfY3VycmVuY3kFA25pbAFpAQZidXlORlQEBW5mdElEEWN1cnJlbnRfbmZ0X293bmVyB2NyZWF0b3IScm95YWxpdHlQZXJjZW50YWdlBAdhc3NldElkCQDZBAEFBW5mdElEBBBjaGVja093bmVySXNTYW1lBAckbWF0Y2gwCQCdCAIFBHRoaXMJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQcEBXByaWNlCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgIJAKwCAgkArAICCQCsAgIFBmtQcmljZQUJc2VwYXJhdG9yBQVuZnRJRAIBXwURY3VycmVudF9uZnRfb3duZXIEBmFtb3VudAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEDHNlbGxlckFtb3VudAkAZQIFBmFtb3VudAkAaAIJAGkCBQZhbW91bnQA6AcAGQQMcGxhdGZvcm1fZmVlCQBlAgUGYW1vdW50BQxzZWxsZXJBbW91bnQEE3JveWFsaXR5UGVyY2VudGFnZTEFEnJveWFsaXR5UGVyY2VudGFnZQQOcm95YWxpdHlBbW91bnQJAGkCCQBoAgUGYW1vdW50CQENcGFyc2VJbnRWYWx1ZQEFE3JveWFsaXR5UGVyY2VudGFnZTEAZAQKc2VsbGVyQ29zdAkAZQIFBmFtb3VudAkAZAIFDnJveWFsaXR5QW1vdW50BQxwbGF0Zm9ybV9mZWUDCQAAAgURY3VycmVudF9uZnRfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQACAQIpY3VycmVudCBPd25lciBvZiBORlQgbm90IGFibGUgdG8gcHVyY2hhc2UDAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFdGVhbXMJAQIhPQIFB2NyZWF0b3IFEWN1cnJlbnRfbmZ0X293bmVyBwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQURY3VycmVudF9uZnRfb3duZXIFCnNlbGxlckNvc3QFBXRlYW1zCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQdjcmVhdG9yBQ5yb3lhbGl0eUFtb3VudAUFdGVhbXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgRuZnRfBQVuZnRJRAIMcGxhdGZvcm1fZmVlBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBGtCdXkJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yCQCkAwEFBmFtb3VudAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgIEbmZ0XwURY3VycmVudF9uZnRfb3duZXICBl9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIEbmZ0XwURY3VycmVudF9uZnRfb3duZXICBl9vd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBW5mdElEBQlzZXBhcmF0b3ICBl9vd25lcgkApQgBCAUBaQZjYWxsZXIFA25pbAMDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQV0ZWFtcwkAAAIFB2NyZWF0b3IFEWN1cnJlbnRfbmZ0X293bmVyBwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQURY3VycmVudF9uZnRfb3duZXIFDHNlbGxlckFtb3VudAUFdGVhbXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FBW5mdElEAgxwbGF0Zm9ybV9mZWUJAKQDAQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQZhbW91bnQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyBQNuaWwDAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkBAiE9AgUHY3JlYXRvcgURY3VycmVudF9uZnRfb3duZXIHCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdhc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBRFjdXJyZW50X25mdF9vd25lcgUKc2VsbGVyQ29zdAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUHY3JlYXRvcgUOcm95YWxpdHlBbW91bnQFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FBW5mdElEAgxwbGF0Zm9ybV9mZWUJAKQDAQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQZhbW91bnQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyBQNuaWwDAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAAIFB2NyZWF0b3IFEWN1cnJlbnRfbmZ0X293bmVyBwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQURY3VycmVudF9uZnRfb3duZXIFDHNlbGxlckFtb3VudAUEdW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIEbmZ0XwUFbmZ0SUQCDHBsYXRmb3JtX2ZlZQkApAMBBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBGtCdXkJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yCQCkAwEFBmFtb3VudAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgIEbmZ0XwURY3VycmVudF9uZnRfb3duZXICBl9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIEbmZ0XwURY3VycmVudF9uZnRfb3duZXICBl9vd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBW5mdElEBQlzZXBhcmF0b3ICBl9vd25lcgkApQgBCAUBaQZjYWxsZXIFA25pbAUDbmlsAWkBCmNhbmNlbFNlbGwBBW5mdElkBAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBnNlbGxlcggIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUEdHhJZAUFbmZ0SWQCC19uZnRfc3RhdHVzAghDQU5DRUxFRAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFBnNlbGxlcgABCQDZBAEFBW5mdElkBQNuaWwBaQEKYWRkQXVjdGlvbgUFc3RhcnQDZW5kCnN0YXJ0UHJpY2UIZHVyYXRpb24QcGF5bWVudF9jdXJyZW5jeQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAVuZnRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBAVwcmljZQkBBXZhbHVlAQUKc3RhcnRQcmljZQQJZW5kSGVpZ2h0CQBkAggFCWxhc3RCbG9jawZoZWlnaHQFCGR1cmF0aW9uBAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEEWNoZWNrTmZ0QXVjdGlvbmVkBAckbWF0Y2gwCQCdCAIFBHRoaXMJAKwCAgkArAICCQCsAgIJANgEAQUFbmZ0SWQFCXNlcGFyYXRvcgILbmZ0X3N0YXR1c18JANgEAQUGY2FsbGVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAYHAwkAAAIFEWNoZWNrTmZ0QXVjdGlvbmVkBgkAAgECF0FscmVhZHkgaW4gYXVjdGlvbiBsaXN0AwkAZgIFCGR1cmF0aW9uBRJtYXhBdWN0aW9uRHVyYXRpb24JAAIBCQCsAgICN0R1cmF0aW9uIGlzIHRvbyBsb25nLiBNdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAzMCAJAKQDAQUSbWF4QXVjdGlvbkR1cmF0aW9uAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAgECEE5GVCBub3QgYXR0YWNoZWQDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQV0ZWFtcwkAAgECEE5GVCBub3QgYXR0YWNoZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBHR4SWQCFm5mdF9zdGFydF9hdWN0aW9uX2RhdGUJANgEAQUGY2FsbGVyBQVzdGFydAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUEdHhJZAIUbmZ0X2VuZF9hdWN0aW9uX2RhdGUJANgEAQUGY2FsbGVyBQNlbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfbmZ0X3N0YXJ0X3ByaWNlBQpzdGFydFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIKX25mdF9vd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAg9fbmZ0X29uX2F1Y3Rpb24JANgEAQUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfcHJldmlvdXNfYmlkZGVyAgRub25lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIMX2hpZ2hlc3RfYmlkAgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIOX3dpbm5lcl9vZl9uZnQCATAJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAg1fYmlkZGVyX2NvdW50AgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAILX25mdF9zdGF0dXMCBE9QRU4FA25pbAFpAQhwbGFjZUJpZAUJYXVjdGlvbklkBW5mdElkCW5mdF9vd25lcgliaWRfcHJpY2UQY3VycmVudF9jdXJyZW5jeQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEB2Fzc2V0SWQJANkEAQUFbmZ0SWQECXRva2VuVHlwZQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBA9jdXJyZW50QmlkUHJpY2UICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BBVnZXRMYXN0V2lubmVyQmlkUHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQEGGdldFByZXZpb3VzQmlkZGVyQWRkcmVzcwkAnQgCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIQX3ByZXZpb3VzX2JpZGRlcgQPY3VycmVudEJpZENvdW50CQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAQUZ2V0TGFzdFdpbm5lckFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAg5fd2lubmVyX29mX25mdAQRY2hlY2tOZnRBdWN0aW9uZWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAgtfbmZ0X3N0YXR1cwMJAQIhPQIFEWNoZWNrTmZ0QXVjdGlvbmVkAgRPUEVOCQACAQIUTm90IG9wZW4gZm9yIGF1Y3Rpb24DCQBnAgkBDXBhcnNlSW50VmFsdWUBBRVnZXRMYXN0V2lubmVyQmlkUHJpY2UFD2N1cnJlbnRCaWRQcmljZQkAAgECJUJpZCBpcyBsZXNzIHRoZW4gc3RhcnRpbmcvaGlnaGVzdCBCaWQDCQAAAgUVZ2V0TGFzdFdpbm5lckJpZFByaWNlAgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQJAKQDAQUPY3VycmVudEJpZFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAg5fd2lubmVyX29mX25mdAkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAg1fYmlkZGVyX2NvdW50CQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEFD2N1cnJlbnRCaWRDb3VudAABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgdfbmZ0X2lkCQDYBAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIFCW5mdF9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCDF9oaWdoZXN0X2JpZAkApAMBBQ9jdXJyZW50QmlkUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgdfd2lubmVyCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAg1fYmlkZGVyX2NvdW50CQCkAwEJAGQCCQENcGFyc2VJbnRWYWx1ZQEFD2N1cnJlbnRCaWRDb3VudAABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIHX25mdF9pZAkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIKX25mdF9vd25lcgUJbmZ0X293bmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIPX2JpZF9mb3JfbmZ0X2J5CQDYBAEFBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCEF9iaWRfcHJpY2VfcGxhY2UFCWJpZF9wcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCJl9wcmV2aW91c19iaWRfYW1vdW50X3JlZnVuZF90b19hZGRyZXNzBRRnZXRMYXN0V2lubmVyQWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCG19wcmV2b2l1c19iaWRfYW1vdW50X3JlZnVuZAUVZ2V0TGFzdFdpbm5lckJpZFByaWNlBQNuaWwDCQECIT0CBRVnZXRMYXN0V2lubmVyQmlkUHJpY2UCATAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFFGdldExhc3RXaW5uZXJBZGRyZXNzCQENcGFyc2VJbnRWYWx1ZQEFFWdldExhc3RXaW5uZXJCaWRQcmljZQUJdG9rZW5UeXBlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAImX3ByZXZpb3VzX2JpZF9hbW91bnRfcmVmdW5kX3RvX2FkZHJlc3MFFGdldExhc3RXaW5uZXJBZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIbX3ByZXZvaXVzX2JpZF9hbW91bnRfcmVmdW5kBRVnZXRMYXN0V2lubmVyQmlkUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCDV9iaWRkZXJfY291bnQJAKQDAQkAZAIJAQ1wYXJzZUludFZhbHVlAQUPY3VycmVudEJpZENvdW50AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCDF9oaWdoZXN0X2JpZAkApAMBBQ9jdXJyZW50QmlkUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCDl93aW5uZXJfb2ZfbmZ0CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCB19uZnRfaWQJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIKX25mdF9vd25lcgUJbmZ0X293bmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkCQCkAwEFD2N1cnJlbnRCaWRQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCB193aW5uZXIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCDV9iaWRkZXJfY291bnQJAKQDAQkAZAIJAQ1wYXJzZUludFZhbHVlAQUPY3VycmVudEJpZENvdW50AAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgdfbmZ0X2lkCQDYBAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgpfbmZ0X293bmVyBQluZnRfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAg9fYmlkX2Zvcl9uZnRfYnkJANgEAQUGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX2JpZF9wcmljZV9wbGFjZQUJYmlkX3ByaWNlBQNuaWwFA25pbAFpAQ5hY2NlcHRCaWRPZmZlcgcJYXVjdGlvbklkBW5mdElkFGJpZF9hbW91bnRfZnJvbV91c2VyEWN1cnJlbnRfbmZ0X293bmVyB2NyZWF0b3IScm95YWxpdHlQZXJjZW50YWdlEGN1cnJlbnRfY3VycmVuY3kEC2FzaW1pU3RyaW5nAiw5eWhKRGZXalBwdjZ0RmpXUkQxQUp5QlF3YXVzSmYyWmR4ekxuODZVa25ucQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAphbW91bnRVbml0CQDZBAEFEGN1cnJlbnRfY3VycmVuY3kEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQHYXNzZXRJZAkA2QQBBQVuZnRJZAQSZ2V0TmZ0V2lubmluZ1ByaWNlCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkBBNnZXROZnRXaW5uaW5nYW1vdW50CQBoAgkAaQIJAQ1wYXJzZUludFZhbHVlAQUSZ2V0TmZ0V2lubmluZ1ByaWNlAOgHAM8HBAxwbGF0Zm9ybV9mZWUJAGgCCQBpAgkBDXBhcnNlSW50VmFsdWUBBRJnZXROZnRXaW5uaW5nUHJpY2UA6AcAGQQOcm95YWxpdHlBbW91bnQJAGkCCQBoAgkBDXBhcnNlSW50VmFsdWUBBRJnZXROZnRXaW5uaW5nUHJpY2UJAQ1wYXJzZUludFZhbHVlAQUScm95YWxpdHlQZXJjZW50YWdlAGQEDWF1Y3Rpb25lckNvc3QJAGUCCQENcGFyc2VJbnRWYWx1ZQEFEmdldE5mdFdpbm5pbmdQcmljZQkAZAIFDnJveWFsaXR5QW1vdW50BQxwbGF0Zm9ybV9mZWUEEGdldEF1Y3Rpb25XaW5uZXIJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAg5fd2lubmVyX29mX25mdAMJAAACBRBjdXJyZW50X2N1cnJlbmN5BQthc2ltaVN0cmluZwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFBmNhbGxlcgUNYXVjdGlvbmVyQ29zdAUKYW1vdW50VW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUQZ2V0QXVjdGlvbldpbm5lcgABBQdhc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQdjcmVhdG9yBQ5yb3lhbGl0eUFtb3VudAUKYW1vdW50VW5pdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCFV9hbW91bnRfcGFpZF90b19vd25lcgUSZ2V0TmZ0V2lubmluZ1ByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX25mdF90cmFuc2Zlcl90bwUQZ2V0QXVjdGlvbldpbm5lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIVX2Ftb3VudF9wYWlkX3RvX293bmVyBRJnZXROZnRXaW5uaW5nUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCEF9uZnRfdHJhbnNmZXJfdG8FEGdldEF1Y3Rpb25XaW5uZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAUDbmlsAwkAAAIFEGN1cnJlbnRfY3VycmVuY3kCBVdBVkVTCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUGY2FsbGVyBQ1hdWN0aW9uZXJDb3N0BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBRBnZXRBdWN0aW9uV2lubmVyAAEFB2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFB2NyZWF0b3IFDnJveWFsaXR5QW1vdW50BQR1bml0CQDMCAIJAQtTdHJpbmdFbnRyeQICDHBsYXRmb3JtX2ZlZQkApAMBBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhVfYW1vdW50X3BhaWRfdG9fb3duZXIFEmdldE5mdFdpbm5pbmdQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCEF9uZnRfdHJhbnNmZXJfdG8FEGdldEF1Y3Rpb25XaW5uZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAgtfbmZ0X3N0YXR1cwIIUkVXQVJERUQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCFV9hbW91bnRfcGFpZF90b19vd25lcgUSZ2V0TmZ0V2lubmluZ1ByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAhBfbmZ0X3RyYW5zZmVyX3RvBRBnZXRBdWN0aW9uV2lubmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgtfbmZ0X3N0YXR1cwIIUkVXQVJERUQFA25pbAUDbmlsAWkBDWNhbmNlbEF1Y3Rpb24BCWF1Y3Rpb25JZAQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEDWF1Y3Rpb25TdGF0dXMJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAgtfbmZ0X3N0YXR1cwQNYmlkZGluZ1dpbm5lcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDl93aW5uZXJfb2ZfbmZ0BAhuZnRPd25lcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIEBW5mdElkCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIPX25mdF9vbl9hdWN0aW9uBAxiaWRkaW5nUHJpY2UJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQDCQAAAgUNYmlkZGluZ1dpbm5lcgIBMAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUEdHhJZAUJYXVjdGlvbklkAgtfbmZ0X3N0YXR1cwIIQ0FOQ0VMRUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFCG5mdE93bmVyAAEJANkEAQUFbmZ0SWQFA25pbAMJAQIhPQIFDWJpZGRpbmdXaW5uZXICATAJAAIBAkNzb29yeSB5b3UgY2FuJ3QgY2FuY2VsIGl0IGJlY2F1c2UgYWxyZWFkeSBhdWN0aW9uIHBsYWNlZCBieSBzb21lb25lBQNuaWwBaQESbWFudWFsRnVuZFRyYW5zZmVyAg1yZWNlcGllbnRBZGRyB21lc3NhZ2UEBnNlbmRlcggIBQFpBmNhbGxlcgVieXRlcwQHcmVjaXZlcgkA2QQBBQ1yZWNlcGllbnRBZGRyBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAxwbGF0Zm9ybV9mZWUJAGgCCQBpAgUGYW1vdW50AOgHABkEEXJlY2VwaWVudF9wYXltZW50CQBlAgUGYW1vdW50BQxwbGF0Zm9ybV9mZWUDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQR1bml0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJANgEAQUGc2VuZGVyAglfdHJhbnNmZXIFBmFtb3VudAkAzAgCCQELU3RyaW5nRW50cnkCAgxwbGF0Zm9ybV9mZWUJAKQDAQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkA2AQBBQZzZW5kZXICDF90cmFuc2Zlcl90bwUNcmVjZXBpZW50QWRkcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFB3JlY2l2ZXIFEXJlY2VwaWVudF9wYXltZW50BQR1bml0BQNuaWwDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQV0ZWFtcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQDYBAEFBnNlbmRlcgIJX3RyYW5zZmVyBQZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICDHBsYXRmb3JtX2ZlZQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkA2AQBBQZzZW5kZXICDF90cmFuc2Zlcl90bwUNcmVjZXBpZW50QWRkcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFB3JlY2l2ZXIFEXJlY2VwaWVudF9wYXltZW50BQV0ZWFtcwUDbmlsBQNuaWwBaQEHbmZ0YmFjawEJYXVjdGlvbklkBAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEBW5mdElkCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIPX25mdF9vbl9hdWN0aW9uBAhuZnRPd25lcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAhFBdWN0aW9uX3RpbWUgb3ZlcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUIbmZ0T3duZXIAAQkA2QQBBQVuZnRJZAUDbmlsAWkBDXdpdGhkcmF3TW9uZXkCCWF1Y3Rpb25JZBBjdXJyZW50X2N1cnJlbmN5BAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEC2FzaW1pU3RyaW5nAiw5eWhKRGZXalBwdjZ0RmpXUkQxQUp5QlF3YXVzSmYyWmR4ekxuODZVa25ucQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAphbW91bnRVbml0CQDZBAEFEGN1cnJlbnRfY3VycmVuY3kECGJpZFByaWNlCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkBAhhc0JpZGRlcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCB193aW5uZXIECWJpZEZvck5GVAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCB19uZnRfaWQDCQAAAgUQY3VycmVudF9jdXJyZW5jeQULYXNpbWlTdHJpbmcJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCCF9uZnRfYmlkAghXSVRIRFJBVwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIHX25mdF9pZAUJYmlkRm9yTkZUCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAhxfYmlkZGluZ19wcmljZV9yZWZ1bmRfYW1vdW50BQhiaWRQcmljZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAQ1wYXJzZUludFZhbHVlAQUIYmlkUHJpY2UFCmFtb3VudFVuaXQFA25pbAMJAAACBRBjdXJyZW50X2N1cnJlbmN5AgVXQVZFUwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIIX25mdF9iaWQCCFdJVEhEUkFXCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgdfbmZ0X2lkBQliaWRGb3JORlQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCHF9iaWRkaW5nX3ByaWNlX3JlZnVuZF9hbW91bnQFCGJpZFByaWNlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkBDXBhcnNlSW50VmFsdWUBBQhiaWRQcmljZQUEdW5pdAUDbmlsBQNuaWwBaQEUYnV5QWxsUHJvZHVjdHNfYXNpbWkBB25mdEluZm8EBWJ1eWVyCAUBaQZjYWxsZXIEDGJ1eWVyQmFsYW5jZQkA8AcCBQVidXllcgEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4EBG5mVDEJALUJAgkAkQMCBQduZnRJbmZvAAACAV8EBG5mVDIJALUJAgkAkQMCBQduZnRJbmZvAAECAV8EBG5mVDMJALUJAgkAkQMCBQduZnRJbmZvAAICAV8EBG5mVDQJALUJAgkAkQMCBQduZnRJbmZvAAMCAV8EBG5mVDUJALUJAgkAkQMCBQduZnRJbmZvAAQCAV8EBmFtb3VudAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQECHJlYWxjb3N0CQBlAgUGYW1vdW50CQBoAgkAaQIFBmFtb3VudADoBwAZBAtwbGF0Zm9ybWZlZQkAZQIFBmFtb3VudAUIcmVhbGNvc3QEDnJveWFsaXR5QW1vdW50CQBoAgkAaQIFBmFtb3VudABkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEbmZUMQADBAhsYXN0Q29zdAkAZQIFBmFtb3VudAkAZAIFDnJveWFsaXR5QW1vdW50BQtwbGF0Zm9ybWZlZQQHYW1vdW50MQkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAQZhbW91bnQECXJlYWxjb3N0MQkAZQIFB2Ftb3VudDEJAGgCCQBpAgUHYW1vdW50MQDoBwAZBAxwbGF0Zm9ybWZlZTEJAGUCBQdhbW91bnQxBQlyZWFsY29zdDEED3JveWFsaXR5QW1vdW50MQkAaAIJAGkCBQdhbW91bnQxAGQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRuZlQyAAMECWxhc3RDb3N0MQkAZQIFB2Ftb3VudDEJAGQCBQ9yb3lhbGl0eUFtb3VudDEFDHBsYXRmb3JtZmVlMQQHYW1vdW50MgkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAgZhbW91bnQECXJlYWxjb3N0MgkAZQIFB2Ftb3VudDIJAGgCCQBpAgUHYW1vdW50MgDoBwAZBAxwbGF0Zm9ybWZlZTIJAGUCBQdhbW91bnQyBQlyZWFsY29zdDIED3JveWFsaXR5QW1vdW50MgkAaAIJAGkCBQdhbW91bnQyAGQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRuZlQzAAMECWxhc3RDb3N0MgkAZQIFB2Ftb3VudDIJAGQCBQ9yb3lhbGl0eUFtb3VudDIFDHBsYXRmb3JtZmVlMgQHYW1vdW50MwkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAwZhbW91bnQECXJlYWxjb3N0MwkAZQIFB2Ftb3VudDMJAGgCCQBpAgUHYW1vdW50MwDoBwAZBAxwbGF0Zm9ybWZlZTMJAGUCBQdhbW91bnQzBQlyZWFsY29zdDMED3JveWFsaXR5QW1vdW50MwkAaAIJAGkCBQdhbW91bnQzAGQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRuZlQ0AAMECWxhc3RDb3N0MwkAZQIFB2Ftb3VudDMJAGQCBQ9yb3lhbGl0eUFtb3VudDMFDHBsYXRmb3JtZmVlMwQHYW1vdW50NAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMABAZhbW91bnQECXJlYWxjb3N0NAkAZQIFB2Ftb3VudDQJAGgCCQBpAgUHYW1vdW50NADoBwAZBAxwbGF0Zm9ybWZlZTQJAGUCBQdhbW91bnQ0BQlyZWFsY29zdDQED3JveWFsaXR5QW1vdW50NAkAaAIJAGkCBQdhbW91bnQ0AGQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQRuZlQ1AAMECWxhc3RDb3N0NAkAZQIFB2Ftb3VudDQJAGQCBQ9yb3lhbGl0eUFtb3VudDQFDHBsYXRmb3JtZmVlNAMJAGYCBQZhbW91bnQFDGJ1eWVyQmFsYW5jZQkAAgECOkJ1eWVyIGRvZXMgbm90IGhhdmUgZW5vdWdoIGZ1bmRzIHRvIGNvbXBsZXRlIHRoZSBwdXJjaGFzZS4DCQAAAgkAkAMBBQduZnRJbmZvAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPZmlyc3RfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQxAAACB2NyZWF0b3IJAJEDAgUEbmZUMQAEAg9yb3lhbGl0eXBlcmNlbnQJAJEDAgUEbmZUMQADCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDEAAQkArAICAgVwcmljZQkAkQMCBQRuZlQxAAIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0ASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAQFDnJveWFsaXR5QW1vdW50ASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgUDbmlsAwkAAAIJAJADAQUHbmZ0SW5mbwACCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAECBXByaWNlCQCRAwIFBG5mVDEAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBzZWNvbmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQyAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDIAAQIFcHJpY2UJAJEDAgUEbmZUMgACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0ASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAQFDnJveWFsaXR5QW1vdW50ASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAEFCWxhc3RDb3N0MQEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgAEBQ9yb3lhbGl0eUFtb3VudDEBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+BQNuaWwDCQAAAgkAkAMBBQduZnRJbmZvAAMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPZmlyc3RfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQxAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDEAAQIFcHJpY2UJAJEDAgUEbmZUMQACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEHNlY29uZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDIAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMgABAgVwcmljZQkAkQMCBQRuZlQyAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPdGhpcmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQzAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDMAAQIFcHJpY2UJAJEDAgUEbmZUMwACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEAAQUIbGFzdENvc3QBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEABAUOcm95YWxpdHlBbW91bnQBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIAAQUJbGFzdENvc3QxASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAQFD3JveWFsaXR5QW1vdW50MQEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwABBQlsYXN0Q29zdDIBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDMABAUPcm95YWxpdHlBbW91bnQyASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgUDbmlsAwkAAAIJAJADAQUHbmZ0SW5mbwAECQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAECBXByaWNlCQCRAwIFBG5mVDEAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBzZWNvbmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQyAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDIAAQIFcHJpY2UJAJEDAgUEbmZUMgACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD3RoaXJkX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMwAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQzAAECBXByaWNlCQCRAwIFBG5mVDMAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBmb3VydGhfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQ0AAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDQAAQIFcHJpY2UJAJEDAgUEbmZUNAACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQ0AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQABBQhsYXN0Q29zdAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQAEBQ5yb3lhbGl0eUFtb3VudAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgABBQlsYXN0Q29zdDEBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIABAUPcm95YWxpdHlBbW91bnQxASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQzAAEFCWxhc3RDb3N0MgEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwAEBQ9yb3lhbGl0eUFtb3VudDIBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDQAAQUJbGFzdENvc3QzASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ0AAQFD3JveWFsaXR5QW1vdW50MwEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4FA25pbAMJAAACCQCQAwEFB25mdEluZm8ABQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDEAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMQABAgVwcmljZQkAkQMCBQRuZlQxAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQc2Vjb25kX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMgAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQyAAECBXByaWNlCQCRAwIFBG5mVDIAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg90aGlyZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDMAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMwABAgVwcmljZQkAkQMCBQRuZlQzAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQZm91cnRoX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUNAAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQ0AAECBXByaWNlCQCRAwIFBG5mVDQAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maWZ0aF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDUAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUNQABAgVwcmljZQkAkQMCBQRuZlQ1AAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQzAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUNQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEAAQUIbGFzdENvc3QBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEABAUOcm95YWxpdHlBbW91bnQBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIAAQUJbGFzdENvc3QxASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAQFD3JveWFsaXR5QW1vdW50MQEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwABBQlsYXN0Q29zdDIBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDMABAUPcm95YWxpdHlBbW91bnQyASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ0AAEFCWxhc3RDb3N0MwEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNAAEBQ9yb3lhbGl0eUFtb3VudDMBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDUAAQUJbGFzdENvc3Q0ASCFY5Wj84iOsN4MF44ITr+aP5K7Jts66HaOFtwUIipIfgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ1AAQFD3JveWFsaXR5QW1vdW50NAEghWOVo/OIjrDeDBeOCE6/mj+SuybbOuh2jhbcFCIqSH4FA25pbAMJAGYCCQCQAwEFB25mdEluZm8ABQkAAgECLXNvcnJ5ISBtYXhpbXVtIGxpbWl0IG9mIHlvdXIgIGNhcnQgaXMgNSBpdGVtcwUDbmlsAWkBFGJ1eUFsbFByb2R1Y3RzX3dhdmVzAQduZnRJbmZvBAVidXllcggFAWkGY2FsbGVyBAxidXllckJhbGFuY2UJAPAHAgUFYnV5ZXIFBVdBVkVTBARuZlQxCQC1CQIJAJEDAgUHbmZ0SW5mbwAAAgFfBARuZlQyCQC1CQIJAJEDAgUHbmZ0SW5mbwABAgFfBARuZlQzCQC1CQIJAJEDAgUHbmZ0SW5mbwACAgFfBARuZlQ0CQC1CQIJAJEDAgUHbmZ0SW5mbwADAgFfBARuZlQ1CQC1CQIJAJEDAgUHbmZ0SW5mbwAEAgFfBAZhbW91bnQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAhyZWFsY29zdAkAZQIFBmFtb3VudAkAaAIJAGkCBQZhbW91bnQA6AcAGQQLcGxhdGZvcm1mZWUJAGUCBQZhbW91bnQFCHJlYWxjb3N0BA5yb3lhbGl0eUFtb3VudAkAaAIJAGkCBQZhbW91bnQAZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBG5mVDEAAwQIbGFzdENvc3QJAGUCBQZhbW91bnQJAGQCBQ5yb3lhbGl0eUFtb3VudAULcGxhdGZvcm1mZWUEB2Ftb3VudDEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAEGYW1vdW50BAlyZWFsY29zdDEJAGUCBQdhbW91bnQxCQBoAgkAaQIFB2Ftb3VudDEA6AcAGQQMcGxhdGZvcm1mZWUxCQBlAgUHYW1vdW50MQUJcmVhbGNvc3QxBA9yb3lhbGl0eUFtb3VudDEJAGgCCQBpAgUHYW1vdW50MQBkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEbmZUMgADBAlsYXN0Q29zdDEJAGUCBQdhbW91bnQxCQBkAgUPcm95YWxpdHlBbW91bnQxBQxwbGF0Zm9ybWZlZTEEB2Ftb3VudDIJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAIGYW1vdW50BAlyZWFsY29zdDIJAGUCBQdhbW91bnQyCQBoAgkAaQIFB2Ftb3VudDIA6AcAGQQMcGxhdGZvcm1mZWUyCQBlAgUHYW1vdW50MgUJcmVhbGNvc3QyBA9yb3lhbGl0eUFtb3VudDIJAGgCCQBpAgUHYW1vdW50MgBkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEbmZUMwADBAlsYXN0Q29zdDIJAGUCBQdhbW91bnQyCQBkAgUPcm95YWxpdHlBbW91bnQyBQxwbGF0Zm9ybWZlZTIEB2Ftb3VudDMJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAMGYW1vdW50BAlyZWFsY29zdDMJAGUCBQdhbW91bnQzCQBoAgkAaQIFB2Ftb3VudDMA6AcAGQQMcGxhdGZvcm1mZWUzCQBlAgUHYW1vdW50MwUJcmVhbGNvc3QzBA9yb3lhbGl0eUFtb3VudDMJAGgCCQBpAgUHYW1vdW50MwBkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEbmZUNAADBAlsYXN0Q29zdDMJAGUCBQdhbW91bnQzCQBkAgUPcm95YWxpdHlBbW91bnQzBQxwbGF0Zm9ybWZlZTMEB2Ftb3VudDQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAQGYW1vdW50BAlyZWFsY29zdDQJAGUCBQdhbW91bnQ0CQBoAgkAaQIFB2Ftb3VudDQA6AcAGQQMcGxhdGZvcm1mZWU0CQBlAgUHYW1vdW50NAUJcmVhbGNvc3Q0BA9yb3lhbGl0eUFtb3VudDQJAGgCCQBpAgUHYW1vdW50NABkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEbmZUNQADBAlsYXN0Q29zdDQJAGUCBQdhbW91bnQ0CQBkAgUPcm95YWxpdHlBbW91bnQ0BQxwbGF0Zm9ybWZlZTQDCQBmAgUGYW1vdW50BQxidXllckJhbGFuY2UJAAIBAjpCdXllciBkb2VzIG5vdCBoYXZlIGVub3VnaCBmdW5kcyB0byBjb21wbGV0ZSB0aGUgcHVyY2hhc2UuAwkAAAIJAJADAQUHbmZ0SW5mbwABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAECBXByaWNlCQCRAwIFBG5mVDEAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEAAQUIbGFzdENvc3QFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQAEBQ5yb3lhbGl0eUFtb3VudAUEdW5pdAUDbmlsAwkAAAIJAJADAQUHbmZ0SW5mbwACCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD2ZpcnN0X25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMQAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQxAAECBXByaWNlCQCRAwIFBG5mVDEAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhBzZWNvbmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQyAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDIAAQIFcHJpY2UJAJEDAgUEbmZUMgACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDIAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEABAUOcm95YWxpdHlBbW91bnQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgABBQlsYXN0Q29zdDEFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgAEBQ9yb3lhbGl0eUFtb3VudDEFBHVuaXQFA25pbAMJAAACCQCQAwEFB25mdEluZm8AAwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDEAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMQABAgVwcmljZQkAkQMCBQRuZlQxAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQc2Vjb25kX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMgAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQyAAECBXByaWNlCQCRAwIFBG5mVDIAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg90aGlyZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDMAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMwABAgVwcmljZQkAkQMCBQRuZlQzAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQzAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQABBQhsYXN0Q29zdAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAQFDnJveWFsaXR5QW1vdW50BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIAAQUJbGFzdENvc3QxBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDIABAUPcm95YWxpdHlBbW91bnQxBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDMAAQUJbGFzdENvc3QyBQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDMABAUPcm95YWxpdHlBbW91bnQyBQR1bml0BQNuaWwDCQAAAgkAkAMBBQduZnRJbmZvAAQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPZmlyc3RfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQxAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDEAAQIFcHJpY2UJAJEDAgUEbmZUMQACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEHNlY29uZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDIAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMgABAgVwcmljZQkAkQMCBQRuZlQyAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPdGhpcmRfbmZ0X0luZm89AgVuZnRJZAkAkQMCBQRuZlQzAAACDnNlbGxlcl9hZGRyZXNzCQCRAwIFBG5mVDMAAQIFcHJpY2UJAJEDAgUEbmZUMwACCQCsAgICBWJ1eWVyCQClCAEFBWJ1eWVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEGZvdXJ0aF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDQAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUNAABAgVwcmljZQkAkQMCBQRuZlQ0AAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQzAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQxAAEFCGxhc3RDb3N0BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEABAUOcm95YWxpdHlBbW91bnQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgABBQlsYXN0Q29zdDEFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMgAEBQ9yb3lhbGl0eUFtb3VudDEFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwABBQlsYXN0Q29zdDIFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMwAEBQ9yb3lhbGl0eUFtb3VudDIFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNAABBQlsYXN0Q29zdDMFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUNAAEBQ9yb3lhbGl0eUFtb3VudDMFBHVuaXQFA25pbAMJAAACCQCQAwEFB25mdEluZm8ABQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maXJzdF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDEAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMQABAgVwcmljZQkAkQMCBQRuZlQxAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQc2Vjb25kX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUMgAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQyAAECBXByaWNlCQCRAwIFBG5mVDIAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg90aGlyZF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDMAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUMwABAgVwcmljZQkAkQMCBQRuZlQzAAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIQZm91cnRoX25mdF9JbmZvPQIFbmZ0SWQJAJEDAgUEbmZUNAAAAg5zZWxsZXJfYWRkcmVzcwkAkQMCBQRuZlQ0AAECBXByaWNlCQCRAwIFBG5mVDQAAgkArAICAgVidXllcgkApQgBBQVidXllcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9maWZ0aF9uZnRfSW5mbz0CBW5mdElkCQCRAwIFBG5mVDUAAAIOc2VsbGVyX2FkZHJlc3MJAJEDAgUEbmZUNQABAgVwcmljZQkAkQMCBQRuZlQ1AAIJAKwCAgIFYnV5ZXIJAKUIAQUFYnV5ZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUMgAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBWJ1eWVyAAEJANkEAQkAkQMCBQRuZlQzAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUFYnV5ZXIAAQkA2QQBCQCRAwIFBG5mVDQAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQVidXllcgABCQDZBAEJAJEDAgUEbmZUNQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBCQCRAwIFBG5mVDEAAQUIbGFzdENvc3QFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEJAJEDAgUEbmZUMQAEBQ5yb3lhbGl0eUFtb3VudAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAEFCWxhc3RDb3N0MQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQyAAQFD3JveWFsaXR5QW1vdW50MQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQzAAEFCWxhc3RDb3N0MgUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQzAAQFD3JveWFsaXR5QW1vdW50MgUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ0AAEFCWxhc3RDb3N0MwUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ0AAQFD3JveWFsaXR5QW1vdW50MwUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ1AAEFCWxhc3RDb3N0NAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQkAkQMCBQRuZlQ1AAQFD3JveWFsaXR5QW1vdW50NAUEdW5pdAUDbmlsAwkAZgIJAJADAQUHbmZ0SW5mbwAFCQACAQItc29ycnkhIG1heGltdW0gbGltaXQgb2YgeW91ciAgY2FydCBpcyA1IGl0ZW1zBQNuaWwAHT+FEA==", "height": 2543945, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Huvkz8ZSukhXUnCPGxZ6hqgUkjpPCNPvZvWYowPydyrn Next: a299W3Yy43y9kiNy14Ht3B8CzAL1rxusScE9E2HYVFB Diff:
OldNewDifferences
180180 let S = ((parseIntValue(ao) * parseIntValue(w)) / 100)
181181 let aq = (parseIntValue(ao) - (S + Q))
182182 let ar = getStringValue(this, (ac + "_winner_of_nft"))
183- if (if ((ae == am))
184- then (L != K)
185- else false)
183+ if ((ae == am))
186184 then [ScriptTransfer(Address(aa), aq, an), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), S, an), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
187- else if (if ((ae == am))
188- then (L == K)
189- else false)
190- then [ScriptTransfer(Address(aa), ap, an), ScriptTransfer(Address(fromBase58String(ar)), 1, m), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
191- else if (if ((ae == "WAVES"))
192- then (L != K)
193- else false)
194- then [ScriptTransfer(Address(aa), aq, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), S, unit), StringEntry("platform_fee", toString(Q)), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
195- else if (if ((ae == "WAVES"))
196- then (L == K)
197- else false)
198- then [ScriptTransfer(Address(aa), ap, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
199- else nil
185+ else if ((ae == "WAVES"))
186+ then [ScriptTransfer(Address(aa), aq, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), S, unit), StringEntry("platform_fee", toString(Q)), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
187+ else nil
200188 }
201189
202190
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "buy"
77
88 let c = "price"
99
1010 let d = "sell"
1111
1212 let e = 30
1313
1414 let f = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
1515
1616 let g = base58''
1717
1818 let h = "bid"
1919
2020 let i = true
2121
2222 let j = $Tuple4("OPEN", "CLOSED", "REWARDED", "CANCELED")
2323
2424 let k = base58'3MvjAaDYHpS4A5K4CV3kZMMEH9m9JdBSvbq'
2525
2626 func l (m) = {
2727 let n = assetInfo(m)
2828 if ($isInstanceOf(n, "Asset"))
2929 then {
3030 let o = n
3131 if (if ((o.decimals == 0))
3232 then (o.quantity == 1)
3333 else false)
3434 then (o.reissuable == false)
3535 else false
3636 }
3737 else false
3838 }
3939
4040
4141 @Callable(p)
4242 func createNft (q,r,s,t,u,v,w,x,y,z) = {
4343 let A = Issue(q, x, 1, 0, false)
4444 let B = calculateAssetId(A)
4545 let C = p.transactionId
4646 [A, ScriptTransfer(p.caller, 1, B), StringEntry(((toBase58String(B) + a) + "Owner"), toString(p.caller)), StringEntry(((toBase58String(B) + a) + "nft_type"), t), StringEntry(((toBase58String(B) + a) + "nft_tags"), u), StringEntry(((toBase58String(B) + a) + "nft_dAppAddress"), s), StringEntry(((toBase58String(C) + a) + "royalityPercentage"), w), IntegerEntry(((toBase58String(B) + a) + "nft_selling_price"), v), StringEntry(((toBase58String(B) + a) + "nft_onSell"), y), StringEntry(((toBase58String(B) + a) + "nft_data"), z), StringEntry(((toBase58String(C) + a) + "issue_nft"), toBase58String(B))]
4747 }
4848
4949
5050
5151 @Callable(p)
5252 func sellNFT (D,E) = {
5353 let C = p.transactionId
5454 let F = p.caller.bytes
5555 let G = $Tuple2(value(p.payments[0].assetId), value(p.payments[0].amount))
5656 let H = G._1
5757 let I = G._2
5858 if (!(l(H)))
5959 then throw("Token is not NFT")
6060 else [StringEntry(((c + a) + toBase58String(value(p.payments[0].assetId))), D), StringEntry(((toString(p.caller) + a) + d), (((toBase58String(H) + a) + toString(I)) + E))]
6161 }
6262
6363
6464
6565 @Callable(p)
6666 func buyNFT (J,K,L,w) = {
6767 let m = fromBase58String(J)
6868 let M = {
6969 let n = getString(this, (("nft_" + K) + "_owner"))
7070 if ($isInstanceOf(n, "String"))
7171 then {
7272 let N = n
7373 N
7474 }
7575 else false
7676 }
7777 let D = getStringValue(((((c + a) + J) + "_") + K))
7878 let O = value(p.payments[0].amount)
7979 let P = (O - ((O / 1000) * 25))
8080 let Q = (O - P)
8181 let R = w
8282 let S = ((O * parseIntValue(R)) / 100)
8383 let T = (O - (S + Q))
8484 if ((K == toString(p.caller)))
8585 then throw("current Owner of NFT not able to purchase")
8686 else if (if ((p.payments[0].assetId == f))
8787 then (L != K)
8888 else false)
8989 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), T, f), ScriptTransfer(Address(fromBase58String(L)), S, f), IntegerEntry((("nft_" + J) + "platform_fee"), Q), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
9090 else if (if ((p.payments[0].assetId == f))
9191 then (L == K)
9292 else false)
9393 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), P, f), StringEntry((("nft_" + J) + "platform_fee"), toString(Q)), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
9494 else if (if ((p.payments[0].assetId == unit))
9595 then (L != K)
9696 else false)
9797 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), T, unit), ScriptTransfer(Address(fromBase58String(L)), S, unit), StringEntry((("nft_" + J) + "platform_fee"), toString(Q)), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
9898 else if (if ((p.payments[0].assetId == unit))
9999 then (L == K)
100100 else false)
101101 then [ScriptTransfer(p.caller, 1, m), ScriptTransfer(Address(fromBase58String(K)), P, unit), StringEntry((("nft_" + J) + "platform_fee"), toString(Q)), StringEntry(((toString(p.caller) + a) + b), ((J + a) + toString(O))), DeleteEntry((("nft_" + K) + "_owner")), StringEntry((("nft_" + K) + "_owner"), toString(p.caller)), StringEntry(((J + a) + "_owner"), toString(p.caller))]
102102 else nil
103103 }
104104
105105
106106
107107 @Callable(p)
108108 func cancelSell (U) = {
109109 let C = toBase58String(p.transactionId)
110110 let F = p.caller.bytes
111111 [StringEntry(((C + U) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(F), 1, fromBase58String(U))]
112112 }
113113
114114
115115
116116 @Callable(p)
117117 func addAuction (V,W,X,Y,E) = {
118118 let C = toBase58String(p.transactionId)
119119 let U = value(p.payments[0].assetId)
120120 let D = value(X)
121121 let Z = (lastBlock.height + Y)
122122 let aa = p.caller.bytes
123123 let ab = {
124124 let n = getString(this, (((toBase58String(U) + a) + "nft_status_") + toBase58String(aa)))
125125 if ($isInstanceOf(n, "String"))
126126 then {
127127 let N = n
128128 true
129129 }
130130 else false
131131 }
132132 if ((ab == true))
133133 then throw("Already in auction list")
134134 else if ((Y > e))
135135 then throw(("Duration is too long. Must be less than or equal to 30 " + toString(e)))
136136 else if ((p.payments[0].assetId == unit))
137137 then throw("NFT not attached")
138138 else if ((p.payments[0].assetId == f))
139139 then throw("NFT not attached")
140140 else [StringEntry(((C + "nft_start_auction_date") + toBase58String(aa)), V), StringEntry(((C + "nft_end_auction_date") + toBase58String(aa)), W), StringEntry((C + "_nft_start_price"), X), StringEntry((C + "_nft_owner"), toString(p.caller)), StringEntry((C + "_nft_on_auction"), toBase58String(U)), StringEntry((C + "_previous_bidder"), "none"), StringEntry((C + "_highest_bid"), "0"), StringEntry((C + "_winner_of_nft"), "0"), StringEntry((C + "_bidder_count"), "0"), StringEntry((C + "_nft_status"), "OPEN")]
141141 }
142142
143143
144144
145145 @Callable(p)
146146 func placeBid (ac,U,r,ad,ae) = {
147147 let C = toBase58String(p.transactionId)
148148 let aa = p.caller.bytes
149149 let m = fromBase58String(U)
150150 let af = p.payments[0].assetId
151151 let ag = p.payments[0].amount
152152 let ah = getStringValue(this, (ac + "_highest_bid"))
153153 let ai = getString(this, (ac + "_previous_bidder"))
154154 let aj = getStringValue(this, (ac + "_bidder_count"))
155155 let ak = getStringValue(this, (ac + "_winner_of_nft"))
156156 let ab = getStringValue(this, (ac + "_nft_status"))
157157 if ((ab != "OPEN"))
158158 then throw("Not open for auction")
159159 else if ((parseIntValue(ah) >= ag))
160160 then throw("Bid is less then starting/highest Bid")
161161 else if ((ah == "0"))
162162 then [StringEntry((ac + "_highest_bid"), toString(ag)), StringEntry((ac + "_winner_of_nft"), toBase58String(p.caller.bytes)), StringEntry((ac + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((ac + "_nft_id"), toBase58String(m)), StringEntry((ac + "_nft_owner"), r), StringEntry((((C + "_") + ac) + "_highest_bid"), toString(ag)), StringEntry((((C + "_") + ac) + "_winner"), toBase58String(p.caller.bytes)), StringEntry((((C + "_") + ac) + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((((C + "_") + ac) + "_nft_id"), toBase58String(m)), StringEntry((((C + "_") + ac) + "_nft_owner"), r), StringEntry((C + "_bid_for_nft_by"), toBase58String(aa)), StringEntry((C + "_bid_price_place"), ad), StringEntry((C + "_previous_bid_amount_refund_to_address"), ak), StringEntry((C + "_prevoius_bid_amount_refund"), ah)]
163163 else if ((ah != "0"))
164164 then [ScriptTransfer(Address(fromBase58String(ak)), parseIntValue(ah), af), StringEntry((C + "_previous_bid_amount_refund_to_address"), ak), StringEntry((C + "_prevoius_bid_amount_refund"), ah), StringEntry((ac + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((ac + "_highest_bid"), toString(ag)), StringEntry((ac + "_winner_of_nft"), toBase58String(p.caller.bytes)), StringEntry((ac + "_nft_id"), toBase58String(m)), StringEntry((ac + "_nft_owner"), r), StringEntry((((C + "_") + ac) + "_highest_bid"), toString(ag)), StringEntry((((C + "_") + ac) + "_winner"), toBase58String(p.caller.bytes)), StringEntry((((C + "_") + ac) + "_bidder_count"), toString((parseIntValue(aj) + 1))), StringEntry((((C + "_") + ac) + "_nft_id"), toBase58String(m)), StringEntry((((C + "_") + ac) + "_nft_owner"), r), StringEntry((C + "_bid_for_nft_by"), toBase58String(aa)), StringEntry((C + "_bid_price_place"), ad)]
165165 else nil
166166 }
167167
168168
169169
170170 @Callable(p)
171171 func acceptBidOffer (ac,U,al,K,L,w,ae) = {
172172 let am = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
173173 let C = toBase58String(p.transactionId)
174174 let an = fromBase58String(ae)
175175 let aa = p.caller.bytes
176176 let m = fromBase58String(U)
177177 let ao = getStringValue(this, (ac + "_highest_bid"))
178178 let ap = ((parseIntValue(ao) / 1000) * 975)
179179 let Q = ((parseIntValue(ao) / 1000) * 25)
180180 let S = ((parseIntValue(ao) * parseIntValue(w)) / 100)
181181 let aq = (parseIntValue(ao) - (S + Q))
182182 let ar = getStringValue(this, (ac + "_winner_of_nft"))
183- if (if ((ae == am))
184- then (L != K)
185- else false)
183+ if ((ae == am))
186184 then [ScriptTransfer(Address(aa), aq, an), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), S, an), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
187- else if (if ((ae == am))
188- then (L == K)
189- else false)
190- then [ScriptTransfer(Address(aa), ap, an), ScriptTransfer(Address(fromBase58String(ar)), 1, m), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
191- else if (if ((ae == "WAVES"))
192- then (L != K)
193- else false)
194- then [ScriptTransfer(Address(aa), aq, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), S, unit), StringEntry("platform_fee", toString(Q)), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
195- else if (if ((ae == "WAVES"))
196- then (L == K)
197- else false)
198- then [ScriptTransfer(Address(aa), ap, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
199- else nil
185+ else if ((ae == "WAVES"))
186+ then [ScriptTransfer(Address(aa), aq, unit), ScriptTransfer(Address(fromBase58String(ar)), 1, m), ScriptTransfer(Address(fromBase58String(L)), S, unit), StringEntry("platform_fee", toString(Q)), StringEntry((C + "_amount_paid_to_owner"), ao), StringEntry((C + "_nft_transfer_to"), ar), StringEntry((C + "_nft_status"), "REWARDED"), StringEntry((ac + "_amount_paid_to_owner"), ao), StringEntry((ac + "_nft_transfer_to"), ar), StringEntry((ac + "_nft_status"), "REWARDED")]
187+ else nil
200188 }
201189
202190
203191
204192 @Callable(p)
205193 func cancelAuction (ac) = {
206194 let C = toBase58String(p.transactionId)
207195 let aa = p.caller.bytes
208196 let as = getStringValue(this, (ac + "_nft_status"))
209197 let at = getStringValue(this, (ac + "_winner_of_nft"))
210198 let au = getStringValue(this, (ac + "_nft_owner"))
211199 let U = getStringValue(this, (ac + "_nft_on_auction"))
212200 let av = getStringValue(this, (ac + "_highest_bid"))
213201 if ((at == "0"))
214202 then [StringEntry(((C + ac) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(fromBase58String(au)), 1, fromBase58String(U))]
215203 else if ((at != "0"))
216204 then throw("soory you can't cancel it because already auction placed by someone")
217205 else nil
218206 }
219207
220208
221209
222210 @Callable(p)
223211 func manualFundTransfer (aw,ax) = {
224212 let ay = p.caller.bytes
225213 let az = fromBase58String(aw)
226214 let O = p.payments[0].amount
227215 let Q = ((O / 1000) * 25)
228216 let aA = (O - Q)
229217 if ((p.payments[0].assetId == unit))
230218 then [IntegerEntry((toBase58String(ay) + "_transfer"), O), StringEntry("platform_fee", toString(Q)), StringEntry((toBase58String(ay) + "_transfer_to"), aw), ScriptTransfer(Address(az), aA, unit)]
231219 else if ((p.payments[0].assetId == f))
232220 then [IntegerEntry((toBase58String(ay) + "_transfer"), O), IntegerEntry("platform_fee", Q), StringEntry((toBase58String(ay) + "_transfer_to"), aw), ScriptTransfer(Address(az), aA, f)]
233221 else nil
234222 }
235223
236224
237225
238226 @Callable(p)
239227 func nftback (ac) = {
240228 let aa = p.caller.bytes
241229 let U = getStringValue(this, (ac + "_nft_on_auction"))
242230 let au = getStringValue(this, (ac + "_nft_owner"))
243231 [StringEntry((ac + "_nft_status"), "Auction_time over"), ScriptTransfer(Address(fromBase58String(au)), 1, fromBase58String(U))]
244232 }
245233
246234
247235
248236 @Callable(p)
249237 func withdrawMoney (ac,ae) = {
250238 let aa = p.caller.bytes
251239 let am = "9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq"
252240 let C = toBase58String(p.transactionId)
253241 let an = fromBase58String(ae)
254242 let aB = getStringValue(this, (ac + "_highest_bid"))
255243 let aC = getStringValue(this, (ac + "_winner"))
256244 let aD = getStringValue(this, (ac + "_nft_id"))
257245 if ((ae == am))
258246 then [StringEntry((ac + "_nft_bid"), "WITHDRAW"), StringEntry((ac + "_nft_id"), aD), StringEntry((ac + "_bidding_price_refund_amount"), aB), ScriptTransfer(p.caller, parseIntValue(aB), an)]
259247 else if ((ae == "WAVES"))
260248 then [StringEntry((ac + "_nft_bid"), "WITHDRAW"), StringEntry((ac + "_nft_id"), aD), StringEntry((ac + "_bidding_price_refund_amount"), aB), ScriptTransfer(p.caller, parseIntValue(aB), unit)]
261249 else nil
262250 }
263251
264252
265253
266254 @Callable(p)
267255 func buyAllProducts_asimi (aE) = {
268256 let aF = p.caller
269257 let aG = assetBalance(aF, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')
270258 let aH = split(aE[0], "_")
271259 let aI = split(aE[1], "_")
272260 let aJ = split(aE[2], "_")
273261 let aK = split(aE[3], "_")
274262 let aL = split(aE[4], "_")
275263 let O = value(p.payments[0].amount)
276264 let aM = (O - ((O / 1000) * 25))
277265 let aN = (O - aM)
278266 let S = ((O / 100) * parseIntValue(aH[3]))
279267 let aO = (O - (S + aN))
280268 let aP = value(p.payments[1].amount)
281269 let aQ = (aP - ((aP / 1000) * 25))
282270 let aR = (aP - aQ)
283271 let aS = ((aP / 100) * parseIntValue(aI[3]))
284272 let aT = (aP - (aS + aR))
285273 let aU = value(p.payments[2].amount)
286274 let aV = (aU - ((aU / 1000) * 25))
287275 let aW = (aU - aV)
288276 let aX = ((aU / 100) * parseIntValue(aJ[3]))
289277 let aY = (aU - (aX + aW))
290278 let aZ = value(p.payments[3].amount)
291279 let ba = (aZ - ((aZ / 1000) * 25))
292280 let bb = (aZ - ba)
293281 let bc = ((aZ / 100) * parseIntValue(aK[3]))
294282 let bd = (aZ - (bc + bb))
295283 let be = value(p.payments[4].amount)
296284 let bf = (be - ((be / 1000) * 25))
297285 let bg = (be - bf)
298286 let bh = ((be / 100) * parseIntValue(aL[3]))
299287 let bi = (be - (bh + bg))
300288 if ((O > aG))
301289 then throw("Buyer does not have enough funds to complete the purchase.")
302290 else if ((size(aE) == 1))
303291 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "creator") + aH[4]) + "royalitypercent") + aH[3]), ("buyer" + toString(aF))), StringEntry((("first_nft_Info=" + "seller_address") + aH[1]), ("price" + aH[2])), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
304292 else if ((size(aE) == 2))
305293 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
306294 else if ((size(aE) == 3))
307295 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
308296 else if ((size(aE) == 4))
309297 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), bd, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
310298 else if ((size(aE) == 5))
311299 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aH[4])), S, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[1])), aT, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aI[4])), aS, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[1])), bd, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aK[4])), bc, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[1])), bi, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'), ScriptTransfer(Address(fromBase58String(aL[4])), bh, base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq')]
312300 else if ((size(aE) > 5))
313301 then throw("sorry! maximum limit of your cart is 5 items")
314302 else nil
315303 }
316304
317305
318306
319307 @Callable(p)
320308 func buyAllProducts_waves (aE) = {
321309 let aF = p.caller
322310 let aG = assetBalance(aF, g)
323311 let aH = split(aE[0], "_")
324312 let aI = split(aE[1], "_")
325313 let aJ = split(aE[2], "_")
326314 let aK = split(aE[3], "_")
327315 let aL = split(aE[4], "_")
328316 let O = value(p.payments[0].amount)
329317 let aM = (O - ((O / 1000) * 25))
330318 let aN = (O - aM)
331319 let S = ((O / 100) * parseIntValue(aH[3]))
332320 let aO = (O - (S + aN))
333321 let aP = value(p.payments[1].amount)
334322 let aQ = (aP - ((aP / 1000) * 25))
335323 let aR = (aP - aQ)
336324 let aS = ((aP / 100) * parseIntValue(aI[3]))
337325 let aT = (aP - (aS + aR))
338326 let aU = value(p.payments[2].amount)
339327 let aV = (aU - ((aU / 1000) * 25))
340328 let aW = (aU - aV)
341329 let aX = ((aU / 100) * parseIntValue(aJ[3]))
342330 let aY = (aU - (aX + aW))
343331 let aZ = value(p.payments[3].amount)
344332 let ba = (aZ - ((aZ / 1000) * 25))
345333 let bb = (aZ - ba)
346334 let bc = ((aZ / 100) * parseIntValue(aK[3]))
347335 let bd = (aZ - (bc + bb))
348336 let be = value(p.payments[4].amount)
349337 let bf = (be - ((be / 1000) * 25))
350338 let bg = (be - bf)
351339 let bh = ((be / 100) * parseIntValue(aL[3]))
352340 let bi = (be - (bh + bg))
353341 if ((O > aG))
354342 then throw("Buyer does not have enough funds to complete the purchase.")
355343 else if ((size(aE) == 1))
356344 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit)]
357345 else if ((size(aE) == 2))
358346 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit)]
359347 else if ((size(aE) == 3))
360348 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit)]
361349 else if ((size(aE) == 4))
362350 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit), ScriptTransfer(Address(fromBase58String(aK[1])), bd, unit), ScriptTransfer(Address(fromBase58String(aK[4])), bc, unit)]
363351 else if ((size(aE) == 5))
364352 then [StringEntry((((((("first_nft_Info=" + "nftId") + aH[0]) + "seller_address") + aH[1]) + "price") + aH[2]), ("buyer" + toString(aF))), StringEntry((((((("second_nft_Info=" + "nftId") + aI[0]) + "seller_address") + aI[1]) + "price") + aI[2]), ("buyer" + toString(aF))), StringEntry((((((("third_nft_Info=" + "nftId") + aJ[0]) + "seller_address") + aJ[1]) + "price") + aJ[2]), ("buyer" + toString(aF))), StringEntry((((((("fourth_nft_Info=" + "nftId") + aK[0]) + "seller_address") + aK[1]) + "price") + aK[2]), ("buyer" + toString(aF))), StringEntry((((((("fifth_nft_Info=" + "nftId") + aL[0]) + "seller_address") + aL[1]) + "price") + aL[2]), ("buyer" + toString(aF))), ScriptTransfer(aF, 1, fromBase58String(aH[0])), ScriptTransfer(aF, 1, fromBase58String(aI[0])), ScriptTransfer(aF, 1, fromBase58String(aJ[0])), ScriptTransfer(aF, 1, fromBase58String(aK[0])), ScriptTransfer(aF, 1, fromBase58String(aL[0])), ScriptTransfer(Address(fromBase58String(aH[1])), aO, unit), ScriptTransfer(Address(fromBase58String(aH[4])), S, unit), ScriptTransfer(Address(fromBase58String(aI[1])), aT, unit), ScriptTransfer(Address(fromBase58String(aI[4])), aS, unit), ScriptTransfer(Address(fromBase58String(aJ[1])), aY, unit), ScriptTransfer(Address(fromBase58String(aJ[4])), aX, unit), ScriptTransfer(Address(fromBase58String(aK[1])), bd, unit), ScriptTransfer(Address(fromBase58String(aK[4])), bc, unit), ScriptTransfer(Address(fromBase58String(aL[1])), bi, unit), ScriptTransfer(Address(fromBase58String(aL[4])), bh, unit)]
365353 else if ((size(aE) > 5))
366354 then throw("sorry! maximum limit of your cart is 5 items")
367355 else nil
368356 }
369357
370358

github/deemru/w8io/026f985 
87.08 ms