tx · G1fzDyYZWpRFir3HwmZRBwUBjR3Uy7hnqxmonzG9VS6c

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03600000 Waves

2023.08.20 23:29 [2719423] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "G1fzDyYZWpRFir3HwmZRBwUBjR3Uy7hnqxmonzG9VS6c", "fee": 3600000, "feeAssetId": null, "timestamp": 1692563394634, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "4yYcyrBGzWrRQEMVKv1KpTXwc3HjomWtb7iD1TJmV8aQzcvurtQCx7FjYmELm4EFYXb1HC54ymshumhdqbmQD5xt" ], "script": "base64:BgJcCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBGBIDCgEIEgASAwoBCBIDCgEBEgASBAoCAQi3AQACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UAA0RBWQCAuJkpABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nABZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5AhNtYXJrZXRpbmdBbW91bnRMZWZ0AA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABF0ZWFtQW1vdW50TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFWxhc3RBY3Rpdml0aWVzVGltZUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMAEGFjdEFtb3VudExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBBnBlcmlvZAkAawMFCE1JTExJT042CQBoAgULUExBWUVSU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUCTTYAD3dsZ0lzc3VlVGltZUtleQINd2xnX2lzc3VlVGltZQASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50ABF6Yklzc3VlZEFtb3VudEtleQISemJpbGxfaXNzdWVkQW1vdW50AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgANaWR4V2xnRWNvbm9teQADAA5pZHhXbGdBY3Rpdml0eQAEAA9pZHhXbGdBcmJpdHJhZ2UABQAKaWR4V2xnUG9vbAAGAA9pZHhXbGdJc3N1ZVRpbWUABwARaWR4V2xnTGFzdE1UQVRpbWUACAAUaWR4V2xnTWFya2V0aW5nVG90YWwACQAVaWR4V2xnTWFya2V0aW5nQW1MZWZ0AAoAGWlkeFdsZ01hcmtldGluZ0FtQXZhaWxOb3cACwAVaWR4V2xnTWFya2V0aW5nV2xnb2xkAAwAD2lkeFdsZ1RlYW1Ub3RhbAANABBpZHhXbGdUZWFtQW1MZWZ0AA4AFGlkeFdsZ1RlYW1BbUF2YWlsTm93AA8AEGlkeFdsZ1RlYW1XbGdvbGQAEAAOaWR4V2xnQWN0VG90YWwAEQAPaWR4V2xnQWN0QW1MZWZ0ABIAE2lkeFdsZ0FjdEFtQXZhaWxOb3cAEwAPaWR4V2xnQWN0V2xnb2xkABQAD2lkeFdsZ0N1clBlcmlvZAAVABFpZHhXbGdBbUxlZnRUb3RhbAAWABtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24AFwASaWR4V2xnTGFzdFVzZXJUaW1lABgAFGlkeFdsZ1VzZXJBbUF2YWlsTm93ABkAFmlkeFdsZ1NMYW5kRGFpbHlBbW91bnQAGgAWaWR4V2xnSW52ZXN0RnVuZEFtb3VudAAbAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAtkYXBwRWNvbm9teQACAAdkYXBwV2xnAAQACmRhcHBQdXp6bGUABQAOZGFwcEludmVzdEZ1bmQABgEJZ2V0UGllY2VzAhJ1c2VyQWRkclN0ck9yRW1wdHkPc3Rha2luZ0NvbnRyYWN0BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAITcmVzVHlwZXNQcm9wb3J0aW9ucwILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAELZ2V0V2xnU3RhdHMEC3VzZXJBZGRyT3B0CWNvbnRyYWN0cwZ1c2R0SWQVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUSd2xnSXNzdWVkQW1vdW50S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQECmVjb25vbXlVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBFY29ub215BQZ1c2R0SWQEB3Jlc3RVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFBnVzZHRJZAUVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAlwdXp6bGVVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCmRhcHBQdXp6bGUFBnVzZHRJZAQSaW52ZXN0RnVuZENvbnRyYWN0CQCRAwIFCWNvbnRyYWN0cwUOZGFwcEludmVzdEZ1bmQED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgUSaW52ZXN0RnVuZENvbnRyYWN0BQZ1c2R0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSaW52ZXN0RnVuZENvbnRyYWN0BRF6Yklzc3VlZEFtb3VudEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCmVjb25vbXlVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAV3bGdJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD3dsZ0lzc3VlVGltZUtleQIPTm90IGluaXRpYWxpemVkBA5tYXJrZXRpbmdUb3RhbAkAawMFCE1JTExJT042BQ5NQVJLRVRJTkdTSEFSRQUCTTYEE21hcmtldGluZ0Ftb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFm1hcmtldGluZ0Ftb3VudExlZnRLZXkFDm1hcmtldGluZ1RvdGFsBBFsYXN0TWFya2V0aW5nVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUbGFzdE1hcmtldGluZ1RpbWVLZXkFCWlzc3VlVGltZQQNbWFya2V0aW5nQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUQbWFya2V0aW5nQWRkcktleQQbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFDm1hcmtldGluZ1RvdGFsCQBlAgUDbm93BRFsYXN0TWFya2V0aW5nVGltZQUKWUVBUk1JTExJUwkAzAgCBRNtYXJrZXRpbmdBbW91bnRMZWZ0BQNuaWwED21hcmtldGluZ1dsZ29sZAkA8AcCBQ1tYXJrZXRpbmdBZGRyBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUITUlMTElPTjYFCVRFQU1TSEFSRQUCTTYEDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRF0ZWFtQW1vdW50TGVmdEtleQUJdGVhbVRvdGFsBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD2xhc3RUZWFtVGltZUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwULdGVhbUFkZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUITUlMTElPTjYFDUFDVElWSVRZU0hBUkUFAk02BA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBhY3RBbW91bnRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUNYWN0QW1vdW50TGVmdAUDbmlsBAlhY3RXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQV3bGdJZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnCQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQULdXNlckFkZHJPcHQFCWlzc3VlVGltZQQObGFzdFVzZXJQZXJpb2QJAGkCCQBlAgUMbGFzdFVzZXJUaW1lBQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMECm5vd0xpbWl0ZWQJAJcDAQkAzAgCBQNub3cJAMwIAgkAZAIFCWlzc3VlVGltZQkAaAIAAwUKWUVBUk1JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQpZRUFSTUlMTElTCQDMCAIAAgUDbmlsBANlZmYJAQlnZXRQaWVjZXMCBQt1c2VyQWRkck9wdAkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBBVjdXJQZXJpb2REaXN0cmlidXRpb24JARRkaXN0cmlidXRpb25CeVBlcmlvZAEFCWN1clBlcmlvZAQKdXNlckFtb3VudAkAawMDCQAAAgUObGFzdFVzZXJQZXJpb2QFCWN1clBlcmlvZAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABCQBkAgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMJAGQCCQBkAgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwkAkQMCBQNlZmYAAQkAkQMCBQNlZmYAAAQQc0xhbmREYWlseUFtb3VudAkAawMJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24FA0RBWQUKWUVBUk1JTExJUwAZCQCRAwIFA2VmZgAABA9hbW91bnRMZWZ0VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFHN0YWtlcnNBbW91bnRMZWZ0S2V5AAAJAMwIAgUMaXNzdWVkQW1vdW50CQDMCAIJAGsDBQ10b3RhbEZ1bmRzVXNkBQJNOAUMaXNzdWVkQW1vdW50CQDMCAIFDXRvdGFsRnVuZHNVc2QJAMwIAgUKZWNvbm9teVVzZAkAzAgCBQdyZXN0VXNkCQDMCAIFBndsZ1VzZAkAzAgCBQlwdXp6bGVVc2QJAMwIAgUJaXNzdWVUaW1lCQDMCAIFEWxhc3RNYXJrZXRpbmdUaW1lCQDMCAIFDm1hcmtldGluZ1RvdGFsCQDMCAIFE21hcmtldGluZ0Ftb3VudExlZnQJAMwIAgUbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFD21hcmtldGluZ1dsZ29sZAkAzAgCBQl0ZWFtVG90YWwJAMwIAgUOdGVhbUFtb3VudExlZnQJAMwIAgUWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQp0ZWFtV2xnb2xkCQDMCAIFCGFjdFRvdGFsCQDMCAIFDWFjdEFtb3VudExlZnQJAMwIAgUVYWN0QW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCWFjdFdsZ29sZAkAzAgCBQljdXJQZXJpb2QJAMwIAgUPYW1vdW50TGVmdFRvdGFsCQDMCAIFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCBQxsYXN0VXNlclRpbWUJAMwIAgUKdXNlckFtb3VudAkAzAgCBRBzTGFuZERhaWx5QW1vdW50CQDMCAIFD2ludmVzdEZ1bmRUb3RhbAUDbmlsAQ1rZXlEdWNrSGVhbHRoAQtkdWNrQXNzZXRJZAkArAICAgtkdWNrSGVhbHRoXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tDaGFycwELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0NoYXJzXwULZHVja0Fzc2V0SWQBCWtleUR1Y2tYUAELZHVja0Fzc2V0SWQJAKwCAgIHZHVja1hQXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tMZXZlbAELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0xldmVsXwULZHVja0Fzc2V0SWQBEWtleUR1Y2tGcmVlUG9pbnRzAQtkdWNrQXNzZXRJZAkArAICAg9kdWNrRnJlZVBvaW50c18FC2R1Y2tBc3NldElkARBrZXlEdWNrRXF1aXBtZW50AQtkdWNrQXNzZXRJZAkArAICAg5kdWNrRXF1aXBtZW50XwULZHVja0Fzc2V0SWQBCWtleVVzZXJYUAEEYWRkcgkArAICAgd1c2VyWFBfBQRhZGRyAQxrZXlVc2VyTGV2ZWwBBGFkZHIJAKwCAgIKdXNlckxldmVsXwUEYWRkcgERa2V5VXNlckZyZWVQb2ludHMBBGFkZHIJAKwCAgIPdXNlckZyZWVQb2ludHNfBQRhZGRyAQxrZXlEdWNrQnVmZnMBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tCdWZmc18FC2R1Y2tBc3NldElkAQltYXhIZWFsdGgBBWxldmVsCQBkAgBkBQVsZXZlbAAKQVJUUFJFU0FMRQIHUFJFU0FMRQAKQVJUT05CT0FSRAIHT05CT0FSRAAGTlVNUkVTAAYAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAlEQVlNSUxMSVMAgLiZKQAMV0hNVUxUSVBMSUVSAIDIr6AlABBSRVNPVVJDRVBSSUNFTUlOANW1AgANRVNNQVhQQUNLQUdFUwADAAlFU0JVWUNPRUYABAAKRVNTRUxMQ09FRgAKAAlDT0VGRjJNQVQAgK3iBAAQcHJvZHVjdGlvbk1hdHJpeAkAzAgCAiU4XzhfOF8xN18xN180Ml8xMl8wXzMwXzAsMCwwLDAsMCwwLDBfCQDMCAICJThfOF84XzE3XzE3XzQyXzI0XzBfNjBfMCwwLDUsMiwwLDAsMF8JAMwIAgInOF84XzhfMTdfMTdfNDJfMzZfMF8xMjBfMCwwLDEwLDQsMCwwLDBfCQDMCAICKThfMTlfMTlfOF8yN18xOV8yNl8xXzIwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV81Ml8xXzQwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV83OF8xXzgwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICIjhfOF84XzhfOF82MF8xM18yXzJfMCwwLDAsMCwwLDAsMF8JAMwIAgIiOF84XzhfOF84XzYwXzI2XzJfNF8wLDAsMCwwLDAsMCwwXwkAzAgCAiI4XzhfOF84XzhfNjBfMzlfMl84XzAsMCwwLDAsMCwwLDBfCQDMCAICKTMwXzMwXzNfMTdfMTdfM18zMF8zXzMwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM182MF8zXzUwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM185MF8zXzcwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzExXzRfMzBfMCwwLDAsMCwwLDAsMF8yMDEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMjJfNF81MF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8zM180XzcwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKjRfMTNfMjJfNF8zNV8yMl8yM18wXzUwLDEsMF8wLDAsMCwwLDAsMCwwXwkAzAgCAio0XzEzXzIyXzRfMzVfMjJfNDZfMF81MCwxLDFfMCwyLDUsMCwwLDAsMF8JAMwIAgIrNF8xM18yMl80XzM1XzIyXzY5XzBfNTAsMiwxXzAsNSwxMCwwLDAsMCwwXwkAzAgCAio1XzI1XzQwXzVfMTBfMTVfMjBfMV8zMCwxLDFfMCwwLDAsMCwwLDAsMF8JAMwIAgIqNV8yNV80MF81XzEwXzE1XzQwXzFfMzAsMSwyXzIsMSwzLDAsMCwwLDBfCQDMCAICKjVfMjVfNDBfNV8xMF8xNV82MF8xXzMwLDEsM181LDIsOCwwLDAsMCwwXwUDbmlsAAlySWR4Q29lZmYABgAOUFJPRFVDVFBLR1NJWkUACgERa2V5TGFzdFR4SWRCeVVzZXIBBGFkZHIJAKwCAgIPbGFzdFR4SWRCeVVzZXJfBQRhZGRyARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIJbmZ0T3duZXJfBQdhc3NldElkARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAhhsYW5kQ3VzdG9tTmFtZUJ5QXNzZXRJZF8FB2Fzc2V0SWQBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILc3Rha2VkVGltZV8FB2Fzc2V0SWQBFmtleUluZnJhTGV2ZWxCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILaW5mcmFMZXZlbF8FB2Fzc2V0SWQBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgR0eXBlB2Fzc2V0SWQJALkJAgkAzAgCAg1sYW5kQXJ0U3RhdHVzCQDMCAIFBHR5cGUJAMwIAgUHYXNzZXRJZAUDbmlsAgFfARJrZXlXYXJlaG91c2VCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCndhcmVIb3VzZV8FC2xhbmRBc3NldElkARdrZXlGb3J0aWZpY2F0aW9uc0J5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIPZm9ydGlmaWNhdGlvbnNfBQtsYW5kQXNzZXRJZAEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEEYWRkcgkArAICAhpvbmJvYXJkQXJ0QWN0aXZhdGVkRHVja0J5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBCmtleUJsb2NrZWQAAhBjb250cmFjdHNCbG9ja2VkAQ5rZXlPcmRlckJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKbGFuZE9yZGVyXwULbGFuZEFzc2V0SWQBDmtleUVzV2FyZWhvdXNlAAIaZW1lcmdlbmN5V2FyZWhvdXNlUHJvZHVjdHMADWxhc3RUb3VySWRLZXkCDiVzX19sYXN0VG91cklkARVrZXlUb3VyU3RhdGljRGF0YUJ5SWQBA3RJZAkArAICAhYlcyVkX190b3VyU3RhdGljRGF0YV9fCQCkAwEFA3RJZAEWa2V5VG91ckR5bmFtaWNEYXRhQnlJZAEDdElkCQCsAgICFyVzJWRfX3RvdXJEeW5hbWljRGF0YV9fCQCkAwEFA3RJZAEXa2V5QWxsUmVnaXN0cmFudHNCeVRvdXIBA3RJZAkArAICAhYlcyVkX19hbGxSZWdpc3RyYW50c19fCQCkAwEFA3RJZAAJaWR4U3RhdGljAAAACmlkeER5bmFtaWMAAQELZ2V0VG91ckRhdGECDHRvdXJDb250cmFjdAN0SWQEBnN0YXRpYwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUMdG91ckNvbnRyYWN0CQEVa2V5VG91clN0YXRpY0RhdGFCeUlkAQUDdElkCQCsAgIJAKwCAgIZRXJyb3IgcmVhZGluZyB0b3VybmFtZW50IAkApAMBBQN0SWQCBSBkYXRhAgJfXwQHZHluYW1pYwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUMdG91ckNvbnRyYWN0CQEWa2V5VG91ckR5bmFtaWNEYXRhQnlJZAEFA3RJZAkArAICCQCsAgICGUVycm9yIHJlYWRpbmcgdG91cm5hbWVudCAJAKQDAQUDdElkAgUgZGF0YQICX18JAMwIAgUGc3RhdGljCQDMCAIFB2R5bmFtaWMFA25pbAATdFN0YXRpY1JlZ2lzdGVyQ29zdAACABJ0U3RhdGljQXR0ZW1wdENvc3QAAwAMdFN0YXRpY1N0YXJ0AAUACnRTdGF0aWNFbmQABgAOdER5bmFtaWNTdGF0dXMAAQAPdER5bmFtaWNXaW5EdWNrAAIAEXREeW5hbWljV2luUmVzdWx0AAMAFXREeW5hbWljVG90YWxSZWdDb3VudAAEABV0RHluYW1pY1RvdGFsQXR0ZW1wdHMABQEca2V5SXNSZWdpc3RlcmVkQnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIhJXMlZCVzX19pc1JlZ2lzdGVyZWRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARtrZXlMYXN0QXR0ZW1wdEJ5VG91ckFuZER1Y2sCA3RJZAtkdWNrQXNzZXRJZAkAuQkCCQDMCAICICVzJWQlc19fbGFzdEF0dGVtcHRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARprZXlCZXN0UmVzdWx0QnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIfJXMlZCVzX19iZXN0UmVzdWx0QnlUb3VyQW5kRHVjawkAzAgCCQCkAwEFA3RJZAkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsAgJfXwESZ2V0UmVjaXBlTWF0ZXJpYWxzAQZyZWNpcGUJAGgCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGcmVjaXBlBQlySWR4Q29lZmYFCUNPRUZGMk1BVAAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluABFJbmZyYVVwZ3JhZGVDb3N0UwQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMACAyK+gJQMJAAACAQFUBQckbWF0Y2gwAIDC1y8JAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABU1VTFQ4AIDC1y8ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACABRJZHhDZmdHb3Zlcm5hbmNlRGFwcAADAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUAFElkeENmZ0ludmVzdEZ1bmREYXBwAAYAFElkeENmZ1RvdXJuYW1lbnREYXBwAAcBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAtnb3ZDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0dvdmVybmFuY2VEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAASdG91cm5hbWVudENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnVG91cm5hbWVudERhcHAACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAAp3bGdBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgULd2xnQ29udHJhY3QFDXdsZ0Fzc2V0SWRLZXkCE05vdCBpbml0aWFsaXplZCB5ZXQACklkeEVmZlVzZXIAAQERa2V5UmVzUHJvcG9ydGlvbnMAAhNyZXNUeXBlc1Byb3BvcnRpb25zARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhRzdGFrZWRQaWVjZXNCeU93bmVyXwUJb3duZXJBZGRyAQhhc1N0cmluZwEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEJYXNCb29sZWFuAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXMFByRtYXRjaDAFAXMJAAIBAhlmYWlsIHRvIGNhc3QgaW50byBCb29sZWFuAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkUGllY2VzQnlPd25lcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFCnRvdGFsUG93ZXIJAMwIAgUKdXNlcnNQb3dlcgUDbmlsAA1VU0RUUFJJWkVQQVJUAKDCHgAKYWRtaW5zTGlzdAkAzAgCCQClCAEFBHRoaXMJAMwIAgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1A2NHFFVnp1R3pCSnVZZkRYWWlzRnRva0pDaFNSYTh1amEDCQAAAgEBVAUHJG1hdGNoMAIjM04zZ1NGclR3Z2lMQUZaSE11SnJFdHRodDFuUGhua3B2anMJAAIBAg1Vbmtub3duIGNoYWluBQNuaWwBEmFzTGlzdEludENvbXBhY3RlZAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAp2YWxBbnlMaXN0BQckbWF0Y2gwAwkBAiE9AgkAkAMBBQp2YWxBbnlMaXN0BQZOVU1SRVMJAAIBCQCsAgICDkFycmF5IHNpemUgaXMgCQCkAwEJAJADAQUKdmFsQW55TGlzdAoBBGNvbnYCA2FjYwRpdGVtBAckbWF0Y2gxBQRpdGVtAwkAAQIFByRtYXRjaDECA0ludAQCaXQFByRtYXRjaDEJAM0IAgUDYWNjCQCkAwEFAml0CQACAQIUTGlzdCB0eXBlIGlzIG5vdCBJbnQEAXIKAAIkbAUKdmFsQW55TGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEY29udgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgkAuQkCBQFyAgFfCQACAQIWZmFpbCB0byBjYXN0IGludG8gTGlzdAENYXNTcGxpdFJlc3VsdAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIWKExpc3RbQW55XSwgTGlzdFtBbnldKQQCdDIFByRtYXRjaDAJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMQkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMgkAAgECHmZhaWwgdG8gY2FzdCBpbnRvIChMaXN0LCBMaXN0KQEOd2FsbGV0SW50ZXJuYWwBDnVzZXJBZGRyZXNzT3B0BARhZGRyCQCmCAEFDnVzZXJBZGRyZXNzT3B0BAdiYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAO8HAQkBBXZhbHVlAQUEYWRkcgkBDkJhbGFuY2VEZXRhaWxzBAAAAAAAAAAABAt1c2R0QmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFC3VzZHRBc3NldElkAAAEDXdsZ29sZEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQp3bGdBc3NldElkAAAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQhyZWZCeUtleQQEcmVmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARNrZXlBZGRyZXNzUmVmZXJyYWxzAQUOdXNlckFkZHJlc3NPcHQCAAQIbGFzdFR4SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5TGFzdFR4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAZwaWVjZXMJAJEDAgkBDmdldFZvdGluZ1Bvd2VyAQUOdXNlckFkZHJlc3NPcHQFCklkeEVmZlVzZXIEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleVVzZXJYUAEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlVc2VyTGV2ZWwBBQ51c2VyQWRkcmVzc09wdAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVVzZXJGcmVlUG9pbnRzAQUOdXNlckFkZHJlc3NPcHQAAAQHb25ib2FyZAMJAQlpc0RlZmluZWQBBQVyZWZCeQkArAICBQpBUlRPTkJPQVJEAwMJAQlpc0RlZmluZWQBBQRhZGRyCQEJaXNEZWZpbmVkAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARxrZXlPbmJvYXJkQXJ0RHVja0FjdGl2YXRlZEJ5AQUOdXNlckFkZHJlc3NPcHQHAgI6MQICOjACAAkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJXNfX3JlZmVycmVkQnlfXwkBC3ZhbHVlT3JFbHNlAgUFcmVmQnkCAAkAzAgCCQCsAgICESVzJXNfX3JlZmVycmFsc19fBQRyZWZzCQDMCAIJAKwCAgIQJXMlc19fbGFzdFR4SWRfXwUIbGFzdFR4SWQJAMwIAgkArAICAhQlcyVkX193YXZlc0JhbGFuY2VfXwkApAMBCAUHYmFsYW5jZQlhdmFpbGFibGUJAMwIAgkArAICAhUlcyVkX193bGdvbGRCYWxhbmNlX18JAKQDAQUNd2xnb2xkQmFsYW5jZQkAzAgCCQCsAgICEyVzJWRfX3VzZHRCYWxhbmNlX18JAKQDAQULdXNkdEJhbGFuY2UJAMwIAgkArAICAhQlcyVkX19zdGFrZWRQaWVjZXNfXwkApAMBBQZwaWVjZXMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIXJXMlc19fd2FsbGV0QXJ0ZWZhY3RzX18FB29uYm9hcmQFA25pbAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAAAEBGFkZDYJAGkCBQppbmZyYUxldmVsAAYEBGFkZDcJAGkCBQppbmZyYUxldmVsAAcJAJUKAwUKaW5mcmFMZXZlbAUJYXJ0UGllY2VzCQBkAgkAZAIFD0RBSUxZUkVTQllQSUVDRQkAawMFD0RBSUxZUkVTQllQSUVDRQkAZAIJAGQCBQppbmZyYUxldmVsBQRhZGQ2CQBoAgACBQRhZGQ3AAUJAGsDBQ9EQUlMWVJFU0JZUElFQ0UFCWFydFBpZWNlcwkAaAIFBnBpZWNlcwAFARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEJdm9sUHJlZml4BAVwYXJ0cwkAtQkCBQl2b2xQcmVmaXgCAV8JAGgCCQBoAgUMV0hNVUxUSVBMSUVSCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAEAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAABDGdldFdhcmVob3VzZQMFd2hLZXkJbGFuZEluZGV4CmluZnJhTGV2ZWwECXZvbFByZWZpeAkArAICCQCsAgIJAKQDAQUJbGFuZEluZGV4AgFfCQCkAwEFCmluZnJhTGV2ZWwEBHRvdFMJAKQDAQkBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQUJdm9sUHJlZml4BAV3aFN0cgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QFBXdoS2V5CQCsAgIJAKwCAgkArAICCQCsAgIFCXZvbFByZWZpeAIeOjBfMF8wXzBfMF8wOjBfMF8wXzBfMF8wOjowXzBfBQR0b3RTAgFfBQR0b3RTCQC1CQIFBXdoU3RyAgE6AQ1kdWNrSW5mb1R1cGxlAQtkdWNrQXNzZXRJZAQFbWF4SFAJAQltYXhIZWFsdGgBCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tMZXZlbAEFC2R1Y2tBc3NldElkAAAJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQtkdWNrQXNzZXRJZARuYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUR1Y2tMb2NhdGlvbgEFC2R1Y2tBc3NldElkAgAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQENa2V5RHVja0hlYWx0aAEFC2R1Y2tBc3NldElkBQVtYXhIUAkBCGFzU3RyaW5nAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCE2dldEJhY2twYWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQFA25pbAUDbmlsAQ1kdWNrSW5mb0FycmF5AwtkdWNrQXNzZXRJZAVvd25lcgdkdWNrSW5mBApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQULZHVja0Fzc2V0SWQIBQdkdWNrSW5mAl8yBAVjaGFycwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQ2hhcnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlEdWNrWFABBQtkdWNrQXNzZXRJZAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlEdWNrRnJlZVBvaW50cwEFC2R1Y2tBc3NldElkAAAEBmVxdWlwbQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrRXF1aXBtZW50AQULZHVja0Fzc2V0SWQCCztfO187XztfO187BAVidWZmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQnVmZnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wCQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtkdWNrQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEIBQdkdWNrSW5mAl8xCQDMCAIJAKwCAgIMJXMlc19fbmFtZV9fCAUHZHVja0luZgJfMgkAzAgCCQCsAgICECVzJXNfX2xvY2F0aW9uX18IBQdkdWNrSW5mAl8zCQDMCAIJAKwCAgIOJXMlZF9faGVhbHRoX18JAKQDAQgFB2R1Y2tJbmYCXzQJAMwIAgkArAICAhElcyVkX19tYXhIZWFsdGhfXwkApAMBCQEJbWF4SGVhbHRoAQUDbHZsCQDMCAIJAKwCAgIXJXMlc19fY2hhcmFjdGVyaXN0aWNzX18FBWNoYXJzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81CQDMCAIJAKwCAgIRJXMlc19fZXF1aXBtZW50X18FBmVxdWlwbQkAzAgCCQCsAgICDSVzJXNfX2J1ZmZzX18FBWJ1ZmZzBQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBBQtsYW5kQXNzZXRJZAkArAICCQCsAgIJAJEDAgUBZAUMcmVjQ29udGluZW50AgEtCQCRAwIFAWQFCnJlY0xhbmROdW0EBGZvcnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEXa2V5Rm9ydGlmaWNhdGlvbnNCeUxhbmQBBQtsYW5kQXNzZXRJZAIMOjBfMTU6MF8xODowCQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtsYW5kQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEFCnN0YWtlZFRpbWUJAMwIAgkArAICAhMlcyVzX19kZXNjcmlwdGlvbl9fCQC5CQIJAMwIAgUHbGFuZE51bQkAzAgCCQCRAwIFAWQFC3JlY0xhbmRTaXplCQDMCAIJAJEDAgUBZAULcmVjVGVycmFpbnMJAMwIAgkAkQMCBQFkBQxyZWNDb250aW5lbnQFA25pbAIBXwkAzAgCCQCsAgICEiVzJWRfX2luZnJhTGV2ZWxfXwkApAMBCAUMcHJvZHVjdGl2aXR5Al8xCQDMCAIJAKwCAgIWJXMlc19fYXZhaWxSZXNCeVR5cGVfXwgFDmdsb2JhbEFuZExvY2FsAl8yCQDMCAIJAKwCAgIVJXMlZF9fYXZhaWxSZXNUb3RhbF9fCQCkAwEFCGF2YWlsUmVzCQDMCAIJAKwCAgIUJXMlc19fbmVlZE1hdGVyaWFsX18IBQ5nbG9iYWxBbmRMb2NhbAJfMQkAzAgCCQCsAgICHSVzJXNfX2xhbmRBcnRlZmFjdHNfX1BSRVNBTEU6CQCkAwEIBQxwcm9kdWN0aXZpdHkCXzIJAMwIAgkArAICAhElcyVzX193YXJlaG91c2VfXwkAuQkCCQEMZ2V0V2FyZWhvdXNlAwkBEmtleVdhcmVob3VzZUJ5TGFuZAEFC2xhbmRBc3NldElkCQBpAgUGcGllY2VzBQVTU0laRQgFDHByb2R1Y3Rpdml0eQJfMQIBOgkAzAgCCQCsAgICESVzJXNfX2xhbmRPcmRlcl9fCQELdmFsdWVPckVsc2UCCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleU9yZGVyQnlMYW5kAQULbGFuZEFzc2V0SWQCMDBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOjBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOgkAzAgCCQCsAgICFiVzJXNfX2ZvcnRpZmljYXRpb25zX18FBGZvcnQFA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwTAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAJAKUIAQUEdGhpcwUDbmlsAWkBEndhbGxldEluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQJAJQKAgUDbmlsCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARdkdWNrQnlPd25lckluZm9SRUFET05MWQELdXNlckFkZHJlc3MECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQt1c2VyQWRkcmVzcwkAlAoCBQNuaWwDAwkBCWlzRGVmaW5lZAEJAKYIAQULdXNlckFkZHJlc3MJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFC3VzZXJBZGRyZXNzCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQENZHVja0luZm9BcnJheQMCAAULdXNlckFkZHJlc3MJAJcKBQD///////////8BAgACAAD///////////8BAgABaQEZZHVja0J5QXNzZXRJZEluZm9SRUFET05MWQELZHVja0Fzc2V0SWQEBW93bmVyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAkAlAoCBQNuaWwJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQDCQEJaXNEZWZpbmVkAQUFb3duZXIJAQV2YWx1ZQEFBW93bmVyAgAJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQBaQEZbGFuZEJ5QXNzZXRJZEluZm9SRUFET05MWQELbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lAWkBHnN0YWtlZExhbmRzQnlPd25lckluZm9SRUFET05MWQEQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBRBsYW5kT3duZXJBZGRyZXNzBAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQkAzQgCBQNhY2MJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFEGxhbmRPd25lckFkZHJl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aQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAJQKAgUDbmlsBQFyAWkBI3dhcmVob3VzZU9yZGVyQnlBc3NldElkSW5mb1JFQURPTkxZAQtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBBQtsYW5kQXNzZXRJZAIACQCUCgIFA25pbAkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgFpARtvcmRlcnNCeUxhbmRJZHNJbmZvUkVBRE9OTFkBDGxhbmRBc3NldElkcwoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJh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BSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZVVzZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDE2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAJAJQKAgUDbmlsBQFyAWkBDmZpeFN0YWtlZExhbmRzAQxsYW5kQXNzZXRJZHMEBmNhbGxlcgkApQgBCAUBaQZjYWxsZXIDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQphZG1pbnNMaXN0BQZjYWxsZXIJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQBcgkBBWFzSW50AQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCF2ZpeENvbnRpbmVudFByb3BvcnRpb25zCQDMCAIFDGxhbmRBc3NldElkcwUDbmlsBQNuaWwJAJQKAgUDbmlsBQFyAWkBDXNlbmRVc2R0UHJpemUBC3VzZXJBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAQDYW10CQBrAwkA8AcCBQR0aGlzBQt1c2R0QXNzZXRJZAUNVVNEVFBSSVpFUEFSVAUFTVVMVDYJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQt1c2VyQWRkcmVzcwUDYW10BQt1c2R0QXNzZXRJZAUDbmlsBQNhbXQBaQEfZ2V0RW1lcmdlbmN5U2VydmljZURhdGFSRUFET05MWQAECGV4aXN0U3RyCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleUVzV2FyZWhvdXNlAAQMZXhpc3RBbW91bnRzAwkBCWlzRGVm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zAgCCQCsAgICEyVzJXMlZF9fdXNkdEZ1bmRzX18JAKQDAQkAkQMCBQhjdXJTdGF0cwULaWR4V2xnRnVuZHMJAMwIAgkArAICAhUlcyVzJWRfX3VzZHRFY29ub215X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUNaWR4V2xnRWNvbm9teQkAzAgCCQCsAgICFiVzJXMlZF9fdXNkdEFjdGl2aXR5X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaWR4V2xnQWN0aXZpdHkJAMwIAgkArAICAhclcyVzJWRfX3VzZHRBcmJpdHJhZ2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhIlcyVzJWRfX3VzZHRQb29sX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaWR4V2xnUG9vbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnSXNzdWVUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIlJXMlcyVkX193bGdMYXN0TWFya2V0aW5nVGVhbUFjdFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdMYXN0TVRBVGltZQkAzAgCCQCsAgICGyVzJXMlZF9fd2xnTWFya2V0aW5nVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdNYXJrZXRpbmdUb3RhbAkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nQW1MZWZ0CQDMCAIJAKwCAgIgJXMlcyVkX193bGdNYXJrZXRpbmdBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nV2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdUZWFtVG90YWwJAMwIAgkArAICAhclcyVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIbJXMlcyVkX193bGdUZWFtQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1RlYW1BbUF2YWlsTm93CQDMCAIJAKwCAgIXJXMlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICFSVzJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0QW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0QW1MZWZ0CQDMCAIJAKwCAgIaJXMlcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUTaWR4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdDdXJQZXJpb2RfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdDdXJQZXJpb2QJAMwIAgkArAICAhglcyVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiIlcyVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICGSVzJXMlZF9fd2xnTGFzdFVzZXJUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaWR4V2xnTGFzdFVzZXJUaW1lCQDMCAIJAKwCAgIbJXMlcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIcJXMlcyVkX193bGdHdWVzdFNMYW5kRGFpbHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdTTGFuZERhaWx5QW1vdW50CQDMCAIJAKwCAgIcJXMlcyVkX193bGdJbnZlc3RGdW5kVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdJbnZlc3RGdW5kQW1vdW50BQNuaWwBaQEXdG91cm5hbWVudFN0YXRzUkVBRE9OTFkBDHRvdXJuYW1lbnRJZAQFdERhdGEJAQtnZXRUb3VyRGF0YQIFEnRvdXJuYW1lbnRDb250cmFjdAUMdG91cm5hbWVudElkBAZzdGF0aWMJAJEDAgUFdERhdGEFCWlkeFN0YXRpYwQHZHluYW1pYwkAkQMCBQV0RGF0YQUKaWR4RHluYW1pYwQHd2luRHVjawMJAAACCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawIAAgEgCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawQLcmVnaXN0cmFudHMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEXa2V5QWxsUmVnaXN0cmFudHNCeVRvdXIBBQx0b3VybmFtZW50SWQCAAkAlAoCBQNuaWwJAMwIAgkArAICAhwlcyVzX190b3VybmFtZW50U3RhdGljRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQZzdGF0aWMFE3RTdGF0aWNSZWdpc3RlckNvc3QJAMwIAgkAkQMCBQZzdGF0aWMFEnRTdGF0aWNBdHRlbXB0Q29zdAkAzAgCCQCRAwIFBnN0YXRpYwUMdFN0YXRpY1N0YXJ0CQDMCAIJAJEDAgUGc3RhdGljBQp0U3RhdGljRW5kBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50RHluYW1pY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUHZHluYW1pYwUOdER5bmFtaWNTdGF0dXMJAMwIAgUHd2luRHVjawkAzAgCCQCRAwIFB2R5bmFtaWMFEXREeW5hbWljV2luUmVzdWx0CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbFJlZ0NvdW50CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbEF0dGVtcHRzBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50UmVnaXN0cmFudHNfXwULcmVnaXN0cmFudHMFA25pbAFpARtsYXN0VG91cm5hbWVudFN0YXRzUkVBRE9OTFkABAx0b3VybmFtZW50SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0BQ1sYXN0VG91cklkS2V5AAAEBnN0YXRpYwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEFDHRvdXJuYW1lbnRJZAIYJXMlZCVkJWQlZCVkX19fX19fX19fX19fBQNTRVAEB2R5bmFtaWMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQUMdG91cm5hbWVudElkAhQlcyVzJWQlZCVkX19fX19fX19fXwUDU0VQBAd3aW5EdWNrAwkAAAIJAJEDAgUHZHluYW1pYwUPdER5bmFtaWNXaW5EdWNrAgACASAJAJEDAgUHZHluYW1pYwUPdER5bmFtaWNXaW5EdWNrBAtyZWdpc3RyYW50cwkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARdrZXlBbGxSZWdpc3RyYW50c0J5VG91cgEFDHRvdXJuYW1lbnRJZAIACQCUCgIFA25pbAkAzAgCCQCsAgICGCVzJXNfX2xhc3RUb3VybmFtZW50SWRfXwkApAMBBQx0b3VybmFtZW50SWQJAMwIAgkArAICAhwlcyVzX190b3VybmFtZW50U3RhdGljRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQZzdGF0aWMFE3RTdGF0aWNSZWdpc3RlckNvc3QJAMwIAgkAkQMCBQZzdGF0aWMFEnRTdGF0aWNBdHRlbXB0Q29zdAkAzAgCCQCRAwIFBnN0YXRpYwUMdFN0YXRpY1N0YXJ0CQDMCAIJAJEDAgUGc3RhdGljBQp0U3RhdGljRW5kBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50RHluYW1pY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUHZHluYW1pYwUOdER5bmFtaWNTdGF0dXMJAMwIAgUHd2luRHVjawkAzAgCCQCRAwIFB2R5bmFtaWMFEXREeW5hbWljV2luUmVzdWx0CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbFJlZ0NvdW50CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbEF0dGVtcHRzBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50UmVnaXN0cmFudHNfXwULcmVnaXN0cmFudHMFA25pbAFpARt0b3VybmFtZW50RHVja1N0YXRzUkVBRE9OTFkCA3RJZAtkdWNrQXNzZXRJZAQJaXNEdWNrUmVnCQELdmFsdWVPckVsc2UCCQCbCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBHGtleUlzUmVnaXN0ZXJlZEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkBwQPbGFzdER1Y2tBdHRlbXB0CQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBG2tleUxhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawIFA3RJZAULZHVja0Fzc2V0SWQAAAQOYmVzdER1Y2tSZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0CQEaa2V5QmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkAAAJAJQKAgUDbmlsCQDMCAIJAKwCAgIbJXMlc19fdG91cm5hbWVudER1Y2tTdGF0c19fCQC5CQIJAMwIAgkApQMBBQlpc0R1Y2tSZWcJAMwIAgkApAMBBQ9sYXN0RHVja0F0dGVtcHQJAMwIAgkApAMBBQ5iZXN0RHVja1Jlc3VsdAUDbmlsAgFfBQNuaWwA5h8zAQ==", "height": 2719423, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4xabMYaYSu6mq7EHcUw49MubX22BPp7Ge2WEWPpvc6AF Next: 6k1PnuQgdpd6LKVdWZQPc56LAxzhiR585R2ejGpoF1oR Diff:
OldNewDifferences
268268 func bW (bX) = ("wareHouse_" + bX)
269269
270270
271-func bY (bQ) = ("duckCustomNameByAssetId_" + bQ)
271+func bY (bX) = ("fortifications_" + bX)
272272
273273
274-func bZ (t) = ("accountCustomNameByAddr_" + t)
274+func bZ (bQ) = ("duckCustomNameByAssetId_" + bQ)
275275
276276
277-func ca (t) = ("accRefBy_" + t)
277+func ca (t) = ("accountCustomNameByAddr_" + t)
278278
279279
280-func cb (t) = ("onboardArtActivatedDuckBy_" + t)
280+func cb (t) = ("accRefBy_" + t)
281281
282282
283-func cc (t) = ("accReferrals_" + t)
283+func cc (t) = ("onboardArtActivatedDuckBy_" + t)
284284
285285
286-func cd (bQ) = ("duckOwner_" + bQ)
286+func cd (t) = ("accReferrals_" + t)
287287
288288
289-func ce (cf) = ("stakedDuckByOwner_" + cf)
289+func ce (bQ) = ("duckOwner_" + bQ)
290290
291291
292-func cg (bo) = ("duckLocation_" + bo)
292+func cf (cg) = ("stakedDuckByOwner_" + cg)
293293
294294
295-func ch () = "contractsBlocked"
295+func ch (bo) = ("duckLocation_" + bo)
296296
297297
298-func ci (bX) = ("landOrder_" + bX)
298+func ci () = "contractsBlocked"
299299
300300
301-func cj () = "emergencyWarehouseProducts"
301+func cj (bX) = ("landOrder_" + bX)
302302
303303
304-let ck = "%s__lastTourId"
305-
306-func cl (cm) = ("%s%d__tourStaticData__" + toString(cm))
304+func ck () = "emergencyWarehouseProducts"
307305
308306
309-func cn (cm) = ("%s%d__tourDynamicData__" + toString(cm))
307+let cl = "%s__lastTourId"
308+
309+func cm (cn) = ("%s%d__tourStaticData__" + toString(cn))
310310
311311
312-func co (cm) = ("%s%d__allRegistrants__" + toString(cm))
312+func co (cn) = ("%s%d__tourDynamicData__" + toString(cn))
313313
314314
315-let cp = 0
315+func cp (cn) = ("%s%d__allRegistrants__" + toString(cn))
316316
317-let cq = 1
318317
319-func cr (cs,cm) = {
320- let ct = split(valueOrErrorMessage(getString(cs, cl(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
321- let cu = split(valueOrErrorMessage(getString(cs, cn(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
322-[ct, cu]
318+let cq = 0
319+
320+let cr = 1
321+
322+func cs (ct,cn) = {
323+ let cu = split(valueOrErrorMessage(getString(ct, cm(cn)), (("Error reading tournament " + toString(cn)) + " data")), "__")
324+ let cv = split(valueOrErrorMessage(getString(ct, co(cn)), (("Error reading tournament " + toString(cn)) + " data")), "__")
325+[cu, cv]
323326 }
324327
325328
326-let cv = 2
329+let cw = 2
327330
328-let cw = 3
331+let cx = 3
329332
330-let cx = 5
333+let cy = 5
331334
332-let cy = 6
335+let cz = 6
333336
334-let cz = 1
337+let cA = 1
335338
336-let cA = 2
339+let cB = 2
337340
338-let cB = 3
341+let cC = 3
339342
340-let cC = 4
343+let cD = 4
341344
342-let cD = 5
345+let cE = 5
343346
344-func cE (cm,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cm), bo], "__")
347+func cF (cn,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cn), bo], "__")
345348
346349
347-func cF (cm,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cm), bo], "__")
350+func cG (cn,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cn), bo], "__")
348351
349352
350-func cG (cm,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cm), bo], "__")
353+func cH (cn,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cn), bo], "__")
351354
352355
353-func cH (cI) = (parseIntValue(cI[bM]) * bK)
356+func cI (cJ) = (parseIntValue(cJ[bM]) * bK)
354357
355358
356-let cJ = take(drop(this.bytes, 1), 1)
359+let cK = take(drop(this.bytes, 1), 1)
357360
358-let cK = {
359- let cL = cJ
360- if ((base58'2W' == cL))
361+let cL = {
362+ let cM = cK
363+ if ((base58'2W' == cM))
361364 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
362- else if ((base58'2T' == cL))
365+ else if ((base58'2T' == cM))
363366 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
364367 else throw("Unknown chain")
365368 }
366369
367-let cM = {
368- let cL = cJ
369- if ((base58'2W' == cL))
370+let cN = {
371+ let cM = cK
372+ if ((base58'2W' == cM))
370373 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
371- else if ((base58'2T' == cL))
374+ else if ((base58'2T' == cM))
372375 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
373376 else throw("Unknown chain")
374377 }
375378
376-let cN = {
377- let cL = cJ
378- if ((base58'2W' == cL))
379+let cO = {
380+ let cM = cK
381+ if ((base58'2W' == cM))
379382 then 10000000000
380- else if ((base58'2T' == cL))
383+ else if ((base58'2T' == cM))
381384 then 100000000
382385 else throw("Unknown chain")
383386 }
384387
385-let cO = "__"
388+let cP = "__"
386389
387-let cP = 1000000
390+let cQ = 1000000
388391
389-let cQ = 100000000
392+let cR = 100000000
390393
391-let cR = 25
394+let cS = 25
392395
393-let cS = 100
396+let cT = 100
394397
395-let cT = 225
398+let cU = 225
396399
397-let cU = 400
400+let cV = 400
398401
399-let cV = 625
402+let cW = 625
400403
401-func cW (cX,cY) = valueOrErrorMessage(getString(cX, cY), makeString(["mandatory ", toString(cX), ".", cY, " is not defined"], ""))
404+func cX (cY,cZ) = valueOrErrorMessage(getString(cY, cZ), makeString(["mandatory ", toString(cY), ".", cZ, " is not defined"], ""))
402405
403406
404-let cZ = 1
407+let da = 1
405408
406-let da = 2
409+let db = 2
407410
408-let db = 3
411+let dc = 3
409412
410-let dc = 4
413+let dd = 4
411414
412-let dd = 5
415+let de = 5
413416
414-let de = 6
417+let df = 6
415418
416-let df = 7
419+let dg = 7
417420
418-func dg () = "%s__restConfig"
421+func dh () = "%s__restConfig"
419422
420423
421-func dh () = "%s__restAddr"
424+func di () = "%s__restAddr"
422425
423426
424-func di (dj) = split_4C(cW(dj, dg()), cO)
427+func dj (dk) = split_4C(cX(dk, dh()), cP)
425428
426429
427-func dk (dl,dm) = valueOrErrorMessage(addressFromString(dl[dm]), ("Rest cfg doesn't contain address at index " + toString(dm)))
430+func dl (dm,dn) = valueOrErrorMessage(addressFromString(dm[dn]), ("Rest cfg doesn't contain address at index " + toString(dn)))
428431
429432
430-let dn = addressFromStringValue(valueOrElse(getString(this, dh()), cM))
433+let do = addressFromStringValue(valueOrElse(getString(this, di()), cN))
431434
432-let dl = di(dn)
435+let dm = dj(do)
433436
434-let aj = dk(dl, cZ)
437+let aj = dl(dm, da)
435438
436-let do = dk(dl, da)
439+let dp = dl(dm, db)
437440
438-let dp = dk(dl, db)
441+let dq = dl(dm, dc)
439442
440-let dq = dk(dl, dc)
443+let dr = dl(dm, dd)
441444
442-let dr = dk(dl, dd)
445+let ds = dl(dm, de)
443446
444-let aH = dk(dl, de)
447+let aH = dl(dm, df)
445448
446-let ds = dk(dl, df)
449+let dt = dl(dm, dg)
447450
448-let dt = 0
451+let du = 0
449452
450-let du = 1
453+let dv = 1
451454
452-let dv = 2
455+let dw = 2
453456
454-let dw = 3
457+let dx = 3
455458
456-let dx = "wlg_assetId"
459+let dy = "wlg_assetId"
457460
458-let dy = valueOrErrorMessage(getBinary(dq, dx), "Not initialized yet")
461+let dz = valueOrErrorMessage(getBinary(dr, dy), "Not initialized yet")
459462
460-let dz = 1
463+let dA = 1
461464
462-func dA () = "resTypesProportions"
465+func dB () = "resTypesProportions"
463466
464467
465-func dB (cf) = ("stakedLandsByOwner_" + cf)
468+func dC (cg) = ("stakedLandsByOwner_" + cg)
466469
467470
468-func dC (cf) = ("stakedPiecesByOwner_" + cf)
471+func dD (cg) = ("stakedPiecesByOwner_" + cg)
469472
470473
471-func dD (dE) = {
472- let cL = dE
473- if ($isInstanceOf(cL, "String"))
474+func dE (dF) = {
475+ let cM = dF
476+ if ($isInstanceOf(cM, "String"))
474477 then {
475- let dF = cL
476- dF
478+ let dG = cM
479+ dG
477480 }
478481 else throw("fail to cast into String")
479482 }
480483
481484
482-func dG (dE) = {
483- let cL = dE
484- if ($isInstanceOf(cL, "Int"))
485+func dH (dF) = {
486+ let cM = dF
487+ if ($isInstanceOf(cM, "Int"))
485488 then {
486- let dH = cL
487- dH
489+ let dI = cM
490+ dI
488491 }
489492 else throw("fail to cast into Int")
490493 }
491494
492495
493-func dI (dE) = {
494- let cL = dE
495- if ($isInstanceOf(cL, "Boolean"))
496+func dJ (dF) = {
497+ let cM = dF
498+ if ($isInstanceOf(cM, "Boolean"))
496499 then {
497- let dF = cL
498- dF
500+ let dG = cM
501+ dG
499502 }
500503 else throw("fail to cast into Boolean")
501504 }
502505
503506
504-func dJ (dK) = {
505- let cL = dK
506- if (("S" == cL))
507- then cR
508- else if (("M" == cL))
509- then cS
510- else if (("L" == cL))
511- then cT
512- else if (("XL" == cL))
513- then cU
514- else if (("XXL" == cL))
515- then cV
507+func dK (dL) = {
508+ let cM = dL
509+ if (("S" == cM))
510+ then cS
511+ else if (("M" == cM))
512+ then cT
513+ else if (("L" == cM))
514+ then cU
515+ else if (("XL" == cM))
516+ then cV
517+ else if (("XXL" == cM))
518+ then cW
516519 else throw("Unknown land size")
517520 }
518521
519522
520-func dL (ai) = {
521- let ak = split(valueOrElse(getString(aj, dA()), "0_0_0_0_0_0"), "_")
523+func dM (ai) = {
524+ let ak = split(valueOrElse(getString(aj, dB()), "0_0_0_0_0_0"), "_")
522525 func al (am,an) = (am + parseIntValue(an))
523526
524527 let ao = {
535538
536539 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
537540 }
538- let aw = valueOrElse(getInteger(aj, dC(ai)), 0)
541+ let aw = valueOrElse(getInteger(aj, dD(ai)), 0)
539542 [ao, aw]
540543 }
541544
542545
543-let dM = 500000
546+let dN = 500000
544547
545-let dN = [toString(this), {
546- let cL = cJ
547- if ((base58'2W' == cL))
548+let dO = [toString(this), {
549+ let cM = cK
550+ if ((base58'2W' == cM))
548551 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
549- else if ((base58'2T' == cL))
552+ else if ((base58'2T' == cM))
550553 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
551554 else throw("Unknown chain")
552555 }]
553556
554-func dO (dP) = {
555- let cL = dP
556- if ($isInstanceOf(cL, "List[Any]"))
557+func dP (dQ) = {
558+ let cM = dQ
559+ if ($isInstanceOf(cM, "List[Any]"))
557560 then {
558- let dQ = cL
559- if ((size(dQ) != bC))
560- then throw(("Array size is " + toString(size(dQ))))
561+ let dR = cM
562+ if ((size(dR) != bC))
563+ then throw(("Array size is " + toString(size(dR))))
561564 else {
562- func dR (am,an) = {
563- let dS = an
564- if ($isInstanceOf(dS, "Int"))
565+ func dS (am,an) = {
566+ let dT = an
567+ if ($isInstanceOf(dT, "Int"))
565568 then {
566- let dT = dS
567- (am :+ toString(dT))
569+ let dU = dT
570+ (am :+ toString(dU))
568571 }
569572 else throw("List type is not Int")
570573 }
571574
572- let dU = {
573- let ap = dQ
575+ let dV = {
576+ let ap = dR
574577 let aq = size(ap)
575578 let ar = nil
576579 func as (at,au) = if ((au >= aq))
577580 then at
578- else dR(at, ap[au])
581+ else dS(at, ap[au])
579582
580583 func av (at,au) = if ((au >= aq))
581584 then at
583586
584587 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
585588 }
586- makeString(dU, "_")
589+ makeString(dV, "_")
587590 }
588591 }
589592 else throw("fail to cast into List")
590593 }
591594
592595
593-func dV (dP) = {
594- let cL = dP
595- if ($isInstanceOf(cL, "(List[Any], List[Any])"))
596+func dW (dQ) = {
597+ let cM = dQ
598+ if ($isInstanceOf(cM, "(List[Any], List[Any])"))
596599 then {
597- let dW = cL
598- $Tuple2(dO(dW._1), dO(dW._2))
600+ let dX = cM
601+ $Tuple2(dP(dX._1), dP(dX._2))
599602 }
600603 else throw("fail to cast into (List, List)")
601604 }
602605
603606
604-func dX (dY) = {
605- let t = addressFromString(dY)
606- let dZ = if (isDefined(t))
607+func dY (dZ) = {
608+ let t = addressFromString(dZ)
609+ let ea = if (isDefined(t))
607610 then wavesBalance(value(t))
608611 else BalanceDetails(0, 0, 0, 0)
609- let ea = if (isDefined(t))
610- then assetBalance(value(t), cK)
612+ let eb = if (isDefined(t))
613+ then assetBalance(value(t), cL)
611614 else 0
612- let eb = if (isDefined(t))
613- then assetBalance(value(t), dy)
615+ let ec = if (isDefined(t))
616+ then assetBalance(value(t), dz)
614617 else 0
615- let ec = valueOrElse(getString(aj, bZ(dY)), dY)
616- let ed = ca(dY)
617- let ee = getString(aj, ed)
618- let ef = valueOrElse(getString(aj, cc(dY)), "")
619- let eg = valueOrElse(getString(aj, bO(dY)), "")
620- let eh = dL(dY)[dz]
621- let ei = valueOrElse(getInteger(aj, bu(dY)), 0)
622- let ej = valueOrElse(getInteger(aj, bv(dY)), 0)
623- let ek = valueOrElse(getInteger(aj, bw(dY)), 0)
624- let el = if (isDefined(ee))
618+ let ed = valueOrElse(getString(aj, ca(dZ)), dZ)
619+ let ee = cb(dZ)
620+ let ef = getString(aj, ee)
621+ let eg = valueOrElse(getString(aj, cd(dZ)), "")
622+ let eh = valueOrElse(getString(aj, bO(dZ)), "")
623+ let ei = dM(dZ)[dA]
624+ let ej = valueOrElse(getInteger(aj, bu(dZ)), 0)
625+ let ek = valueOrElse(getInteger(aj, bv(dZ)), 0)
626+ let el = valueOrElse(getInteger(aj, bw(dZ)), 0)
627+ let em = if (isDefined(ef))
625628 then (bB + (if (if (isDefined(t))
626- then isDefined(getString(aj, cb(dY)))
629+ then isDefined(getString(aj, cc(dZ)))
627630 else false)
628631 then ":1"
629632 else ":0"))
630633 else ""
631-[("%s%s__customName__" + ec), ("%s%s__referredBy__" + valueOrElse(ee, "")), ("%s%s__referrals__" + ef), ("%s%s__lastTxId__" + eg), ("%s%d__wavesBalance__" + toString(dZ.available)), ("%s%d__wlgoldBalance__" + toString(eb)), ("%s%d__usdtBalance__" + toString(ea)), ("%s%d__stakedPieces__" + toString(eh)), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__walletArtefacts__" + el)]
634+[("%s%s__customName__" + ed), ("%s%s__referredBy__" + valueOrElse(ef, "")), ("%s%s__referrals__" + eg), ("%s%s__lastTxId__" + eh), ("%s%d__wavesBalance__" + toString(ea.available)), ("%s%d__wlgoldBalance__" + toString(ec)), ("%s%d__usdtBalance__" + toString(eb)), ("%s%d__stakedPieces__" + toString(ei)), ("%s%d__currentXp__" + toString(ej)), ("%s%d__currentLvl__" + toString(ek)), ("%s%d__pointsToDistribute__" + toString(el)), ("%s%s__walletArtefacts__" + em)]
632635 }
633636
634637
635-func em (bX,eh) = {
636- let en = valueOrElse(getInteger(aj, bT(bX)), 0)
637- let eo = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
638- let ep = (en / 6)
639- let eq = (en / 7)
640- $Tuple3(en, eo, ((bD + fraction(bD, ((en + ep) + (2 * eq)), 5)) + fraction(bD, eo, (eh * 5))))
638+func en (bX,ei) = {
639+ let eo = valueOrElse(getInteger(aj, bT(bX)), 0)
640+ let ep = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
641+ let eq = (eo / 6)
642+ let er = (eo / 7)
643+ $Tuple3(eo, ep, ((bD + fraction(bD, ((eo + eq) + (2 * er)), 5)) + fraction(bD, ep, (ei * 5))))
641644 }
642645
643646
644-func er (es) = {
645- let et = split(es, "_")
646- ((bF * (parseIntValue(et[1]) + 1)) * parseIntValue(et[0]))
647+func es (et) = {
648+ let eu = split(et, "_")
649+ ((bF * (parseIntValue(eu[1]) + 1)) * parseIntValue(eu[0]))
647650 }
648651
649652
650-func eu (ev,ew,en) = {
651- let es = ((toString(ew) + "_") + toString(en))
652- let ex = toString(er(es))
653- let ey = valueOrElse(getString(aj, ev), ((((es + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ex) + "_") + ex))
654- split(ey, ":")
653+func ev (ew,ex,eo) = {
654+ let et = ((toString(ex) + "_") + toString(eo))
655+ let ey = toString(es(et))
656+ let ez = valueOrElse(getString(aj, ew), ((((et + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ey) + "_") + ey))
657+ split(ez, ":")
655658 }
656659
657660
658-func ez (bo) = {
659- let eA = by(valueOrElse(getInteger(aj, br(bo)), 0))
660- $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cg(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eA), dD(invoke(aj, "getBackpackREADONLY", [bo], nil)))
661+func eA (bo) = {
662+ let eB = by(valueOrElse(getInteger(aj, br(bo)), 0))
663+ $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, ch(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eB), dE(invoke(aj, "getBackpackREADONLY", [bo], nil)))
661664 }
662665
663666
664-func eB (bo,eC,eD) = {
665- let ec = valueOrElse(getString(aj, bY(bo)), eD._2)
666- let eE = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
667- let ei = valueOrElse(getInteger(aj, bq(bo)), 0)
668- let ej = valueOrElse(getInteger(aj, br(bo)), 0)
669- let ek = valueOrElse(getInteger(aj, bs(bo)), 0)
670- let eF = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
671- let eG = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
672-[("%s%s__assetId__" + bo), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eD._1)), ("%s%s__name__" + eD._2), ("%s%s__location__" + eD._3), ("%s%d__health__" + toString(eD._4)), ("%s%d__maxHealth__" + toString(by(ej))), ("%s%s__characteristics__" + eE), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__backPack__" + eD._5), ("%s%s__equipment__" + eF), ("%s%s__buffs__" + eG)]
667+func eC (bo,eD,eE) = {
668+ let ed = valueOrElse(getString(aj, bZ(bo)), eE._2)
669+ let eF = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
670+ let ej = valueOrElse(getInteger(aj, bq(bo)), 0)
671+ let ek = valueOrElse(getInteger(aj, br(bo)), 0)
672+ let el = valueOrElse(getInteger(aj, bs(bo)), 0)
673+ let eG = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
674+ let eH = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
675+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eD), ("%s%s__customName__" + ed), ("%s%d__stakedTime__" + toString(eE._1)), ("%s%s__name__" + eE._2), ("%s%s__location__" + eE._3), ("%s%d__health__" + toString(eE._4)), ("%s%d__maxHealth__" + toString(by(ek))), ("%s%s__characteristics__" + eF), ("%s%d__currentXp__" + toString(ej)), ("%s%d__currentLvl__" + toString(ek)), ("%s%d__pointsToDistribute__" + toString(el)), ("%s%s__backPack__" + eE._5), ("%s%s__equipment__" + eG), ("%s%s__buffs__" + eH)]
673676 }
674677
675678
676-func eH (bX,eC,eI) = if ((bX == ""))
679+func eI (bX,eD,eJ) = if ((bX == ""))
677680 then throw("landAssetId is required")
678681 else {
679- let eJ = value(assetInfo(fromBase58String(bX)))
680- let eK = split(eJ.description, "_")
681- let eL = if ((eJ.quantity > 0))
682- then eK[dt]
683- else ("-" + eK[dt])
684- let eh = dJ(eK[du])
685- let eM = em(bX, eh)
686- let eN = (lastBlock.timestamp - eI)
687- let eO = if ((eI > 0))
688- then fraction(eN, (eM._3 * eh), bE)
682+ let eK = value(assetInfo(fromBase58String(bX)))
683+ let eL = split(eK.description, "_")
684+ let eM = if ((eK.quantity > 0))
685+ then eL[du]
686+ else ("-" + eL[du])
687+ let ei = dK(eL[dv])
688+ let eN = en(bX, ei)
689+ let eO = (lastBlock.timestamp - eJ)
690+ let eP = if ((eJ > 0))
691+ then fraction(eO, (eN._3 * ei), bE)
689692 else 0
690- let eP = fraction(cN, (eh * (eM._1 + 1)), cR)
691- let eQ = if ((eI > 0))
692- then dV(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eP, eO, eK[dv]], nil))
693- else $Tuple2(dO(invoke(aj, "splitByGlobalWeightsREADONLY", [eP], nil)), "")
694- let ec = valueOrElse(getString(aj, bR(bX)), ((eK[dw] + "-") + eK[dt]))
695-[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eI)), ("%s%s__description__" + makeString([eL, eK[du], eK[dv], eK[dw]], "_")), ("%s%d__infraLevel__" + toString(eM._1)), ("%s%s__availResByType__" + eQ._2), ("%s%d__availResTotal__" + toString(eO)), ("%s%s__needMaterial__" + eQ._1), ("%s%s__landArtefacts__PRESALE:" + toString(eM._2)), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
693+ let eQ = fraction(cO, (ei * (eN._1 + 1)), cS)
694+ let eR = if ((eJ > 0))
695+ then dW(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eQ, eP, eL[dw]], nil))
696+ else $Tuple2(dP(invoke(aj, "splitByGlobalWeightsREADONLY", [eQ], nil)), "")
697+ let ed = valueOrElse(getString(aj, bR(bX)), ((eL[dx] + "-") + eL[du]))
698+ let eS = valueOrElse(getString(aj, bY(bX)), ":0_15:0_18:0")
699+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eD), ("%s%s__customName__" + ed), ("%s%d__stakedTime__" + toString(eJ)), ("%s%s__description__" + makeString([eM, eL[dv], eL[dw], eL[dx]], "_")), ("%s%d__infraLevel__" + toString(eN._1)), ("%s%s__availResByType__" + eR._2), ("%s%d__availResTotal__" + toString(eP)), ("%s%s__needMaterial__" + eR._1), ("%s%s__landArtefacts__PRESALE:" + toString(eN._2)), ("%s%s__warehouse__" + makeString(ev(bW(bX), (ei / cS), eN._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dp, cj(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:")), ("%s%s__fortifications__" + eS)]
696700 }
697701
698702
699-func eR (bX,eC) = if ((bX == ""))
703+func eT (bX,eD) = if ((bX == ""))
700704 then throw("landAssetId is required")
701705 else {
702- let eJ = value(assetInfo(fromBase58String(bX)))
703- let eK = split(eJ.description, "_")
704- let eh = dJ(eK[du])
705- let eM = em(bX, eh)
706-[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
706+ let eK = value(assetInfo(fromBase58String(bX)))
707+ let eL = split(eK.description, "_")
708+ let ei = dK(eL[dv])
709+ let eN = en(bX, ei)
710+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eD), ("%s%s__warehouse__" + makeString(ev(bW(bX), (ei / cS), eN._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dp, cj(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
707711 }
708712
709713
710-@Callable(eS)
711-func constructorV1 (az) = if ((eS.caller != this))
714+@Callable(eU)
715+func constructorV1 (az) = if ((eU.caller != this))
712716 then throw("permissions denied")
713717 else {
714- func eT (am,eU) = (am + "%s")
718+ func eV (am,eW) = (am + "%s")
715719
716- let eV = {
720+ let eX = {
717721 let ap = az
718722 let aq = size(ap)
719723 let ar = ""
720724 func as (at,au) = if ((au >= aq))
721725 then at
722- else eT(at, ap[au])
726+ else eV(at, ap[au])
723727
724728 func av (at,au) = if ((au >= aq))
725729 then at
727731
728732 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
729733 }
730-[StringEntry(dg(), makeString(eV :: az, cO)), StringEntry(dh(), toString(this))]
734+[StringEntry(dh(), makeString(eX :: az, cP)), StringEntry(di(), toString(this))]
731735 }
732736
733737
734738
735-@Callable(eS)
736-func walletInfoREADONLY (dY) = $Tuple2(nil, dX(dY))
739+@Callable(eU)
740+func walletInfoREADONLY (dZ) = $Tuple2(nil, dY(dZ))
737741
738742
739743
740-@Callable(eS)
741-func duckByOwnerInfoREADONLY (eW) = {
742- let eX = getString(aj, ce(eW))
743- $Tuple2(nil, if (if (isDefined(addressFromString(eW)))
744- then isDefined(eX)
744+@Callable(eU)
745+func duckByOwnerInfoREADONLY (eY) = {
746+ let eZ = getString(aj, cf(eY))
747+ $Tuple2(nil, if (if (isDefined(addressFromString(eY)))
748+ then isDefined(eZ)
745749 else false)
746750 then {
747- let bo = value(eX)
748- eB(bo, eW, ez(bo))
751+ let bo = value(eZ)
752+ eC(bo, eY, eA(bo))
749753 }
750- else eB("", eW, $Tuple5(-1, "", "", -1, "")))
754+ else eC("", eY, $Tuple5(-1, "", "", -1, "")))
751755 }
752756
753757
754758
755-@Callable(eS)
759+@Callable(eU)
756760 func duckByAssetIdInfoREADONLY (bo) = {
757- let eC = getString(aj, cd(bo))
758- $Tuple2(nil, eB(bo, if (isDefined(eC))
759- then value(eC)
760- else "", ez(bo)))
761+ let eD = getString(aj, ce(bo))
762+ $Tuple2(nil, eC(bo, if (isDefined(eD))
763+ then value(eD)
764+ else "", eA(bo)))
761765 }
762766
763767
764768
765-@Callable(eS)
769+@Callable(eU)
766770 func landByAssetIdInfoREADONLY (bX) = if ((bX == ""))
767771 then throw("landAssetId is required")
768772 else {
769- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
770- let eC = if ((eI > 0))
773+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
774+ let eD = if ((eJ > 0))
771775 then value(getString(aj, bP(bX)))
772776 else ""
773- $Tuple2(nil, eH(bX, eC, eI))
777+ $Tuple2(nil, eI(bX, eD, eJ))
774778 }
775779
776780
777781
778-@Callable(eS)
779-func stakedLandsByOwnerInfoREADONLY (eY) = if ((eY == ""))
782+@Callable(eU)
783+func stakedLandsByOwnerInfoREADONLY (fa) = if ((fa == ""))
780784 then throw("landOwnerAddress is required")
781785 else {
782- let eZ = getString(aj, dB(eY))
783- let fa = if (isDefined(eZ))
784- then split_51C(value(eZ), "_")
786+ let fb = getString(aj, dC(fa))
787+ let fc = if (isDefined(fb))
788+ then split_51C(value(fb), "_")
785789 else nil
786- func fb (am,bX) = if ((bX == ""))
790+ func fd (am,bX) = if ((bX == ""))
787791 then throw("landAssetId is required")
788792 else {
789- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
790- (am :+ eH(bX, eY, eI))
793+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
794+ (am :+ eI(bX, fa, eJ))
791795 }
792796
793- let dU = {
794- let ap = fa
797+ let dV = {
798+ let ap = fc
795799 let aq = size(ap)
796800 let ar = nil
797801 func as (at,au) = if ((au >= aq))
798802 then at
799- else fb(at, ap[au])
803+ else fd(at, ap[au])
800804
801805 func av (at,au) = if ((au >= aq))
802806 then at
804808
805809 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
806810 }
807- $Tuple2(nil, dU)
811+ $Tuple2(nil, dV)
808812 }
809813
810814
811815
812-@Callable(eS)
813-func landsByIdsInfoREADONLY (fc) = {
814- func fb (am,bX) = if ((bX == ""))
816+@Callable(eU)
817+func landsByIdsInfoREADONLY (fe) = {
818+ func fd (am,bX) = if ((bX == ""))
815819 then throw("landAssetId is required")
816820 else {
817- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
818- let eC = if ((eI > 0))
821+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
822+ let eD = if ((eJ > 0))
819823 then value(getString(aj, bP(bX)))
820824 else ""
821- (am :+ eH(bX, eC, eI))
825+ (am :+ eI(bX, eD, eJ))
822826 }
823827
824- let dU = {
825- let ap = fc
828+ let dV = {
829+ let ap = fe
826830 let aq = size(ap)
827831 let ar = nil
828832 func as (at,au) = if ((au >= aq))
829833 then at
830- else fb(at, ap[au])
834+ else fd(at, ap[au])
831835
832836 func av (at,au) = if ((au >= aq))
833837 then at
835839
836840 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
837841 }
838- $Tuple2(nil, dU)
842+ $Tuple2(nil, dV)
839843 }
840844
841845
842846
843-@Callable(eS)
847+@Callable(eU)
844848 func warehouseOrderByAssetIdInfoREADONLY (bX) = if ((bX == ""))
845849 then throw("landAssetId is required")
846850 else {
847- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
848- let eC = if ((eI > 0))
851+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
852+ let eD = if ((eJ > 0))
849853 then value(getString(aj, bP(bX)))
850854 else ""
851- $Tuple2(nil, eR(bX, eC))
855+ $Tuple2(nil, eT(bX, eD))
852856 }
853857
854858
855859
856-@Callable(eS)
857-func ordersByLandIdsInfoREADONLY (fc) = {
858- func fb (am,bX) = if ((bX == ""))
860+@Callable(eU)
861+func ordersByLandIdsInfoREADONLY (fe) = {
862+ func fd (am,bX) = if ((bX == ""))
859863 then throw("landAssetId is required")
860864 else {
861- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
862- let eC = if ((eI > 0))
865+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
866+ let eD = if ((eJ > 0))
863867 then value(getString(aj, bP(bX)))
864868 else ""
865- (am :+ eR(bX, eC))
869+ (am :+ eT(bX, eD))
866870 }
867871
868- let dU = {
869- let ap = fc
872+ let dV = {
873+ let ap = fe
870874 let aq = size(ap)
871875 let ar = nil
872876 func as (at,au) = if ((au >= aq))
873877 then at
874- else fb(at, ap[au])
878+ else fd(at, ap[au])
875879
876880 func av (at,au) = if ((au >= aq))
877881 then at
879883
880884 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
881885 }
882- $Tuple2(nil, dU)
886+ $Tuple2(nil, dV)
883887 }
884888
885889
886890
887-@Callable(eS)
888-func cancelWarehouseOrders (fc) = if ((eS.caller != this))
891+@Callable(eU)
892+func cancelWarehouseOrders (fe) = if ((eU.caller != this))
889893 then throw("permission denied")
890894 else {
891- let fd = getBoolean(aj, ch())
892- if (if (!(isDefined(fd)))
895+ let ff = getBoolean(aj, ci())
896+ if (if (!(isDefined(ff)))
893897 then true
894- else (value(fd) == false))
898+ else (value(ff) == false))
895899 then throw("Contracts should be blocked before canceling orders")
896900 else {
897- func fb (eJ,bX) = if ((bX == ""))
901+ func fd (eK,bX) = if ((bX == ""))
898902 then throw("landAssetId is required")
899903 else {
900- let fe = dI(invoke(do, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bX], nil))
901- if (if (eJ)
904+ let fg = dJ(invoke(dp, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bX], nil))
905+ if (if (eK)
902906 then true
903- else fe)
904- then !(if (eJ)
905- then fe
907+ else fg)
908+ then !(if (eK)
909+ then fg
906910 else false)
907911 else false
908912 }
909913
910- let dU = {
911- let ap = fc
914+ let dV = {
915+ let ap = fe
912916 let aq = size(ap)
913917 let ar = false
914918 func as (at,au) = if ((au >= aq))
915919 then at
916- else fb(at, ap[au])
920+ else fd(at, ap[au])
917921
918922 func av (at,au) = if ((au >= aq))
919923 then at
921925
922926 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
923927 }
924- $Tuple2(nil, dU)
928+ $Tuple2(nil, dV)
925929 }
926930 }
927931
928932
929933
930-@Callable(eS)
931-func fixWarehouseFormats (fc) = if ((eS.caller != this))
934+@Callable(eU)
935+func fixWarehouseFormats (fe) = if ((eU.caller != this))
932936 then throw("permission denied")
933937 else {
934- func fb (am,bX) = if ((bX == ""))
938+ func fd (am,bX) = if ((bX == ""))
935939 then throw("landAssetId is required")
936- else (am + size(dD(invoke(aj, "fixWarehouseFormat", [bX], nil))))
940+ else (am + size(dE(invoke(aj, "fixWarehouseFormat", [bX], nil))))
937941
938- let dU = {
939- let ap = fc
942+ let dV = {
943+ let ap = fe
940944 let aq = size(ap)
941945 let ar = 0
942946 func as (at,au) = if ((au >= aq))
943947 then at
944- else fb(at, ap[au])
948+ else fd(at, ap[au])
945949
946950 func av (at,au) = if ((au >= aq))
947951 then at
949953
950954 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
951955 }
952- $Tuple2(nil, dU)
956+ $Tuple2(nil, dV)
953957 }
954958
955959
956960
957-@Callable(eS)
958-func fixStakedPieces (ff) = if ((eS.caller != this))
961+@Callable(eU)
962+func fixStakedPieces (fh) = if ((eU.caller != this))
959963 then throw("permission denied")
960964 else {
961- func fg (am,t) = if ((t == ""))
965+ func fi (am,t) = if ((t == ""))
962966 then throw("address is required")
963- else (am + dG(invoke(aj, "fixStakedPieces", [t], nil)))
967+ else (am + dH(invoke(aj, "fixStakedPieces", [t], nil)))
964968
965- let dU = {
966- let ap = ff
969+ let dV = {
970+ let ap = fh
967971 let aq = size(ap)
968972 let ar = 0
969973 func as (at,au) = if ((au >= aq))
970974 then at
971- else fg(at, ap[au])
975+ else fi(at, ap[au])
972976
973977 func av (at,au) = if ((au >= aq))
974978 then at
976980
977981 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
978982 }
979- $Tuple2(nil, dU)
983+ $Tuple2(nil, dV)
980984 }
981985
982986
983987
984-@Callable(eS)
985-func fixStakedLands (fc) = {
986- let fh = toString(eS.caller)
987- if (!(containsElement(dN, fh)))
988+@Callable(eU)
989+func fixStakedLands (fe) = {
990+ let fj = toString(eU.caller)
991+ if (!(containsElement(dO, fj)))
988992 then throw("Permission denied")
989993 else {
990- let dU = dG(invoke(aj, "fixContinentProportions", [fc], nil))
991- $Tuple2(nil, dU)
994+ let dV = dH(invoke(aj, "fixContinentProportions", [fe], nil))
995+ $Tuple2(nil, dV)
992996 }
993997 }
994998
995999
9961000
997-@Callable(eS)
998-func sendUsdtPrize (eW) = if ((eS.caller != aj))
1001+@Callable(eU)
1002+func sendUsdtPrize (eY) = if ((eU.caller != aj))
9991003 then throw("permission denied")
10001004 else {
1001- let fi = fraction(assetBalance(this, cK), dM, cP)
1002- $Tuple2([ScriptTransfer(addressFromStringValue(eW), fi, cK)], fi)
1005+ let fk = fraction(assetBalance(this, cL), dN, cQ)
1006+ $Tuple2([ScriptTransfer(addressFromStringValue(eY), fk, cL)], fk)
10031007 }
10041008
10051009
10061010
1007-@Callable(eS)
1011+@Callable(eU)
10081012 func getEmergencyServiceDataREADONLY () = {
1009- let fj = getString(do, cj())
1010- let fk = if (isDefined(fj))
1011- then split_4C(value(fj), "_")
1013+ let fl = getString(dp, ck())
1014+ let fm = if (isDefined(fl))
1015+ then split_4C(value(fl), "_")
10121016 else nil
1013- func fl (am,fm) = {
1014- let dH = am._2
1015- let cI = split(fm, "_")
1016- let fn = if ((dH == 0))
1017+ func fn (am,fo) = {
1018+ let dI = am._2
1019+ let cJ = split(fo, "_")
1020+ let fp = if ((dI == 0))
10171021 then (bH * bN)
10181022 else 0
1019- let fo = if ((size(fk) > dH))
1020- then parseIntValue(fk[dH])
1023+ let fq = if ((size(fm) > dI))
1024+ then parseIntValue(fm[dI])
10211025 else 0
1022- let fp = cH(cI)
1023- let fq = fraction((fp * bI), bG, (cQ * bN))
1024- let fr = fraction((fp * bJ), bG, (cQ * bN))
1025- let fs = makeString([toString(fn), toString(fo), toString(fq), toString(fr)], "_")
1026- $Tuple2((am._1 :+ fs), (dH + 1))
1026+ let fr = cI(cJ)
1027+ let fs = fraction((fr * bI), bG, (cR * bN))
1028+ let ft = fraction((fr * bJ), bG, (cR * bN))
1029+ let fu = makeString([toString(fp), toString(fq), toString(fs), toString(ft)], "_")
1030+ $Tuple2((am._1 :+ fu), (dI + 1))
10271031 }
10281032
1029- let dF = makeString_2C(( let ap = bL
1033+ let dG = makeString_2C(( let ap = bL
10301034 let aq = size(ap)
10311035 let ar = $Tuple2(nil, 0)
10321036 func as (at,au) = if ((au >= aq))
10331037 then at
1034- else fl(at, ap[au])
1038+ else fn(at, ap[au])
10351039
10361040 func av (at,au) = if ((au >= aq))
10371041 then at
10381042 else throw("List size exceeds 50")
10391043
10401044 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
1041- let ft = ("%s%s__emergencyServiceData__" + dF)
1042- $Tuple2(nil, ft)
1045+ let fv = ("%s%s__emergencyServiceData__" + dG)
1046+ $Tuple2(nil, fv)
10431047 }
10441048
10451049
10461050
1047-@Callable(eS)
1051+@Callable(eU)
10481052 func wlgStatsREADONLY (ay) = {
1049- let fu = ax(ay, [dn, aj, do, dp, dq, dr, aH], cK, 0)
1050- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fu[z])), ("%s%s%d__wlgPrice__" + toString(fu[A])), ("%s%s%d__usdtFunds__" + toString(fu[B])), ("%s%s%d__usdtEconomy__" + toString(fu[C])), ("%s%s%d__usdtActivity__" + toString(fu[D])), ("%s%s%d__usdtArbitrage__" + toString(fu[E])), ("%s%s%d__usdtPool__" + toString(fu[F])), ("%s%s%d__wlgIssueTime__" + toString(fu[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fu[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fu[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fu[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fu[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fu[L])), ("%s%s%d__wlgTeamTotal__" + toString(fu[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fu[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fu[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fu[P])), ("%s%s%d__wlgActTotal__" + toString(fu[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fu[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fu[S])), ("%s%s%d__wlgActWlgold__" + toString(fu[T])), ("%s%s%d__wlgCurPeriod__" + toString(fu[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fu[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fu[W])), ("%s%s%d__wlgLastUserTime__" + toString(fu[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fu[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fu[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fu[aa]))])
1053+ let fw = ax(ay, [do, aj, dp, dq, dr, ds, aH], cL, 0)
1054+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fw[z])), ("%s%s%d__wlgPrice__" + toString(fw[A])), ("%s%s%d__usdtFunds__" + toString(fw[B])), ("%s%s%d__usdtEconomy__" + toString(fw[C])), ("%s%s%d__usdtActivity__" + toString(fw[D])), ("%s%s%d__usdtArbitrage__" + toString(fw[E])), ("%s%s%d__usdtPool__" + toString(fw[F])), ("%s%s%d__wlgIssueTime__" + toString(fw[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fw[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fw[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fw[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fw[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fw[L])), ("%s%s%d__wlgTeamTotal__" + toString(fw[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fw[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fw[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fw[P])), ("%s%s%d__wlgActTotal__" + toString(fw[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fw[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fw[S])), ("%s%s%d__wlgActWlgold__" + toString(fw[T])), ("%s%s%d__wlgCurPeriod__" + toString(fw[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fw[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fw[W])), ("%s%s%d__wlgLastUserTime__" + toString(fw[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fw[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fw[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fw[aa]))])
10511055 }
10521056
10531057
10541058
1055-@Callable(eS)
1056-func tournamentStatsREADONLY (fv) = {
1057- let fw = cr(ds, fv)
1058- let ct = fw[cp]
1059- let cu = fw[cq]
1060- let fx = if ((cu[cA] == ""))
1059+@Callable(eU)
1060+func tournamentStatsREADONLY (fx) = {
1061+ let fy = cs(dt, fx)
1062+ let cu = fy[cq]
1063+ let cv = fy[cr]
1064+ let fz = if ((cv[cB] == ""))
10611065 then " "
1062- else cu[cA]
1063- let fy = valueOrElse(getString(ds, co(fv)), "")
1064- $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
1066+ else cv[cB]
1067+ let fA = valueOrElse(getString(dt, cp(fx)), "")
1068+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cu[cw], cu[cx], cu[cy], cu[cz]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cv[cA], fz, cv[cC], cv[cD], cv[cE]], "_")), ("%s%s__tournamentRegistrants__" + fA)])
10651069 }
10661070
10671071
10681072
1069-@Callable(eS)
1073+@Callable(eU)
10701074 func lastTournamentStatsREADONLY () = {
1071- let fv = valueOrElse(getInteger(ds, ck), 0)
1072- let ct = split(valueOrElse(getString(ds, cl(fv)), "%s%d%d%d%d%d____________"), cO)
1073- let cu = split(valueOrElse(getString(ds, cn(fv)), "%s%s%d%d%d__________"), cO)
1074- let fx = if ((cu[cA] == ""))
1075+ let fx = valueOrElse(getInteger(dt, cl), 0)
1076+ let cu = split(valueOrElse(getString(dt, cm(fx)), "%s%d%d%d%d%d____________"), cP)
1077+ let cv = split(valueOrElse(getString(dt, co(fx)), "%s%s%d%d%d__________"), cP)
1078+ let fz = if ((cv[cB] == ""))
10751079 then " "
1076- else cu[cA]
1077- let fy = valueOrElse(getString(ds, co(fv)), "")
1078- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fv)), ("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
1080+ else cv[cB]
1081+ let fA = valueOrElse(getString(dt, cp(fx)), "")
1082+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fx)), ("%s%s__tournamentStaticData__" + makeString([cu[cw], cu[cx], cu[cy], cu[cz]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cv[cA], fz, cv[cC], cv[cD], cv[cE]], "_")), ("%s%s__tournamentRegistrants__" + fA)])
10791083 }
10801084
10811085
10821086
1083-@Callable(eS)
1084-func tournamentDuckStatsREADONLY (cm,bo) = {
1085- let fz = valueOrElse(getBoolean(ds, cE(cm, bo)), false)
1086- let fA = valueOrElse(getInteger(ds, cF(cm, bo)), 0)
1087- let fB = valueOrElse(getInteger(ds, cG(cm, bo)), 0)
1088- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fz), toString(fA), toString(fB)], "_"))])
1087+@Callable(eU)
1088+func tournamentDuckStatsREADONLY (cn,bo) = {
1089+ let fB = valueOrElse(getBoolean(dt, cF(cn, bo)), false)
1090+ let fC = valueOrElse(getInteger(dt, cG(cn, bo)), 0)
1091+ let fD = valueOrElse(getInteger(dt, cH(cn, bo)), 0)
1092+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fB), toString(fC), toString(fD)], "_"))])
10891093 }
10901094
10911095
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000000
55
66 let b = 100000000
77
88 let c = 100000000000000
99
1010 let d = 100000
1111
1212 let e = 200000
1313
1414 let f = 100000
1515
1616 let g = 400000
1717
1818 let h = 31557600000
1919
2020 let i = 86400000
2121
2222 let j = "marketingAddr"
2323
2424 let k = "teamAddr"
2525
2626 let l = "lastClaimedTime_marketing"
2727
2828 let m = "marketingAmountLeft"
2929
3030 let n = "lastClaimedTime_team"
3131
3232 let o = "teamAmountLeft"
3333
3434 let p = "lastClaimedTime_activities"
3535
3636 let q = "activitiesAmountLeft"
3737
3838 let r = "stakersAmountLeft"
3939
4040 func s (t) = ("lastClaimedTimeUser_" + t)
4141
4242
4343 func u (v) = fraction(c, (g * (v + 1)), (6 * a))
4444
4545
4646 let w = "wlg_issueTime"
4747
4848 let x = "wlg_issuedAmount"
4949
5050 let y = "zbill_issuedAmount"
5151
5252 let z = 0
5353
5454 let A = 1
5555
5656 let B = 2
5757
5858 let C = 3
5959
6060 let D = 4
6161
6262 let E = 5
6363
6464 let F = 6
6565
6666 let G = 7
6767
6868 let H = 8
6969
7070 let I = 9
7171
7272 let J = 10
7373
7474 let K = 11
7575
7676 let L = 12
7777
7878 let M = 13
7979
8080 let N = 14
8181
8282 let O = 15
8383
8484 let P = 16
8585
8686 let Q = 17
8787
8888 let R = 18
8989
9090 let S = 19
9191
9292 let T = 20
9393
9494 let U = 21
9595
9696 let V = 22
9797
9898 let W = 23
9999
100100 let X = 24
101101
102102 let Y = 25
103103
104104 let Z = 26
105105
106106 let aa = 27
107107
108108 let ab = 0
109109
110110 let ac = 1
111111
112112 let ad = 2
113113
114114 let ae = 4
115115
116116 let af = 5
117117
118118 let ag = 6
119119
120120 func ah (ai,aj) = {
121121 let ak = split(valueOrElse(getString(aj, "resTypesProportions"), "0_0_0_0_0_0"), "_")
122122 func al (am,an) = (am + parseIntValue(an))
123123
124124 let ao = {
125125 let ap = ak
126126 let aq = size(ap)
127127 let ar = 0
128128 func as (at,au) = if ((au >= aq))
129129 then at
130130 else al(at, ap[au])
131131
132132 func av (at,au) = if ((au >= aq))
133133 then at
134134 else throw("List size exceeds 6")
135135
136136 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
137137 }
138138 let aw = valueOrElse(getInteger(aj, ("stakedPiecesByOwner_" + ai)), 0)
139139 [ao, aw]
140140 }
141141
142142
143143 func ax (ay,az,aA,aB) = {
144144 let aC = valueOrErrorMessage(getInteger(az[ae], x), "WLGOLD is not issued yet")
145145 let aD = assetBalance(az[ad], aA)
146146 let aE = assetBalance(az[ab], aA)
147147 let aF = (assetBalance(az[ae], aA) - aB)
148148 let aG = assetBalance(az[af], aA)
149149 let aH = az[ag]
150150 let aI = (assetBalance(aH, aA) + valueOrElse(getInteger(aH, y), 0))
151151 let aJ = ((aD + aF) + aI)
152152 let aK = valueOrErrorMessage(getBinary(az[ae], "wlg_assetId"), "Not initialized yet")
153153 let aL = lastBlock.timestamp
154154 let aM = valueOrErrorMessage(getInteger(az[ae], w), "Not initialized")
155155 let aN = fraction(c, d, a)
156156 let aO = valueOrElse(getInteger(az[ae], m), aN)
157157 let aP = valueOrElse(getInteger(az[ae], l), aM)
158158 let aQ = addressFromStringValue(value(getString(az[ae], j)))
159159 let aR = min([fraction(aN, (aL - aP), h), aO])
160160 let aS = assetBalance(aQ, aK)
161161 let aT = fraction(c, e, a)
162162 let aU = valueOrElse(getInteger(az[ae], o), aT)
163163 let aV = valueOrElse(getInteger(az[ae], n), aM)
164164 let aW = addressFromStringValue(value(getString(az[ae], k)))
165165 let aX = min([fraction(aT, (aL - aV), (3 * h)), aU])
166166 let aY = assetBalance(aW, aK)
167167 let aZ = fraction(c, f, a)
168168 let ba = valueOrElse(getInteger(az[ae], q), aZ)
169169 let bb = valueOrElse(getInteger(az[ae], p), aM)
170170 let bc = min([fraction(aZ, (aL - bb), (3 * h)), ba])
171171 let bd = assetBalance(az[ab], aK)
172172 let be = valueOrElse(getInteger(az[ae], s(ay)), aM)
173173 let bf = ((be - aM) / h)
174174 let bg = min([aL, (aM + (3 * h))])
175175 let bh = min([((aL - aM) / h), 2])
176176 let bi = ah(ay, az[ac])
177177 let bj = u(bh)
178178 let bk = fraction(if ((bf == bh))
179179 then fraction(bj, (bg - be), h)
180180 else if ((bf == (bh - 1)))
181181 then (fraction(u((bh - 1)), ((aM + (h * bh)) - be), h) + fraction(bj, (bg - (aM + (h * bh))), h))
182182 else ((fraction(u((bh - 2)), ((aM + (h * (bh - 1))) - be), h) + u((bh - 1))) + fraction(bj, (bg - (aM + (h * bh))), h)), bi[1], bi[0])
183183 let bl = fraction(fraction(bj, i, h), 25, bi[0])
184184 let bm = valueOrElse(getInteger(az[ae], r), 0)
185185 [aC, fraction(aJ, b, aC), aJ, aD, aE, aF, aG, aM, aP, aN, aO, aR, aS, aT, aU, aX, aY, aZ, ba, bc, bd, bh, bm, bj, be, bk, bl, aI]
186186 }
187187
188188
189189 func bn (bo) = ("duckHealth_" + bo)
190190
191191
192192 func bp (bo) = ("duckChars_" + bo)
193193
194194
195195 func bq (bo) = ("duckXP_" + bo)
196196
197197
198198 func br (bo) = ("duckLevel_" + bo)
199199
200200
201201 func bs (bo) = ("duckFreePoints_" + bo)
202202
203203
204204 func bt (bo) = ("duckEquipment_" + bo)
205205
206206
207207 func bu (t) = ("userXP_" + t)
208208
209209
210210 func bv (t) = ("userLevel_" + t)
211211
212212
213213 func bw (t) = ("userFreePoints_" + t)
214214
215215
216216 func bx (bo) = ("duckBuffs_" + bo)
217217
218218
219219 func by (bz) = (100 + bz)
220220
221221
222222 let bA = "PRESALE"
223223
224224 let bB = "ONBOARD"
225225
226226 let bC = 6
227227
228228 let bD = 3456000
229229
230230 let bE = 86400000
231231
232232 let bF = 10000000000
233233
234234 let bG = 39637
235235
236236 let bH = 3
237237
238238 let bI = 4
239239
240240 let bJ = 10
241241
242242 let bK = 10000000
243243
244244 let bL = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
245245
246246 let bM = 6
247247
248248 let bN = 10
249249
250250 func bO (t) = ("lastTxIdByUser_" + t)
251251
252252
253253 func bP (bQ) = ("nftOwner_" + bQ)
254254
255255
256256 func bR (bQ) = ("landCustomNameByAssetId_" + bQ)
257257
258258
259259 func bS (bQ) = ("stakedTime_" + bQ)
260260
261261
262262 func bT (bQ) = ("infraLevel_" + bQ)
263263
264264
265265 func bU (bV,bQ) = makeString(["landArtStatus", bV, bQ], "_")
266266
267267
268268 func bW (bX) = ("wareHouse_" + bX)
269269
270270
271-func bY (bQ) = ("duckCustomNameByAssetId_" + bQ)
271+func bY (bX) = ("fortifications_" + bX)
272272
273273
274-func bZ (t) = ("accountCustomNameByAddr_" + t)
274+func bZ (bQ) = ("duckCustomNameByAssetId_" + bQ)
275275
276276
277-func ca (t) = ("accRefBy_" + t)
277+func ca (t) = ("accountCustomNameByAddr_" + t)
278278
279279
280-func cb (t) = ("onboardArtActivatedDuckBy_" + t)
280+func cb (t) = ("accRefBy_" + t)
281281
282282
283-func cc (t) = ("accReferrals_" + t)
283+func cc (t) = ("onboardArtActivatedDuckBy_" + t)
284284
285285
286-func cd (bQ) = ("duckOwner_" + bQ)
286+func cd (t) = ("accReferrals_" + t)
287287
288288
289-func ce (cf) = ("stakedDuckByOwner_" + cf)
289+func ce (bQ) = ("duckOwner_" + bQ)
290290
291291
292-func cg (bo) = ("duckLocation_" + bo)
292+func cf (cg) = ("stakedDuckByOwner_" + cg)
293293
294294
295-func ch () = "contractsBlocked"
295+func ch (bo) = ("duckLocation_" + bo)
296296
297297
298-func ci (bX) = ("landOrder_" + bX)
298+func ci () = "contractsBlocked"
299299
300300
301-func cj () = "emergencyWarehouseProducts"
301+func cj (bX) = ("landOrder_" + bX)
302302
303303
304-let ck = "%s__lastTourId"
305-
306-func cl (cm) = ("%s%d__tourStaticData__" + toString(cm))
304+func ck () = "emergencyWarehouseProducts"
307305
308306
309-func cn (cm) = ("%s%d__tourDynamicData__" + toString(cm))
307+let cl = "%s__lastTourId"
308+
309+func cm (cn) = ("%s%d__tourStaticData__" + toString(cn))
310310
311311
312-func co (cm) = ("%s%d__allRegistrants__" + toString(cm))
312+func co (cn) = ("%s%d__tourDynamicData__" + toString(cn))
313313
314314
315-let cp = 0
315+func cp (cn) = ("%s%d__allRegistrants__" + toString(cn))
316316
317-let cq = 1
318317
319-func cr (cs,cm) = {
320- let ct = split(valueOrErrorMessage(getString(cs, cl(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
321- let cu = split(valueOrErrorMessage(getString(cs, cn(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
322-[ct, cu]
318+let cq = 0
319+
320+let cr = 1
321+
322+func cs (ct,cn) = {
323+ let cu = split(valueOrErrorMessage(getString(ct, cm(cn)), (("Error reading tournament " + toString(cn)) + " data")), "__")
324+ let cv = split(valueOrErrorMessage(getString(ct, co(cn)), (("Error reading tournament " + toString(cn)) + " data")), "__")
325+[cu, cv]
323326 }
324327
325328
326-let cv = 2
329+let cw = 2
327330
328-let cw = 3
331+let cx = 3
329332
330-let cx = 5
333+let cy = 5
331334
332-let cy = 6
335+let cz = 6
333336
334-let cz = 1
337+let cA = 1
335338
336-let cA = 2
339+let cB = 2
337340
338-let cB = 3
341+let cC = 3
339342
340-let cC = 4
343+let cD = 4
341344
342-let cD = 5
345+let cE = 5
343346
344-func cE (cm,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cm), bo], "__")
347+func cF (cn,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cn), bo], "__")
345348
346349
347-func cF (cm,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cm), bo], "__")
350+func cG (cn,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cn), bo], "__")
348351
349352
350-func cG (cm,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cm), bo], "__")
353+func cH (cn,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cn), bo], "__")
351354
352355
353-func cH (cI) = (parseIntValue(cI[bM]) * bK)
356+func cI (cJ) = (parseIntValue(cJ[bM]) * bK)
354357
355358
356-let cJ = take(drop(this.bytes, 1), 1)
359+let cK = take(drop(this.bytes, 1), 1)
357360
358-let cK = {
359- let cL = cJ
360- if ((base58'2W' == cL))
361+let cL = {
362+ let cM = cK
363+ if ((base58'2W' == cM))
361364 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
362- else if ((base58'2T' == cL))
365+ else if ((base58'2T' == cM))
363366 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
364367 else throw("Unknown chain")
365368 }
366369
367-let cM = {
368- let cL = cJ
369- if ((base58'2W' == cL))
370+let cN = {
371+ let cM = cK
372+ if ((base58'2W' == cM))
370373 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
371- else if ((base58'2T' == cL))
374+ else if ((base58'2T' == cM))
372375 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
373376 else throw("Unknown chain")
374377 }
375378
376-let cN = {
377- let cL = cJ
378- if ((base58'2W' == cL))
379+let cO = {
380+ let cM = cK
381+ if ((base58'2W' == cM))
379382 then 10000000000
380- else if ((base58'2T' == cL))
383+ else if ((base58'2T' == cM))
381384 then 100000000
382385 else throw("Unknown chain")
383386 }
384387
385-let cO = "__"
388+let cP = "__"
386389
387-let cP = 1000000
390+let cQ = 1000000
388391
389-let cQ = 100000000
392+let cR = 100000000
390393
391-let cR = 25
394+let cS = 25
392395
393-let cS = 100
396+let cT = 100
394397
395-let cT = 225
398+let cU = 225
396399
397-let cU = 400
400+let cV = 400
398401
399-let cV = 625
402+let cW = 625
400403
401-func cW (cX,cY) = valueOrErrorMessage(getString(cX, cY), makeString(["mandatory ", toString(cX), ".", cY, " is not defined"], ""))
404+func cX (cY,cZ) = valueOrErrorMessage(getString(cY, cZ), makeString(["mandatory ", toString(cY), ".", cZ, " is not defined"], ""))
402405
403406
404-let cZ = 1
407+let da = 1
405408
406-let da = 2
409+let db = 2
407410
408-let db = 3
411+let dc = 3
409412
410-let dc = 4
413+let dd = 4
411414
412-let dd = 5
415+let de = 5
413416
414-let de = 6
417+let df = 6
415418
416-let df = 7
419+let dg = 7
417420
418-func dg () = "%s__restConfig"
421+func dh () = "%s__restConfig"
419422
420423
421-func dh () = "%s__restAddr"
424+func di () = "%s__restAddr"
422425
423426
424-func di (dj) = split_4C(cW(dj, dg()), cO)
427+func dj (dk) = split_4C(cX(dk, dh()), cP)
425428
426429
427-func dk (dl,dm) = valueOrErrorMessage(addressFromString(dl[dm]), ("Rest cfg doesn't contain address at index " + toString(dm)))
430+func dl (dm,dn) = valueOrErrorMessage(addressFromString(dm[dn]), ("Rest cfg doesn't contain address at index " + toString(dn)))
428431
429432
430-let dn = addressFromStringValue(valueOrElse(getString(this, dh()), cM))
433+let do = addressFromStringValue(valueOrElse(getString(this, di()), cN))
431434
432-let dl = di(dn)
435+let dm = dj(do)
433436
434-let aj = dk(dl, cZ)
437+let aj = dl(dm, da)
435438
436-let do = dk(dl, da)
439+let dp = dl(dm, db)
437440
438-let dp = dk(dl, db)
441+let dq = dl(dm, dc)
439442
440-let dq = dk(dl, dc)
443+let dr = dl(dm, dd)
441444
442-let dr = dk(dl, dd)
445+let ds = dl(dm, de)
443446
444-let aH = dk(dl, de)
447+let aH = dl(dm, df)
445448
446-let ds = dk(dl, df)
449+let dt = dl(dm, dg)
447450
448-let dt = 0
451+let du = 0
449452
450-let du = 1
453+let dv = 1
451454
452-let dv = 2
455+let dw = 2
453456
454-let dw = 3
457+let dx = 3
455458
456-let dx = "wlg_assetId"
459+let dy = "wlg_assetId"
457460
458-let dy = valueOrErrorMessage(getBinary(dq, dx), "Not initialized yet")
461+let dz = valueOrErrorMessage(getBinary(dr, dy), "Not initialized yet")
459462
460-let dz = 1
463+let dA = 1
461464
462-func dA () = "resTypesProportions"
465+func dB () = "resTypesProportions"
463466
464467
465-func dB (cf) = ("stakedLandsByOwner_" + cf)
468+func dC (cg) = ("stakedLandsByOwner_" + cg)
466469
467470
468-func dC (cf) = ("stakedPiecesByOwner_" + cf)
471+func dD (cg) = ("stakedPiecesByOwner_" + cg)
469472
470473
471-func dD (dE) = {
472- let cL = dE
473- if ($isInstanceOf(cL, "String"))
474+func dE (dF) = {
475+ let cM = dF
476+ if ($isInstanceOf(cM, "String"))
474477 then {
475- let dF = cL
476- dF
478+ let dG = cM
479+ dG
477480 }
478481 else throw("fail to cast into String")
479482 }
480483
481484
482-func dG (dE) = {
483- let cL = dE
484- if ($isInstanceOf(cL, "Int"))
485+func dH (dF) = {
486+ let cM = dF
487+ if ($isInstanceOf(cM, "Int"))
485488 then {
486- let dH = cL
487- dH
489+ let dI = cM
490+ dI
488491 }
489492 else throw("fail to cast into Int")
490493 }
491494
492495
493-func dI (dE) = {
494- let cL = dE
495- if ($isInstanceOf(cL, "Boolean"))
496+func dJ (dF) = {
497+ let cM = dF
498+ if ($isInstanceOf(cM, "Boolean"))
496499 then {
497- let dF = cL
498- dF
500+ let dG = cM
501+ dG
499502 }
500503 else throw("fail to cast into Boolean")
501504 }
502505
503506
504-func dJ (dK) = {
505- let cL = dK
506- if (("S" == cL))
507- then cR
508- else if (("M" == cL))
509- then cS
510- else if (("L" == cL))
511- then cT
512- else if (("XL" == cL))
513- then cU
514- else if (("XXL" == cL))
515- then cV
507+func dK (dL) = {
508+ let cM = dL
509+ if (("S" == cM))
510+ then cS
511+ else if (("M" == cM))
512+ then cT
513+ else if (("L" == cM))
514+ then cU
515+ else if (("XL" == cM))
516+ then cV
517+ else if (("XXL" == cM))
518+ then cW
516519 else throw("Unknown land size")
517520 }
518521
519522
520-func dL (ai) = {
521- let ak = split(valueOrElse(getString(aj, dA()), "0_0_0_0_0_0"), "_")
523+func dM (ai) = {
524+ let ak = split(valueOrElse(getString(aj, dB()), "0_0_0_0_0_0"), "_")
522525 func al (am,an) = (am + parseIntValue(an))
523526
524527 let ao = {
525528 let ap = ak
526529 let aq = size(ap)
527530 let ar = 0
528531 func as (at,au) = if ((au >= aq))
529532 then at
530533 else al(at, ap[au])
531534
532535 func av (at,au) = if ((au >= aq))
533536 then at
534537 else throw("List size exceeds 6")
535538
536539 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
537540 }
538- let aw = valueOrElse(getInteger(aj, dC(ai)), 0)
541+ let aw = valueOrElse(getInteger(aj, dD(ai)), 0)
539542 [ao, aw]
540543 }
541544
542545
543-let dM = 500000
546+let dN = 500000
544547
545-let dN = [toString(this), {
546- let cL = cJ
547- if ((base58'2W' == cL))
548+let dO = [toString(this), {
549+ let cM = cK
550+ if ((base58'2W' == cM))
548551 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
549- else if ((base58'2T' == cL))
552+ else if ((base58'2T' == cM))
550553 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
551554 else throw("Unknown chain")
552555 }]
553556
554-func dO (dP) = {
555- let cL = dP
556- if ($isInstanceOf(cL, "List[Any]"))
557+func dP (dQ) = {
558+ let cM = dQ
559+ if ($isInstanceOf(cM, "List[Any]"))
557560 then {
558- let dQ = cL
559- if ((size(dQ) != bC))
560- then throw(("Array size is " + toString(size(dQ))))
561+ let dR = cM
562+ if ((size(dR) != bC))
563+ then throw(("Array size is " + toString(size(dR))))
561564 else {
562- func dR (am,an) = {
563- let dS = an
564- if ($isInstanceOf(dS, "Int"))
565+ func dS (am,an) = {
566+ let dT = an
567+ if ($isInstanceOf(dT, "Int"))
565568 then {
566- let dT = dS
567- (am :+ toString(dT))
569+ let dU = dT
570+ (am :+ toString(dU))
568571 }
569572 else throw("List type is not Int")
570573 }
571574
572- let dU = {
573- let ap = dQ
575+ let dV = {
576+ let ap = dR
574577 let aq = size(ap)
575578 let ar = nil
576579 func as (at,au) = if ((au >= aq))
577580 then at
578- else dR(at, ap[au])
581+ else dS(at, ap[au])
579582
580583 func av (at,au) = if ((au >= aq))
581584 then at
582585 else throw("List size exceeds 6")
583586
584587 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
585588 }
586- makeString(dU, "_")
589+ makeString(dV, "_")
587590 }
588591 }
589592 else throw("fail to cast into List")
590593 }
591594
592595
593-func dV (dP) = {
594- let cL = dP
595- if ($isInstanceOf(cL, "(List[Any], List[Any])"))
596+func dW (dQ) = {
597+ let cM = dQ
598+ if ($isInstanceOf(cM, "(List[Any], List[Any])"))
596599 then {
597- let dW = cL
598- $Tuple2(dO(dW._1), dO(dW._2))
600+ let dX = cM
601+ $Tuple2(dP(dX._1), dP(dX._2))
599602 }
600603 else throw("fail to cast into (List, List)")
601604 }
602605
603606
604-func dX (dY) = {
605- let t = addressFromString(dY)
606- let dZ = if (isDefined(t))
607+func dY (dZ) = {
608+ let t = addressFromString(dZ)
609+ let ea = if (isDefined(t))
607610 then wavesBalance(value(t))
608611 else BalanceDetails(0, 0, 0, 0)
609- let ea = if (isDefined(t))
610- then assetBalance(value(t), cK)
612+ let eb = if (isDefined(t))
613+ then assetBalance(value(t), cL)
611614 else 0
612- let eb = if (isDefined(t))
613- then assetBalance(value(t), dy)
615+ let ec = if (isDefined(t))
616+ then assetBalance(value(t), dz)
614617 else 0
615- let ec = valueOrElse(getString(aj, bZ(dY)), dY)
616- let ed = ca(dY)
617- let ee = getString(aj, ed)
618- let ef = valueOrElse(getString(aj, cc(dY)), "")
619- let eg = valueOrElse(getString(aj, bO(dY)), "")
620- let eh = dL(dY)[dz]
621- let ei = valueOrElse(getInteger(aj, bu(dY)), 0)
622- let ej = valueOrElse(getInteger(aj, bv(dY)), 0)
623- let ek = valueOrElse(getInteger(aj, bw(dY)), 0)
624- let el = if (isDefined(ee))
618+ let ed = valueOrElse(getString(aj, ca(dZ)), dZ)
619+ let ee = cb(dZ)
620+ let ef = getString(aj, ee)
621+ let eg = valueOrElse(getString(aj, cd(dZ)), "")
622+ let eh = valueOrElse(getString(aj, bO(dZ)), "")
623+ let ei = dM(dZ)[dA]
624+ let ej = valueOrElse(getInteger(aj, bu(dZ)), 0)
625+ let ek = valueOrElse(getInteger(aj, bv(dZ)), 0)
626+ let el = valueOrElse(getInteger(aj, bw(dZ)), 0)
627+ let em = if (isDefined(ef))
625628 then (bB + (if (if (isDefined(t))
626- then isDefined(getString(aj, cb(dY)))
629+ then isDefined(getString(aj, cc(dZ)))
627630 else false)
628631 then ":1"
629632 else ":0"))
630633 else ""
631-[("%s%s__customName__" + ec), ("%s%s__referredBy__" + valueOrElse(ee, "")), ("%s%s__referrals__" + ef), ("%s%s__lastTxId__" + eg), ("%s%d__wavesBalance__" + toString(dZ.available)), ("%s%d__wlgoldBalance__" + toString(eb)), ("%s%d__usdtBalance__" + toString(ea)), ("%s%d__stakedPieces__" + toString(eh)), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__walletArtefacts__" + el)]
634+[("%s%s__customName__" + ed), ("%s%s__referredBy__" + valueOrElse(ef, "")), ("%s%s__referrals__" + eg), ("%s%s__lastTxId__" + eh), ("%s%d__wavesBalance__" + toString(ea.available)), ("%s%d__wlgoldBalance__" + toString(ec)), ("%s%d__usdtBalance__" + toString(eb)), ("%s%d__stakedPieces__" + toString(ei)), ("%s%d__currentXp__" + toString(ej)), ("%s%d__currentLvl__" + toString(ek)), ("%s%d__pointsToDistribute__" + toString(el)), ("%s%s__walletArtefacts__" + em)]
632635 }
633636
634637
635-func em (bX,eh) = {
636- let en = valueOrElse(getInteger(aj, bT(bX)), 0)
637- let eo = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
638- let ep = (en / 6)
639- let eq = (en / 7)
640- $Tuple3(en, eo, ((bD + fraction(bD, ((en + ep) + (2 * eq)), 5)) + fraction(bD, eo, (eh * 5))))
638+func en (bX,ei) = {
639+ let eo = valueOrElse(getInteger(aj, bT(bX)), 0)
640+ let ep = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
641+ let eq = (eo / 6)
642+ let er = (eo / 7)
643+ $Tuple3(eo, ep, ((bD + fraction(bD, ((eo + eq) + (2 * er)), 5)) + fraction(bD, ep, (ei * 5))))
641644 }
642645
643646
644-func er (es) = {
645- let et = split(es, "_")
646- ((bF * (parseIntValue(et[1]) + 1)) * parseIntValue(et[0]))
647+func es (et) = {
648+ let eu = split(et, "_")
649+ ((bF * (parseIntValue(eu[1]) + 1)) * parseIntValue(eu[0]))
647650 }
648651
649652
650-func eu (ev,ew,en) = {
651- let es = ((toString(ew) + "_") + toString(en))
652- let ex = toString(er(es))
653- let ey = valueOrElse(getString(aj, ev), ((((es + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ex) + "_") + ex))
654- split(ey, ":")
653+func ev (ew,ex,eo) = {
654+ let et = ((toString(ex) + "_") + toString(eo))
655+ let ey = toString(es(et))
656+ let ez = valueOrElse(getString(aj, ew), ((((et + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ey) + "_") + ey))
657+ split(ez, ":")
655658 }
656659
657660
658-func ez (bo) = {
659- let eA = by(valueOrElse(getInteger(aj, br(bo)), 0))
660- $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cg(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eA), dD(invoke(aj, "getBackpackREADONLY", [bo], nil)))
661+func eA (bo) = {
662+ let eB = by(valueOrElse(getInteger(aj, br(bo)), 0))
663+ $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, ch(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eB), dE(invoke(aj, "getBackpackREADONLY", [bo], nil)))
661664 }
662665
663666
664-func eB (bo,eC,eD) = {
665- let ec = valueOrElse(getString(aj, bY(bo)), eD._2)
666- let eE = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
667- let ei = valueOrElse(getInteger(aj, bq(bo)), 0)
668- let ej = valueOrElse(getInteger(aj, br(bo)), 0)
669- let ek = valueOrElse(getInteger(aj, bs(bo)), 0)
670- let eF = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
671- let eG = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
672-[("%s%s__assetId__" + bo), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eD._1)), ("%s%s__name__" + eD._2), ("%s%s__location__" + eD._3), ("%s%d__health__" + toString(eD._4)), ("%s%d__maxHealth__" + toString(by(ej))), ("%s%s__characteristics__" + eE), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__backPack__" + eD._5), ("%s%s__equipment__" + eF), ("%s%s__buffs__" + eG)]
667+func eC (bo,eD,eE) = {
668+ let ed = valueOrElse(getString(aj, bZ(bo)), eE._2)
669+ let eF = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
670+ let ej = valueOrElse(getInteger(aj, bq(bo)), 0)
671+ let ek = valueOrElse(getInteger(aj, br(bo)), 0)
672+ let el = valueOrElse(getInteger(aj, bs(bo)), 0)
673+ let eG = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
674+ let eH = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
675+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eD), ("%s%s__customName__" + ed), ("%s%d__stakedTime__" + toString(eE._1)), ("%s%s__name__" + eE._2), ("%s%s__location__" + eE._3), ("%s%d__health__" + toString(eE._4)), ("%s%d__maxHealth__" + toString(by(ek))), ("%s%s__characteristics__" + eF), ("%s%d__currentXp__" + toString(ej)), ("%s%d__currentLvl__" + toString(ek)), ("%s%d__pointsToDistribute__" + toString(el)), ("%s%s__backPack__" + eE._5), ("%s%s__equipment__" + eG), ("%s%s__buffs__" + eH)]
673676 }
674677
675678
676-func eH (bX,eC,eI) = if ((bX == ""))
679+func eI (bX,eD,eJ) = if ((bX == ""))
677680 then throw("landAssetId is required")
678681 else {
679- let eJ = value(assetInfo(fromBase58String(bX)))
680- let eK = split(eJ.description, "_")
681- let eL = if ((eJ.quantity > 0))
682- then eK[dt]
683- else ("-" + eK[dt])
684- let eh = dJ(eK[du])
685- let eM = em(bX, eh)
686- let eN = (lastBlock.timestamp - eI)
687- let eO = if ((eI > 0))
688- then fraction(eN, (eM._3 * eh), bE)
682+ let eK = value(assetInfo(fromBase58String(bX)))
683+ let eL = split(eK.description, "_")
684+ let eM = if ((eK.quantity > 0))
685+ then eL[du]
686+ else ("-" + eL[du])
687+ let ei = dK(eL[dv])
688+ let eN = en(bX, ei)
689+ let eO = (lastBlock.timestamp - eJ)
690+ let eP = if ((eJ > 0))
691+ then fraction(eO, (eN._3 * ei), bE)
689692 else 0
690- let eP = fraction(cN, (eh * (eM._1 + 1)), cR)
691- let eQ = if ((eI > 0))
692- then dV(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eP, eO, eK[dv]], nil))
693- else $Tuple2(dO(invoke(aj, "splitByGlobalWeightsREADONLY", [eP], nil)), "")
694- let ec = valueOrElse(getString(aj, bR(bX)), ((eK[dw] + "-") + eK[dt]))
695-[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eI)), ("%s%s__description__" + makeString([eL, eK[du], eK[dv], eK[dw]], "_")), ("%s%d__infraLevel__" + toString(eM._1)), ("%s%s__availResByType__" + eQ._2), ("%s%d__availResTotal__" + toString(eO)), ("%s%s__needMaterial__" + eQ._1), ("%s%s__landArtefacts__PRESALE:" + toString(eM._2)), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
693+ let eQ = fraction(cO, (ei * (eN._1 + 1)), cS)
694+ let eR = if ((eJ > 0))
695+ then dW(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eQ, eP, eL[dw]], nil))
696+ else $Tuple2(dP(invoke(aj, "splitByGlobalWeightsREADONLY", [eQ], nil)), "")
697+ let ed = valueOrElse(getString(aj, bR(bX)), ((eL[dx] + "-") + eL[du]))
698+ let eS = valueOrElse(getString(aj, bY(bX)), ":0_15:0_18:0")
699+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eD), ("%s%s__customName__" + ed), ("%s%d__stakedTime__" + toString(eJ)), ("%s%s__description__" + makeString([eM, eL[dv], eL[dw], eL[dx]], "_")), ("%s%d__infraLevel__" + toString(eN._1)), ("%s%s__availResByType__" + eR._2), ("%s%d__availResTotal__" + toString(eP)), ("%s%s__needMaterial__" + eR._1), ("%s%s__landArtefacts__PRESALE:" + toString(eN._2)), ("%s%s__warehouse__" + makeString(ev(bW(bX), (ei / cS), eN._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dp, cj(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:")), ("%s%s__fortifications__" + eS)]
696700 }
697701
698702
699-func eR (bX,eC) = if ((bX == ""))
703+func eT (bX,eD) = if ((bX == ""))
700704 then throw("landAssetId is required")
701705 else {
702- let eJ = value(assetInfo(fromBase58String(bX)))
703- let eK = split(eJ.description, "_")
704- let eh = dJ(eK[du])
705- let eM = em(bX, eh)
706-[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
706+ let eK = value(assetInfo(fromBase58String(bX)))
707+ let eL = split(eK.description, "_")
708+ let ei = dK(eL[dv])
709+ let eN = en(bX, ei)
710+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eD), ("%s%s__warehouse__" + makeString(ev(bW(bX), (ei / cS), eN._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dp, cj(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
707711 }
708712
709713
710-@Callable(eS)
711-func constructorV1 (az) = if ((eS.caller != this))
714+@Callable(eU)
715+func constructorV1 (az) = if ((eU.caller != this))
712716 then throw("permissions denied")
713717 else {
714- func eT (am,eU) = (am + "%s")
718+ func eV (am,eW) = (am + "%s")
715719
716- let eV = {
720+ let eX = {
717721 let ap = az
718722 let aq = size(ap)
719723 let ar = ""
720724 func as (at,au) = if ((au >= aq))
721725 then at
722- else eT(at, ap[au])
726+ else eV(at, ap[au])
723727
724728 func av (at,au) = if ((au >= aq))
725729 then at
726730 else throw("List size exceeds 10")
727731
728732 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
729733 }
730-[StringEntry(dg(), makeString(eV :: az, cO)), StringEntry(dh(), toString(this))]
734+[StringEntry(dh(), makeString(eX :: az, cP)), StringEntry(di(), toString(this))]
731735 }
732736
733737
734738
735-@Callable(eS)
736-func walletInfoREADONLY (dY) = $Tuple2(nil, dX(dY))
739+@Callable(eU)
740+func walletInfoREADONLY (dZ) = $Tuple2(nil, dY(dZ))
737741
738742
739743
740-@Callable(eS)
741-func duckByOwnerInfoREADONLY (eW) = {
742- let eX = getString(aj, ce(eW))
743- $Tuple2(nil, if (if (isDefined(addressFromString(eW)))
744- then isDefined(eX)
744+@Callable(eU)
745+func duckByOwnerInfoREADONLY (eY) = {
746+ let eZ = getString(aj, cf(eY))
747+ $Tuple2(nil, if (if (isDefined(addressFromString(eY)))
748+ then isDefined(eZ)
745749 else false)
746750 then {
747- let bo = value(eX)
748- eB(bo, eW, ez(bo))
751+ let bo = value(eZ)
752+ eC(bo, eY, eA(bo))
749753 }
750- else eB("", eW, $Tuple5(-1, "", "", -1, "")))
754+ else eC("", eY, $Tuple5(-1, "", "", -1, "")))
751755 }
752756
753757
754758
755-@Callable(eS)
759+@Callable(eU)
756760 func duckByAssetIdInfoREADONLY (bo) = {
757- let eC = getString(aj, cd(bo))
758- $Tuple2(nil, eB(bo, if (isDefined(eC))
759- then value(eC)
760- else "", ez(bo)))
761+ let eD = getString(aj, ce(bo))
762+ $Tuple2(nil, eC(bo, if (isDefined(eD))
763+ then value(eD)
764+ else "", eA(bo)))
761765 }
762766
763767
764768
765-@Callable(eS)
769+@Callable(eU)
766770 func landByAssetIdInfoREADONLY (bX) = if ((bX == ""))
767771 then throw("landAssetId is required")
768772 else {
769- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
770- let eC = if ((eI > 0))
773+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
774+ let eD = if ((eJ > 0))
771775 then value(getString(aj, bP(bX)))
772776 else ""
773- $Tuple2(nil, eH(bX, eC, eI))
777+ $Tuple2(nil, eI(bX, eD, eJ))
774778 }
775779
776780
777781
778-@Callable(eS)
779-func stakedLandsByOwnerInfoREADONLY (eY) = if ((eY == ""))
782+@Callable(eU)
783+func stakedLandsByOwnerInfoREADONLY (fa) = if ((fa == ""))
780784 then throw("landOwnerAddress is required")
781785 else {
782- let eZ = getString(aj, dB(eY))
783- let fa = if (isDefined(eZ))
784- then split_51C(value(eZ), "_")
786+ let fb = getString(aj, dC(fa))
787+ let fc = if (isDefined(fb))
788+ then split_51C(value(fb), "_")
785789 else nil
786- func fb (am,bX) = if ((bX == ""))
790+ func fd (am,bX) = if ((bX == ""))
787791 then throw("landAssetId is required")
788792 else {
789- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
790- (am :+ eH(bX, eY, eI))
793+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
794+ (am :+ eI(bX, fa, eJ))
791795 }
792796
793- let dU = {
794- let ap = fa
797+ let dV = {
798+ let ap = fc
795799 let aq = size(ap)
796800 let ar = nil
797801 func as (at,au) = if ((au >= aq))
798802 then at
799- else fb(at, ap[au])
803+ else fd(at, ap[au])
800804
801805 func av (at,au) = if ((au >= aq))
802806 then at
803807 else throw("List size exceeds 100")
804808
805809 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
806810 }
807- $Tuple2(nil, dU)
811+ $Tuple2(nil, dV)
808812 }
809813
810814
811815
812-@Callable(eS)
813-func landsByIdsInfoREADONLY (fc) = {
814- func fb (am,bX) = if ((bX == ""))
816+@Callable(eU)
817+func landsByIdsInfoREADONLY (fe) = {
818+ func fd (am,bX) = if ((bX == ""))
815819 then throw("landAssetId is required")
816820 else {
817- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
818- let eC = if ((eI > 0))
821+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
822+ let eD = if ((eJ > 0))
819823 then value(getString(aj, bP(bX)))
820824 else ""
821- (am :+ eH(bX, eC, eI))
825+ (am :+ eI(bX, eD, eJ))
822826 }
823827
824- let dU = {
825- let ap = fc
828+ let dV = {
829+ let ap = fe
826830 let aq = size(ap)
827831 let ar = nil
828832 func as (at,au) = if ((au >= aq))
829833 then at
830- else fb(at, ap[au])
834+ else fd(at, ap[au])
831835
832836 func av (at,au) = if ((au >= aq))
833837 then at
834838 else throw("List size exceeds 100")
835839
836840 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
837841 }
838- $Tuple2(nil, dU)
842+ $Tuple2(nil, dV)
839843 }
840844
841845
842846
843-@Callable(eS)
847+@Callable(eU)
844848 func warehouseOrderByAssetIdInfoREADONLY (bX) = if ((bX == ""))
845849 then throw("landAssetId is required")
846850 else {
847- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
848- let eC = if ((eI > 0))
851+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
852+ let eD = if ((eJ > 0))
849853 then value(getString(aj, bP(bX)))
850854 else ""
851- $Tuple2(nil, eR(bX, eC))
855+ $Tuple2(nil, eT(bX, eD))
852856 }
853857
854858
855859
856-@Callable(eS)
857-func ordersByLandIdsInfoREADONLY (fc) = {
858- func fb (am,bX) = if ((bX == ""))
860+@Callable(eU)
861+func ordersByLandIdsInfoREADONLY (fe) = {
862+ func fd (am,bX) = if ((bX == ""))
859863 then throw("landAssetId is required")
860864 else {
861- let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
862- let eC = if ((eI > 0))
865+ let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
866+ let eD = if ((eJ > 0))
863867 then value(getString(aj, bP(bX)))
864868 else ""
865- (am :+ eR(bX, eC))
869+ (am :+ eT(bX, eD))
866870 }
867871
868- let dU = {
869- let ap = fc
872+ let dV = {
873+ let ap = fe
870874 let aq = size(ap)
871875 let ar = nil
872876 func as (at,au) = if ((au >= aq))
873877 then at
874- else fb(at, ap[au])
878+ else fd(at, ap[au])
875879
876880 func av (at,au) = if ((au >= aq))
877881 then at
878882 else throw("List size exceeds 40")
879883
880884 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
881885 }
882- $Tuple2(nil, dU)
886+ $Tuple2(nil, dV)
883887 }
884888
885889
886890
887-@Callable(eS)
888-func cancelWarehouseOrders (fc) = if ((eS.caller != this))
891+@Callable(eU)
892+func cancelWarehouseOrders (fe) = if ((eU.caller != this))
889893 then throw("permission denied")
890894 else {
891- let fd = getBoolean(aj, ch())
892- if (if (!(isDefined(fd)))
895+ let ff = getBoolean(aj, ci())
896+ if (if (!(isDefined(ff)))
893897 then true
894- else (value(fd) == false))
898+ else (value(ff) == false))
895899 then throw("Contracts should be blocked before canceling orders")
896900 else {
897- func fb (eJ,bX) = if ((bX == ""))
901+ func fd (eK,bX) = if ((bX == ""))
898902 then throw("landAssetId is required")
899903 else {
900- let fe = dI(invoke(do, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bX], nil))
901- if (if (eJ)
904+ let fg = dJ(invoke(dp, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bX], nil))
905+ if (if (eK)
902906 then true
903- else fe)
904- then !(if (eJ)
905- then fe
907+ else fg)
908+ then !(if (eK)
909+ then fg
906910 else false)
907911 else false
908912 }
909913
910- let dU = {
911- let ap = fc
914+ let dV = {
915+ let ap = fe
912916 let aq = size(ap)
913917 let ar = false
914918 func as (at,au) = if ((au >= aq))
915919 then at
916- else fb(at, ap[au])
920+ else fd(at, ap[au])
917921
918922 func av (at,au) = if ((au >= aq))
919923 then at
920924 else throw("List size exceeds 30")
921925
922926 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
923927 }
924- $Tuple2(nil, dU)
928+ $Tuple2(nil, dV)
925929 }
926930 }
927931
928932
929933
930-@Callable(eS)
931-func fixWarehouseFormats (fc) = if ((eS.caller != this))
934+@Callable(eU)
935+func fixWarehouseFormats (fe) = if ((eU.caller != this))
932936 then throw("permission denied")
933937 else {
934- func fb (am,bX) = if ((bX == ""))
938+ func fd (am,bX) = if ((bX == ""))
935939 then throw("landAssetId is required")
936- else (am + size(dD(invoke(aj, "fixWarehouseFormat", [bX], nil))))
940+ else (am + size(dE(invoke(aj, "fixWarehouseFormat", [bX], nil))))
937941
938- let dU = {
939- let ap = fc
942+ let dV = {
943+ let ap = fe
940944 let aq = size(ap)
941945 let ar = 0
942946 func as (at,au) = if ((au >= aq))
943947 then at
944- else fb(at, ap[au])
948+ else fd(at, ap[au])
945949
946950 func av (at,au) = if ((au >= aq))
947951 then at
948952 else throw("List size exceeds 25")
949953
950954 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
951955 }
952- $Tuple2(nil, dU)
956+ $Tuple2(nil, dV)
953957 }
954958
955959
956960
957-@Callable(eS)
958-func fixStakedPieces (ff) = if ((eS.caller != this))
961+@Callable(eU)
962+func fixStakedPieces (fh) = if ((eU.caller != this))
959963 then throw("permission denied")
960964 else {
961- func fg (am,t) = if ((t == ""))
965+ func fi (am,t) = if ((t == ""))
962966 then throw("address is required")
963- else (am + dG(invoke(aj, "fixStakedPieces", [t], nil)))
967+ else (am + dH(invoke(aj, "fixStakedPieces", [t], nil)))
964968
965- let dU = {
966- let ap = ff
969+ let dV = {
970+ let ap = fh
967971 let aq = size(ap)
968972 let ar = 0
969973 func as (at,au) = if ((au >= aq))
970974 then at
971- else fg(at, ap[au])
975+ else fi(at, ap[au])
972976
973977 func av (at,au) = if ((au >= aq))
974978 then at
975979 else throw("List size exceeds 16")
976980
977981 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
978982 }
979- $Tuple2(nil, dU)
983+ $Tuple2(nil, dV)
980984 }
981985
982986
983987
984-@Callable(eS)
985-func fixStakedLands (fc) = {
986- let fh = toString(eS.caller)
987- if (!(containsElement(dN, fh)))
988+@Callable(eU)
989+func fixStakedLands (fe) = {
990+ let fj = toString(eU.caller)
991+ if (!(containsElement(dO, fj)))
988992 then throw("Permission denied")
989993 else {
990- let dU = dG(invoke(aj, "fixContinentProportions", [fc], nil))
991- $Tuple2(nil, dU)
994+ let dV = dH(invoke(aj, "fixContinentProportions", [fe], nil))
995+ $Tuple2(nil, dV)
992996 }
993997 }
994998
995999
9961000
997-@Callable(eS)
998-func sendUsdtPrize (eW) = if ((eS.caller != aj))
1001+@Callable(eU)
1002+func sendUsdtPrize (eY) = if ((eU.caller != aj))
9991003 then throw("permission denied")
10001004 else {
1001- let fi = fraction(assetBalance(this, cK), dM, cP)
1002- $Tuple2([ScriptTransfer(addressFromStringValue(eW), fi, cK)], fi)
1005+ let fk = fraction(assetBalance(this, cL), dN, cQ)
1006+ $Tuple2([ScriptTransfer(addressFromStringValue(eY), fk, cL)], fk)
10031007 }
10041008
10051009
10061010
1007-@Callable(eS)
1011+@Callable(eU)
10081012 func getEmergencyServiceDataREADONLY () = {
1009- let fj = getString(do, cj())
1010- let fk = if (isDefined(fj))
1011- then split_4C(value(fj), "_")
1013+ let fl = getString(dp, ck())
1014+ let fm = if (isDefined(fl))
1015+ then split_4C(value(fl), "_")
10121016 else nil
1013- func fl (am,fm) = {
1014- let dH = am._2
1015- let cI = split(fm, "_")
1016- let fn = if ((dH == 0))
1017+ func fn (am,fo) = {
1018+ let dI = am._2
1019+ let cJ = split(fo, "_")
1020+ let fp = if ((dI == 0))
10171021 then (bH * bN)
10181022 else 0
1019- let fo = if ((size(fk) > dH))
1020- then parseIntValue(fk[dH])
1023+ let fq = if ((size(fm) > dI))
1024+ then parseIntValue(fm[dI])
10211025 else 0
1022- let fp = cH(cI)
1023- let fq = fraction((fp * bI), bG, (cQ * bN))
1024- let fr = fraction((fp * bJ), bG, (cQ * bN))
1025- let fs = makeString([toString(fn), toString(fo), toString(fq), toString(fr)], "_")
1026- $Tuple2((am._1 :+ fs), (dH + 1))
1026+ let fr = cI(cJ)
1027+ let fs = fraction((fr * bI), bG, (cR * bN))
1028+ let ft = fraction((fr * bJ), bG, (cR * bN))
1029+ let fu = makeString([toString(fp), toString(fq), toString(fs), toString(ft)], "_")
1030+ $Tuple2((am._1 :+ fu), (dI + 1))
10271031 }
10281032
1029- let dF = makeString_2C(( let ap = bL
1033+ let dG = makeString_2C(( let ap = bL
10301034 let aq = size(ap)
10311035 let ar = $Tuple2(nil, 0)
10321036 func as (at,au) = if ((au >= aq))
10331037 then at
1034- else fl(at, ap[au])
1038+ else fn(at, ap[au])
10351039
10361040 func av (at,au) = if ((au >= aq))
10371041 then at
10381042 else throw("List size exceeds 50")
10391043
10401044 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
1041- let ft = ("%s%s__emergencyServiceData__" + dF)
1042- $Tuple2(nil, ft)
1045+ let fv = ("%s%s__emergencyServiceData__" + dG)
1046+ $Tuple2(nil, fv)
10431047 }
10441048
10451049
10461050
1047-@Callable(eS)
1051+@Callable(eU)
10481052 func wlgStatsREADONLY (ay) = {
1049- let fu = ax(ay, [dn, aj, do, dp, dq, dr, aH], cK, 0)
1050- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fu[z])), ("%s%s%d__wlgPrice__" + toString(fu[A])), ("%s%s%d__usdtFunds__" + toString(fu[B])), ("%s%s%d__usdtEconomy__" + toString(fu[C])), ("%s%s%d__usdtActivity__" + toString(fu[D])), ("%s%s%d__usdtArbitrage__" + toString(fu[E])), ("%s%s%d__usdtPool__" + toString(fu[F])), ("%s%s%d__wlgIssueTime__" + toString(fu[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fu[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fu[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fu[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fu[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fu[L])), ("%s%s%d__wlgTeamTotal__" + toString(fu[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fu[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fu[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fu[P])), ("%s%s%d__wlgActTotal__" + toString(fu[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fu[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fu[S])), ("%s%s%d__wlgActWlgold__" + toString(fu[T])), ("%s%s%d__wlgCurPeriod__" + toString(fu[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fu[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fu[W])), ("%s%s%d__wlgLastUserTime__" + toString(fu[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fu[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fu[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fu[aa]))])
1053+ let fw = ax(ay, [do, aj, dp, dq, dr, ds, aH], cL, 0)
1054+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fw[z])), ("%s%s%d__wlgPrice__" + toString(fw[A])), ("%s%s%d__usdtFunds__" + toString(fw[B])), ("%s%s%d__usdtEconomy__" + toString(fw[C])), ("%s%s%d__usdtActivity__" + toString(fw[D])), ("%s%s%d__usdtArbitrage__" + toString(fw[E])), ("%s%s%d__usdtPool__" + toString(fw[F])), ("%s%s%d__wlgIssueTime__" + toString(fw[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fw[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fw[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fw[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fw[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fw[L])), ("%s%s%d__wlgTeamTotal__" + toString(fw[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fw[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fw[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fw[P])), ("%s%s%d__wlgActTotal__" + toString(fw[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fw[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fw[S])), ("%s%s%d__wlgActWlgold__" + toString(fw[T])), ("%s%s%d__wlgCurPeriod__" + toString(fw[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fw[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fw[W])), ("%s%s%d__wlgLastUserTime__" + toString(fw[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fw[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fw[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fw[aa]))])
10511055 }
10521056
10531057
10541058
1055-@Callable(eS)
1056-func tournamentStatsREADONLY (fv) = {
1057- let fw = cr(ds, fv)
1058- let ct = fw[cp]
1059- let cu = fw[cq]
1060- let fx = if ((cu[cA] == ""))
1059+@Callable(eU)
1060+func tournamentStatsREADONLY (fx) = {
1061+ let fy = cs(dt, fx)
1062+ let cu = fy[cq]
1063+ let cv = fy[cr]
1064+ let fz = if ((cv[cB] == ""))
10611065 then " "
1062- else cu[cA]
1063- let fy = valueOrElse(getString(ds, co(fv)), "")
1064- $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
1066+ else cv[cB]
1067+ let fA = valueOrElse(getString(dt, cp(fx)), "")
1068+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cu[cw], cu[cx], cu[cy], cu[cz]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cv[cA], fz, cv[cC], cv[cD], cv[cE]], "_")), ("%s%s__tournamentRegistrants__" + fA)])
10651069 }
10661070
10671071
10681072
1069-@Callable(eS)
1073+@Callable(eU)
10701074 func lastTournamentStatsREADONLY () = {
1071- let fv = valueOrElse(getInteger(ds, ck), 0)
1072- let ct = split(valueOrElse(getString(ds, cl(fv)), "%s%d%d%d%d%d____________"), cO)
1073- let cu = split(valueOrElse(getString(ds, cn(fv)), "%s%s%d%d%d__________"), cO)
1074- let fx = if ((cu[cA] == ""))
1075+ let fx = valueOrElse(getInteger(dt, cl), 0)
1076+ let cu = split(valueOrElse(getString(dt, cm(fx)), "%s%d%d%d%d%d____________"), cP)
1077+ let cv = split(valueOrElse(getString(dt, co(fx)), "%s%s%d%d%d__________"), cP)
1078+ let fz = if ((cv[cB] == ""))
10751079 then " "
1076- else cu[cA]
1077- let fy = valueOrElse(getString(ds, co(fv)), "")
1078- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fv)), ("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
1080+ else cv[cB]
1081+ let fA = valueOrElse(getString(dt, cp(fx)), "")
1082+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fx)), ("%s%s__tournamentStaticData__" + makeString([cu[cw], cu[cx], cu[cy], cu[cz]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cv[cA], fz, cv[cC], cv[cD], cv[cE]], "_")), ("%s%s__tournamentRegistrants__" + fA)])
10791083 }
10801084
10811085
10821086
1083-@Callable(eS)
1084-func tournamentDuckStatsREADONLY (cm,bo) = {
1085- let fz = valueOrElse(getBoolean(ds, cE(cm, bo)), false)
1086- let fA = valueOrElse(getInteger(ds, cF(cm, bo)), 0)
1087- let fB = valueOrElse(getInteger(ds, cG(cm, bo)), 0)
1088- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fz), toString(fA), toString(fB)], "_"))])
1087+@Callable(eU)
1088+func tournamentDuckStatsREADONLY (cn,bo) = {
1089+ let fB = valueOrElse(getBoolean(dt, cF(cn, bo)), false)
1090+ let fC = valueOrElse(getInteger(dt, cG(cn, bo)), 0)
1091+ let fD = valueOrElse(getInteger(dt, cH(cn, bo)), 0)
1092+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fB), toString(fC), toString(fD)], "_"))])
10891093 }
10901094
10911095

github/deemru/w8io/169f3d6 
450.42 ms