tx · 2p9bVcuL7ejSMYPgMJXK7R4vbRZPc45dcp1ETAejvqPM

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03700000 Waves

2023.08.25 00:44 [2725280] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "2p9bVcuL7ejSMYPgMJXK7R4vbRZPc45dcp1ETAejvqPM", "fee": 3700000, "feeAssetId": null, "timestamp": 1692913523156, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "3ME2UP7mJLWc7PFMNzkVNT7ctNGmfGCJSLsXmTbr8goowTj9puDd4LnbmgKipSvdbk9wNAFDrkDQKUTiot2st6dw" ], "script": "base64:BgJcCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBGBIDCgEIEgASAwoBCBIDCgEBEgASBAoCAQi5AQACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UAA0RBWQCAuJkpABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nABZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5AhNtYXJrZXRpbmdBbW91bnRMZWZ0AA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABF0ZWFtQW1vdW50TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFWxhc3RBY3Rpdml0aWVzVGltZUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMAEGFjdEFtb3VudExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBBnBlcmlvZAkAawMFCE1JTExJT042CQBoAgULUExBWUVSU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUCTTYAD3dsZ0lzc3VlVGltZUtleQINd2xnX2lzc3VlVGltZQASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50ABF6Yklzc3VlZEFtb3VudEtleQISemJpbGxfaXNzdWVkQW1vdW50AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgANaWR4V2xnRWNvbm9teQADAA5pZHhXbGdBY3Rpdml0eQAEAA9pZHhXbGdBcmJpdHJhZ2UABQAKaWR4V2xnUG9vbAAGAA9pZHhXbGdJc3N1ZVRpbWUABwARaWR4V2xnTGFzdE1UQVRpbWUACAAUaWR4V2xnTWFya2V0aW5nVG90YWwACQAVaWR4V2xnTWFya2V0aW5nQW1MZWZ0AAoAGWlkeFdsZ01hcmtldGluZ0FtQXZhaWxOb3cACwAVaWR4V2xnTWFya2V0aW5nV2xnb2xkAAwAD2lkeFdsZ1RlYW1Ub3RhbAANABBpZHhXbGdUZWFtQW1MZWZ0AA4AFGlkeFdsZ1RlYW1BbUF2YWlsTm93AA8AEGlkeFdsZ1RlYW1XbGdvbGQAEAAOaWR4V2xnQWN0VG90YWwAEQAPaWR4V2xnQWN0QW1MZWZ0ABIAE2lkeFdsZ0FjdEFtQXZhaWxOb3cAEwAPaWR4V2xnQWN0V2xnb2xkABQAD2lkeFdsZ0N1clBlcmlvZAAVABFpZHhXbGdBbUxlZnRUb3RhbAAWABtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24AFwASaWR4V2xnTGFzdFVzZXJUaW1lABgAFGlkeFdsZ1VzZXJBbUF2YWlsTm93ABkAFmlkeFdsZ1NMYW5kRGFpbHlBbW91bnQAGgAWaWR4V2xnSW52ZXN0RnVuZEFtb3VudAAbAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAtkYXBwRWNvbm9teQACAAdkYXBwV2xnAAQACmRhcHBQdXp6bGUABQAOZGFwcEludmVzdEZ1bmQABgEJZ2V0UGllY2VzAhJ1c2VyQWRkclN0ck9yRW1wdHkPc3Rha2luZ0NvbnRyYWN0BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAITcmVzVHlwZXNQcm9wb3J0aW9ucwILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAELZ2V0V2xnU3RhdHMEC3VzZXJBZGRyT3B0CWNvbnRyYWN0cwZ1c2R0SWQVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUSd2xnSXNzdWVkQW1vdW50S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQECmVjb25vbXlVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBFY29ub215BQZ1c2R0SWQEB3Jlc3RVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFBnVzZHRJZAUVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAlwdXp6bGVVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCmRhcHBQdXp6bGUFBnVzZHRJZAQSaW52ZXN0RnVuZENvbnRyYWN0CQCRAwIFCWNvbnRyYWN0cwUOZGFwcEludmVzdEZ1bmQED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgUSaW52ZXN0RnVuZENvbnRyYWN0BQZ1c2R0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSaW52ZXN0RnVuZENvbnRyYWN0BRF6Yklzc3VlZEFtb3VudEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCmVjb25vbXlVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAV3bGdJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD3dsZ0lzc3VlVGltZUtleQIPTm90IGluaXRpYWxpemVkBA5tYXJrZXRpbmdUb3RhbAkAawMFCE1JTExJT042BQ5NQVJLRVRJTkdTSEFSRQUCTTYEE21hcmtldGluZ0Ftb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFm1hcmtldGluZ0Ftb3VudExlZnRLZXkFDm1hcmtldGluZ1RvdGFsBBFsYXN0TWFya2V0aW5nVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUbGFzdE1hcmtldGluZ1RpbWVLZXkFCWlzc3VlVGltZQQNbWFya2V0aW5nQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUQbWFya2V0aW5nQWRkcktleQQbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFDm1hcmtldGluZ1RvdGFsCQBlAgUDbm93BRFsYXN0TWFya2V0aW5nVGltZQUKWUVBUk1JTExJUwkAzAgCBRNtYXJrZXRpbmdBbW91bnRMZWZ0BQNuaWwED21hcmtldGluZ1dsZ29sZAkA8AcCBQ1tYXJrZXRpbmdBZGRyBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUITUlMTElPTjYFCVRFQU1TSEFSRQUCTTYEDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRF0ZWFtQW1vdW50TGVmdEtleQUJdGVhbVRvdGFsBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD2xhc3RUZWFtVGltZUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwULdGVhbUFkZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUITUlMTElPTjYFDUFDVElWSVRZU0hBUkUFAk02BA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBhY3RBbW91bnRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUNYWN0QW1vdW50TGVmdAUDbmlsBAlhY3RXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQV3bGdJZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnCQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQULdXNlckFkZHJPcHQFCWlzc3VlVGltZQQObGFzdFVzZXJQZXJpb2QJAGkCCQBlAgUMbGFzdFVzZXJUaW1lBQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMECm5vd0xpbWl0ZWQJAJcDAQkAzAgCBQNub3cJAMwIAgkAZAIFCWlzc3VlVGltZQkAaAIAAwUKWUVBUk1JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQpZRUFSTUlMTElTCQDMCAIAAgUDbmlsBANlZmYJAQlnZXRQaWVjZXMCBQt1c2VyQWRkck9wdAkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBBVjdXJQZXJpb2REaXN0cmlidXRpb24JARRkaXN0cmlidXRpb25CeVBlcmlvZAEFCWN1clBlcmlvZAQKdXNlckFtb3VudAkAawMDCQAAAgUObGFzdFVzZXJQZXJpb2QFCWN1clBlcmlvZAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABCQBkAgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMJAGQCCQBkAgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwkAkQMCBQNlZmYAAQkAkQMCBQNlZmYAAAQQc0xhbmREYWlseUFtb3VudAkAawMJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24FA0RBWQUKWUVBUk1JTExJUwAZCQCRAwIFA2VmZgAABA9hbW91bnRMZWZ0VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFHN0YWtlcnNBbW91bnRMZWZ0S2V5AAAJAMwIAgUMaXNzdWVkQW1vdW50CQDMCAIJAGsDBQ10b3RhbEZ1bmRzVXNkBQJNOAUMaXNzdWVkQW1vdW50CQDMCAIFDXRvdGFsRnVuZHNVc2QJAMwIAgUKZWNvbm9teVVzZAkAzAgCBQdyZXN0VXNkCQDMCAIFBndsZ1VzZAkAzAgCBQlwdXp6bGVVc2QJAMwIAgUJaXNzdWVUaW1lCQDMCAIFEWxhc3RNYXJrZXRpbmdUaW1lCQDMCAIFDm1hcmtldGluZ1RvdGFsCQDMCAIFE21hcmtldGluZ0Ftb3VudExlZnQJAMwIAgUbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFD21hcmtldGluZ1dsZ29sZAkAzAgCBQl0ZWFtVG90YWwJAMwIAgUOdGVhbUFtb3VudExlZnQJAMwIAgUWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQp0ZWFtV2xnb2xkCQDMCAIFCGFjdFRvdGFsCQDMCAIFDWFjdEFtb3VudExlZnQJAMwIAgUVYWN0QW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCWFjdFdsZ29sZAkAzAgCBQljdXJQZXJpb2QJAMwIAgUPYW1vdW50TGVmdFRvdGFsCQDMCAIFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCBQxsYXN0VXNlclRpbWUJAMwIAgUKdXNlckFtb3VudAkAzAgCBRBzTGFuZERhaWx5QW1vdW50CQDMCAIFD2ludmVzdEZ1bmRUb3RhbAUDbmlsAQ1rZXlEdWNrSGVhbHRoAQtkdWNrQXNzZXRJZAkArAICAgtkdWNrSGVhbHRoXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tDaGFycwELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0NoYXJzXwULZHVja0Fzc2V0SWQBCWtleUR1Y2tYUAELZHVja0Fzc2V0SWQJAKwCAgIHZHVja1hQXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tMZXZlbAELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0xldmVsXwULZHVja0Fzc2V0SWQBEWtleUR1Y2tGcmVlUG9pbnRzAQtkdWNrQXNzZXRJZAkArAICAg9kdWNrRnJlZVBvaW50c18FC2R1Y2tBc3NldElkARBrZXlEdWNrRXF1aXBtZW50AQtkdWNrQXNzZXRJZAkArAICAg5kdWNrRXF1aXBtZW50XwULZHVja0Fzc2V0SWQBCWtleVVzZXJYUAEEYWRkcgkArAICAgd1c2VyWFBfBQRhZGRyAQxrZXlVc2VyTGV2ZWwBBGFkZHIJAKwCAgIKdXNlckxldmVsXwUEYWRkcgERa2V5VXNlckZyZWVQb2ludHMBBGFkZHIJAKwCAgIPdXNlckZyZWVQb2ludHNfBQRhZGRyAQxrZXlEdWNrQnVmZnMBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tCdWZmc18FC2R1Y2tBc3NldElkAQltYXhIZWFsdGgBBWxldmVsCQBkAgBkBQVsZXZlbAAKQVJUUFJFU0FMRQIHUFJFU0FMRQAKQVJUT05CT0FSRAIHT05CT0FSRAAGTlVNUkVTAAYAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAlEQVlNSUxMSVMAgLiZKQAMV0hNVUxUSVBMSUVSAIDIr6AlABBSRVNPVVJDRVBSSUNFTUlOANW1AgANRVNNQVhQQUNLQUdFUwADAAlFU0JVWUNPRUYABAAKRVNTRUxMQ09FRgAKAAlDT0VGRjJNQVQAgK3iBAAQcHJvZHVjdGlvbk1hdHJpeAkAzAgCAiU4XzhfOF8xN18xN180Ml8xMl8wXzMwXzAsMCwwLDAsMCwwLDBfCQDMCAICJThfOF84XzE3XzE3XzQyXzI0XzBfNjBfMCwwLDUsMiwwLDAsMF8JAMwIAgInOF84XzhfMTdfMTdfNDJfMzZfMF8xMjBfMCwwLDEwLDQsMCwwLDBfCQDMCAICKThfMTlfMTlfOF8yN18xOV8yNl8xXzIwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV81Ml8xXzQwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV83OF8xXzgwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICJThfOF84XzhfOF82MF8xM18yXzJfMCwwLDAsMCwwLDAsMF8wMTEJAMwIAgIlOF84XzhfOF84XzYwXzI2XzJfNF8wLDAsMCwwLDAsMCwwXzAxMQkAzAgCAiU4XzhfOF84XzhfNjBfMzlfMl84XzAsMCwwLDAsMCwwLDBfMDExCQDMCAICKTMwXzMwXzNfMTdfMTdfM18zMF8zXzMwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM182MF8zXzUwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM185MF8zXzcwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzExXzRfMzBfMCwwLDAsMCwwLDAsMF8yMDEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMjJfNF81MF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8zM180XzcwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKjRfMTNfMjJfNF8zNV8yMl8yM18wXzUwLDEsMF8wLDAsMCwwLDAsMCwwXwkAzAgCAio0XzEzXzIyXzRfMzVfMjJfNDZfMF81MCwxLDFfMCwyLDUsMCwwLDAsMF8JAMwIAgIrNF8xM18yMl80XzM1XzIyXzY5XzBfNTAsMiwxXzAsNSwxMCwwLDAsMCwwXwkAzAgCAio1XzI1XzQwXzVfMTBfMTVfMjBfMV8zMCwxLDFfMCwwLDAsMCwwLDAsMF8JAMwIAgIqNV8yNV80MF81XzEwXzE1XzQwXzFfMzAsMSwyXzIsMSwzLDAsMCwwLDBfCQDMCAICKjVfMjVfNDBfNV8xMF8xNV82MF8xXzMwLDEsM181LDIsOCwwLDAsMCwwXwUDbmlsAAlySWR4Q29lZmYABgAOUFJPRFVDVFBLR1NJWkUACgERa2V5TGFzdFR4SWRCeVVzZXIBBGFkZHIJAKwCAgIPbGFzdFR4SWRCeVVzZXJfBQRhZGRyARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIJbmZ0T3duZXJfBQdhc3NldElkARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAhhsYW5kQ3VzdG9tTmFtZUJ5QXNzZXRJZF8FB2Fzc2V0SWQBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILc3Rha2VkVGltZV8FB2Fzc2V0SWQBFmtleUluZnJhTGV2ZWxCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILaW5mcmFMZXZlbF8FB2Fzc2V0SWQBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgR0eXBlB2Fzc2V0SWQJALkJAgkAzAgCAg1sYW5kQXJ0U3RhdHVzCQDMCAIFBHR5cGUJAMwIAgUHYXNzZXRJZAUDbmlsAgFfARJrZXlXYXJlaG91c2VCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCndhcmVIb3VzZV8FC2xhbmRBc3NldElkARdrZXlGb3J0aWZpY2F0aW9uc0J5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIPZm9ydGlmaWNhdGlvbnNfBQtsYW5kQXNzZXRJZAERa2V5TGFzdFJvYmJlZFRpbWUBC2xhbmRBc3NldElkCQCsAgICD2xhc3RSb2JiZWRUaW1lXwULbGFuZEFzc2V0SWQBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQdhc3NldElkCQCsAgICGGR1Y2tDdXN0b21OYW1lQnlBc3NldElkXwUHYXNzZXRJZAEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEEYWRkcgkArAICAhhhY2NvdW50Q3VzdG9tTmFtZUJ5QWRkcl8FBGFkZHIBD2tleUFkZHJlc3NSZWZCeQEEYWRkcgkArAICAglhY2NSZWZCeV8FBGFkZHIBHGtleU9uYm9hcmRBcnREdWNrQWN0aXZhdGVkQnkBBGFkZHIJAKwCAgIab25ib2FyZEFydEFjdGl2YXRlZER1Y2tCeV8FBGFkZHIBE2tleUFkZHJlc3NSZWZlcnJhbHMBBGFkZHIJAKwCAgINYWNjUmVmZXJyYWxzXwUEYWRkcgEQa2V5RHVja0lkVG9Pd25lcgEHYXNzZXRJZAkArAICAgpkdWNrT3duZXJfBQdhc3NldElkARRrZXlTdGFrZWREdWNrQnlPd25lcgEJb3duZXJBZGRyCQCsAgICEnN0YWtlZER1Y2tCeU93bmVyXwUJb3duZXJBZGRyAQ9rZXlEdWNrTG9jYXRpb24BC2R1Y2tBc3NldElkCQCsAgICDWR1Y2tMb2NhdGlvbl8FC2R1Y2tBc3NldElkAQprZXlCbG9ja2VkAAIQY29udHJhY3RzQmxvY2tlZAEOa2V5T3JkZXJCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCmxhbmRPcmRlcl8FC2xhbmRBc3NldElkAQ5rZXlFc1dhcmVob3VzZQACGmVtZXJnZW5jeVdhcmVob3VzZVByb2R1Y3RzAA1sYXN0VG91cklkS2V5Ag4lc19fbGFzdFRvdXJJZAEVa2V5VG91clN0YXRpY0RhdGFCeUlkAQN0SWQJAKwCAgIWJXMlZF9fdG91clN0YXRpY0RhdGFfXwkApAMBBQN0SWQBFmtleVRvdXJEeW5hbWljRGF0YUJ5SWQBA3RJZAkArAICAhclcyVkX190b3VyRHluYW1pY0RhdGFfXwkApAMBBQN0SWQBF2tleUFsbFJlZ2lzdHJhbnRzQnlUb3VyAQN0SWQJAKwCAgIWJXMlZF9fYWxsUmVnaXN0cmFudHNfXwkApAMBBQN0SWQACWlkeFN0YXRpYwAAAAppZHhEeW5hbWljAAEBC2dldFRvdXJEYXRhAgx0b3VyQ29udHJhY3QDdElkBAZzdGF0aWMJALUJAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDHRvdXJDb250cmFjdAkBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEFA3RJZAkArAICCQCsAgICGUVycm9yIHJlYWRpbmcgdG91cm5hbWVudCAJAKQDAQUDdElkAgUgZGF0YQICX18EB2R5bmFtaWMJALUJAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDHRvdXJDb250cmFjdAkBFmtleVRvdXJEeW5hbWljRGF0YUJ5SWQBBQN0SWQJAKwCAgkArAICAhlFcnJvciByZWFkaW5nIHRvdXJuYW1lbnQgCQCkAwEFA3RJZAIFIGRhdGECAl9fCQDMCAIFBnN0YXRpYwkAzAgCBQdkeW5hbWljBQNuaWwAE3RTdGF0aWNSZWdpc3RlckNvc3QAAgASdFN0YXRpY0F0dGVtcHRDb3N0AAMADHRTdGF0aWNTdGFydAAFAAp0U3RhdGljRW5kAAYADnREeW5hbWljU3RhdHVzAAEAD3REeW5hbWljV2luRHVjawACABF0RHluYW1pY1dpblJlc3VsdAADABV0RHluYW1pY1RvdGFsUmVnQ291bnQABAAVdER5bmFtaWNUb3RhbEF0dGVtcHRzAAUBHGtleUlzUmVnaXN0ZXJlZEJ5VG91ckFuZER1Y2sCA3RJZAtkdWNrQXNzZXRJZAkAuQkCCQDMCAICISVzJWQlc19faXNSZWdpc3RlcmVkQnlUb3VyQW5kRHVjawkAzAgCCQCkAwEFA3RJZAkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsAgJfXwEba2V5TGFzdEF0dGVtcHRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAiAlcyVkJXNfX2xhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawkAzAgCCQCkAwEFA3RJZAkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsAgJfXwEaa2V5QmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sCA3RJZAtkdWNrQXNzZXRJZAkAuQkCCQDMCAICHyVzJWQlc19fYmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BEmdldFJlY2lwZU1hdGVyaWFscwEGcmVjaXBlCQBoAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnJlY2lwZQUJcklkeENvZWZmBQlDT0VGRjJNQVQABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgARSW5mcmFVcGdyYWRlQ29zdFMEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgMivoCUDCQAAAgEBVAUHJG1hdGNoMACAwtcvCQACAQINVW5rbm93biBjaGFpbgAMbGFuZENvb2xkb3duBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAICupgoDCQAAAgEBVAUHJG1hdGNoMADAzyQJAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABU1VTFQ4AIDC1y8ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACABRJZHhDZmdHb3Zlcm5hbmNlRGFwcAADAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUAFElkeENmZ0ludmVzdEZ1bmREYXBwAAYAFElkeENmZ1RvdXJuYW1lbnREYXBwAAcBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAtnb3ZDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0dvdmVybmFuY2VEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwABJpbnZlc3RGdW5kQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAASdG91cm5hbWVudENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnVG91cm5hbWVudERhcHAACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAAp3bGdBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgULd2xnQ29udHJhY3QFDXdsZ0Fzc2V0SWRLZXkCE05vdCBpbml0aWFsaXplZCB5ZXQACklkeEVmZlVzZXIAAQERa2V5UmVzUHJvcG9ydGlvbnMAAhNyZXNUeXBlc1Byb3BvcnRpb25zARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhRzdGFrZWRQaWVjZXNCeU93bmVyXwUJb3duZXJBZGRyAQhhc1N0cmluZwEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEJYXNCb29sZWFuAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXMFByRtYXRjaDAFAXMJAAIBAhlmYWlsIHRvIGNhc3QgaW50byBCb29sZWFuAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkUGllY2VzQnlPd25lcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFCnRvdGFsUG93ZXIJAMwIAgUKdXNlcnNQb3dlcgUDbmlsAA1VU0RUUFJJWkVQQVJUAKDCHgAKYWRtaW5zTGlzdAkAzAgCCQClCAEFBHRoaXMJAMwIAgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1A2NHFFVnp1R3pCSnVZZkRYWWlzRnRva0pDaFNSYTh1amEDCQAAAgEBVAUHJG1hdGNoMAIjM04zZ1NGclR3Z2lMQUZaSE11SnJFdHRodDFuUGhua3B2anMJAAIBAg1Vbmtub3duIGNoYWluBQNuaWwBEmFzTGlzdEludENvbXBhY3RlZAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAp2YWxBbnlMaXN0BQckbWF0Y2gwAwkBAiE9AgkAkAMBBQp2YWxBbnlMaXN0BQZOVU1SRVMJAAIBCQCsAgICDkFycmF5IHNpemUgaXMgCQCkAwEJAJADAQUKdmFsQW55TGlzdAoBBGNvbnYCA2FjYwRpdGVtBAckbWF0Y2gxBQRpdGVtAwkAAQIFByRtYXRjaDECA0ludAQCaXQFByRtYXRjaDEJAM0IAgUDYWNjCQCkAwEFAml0CQACAQIUTGlzdCB0eXBlIGlzIG5vdCBJbnQEAXIKAAIkbAUKdmFsQW55TGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEY29udgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgkAuQkCBQFyAgFfCQACAQIWZmFpbCB0byBjYXN0IGludG8gTGlzdAENYXNTcGxpdFJlc3VsdAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIWKExpc3RbQW55XSwgTGlzdFtBbnldKQQCdDIFByRtYXRjaDAJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMQkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMgkAAgECHmZhaWwgdG8gY2FzdCBpbnRvIChMaXN0LCBMaXN0KQEOd2FsbGV0SW50ZXJuYWwBDnVzZXJBZGRyZXNzT3B0BARhZGRyCQCmCAEFDnVzZXJBZGRyZXNzT3B0BAdiYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAO8HAQkBBXZhbHVlAQUEYWRkcgkBDkJhbGFuY2VEZXRhaWxzBAAAAAAAAAAABAt1c2R0QmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFC3VzZHRBc3NldElkAAAEDXdsZ29sZEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQp3bGdBc3NldElkAAAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQhyZWZCeUtleQQEcmVmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARNrZXlBZGRyZXNzUmVmZXJyYWxzAQUOdXNlckFkZHJlc3NPcHQCAAQIbGFzdFR4SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5TGFzdFR4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAZwaWVjZXMJAJEDAgkBDmdldFZvdGluZ1Bvd2VyAQUOdXNlckFkZHJlc3NPcHQFCklkeEVmZlVzZXIEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleVVzZXJYUAEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlVc2VyTGV2ZWwBBQ51c2VyQWRkcmVzc09wdAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVVzZXJGcmVlUG9pbnRzAQUOdXNlckFkZHJlc3NPcHQAAAQHb25ib2FyZAMJAQlpc0RlZmluZWQBBQVyZWZCeQkArAICBQpBUlRPTkJPQVJEAwMJAQlpc0RlZmluZWQBBQRhZGRyCQEJaXNEZWZpbmVkAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARxrZXlPbmJvYXJkQXJ0RHVja0FjdGl2YXRlZEJ5AQUOdXNlckFkZHJlc3NPcHQHAgI6MQICOjACAAkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJXNfX3JlZmVycmVkQnlfXwkBC3ZhbHVlT3JFbHNlAgUFcmVmQnkCAAkAzAgCCQCsAgICESVzJXNfX3JlZmVycmFsc19fBQRyZWZzCQDMCAIJAKwCAgIQJXMlc19fbGFzdFR4SWRfXwUIbGFzdFR4SWQJAMwIAgkArAICAhQlcyVkX193YXZlc0JhbGFuY2VfXwkApAMBCAUHYmFsYW5jZQlhdmFpbGFibGUJAMwIAgkArAICAhUlcyVkX193bGdvbGRCYWxhbmNlX18JAKQDAQUNd2xnb2xkQmFsYW5jZQkAzAgCCQCsAgICEyVzJWRfX3VzZHRCYWxhbmNlX18JAKQDAQULdXNkdEJhbGFuY2UJAMwIAgkArAICAhQlcyVkX19zdGFrZWRQaWVjZXNfXwkApAMBBQZwaWVjZXMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIXJXMlc19fd2FsbGV0QXJ0ZWZhY3RzX18FB29uYm9hcmQFA25pbAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAAAEBGFkZDYJAGkCBQppbmZyYUxldmVsAAYEBGFkZDcJAGkCBQppbmZyYUxldmVsAAcJAJUKAwUKaW5mcmFMZXZlbAUJYXJ0UGllY2VzCQBkAgkAZAIFD0RBSUxZUkVTQllQSUVDRQkAawMFD0RBSUxZUkVTQllQSUVDRQkAZAIJAGQCBQppbmZyYUxldmVsBQRhZGQ2CQBoAgACBQRhZGQ3AAUJAGsDBQ9EQUlMWVJFU0JZUElFQ0UFCWFydFBpZWNlcwkAaAIFBnBpZWNlcwAFARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEJdm9sUHJlZml4BAVwYXJ0cwkAtQkCBQl2b2xQcmVmaXgCAV8JAGgCCQBoAgUMV0hNVUxUSVBMSUVSCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAEAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAABDGdldFdhcmVob3VzZQMFd2hLZXkJbGFuZEluZGV4CmluZnJhTGV2ZWwECXZvbFByZWZpeAkArAICCQCsAgIJAKQDAQUJbGFuZEluZGV4AgFfCQCkAwEFCmluZnJhTGV2ZWwEBHRvdFMJAKQDAQkBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQUJdm9sUHJlZml4BAV3aFN0cgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QFBXdoS2V5CQCsAgIJAKwCAgkArAICCQCsAgIFCXZvbFByZWZpeAIeOjBfMF8wXzBfMF8wOjBfMF8wXzBfMF8wOjowXzBfBQR0b3RTAgFfBQR0b3RTCQC1CQIFBXdoU3RyAgE6AQ1kdWNrSW5mb1R1cGxlAQtkdWNrQXNzZXRJZAQFbWF4SFAJAQltYXhIZWFsdGgBCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tMZXZlbAEFC2R1Y2tBc3NldElkAAAJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQtkdWNrQXNzZXRJZARuYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUR1Y2tMb2NhdGlvbgEFC2R1Y2tBc3NldElkAgAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQENa2V5RHVja0hlYWx0aAEFC2R1Y2tBc3NldElkBQVtYXhIUAkBCGFzU3RyaW5nAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCE2dldEJhY2twYWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQFA25pbAUDbmlsAQ1kdWNrSW5mb0FycmF5AwtkdWNrQXNzZXRJZAVvd25lcgdkdWNrSW5mBApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQULZHVja0Fzc2V0SWQIBQdkdWNrSW5mAl8yBAVjaGFycwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQ2hhcnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlEdWNrWFABBQtkdWNrQXNzZXRJZAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlEdWNrRnJlZVBvaW50cwEFC2R1Y2tBc3NldElkAAAEBmVxdWlwbQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrRXF1aXBtZW50AQULZHVja0Fzc2V0SWQCCztfO187XztfO187BAVidWZmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQnVmZnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wCQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtkdWNrQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEIBQdkdWNrSW5mAl8xCQDMCAIJAKwCAgIMJXMlc19fbmFtZV9fCAUHZHVja0luZgJfMgkAzAgCCQCsAgICECVzJXNfX2xvY2F0aW9uX18IBQdkdWNrSW5mAl8zCQDMCAIJAKwCAgIOJXMlZF9faGVhbHRoX18JAKQDAQgFB2R1Y2tJbmYCXzQJAMwIAgkArAICAhElcyVkX19tYXhIZWFsdGhfXwkApAMBCQEJbWF4SGVhbHRoAQUDbHZsCQDMCAIJAKwCAgIXJXMlc19fY2hhcmFjdGVyaXN0aWNzX18FBWNoYXJzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81CQDMCAIJAKwCAgIRJXMlc19fZXF1aXBtZW50X18FBmVxdWlwbQkAzAgCCQCsAgICDSVzJXNfX2J1ZmZzX18FBWJ1ZmZzBQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBBQtsYW5kQXNzZXRJZAkArAICCQCsAgIJAJEDAgUBZAUMcmVjQ29udGluZW50AgEtCQCRAwIFAWQFCnJlY0xhbmROdW0EBGZvcnQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEXa2V5Rm9ydGlmaWNhdGlvbnNCeUxhbmQBBQtsYW5kQXNzZXRJZAIMOjBfMTU6MF8xODowBApsYXN0Um9iYmVkCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUxhc3RSb2JiZWRUaW1lAQULbGFuZEFzc2V0SWQAAAkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwkAuQkCCQDMCAIFB2xhbmROdW0JAMwIAgkAkQMCBQFkBQtyZWNMYW5kU2l6ZQkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zCQDMCAIJAJEDAgUBZAUMcmVjQ29udGluZW50BQNuaWwCAV8JAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQCsAgICFiVzJXNfX2F2YWlsUmVzQnlUeXBlX18IBQ5nbG9iYWxBbmRMb2NhbAJfMgkAzAgCCQCsAgICFSVzJWRfX2F2YWlsUmVzVG90YWxfXwkApAMBBQhhdmFpbFJlcwkAzAgCCQCsAgICFCVzJXNfX25lZWRNYXRlcmlhbF9fCAUOZ2xvYmFsQW5kTG9jYWwCXzEJAMwIAgkArAICAh0lcyVzX19sYW5kQXJ0ZWZhY3RzX19QUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoJAMwIAgkArAICAhYlcyVzX19mb3J0aWZpY2F0aW9uc19fBQRmb3J0CQDMCAIJAKwCAgIYJXMlZF9fY2FuQmVSb2JiZWRBZnRlcl9fCQCkAwEJAGQCBQpsYXN0Um9iYmVkBQxsYW5kQ29vbGRvd24FA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwTAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAJAKUIAQUEdGhpcwUDbmlsAWkBEndhbGxldEluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQJAJQKAgUDbmlsCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARdkdWNrQnlPd25lckluZm9SRUFET05MWQELdXNlckFkZHJlc3MECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQt1c2VyQWRkcmVzcwkAlAoCBQNuaWwDAwkBCWlzRGVmaW5lZAEJAKYIAQULdXNlckFkZHJlc3MJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFC3VzZXJBZGRyZXNzCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQENZHVja0luZm9BcnJheQMCAAULdXNlckFkZHJlc3MJAJcKBQD///////////8BAgACAAD///////////8BAgABaQEZZHVja0J5QXNzZXRJZEluZm9SRUFET05MWQELZHVja0Fzc2V0SWQEBW93bmVyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAkAlAoCBQNuaWwJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQDCQEJaXNEZWZpbmVkAQUFb3duZXIJAQV2YWx1ZQEFBW93bmVyAgAJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQBaQEZbGFuZEJ5QXNzZXRJZEluZm9SRUFET05MWQELbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lAWkBHnN0YWtlZExhbmRzQnlPd25lckluZm9SRUFET05MWQEQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRM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CgIFA25pbAkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgFpARtvcmRlcnNCeUxhbmRJZHNJbmZvUkVBRE9OTFkBDGxhbmRBc3NldElkcwoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBBQtsYW5kQXNzZXRJZAIACQDNCAIFA2FjYwkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgQBcgoAAiRsBQxsYW5kQXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDQwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzEC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C3VzZXJBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAQDYW10CQBrAwkA8AcCBQR0aGlzBQt1c2R0QXNzZXRJZAUNVVNEVFBSSVpFUEFSVAUFTVVMVDYJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQt1c2VyQWRkcmVzcwUDYW10BQt1c2R0QXNzZXRJZAUDbmlsBQNhbXQBaQEfZ2V0RW1lcmdlbmN5U2VydmljZURhdGFSRUFET05MWQAECGV4aXN0U3RyCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleUVzV2FyZWhvdXNlAAQMZXhpc3RBbW91bnRzAwkBCWlzRGVmaW5lZAEFCGV4aXN0U3RyCQC8CQIJAQV2YWx1ZQEFCGV4aXN0U3RyAgFfBQNuaWwKAQpzaW5nbGVQcm9kAgNhY2MJcmVjaXBlU3RyBAFuCAUDYWNjAl8yBAZyZWNpcGUJALUJAgUJcmVjaXBlU3RyAgFfBAltYXhBbW91bnQDCQAAAgUBbgAACQBoAgUNRVNNQVhQQUNLQUdFUwUOUFJPRFVDVFBLR1NJWkUAAAQLZXhpc3RBbW91bnQDCQBmAgkAkAMBBQxleGlzdEFtb3VudHMFAW4JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQxleGlzdEFtb3VudHMFAW4AAAQIdG90YWxNYXQJARJnZXRSZWNpcGVNYXRlcmlhbHMBBQZyZWNpcGUECGJ1eVByaWNlCQBrAwkAaAIFCHRvdGFsTWF0BQlFU0JVWUNPRUYFEFJFU09VUkNFUFJJQ0VNSU4JAGgCBQVNVUxUOAUOUFJPRFVDVFBLR1NJWkUECXNlbGxQcmljZQkAawMJAGgCBQh0b3RhbE1hdAUKRVNTRUxMQ09FRgUQUkVTT1VSQ0VQUklDRU1JTgkAaAIFBU1VTFQ4BQ5QUk9EVUNUUEtHU0laRQQBeQkAuQkCCQDMCAIJAKQDAQUJbWF4QW1vdW50CQDMCAIJAKQDAQULZXhpc3RBbW91bnQJAMwIAgkApAMBBQhidXlQcmljZQkAzAgCCQCkAwEFCXNlbGxQcmljZQUDbmlsAgFfCQCUCgIJAM0IAggFA2FjYwJfMQUBeQkAZAIFAW4AAQQBcwkAugkCCAoAAiRsBRBwcm9kdWN0aW9uTWF0cml4CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKc2luZ2xlUHJvZAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgNTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyAl8xAgE6BAZyZXN1bHQJAKwCAgIcJXMlc19fZW1lcmdlbmN5U2VydmljZURhdGFfXwUBcwkAlAoCBQNuaWwFBnJlc3VsdAFpARB3bGdTdGF0c1JFQURPTkxZAQt1c2VyQWRkck9wdAQIY3VyU3RhdHMJAQtnZXRXbGdTdGF0cwQFC3VzZXJBZGRyT3B0CQDMCAIFDHJlc3RDb250cmFjdAkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgUPZWNvbm9teUNvbnRyYWN0CQDMCAIFC2dvdkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAkAlAoCBQNuaWwJAMwIAgkArAICAhElcyVkX193bGdBbW91bnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBQxpZHhXbGdBbW91bnQJAMwIAgkArAICAhAlcyVkX193bGdQcmljZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ1ByaWNlCQDMCAIJAKwCAgIRJXMlZF9fdXNkdEZ1bmRzX18JAKQDAQkAkQMCBQhjdXJTdGF0cwULaWR4V2xnRnVuZHMJAMwIAgkArAICAhMlcyVkX191c2R0RWNvbm9teV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFDWlkeFdsZ0Vjb25vbXkJAMwIAgkArAICAhQlcyVkX191c2R0QWN0aXZpdHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3Rpdml0eQkAzAgCCQCsAgICFSVzJWRfX3VzZHRBcmJpdHJhZ2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhAlcyVkX191c2R0UG9vbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFCmlkeFdsZ1Bvb2wJAMwIAgkArAICAhQlcyVkX193bGdJc3N1ZVRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdJc3N1ZVRpbWUJAMwIAgkArAICAiMlcyVkX193bGdMYXN0TWFya2V0aW5nVGVhbUFjdFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdMYXN0TVRBVGltZQkAzAgCCQCsAgICGSVzJWRfX3dsZ01hcmtldGluZ1RvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnTWFya2V0aW5nVG90YWwJAMwIAgkArAICAholcyVkX193bGdNYXJrZXRpbmdBbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRVpZHhXbGdNYXJrZXRpbmdBbUxlZnQJAMwIAgkArAICAh4lcyVkX193bGdNYXJrZXRpbmdBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwkAzAgCCQCsAgICGiVzJWRfX3dsZ01hcmtldGluZ1dsZ29sZF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFWlkeFdsZ01hcmtldGluZ1dsZ29sZAkAzAgCCQCsAgICFCVzJWRfX3dsZ1RlYW1Ub3RhbF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ1RlYW1Ub3RhbAkAzAgCCQCsAgICFSVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIZJXMlZF9fd2xnVGVhbUFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdUZWFtQW1BdmFpbE5vdwkAzAgCCQCsAgICFSVzJWRfX3dsZ1RlYW1XbGdvbGRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtV2xnb2xkCQDMCAIJAKwCAgITJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFCVzJWRfX3dsZ0FjdEFtTGVmdF9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFD2lkeFdsZ0FjdEFtTGVmdAkAzAgCCQCsAgICGCVzJWRfX3dsZ0FjdEFtQXZhaWxOb3dfXwkApAMBCQCRAwIFCGN1clN0YXRzBRNpZHhXbGdBY3RBbUF2YWlsTm93CQDMCAIJAKwCAgIUJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIUJXMlZF9fd2xnQ3VyUGVyaW9kX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQ3VyUGVyaW9kCQDMCAIJAKwCAgIWJXMlZF9fd2xnQW1MZWZ0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdBbUxlZnRUb3RhbAkAzAgCCQCsAgICICVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICFyVzJWRfX3dsZ0xhc3RVc2VyVGltZV9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFEmlkeFdsZ0xhc3RVc2VyVGltZQkAzAgCCQCsAgICGSVzJWRfX3dsZ1VzZXJBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUUaWR4V2xnVXNlckFtQXZhaWxOb3cJAMwIAgkArAICAholcyVkX193bGdHdWVzdFNMYW5kRGFpbHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdTTGFuZERhaWx5QW1vdW50CQDMCAIJAKwCAgIaJXMlZF9fd2xnSW52ZXN0RnVuZFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUWaWR4V2xnSW52ZXN0RnVuZEFtb3VudAUDbmlsAWkBF3RvdXJuYW1lbnRTdGF0c1JFQURPTkxZAQx0b3VybmFtZW50SWQEBXREYXRhCQELZ2V0VG91ckRhdGECBRJ0b3VybmFtZW50Q29udHJhY3QFDHRvdXJuYW1lbnRJZAQGc3RhdGljCQCRAwIFBXREYXRhBQlpZHhTdGF0aWMEB2R5bmFtaWMJAJEDAgUFdERhdGEFCmlkeER5bmFtaWMEB3dpbkR1Y2sDCQAAAgkAkQMCBQdkeW5hbWljBQ90RHluYW1pY1dpbkR1Y2sCAAIBIAkAkQMCBQdkeW5hbWljBQ90RHluYW1pY1dpbkR1Y2sEC3JlZ2lzdHJhbnRzCQELdmFsdWVPckVsc2UCCQCdCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBF2tleUFsbFJlZ2lzdHJhbnRzQnlUb3VyAQUMdG91cm5hbWVudElkAgAJAJQKAgUDbmlsCQDMCAIJAKwCAgIcJXMlc19fdG91cm5hbWVudFN0YXRpY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUGc3RhdGljBRN0U3RhdGljUmVnaXN0ZXJDb3N0CQDMCAIJAJEDAgUGc3RhdGljBRJ0U3RhdGljQXR0ZW1wdENvc3QJAMwIAgkAkQMCBQZzdGF0aWMFDHRTdGF0aWNTdGFydAkAzAgCCQCRAwIFBnN0YXRpYwUKdFN0YXRpY0VuZAUDbmlsAgFfCQDMCAIJAKwCAgIdJXMlc19fdG91cm5hbWVudER5bmFtaWNEYXRhX18JALkJAgkAzAgCCQCRAwIFB2R5bmFtaWMFDnREeW5hbWljU3RhdHVzCQDMCAIFB3dpbkR1Y2sJAMwIAgkAkQMCBQdkeW5hbWljBRF0RHluYW1pY1dpblJlc3VsdAkAzAgCCQCRAwIFB2R5bmFtaWMFFXREeW5hbWljVG90YWxSZWdDb3VudAkAzAgCCQCRAwIFB2R5bmFtaWMFFXREeW5hbWljVG90YWxBdHRlbXB0cwUDbmlsAgFfCQDMCAIJAKwCAgIdJXMlc19fdG91cm5hbWVudFJlZ2lzdHJhbnRzX18FC3JlZ2lzdHJhbnRzBQNuaWwBaQEbbGFzdFRvdXJuYW1lbnRTdGF0c1JFQURPTkxZAAQMdG91cm5hbWVudElkCQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAUNbGFzdFRvdXJJZEtleQAABAZzdGF0aWMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARVrZXlUb3VyU3RhdGljRGF0YUJ5SWQBBQx0b3VybmFtZW50SWQCGCVzJWQlZCVkJWQlZF9fX19fX19fX19fXwUDU0VQBAdkeW5hbWljCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEWa2V5VG91ckR5bmFtaWNEYXRhQnlJZAEFDHRvdXJuYW1lbnRJZAIUJXMlcyVkJWQlZF9fX19fX19fX18FA1NFUAQHd2luRHVjawMJAAACCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawIAAgEgCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawQLcmVnaXN0cmFudHMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEXa2V5QWxsUmVnaXN0cmFudHNCeVRvdXIBBQx0b3VybmFtZW50SWQCAAkAlAoCBQNuaWwJAMwIAgkArAICAhglcyVzX19sYXN0VG91cm5hbWVudElkX18JAKQDAQUMdG91cm5hbWVudElkCQDMCAIJAKwCAgIcJXMlc19fdG91cm5hbWVudFN0YXRpY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUGc3RhdGljBRN0U3RhdGljUmVnaXN0ZXJDb3N0CQDMCAIJAJEDAgUGc3RhdGljBRJ0U3RhdGljQXR0ZW1wdENvc3QJAMwIAgkAkQMCBQZzdGF0aWMFDHRTdGF0aWNTdGFydAkAzAgCCQCRAwIFBnN0YXRpYwUKdFN0YXRpY0VuZAUDbmlsAgFfCQDMCAIJAKwCAgIdJXMlc19fdG91cm5hbWVudER5bmFtaWNEYXRhX18JALkJAgkAzAgCCQCRAwIFB2R5bmFtaWMFDnREeW5hbWljU3RhdHVzCQDMCAIFB3dpbkR1Y2sJAMwIAgkAkQMCBQdkeW5hbWljBRF0RHluYW1pY1dpblJlc3VsdAkAzAgCCQCRAwIFB2R5bmFtaWMFFXREeW5hbWljVG90YWxSZWdDb3VudAkAzAgCCQCRAwIFB2R5bmFtaWMFFXREeW5hbWljVG90YWxBdHRlbXB0cwUDbmlsAgFfCQDMCAIJAKwCAgIdJXMlc19fdG91cm5hbWVudFJlZ2lzdHJhbnRzX18FC3JlZ2lzdHJhbnRzBQNuaWwBaQEbdG91cm5hbWVudER1Y2tTdGF0c1JFQURPTkxZAgN0SWQLZHVja0Fzc2V0SWQECWlzRHVja1JlZwkBC3ZhbHVlT3JFbHNlAgkAmwgCBRJ0b3VybmFtZW50Q29udHJhY3QJARxrZXlJc1JlZ2lzdGVyZWRCeVRvdXJBbmREdWNrAgUDdElkBQtkdWNrQXNzZXRJZAcED2xhc3REdWNrQXR0ZW1wdAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJ0b3VybmFtZW50Q29udHJhY3QJARtrZXlMYXN0QXR0ZW1wdEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkAAAEDmJlc3REdWNrUmVzdWx0CQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBGmtleUJlc3RSZXN1bHRCeVRvdXJBbmREdWNrAgUDdElkBQtkdWNrQXNzZXRJZAAACQCUCgIFA25pbAkAzAgCCQCsAgICGyVzJXNfX3RvdXJuYW1lbnREdWNrU3RhdHNfXwkAuQkCCQDMCAIJAKUDAQUJaXNEdWNrUmVnCQDMCAIJAKQDAQUPbGFzdER1Y2tBdHRlbXB0CQDMCAIJAKQDAQUOYmVzdER1Y2tSZXN1bHQFA25pbAIBXwUDbmlsAB6mMQc=", "height": 2725280, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GmktsuBXFZWxoGBVuk4TPKHf95GngVCRhLgWUt9suifJ Next: 3sN5any3J8EURrqVnb3H9tHJ8d7tRVs6Udc6bANXSLn1 Diff:
OldNewDifferences
271271 func bY (bX) = ("fortifications_" + bX)
272272
273273
274-func bZ (bQ) = ("duckCustomNameByAssetId_" + bQ)
274+func bZ (bX) = ("lastRobbedTime_" + bX)
275275
276276
277-func ca (t) = ("accountCustomNameByAddr_" + t)
277+func ca (bQ) = ("duckCustomNameByAssetId_" + bQ)
278278
279279
280-func cb (t) = ("accRefBy_" + t)
280+func cb (t) = ("accountCustomNameByAddr_" + t)
281281
282282
283-func cc (t) = ("onboardArtActivatedDuckBy_" + t)
283+func cc (t) = ("accRefBy_" + t)
284284
285285
286-func cd (t) = ("accReferrals_" + t)
286+func cd (t) = ("onboardArtActivatedDuckBy_" + t)
287287
288288
289-func ce (bQ) = ("duckOwner_" + bQ)
289+func ce (t) = ("accReferrals_" + t)
290290
291291
292-func cf (cg) = ("stakedDuckByOwner_" + cg)
292+func cf (bQ) = ("duckOwner_" + bQ)
293293
294294
295-func ch (bo) = ("duckLocation_" + bo)
295+func cg (ch) = ("stakedDuckByOwner_" + ch)
296296
297297
298-func ci () = "contractsBlocked"
298+func ci (bo) = ("duckLocation_" + bo)
299299
300300
301-func cj (bX) = ("landOrder_" + bX)
301+func cj () = "contractsBlocked"
302302
303303
304-func ck () = "emergencyWarehouseProducts"
304+func ck (bX) = ("landOrder_" + bX)
305305
306306
307-let cl = "%s__lastTourId"
308-
309-func cm (cn) = ("%s%d__tourStaticData__" + toString(cn))
307+func cl () = "emergencyWarehouseProducts"
310308
311309
312-func co (cn) = ("%s%d__tourDynamicData__" + toString(cn))
310+let cm = "%s__lastTourId"
311+
312+func cn (co) = ("%s%d__tourStaticData__" + toString(co))
313313
314314
315-func cp (cn) = ("%s%d__allRegistrants__" + toString(cn))
315+func cp (co) = ("%s%d__tourDynamicData__" + toString(co))
316316
317317
318-let cq = 0
318+func cq (co) = ("%s%d__allRegistrants__" + toString(co))
319319
320-let cr = 1
321320
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]
321+let cr = 0
322+
323+let cs = 1
324+
325+func ct (cu,co) = {
326+ let cv = split(valueOrErrorMessage(getString(cu, cn(co)), (("Error reading tournament " + toString(co)) + " data")), "__")
327+ let cw = split(valueOrErrorMessage(getString(cu, cp(co)), (("Error reading tournament " + toString(co)) + " data")), "__")
328+[cv, cw]
326329 }
327330
328331
329-let cw = 2
332+let cx = 2
330333
331-let cx = 3
334+let cy = 3
332335
333-let cy = 5
336+let cz = 5
334337
335-let cz = 6
338+let cA = 6
336339
337-let cA = 1
340+let cB = 1
338341
339-let cB = 2
342+let cC = 2
340343
341-let cC = 3
344+let cD = 3
342345
343-let cD = 4
346+let cE = 4
344347
345-let cE = 5
348+let cF = 5
346349
347-func cF (cn,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cn), bo], "__")
350+func cG (co,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(co), bo], "__")
348351
349352
350-func cG (cn,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cn), bo], "__")
353+func cH (co,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(co), bo], "__")
351354
352355
353-func cH (cn,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cn), bo], "__")
356+func cI (co,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(co), bo], "__")
354357
355358
356-func cI (cJ) = (parseIntValue(cJ[bM]) * bK)
359+func cJ (cK) = (parseIntValue(cK[bM]) * bK)
357360
358361
359-let cK = take(drop(this.bytes, 1), 1)
362+let cL = take(drop(this.bytes, 1), 1)
360363
361-let cL = {
362- let cM = cK
363- if ((base58'2W' == cM))
364+let cM = {
365+ let cN = cL
366+ if ((base58'2W' == cN))
364367 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
365- else if ((base58'2T' == cM))
368+ else if ((base58'2T' == cN))
366369 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
367370 else throw("Unknown chain")
368371 }
369372
370-let cN = {
371- let cM = cK
372- if ((base58'2W' == cM))
373+let cO = {
374+ let cN = cL
375+ if ((base58'2W' == cN))
373376 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
374- else if ((base58'2T' == cM))
377+ else if ((base58'2T' == cN))
375378 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
376379 else throw("Unknown chain")
377380 }
378381
379-let cO = {
380- let cM = cK
381- if ((base58'2W' == cM))
382+let cP = {
383+ let cN = cL
384+ if ((base58'2W' == cN))
382385 then 10000000000
383- else if ((base58'2T' == cM))
386+ else if ((base58'2T' == cN))
384387 then 100000000
385388 else throw("Unknown chain")
386389 }
387390
388-let cP = "__"
391+let cQ = {
392+ let cN = cL
393+ if ((base58'2W' == cN))
394+ then 21600000
395+ else if ((base58'2T' == cN))
396+ then 600000
397+ else throw("Unknown chain")
398+ }
389399
390-let cQ = 1000000
400+let cR = "__"
391401
392-let cR = 100000000
402+let cS = 1000000
393403
394-let cS = 25
404+let cT = 100000000
395405
396-let cT = 100
406+let cU = 25
397407
398-let cU = 225
408+let cV = 100
399409
400-let cV = 400
410+let cW = 225
401411
402-let cW = 625
412+let cX = 400
403413
404-func cX (cY,cZ) = valueOrErrorMessage(getString(cY, cZ), makeString(["mandatory ", toString(cY), ".", cZ, " is not defined"], ""))
414+let cY = 625
415+
416+func cZ (da,db) = valueOrErrorMessage(getString(da, db), makeString(["mandatory ", toString(da), ".", db, " is not defined"], ""))
405417
406418
407-let da = 1
419+let dc = 1
408420
409-let db = 2
421+let dd = 2
410422
411-let dc = 3
423+let de = 3
412424
413-let dd = 4
425+let df = 4
414426
415-let de = 5
427+let dg = 5
416428
417-let df = 6
429+let dh = 6
418430
419-let dg = 7
431+let di = 7
420432
421-func dh () = "%s__restConfig"
433+func dj () = "%s__restConfig"
422434
423435
424-func di () = "%s__restAddr"
436+func dk () = "%s__restAddr"
425437
426438
427-func dj (dk) = split_4C(cX(dk, dh()), cP)
439+func dl (dm) = split_4C(cZ(dm, dj()), cR)
428440
429441
430-func dl (dm,dn) = valueOrErrorMessage(addressFromString(dm[dn]), ("Rest cfg doesn't contain address at index " + toString(dn)))
442+func dn (do,dp) = valueOrErrorMessage(addressFromString(do[dp]), ("Rest cfg doesn't contain address at index " + toString(dp)))
431443
432444
433-let do = addressFromStringValue(valueOrElse(getString(this, di()), cN))
445+let dq = addressFromStringValue(valueOrElse(getString(this, dk()), cO))
434446
435-let dm = dj(do)
447+let do = dl(dq)
436448
437-let aj = dl(dm, da)
449+let aj = dn(do, dc)
438450
439-let dp = dl(dm, db)
451+let dr = dn(do, dd)
440452
441-let dq = dl(dm, dc)
453+let ds = dn(do, de)
442454
443-let dr = dl(dm, dd)
455+let dt = dn(do, df)
444456
445-let ds = dl(dm, de)
457+let du = dn(do, dg)
446458
447-let aH = dl(dm, df)
459+let aH = dn(do, dh)
448460
449-let dt = dl(dm, dg)
461+let dv = dn(do, di)
450462
451-let du = 0
463+let dw = 0
452464
453-let dv = 1
465+let dx = 1
454466
455-let dw = 2
467+let dy = 2
456468
457-let dx = 3
469+let dz = 3
458470
459-let dy = "wlg_assetId"
471+let dA = "wlg_assetId"
460472
461-let dz = valueOrErrorMessage(getBinary(dr, dy), "Not initialized yet")
473+let dB = valueOrErrorMessage(getBinary(dt, dA), "Not initialized yet")
462474
463-let dA = 1
475+let dC = 1
464476
465-func dB () = "resTypesProportions"
477+func dD () = "resTypesProportions"
466478
467479
468-func dC (cg) = ("stakedLandsByOwner_" + cg)
480+func dE (ch) = ("stakedLandsByOwner_" + ch)
469481
470482
471-func dD (cg) = ("stakedPiecesByOwner_" + cg)
483+func dF (ch) = ("stakedPiecesByOwner_" + ch)
472484
473485
474-func dE (dF) = {
475- let cM = dF
476- if ($isInstanceOf(cM, "String"))
486+func dG (dH) = {
487+ let cN = dH
488+ if ($isInstanceOf(cN, "String"))
477489 then {
478- let dG = cM
479- dG
490+ let dI = cN
491+ dI
480492 }
481493 else throw("fail to cast into String")
482494 }
483495
484496
485-func dH (dF) = {
486- let cM = dF
487- if ($isInstanceOf(cM, "Int"))
497+func dJ (dH) = {
498+ let cN = dH
499+ if ($isInstanceOf(cN, "Int"))
488500 then {
489- let dI = cM
490- dI
501+ let dK = cN
502+ dK
491503 }
492504 else throw("fail to cast into Int")
493505 }
494506
495507
496-func dJ (dF) = {
497- let cM = dF
498- if ($isInstanceOf(cM, "Boolean"))
508+func dL (dH) = {
509+ let cN = dH
510+ if ($isInstanceOf(cN, "Boolean"))
499511 then {
500- let dG = cM
501- dG
512+ let dI = cN
513+ dI
502514 }
503515 else throw("fail to cast into Boolean")
504516 }
505517
506518
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
519+func dM (dN) = {
520+ let cN = dN
521+ if (("S" == cN))
522+ then cU
523+ else if (("M" == cN))
524+ then cV
525+ else if (("L" == cN))
526+ then cW
527+ else if (("XL" == cN))
528+ then cX
529+ else if (("XXL" == cN))
530+ then cY
519531 else throw("Unknown land size")
520532 }
521533
522534
523-func dM (ai) = {
524- let ak = split(valueOrElse(getString(aj, dB()), "0_0_0_0_0_0"), "_")
535+func dO (ai) = {
536+ let ak = split(valueOrElse(getString(aj, dD()), "0_0_0_0_0_0"), "_")
525537 func al (am,an) = (am + parseIntValue(an))
526538
527539 let ao = {
538550
539551 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
540552 }
541- let aw = valueOrElse(getInteger(aj, dD(ai)), 0)
553+ let aw = valueOrElse(getInteger(aj, dF(ai)), 0)
542554 [ao, aw]
543555 }
544556
545557
546-let dN = 500000
558+let dP = 500000
547559
548-let dO = [toString(this), {
549- let cM = cK
550- if ((base58'2W' == cM))
560+let dQ = [toString(this), {
561+ let cN = cL
562+ if ((base58'2W' == cN))
551563 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
552- else if ((base58'2T' == cM))
564+ else if ((base58'2T' == cN))
553565 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
554566 else throw("Unknown chain")
555567 }]
556568
557-func dP (dQ) = {
558- let cM = dQ
559- if ($isInstanceOf(cM, "List[Any]"))
569+func dR (dS) = {
570+ let cN = dS
571+ if ($isInstanceOf(cN, "List[Any]"))
560572 then {
561- let dR = cM
562- if ((size(dR) != bC))
563- then throw(("Array size is " + toString(size(dR))))
573+ let dT = cN
574+ if ((size(dT) != bC))
575+ then throw(("Array size is " + toString(size(dT))))
564576 else {
565- func dS (am,an) = {
566- let dT = an
567- if ($isInstanceOf(dT, "Int"))
577+ func dU (am,an) = {
578+ let dV = an
579+ if ($isInstanceOf(dV, "Int"))
568580 then {
569- let dU = dT
570- (am :+ toString(dU))
581+ let dW = dV
582+ (am :+ toString(dW))
571583 }
572584 else throw("List type is not Int")
573585 }
574586
575- let dV = {
576- let ap = dR
587+ let dX = {
588+ let ap = dT
577589 let aq = size(ap)
578590 let ar = nil
579591 func as (at,au) = if ((au >= aq))
580592 then at
581- else dS(at, ap[au])
593+ else dU(at, ap[au])
582594
583595 func av (at,au) = if ((au >= aq))
584596 then at
586598
587599 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
588600 }
589- makeString(dV, "_")
601+ makeString(dX, "_")
590602 }
591603 }
592604 else throw("fail to cast into List")
593605 }
594606
595607
596-func dW (dQ) = {
597- let cM = dQ
598- if ($isInstanceOf(cM, "(List[Any], List[Any])"))
608+func dY (dS) = {
609+ let cN = dS
610+ if ($isInstanceOf(cN, "(List[Any], List[Any])"))
599611 then {
600- let dX = cM
601- $Tuple2(dP(dX._1), dP(dX._2))
612+ let dZ = cN
613+ $Tuple2(dR(dZ._1), dR(dZ._2))
602614 }
603615 else throw("fail to cast into (List, List)")
604616 }
605617
606618
607-func dY (dZ) = {
608- let t = addressFromString(dZ)
609- let ea = if (isDefined(t))
619+func ea (eb) = {
620+ let t = addressFromString(eb)
621+ let ec = if (isDefined(t))
610622 then wavesBalance(value(t))
611623 else BalanceDetails(0, 0, 0, 0)
612- let eb = if (isDefined(t))
613- then assetBalance(value(t), cL)
624+ let ed = if (isDefined(t))
625+ then assetBalance(value(t), cM)
614626 else 0
615- let ec = if (isDefined(t))
616- then assetBalance(value(t), dz)
627+ let ee = if (isDefined(t))
628+ then assetBalance(value(t), dB)
617629 else 0
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))
630+ let ef = valueOrElse(getString(aj, cb(eb)), eb)
631+ let eg = cc(eb)
632+ let eh = getString(aj, eg)
633+ let ei = valueOrElse(getString(aj, ce(eb)), "")
634+ let ej = valueOrElse(getString(aj, bO(eb)), "")
635+ let ek = dO(eb)[dC]
636+ let el = valueOrElse(getInteger(aj, bu(eb)), 0)
637+ let em = valueOrElse(getInteger(aj, bv(eb)), 0)
638+ let en = valueOrElse(getInteger(aj, bw(eb)), 0)
639+ let eo = if (isDefined(eh))
628640 then (bB + (if (if (isDefined(t))
629- then isDefined(getString(aj, cc(dZ)))
641+ then isDefined(getString(aj, cd(eb)))
630642 else false)
631643 then ":1"
632644 else ":0"))
633645 else ""
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)]
646+[("%s%s__customName__" + ef), ("%s%s__referredBy__" + valueOrElse(eh, "")), ("%s%s__referrals__" + ei), ("%s%s__lastTxId__" + ej), ("%s%d__wavesBalance__" + toString(ec.available)), ("%s%d__wlgoldBalance__" + toString(ee)), ("%s%d__usdtBalance__" + toString(ed)), ("%s%d__stakedPieces__" + toString(ek)), ("%s%d__currentXp__" + toString(el)), ("%s%d__currentLvl__" + toString(em)), ("%s%d__pointsToDistribute__" + toString(en)), ("%s%s__walletArtefacts__" + eo)]
635647 }
636648
637649
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))))
650+func ep (bX,ek) = {
651+ let eq = valueOrElse(getInteger(aj, bT(bX)), 0)
652+ let er = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
653+ let es = (eq / 6)
654+ let et = (eq / 7)
655+ $Tuple3(eq, er, ((bD + fraction(bD, ((eq + es) + (2 * et)), 5)) + fraction(bD, er, (ek * 5))))
644656 }
645657
646658
647-func es (et) = {
648- let eu = split(et, "_")
649- ((bF * (parseIntValue(eu[1]) + 1)) * parseIntValue(eu[0]))
659+func eu (ev) = {
660+ let ew = split(ev, "_")
661+ ((bF * (parseIntValue(ew[1]) + 1)) * parseIntValue(ew[0]))
650662 }
651663
652664
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, ":")
665+func ex (ey,ez,eq) = {
666+ let ev = ((toString(ez) + "_") + toString(eq))
667+ let eA = toString(eu(ev))
668+ let eB = valueOrElse(getString(aj, ey), ((((ev + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + eA) + "_") + eA))
669+ split(eB, ":")
658670 }
659671
660672
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)))
673+func eC (bo) = {
674+ let eD = by(valueOrElse(getInteger(aj, br(bo)), 0))
675+ $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, ci(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eD), dG(invoke(aj, "getBackpackREADONLY", [bo], nil)))
664676 }
665677
666678
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)]
679+func eE (bo,eF,eG) = {
680+ let ef = valueOrElse(getString(aj, ca(bo)), eG._2)
681+ let eH = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
682+ let el = valueOrElse(getInteger(aj, bq(bo)), 0)
683+ let em = valueOrElse(getInteger(aj, br(bo)), 0)
684+ let en = valueOrElse(getInteger(aj, bs(bo)), 0)
685+ let eI = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
686+ let eJ = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
687+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eF), ("%s%s__customName__" + ef), ("%s%d__stakedTime__" + toString(eG._1)), ("%s%s__name__" + eG._2), ("%s%s__location__" + eG._3), ("%s%d__health__" + toString(eG._4)), ("%s%d__maxHealth__" + toString(by(em))), ("%s%s__characteristics__" + eH), ("%s%d__currentXp__" + toString(el)), ("%s%d__currentLvl__" + toString(em)), ("%s%d__pointsToDistribute__" + toString(en)), ("%s%s__backPack__" + eG._5), ("%s%s__equipment__" + eI), ("%s%s__buffs__" + eJ)]
676688 }
677689
678690
679-func eI (bX,eD,eJ) = if ((bX == ""))
691+func eK (bX,eF,eL) = if ((bX == ""))
680692 then throw("landAssetId is required")
681693 else {
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)
694+ let eM = value(assetInfo(fromBase58String(bX)))
695+ let eN = split(eM.description, "_")
696+ let eO = if ((eM.quantity > 0))
697+ then eN[dw]
698+ else ("-" + eN[dw])
699+ let ek = dM(eN[dx])
700+ let eP = ep(bX, ek)
701+ let eQ = (lastBlock.timestamp - eL)
702+ let eR = if ((eL > 0))
703+ then fraction(eQ, (eP._3 * ek), bE)
692704 else 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)]
705+ let eS = fraction(cP, (ek * (eP._1 + 1)), cU)
706+ let eT = if ((eL > 0))
707+ then dY(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eS, eR, eN[dy]], nil))
708+ else $Tuple2(dR(invoke(aj, "splitByGlobalWeightsREADONLY", [eS], nil)), "")
709+ let ef = valueOrElse(getString(aj, bR(bX)), ((eN[dz] + "-") + eN[dw]))
710+ let eU = valueOrElse(getString(aj, bY(bX)), ":0_15:0_18:0")
711+ let eV = valueOrElse(getInteger(aj, bZ(bX)), 0)
712+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eF), ("%s%s__customName__" + ef), ("%s%d__stakedTime__" + toString(eL)), ("%s%s__description__" + makeString([eO, eN[dx], eN[dy], eN[dz]], "_")), ("%s%d__infraLevel__" + toString(eP._1)), ("%s%s__availResByType__" + eT._2), ("%s%d__availResTotal__" + toString(eR)), ("%s%s__needMaterial__" + eT._1), ("%s%s__landArtefacts__PRESALE:" + toString(eP._2)), ("%s%s__warehouse__" + makeString(ex(bW(bX), (ek / cU), eP._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dr, ck(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__" + eU), ("%s%d__canBeRobbedAfter__" + toString((eV + cQ)))]
700713 }
701714
702715
703-func eT (bX,eD) = if ((bX == ""))
716+func eW (bX,eF) = if ((bX == ""))
704717 then throw("landAssetId is required")
705718 else {
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:"))]
719+ let eM = value(assetInfo(fromBase58String(bX)))
720+ let eN = split(eM.description, "_")
721+ let ek = dM(eN[dx])
722+ let eP = ep(bX, ek)
723+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eF), ("%s%s__warehouse__" + makeString(ex(bW(bX), (ek / cU), eP._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dr, ck(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:"))]
711724 }
712725
713726
714-@Callable(eU)
715-func constructorV1 (az) = if ((eU.caller != this))
727+@Callable(eX)
728+func constructorV1 (az) = if ((eX.caller != this))
716729 then throw("permissions denied")
717730 else {
718- func eV (am,eW) = (am + "%s")
731+ func eY (am,eZ) = (am + "%s")
719732
720- let eX = {
733+ let fa = {
721734 let ap = az
722735 let aq = size(ap)
723736 let ar = ""
724737 func as (at,au) = if ((au >= aq))
725738 then at
726- else eV(at, ap[au])
739+ else eY(at, ap[au])
727740
728741 func av (at,au) = if ((au >= aq))
729742 then at
731744
732745 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
733746 }
734-[StringEntry(dh(), makeString(eX :: az, cP)), StringEntry(di(), toString(this))]
747+[StringEntry(dj(), makeString(fa :: az, cR)), StringEntry(dk(), toString(this))]
735748 }
736749
737750
738751
739-@Callable(eU)
740-func walletInfoREADONLY (dZ) = $Tuple2(nil, dY(dZ))
752+@Callable(eX)
753+func walletInfoREADONLY (eb) = $Tuple2(nil, ea(eb))
741754
742755
743756
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)
757+@Callable(eX)
758+func duckByOwnerInfoREADONLY (fb) = {
759+ let fc = getString(aj, cg(fb))
760+ $Tuple2(nil, if (if (isDefined(addressFromString(fb)))
761+ then isDefined(fc)
749762 else false)
750763 then {
751- let bo = value(eZ)
752- eC(bo, eY, eA(bo))
764+ let bo = value(fc)
765+ eE(bo, fb, eC(bo))
753766 }
754- else eC("", eY, $Tuple5(-1, "", "", -1, "")))
767+ else eE("", fb, $Tuple5(-1, "", "", -1, "")))
755768 }
756769
757770
758771
759-@Callable(eU)
772+@Callable(eX)
760773 func duckByAssetIdInfoREADONLY (bo) = {
761- let eD = getString(aj, ce(bo))
762- $Tuple2(nil, eC(bo, if (isDefined(eD))
763- then value(eD)
764- else "", eA(bo)))
774+ let eF = getString(aj, cf(bo))
775+ $Tuple2(nil, eE(bo, if (isDefined(eF))
776+ then value(eF)
777+ else "", eC(bo)))
765778 }
766779
767780
768781
769-@Callable(eU)
782+@Callable(eX)
770783 func landByAssetIdInfoREADONLY (bX) = if ((bX == ""))
771784 then throw("landAssetId is required")
772785 else {
773- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
774- let eD = if ((eJ > 0))
786+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
787+ let eF = if ((eL > 0))
775788 then value(getString(aj, bP(bX)))
776789 else ""
777- $Tuple2(nil, eI(bX, eD, eJ))
790+ $Tuple2(nil, eK(bX, eF, eL))
778791 }
779792
780793
781794
782-@Callable(eU)
783-func stakedLandsByOwnerInfoREADONLY (fa) = if ((fa == ""))
795+@Callable(eX)
796+func stakedLandsByOwnerInfoREADONLY (fd) = if ((fd == ""))
784797 then throw("landOwnerAddress is required")
785798 else {
786- let fb = getString(aj, dC(fa))
787- let fc = if (isDefined(fb))
788- then split_51C(value(fb), "_")
799+ let fe = getString(aj, dE(fd))
800+ let ff = if (isDefined(fe))
801+ then split_51C(value(fe), "_")
789802 else nil
790- func fd (am,bX) = if ((bX == ""))
803+ func fg (am,bX) = if ((bX == ""))
791804 then throw("landAssetId is required")
792805 else {
793- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
794- (am :+ eI(bX, fa, eJ))
806+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
807+ (am :+ eK(bX, fd, eL))
795808 }
796809
797- let dV = {
798- let ap = fc
810+ let dX = {
811+ let ap = ff
799812 let aq = size(ap)
800813 let ar = nil
801814 func as (at,au) = if ((au >= aq))
802815 then at
803- else fd(at, ap[au])
816+ else fg(at, ap[au])
804817
805818 func av (at,au) = if ((au >= aq))
806819 then at
808821
809822 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)
810823 }
811- $Tuple2(nil, dV)
824+ $Tuple2(nil, dX)
812825 }
813826
814827
815828
816-@Callable(eU)
817-func landsByIdsInfoREADONLY (fe) = {
818- func fd (am,bX) = if ((bX == ""))
829+@Callable(eX)
830+func landsByIdsInfoREADONLY (fh) = {
831+ func fg (am,bX) = if ((bX == ""))
819832 then throw("landAssetId is required")
820833 else {
821- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
822- let eD = if ((eJ > 0))
834+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
835+ let eF = if ((eL > 0))
823836 then value(getString(aj, bP(bX)))
824837 else ""
825- (am :+ eI(bX, eD, eJ))
838+ (am :+ eK(bX, eF, eL))
826839 }
827840
828- let dV = {
829- let ap = fe
841+ let dX = {
842+ let ap = fh
830843 let aq = size(ap)
831844 let ar = nil
832845 func as (at,au) = if ((au >= aq))
833846 then at
834- else fd(at, ap[au])
847+ else fg(at, ap[au])
835848
836849 func av (at,au) = if ((au >= aq))
837850 then at
839852
840853 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)
841854 }
842- $Tuple2(nil, dV)
855+ $Tuple2(nil, dX)
843856 }
844857
845858
846859
847-@Callable(eU)
860+@Callable(eX)
848861 func warehouseOrderByAssetIdInfoREADONLY (bX) = if ((bX == ""))
849862 then throw("landAssetId is required")
850863 else {
851- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
852- let eD = if ((eJ > 0))
864+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
865+ let eF = if ((eL > 0))
853866 then value(getString(aj, bP(bX)))
854867 else ""
855- $Tuple2(nil, eT(bX, eD))
868+ $Tuple2(nil, eW(bX, eF))
856869 }
857870
858871
859872
860-@Callable(eU)
861-func ordersByLandIdsInfoREADONLY (fe) = {
862- func fd (am,bX) = if ((bX == ""))
873+@Callable(eX)
874+func ordersByLandIdsInfoREADONLY (fh) = {
875+ func fg (am,bX) = if ((bX == ""))
863876 then throw("landAssetId is required")
864877 else {
865- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
866- let eD = if ((eJ > 0))
878+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
879+ let eF = if ((eL > 0))
867880 then value(getString(aj, bP(bX)))
868881 else ""
869- (am :+ eT(bX, eD))
882+ (am :+ eW(bX, eF))
870883 }
871884
872- let dV = {
873- let ap = fe
885+ let dX = {
886+ let ap = fh
874887 let aq = size(ap)
875888 let ar = nil
876889 func as (at,au) = if ((au >= aq))
877890 then at
878- else fd(at, ap[au])
891+ else fg(at, ap[au])
879892
880893 func av (at,au) = if ((au >= aq))
881894 then at
883896
884897 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)
885898 }
886- $Tuple2(nil, dV)
899+ $Tuple2(nil, dX)
887900 }
888901
889902
890903
891-@Callable(eU)
892-func cancelWarehouseOrders (fe) = if ((eU.caller != this))
904+@Callable(eX)
905+func cancelWarehouseOrders (fh) = if ((eX.caller != this))
893906 then throw("permission denied")
894907 else {
895- let ff = getBoolean(aj, ci())
896- if (if (!(isDefined(ff)))
908+ let fi = getBoolean(aj, cj())
909+ if (if (!(isDefined(fi)))
897910 then true
898- else (value(ff) == false))
911+ else (value(fi) == false))
899912 then throw("Contracts should be blocked before canceling orders")
900913 else {
901- func fd (eK,bX) = if ((bX == ""))
914+ func fg (eM,bX) = if ((bX == ""))
902915 then throw("landAssetId is required")
903916 else {
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)
917+ let fj = dL(invoke(dr, "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))
918+ if (if (eM)
906919 then true
907- else fg)
908- then !(if (eK)
909- then fg
920+ else fj)
921+ then !(if (eM)
922+ then fj
910923 else false)
911924 else false
912925 }
913926
914- let dV = {
915- let ap = fe
927+ let dX = {
928+ let ap = fh
916929 let aq = size(ap)
917930 let ar = false
918931 func as (at,au) = if ((au >= aq))
919932 then at
920- else fd(at, ap[au])
933+ else fg(at, ap[au])
921934
922935 func av (at,au) = if ((au >= aq))
923936 then at
925938
926939 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)
927940 }
928- $Tuple2(nil, dV)
941+ $Tuple2(nil, dX)
929942 }
930943 }
931944
932945
933946
934-@Callable(eU)
935-func fixWarehouseFormats (fe) = if ((eU.caller != this))
947+@Callable(eX)
948+func fixWarehouseFormats (fh) = if ((eX.caller != this))
936949 then throw("permission denied")
937950 else {
938- func fd (am,bX) = if ((bX == ""))
951+ func fg (am,bX) = if ((bX == ""))
939952 then throw("landAssetId is required")
940- else (am + size(dE(invoke(aj, "fixWarehouseFormat", [bX], nil))))
953+ else (am + size(dG(invoke(aj, "fixWarehouseFormat", [bX], nil))))
941954
942- let dV = {
943- let ap = fe
955+ let dX = {
956+ let ap = fh
944957 let aq = size(ap)
945958 let ar = 0
946959 func as (at,au) = if ((au >= aq))
947960 then at
948- else fd(at, ap[au])
961+ else fg(at, ap[au])
949962
950963 func av (at,au) = if ((au >= aq))
951964 then at
953966
954967 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)
955968 }
956- $Tuple2(nil, dV)
969+ $Tuple2(nil, dX)
957970 }
958971
959972
960973
961-@Callable(eU)
962-func fixStakedPieces (fh) = if ((eU.caller != this))
974+@Callable(eX)
975+func fixStakedPieces (fk) = if ((eX.caller != this))
963976 then throw("permission denied")
964977 else {
965- func fi (am,t) = if ((t == ""))
978+ func fl (am,t) = if ((t == ""))
966979 then throw("address is required")
967- else (am + dH(invoke(aj, "fixStakedPieces", [t], nil)))
980+ else (am + dJ(invoke(aj, "fixStakedPieces", [t], nil)))
968981
969- let dV = {
970- let ap = fh
982+ let dX = {
983+ let ap = fk
971984 let aq = size(ap)
972985 let ar = 0
973986 func as (at,au) = if ((au >= aq))
974987 then at
975- else fi(at, ap[au])
988+ else fl(at, ap[au])
976989
977990 func av (at,au) = if ((au >= aq))
978991 then at
980993
981994 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)
982995 }
983- $Tuple2(nil, dV)
996+ $Tuple2(nil, dX)
984997 }
985998
986999
9871000
988-@Callable(eU)
989-func fixStakedLands (fe) = {
990- let fj = toString(eU.caller)
991- if (!(containsElement(dO, fj)))
1001+@Callable(eX)
1002+func fixStakedLands (fh) = {
1003+ let fm = toString(eX.caller)
1004+ if (!(containsElement(dQ, fm)))
9921005 then throw("Permission denied")
9931006 else {
994- let dV = dH(invoke(aj, "fixContinentProportions", [fe], nil))
995- $Tuple2(nil, dV)
1007+ let dX = dJ(invoke(aj, "fixContinentProportions", [fh], nil))
1008+ $Tuple2(nil, dX)
9961009 }
9971010 }
9981011
9991012
10001013
1001-@Callable(eU)
1002-func sendUsdtPrize (eY) = if ((eU.caller != aj))
1014+@Callable(eX)
1015+func sendUsdtPrize (fb) = if ((eX.caller != aj))
10031016 then throw("permission denied")
10041017 else {
1005- let fk = fraction(assetBalance(this, cL), dN, cQ)
1006- $Tuple2([ScriptTransfer(addressFromStringValue(eY), fk, cL)], fk)
1018+ let fn = fraction(assetBalance(this, cM), dP, cS)
1019+ $Tuple2([ScriptTransfer(addressFromStringValue(fb), fn, cM)], fn)
10071020 }
10081021
10091022
10101023
1011-@Callable(eU)
1024+@Callable(eX)
10121025 func getEmergencyServiceDataREADONLY () = {
1013- let fl = getString(dp, ck())
1014- let fm = if (isDefined(fl))
1015- then split_4C(value(fl), "_")
1026+ let fo = getString(dr, cl())
1027+ let fp = if (isDefined(fo))
1028+ then split_4C(value(fo), "_")
10161029 else nil
1017- func fn (am,fo) = {
1018- let dI = am._2
1019- let cJ = split(fo, "_")
1020- let fp = if ((dI == 0))
1030+ func fq (am,fr) = {
1031+ let dK = am._2
1032+ let cK = split(fr, "_")
1033+ let fs = if ((dK == 0))
10211034 then (bH * bN)
10221035 else 0
1023- let fq = if ((size(fm) > dI))
1024- then parseIntValue(fm[dI])
1036+ let ft = if ((size(fp) > dK))
1037+ then parseIntValue(fp[dK])
10251038 else 0
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))
1039+ let fu = cJ(cK)
1040+ let fv = fraction((fu * bI), bG, (cT * bN))
1041+ let fw = fraction((fu * bJ), bG, (cT * bN))
1042+ let fx = makeString([toString(fs), toString(ft), toString(fv), toString(fw)], "_")
1043+ $Tuple2((am._1 :+ fx), (dK + 1))
10311044 }
10321045
1033- let dG = makeString_2C(( let ap = bL
1046+ let dI = makeString_2C(( let ap = bL
10341047 let aq = size(ap)
10351048 let ar = $Tuple2(nil, 0)
10361049 func as (at,au) = if ((au >= aq))
10371050 then at
1038- else fn(at, ap[au])
1051+ else fq(at, ap[au])
10391052
10401053 func av (at,au) = if ((au >= aq))
10411054 then at
10421055 else throw("List size exceeds 50")
10431056
10441057 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, ":")
1045- let fv = ("%s%s__emergencyServiceData__" + dG)
1046- $Tuple2(nil, fv)
1058+ let fy = ("%s%s__emergencyServiceData__" + dI)
1059+ $Tuple2(nil, fy)
10471060 }
10481061
10491062
10501063
1051-@Callable(eU)
1064+@Callable(eX)
10521065 func wlgStatsREADONLY (ay) = {
1053- let fw = ax(ay, [do, aj, dp, dq, dr, ds, aH], cL, 0)
1054- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fw[z])), ("%s%d__wlgPrice__" + toString(fw[A])), ("%s%d__usdtFunds__" + toString(fw[B])), ("%s%d__usdtEconomy__" + toString(fw[C])), ("%s%d__usdtActivity__" + toString(fw[D])), ("%s%d__usdtArbitrage__" + toString(fw[E])), ("%s%d__usdtPool__" + toString(fw[F])), ("%s%d__wlgIssueTime__" + toString(fw[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fw[H])), ("%s%d__wlgMarketingTotal__" + toString(fw[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fw[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fw[K])), ("%s%d__wlgMarketingWlgold__" + toString(fw[L])), ("%s%d__wlgTeamTotal__" + toString(fw[M])), ("%s%d__wlgTeamAmLeft__" + toString(fw[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fw[O])), ("%s%d__wlgTeamWlgold__" + toString(fw[P])), ("%s%d__wlgActTotal__" + toString(fw[Q])), ("%s%d__wlgActAmLeft__" + toString(fw[R])), ("%s%d__wlgActAmAvailNow__" + toString(fw[S])), ("%s%d__wlgActWlgold__" + toString(fw[T])), ("%s%d__wlgCurPeriod__" + toString(fw[U])), ("%s%d__wlgAmLeftTotal__" + toString(fw[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fw[W])), ("%s%d__wlgLastUserTime__" + toString(fw[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fw[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fw[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fw[aa]))])
1066+ let fz = ax(ay, [dq, aj, dr, ds, dt, du, aH], cM, 0)
1067+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fz[z])), ("%s%d__wlgPrice__" + toString(fz[A])), ("%s%d__usdtFunds__" + toString(fz[B])), ("%s%d__usdtEconomy__" + toString(fz[C])), ("%s%d__usdtActivity__" + toString(fz[D])), ("%s%d__usdtArbitrage__" + toString(fz[E])), ("%s%d__usdtPool__" + toString(fz[F])), ("%s%d__wlgIssueTime__" + toString(fz[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fz[H])), ("%s%d__wlgMarketingTotal__" + toString(fz[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fz[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fz[K])), ("%s%d__wlgMarketingWlgold__" + toString(fz[L])), ("%s%d__wlgTeamTotal__" + toString(fz[M])), ("%s%d__wlgTeamAmLeft__" + toString(fz[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fz[O])), ("%s%d__wlgTeamWlgold__" + toString(fz[P])), ("%s%d__wlgActTotal__" + toString(fz[Q])), ("%s%d__wlgActAmLeft__" + toString(fz[R])), ("%s%d__wlgActAmAvailNow__" + toString(fz[S])), ("%s%d__wlgActWlgold__" + toString(fz[T])), ("%s%d__wlgCurPeriod__" + toString(fz[U])), ("%s%d__wlgAmLeftTotal__" + toString(fz[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fz[W])), ("%s%d__wlgLastUserTime__" + toString(fz[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fz[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fz[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fz[aa]))])
10551068 }
10561069
10571070
10581071
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] == ""))
1072+@Callable(eX)
1073+func tournamentStatsREADONLY (fA) = {
1074+ let fB = ct(dv, fA)
1075+ let cv = fB[cr]
1076+ let cw = fB[cs]
1077+ let fC = if ((cw[cC] == ""))
10651078 then " "
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)])
1079+ else cw[cC]
1080+ let fD = valueOrElse(getString(dv, cq(fA)), "")
1081+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cv[cx], cv[cy], cv[cz], cv[cA]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cw[cB], fC, cw[cD], cw[cE], cw[cF]], "_")), ("%s%s__tournamentRegistrants__" + fD)])
10691082 }
10701083
10711084
10721085
1073-@Callable(eU)
1086+@Callable(eX)
10741087 func lastTournamentStatsREADONLY () = {
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] == ""))
1088+ let fA = valueOrElse(getInteger(dv, cm), 0)
1089+ let cv = split(valueOrElse(getString(dv, cn(fA)), "%s%d%d%d%d%d____________"), cR)
1090+ let cw = split(valueOrElse(getString(dv, cp(fA)), "%s%s%d%d%d__________"), cR)
1091+ let fC = if ((cw[cC] == ""))
10791092 then " "
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)])
1093+ else cw[cC]
1094+ let fD = valueOrElse(getString(dv, cq(fA)), "")
1095+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fA)), ("%s%s__tournamentStaticData__" + makeString([cv[cx], cv[cy], cv[cz], cv[cA]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cw[cB], fC, cw[cD], cw[cE], cw[cF]], "_")), ("%s%s__tournamentRegistrants__" + fD)])
10831096 }
10841097
10851098
10861099
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)], "_"))])
1100+@Callable(eX)
1101+func tournamentDuckStatsREADONLY (co,bo) = {
1102+ let fE = valueOrElse(getBoolean(dv, cG(co, bo)), false)
1103+ let fF = valueOrElse(getInteger(dv, cH(co, bo)), 0)
1104+ let fG = valueOrElse(getInteger(dv, cI(co, bo)), 0)
1105+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fE), toString(fF), toString(fG)], "_"))])
10931106 }
10941107
10951108
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_011", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_011", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_011", "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
271271 func bY (bX) = ("fortifications_" + bX)
272272
273273
274-func bZ (bQ) = ("duckCustomNameByAssetId_" + bQ)
274+func bZ (bX) = ("lastRobbedTime_" + bX)
275275
276276
277-func ca (t) = ("accountCustomNameByAddr_" + t)
277+func ca (bQ) = ("duckCustomNameByAssetId_" + bQ)
278278
279279
280-func cb (t) = ("accRefBy_" + t)
280+func cb (t) = ("accountCustomNameByAddr_" + t)
281281
282282
283-func cc (t) = ("onboardArtActivatedDuckBy_" + t)
283+func cc (t) = ("accRefBy_" + t)
284284
285285
286-func cd (t) = ("accReferrals_" + t)
286+func cd (t) = ("onboardArtActivatedDuckBy_" + t)
287287
288288
289-func ce (bQ) = ("duckOwner_" + bQ)
289+func ce (t) = ("accReferrals_" + t)
290290
291291
292-func cf (cg) = ("stakedDuckByOwner_" + cg)
292+func cf (bQ) = ("duckOwner_" + bQ)
293293
294294
295-func ch (bo) = ("duckLocation_" + bo)
295+func cg (ch) = ("stakedDuckByOwner_" + ch)
296296
297297
298-func ci () = "contractsBlocked"
298+func ci (bo) = ("duckLocation_" + bo)
299299
300300
301-func cj (bX) = ("landOrder_" + bX)
301+func cj () = "contractsBlocked"
302302
303303
304-func ck () = "emergencyWarehouseProducts"
304+func ck (bX) = ("landOrder_" + bX)
305305
306306
307-let cl = "%s__lastTourId"
308-
309-func cm (cn) = ("%s%d__tourStaticData__" + toString(cn))
307+func cl () = "emergencyWarehouseProducts"
310308
311309
312-func co (cn) = ("%s%d__tourDynamicData__" + toString(cn))
310+let cm = "%s__lastTourId"
311+
312+func cn (co) = ("%s%d__tourStaticData__" + toString(co))
313313
314314
315-func cp (cn) = ("%s%d__allRegistrants__" + toString(cn))
315+func cp (co) = ("%s%d__tourDynamicData__" + toString(co))
316316
317317
318-let cq = 0
318+func cq (co) = ("%s%d__allRegistrants__" + toString(co))
319319
320-let cr = 1
321320
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]
321+let cr = 0
322+
323+let cs = 1
324+
325+func ct (cu,co) = {
326+ let cv = split(valueOrErrorMessage(getString(cu, cn(co)), (("Error reading tournament " + toString(co)) + " data")), "__")
327+ let cw = split(valueOrErrorMessage(getString(cu, cp(co)), (("Error reading tournament " + toString(co)) + " data")), "__")
328+[cv, cw]
326329 }
327330
328331
329-let cw = 2
332+let cx = 2
330333
331-let cx = 3
334+let cy = 3
332335
333-let cy = 5
336+let cz = 5
334337
335-let cz = 6
338+let cA = 6
336339
337-let cA = 1
340+let cB = 1
338341
339-let cB = 2
342+let cC = 2
340343
341-let cC = 3
344+let cD = 3
342345
343-let cD = 4
346+let cE = 4
344347
345-let cE = 5
348+let cF = 5
346349
347-func cF (cn,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cn), bo], "__")
350+func cG (co,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(co), bo], "__")
348351
349352
350-func cG (cn,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cn), bo], "__")
353+func cH (co,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(co), bo], "__")
351354
352355
353-func cH (cn,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cn), bo], "__")
356+func cI (co,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(co), bo], "__")
354357
355358
356-func cI (cJ) = (parseIntValue(cJ[bM]) * bK)
359+func cJ (cK) = (parseIntValue(cK[bM]) * bK)
357360
358361
359-let cK = take(drop(this.bytes, 1), 1)
362+let cL = take(drop(this.bytes, 1), 1)
360363
361-let cL = {
362- let cM = cK
363- if ((base58'2W' == cM))
364+let cM = {
365+ let cN = cL
366+ if ((base58'2W' == cN))
364367 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
365- else if ((base58'2T' == cM))
368+ else if ((base58'2T' == cN))
366369 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
367370 else throw("Unknown chain")
368371 }
369372
370-let cN = {
371- let cM = cK
372- if ((base58'2W' == cM))
373+let cO = {
374+ let cN = cL
375+ if ((base58'2W' == cN))
373376 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
374- else if ((base58'2T' == cM))
377+ else if ((base58'2T' == cN))
375378 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
376379 else throw("Unknown chain")
377380 }
378381
379-let cO = {
380- let cM = cK
381- if ((base58'2W' == cM))
382+let cP = {
383+ let cN = cL
384+ if ((base58'2W' == cN))
382385 then 10000000000
383- else if ((base58'2T' == cM))
386+ else if ((base58'2T' == cN))
384387 then 100000000
385388 else throw("Unknown chain")
386389 }
387390
388-let cP = "__"
391+let cQ = {
392+ let cN = cL
393+ if ((base58'2W' == cN))
394+ then 21600000
395+ else if ((base58'2T' == cN))
396+ then 600000
397+ else throw("Unknown chain")
398+ }
389399
390-let cQ = 1000000
400+let cR = "__"
391401
392-let cR = 100000000
402+let cS = 1000000
393403
394-let cS = 25
404+let cT = 100000000
395405
396-let cT = 100
406+let cU = 25
397407
398-let cU = 225
408+let cV = 100
399409
400-let cV = 400
410+let cW = 225
401411
402-let cW = 625
412+let cX = 400
403413
404-func cX (cY,cZ) = valueOrErrorMessage(getString(cY, cZ), makeString(["mandatory ", toString(cY), ".", cZ, " is not defined"], ""))
414+let cY = 625
415+
416+func cZ (da,db) = valueOrErrorMessage(getString(da, db), makeString(["mandatory ", toString(da), ".", db, " is not defined"], ""))
405417
406418
407-let da = 1
419+let dc = 1
408420
409-let db = 2
421+let dd = 2
410422
411-let dc = 3
423+let de = 3
412424
413-let dd = 4
425+let df = 4
414426
415-let de = 5
427+let dg = 5
416428
417-let df = 6
429+let dh = 6
418430
419-let dg = 7
431+let di = 7
420432
421-func dh () = "%s__restConfig"
433+func dj () = "%s__restConfig"
422434
423435
424-func di () = "%s__restAddr"
436+func dk () = "%s__restAddr"
425437
426438
427-func dj (dk) = split_4C(cX(dk, dh()), cP)
439+func dl (dm) = split_4C(cZ(dm, dj()), cR)
428440
429441
430-func dl (dm,dn) = valueOrErrorMessage(addressFromString(dm[dn]), ("Rest cfg doesn't contain address at index " + toString(dn)))
442+func dn (do,dp) = valueOrErrorMessage(addressFromString(do[dp]), ("Rest cfg doesn't contain address at index " + toString(dp)))
431443
432444
433-let do = addressFromStringValue(valueOrElse(getString(this, di()), cN))
445+let dq = addressFromStringValue(valueOrElse(getString(this, dk()), cO))
434446
435-let dm = dj(do)
447+let do = dl(dq)
436448
437-let aj = dl(dm, da)
449+let aj = dn(do, dc)
438450
439-let dp = dl(dm, db)
451+let dr = dn(do, dd)
440452
441-let dq = dl(dm, dc)
453+let ds = dn(do, de)
442454
443-let dr = dl(dm, dd)
455+let dt = dn(do, df)
444456
445-let ds = dl(dm, de)
457+let du = dn(do, dg)
446458
447-let aH = dl(dm, df)
459+let aH = dn(do, dh)
448460
449-let dt = dl(dm, dg)
461+let dv = dn(do, di)
450462
451-let du = 0
463+let dw = 0
452464
453-let dv = 1
465+let dx = 1
454466
455-let dw = 2
467+let dy = 2
456468
457-let dx = 3
469+let dz = 3
458470
459-let dy = "wlg_assetId"
471+let dA = "wlg_assetId"
460472
461-let dz = valueOrErrorMessage(getBinary(dr, dy), "Not initialized yet")
473+let dB = valueOrErrorMessage(getBinary(dt, dA), "Not initialized yet")
462474
463-let dA = 1
475+let dC = 1
464476
465-func dB () = "resTypesProportions"
477+func dD () = "resTypesProportions"
466478
467479
468-func dC (cg) = ("stakedLandsByOwner_" + cg)
480+func dE (ch) = ("stakedLandsByOwner_" + ch)
469481
470482
471-func dD (cg) = ("stakedPiecesByOwner_" + cg)
483+func dF (ch) = ("stakedPiecesByOwner_" + ch)
472484
473485
474-func dE (dF) = {
475- let cM = dF
476- if ($isInstanceOf(cM, "String"))
486+func dG (dH) = {
487+ let cN = dH
488+ if ($isInstanceOf(cN, "String"))
477489 then {
478- let dG = cM
479- dG
490+ let dI = cN
491+ dI
480492 }
481493 else throw("fail to cast into String")
482494 }
483495
484496
485-func dH (dF) = {
486- let cM = dF
487- if ($isInstanceOf(cM, "Int"))
497+func dJ (dH) = {
498+ let cN = dH
499+ if ($isInstanceOf(cN, "Int"))
488500 then {
489- let dI = cM
490- dI
501+ let dK = cN
502+ dK
491503 }
492504 else throw("fail to cast into Int")
493505 }
494506
495507
496-func dJ (dF) = {
497- let cM = dF
498- if ($isInstanceOf(cM, "Boolean"))
508+func dL (dH) = {
509+ let cN = dH
510+ if ($isInstanceOf(cN, "Boolean"))
499511 then {
500- let dG = cM
501- dG
512+ let dI = cN
513+ dI
502514 }
503515 else throw("fail to cast into Boolean")
504516 }
505517
506518
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
519+func dM (dN) = {
520+ let cN = dN
521+ if (("S" == cN))
522+ then cU
523+ else if (("M" == cN))
524+ then cV
525+ else if (("L" == cN))
526+ then cW
527+ else if (("XL" == cN))
528+ then cX
529+ else if (("XXL" == cN))
530+ then cY
519531 else throw("Unknown land size")
520532 }
521533
522534
523-func dM (ai) = {
524- let ak = split(valueOrElse(getString(aj, dB()), "0_0_0_0_0_0"), "_")
535+func dO (ai) = {
536+ let ak = split(valueOrElse(getString(aj, dD()), "0_0_0_0_0_0"), "_")
525537 func al (am,an) = (am + parseIntValue(an))
526538
527539 let ao = {
528540 let ap = ak
529541 let aq = size(ap)
530542 let ar = 0
531543 func as (at,au) = if ((au >= aq))
532544 then at
533545 else al(at, ap[au])
534546
535547 func av (at,au) = if ((au >= aq))
536548 then at
537549 else throw("List size exceeds 6")
538550
539551 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
540552 }
541- let aw = valueOrElse(getInteger(aj, dD(ai)), 0)
553+ let aw = valueOrElse(getInteger(aj, dF(ai)), 0)
542554 [ao, aw]
543555 }
544556
545557
546-let dN = 500000
558+let dP = 500000
547559
548-let dO = [toString(this), {
549- let cM = cK
550- if ((base58'2W' == cM))
560+let dQ = [toString(this), {
561+ let cN = cL
562+ if ((base58'2W' == cN))
551563 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
552- else if ((base58'2T' == cM))
564+ else if ((base58'2T' == cN))
553565 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
554566 else throw("Unknown chain")
555567 }]
556568
557-func dP (dQ) = {
558- let cM = dQ
559- if ($isInstanceOf(cM, "List[Any]"))
569+func dR (dS) = {
570+ let cN = dS
571+ if ($isInstanceOf(cN, "List[Any]"))
560572 then {
561- let dR = cM
562- if ((size(dR) != bC))
563- then throw(("Array size is " + toString(size(dR))))
573+ let dT = cN
574+ if ((size(dT) != bC))
575+ then throw(("Array size is " + toString(size(dT))))
564576 else {
565- func dS (am,an) = {
566- let dT = an
567- if ($isInstanceOf(dT, "Int"))
577+ func dU (am,an) = {
578+ let dV = an
579+ if ($isInstanceOf(dV, "Int"))
568580 then {
569- let dU = dT
570- (am :+ toString(dU))
581+ let dW = dV
582+ (am :+ toString(dW))
571583 }
572584 else throw("List type is not Int")
573585 }
574586
575- let dV = {
576- let ap = dR
587+ let dX = {
588+ let ap = dT
577589 let aq = size(ap)
578590 let ar = nil
579591 func as (at,au) = if ((au >= aq))
580592 then at
581- else dS(at, ap[au])
593+ else dU(at, ap[au])
582594
583595 func av (at,au) = if ((au >= aq))
584596 then at
585597 else throw("List size exceeds 6")
586598
587599 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
588600 }
589- makeString(dV, "_")
601+ makeString(dX, "_")
590602 }
591603 }
592604 else throw("fail to cast into List")
593605 }
594606
595607
596-func dW (dQ) = {
597- let cM = dQ
598- if ($isInstanceOf(cM, "(List[Any], List[Any])"))
608+func dY (dS) = {
609+ let cN = dS
610+ if ($isInstanceOf(cN, "(List[Any], List[Any])"))
599611 then {
600- let dX = cM
601- $Tuple2(dP(dX._1), dP(dX._2))
612+ let dZ = cN
613+ $Tuple2(dR(dZ._1), dR(dZ._2))
602614 }
603615 else throw("fail to cast into (List, List)")
604616 }
605617
606618
607-func dY (dZ) = {
608- let t = addressFromString(dZ)
609- let ea = if (isDefined(t))
619+func ea (eb) = {
620+ let t = addressFromString(eb)
621+ let ec = if (isDefined(t))
610622 then wavesBalance(value(t))
611623 else BalanceDetails(0, 0, 0, 0)
612- let eb = if (isDefined(t))
613- then assetBalance(value(t), cL)
624+ let ed = if (isDefined(t))
625+ then assetBalance(value(t), cM)
614626 else 0
615- let ec = if (isDefined(t))
616- then assetBalance(value(t), dz)
627+ let ee = if (isDefined(t))
628+ then assetBalance(value(t), dB)
617629 else 0
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))
630+ let ef = valueOrElse(getString(aj, cb(eb)), eb)
631+ let eg = cc(eb)
632+ let eh = getString(aj, eg)
633+ let ei = valueOrElse(getString(aj, ce(eb)), "")
634+ let ej = valueOrElse(getString(aj, bO(eb)), "")
635+ let ek = dO(eb)[dC]
636+ let el = valueOrElse(getInteger(aj, bu(eb)), 0)
637+ let em = valueOrElse(getInteger(aj, bv(eb)), 0)
638+ let en = valueOrElse(getInteger(aj, bw(eb)), 0)
639+ let eo = if (isDefined(eh))
628640 then (bB + (if (if (isDefined(t))
629- then isDefined(getString(aj, cc(dZ)))
641+ then isDefined(getString(aj, cd(eb)))
630642 else false)
631643 then ":1"
632644 else ":0"))
633645 else ""
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)]
646+[("%s%s__customName__" + ef), ("%s%s__referredBy__" + valueOrElse(eh, "")), ("%s%s__referrals__" + ei), ("%s%s__lastTxId__" + ej), ("%s%d__wavesBalance__" + toString(ec.available)), ("%s%d__wlgoldBalance__" + toString(ee)), ("%s%d__usdtBalance__" + toString(ed)), ("%s%d__stakedPieces__" + toString(ek)), ("%s%d__currentXp__" + toString(el)), ("%s%d__currentLvl__" + toString(em)), ("%s%d__pointsToDistribute__" + toString(en)), ("%s%s__walletArtefacts__" + eo)]
635647 }
636648
637649
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))))
650+func ep (bX,ek) = {
651+ let eq = valueOrElse(getInteger(aj, bT(bX)), 0)
652+ let er = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
653+ let es = (eq / 6)
654+ let et = (eq / 7)
655+ $Tuple3(eq, er, ((bD + fraction(bD, ((eq + es) + (2 * et)), 5)) + fraction(bD, er, (ek * 5))))
644656 }
645657
646658
647-func es (et) = {
648- let eu = split(et, "_")
649- ((bF * (parseIntValue(eu[1]) + 1)) * parseIntValue(eu[0]))
659+func eu (ev) = {
660+ let ew = split(ev, "_")
661+ ((bF * (parseIntValue(ew[1]) + 1)) * parseIntValue(ew[0]))
650662 }
651663
652664
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, ":")
665+func ex (ey,ez,eq) = {
666+ let ev = ((toString(ez) + "_") + toString(eq))
667+ let eA = toString(eu(ev))
668+ let eB = valueOrElse(getString(aj, ey), ((((ev + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + eA) + "_") + eA))
669+ split(eB, ":")
658670 }
659671
660672
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)))
673+func eC (bo) = {
674+ let eD = by(valueOrElse(getInteger(aj, br(bo)), 0))
675+ $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, ci(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eD), dG(invoke(aj, "getBackpackREADONLY", [bo], nil)))
664676 }
665677
666678
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)]
679+func eE (bo,eF,eG) = {
680+ let ef = valueOrElse(getString(aj, ca(bo)), eG._2)
681+ let eH = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
682+ let el = valueOrElse(getInteger(aj, bq(bo)), 0)
683+ let em = valueOrElse(getInteger(aj, br(bo)), 0)
684+ let en = valueOrElse(getInteger(aj, bs(bo)), 0)
685+ let eI = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
686+ let eJ = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
687+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eF), ("%s%s__customName__" + ef), ("%s%d__stakedTime__" + toString(eG._1)), ("%s%s__name__" + eG._2), ("%s%s__location__" + eG._3), ("%s%d__health__" + toString(eG._4)), ("%s%d__maxHealth__" + toString(by(em))), ("%s%s__characteristics__" + eH), ("%s%d__currentXp__" + toString(el)), ("%s%d__currentLvl__" + toString(em)), ("%s%d__pointsToDistribute__" + toString(en)), ("%s%s__backPack__" + eG._5), ("%s%s__equipment__" + eI), ("%s%s__buffs__" + eJ)]
676688 }
677689
678690
679-func eI (bX,eD,eJ) = if ((bX == ""))
691+func eK (bX,eF,eL) = if ((bX == ""))
680692 then throw("landAssetId is required")
681693 else {
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)
694+ let eM = value(assetInfo(fromBase58String(bX)))
695+ let eN = split(eM.description, "_")
696+ let eO = if ((eM.quantity > 0))
697+ then eN[dw]
698+ else ("-" + eN[dw])
699+ let ek = dM(eN[dx])
700+ let eP = ep(bX, ek)
701+ let eQ = (lastBlock.timestamp - eL)
702+ let eR = if ((eL > 0))
703+ then fraction(eQ, (eP._3 * ek), bE)
692704 else 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)]
705+ let eS = fraction(cP, (ek * (eP._1 + 1)), cU)
706+ let eT = if ((eL > 0))
707+ then dY(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eS, eR, eN[dy]], nil))
708+ else $Tuple2(dR(invoke(aj, "splitByGlobalWeightsREADONLY", [eS], nil)), "")
709+ let ef = valueOrElse(getString(aj, bR(bX)), ((eN[dz] + "-") + eN[dw]))
710+ let eU = valueOrElse(getString(aj, bY(bX)), ":0_15:0_18:0")
711+ let eV = valueOrElse(getInteger(aj, bZ(bX)), 0)
712+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eF), ("%s%s__customName__" + ef), ("%s%d__stakedTime__" + toString(eL)), ("%s%s__description__" + makeString([eO, eN[dx], eN[dy], eN[dz]], "_")), ("%s%d__infraLevel__" + toString(eP._1)), ("%s%s__availResByType__" + eT._2), ("%s%d__availResTotal__" + toString(eR)), ("%s%s__needMaterial__" + eT._1), ("%s%s__landArtefacts__PRESALE:" + toString(eP._2)), ("%s%s__warehouse__" + makeString(ex(bW(bX), (ek / cU), eP._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dr, ck(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__" + eU), ("%s%d__canBeRobbedAfter__" + toString((eV + cQ)))]
700713 }
701714
702715
703-func eT (bX,eD) = if ((bX == ""))
716+func eW (bX,eF) = if ((bX == ""))
704717 then throw("landAssetId is required")
705718 else {
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:"))]
719+ let eM = value(assetInfo(fromBase58String(bX)))
720+ let eN = split(eM.description, "_")
721+ let ek = dM(eN[dx])
722+ let eP = ep(bX, ek)
723+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eF), ("%s%s__warehouse__" + makeString(ex(bW(bX), (ek / cU), eP._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dr, ck(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:"))]
711724 }
712725
713726
714-@Callable(eU)
715-func constructorV1 (az) = if ((eU.caller != this))
727+@Callable(eX)
728+func constructorV1 (az) = if ((eX.caller != this))
716729 then throw("permissions denied")
717730 else {
718- func eV (am,eW) = (am + "%s")
731+ func eY (am,eZ) = (am + "%s")
719732
720- let eX = {
733+ let fa = {
721734 let ap = az
722735 let aq = size(ap)
723736 let ar = ""
724737 func as (at,au) = if ((au >= aq))
725738 then at
726- else eV(at, ap[au])
739+ else eY(at, ap[au])
727740
728741 func av (at,au) = if ((au >= aq))
729742 then at
730743 else throw("List size exceeds 10")
731744
732745 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
733746 }
734-[StringEntry(dh(), makeString(eX :: az, cP)), StringEntry(di(), toString(this))]
747+[StringEntry(dj(), makeString(fa :: az, cR)), StringEntry(dk(), toString(this))]
735748 }
736749
737750
738751
739-@Callable(eU)
740-func walletInfoREADONLY (dZ) = $Tuple2(nil, dY(dZ))
752+@Callable(eX)
753+func walletInfoREADONLY (eb) = $Tuple2(nil, ea(eb))
741754
742755
743756
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)
757+@Callable(eX)
758+func duckByOwnerInfoREADONLY (fb) = {
759+ let fc = getString(aj, cg(fb))
760+ $Tuple2(nil, if (if (isDefined(addressFromString(fb)))
761+ then isDefined(fc)
749762 else false)
750763 then {
751- let bo = value(eZ)
752- eC(bo, eY, eA(bo))
764+ let bo = value(fc)
765+ eE(bo, fb, eC(bo))
753766 }
754- else eC("", eY, $Tuple5(-1, "", "", -1, "")))
767+ else eE("", fb, $Tuple5(-1, "", "", -1, "")))
755768 }
756769
757770
758771
759-@Callable(eU)
772+@Callable(eX)
760773 func duckByAssetIdInfoREADONLY (bo) = {
761- let eD = getString(aj, ce(bo))
762- $Tuple2(nil, eC(bo, if (isDefined(eD))
763- then value(eD)
764- else "", eA(bo)))
774+ let eF = getString(aj, cf(bo))
775+ $Tuple2(nil, eE(bo, if (isDefined(eF))
776+ then value(eF)
777+ else "", eC(bo)))
765778 }
766779
767780
768781
769-@Callable(eU)
782+@Callable(eX)
770783 func landByAssetIdInfoREADONLY (bX) = if ((bX == ""))
771784 then throw("landAssetId is required")
772785 else {
773- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
774- let eD = if ((eJ > 0))
786+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
787+ let eF = if ((eL > 0))
775788 then value(getString(aj, bP(bX)))
776789 else ""
777- $Tuple2(nil, eI(bX, eD, eJ))
790+ $Tuple2(nil, eK(bX, eF, eL))
778791 }
779792
780793
781794
782-@Callable(eU)
783-func stakedLandsByOwnerInfoREADONLY (fa) = if ((fa == ""))
795+@Callable(eX)
796+func stakedLandsByOwnerInfoREADONLY (fd) = if ((fd == ""))
784797 then throw("landOwnerAddress is required")
785798 else {
786- let fb = getString(aj, dC(fa))
787- let fc = if (isDefined(fb))
788- then split_51C(value(fb), "_")
799+ let fe = getString(aj, dE(fd))
800+ let ff = if (isDefined(fe))
801+ then split_51C(value(fe), "_")
789802 else nil
790- func fd (am,bX) = if ((bX == ""))
803+ func fg (am,bX) = if ((bX == ""))
791804 then throw("landAssetId is required")
792805 else {
793- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
794- (am :+ eI(bX, fa, eJ))
806+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
807+ (am :+ eK(bX, fd, eL))
795808 }
796809
797- let dV = {
798- let ap = fc
810+ let dX = {
811+ let ap = ff
799812 let aq = size(ap)
800813 let ar = nil
801814 func as (at,au) = if ((au >= aq))
802815 then at
803- else fd(at, ap[au])
816+ else fg(at, ap[au])
804817
805818 func av (at,au) = if ((au >= aq))
806819 then at
807820 else throw("List size exceeds 100")
808821
809822 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)
810823 }
811- $Tuple2(nil, dV)
824+ $Tuple2(nil, dX)
812825 }
813826
814827
815828
816-@Callable(eU)
817-func landsByIdsInfoREADONLY (fe) = {
818- func fd (am,bX) = if ((bX == ""))
829+@Callable(eX)
830+func landsByIdsInfoREADONLY (fh) = {
831+ func fg (am,bX) = if ((bX == ""))
819832 then throw("landAssetId is required")
820833 else {
821- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
822- let eD = if ((eJ > 0))
834+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
835+ let eF = if ((eL > 0))
823836 then value(getString(aj, bP(bX)))
824837 else ""
825- (am :+ eI(bX, eD, eJ))
838+ (am :+ eK(bX, eF, eL))
826839 }
827840
828- let dV = {
829- let ap = fe
841+ let dX = {
842+ let ap = fh
830843 let aq = size(ap)
831844 let ar = nil
832845 func as (at,au) = if ((au >= aq))
833846 then at
834- else fd(at, ap[au])
847+ else fg(at, ap[au])
835848
836849 func av (at,au) = if ((au >= aq))
837850 then at
838851 else throw("List size exceeds 100")
839852
840853 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)
841854 }
842- $Tuple2(nil, dV)
855+ $Tuple2(nil, dX)
843856 }
844857
845858
846859
847-@Callable(eU)
860+@Callable(eX)
848861 func warehouseOrderByAssetIdInfoREADONLY (bX) = if ((bX == ""))
849862 then throw("landAssetId is required")
850863 else {
851- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
852- let eD = if ((eJ > 0))
864+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
865+ let eF = if ((eL > 0))
853866 then value(getString(aj, bP(bX)))
854867 else ""
855- $Tuple2(nil, eT(bX, eD))
868+ $Tuple2(nil, eW(bX, eF))
856869 }
857870
858871
859872
860-@Callable(eU)
861-func ordersByLandIdsInfoREADONLY (fe) = {
862- func fd (am,bX) = if ((bX == ""))
873+@Callable(eX)
874+func ordersByLandIdsInfoREADONLY (fh) = {
875+ func fg (am,bX) = if ((bX == ""))
863876 then throw("landAssetId is required")
864877 else {
865- let eJ = valueOrElse(getInteger(aj, bS(bX)), -1)
866- let eD = if ((eJ > 0))
878+ let eL = valueOrElse(getInteger(aj, bS(bX)), -1)
879+ let eF = if ((eL > 0))
867880 then value(getString(aj, bP(bX)))
868881 else ""
869- (am :+ eT(bX, eD))
882+ (am :+ eW(bX, eF))
870883 }
871884
872- let dV = {
873- let ap = fe
885+ let dX = {
886+ let ap = fh
874887 let aq = size(ap)
875888 let ar = nil
876889 func as (at,au) = if ((au >= aq))
877890 then at
878- else fd(at, ap[au])
891+ else fg(at, ap[au])
879892
880893 func av (at,au) = if ((au >= aq))
881894 then at
882895 else throw("List size exceeds 40")
883896
884897 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)
885898 }
886- $Tuple2(nil, dV)
899+ $Tuple2(nil, dX)
887900 }
888901
889902
890903
891-@Callable(eU)
892-func cancelWarehouseOrders (fe) = if ((eU.caller != this))
904+@Callable(eX)
905+func cancelWarehouseOrders (fh) = if ((eX.caller != this))
893906 then throw("permission denied")
894907 else {
895- let ff = getBoolean(aj, ci())
896- if (if (!(isDefined(ff)))
908+ let fi = getBoolean(aj, cj())
909+ if (if (!(isDefined(fi)))
897910 then true
898- else (value(ff) == false))
911+ else (value(fi) == false))
899912 then throw("Contracts should be blocked before canceling orders")
900913 else {
901- func fd (eK,bX) = if ((bX == ""))
914+ func fg (eM,bX) = if ((bX == ""))
902915 then throw("landAssetId is required")
903916 else {
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)
917+ let fj = dL(invoke(dr, "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))
918+ if (if (eM)
906919 then true
907- else fg)
908- then !(if (eK)
909- then fg
920+ else fj)
921+ then !(if (eM)
922+ then fj
910923 else false)
911924 else false
912925 }
913926
914- let dV = {
915- let ap = fe
927+ let dX = {
928+ let ap = fh
916929 let aq = size(ap)
917930 let ar = false
918931 func as (at,au) = if ((au >= aq))
919932 then at
920- else fd(at, ap[au])
933+ else fg(at, ap[au])
921934
922935 func av (at,au) = if ((au >= aq))
923936 then at
924937 else throw("List size exceeds 30")
925938
926939 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)
927940 }
928- $Tuple2(nil, dV)
941+ $Tuple2(nil, dX)
929942 }
930943 }
931944
932945
933946
934-@Callable(eU)
935-func fixWarehouseFormats (fe) = if ((eU.caller != this))
947+@Callable(eX)
948+func fixWarehouseFormats (fh) = if ((eX.caller != this))
936949 then throw("permission denied")
937950 else {
938- func fd (am,bX) = if ((bX == ""))
951+ func fg (am,bX) = if ((bX == ""))
939952 then throw("landAssetId is required")
940- else (am + size(dE(invoke(aj, "fixWarehouseFormat", [bX], nil))))
953+ else (am + size(dG(invoke(aj, "fixWarehouseFormat", [bX], nil))))
941954
942- let dV = {
943- let ap = fe
955+ let dX = {
956+ let ap = fh
944957 let aq = size(ap)
945958 let ar = 0
946959 func as (at,au) = if ((au >= aq))
947960 then at
948- else fd(at, ap[au])
961+ else fg(at, ap[au])
949962
950963 func av (at,au) = if ((au >= aq))
951964 then at
952965 else throw("List size exceeds 25")
953966
954967 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)
955968 }
956- $Tuple2(nil, dV)
969+ $Tuple2(nil, dX)
957970 }
958971
959972
960973
961-@Callable(eU)
962-func fixStakedPieces (fh) = if ((eU.caller != this))
974+@Callable(eX)
975+func fixStakedPieces (fk) = if ((eX.caller != this))
963976 then throw("permission denied")
964977 else {
965- func fi (am,t) = if ((t == ""))
978+ func fl (am,t) = if ((t == ""))
966979 then throw("address is required")
967- else (am + dH(invoke(aj, "fixStakedPieces", [t], nil)))
980+ else (am + dJ(invoke(aj, "fixStakedPieces", [t], nil)))
968981
969- let dV = {
970- let ap = fh
982+ let dX = {
983+ let ap = fk
971984 let aq = size(ap)
972985 let ar = 0
973986 func as (at,au) = if ((au >= aq))
974987 then at
975- else fi(at, ap[au])
988+ else fl(at, ap[au])
976989
977990 func av (at,au) = if ((au >= aq))
978991 then at
979992 else throw("List size exceeds 16")
980993
981994 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)
982995 }
983- $Tuple2(nil, dV)
996+ $Tuple2(nil, dX)
984997 }
985998
986999
9871000
988-@Callable(eU)
989-func fixStakedLands (fe) = {
990- let fj = toString(eU.caller)
991- if (!(containsElement(dO, fj)))
1001+@Callable(eX)
1002+func fixStakedLands (fh) = {
1003+ let fm = toString(eX.caller)
1004+ if (!(containsElement(dQ, fm)))
9921005 then throw("Permission denied")
9931006 else {
994- let dV = dH(invoke(aj, "fixContinentProportions", [fe], nil))
995- $Tuple2(nil, dV)
1007+ let dX = dJ(invoke(aj, "fixContinentProportions", [fh], nil))
1008+ $Tuple2(nil, dX)
9961009 }
9971010 }
9981011
9991012
10001013
1001-@Callable(eU)
1002-func sendUsdtPrize (eY) = if ((eU.caller != aj))
1014+@Callable(eX)
1015+func sendUsdtPrize (fb) = if ((eX.caller != aj))
10031016 then throw("permission denied")
10041017 else {
1005- let fk = fraction(assetBalance(this, cL), dN, cQ)
1006- $Tuple2([ScriptTransfer(addressFromStringValue(eY), fk, cL)], fk)
1018+ let fn = fraction(assetBalance(this, cM), dP, cS)
1019+ $Tuple2([ScriptTransfer(addressFromStringValue(fb), fn, cM)], fn)
10071020 }
10081021
10091022
10101023
1011-@Callable(eU)
1024+@Callable(eX)
10121025 func getEmergencyServiceDataREADONLY () = {
1013- let fl = getString(dp, ck())
1014- let fm = if (isDefined(fl))
1015- then split_4C(value(fl), "_")
1026+ let fo = getString(dr, cl())
1027+ let fp = if (isDefined(fo))
1028+ then split_4C(value(fo), "_")
10161029 else nil
1017- func fn (am,fo) = {
1018- let dI = am._2
1019- let cJ = split(fo, "_")
1020- let fp = if ((dI == 0))
1030+ func fq (am,fr) = {
1031+ let dK = am._2
1032+ let cK = split(fr, "_")
1033+ let fs = if ((dK == 0))
10211034 then (bH * bN)
10221035 else 0
1023- let fq = if ((size(fm) > dI))
1024- then parseIntValue(fm[dI])
1036+ let ft = if ((size(fp) > dK))
1037+ then parseIntValue(fp[dK])
10251038 else 0
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))
1039+ let fu = cJ(cK)
1040+ let fv = fraction((fu * bI), bG, (cT * bN))
1041+ let fw = fraction((fu * bJ), bG, (cT * bN))
1042+ let fx = makeString([toString(fs), toString(ft), toString(fv), toString(fw)], "_")
1043+ $Tuple2((am._1 :+ fx), (dK + 1))
10311044 }
10321045
1033- let dG = makeString_2C(( let ap = bL
1046+ let dI = makeString_2C(( let ap = bL
10341047 let aq = size(ap)
10351048 let ar = $Tuple2(nil, 0)
10361049 func as (at,au) = if ((au >= aq))
10371050 then at
1038- else fn(at, ap[au])
1051+ else fq(at, ap[au])
10391052
10401053 func av (at,au) = if ((au >= aq))
10411054 then at
10421055 else throw("List size exceeds 50")
10431056
10441057 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, ":")
1045- let fv = ("%s%s__emergencyServiceData__" + dG)
1046- $Tuple2(nil, fv)
1058+ let fy = ("%s%s__emergencyServiceData__" + dI)
1059+ $Tuple2(nil, fy)
10471060 }
10481061
10491062
10501063
1051-@Callable(eU)
1064+@Callable(eX)
10521065 func wlgStatsREADONLY (ay) = {
1053- let fw = ax(ay, [do, aj, dp, dq, dr, ds, aH], cL, 0)
1054- $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fw[z])), ("%s%d__wlgPrice__" + toString(fw[A])), ("%s%d__usdtFunds__" + toString(fw[B])), ("%s%d__usdtEconomy__" + toString(fw[C])), ("%s%d__usdtActivity__" + toString(fw[D])), ("%s%d__usdtArbitrage__" + toString(fw[E])), ("%s%d__usdtPool__" + toString(fw[F])), ("%s%d__wlgIssueTime__" + toString(fw[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fw[H])), ("%s%d__wlgMarketingTotal__" + toString(fw[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fw[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fw[K])), ("%s%d__wlgMarketingWlgold__" + toString(fw[L])), ("%s%d__wlgTeamTotal__" + toString(fw[M])), ("%s%d__wlgTeamAmLeft__" + toString(fw[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fw[O])), ("%s%d__wlgTeamWlgold__" + toString(fw[P])), ("%s%d__wlgActTotal__" + toString(fw[Q])), ("%s%d__wlgActAmLeft__" + toString(fw[R])), ("%s%d__wlgActAmAvailNow__" + toString(fw[S])), ("%s%d__wlgActWlgold__" + toString(fw[T])), ("%s%d__wlgCurPeriod__" + toString(fw[U])), ("%s%d__wlgAmLeftTotal__" + toString(fw[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fw[W])), ("%s%d__wlgLastUserTime__" + toString(fw[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fw[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fw[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fw[aa]))])
1066+ let fz = ax(ay, [dq, aj, dr, ds, dt, du, aH], cM, 0)
1067+ $Tuple2(nil, [("%s%d__wlgAmount__" + toString(fz[z])), ("%s%d__wlgPrice__" + toString(fz[A])), ("%s%d__usdtFunds__" + toString(fz[B])), ("%s%d__usdtEconomy__" + toString(fz[C])), ("%s%d__usdtActivity__" + toString(fz[D])), ("%s%d__usdtArbitrage__" + toString(fz[E])), ("%s%d__usdtPool__" + toString(fz[F])), ("%s%d__wlgIssueTime__" + toString(fz[G])), ("%s%d__wlgLastMarketingTeamActTime__" + toString(fz[H])), ("%s%d__wlgMarketingTotal__" + toString(fz[I])), ("%s%d__wlgMarketingAmLeft__" + toString(fz[J])), ("%s%d__wlgMarketingAmAvailNow__" + toString(fz[K])), ("%s%d__wlgMarketingWlgold__" + toString(fz[L])), ("%s%d__wlgTeamTotal__" + toString(fz[M])), ("%s%d__wlgTeamAmLeft__" + toString(fz[N])), ("%s%d__wlgTeamAmAvailNow__" + toString(fz[O])), ("%s%d__wlgTeamWlgold__" + toString(fz[P])), ("%s%d__wlgActTotal__" + toString(fz[Q])), ("%s%d__wlgActAmLeft__" + toString(fz[R])), ("%s%d__wlgActAmAvailNow__" + toString(fz[S])), ("%s%d__wlgActWlgold__" + toString(fz[T])), ("%s%d__wlgCurPeriod__" + toString(fz[U])), ("%s%d__wlgAmLeftTotal__" + toString(fz[V])), ("%s%d__wlgCurPeriodDistribution__" + toString(fz[W])), ("%s%d__wlgLastUserTime__" + toString(fz[X])), ("%s%d__wlgUserAmAvailNow__" + toString(fz[Y])), ("%s%d__wlgGuestSLandDaily__" + toString(fz[Z])), ("%s%d__wlgInvestFundTotal__" + toString(fz[aa]))])
10551068 }
10561069
10571070
10581071
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] == ""))
1072+@Callable(eX)
1073+func tournamentStatsREADONLY (fA) = {
1074+ let fB = ct(dv, fA)
1075+ let cv = fB[cr]
1076+ let cw = fB[cs]
1077+ let fC = if ((cw[cC] == ""))
10651078 then " "
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)])
1079+ else cw[cC]
1080+ let fD = valueOrElse(getString(dv, cq(fA)), "")
1081+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cv[cx], cv[cy], cv[cz], cv[cA]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cw[cB], fC, cw[cD], cw[cE], cw[cF]], "_")), ("%s%s__tournamentRegistrants__" + fD)])
10691082 }
10701083
10711084
10721085
1073-@Callable(eU)
1086+@Callable(eX)
10741087 func lastTournamentStatsREADONLY () = {
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] == ""))
1088+ let fA = valueOrElse(getInteger(dv, cm), 0)
1089+ let cv = split(valueOrElse(getString(dv, cn(fA)), "%s%d%d%d%d%d____________"), cR)
1090+ let cw = split(valueOrElse(getString(dv, cp(fA)), "%s%s%d%d%d__________"), cR)
1091+ let fC = if ((cw[cC] == ""))
10791092 then " "
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)])
1093+ else cw[cC]
1094+ let fD = valueOrElse(getString(dv, cq(fA)), "")
1095+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fA)), ("%s%s__tournamentStaticData__" + makeString([cv[cx], cv[cy], cv[cz], cv[cA]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cw[cB], fC, cw[cD], cw[cE], cw[cF]], "_")), ("%s%s__tournamentRegistrants__" + fD)])
10831096 }
10841097
10851098
10861099
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)], "_"))])
1100+@Callable(eX)
1101+func tournamentDuckStatsREADONLY (co,bo) = {
1102+ let fE = valueOrElse(getBoolean(dv, cG(co, bo)), false)
1103+ let fF = valueOrElse(getInteger(dv, cH(co, bo)), 0)
1104+ let fG = valueOrElse(getInteger(dv, cI(co, bo)), 0)
1105+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fE), toString(fF), toString(fG)], "_"))])
10931106 }
10941107
10951108

github/deemru/w8io/169f3d6 
456.12 ms