tx · Czu39FVcNUsNKLSbSbztdCvWEdKpcQsqzJor8xsrDun3

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03300000 Waves

2023.08.05 16:55 [2697375] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "Czu39FVcNUsNKLSbSbztdCvWEdKpcQsqzJor8xsrDun3", "fee": 3300000, "feeAssetId": null, "timestamp": 1691243750982, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "2HtFmRtaio1rLgjDr7vxotp9bgvvJFWa5oFYvtURosg9iZE8NtMWW2AcJDZpaRsm4pJvK36eY8LWKvQbrCdgbM6N" ], "script": "base64:BgJPCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBCBIAEgMKAQgSAwoBAa0BAAJNNgDAhD0AAk04AIDC1y8ACE1JTExJT042AICA6YOx3hYADk1BUktFVElOR1NIQVJFAKCNBgAJVEVBTVNIQVJFAMCaDAANQUNUSVZJVFlTSEFSRQCgjQYAC1BMQVlFUlNIQVJFAIC1GAAKWUVBUk1JTExJUwCAhuvHdQADREFZAIC4mSkAEG1hcmtldGluZ0FkZHJLZXkCDW1hcmtldGluZ0FkZHIAC3RlYW1BZGRyS2V5Agh0ZWFtQWRkcgAUbGFzdE1hcmtldGluZ1RpbWVLZXkCGWxhc3RDbGFpbWVkVGltZV9tYXJrZXRpbmcAFm1hcmtldGluZ0Ftb3VudExlZnRLZXkCE21hcmtldGluZ0Ftb3VudExlZnQAD2xhc3RUZWFtVGltZUtleQIUbGFzdENsYWltZWRUaW1lX3RlYW0AEXRlYW1BbW91bnRMZWZ0S2V5Ag50ZWFtQW1vdW50TGVmdAAVbGFzdEFjdGl2aXRpZXNUaW1lS2V5AhpsYXN0Q2xhaW1lZFRpbWVfYWN0aXZpdGllcwAQYWN0QW1vdW50TGVmdEtleQIUYWN0aXZpdGllc0Ftb3VudExlZnQAFHN0YWtlcnNBbW91bnRMZWZ0S2V5AhFzdGFrZXJzQW1vdW50TGVmdAEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQRhZGRyCQCsAgICFGxhc3RDbGFpbWVkVGltZVVzZXJfBQRhZGRyARRkaXN0cmlidXRpb25CeVBlcmlvZAEGcGVyaW9kCQBrAwUITUlMTElPTjYJAGgCBQtQTEFZRVJTSEFSRQkAZAIFBnBlcmlvZAABCQBoAgAGBQJNNgAPd2xnSXNzdWVUaW1lS2V5Ag13bGdfaXNzdWVUaW1lABJ3bGdJc3N1ZWRBbW91bnRLZXkCEHdsZ19pc3N1ZWRBbW91bnQAEXpiSXNzdWVkQW1vdW50S2V5AhJ6YmlsbF9pc3N1ZWRBbW91bnQADGlkeFdsZ0Ftb3VudAAAAAtpZHhXbGdQcmljZQABAAtpZHhXbGdGdW5kcwACAA1pZHhXbGdFY29ub215AAMADmlkeFdsZ0FjdGl2aXR5AAQAD2lkeFdsZ0FyYml0cmFnZQAFAAppZHhXbGdQb29sAAYAD2lkeFdsZ0lzc3VlVGltZQAHABFpZHhXbGdMYXN0TVRBVGltZQAIABRpZHhXbGdNYXJrZXRpbmdUb3RhbAAJABVpZHhXbGdNYXJrZXRpbmdBbUxlZnQACgAZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwALABVpZHhXbGdNYXJrZXRpbmdXbGdvbGQADAAPaWR4V2xnVGVhbVRvdGFsAA0AEGlkeFdsZ1RlYW1BbUxlZnQADgAUaWR4V2xnVGVhbUFtQXZhaWxOb3cADwAQaWR4V2xnVGVhbVdsZ29sZAAQAA5pZHhXbGdBY3RUb3RhbAARAA9pZHhXbGdBY3RBbUxlZnQAEgATaWR4V2xnQWN0QW1BdmFpbE5vdwATAA9pZHhXbGdBY3RXbGdvbGQAFAAPaWR4V2xnQ3VyUGVyaW9kABUAEWlkeFdsZ0FtTGVmdFRvdGFsABYAG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgAXABJpZHhXbGdMYXN0VXNlclRpbWUAGAAUaWR4V2xnVXNlckFtQXZhaWxOb3cAGQAWaWR4V2xnU0xhbmREYWlseUFtb3VudAAaABZpZHhXbGdJbnZlc3RGdW5kQW1vdW50ABsACGRhcHBSZXN0AAAAC2RhcHBTdGFraW5nAAEAC2RhcHBFY29ub215AAIAB2RhcHBXbGcABAAKZGFwcFB1enpsZQAFAA5kYXBwSW52ZXN0RnVuZAAGAQlnZXRQaWVjZXMCEnVzZXJBZGRyU3RyT3JFbXB0eQ9zdGFraW5nQ29udHJhY3QEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0AhNyZXNUeXBlc1Byb3BvcnRpb25zAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAp0b3RhbFBvd2VyCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgQKdXNlcnNQb3dlcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAKwCAgIUc3Rha2VkUGllY2VzQnlPd25lcl8FEnVzZXJBZGRyU3RyT3JFbXB0eQAACQDMCAIFCnRvdGFsUG93ZXIJAMwIAgUKdXNlcnNQb3dlcgUDbmlsAQtnZXRXbGdTdGF0cwQLdXNlckFkZHJPcHQJY29udHJhY3RzBnVzZHRJZBV1c2R0QmFsYW5jZUNvcnJlY3Rpb24EDGlzc3VlZEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRJ3bGdJc3N1ZWRBbW91bnRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQKZWNvbm9teVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwULZGFwcEVjb25vbXkFBnVzZHRJZAQHcmVzdFVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFBnVzZHRJZAQGd2xnVXNkCQBlAgkA8AcCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUGdXNkdElkBRV1c2R0QmFsYW5jZUNvcnJlY3Rpb24ECXB1enpsZVVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUKZGFwcFB1enpsZQUGdXNkdElkBBJpbnZlc3RGdW5kQ29udHJhY3QJAJEDAgUJY29udHJhY3RzBQ5kYXBwSW52ZXN0RnVuZAQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRJpbnZlc3RGdW5kQ29udHJhY3QFBnVzZHRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJpbnZlc3RGdW5kQ29udHJhY3QFEXpiSXNzdWVkQW1vdW50S2V5AAAEDXRvdGFsRnVuZHNVc2QJAGQCCQBkAgUKZWNvbm9teVVzZAUGd2xnVXNkBQ9pbnZlc3RGdW5kVG90YWwEBXdsZ0lkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcCC3dsZ19hc3NldElkAhNOb3QgaW5pdGlhbGl6ZWQgeWV0BANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUPd2xnSXNzdWVUaW1lS2V5Ag9Ob3QgaW5pdGlhbGl6ZWQEDm1hcmtldGluZ1RvdGFsCQBrAwUITUlMTElPTjYFDk1BUktFVElOR1NIQVJFBQJNNgQTbWFya2V0aW5nQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUWbWFya2V0aW5nQW1vdW50TGVmdEtleQUObWFya2V0aW5nVG90YWwEEWxhc3RNYXJrZXRpbmdUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRRsYXN0TWFya2V0aW5nVGltZUtleQUJaXNzdWVUaW1lBA1tYXJrZXRpbmdBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBtYXJrZXRpbmdBZGRyS2V5BBttYXJrZXRpbmdBbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUObWFya2V0aW5nVG90YWwJAGUCBQNub3cFEWxhc3RNYXJrZXRpbmdUaW1lBQpZRUFSTUlMTElTCQDMCAIFE21hcmtldGluZ0Ftb3VudExlZnQFA25pbAQPbWFya2V0aW5nV2xnb2xkCQDwBwIFDW1hcmtldGluZ0FkZHIFBXdsZ0lkBAl0ZWFtVG90YWwJAGsDBQhNSUxMSU9ONgUJVEVBTVNIQVJFBQJNNgQOdGVhbUFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEXRlYW1BbW91bnRMZWZ0S2V5BQl0ZWFtVG90YWwEDGxhc3RUZWFtVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUPbGFzdFRlYW1UaW1lS2V5BQlpc3N1ZVRpbWUECHRlYW1BZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQt0ZWFtQWRkcktleQQWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQl0ZWFtVG90YWwJAGUCBQNub3cFDGxhc3RUZWFtVGltZQkAaAIAAwUKWUVBUk1JTExJUwkAzAgCBQ50ZWFtQW1vdW50TGVmdAUDbmlsBAp0ZWFtV2xnb2xkCQDwBwIFCHRlYW1BZGRyBQV3bGdJZAQIYWN0VG90YWwJAGsDBQhNSUxMSU9ONgUNQUNUSVZJVFlTSEFSRQUCTTYEDWFjdEFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEGFjdEFtb3VudExlZnRLZXkFCGFjdFRvdGFsBBJsYXN0QWN0aXZpdGllc1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFWxhc3RBY3Rpdml0aWVzVGltZUtleQUJaXNzdWVUaW1lBBVhY3RBbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUIYWN0VG90YWwJAGUCBQNub3cFEmxhc3RBY3Rpdml0aWVzVGltZQkAaAIAAwUKWUVBUk1JTExJUwkAzAgCBQ1hY3RBbW91bnRMZWZ0BQNuaWwECWFjdFdsZ29sZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFBXdsZ0lkBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQt1c2VyQWRkck9wdAUJaXNzdWVUaW1lBA5sYXN0VXNlclBlcmlvZAkAaQIJAGUCBQxsYXN0VXNlclRpbWUFCWlzc3VlVGltZQUKWUVBUk1JTExJUwQKbm93TGltaXRlZAkAlwMBCQDMCAIFA25vdwkAzAgCCQBkAgUJaXNzdWVUaW1lCQBoAgADBQpZRUFSTUlMTElTBQNuaWwECWN1clBlcmlvZAkAlwMBCQDMCAIJAGkCCQBlAgUDbm93BQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMJAMwIAgACBQNuaWwEA2VmZgkBCWdldFBpZWNlcwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcEFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQUJY3VyUGVyaW9kBAp1c2VyQW1vdW50CQBrAwMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTAwkAAAIFDmxhc3RVc2VyUGVyaW9kCQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwkAZAIJAGQCCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAACCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMJAGUCBQljdXJQZXJpb2QAAQUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kBQpZRUFSTUlMTElTCQCRAwIFA2VmZgABCQCRAwIFA2VmZgAABBBzTGFuZERhaWx5QW1vdW50CQBrAwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgUDREFZBQpZRUFSTUlMTElTABkJAJEDAgUDZWZmAAAED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUc3Rha2Vyc0Ftb3VudExlZnRLZXkAAAkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgkAawMFDXRvdGFsRnVuZHNVc2QFAk04BQxpc3N1ZWRBbW91bnQJAMwIAgUNdG90YWxGdW5kc1VzZAkAzAgCBQplY29ub215VXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUGd2xnVXNkCQDMCAIFCXB1enpsZVVzZAkAzAgCBQlpc3N1ZVRpbWUJAMwIAgURbGFzdE1hcmtldGluZ1RpbWUJAMwIAgUObWFya2V0aW5nVG90YWwJAMwIAgUTbWFya2V0aW5nQW1vdW50TGVmdAkAzAgCBRttYXJrZXRpbmdBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUPbWFya2V0aW5nV2xnb2xkCQDMCAIFCXRlYW1Ub3RhbAkAzAgCBQ50ZWFtQW1vdW50TGVmdAkAzAgCBRZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCnRlYW1XbGdvbGQJAMwIAgUIYWN0VG90YWwJAMwIAgUNYWN0QW1vdW50TGVmdAkAzAgCBRVhY3RBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUJYWN0V2xnb2xkCQDMCAIFCWN1clBlcmlvZAkAzAgCBQ9hbW91bnRMZWZ0VG90YWwJAMwIAgUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIFDGxhc3RVc2VyVGltZQkAzAgCBQp1c2VyQW1vdW50CQDMCAIFEHNMYW5kRGFpbHlBbW91bnQJAMwIAgUPaW52ZXN0RnVuZFRvdGFsBQNuaWwBDWtleUR1Y2tIZWFsdGgBC2R1Y2tBc3NldElkCQCsAgICC2R1Y2tIZWFsdGhfBQtkdWNrQXNzZXRJZAEMa2V5RHVja0NoYXJzAQtkdWNrQXNzZXRJZAkArAICAgpkdWNrQ2hhcnNfBQtkdWNrQXNzZXRJZAEJa2V5RHVja1hQAQtkdWNrQXNzZXRJZAkArAICAgdkdWNrWFBfBQtkdWNrQXNzZXRJZAEMa2V5RHVja0xldmVsAQtkdWNrQXNzZXRJZAkArAICAgpkdWNrTGV2ZWxfBQtkdWNrQXNzZXRJZAERa2V5RHVja0ZyZWVQb2ludHMBC2R1Y2tBc3NldElkCQCsAgICD2R1Y2tGcmVlUG9pbnRzXwULZHVja0Fzc2V0SWQBEGtleUR1Y2tFcXVpcG1lbnQBC2R1Y2tBc3NldElkCQCsAgICDmR1Y2tFcXVpcG1lbnRfBQtkdWNrQXNzZXRJZAEJa2V5VXNlclhQAQRhZGRyCQCsAgICB3VzZXJYUF8FBGFkZHIBDGtleVVzZXJMZXZlbAEEYWRkcgkArAICAgp1c2VyTGV2ZWxfBQRhZGRyARFrZXlVc2VyRnJlZVBvaW50cwEEYWRkcgkArAICAg91c2VyRnJlZVBvaW50c18FBGFkZHIBCW1heEhlYWx0aAEFbGV2ZWwJAGQCAGQFBWxldmVsAApBUlRQUkVTQUxFAgdQUkVTQUxFAApBUlRPTkJPQVJEAgdPTkJPQVJEAAZOVU1SRVMABgAPREFJTFlSRVNCWVBJRUNFAID40gEACURBWU1JTExJUwCAuJkpAAxXSE1VTFRJUExJRVIAgMivoCUAEFJFU09VUkNFUFJJQ0VNSU4A1bUCAA1FU01BWFBBQ0tBR0VTAAMACUVTQlVZQ09FRgAEAApFU1NFTExDT0VGAAoACUNPRUZGMk1BVACAreIEABBwcm9kdWN0aW9uTWF0cml4CQDMCAICJThfOF84XzE3XzE3XzQyXzEyXzBfMzBfMCwwLDAsMCwwLDAsMF8JAMwIAgIlOF84XzhfMTdfMTdfNDJfMjRfMF82MF8wLDAsNSwyLDAsMCwwXwkAzAgCAic4XzhfOF8xN18xN180Ml8zNl8wXzEyMF8wLDAsMTAsNCwwLDAsMF8JAMwIAgIpOF8xOV8xOV84XzI3XzE5XzI2XzFfMjBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5XzUyXzFfNDBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5Xzc4XzFfODBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIiOF84XzhfOF84XzYwXzEzXzJfMl8wLDAsMCwwLDAsMCwwXwkAzAgCAiI4XzhfOF84XzhfNjBfMjZfMl80XzAsMCwwLDAsMCwwLDBfCQDMCAICIjhfOF84XzhfOF82MF8zOV8yXzhfMCwwLDAsMCwwLDAsMF8JAMwIAgIpMzBfMzBfM18xN18xN18zXzMwXzNfMzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzYwXzNfNTBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzkwXzNfNzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMTFfNF8zMF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8yMl80XzUwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzMzXzRfNzBfMCwwLDAsMCwwLDAsMF8yMDEFA25pbAAJcklkeENvZWZmAAYADlBST0RVQ1RQS0dTSVpFAAoBEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQdhc3NldElkCQCsAgICCW5mdE93bmVyXwUHYXNzZXRJZAEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYbGFuZEN1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQdhc3NldElkCQCsAgICC3N0YWtlZFRpbWVfBQdhc3NldElkARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQdhc3NldElkCQCsAgICC2luZnJhTGV2ZWxfBQdhc3NldElkASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIEdHlwZQdhc3NldElkCQC5CQIJAMwIAgINbGFuZEFydFN0YXR1cwkAzAgCBQR0eXBlCQDMCAIFB2Fzc2V0SWQFA25pbAIBXwESa2V5V2FyZWhvdXNlQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgp3YXJlSG91c2VfBQtsYW5kQXNzZXRJZAEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEEYWRkcgkArAICAhpvbmJvYXJkQXJ0QWN0aXZhdGVkRHVja0J5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBCmtleUJsb2NrZWQAAhBjb250cmFjdHNCbG9ja2VkAQ5rZXlPcmRlckJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKbGFuZE9yZGVyXwULbGFuZEFzc2V0SWQBDmtleUVzV2FyZWhvdXNlAAIaZW1lcmdlbmN5V2FyZWhvdXNlUHJvZHVjdHMBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEDdElkCQCsAgICFiVzJWRfX3RvdXJTdGF0aWNEYXRhX18JAKQDAQUDdElkARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQN0SWQJAKwCAgIXJXMlZF9fdG91ckR5bmFtaWNEYXRhX18JAKQDAQUDdElkARdrZXlBbGxSZWdpc3RyYW5kc0J5VG91cgEDdElkCQCsAgICFiVzJWRfX2FsbFJlZ2lzdHJhbmRzX18JAKQDAQUDdElkABN0U3RhdGljUmVnaXN0ZXJDb3N0AAIAEnRTdGF0aWNBdHRlbXB0Q29zdAADAAx0U3RhdGljU3RhcnQABQAKdFN0YXRpY0VuZAAGAA50RHluYW1pY1N0YXR1cwABAA90RHluYW1pY1dpbkR1Y2sAAgARdER5bmFtaWNXaW5SZXN1bHQAAwAVdER5bmFtaWNUb3RhbFJlZ0NvdW50AAQAFXREeW5hbWljVG90YWxBdHRlbXB0cwAFARJnZXRSZWNpcGVNYXRlcmlhbHMBBnJlY2lwZQkAaAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZyZWNpcGUFCXJJZHhDb2VmZgUJQ09FRkYyTUFUAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgAVZGVmYXVsdFJlc3RBZGRyZXNzU3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUFFDdXZGYnZoNExrUFVucm5VMXozam5iQTFwOW0zV05odgMJAAACAQFUBQckbWF0Y2gwAiMzTXVta0dHenRDS0FYcFdEcXhrZGRvZnFYU1VicVFrdlNKeQkAAgECDVVua25vd24gY2hhaW4AEUluZnJhVXBncmFkZUNvc3RTBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAIDIr6AlAwkAAAIBAVQFByRtYXRjaDAAgMLXLwkAAgECDVVua25vd24gY2hhaW4AA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDgAgMLXLwAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAAEUlkeENmZ1N0YWtpbmdEYXBwAAEAEUlkeENmZ0Vjb25vbXlEYXBwAAIAFElkeENmZ0dvdmVybmFuY2VEYXBwAAMADUlkeENmZ1dsZ0RhcHAABAAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABQAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABgAUSWR4Q2ZnVG91cm5hbWVudERhcHAABwEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAAPZWNvbm9teUNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnRWNvbm9teURhcHAAC2dvdkNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnR292ZXJuYW5jZURhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUNSWR4Q2ZnV2xnRGFwcAAScHV6emxlUG9vbENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnUHV6emxlUG9vbERhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0ludmVzdEZ1bmREYXBwABJ0b3VybmFtZW50Q29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdUb3VybmFtZW50RGFwcAAKcmVjTGFuZE51bQAAAAtyZWNMYW5kU2l6ZQABAAtyZWNUZXJyYWlucwACAAxyZWNDb250aW5lbnQAAwANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQITTm90IGluaXRpYWxpemVkIHlldAAKSWR4RWZmVXNlcgABARFrZXlSZXNQcm9wb3J0aW9ucwACE3Jlc1R5cGVzUHJvcG9ydGlvbnMBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgEWa2V5U3Rha2VkUGllY2VzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBQlvd25lckFkZHIBCGFzU3RyaW5nAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAUBcwkAAgECGGZhaWwgdG8gY2FzdCBpbnRvIFN0cmluZwEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFuBQckbWF0Y2gwBQFuCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQlhc0Jvb2xlYW4BAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBcwUHJG1hdGNoMAUBcwkAAgECGWZhaWwgdG8gY2FzdCBpbnRvIEJvb2xlYW4BD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUBDmdldFZvdGluZ1Bvd2VyARJ1c2VyQWRkclN0ck9yRW1wdHkEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5UmVzUHJvcG9ydGlvbnMAAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAp0b3RhbFBvd2VyCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgQKdXNlcnNQb3dlcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRQaWVjZXNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5AAAJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwADVVTRFRQUklaRVBBUlQAoMIeARJhc0xpc3RJbnRDb21wYWN0ZWQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAMJAQIhPQIJAJADAQUKdmFsQW55TGlzdAUGTlVNUkVTCQACAQkArAICAg5BcnJheSBzaXplIGlzIAkApAMBCQCQAwEFCnZhbEFueUxpc3QKAQRjb252AgNhY2MEaXRlbQQHJG1hdGNoMQUEaXRlbQMJAAECBQckbWF0Y2gxAgNJbnQEAml0BQckbWF0Y2gxCQDNCAIFA2FjYwkApAMBBQJpdAkAAgECFExpc3QgdHlwZSBpcyBub3QgSW50BAFyCgACJGwFCnZhbEFueUxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNvbnYCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYJALkJAgUBcgIBXwkAAgECFmZhaWwgdG8gY2FzdCBpbnRvIExpc3QBDWFzU3BsaXRSZXN1bHQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFihMaXN0W0FueV0sIExpc3RbQW55XSkEAnQyBQckbWF0Y2gwCQCUCgIJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzEJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzIJAAIBAh5mYWlsIHRvIGNhc3QgaW50byAoTGlzdCwgTGlzdCkBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQLdXNkdEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQt1c2R0QXNzZXRJZAAABA13bGdvbGRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgUKd2xnQXNzZXRJZAAABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBQ51c2VyQWRkcmVzc09wdAUOdXNlckFkZHJlc3NPcHQECHJlZkJ5S2V5CQEPa2V5QWRkcmVzc1JlZkJ5AQUOdXNlckFkZHJlc3NPcHQEBXJlZkJ5CQCdCAIFD3N0YWtpbmdDb250cmFjdAUIcmVmQnlLZXkEBHJlZnMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQETa2V5QWRkcmVzc1JlZmVycmFscwEFDnVzZXJBZGRyZXNzT3B0AgAECGxhc3RUeElkCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUxhc3RUeElkQnlVc2VyAQUOdXNlckFkZHJlc3NPcHQCAAQGcGllY2VzCQCRAwIJAQ5nZXRWb3RpbmdQb3dlcgEFDnVzZXJBZGRyZXNzT3B0BQpJZHhFZmZVc2VyBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlVc2VyWFABBQ51c2VyQWRkcmVzc09wdAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5VXNlckxldmVsAQUOdXNlckFkZHJlc3NPcHQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlVc2VyRnJlZVBvaW50cwEFDnVzZXJBZGRyZXNzT3B0AAAEB29uYm9hcmQDCQEJaXNEZWZpbmVkAQUFcmVmQnkJAKwCAgUKQVJUT05CT0FSRAMDCQEJaXNEZWZpbmVkAQUEYWRkcgkBCWlzRGVmaW5lZAEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEFDnVzZXJBZGRyZXNzT3B0BwICOjECAjowAgAJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVzX19yZWZlcnJlZEJ5X18JAQt2YWx1ZU9yRWxzZQIFBXJlZkJ5AgAJAMwIAgkArAICAhElcyVzX19yZWZlcnJhbHNfXwUEcmVmcwkAzAgCCQCsAgICECVzJXNfX2xhc3RUeElkX18FCGxhc3RUeElkCQDMCAIJAKwCAgIUJXMlZF9fd2F2ZXNCYWxhbmNlX18JAKQDAQgFB2JhbGFuY2UJYXZhaWxhYmxlCQDMCAIJAKwCAgIVJXMlZF9fd2xnb2xkQmFsYW5jZV9fCQCkAwEFDXdsZ29sZEJhbGFuY2UJAMwIAgkArAICAhMlcyVkX191c2R0QmFsYW5jZV9fCQCkAwEFC3VzZHRCYWxhbmNlCQDMCAIJAKwCAgIUJXMlZF9fc3Rha2VkUGllY2VzX18JAKQDAQUGcGllY2VzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICFyVzJXNfX3dhbGxldEFydGVmYWN0c19fBQdvbmJvYXJkBQNuaWwBDGFwcGx5Qm9udXNlcwILbGFuZEFzc2V0SWQGcGllY2VzBAppbmZyYUxldmVsCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleUluZnJhTGV2ZWxCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAAABAlhcnRQaWVjZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEga2V5TGFuZEFydFN0YXR1c0J5VHlwZUFuZEFzc2V0SWQCBQpBUlRQUkVTQUxFBQtsYW5kQXNzZXRJZAAABARhZGQ2CQBpAgUKaW5mcmFMZXZlbAAGBARhZGQ3CQBpAgUKaW5mcmFMZXZlbAAHCQCVCgMFCmluZnJhTGV2ZWwFCWFydFBpZWNlcwkAZAIJAGQCBQ9EQUlMWVJFU0JZUElFQ0UJAGsDBQ9EQUlMWVJFU0JZUElFQ0UJAGQCCQBkAgUKaW5mcmFMZXZlbAUEYWRkNgkAaAIAAgUEYWRkNwAFCQBrAwUPREFJTFlSRVNCWVBJRUNFBQlhcnRQaWVjZXMJAGgCBQZwaWVjZXMABQEXZ2V0V2FyZWhvdXNlVG90YWxWb2x1bWUBCXZvbFByZWZpeAQFcGFydHMJALUJAgUJdm9sUHJlZml4AgFfCQBoAgkAaAIFDFdITVVMVElQTElFUgkAZAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVwYXJ0cwABAAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQVwYXJ0cwAAAQxnZXRXYXJlaG91c2UDBXdoS2V5CWxhbmRJbmRleAppbmZyYUxldmVsBAl2b2xQcmVmaXgJAKwCAgkArAICCQCkAwEFCWxhbmRJbmRleAIBXwkApAMBBQppbmZyYUxldmVsBAR0b3RTCQCkAwEJARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEFCXZvbFByZWZpeAQFd2hTdHIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQV3aEtleQkArAICCQCsAgIJAKwCAgkArAICBQl2b2xQcmVmaXgCHjowXzBfMF8wXzBfMDowXzBfMF8wXzBfMDo6MF8wXwUEdG90UwIBXwUEdG90UwkAtQkCBQV3aFN0cgIBOgENZHVja0luZm9UdXBsZQELZHVja0Fzc2V0SWQEBW1heEhQCQEJbWF4SGVhbHRoAQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrTGV2ZWwBBQtkdWNrQXNzZXRJZAAACQCXCgUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2R1Y2tBc3NldElkAP///////////wEICQEFdmFsdWUBCQDsBwEJANkEAQULZHVja0Fzc2V0SWQEbmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQ9rZXlEdWNrTG9jYXRpb24BBQtkdWNrQXNzZXRJZAIACQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDWtleUR1Y2tIZWFsdGgBBQtkdWNrQXNzZXRJZAUFbWF4SFAJAQhhc1N0cmluZwEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhNnZXRCYWNrcGFja1JFQURPTkxZCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwFA25pbAENZHVja0luZm9BcnJheQMLZHVja0Fzc2V0SWQFb3duZXIHZHVja0luZgQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARprZXlEdWNrQXNzZXRJZFRvQ3VzdG9tTmFtZQEFC2R1Y2tBc3NldElkCAUHZHVja0luZgJfMgQFY2hhcnMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0NoYXJzAQULZHVja0Fzc2V0SWQCCTBfMF8wXzBfMAQCeHAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEJa2V5RHVja1hQAQULZHVja0Fzc2V0SWQAAAQDbHZsCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tMZXZlbAEFC2R1Y2tBc3NldElkAAAECmZyZWVQb2ludHMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5RHVja0ZyZWVQb2ludHMBBQtkdWNrQXNzZXRJZAAABAZlcXVpcG0JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEQa2V5RHVja0VxdWlwbWVudAEFC2R1Y2tBc3NldElkAgs7XztfO187XztfOwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULZHVja0Fzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBCAUHZHVja0luZgJfMQkAzAgCCQCsAgICDCVzJXNfX25hbWVfXwgFB2R1Y2tJbmYCXzIJAMwIAgkArAICAhAlcyVzX19sb2NhdGlvbl9fCAUHZHVja0luZgJfMwkAzAgCCQCsAgICDiVzJWRfX2hlYWx0aF9fCQCkAwEIBQdkdWNrSW5mAl80CQDMCAIJAKwCAgIRJXMlZF9fbWF4SGVhbHRoX18JAKQDAQkBCW1heEhlYWx0aAEFA2x2bAkAzAgCCQCsAgICFyVzJXNfX2NoYXJhY3RlcmlzdGljc19fBQVjaGFycwkAzAgCCQCsAgICESVzJWRfX2N1cnJlbnRYcF9fCQCkAwEFAnhwCQDMCAIJAKwCAgISJXMlZF9fY3VycmVudEx2bF9fCQCkAwEFA2x2bAkAzAgCCQCsAgICGiVzJWRfX3BvaW50c1RvRGlzdHJpYnV0ZV9fCQCkAwEFCmZyZWVQb2ludHMJAMwIAgkArAICAhAlcyVzX19iYWNrUGFja19fCAUHZHVja0luZgJfNQkAzAgCCQCsAgICESVzJXNfX2VxdWlwbWVudF9fBQZlcXVpcG0FA25pbAENbGFuZEluZm9BcnJheQMLbGFuZEFzc2V0SWQFb3duZXIKc3Rha2VkVGltZQMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQHbGFuZE51bQMJAGYCCAUBYQhxdWFudGl0eQAACQCRAwIFAWQFCnJlY0xhbmROdW0JAKwCAgIBLQkAkQMCBQFkBQpyZWNMYW5kTnVtBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzBAlkZWx0YVRpbWUJAGUCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUKc3Rha2VkVGltZQQIYXZhaWxSZXMDCQBmAgUKc3Rha2VkVGltZQAACQBrAwUJZGVsdGFUaW1lCQBoAggFDHByb2R1Y3Rpdml0eQJfMwUGcGllY2VzBQlEQVlNSUxMSVMAAAQHbmVlZE1hdAkAawMFEUluZnJhVXBncmFkZUNvc3RTCQBoAgUGcGllY2VzCQBkAggFDHByb2R1Y3Rpdml0eQJfMQABBQVTU0laRQQOZ2xvYmFsQW5kTG9jYWwDCQBmAgUKc3Rha2VkVGltZQAACQENYXNTcGxpdFJlc3VsdAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AiRzcGxpdEJ5R2xvYmFsQW5kTG9jYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAkAzAgCBQhhdmFpbFJlcwkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zBQNuaWwFA25pbAkAlAoCCQESYXNMaXN0SW50Q29tcGFjdGVkAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCHHNwbGl0QnlHbG9iYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAUDbmlsBQNuaWwCAAQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEFC2xhbmRBc3NldElkCQCsAgIJAKwCAgkAkQMCBQFkBQxyZWNDb250aW5lbnQCAS0JAJEDAgUBZAUKcmVjTGFuZE51bQkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwkAuQkCCQDMCAIFB2xhbmROdW0JAMwIAgkAkQMCBQFkBQtyZWNMYW5kU2l6ZQkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zCQDMCAIJAJEDAgUBZAUMcmVjQ29udGluZW50BQNuaWwCAV8JAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQCsAgICFiVzJXNfX2F2YWlsUmVzQnlUeXBlX18IBQ5nbG9iYWxBbmRMb2NhbAJfMgkAzAgCCQCsAgICFSVzJWRfX2F2YWlsUmVzVG90YWxfXwkApAMBBQhhdmFpbFJlcwkAzAgCCQCsAgICFCVzJXNfX25lZWRNYXRlcmlhbF9fCAUOZ2xvYmFsQW5kTG9jYWwCXzEJAMwIAgkArAICAh0lcyVzX19sYW5kQXJ0ZWZhY3RzX19QUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoFA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwQAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAJAKUIAQUEdGhpcwUDbmlsAWkBEndhbGxldEluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQJAJQKAgUDbmlsCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARdkdWNrQnlPd25lckluZm9SRUFET05MWQELdXNlckFkZHJlc3MECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQt1c2VyQWRkcmVzcwkAlAoCBQNuaWwDAwkBCWlzRGVmaW5lZAEJAKYIAQULdXNlckFkZHJlc3MJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFC3VzZXJBZGRyZXNzCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQENZHVja0luZm9BcnJheQMCAAULdXNlckFkZHJlc3MJAJcKBQD///////////8BAgACAAD///////////8BAgABaQEZZHVja0J5QXNzZXRJZEluZm9SRUFET05MWQELZHVja0Fzc2V0SWQEBW93bmVyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAkAlAoCBQNuaWwJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQDCQEJaXNEZWZpbmVkAQUFb3duZXIJAQV2YWx1ZQEFBW93bmVyAgAJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQBaQEZbGFuZEJ5QXNzZXRJZEluZm9SRUFET05MWQELbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lAWkBHnN0YWtlZExhbmRzQnlPd25lckluZm9SRUFET05MWQEQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBRBsYW5kT3duZXJBZGRyZXNzBAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggC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kQMCBQhjdXJTdGF0cwUNaWR4V2xnRWNvbm9teQkAzAgCCQCsAgICFiVzJXMlZF9fdXNkdEFjdGl2aXR5X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUOaWR4V2xnQWN0aXZpdHkJAMwIAgkArAICAhclcyVzJWRfX3VzZHRBcmJpdHJhZ2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhIlcyVzJWRfX3VzZHRQb29sX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaWR4V2xnUG9vbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnSXNzdWVUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIlJXMlcyVkX193bGdMYXN0TWFya2V0aW5nVGVhbUFjdFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdMYXN0TVRBVGltZQkAzAgCCQCsAgICGyVzJXMlZF9fd2xnTWFya2V0aW5nVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdNYXJrZXRpbmdUb3RhbAkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nQW1MZWZ0CQDMCAIJAKwCAgIgJXMlcyVkX193bGdNYXJrZXRpbmdBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nV2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdUZWFtVG90YWwJAMwIAgkArAICAhclcyVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIbJXMlcyVkX193bGdUZWFtQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1RlYW1BbUF2YWlsTm93CQDMCAIJAKwCAgIXJXMlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICFSVzJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0QW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0QW1MZWZ0CQDMCAIJAKwCAgIaJXMlcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUTaWR4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdDdXJQZXJpb2RfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdDdXJQZXJpb2QJAMwIAgkArAICAhglcyVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiIlcyVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICGSVzJXMlZF9fd2xnTGFzdFVzZXJUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaWR4V2xnTGFzdFVzZXJUaW1lCQDMCAIJAKwCAgIbJXMlcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIcJXMlcyVkX193bGdHdWVzdFNMYW5kRGFpbHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdTTGFuZERhaWx5QW1vdW50CQDMCAIJAKwCAgIcJXMlcyVkX193bGdJbnZlc3RGdW5kVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdJbnZlc3RGdW5kQW1vdW50BQNuaWwBaQEXdG91cm5hbWVudFN0YXRzUkVBRE9OTFkBDHRvdXJuYW1lbnRJZAQGc3RhdGljCQC1CQIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARVrZXlUb3VyU3RhdGljRGF0YUJ5SWQBBQx0b3VybmFtZW50SWQJAKwCAgkArAICAhlFcnJvciByZWFkaW5nIHRvdXJuYW1lbnQgCQCkAwEFDHRvdXJuYW1lbnRJZAIFIGRhdGEFA1NFUAQHZHluYW1pYwkAtQkCCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEWa2V5VG91ckR5bmFtaWNEYXRhQnlJZAEFDHRvdXJuYW1lbnRJZAkArAICCQCsAgICGUVycm9yIHJlYWRpbmcgdG91cm5hbWVudCAJAKQDAQUMdG91cm5hbWVudElkAgUgZGF0YQUDU0VQBAtyZWdpc3RyYW5kcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARdrZXlBbGxSZWdpc3RyYW5kc0J5VG91cgEFDHRvdXJuYW1lbnRJZAIACQCUCgIFA25pbAkAzAgCCQCsAgICHCVzJXNfX3RvdXJuYW1lbnRTdGF0aWNEYXRhX18JALkJAgkAzAgCCQCRAwIFBnN0YXRpYwUTdFN0YXRpY1JlZ2lzdGVyQ29zdAkAzAgCCQCRAwIFBnN0YXRpYwUSdFN0YXRpY0F0dGVtcHRDb3N0CQDMCAIJAJEDAgUGc3RhdGljBQx0U3RhdGljU3RhcnQJAMwIAgkAkQMCBQZzdGF0aWMFCnRTdGF0aWNFbmQFA25pbAIBXwkAzAgCCQCsAgICHSVzJXNfX3RvdXJuYW1lbnREeW5hbWlzRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQdkeW5hbWljBQ50RHluYW1pY1N0YXR1cwkAzAgCCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawkAzAgCCQCRAwIFB2R5bmFtaWMFEXREeW5hbWljV2luUmVzdWx0CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbFJlZ0NvdW50CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbEF0dGVtcHRzBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50UmVnaXN0cmFuZHNfXwULcmVnaXN0cmFuZHMFA25pbAD17hE9", "height": 2697375, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Cg1SCbeWGQjKUB6HKud1g4JTyiW2r6PKZNcUEG8y3pYc Next: 9LBrmhYdCmCZZmsgoFwdRTEBxDpVFyneH56bfUs3B1q9 Diff:
OldNewDifferences
298298 func ci () = "emergencyWarehouseProducts"
299299
300300
301-func cj (ck) = (parseIntValue(ck[bL]) * bJ)
301+func cj (ck) = ("%s%d__tourStaticData__" + toString(ck))
302302
303303
304-let cl = take(drop(this.bytes, 1), 1)
304+func cl (ck) = ("%s%d__tourDynamicData__" + toString(ck))
305305
306-let cm = {
307- let cn = cl
308- if ((base58'2W' == cn))
306+
307+func cm (ck) = ("%s%d__allRegistrands__" + toString(ck))
308+
309+
310+let cn = 2
311+
312+let co = 3
313+
314+let cp = 5
315+
316+let cq = 6
317+
318+let cr = 1
319+
320+let cs = 2
321+
322+let ct = 3
323+
324+let cu = 4
325+
326+let cv = 5
327+
328+func cw (cx) = (parseIntValue(cx[bL]) * bJ)
329+
330+
331+let cy = take(drop(this.bytes, 1), 1)
332+
333+let cz = {
334+ let cA = cy
335+ if ((base58'2W' == cA))
309336 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
310- else if ((base58'2T' == cn))
337+ else if ((base58'2T' == cA))
311338 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
312339 else throw("Unknown chain")
313340 }
314341
315-let co = {
316- let cn = cl
317- if ((base58'2W' == cn))
342+let cB = {
343+ let cA = cy
344+ if ((base58'2W' == cA))
318345 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
319- else if ((base58'2T' == cn))
346+ else if ((base58'2T' == cA))
320347 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
321348 else throw("Unknown chain")
322349 }
323350
324-let cp = {
325- let cn = cl
326- if ((base58'2W' == cn))
351+let cC = {
352+ let cA = cy
353+ if ((base58'2W' == cA))
327354 then 10000000000
328- else if ((base58'2T' == cn))
355+ else if ((base58'2T' == cA))
329356 then 100000000
330357 else throw("Unknown chain")
331358 }
332359
333-let cq = "__"
360+let cD = "__"
334361
335-let cr = 1000000
362+let cE = 1000000
336363
337-let cs = 100000000
364+let cF = 100000000
338365
339-let ct = 25
366+let cG = 25
340367
341-let cu = 100
368+let cH = 100
342369
343-let cv = 225
370+let cI = 225
344371
345-let cw = 400
372+let cJ = 400
346373
347-let cx = 625
374+let cK = 625
348375
349-func cy (cz,cA) = valueOrErrorMessage(getString(cz, cA), makeString(["mandatory ", toString(cz), ".", cA, " is not defined"], ""))
376+func cL (cM,cN) = valueOrErrorMessage(getString(cM, cN), makeString(["mandatory ", toString(cM), ".", cN, " is not defined"], ""))
350377
351378
352-let cB = 1
379+let cO = 1
353380
354-let cC = 2
381+let cP = 2
355382
356-let cD = 3
383+let cQ = 3
357384
358-let cE = 4
385+let cR = 4
359386
360-let cF = 5
387+let cS = 5
361388
362-let cG = 6
389+let cT = 6
363390
364-func cH () = "%s__restConfig"
391+let cU = 7
392+
393+func cV () = "%s__restConfig"
365394
366395
367-func cI () = "%s__restAddr"
396+func cW () = "%s__restAddr"
368397
369398
370-func cJ (cK) = split_4C(cy(cK, cH()), cq)
399+func cX (cY) = split_4C(cL(cY, cV()), cD)
371400
372401
373-func cL (cM,cN) = valueOrErrorMessage(addressFromString(cM[cN]), ("Rest cfg doesn't contain address at index " + toString(cN)))
402+func cZ (da,db) = valueOrErrorMessage(addressFromString(da[db]), ("Rest cfg doesn't contain address at index " + toString(db)))
374403
375404
376-let cO = addressFromStringValue(valueOrElse(getString(this, cI()), co))
405+let dc = addressFromStringValue(valueOrElse(getString(this, cW()), cB))
377406
378-let cM = cJ(cO)
407+let da = cX(dc)
379408
380-let aj = cL(cM, cB)
409+let aj = cZ(da, cO)
381410
382-let cP = cL(cM, cC)
411+let dd = cZ(da, cP)
383412
384-let cQ = cL(cM, cD)
413+let de = cZ(da, cQ)
385414
386-let cR = cL(cM, cE)
415+let df = cZ(da, cR)
387416
388-let cS = cL(cM, cF)
417+let dg = cZ(da, cS)
389418
390-let aH = cL(cM, cG)
419+let aH = cZ(da, cT)
391420
392-let cT = 0
421+let dh = cZ(da, cU)
393422
394-let cU = 1
423+let di = 0
395424
396-let cV = 2
425+let dj = 1
397426
398-let cW = 3
427+let dk = 2
399428
400-let cX = "wlg_assetId"
429+let dl = 3
401430
402-let cY = valueOrErrorMessage(getBinary(cR, cX), "Not initialized yet")
431+let dm = "wlg_assetId"
403432
404-let cZ = 1
433+let dn = valueOrErrorMessage(getBinary(df, dm), "Not initialized yet")
405434
406-func da () = "resTypesProportions"
435+let do = 1
436+
437+func dp () = "resTypesProportions"
407438
408439
409-func db (ce) = ("stakedLandsByOwner_" + ce)
440+func dq (ce) = ("stakedLandsByOwner_" + ce)
410441
411442
412-func dc (ce) = ("stakedPiecesByOwner_" + ce)
443+func dr (ce) = ("stakedPiecesByOwner_" + ce)
413444
414445
415-func dd (de) = {
416- let cn = de
417- if ($isInstanceOf(cn, "String"))
446+func ds (dt) = {
447+ let cA = dt
448+ if ($isInstanceOf(cA, "String"))
418449 then {
419- let df = cn
420- df
450+ let du = cA
451+ du
421452 }
422453 else throw("fail to cast into String")
423454 }
424455
425456
426-func dg (de) = {
427- let cn = de
428- if ($isInstanceOf(cn, "Int"))
457+func dv (dt) = {
458+ let cA = dt
459+ if ($isInstanceOf(cA, "Int"))
429460 then {
430- let dh = cn
431- dh
461+ let dw = cA
462+ dw
432463 }
433464 else throw("fail to cast into Int")
434465 }
435466
436467
437-func di (de) = {
438- let cn = de
439- if ($isInstanceOf(cn, "Boolean"))
468+func dx (dt) = {
469+ let cA = dt
470+ if ($isInstanceOf(cA, "Boolean"))
440471 then {
441- let df = cn
442- df
472+ let du = cA
473+ du
443474 }
444475 else throw("fail to cast into Boolean")
445476 }
446477
447478
448-func dj (dk) = {
449- let cn = dk
450- if (("S" == cn))
451- then ct
452- else if (("M" == cn))
453- then cu
454- else if (("L" == cn))
455- then cv
456- else if (("XL" == cn))
457- then cw
458- else if (("XXL" == cn))
459- then cx
479+func dy (dz) = {
480+ let cA = dz
481+ if (("S" == cA))
482+ then cG
483+ else if (("M" == cA))
484+ then cH
485+ else if (("L" == cA))
486+ then cI
487+ else if (("XL" == cA))
488+ then cJ
489+ else if (("XXL" == cA))
490+ then cK
460491 else throw("Unknown land size")
461492 }
462493
463494
464-func dl (ai) = {
465- let ak = split(valueOrElse(getString(aj, da()), "0_0_0_0_0_0"), "_")
495+func dA (ai) = {
496+ let ak = split(valueOrElse(getString(aj, dp()), "0_0_0_0_0_0"), "_")
466497 func al (am,an) = (am + parseIntValue(an))
467498
468499 let ao = {
479510
480511 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
481512 }
482- let aw = valueOrElse(getInteger(aj, dc(ai)), 0)
513+ let aw = valueOrElse(getInteger(aj, dr(ai)), 0)
483514 [ao, aw]
484515 }
485516
486517
487-let dm = 500000
518+let dB = 500000
488519
489-func dn (do) = {
490- let cn = do
491- if ($isInstanceOf(cn, "List[Any]"))
520+func dC (dD) = {
521+ let cA = dD
522+ if ($isInstanceOf(cA, "List[Any]"))
492523 then {
493- let dp = cn
494- if ((size(dp) != bB))
495- then throw(("Array size is " + toString(size(dp))))
524+ let dE = cA
525+ if ((size(dE) != bB))
526+ then throw(("Array size is " + toString(size(dE))))
496527 else {
497- func dq (am,an) = {
498- let dr = an
499- if ($isInstanceOf(dr, "Int"))
528+ func dF (am,an) = {
529+ let dG = an
530+ if ($isInstanceOf(dG, "Int"))
500531 then {
501- let ds = dr
502- (am :+ toString(ds))
532+ let dH = dG
533+ (am :+ toString(dH))
503534 }
504535 else throw("List type is not Int")
505536 }
506537
507- let dt = {
508- let ap = dp
538+ let dI = {
539+ let ap = dE
509540 let aq = size(ap)
510541 let ar = nil
511542 func as (at,au) = if ((au >= aq))
512543 then at
513- else dq(at, ap[au])
544+ else dF(at, ap[au])
514545
515546 func av (at,au) = if ((au >= aq))
516547 then at
518549
519550 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
520551 }
521- makeString(dt, "_")
552+ makeString(dI, "_")
522553 }
523554 }
524555 else throw("fail to cast into List")
525556 }
526557
527558
528-func du (do) = {
529- let cn = do
530- if ($isInstanceOf(cn, "(List[Any], List[Any])"))
559+func dJ (dD) = {
560+ let cA = dD
561+ if ($isInstanceOf(cA, "(List[Any], List[Any])"))
531562 then {
532- let dv = cn
533- $Tuple2(dn(dv._1), dn(dv._2))
563+ let dK = cA
564+ $Tuple2(dC(dK._1), dC(dK._2))
534565 }
535566 else throw("fail to cast into (List, List)")
536567 }
537568
538569
539-func dw (dx) = {
540- let t = addressFromString(dx)
541- let dy = if (isDefined(t))
570+func dL (dM) = {
571+ let t = addressFromString(dM)
572+ let dN = if (isDefined(t))
542573 then wavesBalance(value(t))
543574 else BalanceDetails(0, 0, 0, 0)
544- let dz = if (isDefined(t))
545- then assetBalance(value(t), cm)
575+ let dO = if (isDefined(t))
576+ then assetBalance(value(t), cz)
546577 else 0
547- let dA = if (isDefined(t))
548- then assetBalance(value(t), cY)
578+ let dP = if (isDefined(t))
579+ then assetBalance(value(t), dn)
549580 else 0
550- let dB = valueOrElse(getString(aj, bY(dx)), dx)
551- let dC = bZ(dx)
552- let dD = getString(aj, dC)
553- let dE = valueOrElse(getString(aj, cb(dx)), "")
554- let dF = valueOrElse(getString(aj, bN(dx)), "")
555- let dG = dl(dx)[cZ]
556- let dH = valueOrElse(getInteger(aj, bu(dx)), 0)
557- let dI = valueOrElse(getInteger(aj, bv(dx)), 0)
558- let dJ = valueOrElse(getInteger(aj, bw(dx)), 0)
559- let dK = if (isDefined(dD))
581+ let dQ = valueOrElse(getString(aj, bY(dM)), dM)
582+ let dR = bZ(dM)
583+ let dS = getString(aj, dR)
584+ let dT = valueOrElse(getString(aj, cb(dM)), "")
585+ let dU = valueOrElse(getString(aj, bN(dM)), "")
586+ let dV = dA(dM)[do]
587+ let dW = valueOrElse(getInteger(aj, bu(dM)), 0)
588+ let dX = valueOrElse(getInteger(aj, bv(dM)), 0)
589+ let dY = valueOrElse(getInteger(aj, bw(dM)), 0)
590+ let dZ = if (isDefined(dS))
560591 then (bA + (if (if (isDefined(t))
561- then isDefined(getString(aj, ca(dx)))
592+ then isDefined(getString(aj, ca(dM)))
562593 else false)
563594 then ":1"
564595 else ":0"))
565596 else ""
566-[("%s%s__customName__" + dB), ("%s%s__referredBy__" + valueOrElse(dD, "")), ("%s%s__referrals__" + dE), ("%s%s__lastTxId__" + dF), ("%s%d__wavesBalance__" + toString(dy.available)), ("%s%d__wlgoldBalance__" + toString(dA)), ("%s%d__usdtBalance__" + toString(dz)), ("%s%d__stakedPieces__" + toString(dG)), ("%s%d__currentXp__" + toString(dH)), ("%s%d__currentLvl__" + toString(dI)), ("%s%d__pointsToDistribute__" + toString(dJ)), ("%s%s__walletArtefacts__" + dK)]
597+[("%s%s__customName__" + dQ), ("%s%s__referredBy__" + valueOrElse(dS, "")), ("%s%s__referrals__" + dT), ("%s%s__lastTxId__" + dU), ("%s%d__wavesBalance__" + toString(dN.available)), ("%s%d__wlgoldBalance__" + toString(dP)), ("%s%d__usdtBalance__" + toString(dO)), ("%s%d__stakedPieces__" + toString(dV)), ("%s%d__currentXp__" + toString(dW)), ("%s%d__currentLvl__" + toString(dX)), ("%s%d__pointsToDistribute__" + toString(dY)), ("%s%s__walletArtefacts__" + dZ)]
567598 }
568599
569600
570-func dL (bW,dG) = {
571- let dM = valueOrElse(getInteger(aj, bS(bW)), 0)
572- let dN = valueOrElse(getInteger(aj, bT(bz, bW)), 0)
573- let dO = (dM / 6)
574- let dP = (dM / 7)
575- $Tuple3(dM, dN, ((bC + fraction(bC, ((dM + dO) + (2 * dP)), 5)) + fraction(bC, dN, (dG * 5))))
601+func ea (bW,dV) = {
602+ let eb = valueOrElse(getInteger(aj, bS(bW)), 0)
603+ let ec = valueOrElse(getInteger(aj, bT(bz, bW)), 0)
604+ let ed = (eb / 6)
605+ let ee = (eb / 7)
606+ $Tuple3(eb, ec, ((bC + fraction(bC, ((eb + ed) + (2 * ee)), 5)) + fraction(bC, ec, (dV * 5))))
576607 }
577608
578609
579-func dQ (dR) = {
580- let dS = split(dR, "_")
581- ((bE * (parseIntValue(dS[1]) + 1)) * parseIntValue(dS[0]))
610+func ef (eg) = {
611+ let eh = split(eg, "_")
612+ ((bE * (parseIntValue(eh[1]) + 1)) * parseIntValue(eh[0]))
582613 }
583614
584615
585-func dT (dU,dV,dM) = {
586- let dR = ((toString(dV) + "_") + toString(dM))
587- let dW = toString(dQ(dR))
588- let dX = valueOrElse(getString(aj, dU), ((((dR + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dW) + "_") + dW))
589- split(dX, ":")
616+func ei (ej,ek,eb) = {
617+ let eg = ((toString(ek) + "_") + toString(eb))
618+ let el = toString(ef(eg))
619+ let em = valueOrElse(getString(aj, ej), ((((eg + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + el) + "_") + el))
620+ split(em, ":")
590621 }
591622
592623
593-func dY (bo) = {
594- let dZ = bx(valueOrElse(getInteger(aj, br(bo)), 0))
595- $Tuple5(valueOrElse(getInteger(aj, bR(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cf(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), dZ), dd(invoke(aj, "getBackpackREADONLY", [bo], nil)))
624+func en (bo) = {
625+ let eo = bx(valueOrElse(getInteger(aj, br(bo)), 0))
626+ $Tuple5(valueOrElse(getInteger(aj, bR(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cf(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eo), ds(invoke(aj, "getBackpackREADONLY", [bo], nil)))
596627 }
597628
598629
599-func ea (bo,eb,ec) = {
600- let dB = valueOrElse(getString(aj, bX(bo)), ec._2)
601- let ed = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
602- let dH = valueOrElse(getInteger(aj, bq(bo)), 0)
603- let dI = valueOrElse(getInteger(aj, br(bo)), 0)
604- let dJ = valueOrElse(getInteger(aj, bs(bo)), 0)
605- let ee = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
606-[("%s%s__assetId__" + bo), ("%s%s__owner__" + eb), ("%s%s__customName__" + dB), ("%s%d__stakedTime__" + toString(ec._1)), ("%s%s__name__" + ec._2), ("%s%s__location__" + ec._3), ("%s%d__health__" + toString(ec._4)), ("%s%d__maxHealth__" + toString(bx(dI))), ("%s%s__characteristics__" + ed), ("%s%d__currentXp__" + toString(dH)), ("%s%d__currentLvl__" + toString(dI)), ("%s%d__pointsToDistribute__" + toString(dJ)), ("%s%s__backPack__" + ec._5), ("%s%s__equipment__" + ee)]
630+func ep (bo,eq,er) = {
631+ let dQ = valueOrElse(getString(aj, bX(bo)), er._2)
632+ let es = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
633+ let dW = valueOrElse(getInteger(aj, bq(bo)), 0)
634+ let dX = valueOrElse(getInteger(aj, br(bo)), 0)
635+ let dY = valueOrElse(getInteger(aj, bs(bo)), 0)
636+ let et = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
637+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eq), ("%s%s__customName__" + dQ), ("%s%d__stakedTime__" + toString(er._1)), ("%s%s__name__" + er._2), ("%s%s__location__" + er._3), ("%s%d__health__" + toString(er._4)), ("%s%d__maxHealth__" + toString(bx(dX))), ("%s%s__characteristics__" + es), ("%s%d__currentXp__" + toString(dW)), ("%s%d__currentLvl__" + toString(dX)), ("%s%d__pointsToDistribute__" + toString(dY)), ("%s%s__backPack__" + er._5), ("%s%s__equipment__" + et)]
607638 }
608639
609640
610-func ef (bW,eb,eg) = if ((bW == ""))
641+func eu (bW,eq,ev) = if ((bW == ""))
611642 then throw("landAssetId is required")
612643 else {
613- let eh = value(assetInfo(fromBase58String(bW)))
614- let ei = split(eh.description, "_")
615- let ej = if ((eh.quantity > 0))
616- then ei[cT]
617- else ("-" + ei[cT])
618- let dG = dj(ei[cU])
619- let ek = dL(bW, dG)
620- let el = (lastBlock.timestamp - eg)
621- let em = if ((eg > 0))
622- then fraction(el, (ek._3 * dG), bD)
644+ let ew = value(assetInfo(fromBase58String(bW)))
645+ let ex = split(ew.description, "_")
646+ let ey = if ((ew.quantity > 0))
647+ then ex[di]
648+ else ("-" + ex[di])
649+ let dV = dy(ex[dj])
650+ let ez = ea(bW, dV)
651+ let eA = (lastBlock.timestamp - ev)
652+ let eB = if ((ev > 0))
653+ then fraction(eA, (ez._3 * dV), bD)
623654 else 0
624- let en = fraction(cp, (dG * (ek._1 + 1)), ct)
625- let eo = if ((eg > 0))
626- then du(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [en, em, ei[cV]], nil))
627- else $Tuple2(dn(invoke(aj, "splitByGlobalWeightsREADONLY", [en], nil)), "")
628- let dB = valueOrElse(getString(aj, bQ(bW)), ((ei[cW] + "-") + ei[cT]))
629-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eb), ("%s%s__customName__" + dB), ("%s%d__stakedTime__" + toString(eg)), ("%s%s__description__" + makeString([ej, ei[cU], ei[cV], ei[cW]], "_")), ("%s%d__infraLevel__" + toString(ek._1)), ("%s%s__availResByType__" + eo._2), ("%s%d__availResTotal__" + toString(em)), ("%s%s__needMaterial__" + eo._1), ("%s%s__landArtefacts__PRESALE:" + toString(ek._2)), ("%s%s__warehouse__" + makeString(dT(bV(bW), (dG / ct), ek._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cP, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
655+ let eC = fraction(cC, (dV * (ez._1 + 1)), cG)
656+ let eD = if ((ev > 0))
657+ then dJ(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eC, eB, ex[dk]], nil))
658+ else $Tuple2(dC(invoke(aj, "splitByGlobalWeightsREADONLY", [eC], nil)), "")
659+ let dQ = valueOrElse(getString(aj, bQ(bW)), ((ex[dl] + "-") + ex[di]))
660+[("%s%s__assetId__" + bW), ("%s%s__owner__" + eq), ("%s%s__customName__" + dQ), ("%s%d__stakedTime__" + toString(ev)), ("%s%s__description__" + makeString([ey, ex[dj], ex[dk], ex[dl]], "_")), ("%s%d__infraLevel__" + toString(ez._1)), ("%s%s__availResByType__" + eD._2), ("%s%d__availResTotal__" + toString(eB)), ("%s%s__needMaterial__" + eD._1), ("%s%s__landArtefacts__PRESALE:" + toString(ez._2)), ("%s%s__warehouse__" + makeString(ei(bV(bW), (dV / cG), ez._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dd, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
630661 }
631662
632663
633-func ep (bW,eb) = if ((bW == ""))
664+func eE (bW,eq) = if ((bW == ""))
634665 then throw("landAssetId is required")
635666 else {
636- let eh = value(assetInfo(fromBase58String(bW)))
637- let ei = split(eh.description, "_")
638- let dG = dj(ei[cU])
639- let ek = dL(bW, dG)
640-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eb), ("%s%s__warehouse__" + makeString(dT(bV(bW), (dG / ct), ek._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cP, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
667+ let ew = value(assetInfo(fromBase58String(bW)))
668+ let ex = split(ew.description, "_")
669+ let dV = dy(ex[dj])
670+ let ez = ea(bW, dV)
671+[("%s%s__assetId__" + bW), ("%s%s__owner__" + eq), ("%s%s__warehouse__" + makeString(ei(bV(bW), (dV / cG), ez._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dd, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
641672 }
642673
643674
644-@Callable(eq)
645-func constructorV1 (az) = if ((eq.caller != this))
675+@Callable(eF)
676+func constructorV1 (az) = if ((eF.caller != this))
646677 then throw("permissions denied")
647678 else {
648- func er (am,es) = (am + "%s")
679+ func eG (am,eH) = (am + "%s")
649680
650- let et = {
681+ let eI = {
651682 let ap = az
652683 let aq = size(ap)
653684 let ar = ""
654685 func as (at,au) = if ((au >= aq))
655686 then at
656- else er(at, ap[au])
687+ else eG(at, ap[au])
657688
658689 func av (at,au) = if ((au >= aq))
659690 then at
661692
662693 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
663694 }
664-[StringEntry(cH(), makeString(et :: az, cq)), StringEntry(cI(), toString(this))]
695+[StringEntry(cV(), makeString(eI :: az, cD)), StringEntry(cW(), toString(this))]
665696 }
666697
667698
668699
669-@Callable(eq)
670-func walletInfoREADONLY (dx) = $Tuple2(nil, dw(dx))
700+@Callable(eF)
701+func walletInfoREADONLY (dM) = $Tuple2(nil, dL(dM))
671702
672703
673704
674-@Callable(eq)
675-func duckByOwnerInfoREADONLY (eu) = {
676- let ev = getString(aj, cd(eu))
677- $Tuple2(nil, if (if (isDefined(addressFromString(eu)))
678- then isDefined(ev)
705+@Callable(eF)
706+func duckByOwnerInfoREADONLY (eJ) = {
707+ let eK = getString(aj, cd(eJ))
708+ $Tuple2(nil, if (if (isDefined(addressFromString(eJ)))
709+ then isDefined(eK)
679710 else false)
680711 then {
681- let bo = value(ev)
682- ea(bo, eu, dY(bo))
712+ let bo = value(eK)
713+ ep(bo, eJ, en(bo))
683714 }
684- else ea("", eu, $Tuple5(-1, "", "", -1, "")))
715+ else ep("", eJ, $Tuple5(-1, "", "", -1, "")))
685716 }
686717
687718
688719
689-@Callable(eq)
720+@Callable(eF)
690721 func duckByAssetIdInfoREADONLY (bo) = {
691- let eb = getString(aj, cc(bo))
692- $Tuple2(nil, ea(bo, if (isDefined(eb))
693- then value(eb)
694- else "", dY(bo)))
722+ let eq = getString(aj, cc(bo))
723+ $Tuple2(nil, ep(bo, if (isDefined(eq))
724+ then value(eq)
725+ else "", en(bo)))
695726 }
696727
697728
698729
699-@Callable(eq)
730+@Callable(eF)
700731 func landByAssetIdInfoREADONLY (bW) = if ((bW == ""))
701732 then throw("landAssetId is required")
702733 else {
703- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
704- let eb = if ((eg > 0))
734+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
735+ let eq = if ((ev > 0))
705736 then value(getString(aj, bO(bW)))
706737 else ""
707- $Tuple2(nil, ef(bW, eb, eg))
738+ $Tuple2(nil, eu(bW, eq, ev))
708739 }
709740
710741
711742
712-@Callable(eq)
713-func stakedLandsByOwnerInfoREADONLY (ew) = if ((ew == ""))
743+@Callable(eF)
744+func stakedLandsByOwnerInfoREADONLY (eL) = if ((eL == ""))
714745 then throw("landOwnerAddress is required")
715746 else {
716- let ex = getString(aj, db(ew))
717- let ey = if (isDefined(ex))
718- then split_51C(value(ex), "_")
747+ let eM = getString(aj, dq(eL))
748+ let eN = if (isDefined(eM))
749+ then split_51C(value(eM), "_")
719750 else nil
720- func ez (am,bW) = if ((bW == ""))
751+ func eO (am,bW) = if ((bW == ""))
721752 then throw("landAssetId is required")
722753 else {
723- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
724- (am :+ ef(bW, ew, eg))
754+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
755+ (am :+ eu(bW, eL, ev))
725756 }
726757
727- let dt = {
728- let ap = ey
758+ let dI = {
759+ let ap = eN
729760 let aq = size(ap)
730761 let ar = nil
731762 func as (at,au) = if ((au >= aq))
732763 then at
733- else ez(at, ap[au])
764+ else eO(at, ap[au])
734765
735766 func av (at,au) = if ((au >= aq))
736767 then at
738769
739770 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)
740771 }
741- $Tuple2(nil, dt)
772+ $Tuple2(nil, dI)
742773 }
743774
744775
745776
746-@Callable(eq)
747-func landsByIdsInfoREADONLY (eA) = {
748- func ez (am,bW) = if ((bW == ""))
777+@Callable(eF)
778+func landsByIdsInfoREADONLY (eP) = {
779+ func eO (am,bW) = if ((bW == ""))
749780 then throw("landAssetId is required")
750781 else {
751- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
752- let eb = if ((eg > 0))
782+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
783+ let eq = if ((ev > 0))
753784 then value(getString(aj, bO(bW)))
754785 else ""
755- (am :+ ef(bW, eb, eg))
786+ (am :+ eu(bW, eq, ev))
756787 }
757788
758- let dt = {
759- let ap = eA
789+ let dI = {
790+ let ap = eP
760791 let aq = size(ap)
761792 let ar = nil
762793 func as (at,au) = if ((au >= aq))
763794 then at
764- else ez(at, ap[au])
795+ else eO(at, ap[au])
765796
766797 func av (at,au) = if ((au >= aq))
767798 then at
769800
770801 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)
771802 }
772- $Tuple2(nil, dt)
803+ $Tuple2(nil, dI)
773804 }
774805
775806
776807
777-@Callable(eq)
808+@Callable(eF)
778809 func warehouseOrderByAssetIdInfoREADONLY (bW) = if ((bW == ""))
779810 then throw("landAssetId is required")
780811 else {
781- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
782- let eb = if ((eg > 0))
812+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
813+ let eq = if ((ev > 0))
783814 then value(getString(aj, bO(bW)))
784815 else ""
785- $Tuple2(nil, ep(bW, eb))
816+ $Tuple2(nil, eE(bW, eq))
786817 }
787818
788819
789820
790-@Callable(eq)
791-func ordersByLandIdsInfoREADONLY (eA) = {
792- func ez (am,bW) = if ((bW == ""))
821+@Callable(eF)
822+func ordersByLandIdsInfoREADONLY (eP) = {
823+ func eO (am,bW) = if ((bW == ""))
793824 then throw("landAssetId is required")
794825 else {
795- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
796- let eb = if ((eg > 0))
826+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
827+ let eq = if ((ev > 0))
797828 then value(getString(aj, bO(bW)))
798829 else ""
799- (am :+ ep(bW, eb))
830+ (am :+ eE(bW, eq))
800831 }
801832
802- let dt = {
803- let ap = eA
833+ let dI = {
834+ let ap = eP
804835 let aq = size(ap)
805836 let ar = nil
806837 func as (at,au) = if ((au >= aq))
807838 then at
808- else ez(at, ap[au])
839+ else eO(at, ap[au])
809840
810841 func av (at,au) = if ((au >= aq))
811842 then at
813844
814845 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)
815846 }
816- $Tuple2(nil, dt)
847+ $Tuple2(nil, dI)
817848 }
818849
819850
820851
821-@Callable(eq)
822-func cancelWarehouseOrders (eA) = if ((eq.caller != this))
852+@Callable(eF)
853+func cancelWarehouseOrders (eP) = if ((eF.caller != this))
823854 then throw("permission denied")
824855 else {
825- let eB = getBoolean(aj, cg())
826- if (if (!(isDefined(eB)))
856+ let eQ = getBoolean(aj, cg())
857+ if (if (!(isDefined(eQ)))
827858 then true
828- else (value(eB) == false))
859+ else (value(eQ) == false))
829860 then throw("Contracts should be blocked before canceling orders")
830861 else {
831- func ez (eh,bW) = if ((bW == ""))
862+ func eO (ew,bW) = if ((bW == ""))
832863 then throw("landAssetId is required")
833864 else {
834- let eC = di(invoke(cP, "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:", bW], nil))
835- if (if (eh)
865+ let eR = dx(invoke(dd, "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:", bW], nil))
866+ if (if (ew)
836867 then true
837- else eC)
838- then !(if (eh)
839- then eC
868+ else eR)
869+ then !(if (ew)
870+ then eR
840871 else false)
841872 else false
842873 }
843874
844- let dt = {
845- let ap = eA
875+ let dI = {
876+ let ap = eP
846877 let aq = size(ap)
847878 let ar = false
848879 func as (at,au) = if ((au >= aq))
849880 then at
850- else ez(at, ap[au])
881+ else eO(at, ap[au])
851882
852883 func av (at,au) = if ((au >= aq))
853884 then at
855886
856887 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)
857888 }
858- $Tuple2(nil, dt)
889+ $Tuple2(nil, dI)
859890 }
860891 }
861892
862893
863894
864-@Callable(eq)
865-func fixWarehouseFormats (eA) = if ((eq.caller != this))
895+@Callable(eF)
896+func fixWarehouseFormats (eP) = if ((eF.caller != this))
866897 then throw("permission denied")
867898 else {
868- func ez (am,bW) = if ((bW == ""))
899+ func eO (am,bW) = if ((bW == ""))
869900 then throw("landAssetId is required")
870- else (am + size(dd(invoke(aj, "fixWarehouseFormat", [bW], nil))))
901+ else (am + size(ds(invoke(aj, "fixWarehouseFormat", [bW], nil))))
871902
872- let dt = {
873- let ap = eA
903+ let dI = {
904+ let ap = eP
874905 let aq = size(ap)
875906 let ar = 0
876907 func as (at,au) = if ((au >= aq))
877908 then at
878- else ez(at, ap[au])
909+ else eO(at, ap[au])
879910
880911 func av (at,au) = if ((au >= aq))
881912 then at
883914
884915 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)
885916 }
886- $Tuple2(nil, dt)
917+ $Tuple2(nil, dI)
887918 }
888919
889920
890921
891-@Callable(eq)
892-func fixStakedPieces (eD) = if ((eq.caller != this))
922+@Callable(eF)
923+func fixStakedPieces (eS) = if ((eF.caller != this))
893924 then throw("permission denied")
894925 else {
895- func eE (am,t) = if ((t == ""))
926+ func eT (am,t) = if ((t == ""))
896927 then throw("address is required")
897- else (am + dg(invoke(aj, "fixStakedPieces", [t], nil)))
928+ else (am + dv(invoke(aj, "fixStakedPieces", [t], nil)))
898929
899- let dt = {
900- let ap = eD
930+ let dI = {
931+ let ap = eS
901932 let aq = size(ap)
902933 let ar = 0
903934 func as (at,au) = if ((au >= aq))
904935 then at
905- else eE(at, ap[au])
936+ else eT(at, ap[au])
906937
907938 func av (at,au) = if ((au >= aq))
908939 then at
910941
911942 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)
912943 }
913- $Tuple2(nil, dt)
944+ $Tuple2(nil, dI)
914945 }
915946
916947
917948
918-@Callable(eq)
919-func sendUsdtPrize (eu) = if ((eq.caller != aj))
949+@Callable(eF)
950+func sendUsdtPrize (eJ) = if ((eF.caller != aj))
920951 then throw("permission denied")
921952 else {
922- let eF = fraction(assetBalance(this, cm), dm, cr)
923- $Tuple2([ScriptTransfer(addressFromStringValue(eu), eF, cm)], eF)
953+ let eU = fraction(assetBalance(this, cz), dB, cE)
954+ $Tuple2([ScriptTransfer(addressFromStringValue(eJ), eU, cz)], eU)
924955 }
925956
926957
927958
928-@Callable(eq)
959+@Callable(eF)
929960 func getEmergencyServiceDataREADONLY () = {
930- let eG = getString(cP, ci())
931- let eH = if (isDefined(eG))
932- then split(value(eG), "_")
961+ let eV = getString(dd, ci())
962+ let eW = if (isDefined(eV))
963+ then split(value(eV), "_")
933964 else nil
934- func eI (am,eJ) = {
935- let dh = am._2
936- let ck = split(eJ, "_")
937- let eK = if ((dh == 0))
965+ func eX (am,eY) = {
966+ let dw = am._2
967+ let cx = split(eY, "_")
968+ let eZ = if ((dw == 0))
938969 then (bG * bM)
939970 else 0
940- let eL = if ((size(eH) > dh))
941- then parseIntValue(eH[dh])
971+ let fa = if ((size(eW) > dw))
972+ then parseIntValue(eW[dw])
942973 else 0
943- let eM = cj(ck)
944- let eN = fraction((eM * bH), bF, (cs * bM))
945- let eO = fraction((eM * bI), bF, (cs * bM))
946- let eP = makeString([toString(eK), toString(eL), toString(eN), toString(eO)], "_")
947- $Tuple2((am._1 :+ eP), (dh + 1))
974+ let fb = cw(cx)
975+ let fc = fraction((fb * bH), bF, (cF * bM))
976+ let fd = fraction((fb * bI), bF, (cF * bM))
977+ let fe = makeString([toString(eZ), toString(fa), toString(fc), toString(fd)], "_")
978+ $Tuple2((am._1 :+ fe), (dw + 1))
948979 }
949980
950- let df = makeString_2C(( let ap = bK
981+ let du = makeString_2C(( let ap = bK
951982 let aq = size(ap)
952983 let ar = $Tuple2(nil, 0)
953984 func as (at,au) = if ((au >= aq))
954985 then at
955- else eI(at, ap[au])
986+ else eX(at, ap[au])
956987
957988 func av (at,au) = if ((au >= aq))
958989 then at
959990 else throw("List size exceeds 50")
960991
961992 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, ":")
962- let eQ = ("%s%s__emergencyServiceData__" + df)
963- $Tuple2(nil, eQ)
993+ let ff = ("%s%s__emergencyServiceData__" + du)
994+ $Tuple2(nil, ff)
964995 }
965996
966997
967998
968-@Callable(eq)
999+@Callable(eF)
9691000 func wlgStatsREADONLY (ay) = {
970- let eR = ax(ay, [cO, aj, cP, cQ, cR, cS, aH], cm, 0)
971- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eR[z])), ("%s%s%d__wlgPrice__" + toString(eR[A])), ("%s%s%d__usdtFunds__" + toString(eR[B])), ("%s%s%d__usdtEconomy__" + toString(eR[C])), ("%s%s%d__usdtActivity__" + toString(eR[D])), ("%s%s%d__usdtArbitrage__" + toString(eR[E])), ("%s%s%d__usdtPool__" + toString(eR[F])), ("%s%s%d__wlgIssueTime__" + toString(eR[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eR[H])), ("%s%s%d__wlgMarketingTotal__" + toString(eR[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eR[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eR[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(eR[L])), ("%s%s%d__wlgTeamTotal__" + toString(eR[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(eR[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eR[O])), ("%s%s%d__wlgTeamWlgold__" + toString(eR[P])), ("%s%s%d__wlgActTotal__" + toString(eR[Q])), ("%s%s%d__wlgActAmLeft__" + toString(eR[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(eR[S])), ("%s%s%d__wlgActWlgold__" + toString(eR[T])), ("%s%s%d__wlgCurPeriod__" + toString(eR[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(eR[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eR[W])), ("%s%s%d__wlgLastUserTime__" + toString(eR[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(eR[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(eR[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(eR[aa]))])
1001+ let fg = ax(ay, [dc, aj, dd, de, df, dg, aH], cz, 0)
1002+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fg[z])), ("%s%s%d__wlgPrice__" + toString(fg[A])), ("%s%s%d__usdtFunds__" + toString(fg[B])), ("%s%s%d__usdtEconomy__" + toString(fg[C])), ("%s%s%d__usdtActivity__" + toString(fg[D])), ("%s%s%d__usdtArbitrage__" + toString(fg[E])), ("%s%s%d__usdtPool__" + toString(fg[F])), ("%s%s%d__wlgIssueTime__" + toString(fg[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fg[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fg[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fg[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fg[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fg[L])), ("%s%s%d__wlgTeamTotal__" + toString(fg[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fg[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fg[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fg[P])), ("%s%s%d__wlgActTotal__" + toString(fg[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fg[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fg[S])), ("%s%s%d__wlgActWlgold__" + toString(fg[T])), ("%s%s%d__wlgCurPeriod__" + toString(fg[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fg[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fg[W])), ("%s%s%d__wlgLastUserTime__" + toString(fg[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fg[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fg[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fg[aa]))])
1003+ }
1004+
1005+
1006+
1007+@Callable(eF)
1008+func tournamentStatsREADONLY (fh) = {
1009+ let fi = split(valueOrErrorMessage(getString(dh, cj(fh)), (("Error reading tournament " + toString(fh)) + " data")), cD)
1010+ let fj = split(valueOrErrorMessage(getString(dh, cl(fh)), (("Error reading tournament " + toString(fh)) + " data")), cD)
1011+ let fk = valueOrElse(getString(dh, cm(fh)), "")
1012+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([fi[cn], fi[co], fi[cp], fi[cq]], "_")), ("%s%s__tournamentDynamisData__" + makeString([fj[cr], fj[cs], fj[ct], fj[cu], fj[cv]], "_")), ("%s%s__tournamentRegistrands__" + fk)])
9721013 }
9731014
9741015
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 (by) = (100 + by)
217217
218218
219219 let bz = "PRESALE"
220220
221221 let bA = "ONBOARD"
222222
223223 let bB = 6
224224
225225 let bC = 3456000
226226
227227 let bD = 86400000
228228
229229 let bE = 10000000000
230230
231231 let bF = 39637
232232
233233 let bG = 3
234234
235235 let bH = 4
236236
237237 let bI = 10
238238
239239 let bJ = 10000000
240240
241241 let bK = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201"]
242242
243243 let bL = 6
244244
245245 let bM = 10
246246
247247 func bN (t) = ("lastTxIdByUser_" + t)
248248
249249
250250 func bO (bP) = ("nftOwner_" + bP)
251251
252252
253253 func bQ (bP) = ("landCustomNameByAssetId_" + bP)
254254
255255
256256 func bR (bP) = ("stakedTime_" + bP)
257257
258258
259259 func bS (bP) = ("infraLevel_" + bP)
260260
261261
262262 func bT (bU,bP) = makeString(["landArtStatus", bU, bP], "_")
263263
264264
265265 func bV (bW) = ("wareHouse_" + bW)
266266
267267
268268 func bX (bP) = ("duckCustomNameByAssetId_" + bP)
269269
270270
271271 func bY (t) = ("accountCustomNameByAddr_" + t)
272272
273273
274274 func bZ (t) = ("accRefBy_" + t)
275275
276276
277277 func ca (t) = ("onboardArtActivatedDuckBy_" + t)
278278
279279
280280 func cb (t) = ("accReferrals_" + t)
281281
282282
283283 func cc (bP) = ("duckOwner_" + bP)
284284
285285
286286 func cd (ce) = ("stakedDuckByOwner_" + ce)
287287
288288
289289 func cf (bo) = ("duckLocation_" + bo)
290290
291291
292292 func cg () = "contractsBlocked"
293293
294294
295295 func ch (bW) = ("landOrder_" + bW)
296296
297297
298298 func ci () = "emergencyWarehouseProducts"
299299
300300
301-func cj (ck) = (parseIntValue(ck[bL]) * bJ)
301+func cj (ck) = ("%s%d__tourStaticData__" + toString(ck))
302302
303303
304-let cl = take(drop(this.bytes, 1), 1)
304+func cl (ck) = ("%s%d__tourDynamicData__" + toString(ck))
305305
306-let cm = {
307- let cn = cl
308- if ((base58'2W' == cn))
306+
307+func cm (ck) = ("%s%d__allRegistrands__" + toString(ck))
308+
309+
310+let cn = 2
311+
312+let co = 3
313+
314+let cp = 5
315+
316+let cq = 6
317+
318+let cr = 1
319+
320+let cs = 2
321+
322+let ct = 3
323+
324+let cu = 4
325+
326+let cv = 5
327+
328+func cw (cx) = (parseIntValue(cx[bL]) * bJ)
329+
330+
331+let cy = take(drop(this.bytes, 1), 1)
332+
333+let cz = {
334+ let cA = cy
335+ if ((base58'2W' == cA))
309336 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
310- else if ((base58'2T' == cn))
337+ else if ((base58'2T' == cA))
311338 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
312339 else throw("Unknown chain")
313340 }
314341
315-let co = {
316- let cn = cl
317- if ((base58'2W' == cn))
342+let cB = {
343+ let cA = cy
344+ if ((base58'2W' == cA))
318345 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
319- else if ((base58'2T' == cn))
346+ else if ((base58'2T' == cA))
320347 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
321348 else throw("Unknown chain")
322349 }
323350
324-let cp = {
325- let cn = cl
326- if ((base58'2W' == cn))
351+let cC = {
352+ let cA = cy
353+ if ((base58'2W' == cA))
327354 then 10000000000
328- else if ((base58'2T' == cn))
355+ else if ((base58'2T' == cA))
329356 then 100000000
330357 else throw("Unknown chain")
331358 }
332359
333-let cq = "__"
360+let cD = "__"
334361
335-let cr = 1000000
362+let cE = 1000000
336363
337-let cs = 100000000
364+let cF = 100000000
338365
339-let ct = 25
366+let cG = 25
340367
341-let cu = 100
368+let cH = 100
342369
343-let cv = 225
370+let cI = 225
344371
345-let cw = 400
372+let cJ = 400
346373
347-let cx = 625
374+let cK = 625
348375
349-func cy (cz,cA) = valueOrErrorMessage(getString(cz, cA), makeString(["mandatory ", toString(cz), ".", cA, " is not defined"], ""))
376+func cL (cM,cN) = valueOrErrorMessage(getString(cM, cN), makeString(["mandatory ", toString(cM), ".", cN, " is not defined"], ""))
350377
351378
352-let cB = 1
379+let cO = 1
353380
354-let cC = 2
381+let cP = 2
355382
356-let cD = 3
383+let cQ = 3
357384
358-let cE = 4
385+let cR = 4
359386
360-let cF = 5
387+let cS = 5
361388
362-let cG = 6
389+let cT = 6
363390
364-func cH () = "%s__restConfig"
391+let cU = 7
392+
393+func cV () = "%s__restConfig"
365394
366395
367-func cI () = "%s__restAddr"
396+func cW () = "%s__restAddr"
368397
369398
370-func cJ (cK) = split_4C(cy(cK, cH()), cq)
399+func cX (cY) = split_4C(cL(cY, cV()), cD)
371400
372401
373-func cL (cM,cN) = valueOrErrorMessage(addressFromString(cM[cN]), ("Rest cfg doesn't contain address at index " + toString(cN)))
402+func cZ (da,db) = valueOrErrorMessage(addressFromString(da[db]), ("Rest cfg doesn't contain address at index " + toString(db)))
374403
375404
376-let cO = addressFromStringValue(valueOrElse(getString(this, cI()), co))
405+let dc = addressFromStringValue(valueOrElse(getString(this, cW()), cB))
377406
378-let cM = cJ(cO)
407+let da = cX(dc)
379408
380-let aj = cL(cM, cB)
409+let aj = cZ(da, cO)
381410
382-let cP = cL(cM, cC)
411+let dd = cZ(da, cP)
383412
384-let cQ = cL(cM, cD)
413+let de = cZ(da, cQ)
385414
386-let cR = cL(cM, cE)
415+let df = cZ(da, cR)
387416
388-let cS = cL(cM, cF)
417+let dg = cZ(da, cS)
389418
390-let aH = cL(cM, cG)
419+let aH = cZ(da, cT)
391420
392-let cT = 0
421+let dh = cZ(da, cU)
393422
394-let cU = 1
423+let di = 0
395424
396-let cV = 2
425+let dj = 1
397426
398-let cW = 3
427+let dk = 2
399428
400-let cX = "wlg_assetId"
429+let dl = 3
401430
402-let cY = valueOrErrorMessage(getBinary(cR, cX), "Not initialized yet")
431+let dm = "wlg_assetId"
403432
404-let cZ = 1
433+let dn = valueOrErrorMessage(getBinary(df, dm), "Not initialized yet")
405434
406-func da () = "resTypesProportions"
435+let do = 1
436+
437+func dp () = "resTypesProportions"
407438
408439
409-func db (ce) = ("stakedLandsByOwner_" + ce)
440+func dq (ce) = ("stakedLandsByOwner_" + ce)
410441
411442
412-func dc (ce) = ("stakedPiecesByOwner_" + ce)
443+func dr (ce) = ("stakedPiecesByOwner_" + ce)
413444
414445
415-func dd (de) = {
416- let cn = de
417- if ($isInstanceOf(cn, "String"))
446+func ds (dt) = {
447+ let cA = dt
448+ if ($isInstanceOf(cA, "String"))
418449 then {
419- let df = cn
420- df
450+ let du = cA
451+ du
421452 }
422453 else throw("fail to cast into String")
423454 }
424455
425456
426-func dg (de) = {
427- let cn = de
428- if ($isInstanceOf(cn, "Int"))
457+func dv (dt) = {
458+ let cA = dt
459+ if ($isInstanceOf(cA, "Int"))
429460 then {
430- let dh = cn
431- dh
461+ let dw = cA
462+ dw
432463 }
433464 else throw("fail to cast into Int")
434465 }
435466
436467
437-func di (de) = {
438- let cn = de
439- if ($isInstanceOf(cn, "Boolean"))
468+func dx (dt) = {
469+ let cA = dt
470+ if ($isInstanceOf(cA, "Boolean"))
440471 then {
441- let df = cn
442- df
472+ let du = cA
473+ du
443474 }
444475 else throw("fail to cast into Boolean")
445476 }
446477
447478
448-func dj (dk) = {
449- let cn = dk
450- if (("S" == cn))
451- then ct
452- else if (("M" == cn))
453- then cu
454- else if (("L" == cn))
455- then cv
456- else if (("XL" == cn))
457- then cw
458- else if (("XXL" == cn))
459- then cx
479+func dy (dz) = {
480+ let cA = dz
481+ if (("S" == cA))
482+ then cG
483+ else if (("M" == cA))
484+ then cH
485+ else if (("L" == cA))
486+ then cI
487+ else if (("XL" == cA))
488+ then cJ
489+ else if (("XXL" == cA))
490+ then cK
460491 else throw("Unknown land size")
461492 }
462493
463494
464-func dl (ai) = {
465- let ak = split(valueOrElse(getString(aj, da()), "0_0_0_0_0_0"), "_")
495+func dA (ai) = {
496+ let ak = split(valueOrElse(getString(aj, dp()), "0_0_0_0_0_0"), "_")
466497 func al (am,an) = (am + parseIntValue(an))
467498
468499 let ao = {
469500 let ap = ak
470501 let aq = size(ap)
471502 let ar = 0
472503 func as (at,au) = if ((au >= aq))
473504 then at
474505 else al(at, ap[au])
475506
476507 func av (at,au) = if ((au >= aq))
477508 then at
478509 else throw("List size exceeds 6")
479510
480511 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
481512 }
482- let aw = valueOrElse(getInteger(aj, dc(ai)), 0)
513+ let aw = valueOrElse(getInteger(aj, dr(ai)), 0)
483514 [ao, aw]
484515 }
485516
486517
487-let dm = 500000
518+let dB = 500000
488519
489-func dn (do) = {
490- let cn = do
491- if ($isInstanceOf(cn, "List[Any]"))
520+func dC (dD) = {
521+ let cA = dD
522+ if ($isInstanceOf(cA, "List[Any]"))
492523 then {
493- let dp = cn
494- if ((size(dp) != bB))
495- then throw(("Array size is " + toString(size(dp))))
524+ let dE = cA
525+ if ((size(dE) != bB))
526+ then throw(("Array size is " + toString(size(dE))))
496527 else {
497- func dq (am,an) = {
498- let dr = an
499- if ($isInstanceOf(dr, "Int"))
528+ func dF (am,an) = {
529+ let dG = an
530+ if ($isInstanceOf(dG, "Int"))
500531 then {
501- let ds = dr
502- (am :+ toString(ds))
532+ let dH = dG
533+ (am :+ toString(dH))
503534 }
504535 else throw("List type is not Int")
505536 }
506537
507- let dt = {
508- let ap = dp
538+ let dI = {
539+ let ap = dE
509540 let aq = size(ap)
510541 let ar = nil
511542 func as (at,au) = if ((au >= aq))
512543 then at
513- else dq(at, ap[au])
544+ else dF(at, ap[au])
514545
515546 func av (at,au) = if ((au >= aq))
516547 then at
517548 else throw("List size exceeds 6")
518549
519550 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
520551 }
521- makeString(dt, "_")
552+ makeString(dI, "_")
522553 }
523554 }
524555 else throw("fail to cast into List")
525556 }
526557
527558
528-func du (do) = {
529- let cn = do
530- if ($isInstanceOf(cn, "(List[Any], List[Any])"))
559+func dJ (dD) = {
560+ let cA = dD
561+ if ($isInstanceOf(cA, "(List[Any], List[Any])"))
531562 then {
532- let dv = cn
533- $Tuple2(dn(dv._1), dn(dv._2))
563+ let dK = cA
564+ $Tuple2(dC(dK._1), dC(dK._2))
534565 }
535566 else throw("fail to cast into (List, List)")
536567 }
537568
538569
539-func dw (dx) = {
540- let t = addressFromString(dx)
541- let dy = if (isDefined(t))
570+func dL (dM) = {
571+ let t = addressFromString(dM)
572+ let dN = if (isDefined(t))
542573 then wavesBalance(value(t))
543574 else BalanceDetails(0, 0, 0, 0)
544- let dz = if (isDefined(t))
545- then assetBalance(value(t), cm)
575+ let dO = if (isDefined(t))
576+ then assetBalance(value(t), cz)
546577 else 0
547- let dA = if (isDefined(t))
548- then assetBalance(value(t), cY)
578+ let dP = if (isDefined(t))
579+ then assetBalance(value(t), dn)
549580 else 0
550- let dB = valueOrElse(getString(aj, bY(dx)), dx)
551- let dC = bZ(dx)
552- let dD = getString(aj, dC)
553- let dE = valueOrElse(getString(aj, cb(dx)), "")
554- let dF = valueOrElse(getString(aj, bN(dx)), "")
555- let dG = dl(dx)[cZ]
556- let dH = valueOrElse(getInteger(aj, bu(dx)), 0)
557- let dI = valueOrElse(getInteger(aj, bv(dx)), 0)
558- let dJ = valueOrElse(getInteger(aj, bw(dx)), 0)
559- let dK = if (isDefined(dD))
581+ let dQ = valueOrElse(getString(aj, bY(dM)), dM)
582+ let dR = bZ(dM)
583+ let dS = getString(aj, dR)
584+ let dT = valueOrElse(getString(aj, cb(dM)), "")
585+ let dU = valueOrElse(getString(aj, bN(dM)), "")
586+ let dV = dA(dM)[do]
587+ let dW = valueOrElse(getInteger(aj, bu(dM)), 0)
588+ let dX = valueOrElse(getInteger(aj, bv(dM)), 0)
589+ let dY = valueOrElse(getInteger(aj, bw(dM)), 0)
590+ let dZ = if (isDefined(dS))
560591 then (bA + (if (if (isDefined(t))
561- then isDefined(getString(aj, ca(dx)))
592+ then isDefined(getString(aj, ca(dM)))
562593 else false)
563594 then ":1"
564595 else ":0"))
565596 else ""
566-[("%s%s__customName__" + dB), ("%s%s__referredBy__" + valueOrElse(dD, "")), ("%s%s__referrals__" + dE), ("%s%s__lastTxId__" + dF), ("%s%d__wavesBalance__" + toString(dy.available)), ("%s%d__wlgoldBalance__" + toString(dA)), ("%s%d__usdtBalance__" + toString(dz)), ("%s%d__stakedPieces__" + toString(dG)), ("%s%d__currentXp__" + toString(dH)), ("%s%d__currentLvl__" + toString(dI)), ("%s%d__pointsToDistribute__" + toString(dJ)), ("%s%s__walletArtefacts__" + dK)]
597+[("%s%s__customName__" + dQ), ("%s%s__referredBy__" + valueOrElse(dS, "")), ("%s%s__referrals__" + dT), ("%s%s__lastTxId__" + dU), ("%s%d__wavesBalance__" + toString(dN.available)), ("%s%d__wlgoldBalance__" + toString(dP)), ("%s%d__usdtBalance__" + toString(dO)), ("%s%d__stakedPieces__" + toString(dV)), ("%s%d__currentXp__" + toString(dW)), ("%s%d__currentLvl__" + toString(dX)), ("%s%d__pointsToDistribute__" + toString(dY)), ("%s%s__walletArtefacts__" + dZ)]
567598 }
568599
569600
570-func dL (bW,dG) = {
571- let dM = valueOrElse(getInteger(aj, bS(bW)), 0)
572- let dN = valueOrElse(getInteger(aj, bT(bz, bW)), 0)
573- let dO = (dM / 6)
574- let dP = (dM / 7)
575- $Tuple3(dM, dN, ((bC + fraction(bC, ((dM + dO) + (2 * dP)), 5)) + fraction(bC, dN, (dG * 5))))
601+func ea (bW,dV) = {
602+ let eb = valueOrElse(getInteger(aj, bS(bW)), 0)
603+ let ec = valueOrElse(getInteger(aj, bT(bz, bW)), 0)
604+ let ed = (eb / 6)
605+ let ee = (eb / 7)
606+ $Tuple3(eb, ec, ((bC + fraction(bC, ((eb + ed) + (2 * ee)), 5)) + fraction(bC, ec, (dV * 5))))
576607 }
577608
578609
579-func dQ (dR) = {
580- let dS = split(dR, "_")
581- ((bE * (parseIntValue(dS[1]) + 1)) * parseIntValue(dS[0]))
610+func ef (eg) = {
611+ let eh = split(eg, "_")
612+ ((bE * (parseIntValue(eh[1]) + 1)) * parseIntValue(eh[0]))
582613 }
583614
584615
585-func dT (dU,dV,dM) = {
586- let dR = ((toString(dV) + "_") + toString(dM))
587- let dW = toString(dQ(dR))
588- let dX = valueOrElse(getString(aj, dU), ((((dR + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dW) + "_") + dW))
589- split(dX, ":")
616+func ei (ej,ek,eb) = {
617+ let eg = ((toString(ek) + "_") + toString(eb))
618+ let el = toString(ef(eg))
619+ let em = valueOrElse(getString(aj, ej), ((((eg + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + el) + "_") + el))
620+ split(em, ":")
590621 }
591622
592623
593-func dY (bo) = {
594- let dZ = bx(valueOrElse(getInteger(aj, br(bo)), 0))
595- $Tuple5(valueOrElse(getInteger(aj, bR(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cf(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), dZ), dd(invoke(aj, "getBackpackREADONLY", [bo], nil)))
624+func en (bo) = {
625+ let eo = bx(valueOrElse(getInteger(aj, br(bo)), 0))
626+ $Tuple5(valueOrElse(getInteger(aj, bR(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cf(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eo), ds(invoke(aj, "getBackpackREADONLY", [bo], nil)))
596627 }
597628
598629
599-func ea (bo,eb,ec) = {
600- let dB = valueOrElse(getString(aj, bX(bo)), ec._2)
601- let ed = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
602- let dH = valueOrElse(getInteger(aj, bq(bo)), 0)
603- let dI = valueOrElse(getInteger(aj, br(bo)), 0)
604- let dJ = valueOrElse(getInteger(aj, bs(bo)), 0)
605- let ee = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
606-[("%s%s__assetId__" + bo), ("%s%s__owner__" + eb), ("%s%s__customName__" + dB), ("%s%d__stakedTime__" + toString(ec._1)), ("%s%s__name__" + ec._2), ("%s%s__location__" + ec._3), ("%s%d__health__" + toString(ec._4)), ("%s%d__maxHealth__" + toString(bx(dI))), ("%s%s__characteristics__" + ed), ("%s%d__currentXp__" + toString(dH)), ("%s%d__currentLvl__" + toString(dI)), ("%s%d__pointsToDistribute__" + toString(dJ)), ("%s%s__backPack__" + ec._5), ("%s%s__equipment__" + ee)]
630+func ep (bo,eq,er) = {
631+ let dQ = valueOrElse(getString(aj, bX(bo)), er._2)
632+ let es = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
633+ let dW = valueOrElse(getInteger(aj, bq(bo)), 0)
634+ let dX = valueOrElse(getInteger(aj, br(bo)), 0)
635+ let dY = valueOrElse(getInteger(aj, bs(bo)), 0)
636+ let et = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
637+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eq), ("%s%s__customName__" + dQ), ("%s%d__stakedTime__" + toString(er._1)), ("%s%s__name__" + er._2), ("%s%s__location__" + er._3), ("%s%d__health__" + toString(er._4)), ("%s%d__maxHealth__" + toString(bx(dX))), ("%s%s__characteristics__" + es), ("%s%d__currentXp__" + toString(dW)), ("%s%d__currentLvl__" + toString(dX)), ("%s%d__pointsToDistribute__" + toString(dY)), ("%s%s__backPack__" + er._5), ("%s%s__equipment__" + et)]
607638 }
608639
609640
610-func ef (bW,eb,eg) = if ((bW == ""))
641+func eu (bW,eq,ev) = if ((bW == ""))
611642 then throw("landAssetId is required")
612643 else {
613- let eh = value(assetInfo(fromBase58String(bW)))
614- let ei = split(eh.description, "_")
615- let ej = if ((eh.quantity > 0))
616- then ei[cT]
617- else ("-" + ei[cT])
618- let dG = dj(ei[cU])
619- let ek = dL(bW, dG)
620- let el = (lastBlock.timestamp - eg)
621- let em = if ((eg > 0))
622- then fraction(el, (ek._3 * dG), bD)
644+ let ew = value(assetInfo(fromBase58String(bW)))
645+ let ex = split(ew.description, "_")
646+ let ey = if ((ew.quantity > 0))
647+ then ex[di]
648+ else ("-" + ex[di])
649+ let dV = dy(ex[dj])
650+ let ez = ea(bW, dV)
651+ let eA = (lastBlock.timestamp - ev)
652+ let eB = if ((ev > 0))
653+ then fraction(eA, (ez._3 * dV), bD)
623654 else 0
624- let en = fraction(cp, (dG * (ek._1 + 1)), ct)
625- let eo = if ((eg > 0))
626- then du(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [en, em, ei[cV]], nil))
627- else $Tuple2(dn(invoke(aj, "splitByGlobalWeightsREADONLY", [en], nil)), "")
628- let dB = valueOrElse(getString(aj, bQ(bW)), ((ei[cW] + "-") + ei[cT]))
629-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eb), ("%s%s__customName__" + dB), ("%s%d__stakedTime__" + toString(eg)), ("%s%s__description__" + makeString([ej, ei[cU], ei[cV], ei[cW]], "_")), ("%s%d__infraLevel__" + toString(ek._1)), ("%s%s__availResByType__" + eo._2), ("%s%d__availResTotal__" + toString(em)), ("%s%s__needMaterial__" + eo._1), ("%s%s__landArtefacts__PRESALE:" + toString(ek._2)), ("%s%s__warehouse__" + makeString(dT(bV(bW), (dG / ct), ek._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cP, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
655+ let eC = fraction(cC, (dV * (ez._1 + 1)), cG)
656+ let eD = if ((ev > 0))
657+ then dJ(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eC, eB, ex[dk]], nil))
658+ else $Tuple2(dC(invoke(aj, "splitByGlobalWeightsREADONLY", [eC], nil)), "")
659+ let dQ = valueOrElse(getString(aj, bQ(bW)), ((ex[dl] + "-") + ex[di]))
660+[("%s%s__assetId__" + bW), ("%s%s__owner__" + eq), ("%s%s__customName__" + dQ), ("%s%d__stakedTime__" + toString(ev)), ("%s%s__description__" + makeString([ey, ex[dj], ex[dk], ex[dl]], "_")), ("%s%d__infraLevel__" + toString(ez._1)), ("%s%s__availResByType__" + eD._2), ("%s%d__availResTotal__" + toString(eB)), ("%s%s__needMaterial__" + eD._1), ("%s%s__landArtefacts__PRESALE:" + toString(ez._2)), ("%s%s__warehouse__" + makeString(ei(bV(bW), (dV / cG), ez._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dd, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
630661 }
631662
632663
633-func ep (bW,eb) = if ((bW == ""))
664+func eE (bW,eq) = if ((bW == ""))
634665 then throw("landAssetId is required")
635666 else {
636- let eh = value(assetInfo(fromBase58String(bW)))
637- let ei = split(eh.description, "_")
638- let dG = dj(ei[cU])
639- let ek = dL(bW, dG)
640-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eb), ("%s%s__warehouse__" + makeString(dT(bV(bW), (dG / ct), ek._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cP, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
667+ let ew = value(assetInfo(fromBase58String(bW)))
668+ let ex = split(ew.description, "_")
669+ let dV = dy(ex[dj])
670+ let ez = ea(bW, dV)
671+[("%s%s__assetId__" + bW), ("%s%s__owner__" + eq), ("%s%s__warehouse__" + makeString(ei(bV(bW), (dV / cG), ez._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dd, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
641672 }
642673
643674
644-@Callable(eq)
645-func constructorV1 (az) = if ((eq.caller != this))
675+@Callable(eF)
676+func constructorV1 (az) = if ((eF.caller != this))
646677 then throw("permissions denied")
647678 else {
648- func er (am,es) = (am + "%s")
679+ func eG (am,eH) = (am + "%s")
649680
650- let et = {
681+ let eI = {
651682 let ap = az
652683 let aq = size(ap)
653684 let ar = ""
654685 func as (at,au) = if ((au >= aq))
655686 then at
656- else er(at, ap[au])
687+ else eG(at, ap[au])
657688
658689 func av (at,au) = if ((au >= aq))
659690 then at
660691 else throw("List size exceeds 10")
661692
662693 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
663694 }
664-[StringEntry(cH(), makeString(et :: az, cq)), StringEntry(cI(), toString(this))]
695+[StringEntry(cV(), makeString(eI :: az, cD)), StringEntry(cW(), toString(this))]
665696 }
666697
667698
668699
669-@Callable(eq)
670-func walletInfoREADONLY (dx) = $Tuple2(nil, dw(dx))
700+@Callable(eF)
701+func walletInfoREADONLY (dM) = $Tuple2(nil, dL(dM))
671702
672703
673704
674-@Callable(eq)
675-func duckByOwnerInfoREADONLY (eu) = {
676- let ev = getString(aj, cd(eu))
677- $Tuple2(nil, if (if (isDefined(addressFromString(eu)))
678- then isDefined(ev)
705+@Callable(eF)
706+func duckByOwnerInfoREADONLY (eJ) = {
707+ let eK = getString(aj, cd(eJ))
708+ $Tuple2(nil, if (if (isDefined(addressFromString(eJ)))
709+ then isDefined(eK)
679710 else false)
680711 then {
681- let bo = value(ev)
682- ea(bo, eu, dY(bo))
712+ let bo = value(eK)
713+ ep(bo, eJ, en(bo))
683714 }
684- else ea("", eu, $Tuple5(-1, "", "", -1, "")))
715+ else ep("", eJ, $Tuple5(-1, "", "", -1, "")))
685716 }
686717
687718
688719
689-@Callable(eq)
720+@Callable(eF)
690721 func duckByAssetIdInfoREADONLY (bo) = {
691- let eb = getString(aj, cc(bo))
692- $Tuple2(nil, ea(bo, if (isDefined(eb))
693- then value(eb)
694- else "", dY(bo)))
722+ let eq = getString(aj, cc(bo))
723+ $Tuple2(nil, ep(bo, if (isDefined(eq))
724+ then value(eq)
725+ else "", en(bo)))
695726 }
696727
697728
698729
699-@Callable(eq)
730+@Callable(eF)
700731 func landByAssetIdInfoREADONLY (bW) = if ((bW == ""))
701732 then throw("landAssetId is required")
702733 else {
703- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
704- let eb = if ((eg > 0))
734+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
735+ let eq = if ((ev > 0))
705736 then value(getString(aj, bO(bW)))
706737 else ""
707- $Tuple2(nil, ef(bW, eb, eg))
738+ $Tuple2(nil, eu(bW, eq, ev))
708739 }
709740
710741
711742
712-@Callable(eq)
713-func stakedLandsByOwnerInfoREADONLY (ew) = if ((ew == ""))
743+@Callable(eF)
744+func stakedLandsByOwnerInfoREADONLY (eL) = if ((eL == ""))
714745 then throw("landOwnerAddress is required")
715746 else {
716- let ex = getString(aj, db(ew))
717- let ey = if (isDefined(ex))
718- then split_51C(value(ex), "_")
747+ let eM = getString(aj, dq(eL))
748+ let eN = if (isDefined(eM))
749+ then split_51C(value(eM), "_")
719750 else nil
720- func ez (am,bW) = if ((bW == ""))
751+ func eO (am,bW) = if ((bW == ""))
721752 then throw("landAssetId is required")
722753 else {
723- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
724- (am :+ ef(bW, ew, eg))
754+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
755+ (am :+ eu(bW, eL, ev))
725756 }
726757
727- let dt = {
728- let ap = ey
758+ let dI = {
759+ let ap = eN
729760 let aq = size(ap)
730761 let ar = nil
731762 func as (at,au) = if ((au >= aq))
732763 then at
733- else ez(at, ap[au])
764+ else eO(at, ap[au])
734765
735766 func av (at,au) = if ((au >= aq))
736767 then at
737768 else throw("List size exceeds 100")
738769
739770 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)
740771 }
741- $Tuple2(nil, dt)
772+ $Tuple2(nil, dI)
742773 }
743774
744775
745776
746-@Callable(eq)
747-func landsByIdsInfoREADONLY (eA) = {
748- func ez (am,bW) = if ((bW == ""))
777+@Callable(eF)
778+func landsByIdsInfoREADONLY (eP) = {
779+ func eO (am,bW) = if ((bW == ""))
749780 then throw("landAssetId is required")
750781 else {
751- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
752- let eb = if ((eg > 0))
782+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
783+ let eq = if ((ev > 0))
753784 then value(getString(aj, bO(bW)))
754785 else ""
755- (am :+ ef(bW, eb, eg))
786+ (am :+ eu(bW, eq, ev))
756787 }
757788
758- let dt = {
759- let ap = eA
789+ let dI = {
790+ let ap = eP
760791 let aq = size(ap)
761792 let ar = nil
762793 func as (at,au) = if ((au >= aq))
763794 then at
764- else ez(at, ap[au])
795+ else eO(at, ap[au])
765796
766797 func av (at,au) = if ((au >= aq))
767798 then at
768799 else throw("List size exceeds 100")
769800
770801 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)
771802 }
772- $Tuple2(nil, dt)
803+ $Tuple2(nil, dI)
773804 }
774805
775806
776807
777-@Callable(eq)
808+@Callable(eF)
778809 func warehouseOrderByAssetIdInfoREADONLY (bW) = if ((bW == ""))
779810 then throw("landAssetId is required")
780811 else {
781- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
782- let eb = if ((eg > 0))
812+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
813+ let eq = if ((ev > 0))
783814 then value(getString(aj, bO(bW)))
784815 else ""
785- $Tuple2(nil, ep(bW, eb))
816+ $Tuple2(nil, eE(bW, eq))
786817 }
787818
788819
789820
790-@Callable(eq)
791-func ordersByLandIdsInfoREADONLY (eA) = {
792- func ez (am,bW) = if ((bW == ""))
821+@Callable(eF)
822+func ordersByLandIdsInfoREADONLY (eP) = {
823+ func eO (am,bW) = if ((bW == ""))
793824 then throw("landAssetId is required")
794825 else {
795- let eg = valueOrElse(getInteger(aj, bR(bW)), -1)
796- let eb = if ((eg > 0))
826+ let ev = valueOrElse(getInteger(aj, bR(bW)), -1)
827+ let eq = if ((ev > 0))
797828 then value(getString(aj, bO(bW)))
798829 else ""
799- (am :+ ep(bW, eb))
830+ (am :+ eE(bW, eq))
800831 }
801832
802- let dt = {
803- let ap = eA
833+ let dI = {
834+ let ap = eP
804835 let aq = size(ap)
805836 let ar = nil
806837 func as (at,au) = if ((au >= aq))
807838 then at
808- else ez(at, ap[au])
839+ else eO(at, ap[au])
809840
810841 func av (at,au) = if ((au >= aq))
811842 then at
812843 else throw("List size exceeds 40")
813844
814845 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)
815846 }
816- $Tuple2(nil, dt)
847+ $Tuple2(nil, dI)
817848 }
818849
819850
820851
821-@Callable(eq)
822-func cancelWarehouseOrders (eA) = if ((eq.caller != this))
852+@Callable(eF)
853+func cancelWarehouseOrders (eP) = if ((eF.caller != this))
823854 then throw("permission denied")
824855 else {
825- let eB = getBoolean(aj, cg())
826- if (if (!(isDefined(eB)))
856+ let eQ = getBoolean(aj, cg())
857+ if (if (!(isDefined(eQ)))
827858 then true
828- else (value(eB) == false))
859+ else (value(eQ) == false))
829860 then throw("Contracts should be blocked before canceling orders")
830861 else {
831- func ez (eh,bW) = if ((bW == ""))
862+ func eO (ew,bW) = if ((bW == ""))
832863 then throw("landAssetId is required")
833864 else {
834- let eC = di(invoke(cP, "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:", bW], nil))
835- if (if (eh)
865+ let eR = dx(invoke(dd, "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:", bW], nil))
866+ if (if (ew)
836867 then true
837- else eC)
838- then !(if (eh)
839- then eC
868+ else eR)
869+ then !(if (ew)
870+ then eR
840871 else false)
841872 else false
842873 }
843874
844- let dt = {
845- let ap = eA
875+ let dI = {
876+ let ap = eP
846877 let aq = size(ap)
847878 let ar = false
848879 func as (at,au) = if ((au >= aq))
849880 then at
850- else ez(at, ap[au])
881+ else eO(at, ap[au])
851882
852883 func av (at,au) = if ((au >= aq))
853884 then at
854885 else throw("List size exceeds 30")
855886
856887 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)
857888 }
858- $Tuple2(nil, dt)
889+ $Tuple2(nil, dI)
859890 }
860891 }
861892
862893
863894
864-@Callable(eq)
865-func fixWarehouseFormats (eA) = if ((eq.caller != this))
895+@Callable(eF)
896+func fixWarehouseFormats (eP) = if ((eF.caller != this))
866897 then throw("permission denied")
867898 else {
868- func ez (am,bW) = if ((bW == ""))
899+ func eO (am,bW) = if ((bW == ""))
869900 then throw("landAssetId is required")
870- else (am + size(dd(invoke(aj, "fixWarehouseFormat", [bW], nil))))
901+ else (am + size(ds(invoke(aj, "fixWarehouseFormat", [bW], nil))))
871902
872- let dt = {
873- let ap = eA
903+ let dI = {
904+ let ap = eP
874905 let aq = size(ap)
875906 let ar = 0
876907 func as (at,au) = if ((au >= aq))
877908 then at
878- else ez(at, ap[au])
909+ else eO(at, ap[au])
879910
880911 func av (at,au) = if ((au >= aq))
881912 then at
882913 else throw("List size exceeds 25")
883914
884915 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)
885916 }
886- $Tuple2(nil, dt)
917+ $Tuple2(nil, dI)
887918 }
888919
889920
890921
891-@Callable(eq)
892-func fixStakedPieces (eD) = if ((eq.caller != this))
922+@Callable(eF)
923+func fixStakedPieces (eS) = if ((eF.caller != this))
893924 then throw("permission denied")
894925 else {
895- func eE (am,t) = if ((t == ""))
926+ func eT (am,t) = if ((t == ""))
896927 then throw("address is required")
897- else (am + dg(invoke(aj, "fixStakedPieces", [t], nil)))
928+ else (am + dv(invoke(aj, "fixStakedPieces", [t], nil)))
898929
899- let dt = {
900- let ap = eD
930+ let dI = {
931+ let ap = eS
901932 let aq = size(ap)
902933 let ar = 0
903934 func as (at,au) = if ((au >= aq))
904935 then at
905- else eE(at, ap[au])
936+ else eT(at, ap[au])
906937
907938 func av (at,au) = if ((au >= aq))
908939 then at
909940 else throw("List size exceeds 16")
910941
911942 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)
912943 }
913- $Tuple2(nil, dt)
944+ $Tuple2(nil, dI)
914945 }
915946
916947
917948
918-@Callable(eq)
919-func sendUsdtPrize (eu) = if ((eq.caller != aj))
949+@Callable(eF)
950+func sendUsdtPrize (eJ) = if ((eF.caller != aj))
920951 then throw("permission denied")
921952 else {
922- let eF = fraction(assetBalance(this, cm), dm, cr)
923- $Tuple2([ScriptTransfer(addressFromStringValue(eu), eF, cm)], eF)
953+ let eU = fraction(assetBalance(this, cz), dB, cE)
954+ $Tuple2([ScriptTransfer(addressFromStringValue(eJ), eU, cz)], eU)
924955 }
925956
926957
927958
928-@Callable(eq)
959+@Callable(eF)
929960 func getEmergencyServiceDataREADONLY () = {
930- let eG = getString(cP, ci())
931- let eH = if (isDefined(eG))
932- then split(value(eG), "_")
961+ let eV = getString(dd, ci())
962+ let eW = if (isDefined(eV))
963+ then split(value(eV), "_")
933964 else nil
934- func eI (am,eJ) = {
935- let dh = am._2
936- let ck = split(eJ, "_")
937- let eK = if ((dh == 0))
965+ func eX (am,eY) = {
966+ let dw = am._2
967+ let cx = split(eY, "_")
968+ let eZ = if ((dw == 0))
938969 then (bG * bM)
939970 else 0
940- let eL = if ((size(eH) > dh))
941- then parseIntValue(eH[dh])
971+ let fa = if ((size(eW) > dw))
972+ then parseIntValue(eW[dw])
942973 else 0
943- let eM = cj(ck)
944- let eN = fraction((eM * bH), bF, (cs * bM))
945- let eO = fraction((eM * bI), bF, (cs * bM))
946- let eP = makeString([toString(eK), toString(eL), toString(eN), toString(eO)], "_")
947- $Tuple2((am._1 :+ eP), (dh + 1))
974+ let fb = cw(cx)
975+ let fc = fraction((fb * bH), bF, (cF * bM))
976+ let fd = fraction((fb * bI), bF, (cF * bM))
977+ let fe = makeString([toString(eZ), toString(fa), toString(fc), toString(fd)], "_")
978+ $Tuple2((am._1 :+ fe), (dw + 1))
948979 }
949980
950- let df = makeString_2C(( let ap = bK
981+ let du = makeString_2C(( let ap = bK
951982 let aq = size(ap)
952983 let ar = $Tuple2(nil, 0)
953984 func as (at,au) = if ((au >= aq))
954985 then at
955- else eI(at, ap[au])
986+ else eX(at, ap[au])
956987
957988 func av (at,au) = if ((au >= aq))
958989 then at
959990 else throw("List size exceeds 50")
960991
961992 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, ":")
962- let eQ = ("%s%s__emergencyServiceData__" + df)
963- $Tuple2(nil, eQ)
993+ let ff = ("%s%s__emergencyServiceData__" + du)
994+ $Tuple2(nil, ff)
964995 }
965996
966997
967998
968-@Callable(eq)
999+@Callable(eF)
9691000 func wlgStatsREADONLY (ay) = {
970- let eR = ax(ay, [cO, aj, cP, cQ, cR, cS, aH], cm, 0)
971- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eR[z])), ("%s%s%d__wlgPrice__" + toString(eR[A])), ("%s%s%d__usdtFunds__" + toString(eR[B])), ("%s%s%d__usdtEconomy__" + toString(eR[C])), ("%s%s%d__usdtActivity__" + toString(eR[D])), ("%s%s%d__usdtArbitrage__" + toString(eR[E])), ("%s%s%d__usdtPool__" + toString(eR[F])), ("%s%s%d__wlgIssueTime__" + toString(eR[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eR[H])), ("%s%s%d__wlgMarketingTotal__" + toString(eR[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eR[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eR[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(eR[L])), ("%s%s%d__wlgTeamTotal__" + toString(eR[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(eR[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eR[O])), ("%s%s%d__wlgTeamWlgold__" + toString(eR[P])), ("%s%s%d__wlgActTotal__" + toString(eR[Q])), ("%s%s%d__wlgActAmLeft__" + toString(eR[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(eR[S])), ("%s%s%d__wlgActWlgold__" + toString(eR[T])), ("%s%s%d__wlgCurPeriod__" + toString(eR[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(eR[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eR[W])), ("%s%s%d__wlgLastUserTime__" + toString(eR[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(eR[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(eR[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(eR[aa]))])
1001+ let fg = ax(ay, [dc, aj, dd, de, df, dg, aH], cz, 0)
1002+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fg[z])), ("%s%s%d__wlgPrice__" + toString(fg[A])), ("%s%s%d__usdtFunds__" + toString(fg[B])), ("%s%s%d__usdtEconomy__" + toString(fg[C])), ("%s%s%d__usdtActivity__" + toString(fg[D])), ("%s%s%d__usdtArbitrage__" + toString(fg[E])), ("%s%s%d__usdtPool__" + toString(fg[F])), ("%s%s%d__wlgIssueTime__" + toString(fg[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fg[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fg[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fg[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fg[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fg[L])), ("%s%s%d__wlgTeamTotal__" + toString(fg[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fg[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fg[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fg[P])), ("%s%s%d__wlgActTotal__" + toString(fg[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fg[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fg[S])), ("%s%s%d__wlgActWlgold__" + toString(fg[T])), ("%s%s%d__wlgCurPeriod__" + toString(fg[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fg[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fg[W])), ("%s%s%d__wlgLastUserTime__" + toString(fg[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fg[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fg[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fg[aa]))])
1003+ }
1004+
1005+
1006+
1007+@Callable(eF)
1008+func tournamentStatsREADONLY (fh) = {
1009+ let fi = split(valueOrErrorMessage(getString(dh, cj(fh)), (("Error reading tournament " + toString(fh)) + " data")), cD)
1010+ let fj = split(valueOrErrorMessage(getString(dh, cl(fh)), (("Error reading tournament " + toString(fh)) + " data")), cD)
1011+ let fk = valueOrElse(getString(dh, cm(fh)), "")
1012+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([fi[cn], fi[co], fi[cp], fi[cq]], "_")), ("%s%s__tournamentDynamisData__" + makeString([fj[cr], fj[cs], fj[ct], fj[cu], fj[cv]], "_")), ("%s%s__tournamentRegistrands__" + fk)])
9721013 }
9731014
9741015

github/deemru/w8io/169f3d6 
296.73 ms