tx · DP216si7ba7vUuiPUync6re2pYRGkEb1CseP8fQgVqSH

3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH:  -0.02400000 Waves

2023.03.15 01:28 [2490310] smart account 3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH > SELF 0.00000000 Waves

{ "type": 13, "id": "DP216si7ba7vUuiPUync6re2pYRGkEb1CseP8fQgVqSH", "fee": 2400000, "feeAssetId": null, "timestamp": 1678832992033, "version": 2, "chainId": 84, "sender": "3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH", "senderPublicKey": "5JqBVJpMCyD7dJLJttqYjL6CmJc4zahBHSFjFb7qQTga", "proofs": [ "3qMKmVzQWjSNpFrjS45cZvPMVeL9bk5pGTA787SVbt9j5Nfj8FkdJnYrwCbsVVB8JUp5oLF1rdumZEkCHRXLpNKy" ], "script": "base64:BgIhCAISBAoCAQESBgoECAgICBIDCgEYEgASAwoBCBIDCgEBRAADU0VQAgFfAA5fbWluTG9ja3BlcmlvZAABAA1fdW5pdERlY2ltYWxzAIDC1y8ADl9taW5Mb2NrQW1vdW50CQBoAgABBQ1fdW5pdERlY2ltYWxzAA5fbWF4TG9ja0Ftb3VudAkAaAIA6AcFDV91bml0RGVjaW1hbHMAA19EdACAuJkpAQRfUHB5AQpsb2NrUGVyaW9kCQBrAwUNX3VuaXREZWNpbWFscwDtAgUKbG9ja1BlcmlvZAANX2luY3JlbWVudFJlZgkAaAIAwIQ9BQ1fdW5pdERlY2ltYWxzAA5fcGVyY2VudGFnZUZlZQkAawMFDV91bml0RGVjaW1hbHMACgBkABpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIpQ3VycmVudF9QZXJjZW50YWdlUmVkdWN0aW9uX0ZhY3Rvcl9Gb3JfTXIAA19NcgIMTWludGluZ19SYXRlAAxfc3Rhd0Fzc2V0SWQCDFN0YXdfQXNzZXRJZAAIX21hbmFnZXICB21hbmFnZXIABF9EZngCA0RmeAAVX2NpcmN1bGF0aW9uSW5jckluZGV4AhlDaXJjdWxhdGlvbkluY3JlbWVudEluZGV4AA5fbGVzc2VlQWRkcmVzcwIJTGVhc2VOb2RlABpfdXNlckVtaXNzaW9uQW1vdW50Q2xhaW1lZAIVRW1pc3Npb25BbW91bnRDbGFpbWVkABtfdXNlckNhbkNsYWltRW1pc3Npb25BbW91bnQCFkNhbkNsYWltRW1pc3Npb25BbW91bnQADF91c2VyQWRkcmVzcwINV2FsbGV0QWRkcmVzcwAUX3VzZXJMb2NhbEluZGV4Q291bnQCFFRvdGFsRW50cnlJbmRleENvdW50ABBfdXNlclRvdGFsTG9ja2VkAgtUb3RhbExvY2tlZAANX2xvY2tEdXJhdGlvbgIMTG9ja0R1cmF0aW9uAApfbG9ja0luZGV4Ag9HbG9iYWxMb2NrSW5kZXgAB19sb2NrSWQCDkxvY2tJZGVudGlmaWVyAAxfd2F2ZXNBbW91bnQCDUFtb3VudEluV2F2ZXMAC19zdGF3QW1vdW50AgxBbW91bnRJblN0YXcADV9zdGF3TFBBbW91bnQCDkFtb3VudEluU3Rhd0xQAAVfdHhJZAIEVFhJRAANX2xvY2tBdEhlaWdodAIMTG9ja0F0SGVpZ2h0ABRfbG9ja1BlcmlvZEluTWlsaVNlYwIUTG9jS1BlcmlvZEluTWlsbGlTZWMAEl90b3RhbFdhdmVzQ2xhaW1lZAIRVG90YWxXYXZlc0NsYWltZWQAD191c2VyTGVhc2VTdGF0ZQIKTGVhc2VTdGF0ZQAKX3RvdGFsU3RhdwIPVG90YWxTdGF3TWludGVkAA5fdG90YWxXYXZlc1JlZgIQVG90YWxXYXZlc0xvY2tlZAAMX3RvdGFsU3Rhd0xQAgtUb3RhbFN0YXdMUAARX2dsb2JhbEluZGV4Q291bnQCCkluZGV4Q291bnQBBV9nZXRJAQNrZXkJAJoIAgUEdGhpcwUDa2V5AQVfZ2V0UwEDa2V5CQCdCAIFBHRoaXMFA2tleQEFX2dldEIBA2tleQkAmwgCBQR0aGlzBQNrZXkBBl9nZXRCVgEDa2V5CQEFdmFsdWUBCQCbCAIFBHRoaXMFA2tleQEGX2dldElWAQNrZXkJAQV2YWx1ZQEJAJoIAgUEdGhpcwUDa2V5AQZfZ2V0U1YBA2tleQkBBXZhbHVlAQkAnQgCBQR0aGlzBQNrZXkBDF9zZXRQYXJhbVZhbAIDa2V5CmRlZmF1bHRWYWwEByRtYXRjaDAFCmRlZmF1bHRWYWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBApkZWZhdWx0VmFsBQckbWF0Y2gwAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBBl9nZXRTVgEFA2tleQUKZGVmYXVsdFZhbAMJAAECBQckbWF0Y2gwAgNJbnQECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRJAQUDa2V5CQEGX2dldElWAQUDa2V5BQpkZWZhdWx0VmFsAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4ECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRCAQUDa2V5CQEGX2dldEJWAQUDa2V5BQpkZWZhdWx0VmFsCQACAQkArAICAh12YWx1ZSB0eXBlIG5vdCBzdXBwb3J0ZWQgZm9yIAUDa2V5AQ9fdGhyb3dPclJldHVyblMCA3ZhbAVlcnJvcgQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEPX3Rocm93T3JSZXR1cm5JAgN2YWwFZXJyb3IEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEA3ZhbAUHJG1hdGNoMAUDdmFsCQACAQUFZXJyb3IBEl90aHJvd09yUmV0dXJuQm9vbAIDdmFsBWVycm9yBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEJX3dyaXRlSW50AgNrZXkFdmFsdWUDCQBmAgAABQV2YWx1ZQkAAgEJAKwCAgkArAICCQCsAgICF3dyaXRpbmcgbmVnYXRpdmUgdmFsdWUgCQCkAwEFBXZhbHVlAgkgZm9yIGtleSAFA2tleQkBDEludGVnZXJFbnRyeQIFA2tleQUFdmFsdWUBCV93cml0ZVN0cgIDa2V5BXZhbHVlAwkAAAICASAFBXZhbHVlCQACAQkArAICAhh3cml0aW5nIGFuIGVtcHR5IHN0cmluZyAFBXZhbHVlCQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlAQhfdGhyb3dJZgIJY29uZGl0aW9uBWVycm9yAwUJY29uZGl0aW9uCQACAQUFZXJyb3IGARFfd3JpdGVHbG9iYWxQYXJhbQIDa2V5Bl92YWx1ZQQHJG1hdGNoMAUGX3ZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiViCQDMCAIJAKUDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkJAAIBAhJ0eXBlIG5vdCBzdXBwb3J0ZWQBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBA2tleQQJX3Jhd1ZhbHVlCQEPX3Rocm93T3JSZXR1cm5TAgkBBV9nZXRTAQUDa2V5Ag9lbnRyeSBub3QgZm91bmQDCQAAAgUJX3Jhd1ZhbHVlBQlfcmF3VmFsdWUEAXgJALUJAgUJX3Jhd1ZhbHVlBQNTRVAED2Zvcm1hdFNwZWNpZmllcgkAsgICCQCRAwIFAXgAAAABBAxfdmFsdWVTdHJpbmcJAJEDAgUBeAkAZQIJAJADAQUBeAABBAZfdmFsdWUDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFzBQxfdmFsdWVTdHJpbmcDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFkCQENcGFyc2VJbnRWYWx1ZQEFDF92YWx1ZVN0cmluZwMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAWIJANkEAQUMX3ZhbHVlU3RyaW5nCQACAQkArAICAiNjb3VsZCBub3QgcGFyc2UgcmVnaXN0cnkgdmFsdWUgZm9yIAUDa2V5BQZfdmFsdWUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDl9kYXlzVG9NaWxpU2VjAQRkYXlzBAVjaGVjawkBCF90aHJvd0lmAgkAZwIFBGRheXMAAAIVaW52YWxpZCBsb2NraW5nIGRheXMhAwkAAAIFBWNoZWNrBQVjaGVjawkAaAIFBGRheXMFA19EdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERX3dyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZVN0cgIFA2tleQUFdmFsdWUJAAIBCQCsAgICG2VudHJ5IGFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5ARJfd3JpdGVDb25zdEludGVnZXICA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZUludAIFA2tleQUFdmFsdWUJAAIBCQCsAgICHCBlbnRyeSBhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEMX29ubHlNYW5hZ2VyAQFpBAdtYW5hZ2VyBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCF9tYW5hZ2VyAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwCFWZhaWxlZCB0byBnZXQgbWFuYWdlcgMJAAACBQdtYW5hZ2VyBQdtYW5hZ2VyCQEIX3Rocm93SWYCCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFB21hbmFnZXICFmFkZHJlc3Mgbm90IGF1dGhvcml6ZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BBF9hYnMBA3ZhbAMJAGYCAAAFA3ZhbAkBAS0BBQN2YWwFA3ZhbAEQX3ZhbGlkYXRlQWRkcmVzcwEHYWRkcmVzcwQHJG1hdGNoMAUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCmCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgkAAgECD2ludmFsaWQgYWRkcmVzcwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAdhZGRyZXNzBQckbWF0Y2gwBAhfYWRkcmVzcwkApwgBBQdhZGRyZXNzBAckbWF0Y2gxBQhfYWRkcmVzcwMJAAECBQckbWF0Y2gxAgdBZGRyZXNzBAhfYWRkcmVzcwUHJG1hdGNoMQYJAAIBAhJpbnZhbGlkIHB1YmxpYyBrZXkJAAIBAhJpbnZhbGlkIGlucHV0IHR5cGUBDl92YWxpZGF0ZUFzc2V0AQdhc3NldElEBAckbWF0Y2gwCQDsBwEJANkEAQUHYXNzZXRJRAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAGCQACAQkArAICAhJpbnZhbGlkIGFzc2V0IGlkOiAFB2Fzc2V0SUQBCl9jb21wdXRlTXIABBBjdXJyZW50Q2lyY0luZGV4CQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUVX2NpcmN1bGF0aW9uSW5jckluZGV4AiZpbmNyZW1lbnQgaW5kZXggbm90IHByZXZpb3VzbHkgZGVmaW5lZAMJAAACBRBjdXJyZW50Q2lyY0luZGV4BRBjdXJyZW50Q2lyY0luZGV4BAtzdGF3QXNzZXRJZAkBD190aHJvd09yUmV0dXJuUwIJAQVfZ2V0UwEFDF9zdGF3QXNzZXRJZAIeYXNzZXQgaWQgbm90IHByZXZpb3VseSBkZWZpbmVkAwkAAAIFC3N0YXdBc3NldElkBQtzdGF3QXNzZXRJZAQVc3Rhd0NpcmN1bGF0aW5nU3VwcGx5BAckbWF0Y2gwCQDsBwEJANkEAQULc3Rhd0Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCAUFYXNzZXQIcXVhbnRpdHkJAAIBCQCsAgICFGFzc2V0IG5vdCBmb3VuZCBmb3IgBQtzdGF3QXNzZXRJZAQNdW5pdEluY3JlbWVudAkAaQIJAQRfYWJzAQkAZQIFFXN0YXdDaXJjdWxhdGluZ1N1cHBseQUNX2luY3JlbWVudFJlZgUNX2luY3JlbWVudFJlZgQXbmV3Q2lyY3VsYXRpb25JbmNySW5kZXgDCQBmAgUNdW5pdEluY3JlbWVudAUQY3VycmVudENpcmNJbmRleAkAZAIFDXVuaXRJbmNyZW1lbnQFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgECWN1cnJlbnRNcgkBD190aHJvd09yUmV0dXJuSQIFA19NcgIkbWluaXRpbmcgcmF0ZSBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4BRBjdXJyZW50Q2lyY0luZGV4BQljdXJyZW50TXIEEm5ld3JlZHVjdGlvbkZhY3RvcgkAZAIJAQ9fdGhyb3dPclJldHVybkkCBRpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIncmVkdWN0aW9uIGZhY3RvciBub3QgcHJldmlvdXNseSBkZWZpbmVkAAoEDG5ld0N1cnJlbnRNcgkAZQIFCWN1cnJlbnRNcgkAawMFCWN1cnJlbnRNcgUSbmV3cmVkdWN0aW9uRmFjdG9yAGQEBnN0b3JlMQkBCV93cml0ZUludAIFA19NcgUMbmV3Q3VycmVudE1yAwkAAAIFBnN0b3JlMQUGc3RvcmUxBAZzdG9yZTIJAQlfd3JpdGVJbnQCBRpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgUSbmV3cmVkdWN0aW9uRmFjdG9yAwkAAAIFBnN0b3JlMgUGc3RvcmUyBAZzdG9yZTMJAQlfd3JpdGVJbnQCBRVfY2lyY3VsYXRpb25JbmNySW5kZXgFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4AwkAAAIFBnN0b3JlMwUGc3RvcmUzBQxuZXdDdXJyZW50TXIJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEl91cGRhdGVHbG9iYWxFbnRyeQQLd2F2ZXNBbW91bnQKc3Rhd0Ftb3VudAZzdGF3UEwKaW5kZXhDb3VudAQaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX3RvdGFsV2F2ZXNSZWYDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAULd2F2ZXNBbW91bnQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCB3YXZlcwMJAAACBRpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgUaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYEGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUKX3RvdGFsU3RhdwMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0BQpzdGF3QW1vdW50CQACAQImZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgc3RhdyBtaW50ZWQDCQAAAgUZX25ld0dsb2JhbFRvdGFsU3Rhd01pbnRlZAUZX25ld0dsb2JhbFRvdGFsU3Rhd01pbnRlZAQVX25ld0dsb2JhbFRvdGFsU3Rhd1BMBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF90b3RhbFN0YXdMUAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0BQZzdGF3UEwJAAIBAiFmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCBzdGF3cGwDCQAAAgUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMBRVfbmV3R2xvYmFsVG90YWxTdGF3UEwEE19uZXdHbG9iYUluZGV4Q291bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQURX2dsb2JhbEluZGV4Q291bnQDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUKaW5kZXhDb3VudAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIGluZGV4IGNvdW50AwkAAAIFE19uZXdHbG9iYUluZGV4Q291bnQFE19uZXdHbG9iYUluZGV4Q291bnQJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUOX3RvdGFsV2F2ZXNSZWYFGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFCl90b3RhbFN0YXcFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUMX3RvdGFsU3Rhd0xQBRVfbmV3R2xvYmFsVG90YWxTdGF3UEwJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgURX2dsb2JhbEluZGV4Q291bnQFE19uZXdHbG9iYUluZGV4Q291bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgESX3JlZ2lzdGVyVXNlckVudHJ5DQ10cmFuc2FjdGlvbklEC3VzZXJBZGRyZXNzDGxvY2tEdXJhdGlvbhJsb2NrRHVyYXRpb25Jbk1pbGkJbG9ja0luZGV4C3dhdmVzQW1vdW50CnN0YXdBbW91bnQMc3Rhd0xQQW1vdW50DGxvY2tBdEhlaWdodAZsb2NrSWQLdG90YWxMb2NrZWQPbG9jYWxJbmRleENvdW50CmxlYXNlU3RhdGUECF90eElkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQVfdHhJZAUDbmlsBQNTRVAEEF9sb2NrRHVyYXRpb25LZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9sb2NrRHVyYXRpb24FA25pbAUDU0VQBA1fbG9ja0luZGV4S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQpfbG9ja0luZGV4BQNuaWwFA1NFUAQPX3dhdmVzQW1vdW50S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQxfd2F2ZXNBbW91bnQFA25pbAUDU0VQBA5fc3Rhd0Ftb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgULX3N0YXdBbW91bnQFA25pbAUDU0VQBBBfc3Rhd0xQQW1vdW50S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQQX2xvY2tBdEhlaWdodEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tBdEhlaWdodAUDbmlsBQNTRVAECl9sb2NrSWRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFB19sb2NrSWQFA25pbAUDU0VQBA9fdG90YWxMb2NrZWRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBRBfdXNlclRvdGFsTG9ja2VkBQNuaWwFA1NFUAQSX2xvY2FsTG9ja0luZGV4S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUUX3VzZXJMb2NhbEluZGV4Q291bnQFA25pbAUDU0VQBBdfbG9ja1BlcmlvZEluTWlsaVNlY0tleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUUX2xvY2tQZXJpb2RJbk1pbGlTZWMFA25pbAUDU0VQBBVfdG90YWxXYXZlc0NsYWltZWRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFEl90b3RhbFdhdmVzQ2xhaW1lZAUDbmlsBQNTRVAEEl91c2VyTGVhc2VTdGF0ZUtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUPX3VzZXJMZWFzZVN0YXRlBQNuaWwFA1NFUAQKdHJ4SWRFbnRyeQkAuQkCCQDMCAICAiVzCQDMCAIFDXRyYW5zYWN0aW9uSUQFA25pbAUDU0VQBBFsb2NrRHVyYXRpb25FbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUMbG9ja0R1cmF0aW9uBQNuaWwFA1NFUAQObG9ja0luZGV4RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFCWxvY2tJbmRleAUDbmlsBQNTRVAEEHdhdmVzQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFC3dhdmVzQW1vdW50BQNuaWwFA1NFUAQPc3Rhd0Ftb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQpzdGF3QW1vdW50BQNuaWwFA1NFUAQRc3Rhd0xQQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDHN0YXdMUEFtb3VudAUDbmlsBQNTRVAEEWxvY2tBdEhlaWdodEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQxsb2NrQXRIZWlnaHQFA25pbAUDU0VQBAtsb2NrSWRFbnRyeQkAuQkCCQDMCAICAiViCQDMCAIFBmxvY2tJZAUDbmlsBQNTRVAEEHRvdGFsTG9ja2VkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFC3RvdGFsTG9ja2VkBQNuaWwFA1NFUAQTdXNlckxvY2FsSW5kZXhFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUPbG9jYWxJbmRleENvdW50BQNuaWwFA1NFUAQYbG9ja1BlcmlvZEluTWlsaVNlY0VudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBRJsb2NrRHVyYXRpb25Jbk1pbGkFA25pbAUDU0VQBBZ0b3RhbFdhdmVzQ2xhaW1lZEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBAAAFA25pbAUDU0VQBBN1c2VyTGVhc2VTdGF0ZUVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUKbGVhc2VTdGF0ZQUDbmlsBQNTRVAJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUIX3R4SWRLZXkFCnRyeElkRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUNX2xvY2tJbmRleEtleQUObG9ja0luZGV4RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFEl9sb2NhbExvY2tJbmRleEtleQUTdXNlckxvY2FsSW5kZXhFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUPX3RvdGFsTG9ja2VkS2V5BRB0b3RhbExvY2tlZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFEF9sb2NrRHVyYXRpb25LZXkFEWxvY2tEdXJhdGlvbkVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFF19sb2NrUGVyaW9kSW5NaWxpU2VjS2V5BRhsb2NrUGVyaW9kSW5NaWxpU2VjRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUPX3dhdmVzQW1vdW50S2V5BRB3YXZlc0Ftb3VudEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFDl9zdGF3QW1vdW50S2V5BQ9zdGF3QW1vdW50RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFEF9zdGF3TFBBbW91bnRLZXkFEXN0YXdMUEFtb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRVfdG90YWxXYXZlc0NsYWltZWRLZXkFFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUQX2xvY2tBdEhlaWdodEtleQURbG9ja0F0SGVpZ2h0RW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUKX2xvY2tJZEtleQULbG9ja0lkRW50cnkJAMwIAgkBCV93cml0ZVN0cgIFEl91c2VyTGVhc2VTdGF0ZUtleQUTdXNlckxlYXNlU3RhdGVFbnRyeQUDbmlsAQdfc3Rhd01GAgpsb2NrUGVyaW9kD2NvbGxhdGVyYWxXYXZlcwQLX2FkanVzdGVkTXIJAQpfY29tcHV0ZU1yAAkAaAIJAGsDBQ1fdW5pdERlY2ltYWxzCQBoAgUDX0R0BQtfYWRqdXN0ZWRNcgkBBF9QcHkBBQpsb2NrUGVyaW9kBQ9jb2xsYXRlcmFsV2F2ZXMBEl9lbWlzc2lvblJhdGVXYXZlcwIKbG9ja1BlcmlvZApjb2xsYXRlcmFsBA9leHRlbnNpb25GYWN0b3IJAGsDBQpsb2NrUGVyaW9kAA8ACgkAaAIJAGkCBQpjb2xsYXRlcmFsCQBlAgkAaAIFCmxvY2tQZXJpb2QFD2V4dGVuc2lvbkZhY3RvcgUKbG9ja1BlcmlvZAUDX0R0ARBfaW5jclRvdGFsU3Rhd0xQAQZhbW91bnQECW9sZFN0YXdMUAkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDF90b3RhbFN0YXdMUAIgY291bGQgbm90IGdldCB0aGUgcnVubmluZyBTdGF3TFAJAMwIAgkBCV93cml0ZUludAIFDF90b3RhbFN0YXdMUAkAZAIFCW9sZFN0YXdMUAUGYW1vdW50BQNuaWwBEF9kZWNyVG90YWxTdGF3TFABBmFtb3VudAQJb2xkU3Rhd0xQCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUMX3RvdGFsU3Rhd0xQAiBjb3VsZCBub3QgZ2V0IHRoZSBydW5uaW5nIFN0YXdMUAkAzAgCCQEJX3dyaXRlSW50AgUMX3RvdGFsU3Rhd0xQCQBlAgUJb2xkU3Rhd0xQBQZhbW91bnQFA25pbAESX2luY3JUb3RhbFdhdmVzUmVmAQZhbW91bnQEC29sZFdhdmVzUmVmCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUOX3RvdGFsV2F2ZXNSZWYCIGNvdWxkIG5vdCBnZXQgdG90YWwgbG9ja2VkIHdhdmVzCQDMCAIJAQlfd3JpdGVJbnQCBQ5fdG90YWxXYXZlc1JlZgkAZAIFC29sZFdhdmVzUmVmBQZhbW91bnQFA25pbAESX2RlY3JUb3RhbFdhdmVzUmVmAQZhbW91bnQEC29sZFdhdmVzUmVmCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUOX3RvdGFsV2F2ZXNSZWYCIGNvdWxkIG5vdCBnZXQgdG90YWwgbG9ja2VkIHdhdmVzCQDMCAIJAQlfd3JpdGVJbnQCBQ5fdG90YWxXYXZlc1JlZgkAZQIFC29sZFdhdmVzUmVmBQZhbW91bnQFA25pbAEQX2dldE5ld1RpbWVTdGFtcAELYmxvY2tIZWlnaHQEBHRpbWUEByRtYXRjaDAJAO0HAQULYmxvY2tIZWlnaHQDCQABAgUHJG1hdGNoMAIJQmxvY2tJbmZvBAh0aW1lSW5mbwUHJG1hdGNoMAgFCHRpbWVJbmZvCXRpbWVzdGFtcAkAAgECFGNvdW5sZCBnZXQgdGltZXN0YW1wBQR0aW1lBgFpAQtnZXRFbWlzc2lvbgIKbG9ja1BlcmlvZApjb2xsYXRlcmFsBAZjaGVjazEJAQxfb25seU1hbmFnZXIBBQFpAwkAAAIFBmNoZWNrMQUGY2hlY2sxCQCUCgIFA25pbAkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEEaW5pdAQHbWFuYWdlcgNkZngHYXNzZXRJRAlsZWFzZU5vZGUEFG1hbmFnZXJBbHJlYWR5RXhpc3RzAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFCF9tYW5hZ2VyCQEMX29ubHlNYW5hZ2VyAQUBaQYDCQAAAgUUbWFuYWdlckFscmVhZHlFeGlzdHMFFG1hbmFnZXJBbHJlYWR5RXhpc3RzBAZjaGVjazEJARBfdmFsaWRhdGVBZGRyZXNzAQUHbWFuYWdlcgMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syCQEQX3ZhbGlkYXRlQWRkcmVzcwEFA2RmeAMJAAACBQZjaGVjazIFBmNoZWNrMgQGY2hlY2szCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCWxlYXNlTm9kZQMJAAACBQZjaGVjazMFBmNoZWNrMwQGY2hlY2s0CQEOX3ZhbGlkYXRlQXNzZXQBBQdhc3NldElEAwkAAAIFBmNoZWNrNAUGY2hlY2s0BBBjaXJjdWxhdGlvbkluZGV4CQEMX3NldFBhcmFtVmFsAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4AAAEF3BlcmNlbnRhZ2VSZWR1Y3Rpb25Jbk1yCQEMX3NldFBhcmFtVmFsAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IAAAQCTXIJAQxfc2V0UGFyYW1WYWwCBQNfTXIFDV91bml0RGVjaW1hbHMED3RvdGFsU3Rhd01pbnRlZAkBDF9zZXRQYXJhbVZhbAIFCl90b3RhbFN0YXcAAAQYdG90YWxTdGF3TFBJbkNpcmN1bGF0aW9uCQEMX3NldFBhcmFtVmFsAgUMX3RvdGFsU3Rhd0xQAAAEEGdsb2JhbEluZGV4Q291bnQJAQxfc2V0UGFyYW1WYWwCBRFfZ2xvYmFsSW5kZXhDb3VudAAABA10b3RhbFdhdmVzUmVmCQEMX3NldFBhcmFtVmFsAgUOX3RvdGFsV2F2ZXNSZWYAAAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQhfbWFuYWdlcgUHbWFuYWdlcgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQRfRGZ4BQNkZngJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUMX3N0YXdBc3NldElkBQdhc3NldElECQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl9sZXNzZWVBZGRyZXNzBQlsZWFzZU5vZGUJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4BRBjaXJjdWxhdGlvbkluZGV4CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA19NcgUCTXIJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IFF3BlcmNlbnRhZ2VSZWR1Y3Rpb25Jbk1yCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBQ10b3RhbFdhdmVzUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUYdG90YWxTdGF3TFBJbkNpcmN1bGF0aW9uCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFCl90b3RhbFN0YXcFD3RvdGFsU3Rhd01pbnRlZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEm1vZGlmeUdsb2JhbFBhcmFtcwEDdmFsBAZjaGVjazEJAQxfb25seU1hbmFnZXIBBQFpAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAZjaGVjazIJAQhfdGhyb3dJZgIJAAACCQCQAwEFA3ZhbAACAiJbZ2xvYmFsX2tleSwgdmFsdWVdIHBhaXJzIGV4cGVjdGVkAwkAAAIFBmNoZWNrMgUGY2hlY2syBANrZXkJAJEDAgUDdmFsAAAEB3ZhbFR5cGUJALYJAQkAkQMCBQN2YWwAAQQHJG1hdGNoMAUHdmFsVHlwZQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQUBeAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BAtzdHJpbmdWYWx1ZQkAkQMCBQN2YWwAAQQKcmVmQWRkcmVzcwkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQhfbWFuYWdlcgQGY2hlY2s0BAckbWF0Y2gxBQpyZWZBZGRyZXNzAwkAAQIFByRtYXRjaDECBlN0cmluZwQHc3RyVHlwZQUHJG1hdGNoMQMJAAACCQCxAgEFB3N0clR5cGUJALECAQULc3RyaW5nVmFsdWUJARBfdmFsaWRhdGVBZGRyZXNzAQULc3RyaW5nVmFsdWUJAQ5fdmFsaWRhdGVBc3NldAEFC3N0cmluZ1ZhbHVlCQACAQIYdmFsdWUgdHlwZSBub3Qgc3VwcG9ydGVkAwkAAAIFBmNoZWNrNAUGY2hlY2s0CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQULc3RyaW5nVmFsdWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgIRZmFpbGVkIHRvIG1vZGlmeSAJAJEDAgUDdmFsAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKcmV2b2tlTG9jawAEBmNoZWNrMQkBDF9vbmx5TWFuYWdlcgEFAWkDCQAAAgUGY2hlY2sxBQZjaGVjazEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQENdHJhbnNhY3Rpb25JRAQNY2FsbGVyQWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jb2xsYXRlcmFsS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDWxvY2twZXJpb2RLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAECWxvY2tJZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQTbG9ja3BlcmlvZEluTWlsaUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFHRvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFEl90b3RhbFdhdmVzQ2xhaW1lZAUDbmlsBQNTRVAED3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQOd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBF1c2VyTGVhc2VTdGF0ZUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBA1sZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAEDmdsb2JhbFdhdmVzUmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFDmdsb2JhbFdhdmVzUmVmBQ5nbG9iYWxXYXZlc1JlZgQMZ2xvYmFsU3Rhd1BMBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF90b3RhbFN0YXdMUAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCB3YXZlcwMJAAACBQxnbG9iYWxTdGF3UEwFDGdsb2JhbFN0YXdQTAQGbG9ja0lkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCWxvY2tJZEtleQMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAF0BQckbWF0Y2gwBQF0CQACAQIWZmFpbGVkIHRvIGdldCBsZWFzZSBpZAMJAAACBQZsb2NrSWQFBmxvY2tJZAQUdXNlclRvdGFsV2F2ZXNMb2NrZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIwZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQgYnkgdGhpcyBhZGRyZXNzAwkAAAIFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBRR1c2VyVG90YWxXYXZlc0xvY2tlZAQLd2F2ZXNBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOd2F2ZXNBbW91bnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIgZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQDCQAAAgULd2F2ZXNBbW91bnQFC3dhdmVzQW1vdW50BBF0b3RhbFdhdmVzQ2xhaW1lZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRR0b3RhbFdhdmVzQ2xhaW1lZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiFmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGNsYWltZWQDCQAAAgURdG90YWxXYXZlc0NsYWltZWQFEXRvdGFsV2F2ZXNDbGFpbWVkBAxzdGF3TFBBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUPc3Rhd0xQQW1vdW50S2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECFGZhaWxlZCB0byBnZXQgc3Rhd1BMAwkAAAIFDHN0YXdMUEFtb3VudAUMc3Rhd0xQQW1vdW50BBBsb2NrUGVyaW9kSW5NaWxpBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFE2xvY2twZXJpb2RJbk1pbGlLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIiZmFpbGVkIHRvIGdldCBsb2NrIHBlcmlvZCB0aW1lc3BhbQMJAAACBRBsb2NrUGVyaW9kSW5NaWxpBRBsb2NrUGVyaW9kSW5NaWxpBBBjdXJyZW50VGltZVN0YW1wBAckbWF0Y2gwCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAh9mYWlsZWQgdG8gZ2V0IGN1cnJlbnQgdGltZXN0YW1wAwkAAAIFEGN1cnJlbnRUaW1lU3RhbXAFEGN1cnJlbnRUaW1lU3RhbXAECmNvbGxhdGVyYWwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUNY29sbGF0ZXJhbEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAhhmYWlsZWQgdG8gZ2V0IGNvbGxhdGVyYWwDCQAAAgUKY29sbGF0ZXJhbAUKY29sbGF0ZXJhbAQKbG9ja1BlcmlvZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sb2NrcGVyaW9kS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECGGZhaWxlZCB0byBnZXQgbG9ja1BlcmlvZAMJAAACBQpsb2NrUGVyaW9kBQpsb2NrUGVyaW9kBBFjdXJyZW50TGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRF1c2VyTGVhc2VTdGF0ZUtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGxlYXNlIHN0YXRlAwkAAAIFEWN1cnJlbnRMZWFzZVN0YXRlBRFjdXJyZW50TGVhc2VTdGF0ZQQKbGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sZWFzZVN0YXRlS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAUBdAkAAgECImZhaWxlZCB0byBnZXQgbGVhc2Ugc3RhdGUgZm9yIHVzZXIDCQAAAgUKbGVhc2VTdGF0ZQUKbGVhc2VTdGF0ZQQGY2hlY2sxCQEIX3Rocm93SWYCCQBmAgUQbG9ja1BlcmlvZEluTWlsaQUQY3VycmVudFRpbWVTdGFtcAIqbG9jayBwZXJpb2QgZm9yIHRoaXMgZW50cnkgaGFzIG5vdCBlbGFwc2VkAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAtsZWFzZUFjdGlvbgMJAAACBRFjdXJyZW50TGVhc2VTdGF0ZQIGbGVhc2VkCQCUCgIJAQtMZWFzZUNhbmNlbAEFBmxvY2tJZAkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAJQKAgkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAQlfd3JpdGVTdHICBRF1c2VyTGVhc2VTdGF0ZUtleQIJY2FuY2VsbGVkAwkAAAIFC2xlYXNlQWN0aW9uBQtsZWFzZUFjdGlvbgQGY2hlY2syCQEIX3Rocm93SWYCAwkAAAIAAAULd2F2ZXNBbW91bnQGCQAAAgAABQxzdGF3TFBBbW91bnQCIWFsbCBjbGFpbXMgZXhoYXVzdGVkIGZvciB0aGlzIHRyeAMJAAACBQZjaGVjazIFBmNoZWNrMgQSZW1pc3Npb25WYWx1ZVBlckRUCQBoAgkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwFA19EdAQLY2xhaW1BY3Rpb24EDXRpbWVTdGFtcERpZmYJAGUCBRBjdXJyZW50VGltZVN0YW1wBRBsb2NrUGVyaW9kSW5NaWxpBBpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAkAaQIFDXRpbWVTdGFtcERpZmYFA19EdAMJAAACBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAAACQACAQIibGVzcyB0aGFuIDI0aHJzIGJlZm9yZSBmaXJzdCBjbGFpbQMJAQIhPQIJAGoCBQ10aW1lU3RhbXBEaWZmBQNfRHQAAAkAAgECNGFscmVhZHkgY2xhaW1lZCBvciBsZXNzIHRoYW4gMjRocnMgYmVmb3JlIG5leHQgY2xhaW0DCQBmAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQFCmxvY2tQZXJpb2QJAAIBAhRhbGwgY2xhaW1zIGV4aGF1c3RlZAQUdG90YWxBbW91bnRDbGFpbWFibGUJAGgCBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAUSZW1pc3Npb25WYWx1ZVBlckRUBAhjaGVjazNfMQkBCF90aHJvd0lmAgkAAAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAIcY2FuIG9ubHkgY2xhaW0gb25jZSBpbiAyNGhycwMJAAACBQhjaGVjazNfMQUIY2hlY2szXzEECGNoZWNrM18yCQEIX3Rocm93SWYCCQBmAgkAZAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAULd2F2ZXNBbW91bnQCFGFsbCBjbGFpbXMgZXhoYXVzdGVkAwkAAAIFCGNoZWNrM18yBQhjaGVjazNfMgQRY2xhaW1BbW91bnRUb1NlbmQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBRR0b3RhbEFtb3VudENsYWltYWJsZQURdG90YWxXYXZlc0NsYWltZWQEEm5ld1RvdGFsV2F2ZXNDbGFpbQUUdG90YWxBbW91bnRDbGFpbWFibGUEDm5ld1dhdmVzQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQt3YXZlc0Ftb3VudAUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBQt3YXZlc0Ftb3VudAkAZQIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAQPbmV3U3Rhd0xQQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQxzdGF3TFBBbW91bnQFFHRvdGFsQW1vdW50Q2xhaW1hYmxlCQBlAgUMc3Rhd0xQQW1vdW50CQBlAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBBBuZXdHbG9iYWxXYXZlUmVmCQBlAgUOZ2xvYmFsV2F2ZXNSZWYFDm5ld1dhdmVzQW1vdW50BA9uZXdHbG9iYWxTdGF3UEwJAGUCBQxnbG9iYWxTdGF3UEwFD25ld1N0YXdMUEFtb3VudAQXbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWQJAGUCBRR1c2VyVG90YWxXYXZlc0xvY2tlZAURY2xhaW1BbW91bnRUb1NlbmQEEHdhdmVzQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDm5ld1dhdmVzQW1vdW50BQNuaWwFA1NFUAQRc3Rhd0xQQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD25ld1N0YXdMUEFtb3VudAUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEm5ld1RvdGFsV2F2ZXNDbGFpbQUDbmlsBQNTRVAEHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFF25ld1VzZXJUb3RhbFdhdmVzTG9ja2VkBQNuaWwFA1NFUAkAzAgCCAULbGVhc2VBY3Rpb24CXzEJAMwIAggFC2xlYXNlQWN0aW9uAl8yCQDMCAIJAQlfd3JpdGVTdHICBQ53YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUPc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUUdG90YWxXYXZlc0NsYWltZWRLZXkFFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJAMwIAgkBCV93cml0ZVN0cgIFF3VzZXJUb3RhbFdhdmVzTG9ja2VkS2V5BRxuZXdVc2VyVG90YWxXYXZlc0xvY2tlZEVudHJ5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRBuZXdHbG9iYWxXYXZlUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUPbmV3R2xvYmFsU3Rhd1BMCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwURY2xhaW1BbW91bnRUb1NlbmQFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQtjbGFpbUFjdGlvbgULY2xhaW1BY3Rpb24FC2NsYWltQWN0aW9uCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCG1pbnRTdGF3AQpsb2NrUGVyaW9kBA1jYWxsZXJBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEBXRyeElECQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNoZWNrMQkBCF90aHJvd0lmAgkBAiE9AgABCQCQAwEIBQFpCHBheW1lbnRzAhRubyBwYXltZW50cyBhdHRhY2hlZAMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syAwkBCWlzRGVmaW5lZAEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkAAgECFG9ubHkgd2F2ZXMgc3VwcG9ydGVkBgMJAAACBQZjaGVjazIFBmNoZWNrMgQNYW1vdW50SW5XYXZlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBmNoZWNrMwMDCQBmAgUOX21pbkxvY2tBbW91bnQFDWFtb3VudEluV2F2ZXMGCQBmAgUNYW1vdW50SW5XYXZlcwUOX21heExvY2tBbW91bnQJAAIBAh5hbW91bnQgdG8gbG9jayBpcyBvdXQgb2YgcmFuZ2UGAwkAAAIFBmNoZWNrMwUGY2hlY2szBAZjaGVjazQDCQBmAgUOX21pbkxvY2twZXJpb2QFCmxvY2tQZXJpb2QJAAIBAh5taW5pbXVtIG9mIDE0IGRheXMgbG9jayBwZXJpb2QGAwkAAAIFBmNoZWNrNAUGY2hlY2s0BA10b3RhbFN0YXdNaW50CQEHX3N0YXdNRgIFCmxvY2tQZXJpb2QFDWFtb3VudEluV2F2ZXMEBnN0YXdQTAUNYW1vdW50SW5XYXZlcwQDZmVlCQBrAwUNdG90YWxTdGF3TWludAAKAGQEEXVzZXJHZXRTdGF3QW1vdW50CQBlAgUNdG90YWxTdGF3TWludAUDZmVlBBNsb2NrUGVyaW9kVG9NaWxpc2VjCQBkAgkBEF9nZXROZXdUaW1lU3RhbXABBQZoZWlnaHQJAQ5fZGF5c1RvTWlsaVNlYwEFCmxvY2tQZXJpb2QDCQAAAgUTbG9ja1BlcmlvZFRvTWlsaXNlYwUTbG9ja1BlcmlvZFRvTWlsaXNlYwQJbmV3X2luZGV4CQBkAgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFEV9nbG9iYWxJbmRleENvdW50AiNnbG9iYWwgaW5kZXggbm90IHByZXZpb3VzbHkgZGVmaW5lZAABAwkAAAIFCW5ld19pbmRleAUJbmV3X2luZGV4BAphZGRyZXNzRmVlCQEHQWRkcmVzcwEJANkEAQkBD190aHJvd09yUmV0dXJuUwIJAQVfZ2V0UwEFBF9EZngCGmRmeCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFCmFkZHJlc3NGZWUFCmFkZHJlc3NGZWUEC3N0YXdBc3NldElkCQDZBAEJAQ9fdGhyb3dPclJldHVyblMCCQEFX2dldFMBBQxfc3Rhd0Fzc2V0SWQCH2Fzc2V0IGlkIG5vdCBwcmV2aW91c2x5IGRlZmluZWQDCQAAAgULc3Rhd0Fzc2V0SWQFC3N0YXdBc3NldElkBAZsZXNzZWUJAQdBZGRyZXNzAQkA2QQBCQEPX3Rocm93T3JSZXR1cm5TAgkBBV9nZXRTAQUOX2xlc3NlZUFkZHJlc3MCIWxlYXNlIG5vZGUgbm90IHByZXZpb3VzbHkgZGVmaW5lZAMJAAACBQZsZXNzZWUFBmxlc3NlZQQQdXNlckxvY2tJbmRleEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUUX3VzZXJMb2NhbEluZGV4Q291bnQFA25pbAUDU0VQBBJ1c2VyVG90YWxMb2NrZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBA51c2VySW5kZXhDb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRB1c2VyTG9ja0luZGV4S2V5AwkAAQIFByRtYXRjaDACA0ludAQBeAUHJG1hdGNoMAkAZAIFAXgAAQAAAwkAAAIFDnVzZXJJbmRleENvdW50BQ51c2VySW5kZXhDb3VudAQPdXNlclRvdGFsTG9ja2VkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEnVzZXJUb3RhbExvY2tlZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAJAGQCBQF4BQ1hbW91bnRJbldhdmVzBQ1hbW91bnRJbldhdmVzAwkAAAIFD3VzZXJUb3RhbExvY2tlZAUPdXNlclRvdGFsTG9ja2VkBAhsZWFzZU91dAkAxAgCBQZsZXNzZWUFDWFtb3VudEluV2F2ZXMDCQAAAgUIbGVhc2VPdXQFCGxlYXNlT3V0BApsZWFzZUlkU3RyCQDYBAEJALkIAQUIbGVhc2VPdXQDCQAAAgUKbGVhc2VJZFN0cgUKbGVhc2VJZFN0cgkAzggCCQDOCAIJAMwIAgUIbGVhc2VPdXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUKYWRkcmVzc0ZlZQUDZmVlBQtzdGF3QXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFEXVzZXJHZXRTdGF3QW1vdW50BQtzdGF3QXNzZXRJZAUDbmlsCQESX3JlZ2lzdGVyVXNlckVudHJ5DQUFdHJ4SUQFDWNhbGxlckFkZHJlc3MFCmxvY2tQZXJpb2QFE2xvY2tQZXJpb2RUb01pbGlzZWMFCW5ld19pbmRleAUNYW1vdW50SW5XYXZlcwURdXNlckdldFN0YXdBbW91bnQFBnN0YXdQTAUGaGVpZ2h0BQpsZWFzZUlkU3RyBQ91c2VyVG90YWxMb2NrZWQFDnVzZXJJbmRleENvdW50AgZsZWFzZWQJARJfdXBkYXRlR2xvYmFsRW50cnkEBQ1hbW91bnRJbldhdmVzBQ10b3RhbFN0YXdNaW50BQZzdGF3UEwFCW5ld19pbmRleAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBuaj68", "height": 2490310, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5RigmQHJEPqUMKNpqDMHvHQ8pSA7ZSQJysAyEBxQRdTG Next: G7zQtraAbwTR3JVguAtZzw6DP9F8GAo3q3MmpU3PRMty Diff:
OldNewDifferences
340340
341341
342342 func aP (aQ,aR,aS,aT) = {
343- let aU = (Y(L(I), "global waves sum not previously defined") + aQ)
344- let aV = (Y(L(H), "gobal staw minted not previously defined") + aR)
345- let aW = (Y(L(J), "global stawPL not previously defined") + aS)
346- let aX = (Y(L(K), "global index count not previously defined") + aT)
347-[aa(I, aU), aa(H, aV), aa(J, aW), aa(K, aX)]
343+ let aU = {
344+ let U = ai(I)
345+ if ($isInstanceOf(U, "Int"))
346+ then {
347+ let aV = U
348+ (aV + aQ)
349+ }
350+ else throw("failed to get global total waves")
351+ }
352+ if ((aU == aU))
353+ then {
354+ let aW = {
355+ let U = ai(H)
356+ if ($isInstanceOf(U, "Int"))
357+ then {
358+ let aV = U
359+ (aV + aR)
360+ }
361+ else throw("failed to get global total staw minted")
362+ }
363+ if ((aW == aW))
364+ then {
365+ let aX = {
366+ let U = ai(J)
367+ if ($isInstanceOf(U, "Int"))
368+ then {
369+ let aV = U
370+ (aV + aS)
371+ }
372+ else throw("failed to get global total stawpl")
373+ }
374+ if ((aX == aX))
375+ then {
376+ let aY = {
377+ let U = ai(K)
378+ if ($isInstanceOf(U, "Int"))
379+ then {
380+ let aV = U
381+ (aV + aT)
382+ }
383+ else throw("failed to get global index count")
384+ }
385+ if ((aY == aY))
386+ then [af(I, aU), af(H, aW), af(J, aX), af(K, aY)]
387+ else throw("Strict value is not equal to itself.")
388+ }
389+ else throw("Strict value is not equal to itself.")
390+ }
391+ else throw("Strict value is not equal to itself.")
392+ }
393+ else throw("Strict value is not equal to itself.")
348394 }
349395
350396
351-func aY (aZ,ba,bb,bc,bd,aQ,aR,be,bf,bg,bh,bi,bj) = {
352- let bk = makeString([ba, aZ, C], a)
353- let bl = makeString([ba, aZ, w], a)
354- let bm = makeString([ba, aZ, x], a)
355- let bn = makeString([ba, aZ, z], a)
356- let bo = makeString([ba, aZ, A], a)
357- let bp = makeString([ba, aZ, B], a)
358- let bq = makeString([ba, aZ, D], a)
359- let br = makeString([ba, aZ, y], a)
360- let bs = makeString([ba, v], a)
361- let bt = makeString([ba, u], a)
362- let bu = makeString([ba, aZ, E], a)
363- let bv = makeString([ba, aZ, F], a)
364- let bw = makeString([ba, aZ, G], a)
365- let bx = makeString(["%s", aZ], a)
366- let by = makeString(["%d", toString(bb)], a)
367- let bz = makeString(["%d", toString(bd)], a)
368- let bA = makeString(["%d", toString(aQ)], a)
369- let bB = makeString(["%d", toString(aR)], a)
370- let bC = makeString(["%d", toString(be)], a)
397+func aZ (ba,bb,bc,bd,be,aQ,aR,bf,bg,bh,bi,bj,bk) = {
398+ let bl = makeString([bb, ba, C], a)
399+ let bm = makeString([bb, ba, w], a)
400+ let bn = makeString([bb, ba, x], a)
401+ let bo = makeString([bb, ba, z], a)
402+ let bp = makeString([bb, ba, A], a)
403+ let bq = makeString([bb, ba, B], a)
404+ let br = makeString([bb, ba, D], a)
405+ let bs = makeString([bb, ba, y], a)
406+ let bt = makeString([bb, v], a)
407+ let bu = makeString([bb, u], a)
408+ let bv = makeString([bb, ba, E], a)
409+ let bw = makeString([bb, ba, F], a)
410+ let bx = makeString([bb, ba, G], a)
411+ let by = makeString(["%s", ba], a)
412+ let bz = makeString(["%d", toString(bc)], a)
413+ let bA = makeString(["%d", toString(be)], a)
414+ let bB = makeString(["%d", toString(aQ)], a)
415+ let bC = makeString(["%d", toString(aR)], a)
371416 let bD = makeString(["%d", toString(bf)], a)
372- let bE = makeString(["%b", bg], a)
373- let bF = makeString(["%d", toString(bh)], a)
417+ let bE = makeString(["%d", toString(bg)], a)
418+ let bF = makeString(["%b", bh], a)
374419 let bG = makeString(["%d", toString(bi)], a)
375- let bH = makeString(["%d", toString(bc)], a)
376- let bI = makeString(["%d", toString(0)], a)
377- let bJ = makeString(["%s", bj], a)
378-[aq(bk, bx), aq(bm, bz), ac(bt, bG), ac(bs, bF), aq(bl, by), aq(bu, bH), aq(bn, bA), aq(bo, bB), ac(bp, bC), ac(bv, bI), aq(bq, bD), aq(br, bE), ac(bw, bJ)]
420+ let bH = makeString(["%d", toString(bj)], a)
421+ let bI = makeString(["%d", toString(bd)], a)
422+ let bJ = makeString(["%d", toString(0)], a)
423+ let bK = makeString(["%s", bk], a)
424+[aq(bl, by), aq(bn, bA), ac(bu, bH), ac(bt, bG), aq(bm, bz), aq(bv, bI), aq(bo, bB), aq(bp, bC), ac(bq, bD), ac(bw, bJ), aq(br, bE), aq(bs, bF), ac(bx, bK)]
379425 }
380426
381427
382-func bK (h,bL) = {
383- let bM = aD()
384- (fraction(c, (f * bM), g(h)) * bL)
428+func bL (h,bM) = {
429+ let bN = aD()
430+ (fraction(c, (f * bN), g(h)) * bM)
385431 }
386432
387433
388-func bN (h,bO) = {
389- let bP = fraction(h, 15, 10)
390- ((bO / ((h * bP) - h)) * f)
434+func bO (h,bP) = {
435+ let bQ = fraction(h, 15, 10)
436+ ((bP / ((h * bQ) - h)) * f)
391437 }
392438
393439
394-func bQ (bR) = {
395- let bS = Y(L(J), "could not get the running StawLP")
396-[aa(J, (bS + bR))]
440+func bR (bS) = {
441+ let bT = Y(L(J), "could not get the running StawLP")
442+[aa(J, (bT + bS))]
397443 }
398444
399445
400-func bT (bR) = {
401- let bS = Y(L(J), "could not get the running StawLP")
402-[aa(J, (bS - bR))]
446+func bU (bS) = {
447+ let bT = Y(L(J), "could not get the running StawLP")
448+[aa(J, (bT - bS))]
403449 }
404450
405451
406-func bU (bR) = {
407- let bV = Y(L(I), "could not get total locked waves")
408-[aa(I, (bV + bR))]
452+func bV (bS) = {
453+ let bW = Y(L(I), "could not get total locked waves")
454+[aa(I, (bW + bS))]
409455 }
410456
411457
412-func bW (bR) = {
413- let bV = Y(L(I), "could not get total locked waves")
414-[aa(I, (bV - bR))]
458+func bX (bS) = {
459+ let bW = Y(L(I), "could not get total locked waves")
460+[aa(I, (bW - bS))]
415461 }
416462
417463
418-func bX (bY) = {
419- let bZ = {
420- let U = blockInfoByHeight(bY)
464+func bY (bZ) = {
465+ let ca = {
466+ let U = blockInfoByHeight(bZ)
421467 if ($isInstanceOf(U, "BlockInfo"))
422468 then {
423- let ca = U
424- ca.timestamp
469+ let cb = U
470+ cb.timestamp
425471 }
426472 else throw("counld get timestamp")
427473 }
428- bZ
474+ ca
429475 }
430476
431477
432478 @Callable(at)
433-func getEmission (h,bO) = {
434- let cb = as(at)
435- if ((cb == cb))
436- then $Tuple2(nil, bN(h, bO))
479+func getEmission (h,bP) = {
480+ let cc = as(at)
481+ if ((cc == cc))
482+ then $Tuple2(nil, bO(h, bP))
437483 else throw("Strict value is not equal to itself.")
438484 }
439485
440486
441487
442488 @Callable(at)
443-func init (au,cc,aB,cd) = {
444- let ce = if (isDefined(N(n)))
489+func init (au,cd,aB,ce) = {
490+ let cf = if (isDefined(N(n)))
445491 then as(at)
446492 else true
447- if ((ce == ce))
493+ if ((cf == cf))
448494 then {
449- let cb = aw(au)
450- if ((cb == cb))
495+ let cc = aw(au)
496+ if ((cc == cc))
451497 then {
452- let cf = aw(cc)
453- if ((cf == cf))
498+ let cg = aw(cd)
499+ if ((cg == cg))
454500 then {
455- let cg = aw(cd)
456- if ((cg == cg))
501+ let ch = aw(ce)
502+ if ((ch == ch))
457503 then {
458- let ch = aA(aB)
459- if ((ch == ch))
504+ let ci = aA(aB)
505+ if ((ci == ci))
460506 then {
461- let ci = S(p, 0)
462- let cj = S(k, 0)
463- let ck = S(l, c)
464- let cl = S(H, 0)
465- let cm = S(J, 0)
466- let cn = S(K, 0)
467- let co = S(I, 0)
468-[af(n, au), af(o, cc), af(m, aB), af(q, cd), af(p, ci), af(l, ck), af(k, cj), af(I, co), af(J, cm), af(H, cl)]
507+ let cj = S(p, 0)
508+ let ck = S(k, 0)
509+ let cl = S(l, c)
510+ let cm = S(H, 0)
511+ let cn = S(J, 0)
512+ let co = S(K, 0)
513+ let cp = S(I, 0)
514+[af(n, au), af(o, cd), af(m, aB), af(q, ce), af(p, cj), af(l, cl), af(k, ck), af(I, cp), af(J, cn), af(H, cm)]
469515 }
470516 else throw("Strict value is not equal to itself.")
471517 }
482528
483529 @Callable(at)
484530 func modifyGlobalParams (W) = {
485- let cb = as(at)
486- if ((cb == cb))
531+ let cc = as(at)
532+ if ((cc == cc))
487533 then {
488- let cf = ad((size(W) == 2), "[global_key, value] pairs expected")
489- if ((cf == cf))
534+ let cg = ad((size(W) == 2), "[global_key, value] pairs expected")
535+ if ((cg == cg))
490536 then {
491537 let M = W[0]
492- let cp = parseInt(W[1])
493- let U = cp
538+ let cq = parseInt(W[1])
539+ let U = cq
494540 if ($isInstanceOf(U, "Int"))
495541 then {
496542 let ak = U
497- let cq = ad((N(M) == unit), (("key " + M) + " not recognized"))
498- if ((cq == cq))
543+ let cr = ad((N(M) == unit), (("key " + M) + " not recognized"))
544+ if ((cr == cr))
499545 then [af(M, ak)]
500546 else throw("Strict value is not equal to itself.")
501547 }
502548 else if ($isInstanceOf(U, "Unit"))
503549 then {
504550 let ak = U
505- let cq = ad((N(M) == unit), (("key " + M) + " not recognized"))
506- if ((cq == cq))
551+ let cr = ad((N(M) == unit), (("key " + M) + " not recognized"))
552+ if ((cr == cr))
507553 then {
508- let cr = W[1]
509- let cs = ai(n)
510- let ch = {
511- let az = cs
554+ let cs = W[1]
555+ let ct = ai(n)
556+ let ci = {
557+ let az = ct
512558 if ($isInstanceOf(az, "String"))
513559 then {
514- let ct = az
515- if ((size(ct) == size(cr)))
516- then aw(cr)
517- else aA(cr)
560+ let cu = az
561+ if ((size(cu) == size(cs)))
562+ then aw(cs)
563+ else aA(cs)
518564 }
519565 else throw("value type not supported")
520566 }
521- if ((ch == ch))
522- then [af(M, cr)]
567+ if ((ci == ci))
568+ then [af(M, cs)]
523569 else throw("Strict value is not equal to itself.")
524570 }
525571 else throw("Strict value is not equal to itself.")
535581
536582 @Callable(at)
537583 func revokeLock () = {
538- let cb = as(at)
539- if ((cb == cb))
584+ let cc = as(at)
585+ if ((cc == cc))
540586 then nil
541587 else throw("Strict value is not equal to itself.")
542588 }
544590
545591
546592 @Callable(at)
547-func claim (aZ) = {
548- let cu = toBase58String(at.caller.bytes)
549- let cv = makeString([cu, aZ, z], a)
550- let cw = makeString([cu, aZ, w], a)
551- let cx = makeString([cu, aZ, y], a)
552- let cy = makeString([cu, aZ, E], a)
553- let cz = makeString([cu, aZ, F], a)
554- let cA = makeString([cu, aZ, B], a)
555- let cB = makeString([cu, aZ, z], a)
556- let cC = makeString([cu, v], a)
557- let cD = makeString([cu, aZ, G], a)
558- let cE = makeString([cu, aZ, G], a)
559- let cF = Q(I)
560- if ((cF == cF))
593+func claim (ba) = {
594+ let cv = toBase58String(at.caller.bytes)
595+ let cw = makeString([cv, ba, z], a)
596+ let cx = makeString([cv, ba, w], a)
597+ let cy = makeString([cv, ba, y], a)
598+ let cz = makeString([cv, ba, E], a)
599+ let cA = makeString([cv, ba, F], a)
600+ let cB = makeString([cv, ba, B], a)
601+ let cC = makeString([cv, ba, z], a)
602+ let cD = makeString([cv, v], a)
603+ let cE = makeString([cv, ba, G], a)
604+ let cF = makeString([cv, ba, G], a)
605+ let cG = {
606+ let U = ai(I)
607+ if ($isInstanceOf(U, "Int"))
608+ then {
609+ let aV = U
610+ aV
611+ }
612+ else throw("failed to get global total waves")
613+ }
614+ if ((cG == cG))
561615 then {
562- let cG = Q(J)
563- if ((cG == cG))
616+ let cH = {
617+ let U = ai(J)
618+ if ($isInstanceOf(U, "Int"))
619+ then {
620+ let aV = U
621+ aV
622+ }
623+ else throw("failed to get global total waves")
624+ }
625+ if ((cH == cH))
564626 then {
565- let bg = {
566- let U = ai(cx)
627+ let bh = {
628+ let U = ai(cy)
567629 if ($isInstanceOf(U, "ByteVector"))
568630 then {
569- let cH = U
570- cH
631+ let aV = U
632+ aV
571633 }
572634 else throw("failed to get lease id")
573635 }
574- if ((bg == bg))
636+ if ((bh == bh))
575637 then {
576638 let cI = {
577- let U = ai(cC)
639+ let U = ai(cD)
578640 if ($isInstanceOf(U, "Int"))
579641 then {
580- let cH = U
581- cH
642+ let aV = U
643+ aV
582644 }
583645 else throw("failed to get total waves locked by this address")
584646 }
585647 if ((cI == cI))
586648 then {
587649 let aQ = {
588- let U = ai(cB)
650+ let U = ai(cC)
589651 if ($isInstanceOf(U, "Int"))
590652 then {
591- let cH = U
592- cH
653+ let aV = U
654+ aV
593655 }
594656 else throw("failed to get total waves locked")
595657 }
596658 if ((aQ == aQ))
597659 then {
598660 let cJ = {
599- let U = ai(cz)
661+ let U = ai(cA)
600662 if ($isInstanceOf(U, "Int"))
601663 then {
602- let cH = U
603- cH
664+ let aV = U
665+ aV
604666 }
605667 else throw("failed to get total waves claimed")
606668 }
607669 if ((cJ == cJ))
608670 then {
609- let be = {
610- let U = ai(cA)
671+ let bf = {
672+ let U = ai(cB)
611673 if ($isInstanceOf(U, "Int"))
612674 then {
613- let cH = U
614- cH
675+ let aV = U
676+ aV
615677 }
616678 else throw("failed to get stawPL")
617679 }
618- if ((be == be))
680+ if ((bf == bf))
619681 then {
620682 let cK = {
621- let U = ai(cy)
683+ let U = ai(cz)
622684 if ($isInstanceOf(U, "Int"))
623685 then {
624- let cH = U
625- cH
686+ let aV = U
687+ aV
626688 }
627689 else throw("failed to get lock period timespam")
628690 }
629691 if ((cK == cK))
630692 then {
631693 let cL = {
632- let U = bX(height)
694+ let U = bY(height)
633695 if ($isInstanceOf(U, "Int"))
634696 then {
635- let cH = U
636- cH
697+ let aV = U
698+ aV
637699 }
638700 else throw("failed to get current timestamp")
639701 }
640702 if ((cL == cL))
641703 then {
642- let bO = {
643- let U = ai(cv)
704+ let bP = {
705+ let U = ai(cw)
644706 if ($isInstanceOf(U, "Int"))
645707 then {
646- let cH = U
647- cH
708+ let aV = U
709+ aV
648710 }
649711 else throw("failed to get collateral")
650712 }
651- if ((bO == bO))
713+ if ((bP == bP))
652714 then {
653715 let h = {
654- let U = ai(cw)
716+ let U = ai(cx)
655717 if ($isInstanceOf(U, "Int"))
656718 then {
657- let cH = U
658- cH
719+ let aV = U
720+ aV
659721 }
660722 else throw("failed to get lockPeriod")
661723 }
662724 if ((h == h))
663725 then {
664726 let cM = {
665- let U = ai(cD)
727+ let U = ai(cE)
666728 if ($isInstanceOf(U, "String"))
667729 then {
668- let cH = U
669- cH
730+ let aV = U
731+ aV
670732 }
671733 else throw("failed to get lease state")
672734 }
673735 if ((cM == cM))
674736 then {
675- let bj = {
676- let U = ai(cE)
737+ let bk = {
738+ let U = ai(cF)
677739 if ($isInstanceOf(U, "String"))
678740 then {
679- let cH = U
680- cH
741+ let aV = U
742+ aV
681743 }
682744 else throw("failed to get lease state for user")
683745 }
684- if ((bj == bj))
746+ if ((bk == bk))
685747 then {
686- let cb = ad((cK > cL), "lock period for this entry has not elapsed")
687- if ((cb == cb))
748+ let cc = ad((cK > cL), "lock period for this entry has not elapsed")
749+ if ((cc == cc))
688750 then {
689751 let cN = if ((cM == "leased"))
690- then $Tuple2(LeaseCancel(bg), ac(cD, "cancelled"))
691- else $Tuple2(ac(cD, "cancelled"), ac(cD, "cancelled"))
752+ then $Tuple2(LeaseCancel(bh), ac(cE, "cancelled"))
753+ else $Tuple2(ac(cE, "cancelled"), ac(cE, "cancelled"))
692754 if ((cN == cN))
693755 then {
694- let cf = ad(if ((0 == aQ))
756+ let cg = ad(if ((0 == aQ))
695757 then true
696- else (0 == be), "all claims exhausted for this trx")
697- if ((cf == cf))
758+ else (0 == bf), "all claims exhausted for this trx")
759+ if ((cg == cg))
698760 then {
699- let cO = (bN(h, bO) * f)
761+ let cO = (bO(h, bP) * f)
700762 let cP = {
701763 let cQ = (cL - cK)
702764 let cR = (cQ / f)
722784 then (aQ - cS)
723785 else (aQ - (cS - cJ))
724786 let cY = if ((cR == 1))
725- then (be - cS)
726- else (be - (cS - cJ))
727- let cZ = (cF - cX)
728- let da = (cG - cY)
787+ then (bf - cS)
788+ else (bf - (cS - cJ))
789+ let cZ = (cG - cX)
790+ let da = (cH - cY)
729791 let db = (cI - cV)
730- let bA = makeString(["%d", toString(cX)], a)
731- let bC = makeString(["%d", toString(cY)], a)
732- let bI = makeString(["%d", toString(cW)], a)
792+ let bB = makeString(["%d", toString(cX)], a)
793+ let bD = makeString(["%d", toString(cY)], a)
794+ let bJ = makeString(["%d", toString(cW)], a)
733795 let dc = makeString(["%d", toString(db)], a)
734-[cN._1, cN._2, ac(cB, bA), ac(cA, bC), ac(cz, bI), ac(cC, dc), aa(I, cZ), aa(J, da), ScriptTransfer(Address(at.caller.bytes), cV, unit)]
796+[cN._1, cN._2, ac(cC, bB), ac(cB, bD), ac(cA, bJ), ac(cD, dc), af(I, cZ), af(J, da), ScriptTransfer(Address(at.caller.bytes), cV, unit)]
735797 }
736798 else throw("Strict value is not equal to itself.")
737799 }
779841
780842 @Callable(at)
781843 func mintStaw (h) = {
782- let cu = toBase58String(at.caller.bytes)
844+ let cv = toBase58String(at.caller.bytes)
783845 let dd = toBase58String(at.transactionId)
784- let cb = ad((1 != size(at.payments)), "no payments attached")
785- if ((cb == cb))
846+ let cc = ad((1 != size(at.payments)), "no payments attached")
847+ if ((cc == cc))
786848 then {
787- let cf = if (isDefined(at.payments[0].assetId))
849+ let cg = if (isDefined(at.payments[0].assetId))
788850 then throw("only waves supported")
789851 else true
790- if ((cf == cf))
852+ if ((cg == cg))
791853 then {
792854 let de = at.payments[0].amount
793- let cg = if (if ((d > de))
855+ let ch = if (if ((d > de))
794856 then true
795857 else (de > e))
796858 then throw("amount to lock is out of range")
797859 else true
798- if ((cg == cg))
860+ if ((ch == ch))
799861 then {
800- let ch = if ((b > h))
862+ let ci = if ((b > h))
801863 then throw("minimum of 14 days lock period")
802864 else true
803- if ((ch == ch))
865+ if ((ci == ci))
804866 then {
805- let df = bK(h, de)
867+ let df = bL(h, de)
806868 let aS = de
807869 let dg = fraction(df, 10, 100)
808870 let dh = (df - dg)
809- let di = (bX(height) + an(h))
871+ let di = (bY(height) + an(h))
810872 if ((di == di))
811873 then {
812874 let dj = (Y(L(K), "global index not previously defined") + 1)
821883 let dl = Address(fromBase58String(V(N(q), "lease node not previously defined")))
822884 if ((dl == dl))
823885 then {
824- let dm = makeString([cu, u], a)
825- let dn = makeString([cu, v], a)
886+ let dm = makeString([cv, u], a)
887+ let dn = makeString([cv, v], a)
826888 let do = {
827889 let U = ai(dm)
828890 if ($isInstanceOf(U, "Int"))
850912 then {
851913 let dr = toBase58String(calculateLeaseId(dq))
852914 if ((dr == dr))
853- then (([dq, ScriptTransfer(dk, dg, aF), ScriptTransfer(Address(at.caller.bytes), dh, aF)] ++ aY(dd, cu, h, di, dj, de, dh, aS, height, dr, dp, do, "leased")) ++ aP(de, df, aS, dj))
915+ then (([dq, ScriptTransfer(dk, dg, aF), ScriptTransfer(Address(at.caller.bytes), dh, aF)] ++ aZ(dd, cv, h, di, dj, de, dh, aS, height, dr, dp, do, "leased")) ++ aP(de, df, aS, dj))
854916 else throw("Strict value is not equal to itself.")
855917 }
856918 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = 1
77
88 let c = 100000000
99
1010 let d = (1 * c)
1111
1212 let e = (1000 * c)
1313
1414 let f = 86400000
1515
1616 func g (h) = fraction(c, 365, h)
1717
1818
1919 let i = (1000000 * c)
2020
2121 let j = fraction(c, 10, 100)
2222
2323 let k = "Current_PercentageReduction_Factor_For_Mr"
2424
2525 let l = "Minting_Rate"
2626
2727 let m = "Staw_AssetId"
2828
2929 let n = "manager"
3030
3131 let o = "Dfx"
3232
3333 let p = "CirculationIncrementIndex"
3434
3535 let q = "LeaseNode"
3636
3737 let r = "EmissionAmountClaimed"
3838
3939 let s = "CanClaimEmissionAmount"
4040
4141 let t = "WalletAddress"
4242
4343 let u = "TotalEntryIndexCount"
4444
4545 let v = "TotalLocked"
4646
4747 let w = "LockDuration"
4848
4949 let x = "GlobalLockIndex"
5050
5151 let y = "LockIdentifier"
5252
5353 let z = "AmountInWaves"
5454
5555 let A = "AmountInStaw"
5656
5757 let B = "AmountInStawLP"
5858
5959 let C = "TXID"
6060
6161 let D = "LockAtHeight"
6262
6363 let E = "LocKPeriodInMilliSec"
6464
6565 let F = "TotalWavesClaimed"
6666
6767 let G = "LeaseState"
6868
6969 let H = "TotalStawMinted"
7070
7171 let I = "TotalWavesLocked"
7272
7373 let J = "TotalStawLP"
7474
7575 let K = "IndexCount"
7676
7777 func L (M) = getInteger(this, M)
7878
7979
8080 func N (M) = getString(this, M)
8181
8282
8383 func O (M) = getBoolean(this, M)
8484
8585
8686 func P (M) = value(getBoolean(this, M))
8787
8888
8989 func Q (M) = value(getInteger(this, M))
9090
9191
9292 func R (M) = value(getString(this, M))
9393
9494
9595 func S (M,T) = {
9696 let U = T
9797 if ($isInstanceOf(U, "String"))
9898 then {
9999 let T = U
100100 if (isDefined(N(M)))
101101 then R(M)
102102 else T
103103 }
104104 else if ($isInstanceOf(U, "Int"))
105105 then {
106106 let T = U
107107 if (isDefined(L(M)))
108108 then Q(M)
109109 else T
110110 }
111111 else if ($isInstanceOf(U, "Boolean"))
112112 then {
113113 let T = U
114114 if (isDefined(O(M)))
115115 then P(M)
116116 else T
117117 }
118118 else throw(("value type not supported for " + M))
119119 }
120120
121121
122122 func V (W,X) = {
123123 let U = W
124124 if ($isInstanceOf(U, "String"))
125125 then {
126126 let W = U
127127 W
128128 }
129129 else throw(X)
130130 }
131131
132132
133133 func Y (W,X) = {
134134 let U = W
135135 if ($isInstanceOf(U, "Int"))
136136 then {
137137 let W = U
138138 W
139139 }
140140 else throw(X)
141141 }
142142
143143
144144 func Z (W,X) = {
145145 let U = W
146146 if ($isInstanceOf(U, "Boolean"))
147147 then {
148148 let W = U
149149 W
150150 }
151151 else throw(X)
152152 }
153153
154154
155155 func aa (M,ab) = if ((0 > ab))
156156 then throw(((("writing negative value " + toString(ab)) + " for key ") + M))
157157 else IntegerEntry(M, ab)
158158
159159
160160 func ac (M,ab) = if ((" " == ab))
161161 then throw(("writing an empty string " + ab))
162162 else StringEntry(M, ab)
163163
164164
165165 func ad (ae,X) = if (ae)
166166 then throw(X)
167167 else true
168168
169169
170170 func af (M,ag) = {
171171 let U = ag
172172 if ($isInstanceOf(U, "Int"))
173173 then {
174174 let ag = U
175175 let ah = makeString(["%d", toString(ag)], a)
176176 ac(M, ah)
177177 }
178178 else if ($isInstanceOf(U, "String"))
179179 then {
180180 let ag = U
181181 let ah = makeString(["%s", ag], a)
182182 ac(M, ah)
183183 }
184184 else if ($isInstanceOf(U, "Boolean"))
185185 then {
186186 let ag = U
187187 let ah = makeString(["%b", toString(ag)], a)
188188 ac(M, ah)
189189 }
190190 else throw("type not supported")
191191 }
192192
193193
194194 func ai (M) = {
195195 let aj = V(N(M), "entry not found")
196196 if ((aj == aj))
197197 then {
198198 let ak = split(aj, a)
199199 let al = takeRight(ak[0], 1)
200200 let am = ak[(size(ak) - 1)]
201201 let ag = if ((al == "s"))
202202 then am
203203 else if ((al == "d"))
204204 then parseIntValue(am)
205205 else if ((al == "b"))
206206 then fromBase58String(am)
207207 else throw(("could not parse registry value for " + M))
208208 ag
209209 }
210210 else throw("Strict value is not equal to itself.")
211211 }
212212
213213
214214 func an (ao) = {
215215 let ap = ad((ao >= 0), "invalid locking days!")
216216 if ((ap == ap))
217217 then (ao * f)
218218 else throw("Strict value is not equal to itself.")
219219 }
220220
221221
222222 func aq (M,ab) = if (!(isDefined(N(M))))
223223 then ac(M, ab)
224224 else throw(("entry already initialized: " + M))
225225
226226
227227 func ar (M,ab) = if (!(isDefined(N(M))))
228228 then aa(M, ab)
229229 else throw((" entry already initialized: " + M))
230230
231231
232232 func as (at) = {
233233 let au = {
234234 let U = ai(n)
235235 if ($isInstanceOf(U, "String"))
236236 then {
237237 let W = U
238238 W
239239 }
240240 else "failed to get manager"
241241 }
242242 if ((au == au))
243243 then ad((toBase58String(at.caller.bytes) != au), "address not authorized")
244244 else throw("Strict value is not equal to itself.")
245245 }
246246
247247
248248 func av (W) = if ((0 > W))
249249 then -(W)
250250 else W
251251
252252
253253 func aw (ax) = {
254254 let U = ax
255255 if ($isInstanceOf(U, "String"))
256256 then {
257257 let ax = U
258258 let ay = addressFromString(ax)
259259 let az = ay
260260 if ($isInstanceOf(az, "Address"))
261261 then {
262262 let ay = az
263263 true
264264 }
265265 else throw("invalid address")
266266 }
267267 else if ($isInstanceOf(U, "ByteVector"))
268268 then {
269269 let ax = U
270270 let ay = addressFromPublicKey(ax)
271271 let az = ay
272272 if ($isInstanceOf(az, "Address"))
273273 then {
274274 let ay = az
275275 true
276276 }
277277 else throw("invalid public key")
278278 }
279279 else throw("invalid input type")
280280 }
281281
282282
283283 func aA (aB) = {
284284 let U = assetInfo(fromBase58String(aB))
285285 if ($isInstanceOf(U, "Asset"))
286286 then {
287287 let aC = U
288288 true
289289 }
290290 else throw(("invalid asset id: " + aB))
291291 }
292292
293293
294294 func aD () = {
295295 let aE = Y(L(p), "increment index not previously defined")
296296 if ((aE == aE))
297297 then {
298298 let aF = V(N(m), "asset id not previouly defined")
299299 if ((aF == aF))
300300 then {
301301 let aG = {
302302 let U = assetInfo(fromBase58String(aF))
303303 if ($isInstanceOf(U, "Asset"))
304304 then {
305305 let aC = U
306306 aC.quantity
307307 }
308308 else throw(("asset not found for " + aF))
309309 }
310310 let aH = (av((aG - i)) / i)
311311 let aI = if ((aH > aE))
312312 then (aH + aE)
313313 else aE
314314 let aJ = Y(l, "miniting rate not previously defined")
315315 if ((aI == aE))
316316 then aJ
317317 else {
318318 let aK = (Y(k, "reduction factor not previously defined") + 10)
319319 let aL = (aJ - fraction(aJ, aK, 100))
320320 let aM = aa(l, aL)
321321 if ((aM == aM))
322322 then {
323323 let aN = aa(k, aK)
324324 if ((aN == aN))
325325 then {
326326 let aO = aa(p, aI)
327327 if ((aO == aO))
328328 then aL
329329 else throw("Strict value is not equal to itself.")
330330 }
331331 else throw("Strict value is not equal to itself.")
332332 }
333333 else throw("Strict value is not equal to itself.")
334334 }
335335 }
336336 else throw("Strict value is not equal to itself.")
337337 }
338338 else throw("Strict value is not equal to itself.")
339339 }
340340
341341
342342 func aP (aQ,aR,aS,aT) = {
343- let aU = (Y(L(I), "global waves sum not previously defined") + aQ)
344- let aV = (Y(L(H), "gobal staw minted not previously defined") + aR)
345- let aW = (Y(L(J), "global stawPL not previously defined") + aS)
346- let aX = (Y(L(K), "global index count not previously defined") + aT)
347-[aa(I, aU), aa(H, aV), aa(J, aW), aa(K, aX)]
343+ let aU = {
344+ let U = ai(I)
345+ if ($isInstanceOf(U, "Int"))
346+ then {
347+ let aV = U
348+ (aV + aQ)
349+ }
350+ else throw("failed to get global total waves")
351+ }
352+ if ((aU == aU))
353+ then {
354+ let aW = {
355+ let U = ai(H)
356+ if ($isInstanceOf(U, "Int"))
357+ then {
358+ let aV = U
359+ (aV + aR)
360+ }
361+ else throw("failed to get global total staw minted")
362+ }
363+ if ((aW == aW))
364+ then {
365+ let aX = {
366+ let U = ai(J)
367+ if ($isInstanceOf(U, "Int"))
368+ then {
369+ let aV = U
370+ (aV + aS)
371+ }
372+ else throw("failed to get global total stawpl")
373+ }
374+ if ((aX == aX))
375+ then {
376+ let aY = {
377+ let U = ai(K)
378+ if ($isInstanceOf(U, "Int"))
379+ then {
380+ let aV = U
381+ (aV + aT)
382+ }
383+ else throw("failed to get global index count")
384+ }
385+ if ((aY == aY))
386+ then [af(I, aU), af(H, aW), af(J, aX), af(K, aY)]
387+ else throw("Strict value is not equal to itself.")
388+ }
389+ else throw("Strict value is not equal to itself.")
390+ }
391+ else throw("Strict value is not equal to itself.")
392+ }
393+ else throw("Strict value is not equal to itself.")
348394 }
349395
350396
351-func aY (aZ,ba,bb,bc,bd,aQ,aR,be,bf,bg,bh,bi,bj) = {
352- let bk = makeString([ba, aZ, C], a)
353- let bl = makeString([ba, aZ, w], a)
354- let bm = makeString([ba, aZ, x], a)
355- let bn = makeString([ba, aZ, z], a)
356- let bo = makeString([ba, aZ, A], a)
357- let bp = makeString([ba, aZ, B], a)
358- let bq = makeString([ba, aZ, D], a)
359- let br = makeString([ba, aZ, y], a)
360- let bs = makeString([ba, v], a)
361- let bt = makeString([ba, u], a)
362- let bu = makeString([ba, aZ, E], a)
363- let bv = makeString([ba, aZ, F], a)
364- let bw = makeString([ba, aZ, G], a)
365- let bx = makeString(["%s", aZ], a)
366- let by = makeString(["%d", toString(bb)], a)
367- let bz = makeString(["%d", toString(bd)], a)
368- let bA = makeString(["%d", toString(aQ)], a)
369- let bB = makeString(["%d", toString(aR)], a)
370- let bC = makeString(["%d", toString(be)], a)
397+func aZ (ba,bb,bc,bd,be,aQ,aR,bf,bg,bh,bi,bj,bk) = {
398+ let bl = makeString([bb, ba, C], a)
399+ let bm = makeString([bb, ba, w], a)
400+ let bn = makeString([bb, ba, x], a)
401+ let bo = makeString([bb, ba, z], a)
402+ let bp = makeString([bb, ba, A], a)
403+ let bq = makeString([bb, ba, B], a)
404+ let br = makeString([bb, ba, D], a)
405+ let bs = makeString([bb, ba, y], a)
406+ let bt = makeString([bb, v], a)
407+ let bu = makeString([bb, u], a)
408+ let bv = makeString([bb, ba, E], a)
409+ let bw = makeString([bb, ba, F], a)
410+ let bx = makeString([bb, ba, G], a)
411+ let by = makeString(["%s", ba], a)
412+ let bz = makeString(["%d", toString(bc)], a)
413+ let bA = makeString(["%d", toString(be)], a)
414+ let bB = makeString(["%d", toString(aQ)], a)
415+ let bC = makeString(["%d", toString(aR)], a)
371416 let bD = makeString(["%d", toString(bf)], a)
372- let bE = makeString(["%b", bg], a)
373- let bF = makeString(["%d", toString(bh)], a)
417+ let bE = makeString(["%d", toString(bg)], a)
418+ let bF = makeString(["%b", bh], a)
374419 let bG = makeString(["%d", toString(bi)], a)
375- let bH = makeString(["%d", toString(bc)], a)
376- let bI = makeString(["%d", toString(0)], a)
377- let bJ = makeString(["%s", bj], a)
378-[aq(bk, bx), aq(bm, bz), ac(bt, bG), ac(bs, bF), aq(bl, by), aq(bu, bH), aq(bn, bA), aq(bo, bB), ac(bp, bC), ac(bv, bI), aq(bq, bD), aq(br, bE), ac(bw, bJ)]
420+ let bH = makeString(["%d", toString(bj)], a)
421+ let bI = makeString(["%d", toString(bd)], a)
422+ let bJ = makeString(["%d", toString(0)], a)
423+ let bK = makeString(["%s", bk], a)
424+[aq(bl, by), aq(bn, bA), ac(bu, bH), ac(bt, bG), aq(bm, bz), aq(bv, bI), aq(bo, bB), aq(bp, bC), ac(bq, bD), ac(bw, bJ), aq(br, bE), aq(bs, bF), ac(bx, bK)]
379425 }
380426
381427
382-func bK (h,bL) = {
383- let bM = aD()
384- (fraction(c, (f * bM), g(h)) * bL)
428+func bL (h,bM) = {
429+ let bN = aD()
430+ (fraction(c, (f * bN), g(h)) * bM)
385431 }
386432
387433
388-func bN (h,bO) = {
389- let bP = fraction(h, 15, 10)
390- ((bO / ((h * bP) - h)) * f)
434+func bO (h,bP) = {
435+ let bQ = fraction(h, 15, 10)
436+ ((bP / ((h * bQ) - h)) * f)
391437 }
392438
393439
394-func bQ (bR) = {
395- let bS = Y(L(J), "could not get the running StawLP")
396-[aa(J, (bS + bR))]
440+func bR (bS) = {
441+ let bT = Y(L(J), "could not get the running StawLP")
442+[aa(J, (bT + bS))]
397443 }
398444
399445
400-func bT (bR) = {
401- let bS = Y(L(J), "could not get the running StawLP")
402-[aa(J, (bS - bR))]
446+func bU (bS) = {
447+ let bT = Y(L(J), "could not get the running StawLP")
448+[aa(J, (bT - bS))]
403449 }
404450
405451
406-func bU (bR) = {
407- let bV = Y(L(I), "could not get total locked waves")
408-[aa(I, (bV + bR))]
452+func bV (bS) = {
453+ let bW = Y(L(I), "could not get total locked waves")
454+[aa(I, (bW + bS))]
409455 }
410456
411457
412-func bW (bR) = {
413- let bV = Y(L(I), "could not get total locked waves")
414-[aa(I, (bV - bR))]
458+func bX (bS) = {
459+ let bW = Y(L(I), "could not get total locked waves")
460+[aa(I, (bW - bS))]
415461 }
416462
417463
418-func bX (bY) = {
419- let bZ = {
420- let U = blockInfoByHeight(bY)
464+func bY (bZ) = {
465+ let ca = {
466+ let U = blockInfoByHeight(bZ)
421467 if ($isInstanceOf(U, "BlockInfo"))
422468 then {
423- let ca = U
424- ca.timestamp
469+ let cb = U
470+ cb.timestamp
425471 }
426472 else throw("counld get timestamp")
427473 }
428- bZ
474+ ca
429475 }
430476
431477
432478 @Callable(at)
433-func getEmission (h,bO) = {
434- let cb = as(at)
435- if ((cb == cb))
436- then $Tuple2(nil, bN(h, bO))
479+func getEmission (h,bP) = {
480+ let cc = as(at)
481+ if ((cc == cc))
482+ then $Tuple2(nil, bO(h, bP))
437483 else throw("Strict value is not equal to itself.")
438484 }
439485
440486
441487
442488 @Callable(at)
443-func init (au,cc,aB,cd) = {
444- let ce = if (isDefined(N(n)))
489+func init (au,cd,aB,ce) = {
490+ let cf = if (isDefined(N(n)))
445491 then as(at)
446492 else true
447- if ((ce == ce))
493+ if ((cf == cf))
448494 then {
449- let cb = aw(au)
450- if ((cb == cb))
495+ let cc = aw(au)
496+ if ((cc == cc))
451497 then {
452- let cf = aw(cc)
453- if ((cf == cf))
498+ let cg = aw(cd)
499+ if ((cg == cg))
454500 then {
455- let cg = aw(cd)
456- if ((cg == cg))
501+ let ch = aw(ce)
502+ if ((ch == ch))
457503 then {
458- let ch = aA(aB)
459- if ((ch == ch))
504+ let ci = aA(aB)
505+ if ((ci == ci))
460506 then {
461- let ci = S(p, 0)
462- let cj = S(k, 0)
463- let ck = S(l, c)
464- let cl = S(H, 0)
465- let cm = S(J, 0)
466- let cn = S(K, 0)
467- let co = S(I, 0)
468-[af(n, au), af(o, cc), af(m, aB), af(q, cd), af(p, ci), af(l, ck), af(k, cj), af(I, co), af(J, cm), af(H, cl)]
507+ let cj = S(p, 0)
508+ let ck = S(k, 0)
509+ let cl = S(l, c)
510+ let cm = S(H, 0)
511+ let cn = S(J, 0)
512+ let co = S(K, 0)
513+ let cp = S(I, 0)
514+[af(n, au), af(o, cd), af(m, aB), af(q, ce), af(p, cj), af(l, cl), af(k, ck), af(I, cp), af(J, cn), af(H, cm)]
469515 }
470516 else throw("Strict value is not equal to itself.")
471517 }
472518 else throw("Strict value is not equal to itself.")
473519 }
474520 else throw("Strict value is not equal to itself.")
475521 }
476522 else throw("Strict value is not equal to itself.")
477523 }
478524 else throw("Strict value is not equal to itself.")
479525 }
480526
481527
482528
483529 @Callable(at)
484530 func modifyGlobalParams (W) = {
485- let cb = as(at)
486- if ((cb == cb))
531+ let cc = as(at)
532+ if ((cc == cc))
487533 then {
488- let cf = ad((size(W) == 2), "[global_key, value] pairs expected")
489- if ((cf == cf))
534+ let cg = ad((size(W) == 2), "[global_key, value] pairs expected")
535+ if ((cg == cg))
490536 then {
491537 let M = W[0]
492- let cp = parseInt(W[1])
493- let U = cp
538+ let cq = parseInt(W[1])
539+ let U = cq
494540 if ($isInstanceOf(U, "Int"))
495541 then {
496542 let ak = U
497- let cq = ad((N(M) == unit), (("key " + M) + " not recognized"))
498- if ((cq == cq))
543+ let cr = ad((N(M) == unit), (("key " + M) + " not recognized"))
544+ if ((cr == cr))
499545 then [af(M, ak)]
500546 else throw("Strict value is not equal to itself.")
501547 }
502548 else if ($isInstanceOf(U, "Unit"))
503549 then {
504550 let ak = U
505- let cq = ad((N(M) == unit), (("key " + M) + " not recognized"))
506- if ((cq == cq))
551+ let cr = ad((N(M) == unit), (("key " + M) + " not recognized"))
552+ if ((cr == cr))
507553 then {
508- let cr = W[1]
509- let cs = ai(n)
510- let ch = {
511- let az = cs
554+ let cs = W[1]
555+ let ct = ai(n)
556+ let ci = {
557+ let az = ct
512558 if ($isInstanceOf(az, "String"))
513559 then {
514- let ct = az
515- if ((size(ct) == size(cr)))
516- then aw(cr)
517- else aA(cr)
560+ let cu = az
561+ if ((size(cu) == size(cs)))
562+ then aw(cs)
563+ else aA(cs)
518564 }
519565 else throw("value type not supported")
520566 }
521- if ((ch == ch))
522- then [af(M, cr)]
567+ if ((ci == ci))
568+ then [af(M, cs)]
523569 else throw("Strict value is not equal to itself.")
524570 }
525571 else throw("Strict value is not equal to itself.")
526572 }
527573 else throw(("failed to modify " + W[0]))
528574 }
529575 else throw("Strict value is not equal to itself.")
530576 }
531577 else throw("Strict value is not equal to itself.")
532578 }
533579
534580
535581
536582 @Callable(at)
537583 func revokeLock () = {
538- let cb = as(at)
539- if ((cb == cb))
584+ let cc = as(at)
585+ if ((cc == cc))
540586 then nil
541587 else throw("Strict value is not equal to itself.")
542588 }
543589
544590
545591
546592 @Callable(at)
547-func claim (aZ) = {
548- let cu = toBase58String(at.caller.bytes)
549- let cv = makeString([cu, aZ, z], a)
550- let cw = makeString([cu, aZ, w], a)
551- let cx = makeString([cu, aZ, y], a)
552- let cy = makeString([cu, aZ, E], a)
553- let cz = makeString([cu, aZ, F], a)
554- let cA = makeString([cu, aZ, B], a)
555- let cB = makeString([cu, aZ, z], a)
556- let cC = makeString([cu, v], a)
557- let cD = makeString([cu, aZ, G], a)
558- let cE = makeString([cu, aZ, G], a)
559- let cF = Q(I)
560- if ((cF == cF))
593+func claim (ba) = {
594+ let cv = toBase58String(at.caller.bytes)
595+ let cw = makeString([cv, ba, z], a)
596+ let cx = makeString([cv, ba, w], a)
597+ let cy = makeString([cv, ba, y], a)
598+ let cz = makeString([cv, ba, E], a)
599+ let cA = makeString([cv, ba, F], a)
600+ let cB = makeString([cv, ba, B], a)
601+ let cC = makeString([cv, ba, z], a)
602+ let cD = makeString([cv, v], a)
603+ let cE = makeString([cv, ba, G], a)
604+ let cF = makeString([cv, ba, G], a)
605+ let cG = {
606+ let U = ai(I)
607+ if ($isInstanceOf(U, "Int"))
608+ then {
609+ let aV = U
610+ aV
611+ }
612+ else throw("failed to get global total waves")
613+ }
614+ if ((cG == cG))
561615 then {
562- let cG = Q(J)
563- if ((cG == cG))
616+ let cH = {
617+ let U = ai(J)
618+ if ($isInstanceOf(U, "Int"))
619+ then {
620+ let aV = U
621+ aV
622+ }
623+ else throw("failed to get global total waves")
624+ }
625+ if ((cH == cH))
564626 then {
565- let bg = {
566- let U = ai(cx)
627+ let bh = {
628+ let U = ai(cy)
567629 if ($isInstanceOf(U, "ByteVector"))
568630 then {
569- let cH = U
570- cH
631+ let aV = U
632+ aV
571633 }
572634 else throw("failed to get lease id")
573635 }
574- if ((bg == bg))
636+ if ((bh == bh))
575637 then {
576638 let cI = {
577- let U = ai(cC)
639+ let U = ai(cD)
578640 if ($isInstanceOf(U, "Int"))
579641 then {
580- let cH = U
581- cH
642+ let aV = U
643+ aV
582644 }
583645 else throw("failed to get total waves locked by this address")
584646 }
585647 if ((cI == cI))
586648 then {
587649 let aQ = {
588- let U = ai(cB)
650+ let U = ai(cC)
589651 if ($isInstanceOf(U, "Int"))
590652 then {
591- let cH = U
592- cH
653+ let aV = U
654+ aV
593655 }
594656 else throw("failed to get total waves locked")
595657 }
596658 if ((aQ == aQ))
597659 then {
598660 let cJ = {
599- let U = ai(cz)
661+ let U = ai(cA)
600662 if ($isInstanceOf(U, "Int"))
601663 then {
602- let cH = U
603- cH
664+ let aV = U
665+ aV
604666 }
605667 else throw("failed to get total waves claimed")
606668 }
607669 if ((cJ == cJ))
608670 then {
609- let be = {
610- let U = ai(cA)
671+ let bf = {
672+ let U = ai(cB)
611673 if ($isInstanceOf(U, "Int"))
612674 then {
613- let cH = U
614- cH
675+ let aV = U
676+ aV
615677 }
616678 else throw("failed to get stawPL")
617679 }
618- if ((be == be))
680+ if ((bf == bf))
619681 then {
620682 let cK = {
621- let U = ai(cy)
683+ let U = ai(cz)
622684 if ($isInstanceOf(U, "Int"))
623685 then {
624- let cH = U
625- cH
686+ let aV = U
687+ aV
626688 }
627689 else throw("failed to get lock period timespam")
628690 }
629691 if ((cK == cK))
630692 then {
631693 let cL = {
632- let U = bX(height)
694+ let U = bY(height)
633695 if ($isInstanceOf(U, "Int"))
634696 then {
635- let cH = U
636- cH
697+ let aV = U
698+ aV
637699 }
638700 else throw("failed to get current timestamp")
639701 }
640702 if ((cL == cL))
641703 then {
642- let bO = {
643- let U = ai(cv)
704+ let bP = {
705+ let U = ai(cw)
644706 if ($isInstanceOf(U, "Int"))
645707 then {
646- let cH = U
647- cH
708+ let aV = U
709+ aV
648710 }
649711 else throw("failed to get collateral")
650712 }
651- if ((bO == bO))
713+ if ((bP == bP))
652714 then {
653715 let h = {
654- let U = ai(cw)
716+ let U = ai(cx)
655717 if ($isInstanceOf(U, "Int"))
656718 then {
657- let cH = U
658- cH
719+ let aV = U
720+ aV
659721 }
660722 else throw("failed to get lockPeriod")
661723 }
662724 if ((h == h))
663725 then {
664726 let cM = {
665- let U = ai(cD)
727+ let U = ai(cE)
666728 if ($isInstanceOf(U, "String"))
667729 then {
668- let cH = U
669- cH
730+ let aV = U
731+ aV
670732 }
671733 else throw("failed to get lease state")
672734 }
673735 if ((cM == cM))
674736 then {
675- let bj = {
676- let U = ai(cE)
737+ let bk = {
738+ let U = ai(cF)
677739 if ($isInstanceOf(U, "String"))
678740 then {
679- let cH = U
680- cH
741+ let aV = U
742+ aV
681743 }
682744 else throw("failed to get lease state for user")
683745 }
684- if ((bj == bj))
746+ if ((bk == bk))
685747 then {
686- let cb = ad((cK > cL), "lock period for this entry has not elapsed")
687- if ((cb == cb))
748+ let cc = ad((cK > cL), "lock period for this entry has not elapsed")
749+ if ((cc == cc))
688750 then {
689751 let cN = if ((cM == "leased"))
690- then $Tuple2(LeaseCancel(bg), ac(cD, "cancelled"))
691- else $Tuple2(ac(cD, "cancelled"), ac(cD, "cancelled"))
752+ then $Tuple2(LeaseCancel(bh), ac(cE, "cancelled"))
753+ else $Tuple2(ac(cE, "cancelled"), ac(cE, "cancelled"))
692754 if ((cN == cN))
693755 then {
694- let cf = ad(if ((0 == aQ))
756+ let cg = ad(if ((0 == aQ))
695757 then true
696- else (0 == be), "all claims exhausted for this trx")
697- if ((cf == cf))
758+ else (0 == bf), "all claims exhausted for this trx")
759+ if ((cg == cg))
698760 then {
699- let cO = (bN(h, bO) * f)
761+ let cO = (bO(h, bP) * f)
700762 let cP = {
701763 let cQ = (cL - cK)
702764 let cR = (cQ / f)
703765 if ((cR == 0))
704766 then throw("less than 24hrs before first claim")
705767 else if (((cQ % f) != 0))
706768 then throw("already claimed or less than 24hrs before next claim")
707769 else if ((cR > h))
708770 then throw("all claims exhausted")
709771 else {
710772 let cS = (cR * cO)
711773 let cT = ad((cS == cJ), "can only claim once in 24hrs")
712774 if ((cT == cT))
713775 then {
714776 let cU = ad(((cS + cJ) > aQ), "all claims exhausted")
715777 if ((cU == cU))
716778 then {
717779 let cV = if ((cR == 1))
718780 then cS
719781 else (cS - cJ)
720782 let cW = cS
721783 let cX = if ((cR == 1))
722784 then (aQ - cS)
723785 else (aQ - (cS - cJ))
724786 let cY = if ((cR == 1))
725- then (be - cS)
726- else (be - (cS - cJ))
727- let cZ = (cF - cX)
728- let da = (cG - cY)
787+ then (bf - cS)
788+ else (bf - (cS - cJ))
789+ let cZ = (cG - cX)
790+ let da = (cH - cY)
729791 let db = (cI - cV)
730- let bA = makeString(["%d", toString(cX)], a)
731- let bC = makeString(["%d", toString(cY)], a)
732- let bI = makeString(["%d", toString(cW)], a)
792+ let bB = makeString(["%d", toString(cX)], a)
793+ let bD = makeString(["%d", toString(cY)], a)
794+ let bJ = makeString(["%d", toString(cW)], a)
733795 let dc = makeString(["%d", toString(db)], a)
734-[cN._1, cN._2, ac(cB, bA), ac(cA, bC), ac(cz, bI), ac(cC, dc), aa(I, cZ), aa(J, da), ScriptTransfer(Address(at.caller.bytes), cV, unit)]
796+[cN._1, cN._2, ac(cC, bB), ac(cB, bD), ac(cA, bJ), ac(cD, dc), af(I, cZ), af(J, da), ScriptTransfer(Address(at.caller.bytes), cV, unit)]
735797 }
736798 else throw("Strict value is not equal to itself.")
737799 }
738800 else throw("Strict value is not equal to itself.")
739801 }
740802 }
741803 if ((cP == cP))
742804 then cP
743805 else throw("Strict value is not equal to itself.")
744806 }
745807 else throw("Strict value is not equal to itself.")
746808 }
747809 else throw("Strict value is not equal to itself.")
748810 }
749811 else throw("Strict value is not equal to itself.")
750812 }
751813 else throw("Strict value is not equal to itself.")
752814 }
753815 else throw("Strict value is not equal to itself.")
754816 }
755817 else throw("Strict value is not equal to itself.")
756818 }
757819 else throw("Strict value is not equal to itself.")
758820 }
759821 else throw("Strict value is not equal to itself.")
760822 }
761823 else throw("Strict value is not equal to itself.")
762824 }
763825 else throw("Strict value is not equal to itself.")
764826 }
765827 else throw("Strict value is not equal to itself.")
766828 }
767829 else throw("Strict value is not equal to itself.")
768830 }
769831 else throw("Strict value is not equal to itself.")
770832 }
771833 else throw("Strict value is not equal to itself.")
772834 }
773835 else throw("Strict value is not equal to itself.")
774836 }
775837 else throw("Strict value is not equal to itself.")
776838 }
777839
778840
779841
780842 @Callable(at)
781843 func mintStaw (h) = {
782- let cu = toBase58String(at.caller.bytes)
844+ let cv = toBase58String(at.caller.bytes)
783845 let dd = toBase58String(at.transactionId)
784- let cb = ad((1 != size(at.payments)), "no payments attached")
785- if ((cb == cb))
846+ let cc = ad((1 != size(at.payments)), "no payments attached")
847+ if ((cc == cc))
786848 then {
787- let cf = if (isDefined(at.payments[0].assetId))
849+ let cg = if (isDefined(at.payments[0].assetId))
788850 then throw("only waves supported")
789851 else true
790- if ((cf == cf))
852+ if ((cg == cg))
791853 then {
792854 let de = at.payments[0].amount
793- let cg = if (if ((d > de))
855+ let ch = if (if ((d > de))
794856 then true
795857 else (de > e))
796858 then throw("amount to lock is out of range")
797859 else true
798- if ((cg == cg))
860+ if ((ch == ch))
799861 then {
800- let ch = if ((b > h))
862+ let ci = if ((b > h))
801863 then throw("minimum of 14 days lock period")
802864 else true
803- if ((ch == ch))
865+ if ((ci == ci))
804866 then {
805- let df = bK(h, de)
867+ let df = bL(h, de)
806868 let aS = de
807869 let dg = fraction(df, 10, 100)
808870 let dh = (df - dg)
809- let di = (bX(height) + an(h))
871+ let di = (bY(height) + an(h))
810872 if ((di == di))
811873 then {
812874 let dj = (Y(L(K), "global index not previously defined") + 1)
813875 if ((dj == dj))
814876 then {
815877 let dk = Address(fromBase58String(V(N(o), "dfx not previously defined")))
816878 if ((dk == dk))
817879 then {
818880 let aF = fromBase58String(V(N(m), "asset id not previously defined"))
819881 if ((aF == aF))
820882 then {
821883 let dl = Address(fromBase58String(V(N(q), "lease node not previously defined")))
822884 if ((dl == dl))
823885 then {
824- let dm = makeString([cu, u], a)
825- let dn = makeString([cu, v], a)
886+ let dm = makeString([cv, u], a)
887+ let dn = makeString([cv, v], a)
826888 let do = {
827889 let U = ai(dm)
828890 if ($isInstanceOf(U, "Int"))
829891 then {
830892 let ak = U
831893 (ak + 1)
832894 }
833895 else 0
834896 }
835897 if ((do == do))
836898 then {
837899 let dp = {
838900 let U = ai(dn)
839901 if ($isInstanceOf(U, "Int"))
840902 then {
841903 let ak = U
842904 (ak + de)
843905 }
844906 else de
845907 }
846908 if ((dp == dp))
847909 then {
848910 let dq = Lease(dl, de)
849911 if ((dq == dq))
850912 then {
851913 let dr = toBase58String(calculateLeaseId(dq))
852914 if ((dr == dr))
853- then (([dq, ScriptTransfer(dk, dg, aF), ScriptTransfer(Address(at.caller.bytes), dh, aF)] ++ aY(dd, cu, h, di, dj, de, dh, aS, height, dr, dp, do, "leased")) ++ aP(de, df, aS, dj))
915+ then (([dq, ScriptTransfer(dk, dg, aF), ScriptTransfer(Address(at.caller.bytes), dh, aF)] ++ aZ(dd, cv, h, di, dj, de, dh, aS, height, dr, dp, do, "leased")) ++ aP(de, df, aS, dj))
854916 else throw("Strict value is not equal to itself.")
855917 }
856918 else throw("Strict value is not equal to itself.")
857919 }
858920 else throw("Strict value is not equal to itself.")
859921 }
860922 else throw("Strict value is not equal to itself.")
861923 }
862924 else throw("Strict value is not equal to itself.")
863925 }
864926 else throw("Strict value is not equal to itself.")
865927 }
866928 else throw("Strict value is not equal to itself.")
867929 }
868930 else throw("Strict value is not equal to itself.")
869931 }
870932 else throw("Strict value is not equal to itself.")
871933 }
872934 else throw("Strict value is not equal to itself.")
873935 }
874936 else throw("Strict value is not equal to itself.")
875937 }
876938 else throw("Strict value is not equal to itself.")
877939 }
878940 else throw("Strict value is not equal to itself.")
879941 }
880942
881943

github/deemru/w8io/169f3d6 
335.25 ms