tx · FVXRvsAJjA4HdbRDCngJKawU5UMqKpkf5ATRYw5nxtSC

3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH:  -0.02500000 Waves

2023.03.18 11:01 [2495180] smart account 3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH > SELF 0.00000000 Waves

{ "type": 13, "id": "FVXRvsAJjA4HdbRDCngJKawU5UMqKpkf5ATRYw5nxtSC", "fee": 2500000, "feeAssetId": null, "timestamp": 1679126543563, "version": 2, "chainId": 84, "sender": "3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH", "senderPublicKey": "5JqBVJpMCyD7dJLJttqYjL6CmJc4zahBHSFjFb7qQTga", "proofs": [ "5mZZNbkf6wB6ZoWyjZGxsM2GuGDU3mwFio3GMxenYHvHJonkhM4eiqjxJ9fVVe1hrg38KHZZnnZ1YFo7pQ3qT763" ], "script": "base64:BgIhCAISBAoCAQESBgoECAgICBIDCgEYEgASAwoBCBIDCgEBRAADU0VQAgFfAA5fbWluTG9ja3BlcmlvZAABAA1fdW5pdERlY2ltYWxzAIDC1y8ADl9taW5Mb2NrQW1vdW50CQBoAgABBQ1fdW5pdERlY2ltYWxzAA5fbWF4TG9ja0Ftb3VudAkAaAIA6AcFDV91bml0RGVjaW1hbHMAA19EdACAuJkpAQRfUHB5AQpsb2NrUGVyaW9kCQBrAwUNX3VuaXREZWNpbWFscwDtAgUKbG9ja1BlcmlvZAANX2luY3JlbWVudFJlZgkAaAIAwIQ9BQ1fdW5pdERlY2ltYWxzAA5fcGVyY2VudGFnZUZlZQkAawMFDV91bml0RGVjaW1hbHMACgBkABpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIpQ3VycmVudF9QZXJjZW50YWdlUmVkdWN0aW9uX0ZhY3Rvcl9Gb3JfTXIAA19NcgIMTWludGluZ19SYXRlAAxfc3Rhd0Fzc2V0SWQCDFN0YXdfQXNzZXRJZAAIX21hbmFnZXICB21hbmFnZXIABF9EZngCA0RmeAAVX2NpcmN1bGF0aW9uSW5jckluZGV4AhlDaXJjdWxhdGlvbkluY3JlbWVudEluZGV4AA5fbGVzc2VlQWRkcmVzcwIJTGVhc2VOb2RlABpfdXNlckVtaXNzaW9uQW1vdW50Q2xhaW1lZAIVRW1pc3Npb25BbW91bnRDbGFpbWVkABtfdXNlckNhbkNsYWltRW1pc3Npb25BbW91bnQCFkNhbkNsYWltRW1pc3Npb25BbW91bnQADF91c2VyQWRkcmVzcwINV2FsbGV0QWRkcmVzcwAUX3VzZXJMb2NhbEluZGV4Q291bnQCFFRvdGFsRW50cnlJbmRleENvdW50ABBfdXNlclRvdGFsTG9ja2VkAgtUb3RhbExvY2tlZAANX2xvY2tEdXJhdGlvbgIMTG9ja0R1cmF0aW9uAApfbG9ja0luZGV4Ag9HbG9iYWxMb2NrSW5kZXgAB19sb2NrSWQCDkxvY2tJZGVudGlmaWVyAAxfd2F2ZXNBbW91bnQCDUFtb3VudEluV2F2ZXMAC19zdGF3QW1vdW50AgxBbW91bnRJblN0YXcADV9zdGF3TFBBbW91bnQCDkFtb3VudEluU3Rhd0xQAAVfdHhJZAIEVFhJRAANX2xvY2tBdEhlaWdodAIMTG9ja0F0SGVpZ2h0ABRfbG9ja1BlcmlvZEluTWlsaVNlYwIUTG9jS1BlcmlvZEluTWlsbGlTZWMAEl90b3RhbFdhdmVzQ2xhaW1lZAIRVG90YWxXYXZlc0NsYWltZWQAD191c2VyTGVhc2VTdGF0ZQIKTGVhc2VTdGF0ZQAKX3RvdGFsU3RhdwIPVG90YWxTdGF3TWludGVkAA5fdG90YWxXYXZlc1JlZgIQVG90YWxXYXZlc0xvY2tlZAAMX3RvdGFsU3Rhd0xQAgtUb3RhbFN0YXdMUAARX2dsb2JhbEluZGV4Q291bnQCCkluZGV4Q291bnQBBV9nZXRJAQNrZXkJAJoIAgUEdGhpcwUDa2V5AQVfZ2V0UwEDa2V5CQCdCAIFBHRoaXMFA2tleQEFX2dldEIBA2tleQkAmwgCBQR0aGlzBQNrZXkBBl9nZXRCVgEDa2V5CQEFdmFsdWUBCQCbCAIFBHRoaXMFA2tleQEGX2dldElWAQNrZXkJAQV2YWx1ZQEJAJoIAgUEdGhpcwUDa2V5AQZfZ2V0U1YBA2tleQkBBXZhbHVlAQkAnQgCBQR0aGlzBQNrZXkBDF9zZXRQYXJhbVZhbAIDa2V5CmRlZmF1bHRWYWwEByRtYXRjaDAFCmRlZmF1bHRWYWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBApkZWZhdWx0VmFsBQckbWF0Y2gwAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBBl9nZXRTVgEFA2tleQUKZGVmYXVsdFZhbAMJAAECBQckbWF0Y2gwAgNJbnQECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRJAQUDa2V5CQEGX2dldElWAQUDa2V5BQpkZWZhdWx0VmFsAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4ECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRCAQUDa2V5CQEGX2dldEJWAQUDa2V5BQpkZWZhdWx0VmFsCQACAQkArAICAh12YWx1ZSB0eXBlIG5vdCBzdXBwb3J0ZWQgZm9yIAUDa2V5AQ9fdGhyb3dPclJldHVyblMCA3ZhbAVlcnJvcgQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEPX3Rocm93T3JSZXR1cm5JAgN2YWwFZXJyb3IEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEA3ZhbAUHJG1hdGNoMAUDdmFsCQACAQUFZXJyb3IBEl90aHJvd09yUmV0dXJuQm9vbAIDdmFsBWVycm9yBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEJX3dyaXRlSW50AgNrZXkFdmFsdWUDCQBmAgAABQV2YWx1ZQkAAgEJAKwCAgkArAICCQCsAgICF3dyaXRpbmcgbmVnYXRpdmUgdmFsdWUgCQCkAwEFBXZhbHVlAgkgZm9yIGtleSAFA2tleQkBDEludGVnZXJFbnRyeQIFA2tleQUFdmFsdWUBCV93cml0ZVN0cgIDa2V5BXZhbHVlAwkAAAICASAFBXZhbHVlCQACAQkArAICAhh3cml0aW5nIGFuIGVtcHR5IHN0cmluZyAFBXZhbHVlCQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlAQhfdGhyb3dJZgIJY29uZGl0aW9uBWVycm9yAwUJY29uZGl0aW9uCQACAQUFZXJyb3IGARFfd3JpdGVHbG9iYWxQYXJhbQIDa2V5Bl92YWx1ZQQHJG1hdGNoMAUGX3ZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiViCQDMCAIJAKUDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkJAAIBAhJ0eXBlIG5vdCBzdXBwb3J0ZWQBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBA2tleQQJX3Jhd1ZhbHVlCQEPX3Rocm93T3JSZXR1cm5TAgkBBV9nZXRTAQUDa2V5Ag9lbnRyeSBub3QgZm91bmQDCQAAAgUJX3Jhd1ZhbHVlBQlfcmF3VmFsdWUEAXgJALUJAgUJX3Jhd1ZhbHVlBQNTRVAED2Zvcm1hdFNwZWNpZmllcgkAsgICCQCRAwIFAXgAAAABBAxfdmFsdWVTdHJpbmcJAJEDAgUBeAkAZQIJAJADAQUBeAABBAZfdmFsdWUDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFzBQxfdmFsdWVTdHJpbmcDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFkCQENcGFyc2VJbnRWYWx1ZQEFDF92YWx1ZVN0cmluZwMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAWIJANkEAQUMX3ZhbHVlU3RyaW5nCQACAQkArAICAiNjb3VsZCBub3QgcGFyc2UgcmVnaXN0cnkgdmFsdWUgZm9yIAUDa2V5BQZfdmFsdWUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDl9kYXlzVG9NaWxpU2VjAQRkYXlzBAVjaGVjawkBCF90aHJvd0lmAgkAZwIAAAUEZGF5cwIVaW52YWxpZCBsb2NraW5nIGRheXMhAwkAAAIFBWNoZWNrBQVjaGVjawkAaAIFBGRheXMFA19EdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERX3dyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZVN0cgIFA2tleQUFdmFsdWUJAAIBCQCsAgICG2VudHJ5IGFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5ARJfd3JpdGVDb25zdEludGVnZXICA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZUludAIFA2tleQUFdmFsdWUJAAIBCQCsAgICHCBlbnRyeSBhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEMX29ubHlNYW5hZ2VyAQFpBAdtYW5hZ2VyBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCF9tYW5hZ2VyAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwCFWZhaWxlZCB0byBnZXQgbWFuYWdlcgMJAAACBQdtYW5hZ2VyBQdtYW5hZ2VyCQEIX3Rocm93SWYCCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFB21hbmFnZXICFmFkZHJlc3Mgbm90IGF1dGhvcml6ZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BBF9hYnMBA3ZhbAMJAGYCAAAFA3ZhbAkBAS0BBQN2YWwFA3ZhbAEQX3ZhbGlkYXRlQWRkcmVzcwIHYWRkcmVzcwhlcnJvck1zZwQHJG1hdGNoMAUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCmCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgQHJG1hdGNoMgUIZXJyb3JNc2cDCQABAgUHJG1hdGNoMgIGU3RyaW5nBANtc2cFByRtYXRjaDIJAAIBBQNtc2cHAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCnCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgQHJG1hdGNoMgUIZXJyb3JNc2cDCQABAgUHJG1hdGNoMgIGU3RyaW5nBANtc2cFByRtYXRjaDIJAAIBBQNtc2cHCQACAQISaW52YWxpZCBpbnB1dCB0eXBlAQ5fdmFsaWRhdGVBc3NldAIHYXNzZXRJRAhlcnJvck1zZwQHJG1hdGNoMAkA7AcBCQDZBAEFB2Fzc2V0SUQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwBgQHJG1hdGNoMQUIZXJyb3JNc2cDCQABAgUHJG1hdGNoMQIGU3RyaW5nBANtc2cFByRtYXRjaDEJAAIBBQNtc2cHAQpfY29tcHV0ZU1yAAQQY3VycmVudENpcmNJbmRleAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRVfY2lyY3VsYXRpb25JbmNySW5kZXgDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIoY2lyY3VsYXRpb24gaW5kZXggbm90IHByZXZpb3VzbHkgZGVmaW5lZAMJAAACBRBjdXJyZW50Q2lyY0luZGV4BRBjdXJyZW50Q2lyY0luZGV4BAtzdGF3QXNzZXRJZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQxfc3Rhd0Fzc2V0SWQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwBQF0CQACAQIfYXNzZXQgaWQgbm90IHByZXZpb3VzbHkgZGVmaW5lZAMJAAACBQtzdGF3QXNzZXRJZAULc3Rhd0Fzc2V0SWQEFXN0YXdDaXJjdWxhdGluZ1N1cHBseQQHJG1hdGNoMAkA7AcBCQDZBAEFC3N0YXdBc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAgFBWFzc2V0CHF1YW50aXR5CQACAQkArAICAhRhc3NldCBub3QgZm91bmQgZm9yIAULc3Rhd0Fzc2V0SWQEDXVuaXRJbmNyZW1lbnQJAGkCCQEEX2FicwEJAGUCBRVzdGF3Q2lyY3VsYXRpbmdTdXBwbHkFDV9pbmNyZW1lbnRSZWYFDV9pbmNyZW1lbnRSZWYEF25ld0NpcmN1bGF0aW9uSW5jckluZGV4AwkAZgIFDXVuaXRJbmNyZW1lbnQFEGN1cnJlbnRDaXJjSW5kZXgJAGQCBQ11bml0SW5jcmVtZW50BRBjdXJyZW50Q2lyY0luZGV4BRBjdXJyZW50Q2lyY0luZGV4BAljdXJyZW50TXIEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUDX01yAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECG2ZhaWxlZCB0byBnZXQgbWluaXRpbmcgcmF0ZQMJAAACBRduZXdDaXJjdWxhdGlvbkluY3JJbmRleAUQY3VycmVudENpcmNJbmRleAkAlAoCBQljdXJyZW50TXIFA25pbAQSbmV3cmVkdWN0aW9uRmFjdG9yBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECKWZhaWxlZCB0byBnZXQgcGVyY2VudGFnZSByZWR1Y3Rpb24gZmFjdG9yBAxuZXdDdXJyZW50TXIJAGUCBQljdXJyZW50TXIJAGsDBQljdXJyZW50TXIFEm5ld3JlZHVjdGlvbkZhY3RvcgBkBAZzdG9yZTEJARFfd3JpdGVHbG9iYWxQYXJhbQIFA19NcgUMbmV3Q3VycmVudE1yBAZzdG9yZTIJARFfd3JpdGVHbG9iYWxQYXJhbQIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yBRJuZXdyZWR1Y3Rpb25GYWN0b3IEBnN0b3JlMwkBEV93cml0ZUdsb2JhbFBhcmFtAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4BRduZXdDaXJjdWxhdGlvbkluY3JJbmRleAkAlAoCBQxuZXdDdXJyZW50TXIJAMwIAgUGc3RvcmUxCQDMCAIFBnN0b3JlMgkAzAgCBQZzdG9yZTMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgESX3VwZGF0ZUdsb2JhbEVudHJ5BAt3YXZlc0Ftb3VudApzdGF3QW1vdW50BnN0YXdQTAppbmRleENvdW50BBpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ5fdG90YWxXYXZlc1JlZgMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0BQt3YXZlc0Ftb3VudAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBRpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgQZX25ld0dsb2JhbFRvdGFsU3Rhd01pbnRlZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQpfdG90YWxTdGF3AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFCnN0YXdBbW91bnQJAAIBAiZmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCBzdGF3IG1pbnRlZAMJAAACBRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBBVfbmV3R2xvYmFsVG90YWxTdGF3UEwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUMX3RvdGFsU3Rhd0xQAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFBnN0YXdQTAkAAgECIWZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHN0YXdwbAMJAAACBRVfbmV3R2xvYmFsVG90YWxTdGF3UEwFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAQTX25ld0dsb2JhSW5kZXhDb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRFfZ2xvYmFsSW5kZXhDb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0BQppbmRleENvdW50CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgaW5kZXggY291bnQDCQAAAgUTX25ld0dsb2JhSW5kZXhDb3VudAUTX25ld0dsb2JhSW5kZXhDb3VudAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fdG90YWxXYXZlc1JlZgUaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUKX3RvdGFsU3RhdwUZX25ld0dsb2JhbFRvdGFsU3Rhd01pbnRlZAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQxfdG90YWxTdGF3TFAFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBRFfZ2xvYmFsSW5kZXhDb3VudAUTX25ld0dsb2JhSW5kZXhDb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJfcmVnaXN0ZXJVc2VyRW50cnkNDXRyYW5zYWN0aW9uSUQLdXNlckFkZHJlc3MMbG9ja0R1cmF0aW9uEmxvY2tEdXJhdGlvbkluTWlsaQlsb2NrSW5kZXgLd2F2ZXNBbW91bnQKc3Rhd0Ftb3VudAxzdGF3TFBBbW91bnQMbG9ja0F0SGVpZ2h0BmxvY2tJZAt0b3RhbExvY2tlZA9sb2NhbEluZGV4Q291bnQKbGVhc2VTdGF0ZQQIX3R4SWRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFBV90eElkBQNuaWwFA1NFUAQQX2xvY2tEdXJhdGlvbktleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAEDV9sb2NrSW5kZXhLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFCl9sb2NrSW5kZXgFA25pbAUDU0VQBA9fd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDl9zdGF3QW1vdW50S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQtfc3Rhd0Ftb3VudAUDbmlsBQNTRVAEEF9zdGF3TFBBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9zdGF3TFBBbW91bnQFA25pbAUDU0VQBBBfbG9ja0F0SGVpZ2h0S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fbG9ja0F0SGVpZ2h0BQNuaWwFA1NFUAQKX2xvY2tJZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUHX2xvY2tJZAUDbmlsBQNTRVAED190b3RhbExvY2tlZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBJfbG9jYWxMb2NrSW5kZXhLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBRRfdXNlckxvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEF19sb2NrUGVyaW9kSW5NaWxpU2VjS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFV90b3RhbFdhdmVzQ2xhaW1lZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUSX3RvdGFsV2F2ZXNDbGFpbWVkBQNuaWwFA1NFUAQSX3VzZXJMZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBAp0cnhJZEVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUNdHJhbnNhY3Rpb25JRAUDbmlsBQNTRVAEEWxvY2tEdXJhdGlvbkVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQxsb2NrRHVyYXRpb24FA25pbAUDU0VQBA5sb2NrSW5kZXhFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUJbG9ja0luZGV4BQNuaWwFA1NFUAQQd2F2ZXNBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQULd2F2ZXNBbW91bnQFA25pbAUDU0VQBA9zdGF3QW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFCnN0YXdBbW91bnQFA25pbAUDU0VQBBFzdGF3TFBBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUMc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQRbG9ja0F0SGVpZ2h0RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDGxvY2tBdEhlaWdodAUDbmlsBQNTRVAEC2xvY2tJZEVudHJ5CQC5CQIJAMwIAgICJWIJAMwIAgUGbG9ja0lkBQNuaWwFA1NFUAQQdG90YWxMb2NrZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQULdG90YWxMb2NrZWQFA25pbAUDU0VQBBN1c2VyTG9jYWxJbmRleEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQ9sb2NhbEluZGV4Q291bnQFA25pbAUDU0VQBBhsb2NrUGVyaW9kSW5NaWxpU2VjRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEmxvY2tEdXJhdGlvbkluTWlsaQUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEAAAUDbmlsBQNTRVAEE3VzZXJMZWFzZVN0YXRlRW50cnkJALkJAgkAzAgCAgIlcwkAzAgCBQpsZWFzZVN0YXRlBQNuaWwFA1NFUAkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQhfdHhJZEtleQUKdHJ4SWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ1fbG9ja0luZGV4S2V5BQ5sb2NrSW5kZXhFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUSX2xvY2FsTG9ja0luZGV4S2V5BRN1c2VyTG9jYWxJbmRleEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBQ9fdG90YWxMb2NrZWRLZXkFEHRvdGFsTG9ja2VkRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUQX2xvY2tEdXJhdGlvbktleQURbG9ja0R1cmF0aW9uRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUXX2xvY2tQZXJpb2RJbk1pbGlTZWNLZXkFGGxvY2tQZXJpb2RJbk1pbGlTZWNFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ9fd2F2ZXNBbW91bnRLZXkFEHdhdmVzQW1vdW50RW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUOX3N0YXdBbW91bnRLZXkFD3N0YXdBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUQX3N0YXdMUEFtb3VudEtleQURc3Rhd0xQQW1vdW50RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFFV90b3RhbFdhdmVzQ2xhaW1lZEtleQUWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRBfbG9ja0F0SGVpZ2h0S2V5BRFsb2NrQXRIZWlnaHRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQpfbG9ja0lkS2V5BQtsb2NrSWRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUSX3VzZXJMZWFzZVN0YXRlS2V5BRN1c2VyTGVhc2VTdGF0ZUVudHJ5BQNuaWwBB19zdGF3TUYCCmxvY2tQZXJpb2QPY29sbGF0ZXJhbFdhdmVzBAtfYWRqdXN0ZWRNcgkBCl9jb21wdXRlTXIABANyZXQJAGgCCQBrAwUNX3VuaXREZWNpbWFscwkAaAIFA19EdAgFC19hZGp1c3RlZE1yAl8xCQEEX1BweQEFCmxvY2tQZXJpb2QFD2NvbGxhdGVyYWxXYXZlcwMJAAACCQCQAwEIBQtfYWRqdXN0ZWRNcgJfMgAACQCUCgIFA3JldAUDbmlsCQCUCgIFA3JldAgFC19hZGp1c3RlZE1yAl8yARJfZW1pc3Npb25SYXRlV2F2ZXMCCmxvY2tQZXJpb2QKY29sbGF0ZXJhbAQPZXh0ZW5zaW9uRmFjdG9yCQBrAwUKbG9ja1BlcmlvZAAPAAoJAGgCCQBpAgUKY29sbGF0ZXJhbAkAZQIJAGgCBQpsb2NrUGVyaW9kBQ9leHRlbnNpb25GYWN0b3IFCmxvY2tQZXJpb2QFA19EdAEQX2luY3JUb3RhbFN0YXdMUAEGYW1vdW50BAlvbGRTdGF3TFAJAQ9fdGhyb3dPclJldHVybkkCCQEFX2dldEkBBQxfdG90YWxTdGF3TFACIGNvdWxkIG5vdCBnZXQgdGhlIHJ1bm5pbmcgU3Rhd0xQCQDMCAIJAQlfd3JpdGVJbnQCBQxfdG90YWxTdGF3TFAJAGQCBQlvbGRTdGF3TFAFBmFtb3VudAUDbmlsARBfZGVjclRvdGFsU3Rhd0xQAQZhbW91bnQECW9sZFN0YXdMUAkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDF90b3RhbFN0YXdMUAIgY291bGQgbm90IGdldCB0aGUgcnVubmluZyBTdGF3TFAJAMwIAgkBCV93cml0ZUludAIFDF90b3RhbFN0YXdMUAkAZQIFCW9sZFN0YXdMUAUGYW1vdW50BQNuaWwBEl9pbmNyVG90YWxXYXZlc1JlZgEGYW1vdW50BAtvbGRXYXZlc1JlZgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDl90b3RhbFdhdmVzUmVmAiBjb3VsZCBub3QgZ2V0IHRvdGFsIGxvY2tlZCB3YXZlcwkAzAgCCQEJX3dyaXRlSW50AgUOX3RvdGFsV2F2ZXNSZWYJAGQCBQtvbGRXYXZlc1JlZgUGYW1vdW50BQNuaWwBEl9kZWNyVG90YWxXYXZlc1JlZgEGYW1vdW50BAtvbGRXYXZlc1JlZgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDl90b3RhbFdhdmVzUmVmAiBjb3VsZCBub3QgZ2V0IHRvdGFsIGxvY2tlZCB3YXZlcwkAzAgCCQEJX3dyaXRlSW50AgUOX3RvdGFsV2F2ZXNSZWYJAGUCBQtvbGRXYXZlc1JlZgUGYW1vdW50BQNuaWwBEF9nZXROZXdUaW1lU3RhbXABC2Jsb2NrSGVpZ2h0BAR0aW1lBAckbWF0Y2gwCQDtBwEFC2Jsb2NrSGVpZ2h0AwkAAQIFByRtYXRjaDACCUJsb2NrSW5mbwQIdGltZUluZm8FByRtYXRjaDAIBQh0aW1lSW5mbwl0aW1lc3RhbXAJAAIBAhRjb3VubGQgZ2V0IHRpbWVzdGFtcAUEdGltZQYBaQELZ2V0RW1pc3Npb24CCmxvY2tQZXJpb2QKY29sbGF0ZXJhbAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQkAlAoCBQNuaWwJARJfZW1pc3Npb25SYXRlV2F2ZXMCBQpsb2NrUGVyaW9kBQpjb2xsYXRlcmFsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBGluaXQEB21hbmFnZXIDZGZ4B2Fzc2V0SUQJbGVhc2VOb2RlBBRtYW5hZ2VyQWxyZWFkeUV4aXN0cwMJAQlpc0RlZmluZWQBCQEFX2dldFMBBQhfbWFuYWdlcgkBDF9vbmx5TWFuYWdlcgEFAWkGAwkAAAIFFG1hbmFnZXJBbHJlYWR5RXhpc3RzBRRtYW5hZ2VyQWxyZWFkeUV4aXN0cwQGY2hlY2sxCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB21hbmFnZXICD2ludmFsaWQgYWRkcmVzcwMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syCQEQX3ZhbGlkYXRlQWRkcmVzcwIFA2RmeAIPaW52YWxpZCBhZGRyZXNzAwkAAAIFBmNoZWNrMgUGY2hlY2syBAZjaGVjazMJARBfdmFsaWRhdGVBZGRyZXNzAgUJbGVhc2VOb2RlAg9pbnZhbGlkIGFkZHJlc3MDCQAAAgUGY2hlY2szBQZjaGVjazMEBmNoZWNrNAMJAQ5fdmFsaWRhdGVBc3NldAIFB2Fzc2V0SUQCDWludmFsaWQgYXNzZXQGCQACAQIQaW52YWxpZCBhc3NldCBJZAMJAAACBQZjaGVjazQFBmNoZWNrNAQQY2lyY3VsYXRpb25JbmRleAkBDF9zZXRQYXJhbVZhbAIFFV9jaXJjdWxhdGlvbkluY3JJbmRleAAABBdwZXJjZW50YWdlUmVkdWN0aW9uSW5NcgkBDF9zZXRQYXJhbVZhbAIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yAAAEAk1yCQEMX3NldFBhcmFtVmFsAgUDX01yBQ1fdW5pdERlY2ltYWxzBA90b3RhbFN0YXdNaW50ZWQJAQxfc2V0UGFyYW1WYWwCBQpfdG90YWxTdGF3AAAEGHRvdGFsU3Rhd0xQSW5DaXJjdWxhdGlvbgkBDF9zZXRQYXJhbVZhbAIFDF90b3RhbFN0YXdMUAAABBBnbG9iYWxJbmRleENvdW50CQEMX3NldFBhcmFtVmFsAgURX2dsb2JhbEluZGV4Q291bnQAAAQNdG90YWxXYXZlc1JlZgkBDF9zZXRQYXJhbVZhbAIFDl90b3RhbFdhdmVzUmVmAAAJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUIX21hbmFnZXIFB21hbmFnZXIJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUEX0RmeAUDZGZ4CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF9zdGF3QXNzZXRJZAUHYXNzZXRJRAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fbGVzc2VlQWRkcmVzcwUJbGVhc2VOb2RlCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFFV9jaXJjdWxhdGlvbkluY3JJbmRleAUQY2lyY3VsYXRpb25JbmRleAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQNfTXIFAk1yCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yBRdwZXJjZW50YWdlUmVkdWN0aW9uSW5NcgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fdG90YWxXYXZlc1JlZgUNdG90YWxXYXZlc1JlZgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQxfdG90YWxTdGF3TFAFGHRvdGFsU3Rhd0xQSW5DaXJjdWxhdGlvbgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQpfdG90YWxTdGF3BQ90b3RhbFN0YXdNaW50ZWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJtb2RpZnlHbG9iYWxQYXJhbXMBA3ZhbAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQQIZXJyb3JNc2cJALkJAgkAzAgCAgNnb3QJAMwIAgIMbGlzdCBzaXplIG9mCQDMCAIJAKQDAQkAkAMBBQN2YWwJAMwIAgIlYnV0IGV4cGVjdGVkIFtnbG9iYWxfa2V5LCB2YWx1ZV0gcGFpcgUDbmlsAgEgBAZjaGVjazIJAQhfdGhyb3dJZgIJAQIhPQIJAJADAQUDdmFsAAIFCGVycm9yTXNnAwkAAAIFBmNoZWNrMgUGY2hlY2syBANrZXkJAJEDAgUDdmFsAAAEB3ZhbFR5cGUJALYJAQkAkQMCBQN2YWwAAQQHJG1hdGNoMAUHdmFsVHlwZQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BBBlbnN1cmVWYWxpZFBhaXJzBAckbWF0Y2gxCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFA2tleQMJAAECBQckbWF0Y2gxAgNJbnQEAXQFByRtYXRjaDEGCQACAQIWaW52YWxpZCBrZXktdmFsdWUgcGFpcgMJAAACBRBlbnN1cmVWYWxpZFBhaXJzBRBlbnN1cmVWYWxpZFBhaXJzCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQUBeAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BAtzdHJpbmdWYWx1ZQkAkQMCBQN2YWwAAQQKcmVmQWRkcmVzcwkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQhfbWFuYWdlcgQGY2hlY2s0BAckbWF0Y2gxBQpyZWZBZGRyZXNzAwkAAQIFByRtYXRjaDECBlN0cmluZwQHc3RyVHlwZQUHJG1hdGNoMQMJAAACCQCxAgEFB3N0clR5cGUJALECAQULc3RyaW5nVmFsdWUJARBfdmFsaWRhdGVBZGRyZXNzAgULc3RyaW5nVmFsdWUCI3N0cmluZyB0eXBlIGZvciB2YWx1ZSBub3Qgc3VwcG9ydGVkCQEOX3ZhbGlkYXRlQXNzZXQCBQtzdHJpbmdWYWx1ZQIjc3RyaW5nIHR5cGUgZm9yIHZhbHVlIG5vdCBzdXBwb3J0ZWQHAwkAAAIFBmNoZWNrNAUGY2hlY2s0CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQULc3RyaW5nVmFsdWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgIRZmFpbGVkIHRvIG1vZGlmeSAJAJEDAgUDdmFsAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKcmV2b2tlTG9jawAEBmNoZWNrMQkBDF9vbmx5TWFuYWdlcgEFAWkDCQAAAgUGY2hlY2sxBQZjaGVjazEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQENdHJhbnNhY3Rpb25JRAQNY2FsbGVyQWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jb2xsYXRlcmFsS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDWxvY2twZXJpb2RLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAECWxvY2tJZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQTbG9ja3BlcmlvZEluTWlsaUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFHRvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFEl90b3RhbFdhdmVzQ2xhaW1lZAUDbmlsBQNTRVAED3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQOd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBF1c2VyTGVhc2VTdGF0ZUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBA1sZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAEDmdsb2JhbFdhdmVzUmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFDmdsb2JhbFdhdmVzUmVmBQ5nbG9iYWxXYXZlc1JlZgQMZ2xvYmFsU3Rhd1BMBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF90b3RhbFN0YXdMUAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCB3YXZlcwMJAAACBQxnbG9iYWxTdGF3UEwFDGdsb2JhbFN0YXdQTAQGbG9ja0lkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCWxvY2tJZEtleQMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAF0BQckbWF0Y2gwBQF0CQACAQIWZmFpbGVkIHRvIGdldCBsZWFzZSBpZAMJAAACBQZsb2NrSWQFBmxvY2tJZAQUdXNlclRvdGFsV2F2ZXNMb2NrZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIwZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQgYnkgdGhpcyBhZGRyZXNzAwkAAAIFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBRR1c2VyVG90YWxXYXZlc0xvY2tlZAQLd2F2ZXNBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOd2F2ZXNBbW91bnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIgZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQDCQAAAgULd2F2ZXNBbW91bnQFC3dhdmVzQW1vdW50BBF0b3RhbFdhdmVzQ2xhaW1lZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRR0b3RhbFdhdmVzQ2xhaW1lZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiFmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGNsYWltZWQDCQAAAgURdG90YWxXYXZlc0NsYWltZWQFEXRvdGFsV2F2ZXNDbGFpbWVkBAxzdGF3TFBBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUPc3Rhd0xQQW1vdW50S2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECFGZhaWxlZCB0byBnZXQgc3Rhd1BMAwkAAAIFDHN0YXdMUEFtb3VudAUMc3Rhd0xQQW1vdW50BBBsb2NrUGVyaW9kSW5NaWxpBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFE2xvY2twZXJpb2RJbk1pbGlLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIiZmFpbGVkIHRvIGdldCBsb2NrIHBlcmlvZCB0aW1lc3BhbQMJAAACBRBsb2NrUGVyaW9kSW5NaWxpBRBsb2NrUGVyaW9kSW5NaWxpBBBjdXJyZW50VGltZVN0YW1wBAckbWF0Y2gwCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAh9mYWlsZWQgdG8gZ2V0IGN1cnJlbnQgdGltZXN0YW1wAwkAAAIFEGN1cnJlbnRUaW1lU3RhbXAFEGN1cnJlbnRUaW1lU3RhbXAECmNvbGxhdGVyYWwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUNY29sbGF0ZXJhbEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAhhmYWlsZWQgdG8gZ2V0IGNvbGxhdGVyYWwDCQAAAgUKY29sbGF0ZXJhbAUKY29sbGF0ZXJhbAQKbG9ja1BlcmlvZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sb2NrcGVyaW9kS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECGGZhaWxlZCB0byBnZXQgbG9ja1BlcmlvZAMJAAACBQpsb2NrUGVyaW9kBQpsb2NrUGVyaW9kBBFjdXJyZW50TGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRF1c2VyTGVhc2VTdGF0ZUtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGxlYXNlIHN0YXRlAwkAAAIFEWN1cnJlbnRMZWFzZVN0YXRlBRFjdXJyZW50TGVhc2VTdGF0ZQQKbGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sZWFzZVN0YXRlS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAUBdAkAAgECImZhaWxlZCB0byBnZXQgbGVhc2Ugc3RhdGUgZm9yIHVzZXIDCQAAAgUKbGVhc2VTdGF0ZQUKbGVhc2VTdGF0ZQQGY2hlY2sxCQEIX3Rocm93SWYCCQBmAgUQbG9ja1BlcmlvZEluTWlsaQUQY3VycmVudFRpbWVTdGFtcAIqbG9jayBwZXJpb2QgZm9yIHRoaXMgZW50cnkgaGFzIG5vdCBlbGFwc2VkAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAtsZWFzZUFjdGlvbgMJAAACBRFjdXJyZW50TGVhc2VTdGF0ZQIGbGVhc2VkCQCUCgIJAQtMZWFzZUNhbmNlbAEFBmxvY2tJZAkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAJQKAgkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAQlfd3JpdGVTdHICBRF1c2VyTGVhc2VTdGF0ZUtleQIJY2FuY2VsbGVkAwkAAAIFC2xlYXNlQWN0aW9uBQtsZWFzZUFjdGlvbgQGY2hlY2syCQEIX3Rocm93SWYCAwkAAAIAAAULd2F2ZXNBbW91bnQGCQAAAgAABQxzdGF3TFBBbW91bnQCIWFsbCBjbGFpbXMgZXhoYXVzdGVkIGZvciB0aGlzIHRyeAMJAAACBQZjaGVjazIFBmNoZWNrMgQSZW1pc3Npb25WYWx1ZVBlckRUCQBoAgkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwFA19EdAQLY2xhaW1BY3Rpb24EDXRpbWVTdGFtcERpZmYJAGUCBRBjdXJyZW50VGltZVN0YW1wBRBsb2NrUGVyaW9kSW5NaWxpBBpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAkAaQIFDXRpbWVTdGFtcERpZmYFA19EdAMJAAACBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAAACQACAQIibGVzcyB0aGFuIDI0aHJzIGJlZm9yZSBmaXJzdCBjbGFpbQMJAQIhPQIJAGoCBQ10aW1lU3RhbXBEaWZmBQNfRHQAAAkAAgECNGFscmVhZHkgY2xhaW1lZCBvciBsZXNzIHRoYW4gMjRocnMgYmVmb3JlIG5leHQgY2xhaW0DCQBmAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQFCmxvY2tQZXJpb2QJAAIBAhRhbGwgY2xhaW1zIGV4aGF1c3RlZAQUdG90YWxBbW91bnRDbGFpbWFibGUJAGgCBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAUSZW1pc3Npb25WYWx1ZVBlckRUBAhjaGVjazNfMQkBCF90aHJvd0lmAgkAAAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAIcY2FuIG9ubHkgY2xhaW0gb25jZSBpbiAyNGhycwMJAAACBQhjaGVjazNfMQUIY2hlY2szXzEECGNoZWNrM18yCQEIX3Rocm93SWYCCQBmAgkAZAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAULd2F2ZXNBbW91bnQCFGFsbCBjbGFpbXMgZXhoYXVzdGVkAwkAAAIFCGNoZWNrM18yBQhjaGVjazNfMgQRY2xhaW1BbW91bnRUb1NlbmQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBRR0b3RhbEFtb3VudENsYWltYWJsZQURdG90YWxXYXZlc0NsYWltZWQEEm5ld1RvdGFsV2F2ZXNDbGFpbQUUdG90YWxBbW91bnRDbGFpbWFibGUEDm5ld1dhdmVzQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQt3YXZlc0Ftb3VudAUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBQt3YXZlc0Ftb3VudAkAZQIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAQPbmV3U3Rhd0xQQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQxzdGF3TFBBbW91bnQFFHRvdGFsQW1vdW50Q2xhaW1hYmxlCQBlAgUMc3Rhd0xQQW1vdW50CQBlAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBBBuZXdHbG9iYWxXYXZlUmVmCQBlAgUOZ2xvYmFsV2F2ZXNSZWYFDm5ld1dhdmVzQW1vdW50BA9uZXdHbG9iYWxTdGF3UEwJAGUCBQxnbG9iYWxTdGF3UEwFD25ld1N0YXdMUEFtb3VudAQXbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWQJAGUCBRR1c2VyVG90YWxXYXZlc0xvY2tlZAURY2xhaW1BbW91bnRUb1NlbmQEEHdhdmVzQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDm5ld1dhdmVzQW1vdW50BQNuaWwFA1NFUAQRc3Rhd0xQQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD25ld1N0YXdMUEFtb3VudAUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEm5ld1RvdGFsV2F2ZXNDbGFpbQUDbmlsBQNTRVAEHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFF25ld1VzZXJUb3RhbFdhdmVzTG9ja2VkBQNuaWwFA1NFUAkAzAgCCAULbGVhc2VBY3Rpb24CXzEJAMwIAggFC2xlYXNlQWN0aW9uAl8yCQDMCAIJAQlfd3JpdGVTdHICBQ53YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUPc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUUdG90YWxXYXZlc0NsYWltZWRLZXkFFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJAMwIAgkBCV93cml0ZVN0cgIFF3VzZXJUb3RhbFdhdmVzTG9ja2VkS2V5BRxuZXdVc2VyVG90YWxXYXZlc0xvY2tlZEVudHJ5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRBuZXdHbG9iYWxXYXZlUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUPbmV3R2xvYmFsU3Rhd1BMCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwURY2xhaW1BbW91bnRUb1NlbmQFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQtjbGFpbUFjdGlvbgULY2xhaW1BY3Rpb24FC2NsYWltQWN0aW9uCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCG1pbnRTdGF3AQpsb2NrUGVyaW9kBA1jYWxsZXJBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEBXRyeElECQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNoZWNrMQkBCF90aHJvd0lmAgkBAiE9AgABCQCQAwEIBQFpCHBheW1lbnRzAhRubyBwYXltZW50cyBhdHRhY2hlZAMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syAwkBCWlzRGVmaW5lZAEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkAAgECFG9ubHkgd2F2ZXMgc3VwcG9ydGVkBgMJAAACBQZjaGVjazIFBmNoZWNrMgQNYW1vdW50SW5XYXZlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBmNoZWNrMwMDCQBmAgUOX21pbkxvY2tBbW91bnQFDWFtb3VudEluV2F2ZXMGCQBmAgUNYW1vdW50SW5XYXZlcwUOX21heExvY2tBbW91bnQJAAIBAj9sb2NrIGFtb3VudCBvdXQgb2YgcmFuZ2UsIG1pbmltdW06IDEgd2F2ZXMsIG1heGltdW06IDEwMDAgd2F2ZXMGAwkAAAIFBmNoZWNrMwUGY2hlY2szBAZjaGVjazQDCQBmAgUOX21pbkxvY2twZXJpb2QFCmxvY2tQZXJpb2QJAAIBAh5taW5pbXVtIG9mIDE0IGRheXMgbG9jayBwZXJpb2QGAwkAAAIFBmNoZWNrNAUGY2hlY2s0BA10b3RhbFN0YXdNaW50CQEHX3N0YXdNRgIFCmxvY2tQZXJpb2QFDWFtb3VudEluV2F2ZXMEBnN0YXdQTAUNYW1vdW50SW5XYXZlcwQDZmVlCQBrAwgFDXRvdGFsU3Rhd01pbnQCXzEACgBkBBF1c2VyR2V0U3Rhd0Ftb3VudAkAZQIIBQ10b3RhbFN0YXdNaW50Al8xBQNmZWUEE2xvY2tQZXJpb2RUb01pbGlzZWMJAGQCCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAkBDl9kYXlzVG9NaWxpU2VjAQUKbG9ja1BlcmlvZAMJAAACBRNsb2NrUGVyaW9kVG9NaWxpc2VjBRNsb2NrUGVyaW9kVG9NaWxpc2VjBAluZXdfaW5kZXgEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQURX2dsb2JhbEluZGV4Q291bnQDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAABCQACAQIoZmFpbGVkIHRvIGdldCBjdXJyZW50IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBQluZXdfaW5kZXgFCW5ld19pbmRleAQKYWRkcmVzc0ZlZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQRfRGZ4AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAkBB0FkZHJlc3MBCQDZBAEFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGRmeCBhZGRyZXNzAwkAAAIFCmFkZHJlc3NGZWUFCmFkZHJlc3NGZWUEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAJANkEAQUBdAkAAgECFmZhaWxlZCB0byBnZXQgYXNzZXQgaWQDCQAAAgULc3Rhd0Fzc2V0SWQFC3N0YXdBc3NldElkBAZsZXNzZWUEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX2xlc3NlZUFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwCQEHQWRkcmVzcwEJANkEAQUBdAkAAgECIGZhaWxlZCB0byBnZXQgbGVhc2Ugbm9kZSBhZGRyZXNzAwkAAAIFBmxlc3NlZQUGbGVzc2VlBBB1c2VyTG9ja0luZGV4S2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBRRfdXNlckxvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEEnVzZXJUb3RhbExvY2tlZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEDnVzZXJJbmRleENvdW50BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEHVzZXJMb2NrSW5kZXhLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwCQBkAgUBeAABAAADCQAAAgUOdXNlckluZGV4Q291bnQFDnVzZXJJbmRleENvdW50BA91c2VyVG90YWxMb2NrZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUSdXNlclRvdGFsTG9ja2VkS2V5AwkAAQIFByRtYXRjaDACA0ludAQBeAUHJG1hdGNoMAkAZAIFAXgFDWFtb3VudEluV2F2ZXMFDWFtb3VudEluV2F2ZXMDCQAAAgUPdXNlclRvdGFsTG9ja2VkBQ91c2VyVG90YWxMb2NrZWQECGxlYXNlT3V0CQDECAIFBmxlc3NlZQUNYW1vdW50SW5XYXZlcwMJAAACBQhsZWFzZU91dAUIbGVhc2VPdXQECmxlYXNlSWRTdHIJANgEAQkAuQgBBQhsZWFzZU91dAMJAAACBQpsZWFzZUlkU3RyBQpsZWFzZUlkU3RyCQDOCAIJAM4IAgkAzggCCQDMCAIFCGxlYXNlT3V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFCmFkZHJlc3NGZWUFA2ZlZQULc3Rhd0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBRF1c2VyR2V0U3Rhd0Ftb3VudAULc3Rhd0Fzc2V0SWQFA25pbAkBEl9yZWdpc3RlclVzZXJFbnRyeQ0FBXRyeElEBQ1jYWxsZXJBZGRyZXNzBQpsb2NrUGVyaW9kBRNsb2NrUGVyaW9kVG9NaWxpc2VjBQluZXdfaW5kZXgFDWFtb3VudEluV2F2ZXMFEXVzZXJHZXRTdGF3QW1vdW50BQZzdGF3UEwFBmhlaWdodAUKbGVhc2VJZFN0cgUPdXNlclRvdGFsTG9ja2VkBQ51c2VySW5kZXhDb3VudAIGbGVhc2VkCQESX3VwZGF0ZUdsb2JhbEVudHJ5BAUNYW1vdW50SW5XYXZlcwgFDXRvdGFsU3Rhd01pbnQCXzEFBnN0YXdQTAUJbmV3X2luZGV4CAUNdG90YWxTdGF3TWludAJfMgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBepaKf", "height": 2495180, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2mpv6umohyuNVKvESwUrY9acrJvsuqhcR9NVgpvVxMgD Next: 8FRpNf98EMv3oYEvpfy1bi29Ro2Z9AivHpe9yFqBze1a Diff:
OldNewDifferences
250250 else W
251251
252252
253-func aw (ax) = {
253+func aw (ax,ay) = {
254254 let U = ax
255255 if ($isInstanceOf(U, "String"))
256256 then {
257257 let ax = U
258- let ay = addressFromString(ax)
259- let az = ay
260- if ($isInstanceOf(az, "Address"))
258+ let az = addressFromString(ax)
259+ let aA = az
260+ if ($isInstanceOf(aA, "Address"))
261261 then {
262- let ay = az
262+ let az = aA
263263 true
264264 }
265- else throw("invalid address")
265+ else {
266+ let aB = ay
267+ if ($isInstanceOf(aB, "String"))
268+ then {
269+ let aC = aB
270+ throw(aC)
271+ }
272+ else false
273+ }
266274 }
267275 else if ($isInstanceOf(U, "ByteVector"))
268276 then {
269277 let ax = U
270- let ay = addressFromPublicKey(ax)
271- let az = ay
272- if ($isInstanceOf(az, "Address"))
278+ let az = addressFromPublicKey(ax)
279+ let aA = az
280+ if ($isInstanceOf(aA, "Address"))
273281 then {
274- let ay = az
282+ let az = aA
275283 true
276284 }
277- else throw("invalid public key")
285+ else {
286+ let aB = ay
287+ if ($isInstanceOf(aB, "String"))
288+ then {
289+ let aC = aB
290+ throw(aC)
291+ }
292+ else false
293+ }
278294 }
279295 else throw("invalid input type")
280296 }
281297
282298
283-func aA (aB) = {
284- let U = assetInfo(fromBase58String(aB))
299+func aD (aE,ay) = {
300+ let U = assetInfo(fromBase58String(aE))
285301 if ($isInstanceOf(U, "Asset"))
286302 then {
287- let aC = U
303+ let aF = U
288304 true
289305 }
290- else false
306+ else {
307+ let aA = ay
308+ if ($isInstanceOf(aA, "String"))
309+ then {
310+ let aC = aA
311+ throw(aC)
312+ }
313+ else false
314+ }
291315 }
292316
293317
294-func aD () = {
295- let aE = {
318+func aG () = {
319+ let aH = {
296320 let U = ai(p)
297321 if ($isInstanceOf(U, "Int"))
298322 then {
299- let aF = U
300- aF
323+ let aI = U
324+ aI
301325 }
302326 else throw("circulation index not previously defined")
303327 }
304- if ((aE == aE))
328+ if ((aH == aH))
305329 then {
306- let aG = {
330+ let aJ = {
307331 let U = ai(m)
308332 if ($isInstanceOf(U, "String"))
309333 then {
310- let aF = U
311- aF
334+ let aI = U
335+ aI
312336 }
313337 else throw("asset id not previously defined")
314338 }
315- if ((aG == aG))
339+ if ((aJ == aJ))
316340 then {
317- let aH = {
318- let U = assetInfo(fromBase58String(aG))
341+ let aK = {
342+ let U = assetInfo(fromBase58String(aJ))
319343 if ($isInstanceOf(U, "Asset"))
320344 then {
321- let aC = U
322- aC.quantity
345+ let aF = U
346+ aF.quantity
323347 }
324- else throw(("asset not found for " + aG))
348+ else throw(("asset not found for " + aJ))
325349 }
326- let aI = (av((aH - i)) / i)
327- let aJ = if ((aI > aE))
328- then (aI + aE)
329- else aE
330- let aK = {
350+ let aL = (av((aK - i)) / i)
351+ let aM = if ((aL > aH))
352+ then (aL + aH)
353+ else aH
354+ let aN = {
331355 let U = ai(l)
332356 if ($isInstanceOf(U, "Int"))
333357 then {
334- let aF = U
335- aF
358+ let aI = U
359+ aI
336360 }
337361 else throw("failed to get miniting rate")
338362 }
339- if ((aJ == aE))
340- then $Tuple2(aK, nil)
363+ if ((aM == aH))
364+ then $Tuple2(aN, nil)
341365 else {
342- let aL = {
366+ let aO = {
343367 let U = ai(k)
344368 if ($isInstanceOf(U, "Int"))
345369 then {
346- let aF = U
347- aF
370+ let aI = U
371+ aI
348372 }
349373 else throw("failed to get percentage reduction factor")
350374 }
351- let aM = (aK - fraction(aK, aL, 100))
352- let aN = af(l, aM)
353- let aO = af(k, aL)
354- let aP = af(p, aJ)
355- $Tuple2(aM, [aN, aO, aP])
375+ let aP = (aN - fraction(aN, aO, 100))
376+ let aQ = af(l, aP)
377+ let aR = af(k, aO)
378+ let aS = af(p, aM)
379+ $Tuple2(aP, [aQ, aR, aS])
356380 }
357381 }
358382 else throw("Strict value is not equal to itself.")
361385 }
362386
363387
364-func aQ (aR,aS,aT,aU) = {
365- let aV = {
388+func aT (aU,aV,aW,aX) = {
389+ let aY = {
366390 let U = ai(I)
367391 if ($isInstanceOf(U, "Int"))
368392 then {
369- let aF = U
370- (aF + aR)
393+ let aI = U
394+ (aI + aU)
371395 }
372396 else throw("failed to get global total waves")
373397 }
374- if ((aV == aV))
398+ if ((aY == aY))
375399 then {
376- let aW = {
400+ let aZ = {
377401 let U = ai(H)
378402 if ($isInstanceOf(U, "Int"))
379403 then {
380- let aF = U
381- (aF + aS)
404+ let aI = U
405+ (aI + aV)
382406 }
383407 else throw("failed to get global total staw minted")
384408 }
385- if ((aW == aW))
409+ if ((aZ == aZ))
386410 then {
387- let aX = {
411+ let ba = {
388412 let U = ai(J)
389413 if ($isInstanceOf(U, "Int"))
390414 then {
391- let aF = U
392- (aF + aT)
415+ let aI = U
416+ (aI + aW)
393417 }
394418 else throw("failed to get global total stawpl")
395419 }
396- if ((aX == aX))
420+ if ((ba == ba))
397421 then {
398- let aY = {
422+ let bb = {
399423 let U = ai(K)
400424 if ($isInstanceOf(U, "Int"))
401425 then {
402- let aF = U
403- (aF + aU)
426+ let aI = U
427+ (aI + aX)
404428 }
405429 else throw("failed to get global index count")
406430 }
407- if ((aY == aY))
408- then [af(I, aV), af(H, aW), af(J, aX), af(K, aY)]
431+ if ((bb == bb))
432+ then [af(I, aY), af(H, aZ), af(J, ba), af(K, bb)]
409433 else throw("Strict value is not equal to itself.")
410434 }
411435 else throw("Strict value is not equal to itself.")
416440 }
417441
418442
419-func aZ (ba,bb,bc,bd,be,aR,aS,bf,bg,bh,bi,bj,bk) = {
420- let bl = makeString([bb, ba, C], a)
421- let bm = makeString([bb, ba, w], a)
422- let bn = makeString([bb, ba, x], a)
423- let bo = makeString([bb, ba, z], a)
424- let bp = makeString([bb, ba, A], a)
425- let bq = makeString([bb, ba, B], a)
426- let br = makeString([bb, ba, D], a)
427- let bs = makeString([bb, ba, y], a)
428- let bt = makeString([bb, v], a)
429- let bu = makeString([bb, u], a)
430- let bv = makeString([bb, ba, E], a)
431- let bw = makeString([bb, ba, F], a)
432- let bx = makeString([bb, ba, G], a)
433- let by = makeString(["%s", ba], a)
434- let bz = makeString(["%d", toString(bc)], a)
435- let bA = makeString(["%d", toString(be)], a)
436- let bB = makeString(["%d", toString(aR)], a)
437- let bC = makeString(["%d", toString(aS)], a)
438- let bD = makeString(["%d", toString(bf)], a)
439- let bE = makeString(["%d", toString(bg)], a)
440- let bF = makeString(["%b", bh], a)
443+func bc (bd,be,bf,bg,bh,aU,aV,bi,bj,bk,bl,bm,bn) = {
444+ let bo = makeString([be, bd, C], a)
445+ let bp = makeString([be, bd, w], a)
446+ let bq = makeString([be, bd, x], a)
447+ let br = makeString([be, bd, z], a)
448+ let bs = makeString([be, bd, A], a)
449+ let bt = makeString([be, bd, B], a)
450+ let bu = makeString([be, bd, D], a)
451+ let bv = makeString([be, bd, y], a)
452+ let bw = makeString([be, v], a)
453+ let bx = makeString([be, u], a)
454+ let by = makeString([be, bd, E], a)
455+ let bz = makeString([be, bd, F], a)
456+ let bA = makeString([be, bd, G], a)
457+ let bB = makeString(["%s", bd], a)
458+ let bC = makeString(["%d", toString(bf)], a)
459+ let bD = makeString(["%d", toString(bh)], a)
460+ let bE = makeString(["%d", toString(aU)], a)
461+ let bF = makeString(["%d", toString(aV)], a)
441462 let bG = makeString(["%d", toString(bi)], a)
442463 let bH = makeString(["%d", toString(bj)], a)
443- let bI = makeString(["%d", toString(bd)], a)
444- let bJ = makeString(["%d", toString(0)], a)
445- let bK = makeString(["%s", bk], a)
446-[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)]
464+ let bI = makeString(["%b", bk], a)
465+ let bJ = makeString(["%d", toString(bl)], a)
466+ let bK = makeString(["%d", toString(bm)], a)
467+ let bL = makeString(["%d", toString(bg)], a)
468+ let bM = makeString(["%d", toString(0)], a)
469+ let bN = makeString(["%s", bn], a)
470+[aq(bo, bB), aq(bq, bD), ac(bx, bK), ac(bw, bJ), aq(bp, bC), aq(by, bL), aq(br, bE), aq(bs, bF), ac(bt, bG), ac(bz, bM), aq(bu, bH), aq(bv, bI), ac(bA, bN)]
447471 }
448472
449473
450-func bL (h,bM) = {
451- let bN = aD()
452- let bO = (fraction(c, (f * bN._1), g(h)) * bM)
453- if ((size(bN._2) == 0))
454- then $Tuple2(bO, nil)
455- else $Tuple2(bO, bN._2)
474+func bO (h,bP) = {
475+ let bQ = aG()
476+ let bR = (fraction(c, (f * bQ._1), g(h)) * bP)
477+ if ((size(bQ._2) == 0))
478+ then $Tuple2(bR, nil)
479+ else $Tuple2(bR, bQ._2)
456480 }
457481
458482
459-func bP (h,bQ) = {
460- let bR = fraction(h, 15, 10)
461- ((bQ / ((h * bR) - h)) * f)
483+func bS (h,bT) = {
484+ let bU = fraction(h, 15, 10)
485+ ((bT / ((h * bU) - h)) * f)
462486 }
463487
464488
465-func bS (bT) = {
466- let bU = Y(L(J), "could not get the running StawLP")
467-[aa(J, (bU + bT))]
489+func bV (bW) = {
490+ let bX = Y(L(J), "could not get the running StawLP")
491+[aa(J, (bX + bW))]
468492 }
469493
470494
471-func bV (bT) = {
472- let bU = Y(L(J), "could not get the running StawLP")
473-[aa(J, (bU - bT))]
495+func bY (bW) = {
496+ let bX = Y(L(J), "could not get the running StawLP")
497+[aa(J, (bX - bW))]
474498 }
475499
476500
477-func bW (bT) = {
478- let bX = Y(L(I), "could not get total locked waves")
479-[aa(I, (bX + bT))]
501+func bZ (bW) = {
502+ let ca = Y(L(I), "could not get total locked waves")
503+[aa(I, (ca + bW))]
480504 }
481505
482506
483-func bY (bT) = {
484- let bX = Y(L(I), "could not get total locked waves")
485-[aa(I, (bX - bT))]
507+func cb (bW) = {
508+ let ca = Y(L(I), "could not get total locked waves")
509+[aa(I, (ca - bW))]
486510 }
487511
488512
489-func bZ (ca) = {
490- let cb = {
491- let U = blockInfoByHeight(ca)
513+func cc (cd) = {
514+ let ce = {
515+ let U = blockInfoByHeight(cd)
492516 if ($isInstanceOf(U, "BlockInfo"))
493517 then {
494- let cc = U
495- cc.timestamp
518+ let cf = U
519+ cf.timestamp
496520 }
497521 else throw("counld get timestamp")
498522 }
499- cb
523+ ce
500524 }
501525
502526
503527 @Callable(at)
504-func getEmission (h,bQ) = {
505- let cd = as(at)
506- if ((cd == cd))
507- then $Tuple2(nil, bP(h, bQ))
528+func getEmission (h,bT) = {
529+ let cg = as(at)
530+ if ((cg == cg))
531+ then $Tuple2(nil, bS(h, bT))
508532 else throw("Strict value is not equal to itself.")
509533 }
510534
511535
512536
513537 @Callable(at)
514-func init (au,ce,aB,cf) = {
515- let cg = if (isDefined(N(n)))
538+func init (au,ch,aE,ci) = {
539+ let cj = if (isDefined(N(n)))
516540 then as(at)
517541 else true
518- if ((cg == cg))
542+ if ((cj == cj))
519543 then {
520- let cd = aw(au)
521- if ((cd == cd))
544+ let cg = aw(au, "invalid address")
545+ if ((cg == cg))
522546 then {
523- let ch = aw(ce)
524- if ((ch == ch))
547+ let ck = aw(ch, "invalid address")
548+ if ((ck == ck))
525549 then {
526- let ci = aw(cf)
527- if ((ci == ci))
550+ let cl = aw(ci, "invalid address")
551+ if ((cl == cl))
528552 then {
529- let cj = if (aA(aB))
553+ let cm = if (aD(aE, "invalid asset"))
530554 then true
531555 else throw("invalid asset Id")
532- if ((cj == cj))
556+ if ((cm == cm))
533557 then {
534- let ck = S(p, 0)
535- let cl = S(k, 0)
536- let cm = S(l, c)
537- let cn = S(H, 0)
538- let co = S(J, 0)
539- let cp = S(K, 0)
540- let cq = S(I, 0)
541-[af(n, au), af(o, ce), af(m, aB), af(q, cf), af(p, ck), af(l, cm), af(k, cl), af(I, cq), af(J, co), af(H, cn)]
558+ let cn = S(p, 0)
559+ let co = S(k, 0)
560+ let cp = S(l, c)
561+ let cq = S(H, 0)
562+ let cr = S(J, 0)
563+ let cs = S(K, 0)
564+ let ct = S(I, 0)
565+[af(n, au), af(o, ch), af(m, aE), af(q, ci), af(p, cn), af(l, cp), af(k, co), af(I, ct), af(J, cr), af(H, cq)]
542566 }
543567 else throw("Strict value is not equal to itself.")
544568 }
555579
556580 @Callable(at)
557581 func modifyGlobalParams (W) = {
558- let cd = as(at)
559- if ((cd == cd))
582+ let cg = as(at)
583+ if ((cg == cg))
560584 then {
561- let cr = makeString(["got", "list size of", toString(size(W)), "but expected [global_key, value] pair"], " ")
562- let ch = ad((size(W) != 2), cr)
563- if ((ch == ch))
585+ let ay = makeString(["got", "list size of", toString(size(W)), "but expected [global_key, value] pair"], " ")
586+ let ck = ad((size(W) != 2), ay)
587+ if ((ck == ck))
564588 then {
565589 let M = W[0]
566- let cs = parseInt(W[1])
567- let U = cs
590+ let cu = parseInt(W[1])
591+ let U = cu
568592 if ($isInstanceOf(U, "Int"))
569593 then {
570594 let ak = U
571- let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
572- if ((ct == ct))
595+ let cv = ad((N(M) == unit), (("key " + M) + " not recognized"))
596+ if ((cv == cv))
573597 then {
574- let cu = {
575- let az = ai(M)
576- if ($isInstanceOf(az, "Int"))
598+ let cw = {
599+ let aA = ai(M)
600+ if ($isInstanceOf(aA, "Int"))
577601 then {
578- let aF = az
602+ let aI = aA
579603 true
580604 }
581605 else throw("invalid key-value pair")
582606 }
583- if ((cu == cu))
607+ if ((cw == cw))
584608 then [af(M, ak)]
585609 else throw("Strict value is not equal to itself.")
586610 }
589613 else if ($isInstanceOf(U, "Unit"))
590614 then {
591615 let ak = U
592- let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
593- if ((ct == ct))
616+ let cv = ad((N(M) == unit), (("key " + M) + " not recognized"))
617+ if ((cv == cv))
594618 then {
595- let cv = W[1]
596- let cw = ai(n)
597- let cj = {
598- let az = cw
599- if ($isInstanceOf(az, "String"))
619+ let cx = W[1]
620+ let cy = ai(n)
621+ let cm = {
622+ let aA = cy
623+ if ($isInstanceOf(aA, "String"))
600624 then {
601- let cx = az
602- if ((size(cx) == size(cv)))
603- then aw(cv)
604- else if (aA(cv))
605- then true
606- else throw("string type for value not supported")
625+ let cz = aA
626+ if ((size(cz) == size(cx)))
627+ then aw(cx, "string type for value not supported")
628+ else aD(cx, "string type for value not supported")
607629 }
608- else throw("type for value not supported")
630+ else false
609631 }
610- if ((cj == cj))
611- then [af(M, cv)]
632+ if ((cm == cm))
633+ then [af(M, cx)]
612634 else throw("Strict value is not equal to itself.")
613635 }
614636 else throw("Strict value is not equal to itself.")
624646
625647 @Callable(at)
626648 func revokeLock () = {
627- let cd = as(at)
628- if ((cd == cd))
649+ let cg = as(at)
650+ if ((cg == cg))
629651 then nil
630652 else throw("Strict value is not equal to itself.")
631653 }
633655
634656
635657 @Callable(at)
636-func claim (ba) = {
637- let cy = toBase58String(at.caller.bytes)
638- let cz = makeString([cy, ba, z], a)
639- let cA = makeString([cy, ba, w], a)
640- let cB = makeString([cy, ba, y], a)
641- let cC = makeString([cy, ba, E], a)
642- let cD = makeString([cy, ba, F], a)
643- let cE = makeString([cy, ba, B], a)
644- let cF = makeString([cy, ba, z], a)
645- let cG = makeString([cy, v], a)
646- let cH = makeString([cy, ba, G], a)
647- let cI = makeString([cy, ba, G], a)
648- let cJ = {
658+func claim (bd) = {
659+ let cA = toBase58String(at.caller.bytes)
660+ let cB = makeString([cA, bd, z], a)
661+ let cC = makeString([cA, bd, w], a)
662+ let cD = makeString([cA, bd, y], a)
663+ let cE = makeString([cA, bd, E], a)
664+ let cF = makeString([cA, bd, F], a)
665+ let cG = makeString([cA, bd, B], a)
666+ let cH = makeString([cA, bd, z], a)
667+ let cI = makeString([cA, v], a)
668+ let cJ = makeString([cA, bd, G], a)
669+ let cK = makeString([cA, bd, G], a)
670+ let cL = {
649671 let U = ai(I)
650672 if ($isInstanceOf(U, "Int"))
651673 then {
652- let aF = U
653- aF
674+ let aI = U
675+ aI
654676 }
655677 else throw("failed to get global total waves")
656678 }
657- if ((cJ == cJ))
679+ if ((cL == cL))
658680 then {
659- let cK = {
681+ let cM = {
660682 let U = ai(J)
661683 if ($isInstanceOf(U, "Int"))
662684 then {
663- let aF = U
664- aF
685+ let aI = U
686+ aI
665687 }
666688 else throw("failed to get global total waves")
667689 }
668- if ((cK == cK))
690+ if ((cM == cM))
669691 then {
670- let bh = {
671- let U = ai(cB)
692+ let bk = {
693+ let U = ai(cD)
672694 if ($isInstanceOf(U, "ByteVector"))
673695 then {
674- let aF = U
675- aF
696+ let aI = U
697+ aI
676698 }
677699 else throw("failed to get lease id")
678700 }
679- if ((bh == bh))
701+ if ((bk == bk))
680702 then {
681- let cL = {
682- let U = ai(cG)
703+ let cN = {
704+ let U = ai(cI)
683705 if ($isInstanceOf(U, "Int"))
684706 then {
685- let aF = U
686- aF
707+ let aI = U
708+ aI
687709 }
688710 else throw("failed to get total waves locked by this address")
689711 }
690- if ((cL == cL))
712+ if ((cN == cN))
691713 then {
692- let aR = {
693- let U = ai(cF)
714+ let aU = {
715+ let U = ai(cH)
694716 if ($isInstanceOf(U, "Int"))
695717 then {
696- let aF = U
697- aF
718+ let aI = U
719+ aI
698720 }
699721 else throw("failed to get total waves locked")
700722 }
701- if ((aR == aR))
723+ if ((aU == aU))
702724 then {
703- let cM = {
704- let U = ai(cD)
725+ let cO = {
726+ let U = ai(cF)
705727 if ($isInstanceOf(U, "Int"))
706728 then {
707- let aF = U
708- aF
729+ let aI = U
730+ aI
709731 }
710732 else throw("failed to get total waves claimed")
711733 }
712- if ((cM == cM))
734+ if ((cO == cO))
713735 then {
714- let bf = {
715- let U = ai(cE)
736+ let bi = {
737+ let U = ai(cG)
716738 if ($isInstanceOf(U, "Int"))
717739 then {
718- let aF = U
719- aF
740+ let aI = U
741+ aI
720742 }
721743 else throw("failed to get stawPL")
722744 }
723- if ((bf == bf))
745+ if ((bi == bi))
724746 then {
725- let cN = {
726- let U = ai(cC)
747+ let cP = {
748+ let U = ai(cE)
727749 if ($isInstanceOf(U, "Int"))
728750 then {
729- let aF = U
730- aF
751+ let aI = U
752+ aI
731753 }
732754 else throw("failed to get lock period timespam")
733755 }
734- if ((cN == cN))
756+ if ((cP == cP))
735757 then {
736- let cO = {
737- let U = bZ(height)
758+ let cQ = {
759+ let U = cc(height)
738760 if ($isInstanceOf(U, "Int"))
739761 then {
740- let aF = U
741- aF
762+ let aI = U
763+ aI
742764 }
743765 else throw("failed to get current timestamp")
744766 }
745- if ((cO == cO))
767+ if ((cQ == cQ))
746768 then {
747- let bQ = {
748- let U = ai(cz)
769+ let bT = {
770+ let U = ai(cB)
749771 if ($isInstanceOf(U, "Int"))
750772 then {
751- let aF = U
752- aF
773+ let aI = U
774+ aI
753775 }
754776 else throw("failed to get collateral")
755777 }
756- if ((bQ == bQ))
778+ if ((bT == bT))
757779 then {
758780 let h = {
759- let U = ai(cA)
781+ let U = ai(cC)
760782 if ($isInstanceOf(U, "Int"))
761783 then {
762- let aF = U
763- aF
784+ let aI = U
785+ aI
764786 }
765787 else throw("failed to get lockPeriod")
766788 }
767789 if ((h == h))
768790 then {
769- let cP = {
770- let U = ai(cH)
791+ let cR = {
792+ let U = ai(cJ)
771793 if ($isInstanceOf(U, "String"))
772794 then {
773- let aF = U
774- aF
795+ let aI = U
796+ aI
775797 }
776798 else throw("failed to get lease state")
777799 }
778- if ((cP == cP))
800+ if ((cR == cR))
779801 then {
780- let bk = {
781- let U = ai(cI)
802+ let bn = {
803+ let U = ai(cK)
782804 if ($isInstanceOf(U, "String"))
783805 then {
784- let aF = U
785- aF
806+ let aI = U
807+ aI
786808 }
787809 else throw("failed to get lease state for user")
788810 }
789- if ((bk == bk))
811+ if ((bn == bn))
790812 then {
791- let cd = ad((cN > cO), "lock period for this entry has not elapsed")
792- if ((cd == cd))
813+ let cg = ad((cP > cQ), "lock period for this entry has not elapsed")
814+ if ((cg == cg))
793815 then {
794- let cQ = if ((cP == "leased"))
795- then $Tuple2(LeaseCancel(bh), ac(cH, "cancelled"))
796- else $Tuple2(ac(cH, "cancelled"), ac(cH, "cancelled"))
797- if ((cQ == cQ))
816+ let cS = if ((cR == "leased"))
817+ then $Tuple2(LeaseCancel(bk), ac(cJ, "cancelled"))
818+ else $Tuple2(ac(cJ, "cancelled"), ac(cJ, "cancelled"))
819+ if ((cS == cS))
798820 then {
799- let ch = ad(if ((0 == aR))
821+ let ck = ad(if ((0 == aU))
800822 then true
801- else (0 == bf), "all claims exhausted for this trx")
802- if ((ch == ch))
823+ else (0 == bi), "all claims exhausted for this trx")
824+ if ((ck == ck))
803825 then {
804- let cR = (bP(h, bQ) * f)
805- let cS = {
806- let cT = (cO - cN)
807- let cU = (cT / f)
808- if ((cU == 0))
826+ let cT = (bS(h, bT) * f)
827+ let cU = {
828+ let cV = (cQ - cP)
829+ let cW = (cV / f)
830+ if ((cW == 0))
809831 then throw("less than 24hrs before first claim")
810- else if (((cT % f) != 0))
832+ else if (((cV % f) != 0))
811833 then throw("already claimed or less than 24hrs before next claim")
812- else if ((cU > h))
834+ else if ((cW > h))
813835 then throw("all claims exhausted")
814836 else {
815- let cV = (cU * cR)
816- let cW = ad((cV == cM), "can only claim once in 24hrs")
817- if ((cW == cW))
837+ let cX = (cW * cT)
838+ let cY = ad((cX == cO), "can only claim once in 24hrs")
839+ if ((cY == cY))
818840 then {
819- let cX = ad(((cV + cM) > aR), "all claims exhausted")
820- if ((cX == cX))
841+ let cZ = ad(((cX + cO) > aU), "all claims exhausted")
842+ if ((cZ == cZ))
821843 then {
822- let cY = if ((cU == 1))
823- then cV
824- else (cV - cM)
825- let cZ = cV
826- let da = if ((cU == 1))
827- then (aR - cV)
828- else (aR - (cV - cM))
829- let db = if ((cU == 1))
830- then (bf - cV)
831- else (bf - (cV - cM))
832- let dc = (cJ - da)
833- let dd = (cK - db)
834- let de = (cL - cY)
835- let bB = makeString(["%d", toString(da)], a)
836- let bD = makeString(["%d", toString(db)], a)
837- let bJ = makeString(["%d", toString(cZ)], a)
838- let df = makeString(["%d", toString(de)], a)
839-[cQ._1, cQ._2, ac(cF, bB), ac(cE, bD), ac(cD, bJ), ac(cG, df), af(I, dc), af(J, dd), ScriptTransfer(Address(at.caller.bytes), cY, unit)]
844+ let da = if ((cW == 1))
845+ then cX
846+ else (cX - cO)
847+ let db = cX
848+ let dc = if ((cW == 1))
849+ then (aU - cX)
850+ else (aU - (cX - cO))
851+ let dd = if ((cW == 1))
852+ then (bi - cX)
853+ else (bi - (cX - cO))
854+ let de = (cL - dc)
855+ let df = (cM - dd)
856+ let dg = (cN - da)
857+ let bE = makeString(["%d", toString(dc)], a)
858+ let bG = makeString(["%d", toString(dd)], a)
859+ let bM = makeString(["%d", toString(db)], a)
860+ let dh = makeString(["%d", toString(dg)], a)
861+[cS._1, cS._2, ac(cH, bE), ac(cG, bG), ac(cF, bM), ac(cI, dh), af(I, de), af(J, df), ScriptTransfer(Address(at.caller.bytes), da, unit)]
840862 }
841863 else throw("Strict value is not equal to itself.")
842864 }
843865 else throw("Strict value is not equal to itself.")
844866 }
845867 }
846- if ((cS == cS))
847- then cS
868+ if ((cU == cU))
869+ then cU
848870 else throw("Strict value is not equal to itself.")
849871 }
850872 else throw("Strict value is not equal to itself.")
884906
885907 @Callable(at)
886908 func mintStaw (h) = {
887- let cy = toBase58String(at.caller.bytes)
888- let dg = toBase58String(at.transactionId)
889- let cd = ad((1 != size(at.payments)), "no payments attached")
890- if ((cd == cd))
909+ let cA = toBase58String(at.caller.bytes)
910+ let di = toBase58String(at.transactionId)
911+ let cg = ad((1 != size(at.payments)), "no payments attached")
912+ if ((cg == cg))
891913 then {
892- let ch = if (isDefined(at.payments[0].assetId))
914+ let ck = if (isDefined(at.payments[0].assetId))
893915 then throw("only waves supported")
894916 else true
895- if ((ch == ch))
917+ if ((ck == ck))
896918 then {
897- let dh = at.payments[0].amount
898- let ci = if (if ((d > dh))
919+ let dj = at.payments[0].amount
920+ let cl = if (if ((d > dj))
899921 then true
900- else (dh > e))
922+ else (dj > e))
901923 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
902924 else true
903- if ((ci == ci))
925+ if ((cl == cl))
904926 then {
905- let cj = if ((b > h))
927+ let cm = if ((b > h))
906928 then throw("minimum of 14 days lock period")
907929 else true
908- if ((cj == cj))
930+ if ((cm == cm))
909931 then {
910- let di = bL(h, dh)
911- let aT = dh
912- let dj = fraction(di._1, 10, 100)
913- let dk = (di._1 - dj)
914- let dl = (bZ(height) + an(h))
915- if ((dl == dl))
932+ let dk = bO(h, dj)
933+ let aW = dj
934+ let dl = fraction(dk._1, 10, 100)
935+ let dm = (dk._1 - dl)
936+ let dn = (cc(height) + an(h))
937+ if ((dn == dn))
916938 then {
917- let dm = {
939+ let do = {
918940 let U = ai(K)
919941 if ($isInstanceOf(U, "Int"))
920942 then {
921- let aF = U
922- (aF + 1)
943+ let aI = U
944+ (aI + 1)
923945 }
924946 else throw("failed to get current global index count")
925947 }
926- if ((dm == dm))
948+ if ((do == do))
927949 then {
928- let dn = {
950+ let dp = {
929951 let U = ai(o)
930952 if ($isInstanceOf(U, "String"))
931953 then {
932- let aF = U
933- Address(fromBase58String(aF))
954+ let aI = U
955+ Address(fromBase58String(aI))
934956 }
935957 else throw("failed to get dfx address")
936958 }
937- if ((dn == dn))
959+ if ((dp == dp))
938960 then {
939- let aG = {
961+ let aJ = {
940962 let U = ai(m)
941963 if ($isInstanceOf(U, "String"))
942964 then {
943- let aF = U
944- fromBase58String(aF)
965+ let aI = U
966+ fromBase58String(aI)
945967 }
946968 else throw("failed to get asset id")
947969 }
948- if ((aG == aG))
970+ if ((aJ == aJ))
949971 then {
950- let do = {
972+ let dq = {
951973 let U = ai(q)
952974 if ($isInstanceOf(U, "String"))
953975 then {
954- let aF = U
955- Address(fromBase58String(aF))
976+ let aI = U
977+ Address(fromBase58String(aI))
956978 }
957979 else throw("failed to get lease node address")
958980 }
959- if ((do == do))
981+ if ((dq == dq))
960982 then {
961- let dp = makeString([cy, u], a)
962- let dq = makeString([cy, v], a)
963- let dr = {
964- let U = ai(dp)
983+ let dr = makeString([cA, u], a)
984+ let ds = makeString([cA, v], a)
985+ let dt = {
986+ let U = ai(dr)
965987 if ($isInstanceOf(U, "Int"))
966988 then {
967989 let ak = U
969991 }
970992 else 0
971993 }
972- if ((dr == dr))
994+ if ((dt == dt))
973995 then {
974- let ds = {
975- let U = ai(dq)
996+ let du = {
997+ let U = ai(ds)
976998 if ($isInstanceOf(U, "Int"))
977999 then {
9781000 let ak = U
979- (ak + dh)
1001+ (ak + dj)
9801002 }
981- else dh
1003+ else dj
9821004 }
983- if ((ds == ds))
1005+ if ((du == du))
9841006 then {
985- let dt = Lease(do, dh)
986- if ((dt == dt))
1007+ let dv = Lease(dq, dj)
1008+ if ((dv == dv))
9871009 then {
988- let du = toBase58String(calculateLeaseId(dt))
989- if ((du == du))
990- then ((([dt, ScriptTransfer(dn, dj, aG), ScriptTransfer(Address(at.caller.bytes), dk, aG)] ++ aZ(dg, cy, h, dl, dm, dh, dk, aT, height, du, ds, dr, "leased")) ++ aQ(dh, di._1, aT, dm)) ++ di._2)
1010+ let dw = toBase58String(calculateLeaseId(dv))
1011+ if ((dw == dw))
1012+ then ((([dv, ScriptTransfer(dp, dl, aJ), ScriptTransfer(Address(at.caller.bytes), dm, aJ)] ++ bc(di, cA, h, dn, do, dj, dm, aW, height, dw, du, dt, "leased")) ++ aT(dj, dk._1, aW, do)) ++ dk._2)
9911013 else throw("Strict value is not equal to itself.")
9921014 }
9931015 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((0 >= ao), "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
253-func aw (ax) = {
253+func aw (ax,ay) = {
254254 let U = ax
255255 if ($isInstanceOf(U, "String"))
256256 then {
257257 let ax = U
258- let ay = addressFromString(ax)
259- let az = ay
260- if ($isInstanceOf(az, "Address"))
258+ let az = addressFromString(ax)
259+ let aA = az
260+ if ($isInstanceOf(aA, "Address"))
261261 then {
262- let ay = az
262+ let az = aA
263263 true
264264 }
265- else throw("invalid address")
265+ else {
266+ let aB = ay
267+ if ($isInstanceOf(aB, "String"))
268+ then {
269+ let aC = aB
270+ throw(aC)
271+ }
272+ else false
273+ }
266274 }
267275 else if ($isInstanceOf(U, "ByteVector"))
268276 then {
269277 let ax = U
270- let ay = addressFromPublicKey(ax)
271- let az = ay
272- if ($isInstanceOf(az, "Address"))
278+ let az = addressFromPublicKey(ax)
279+ let aA = az
280+ if ($isInstanceOf(aA, "Address"))
273281 then {
274- let ay = az
282+ let az = aA
275283 true
276284 }
277- else throw("invalid public key")
285+ else {
286+ let aB = ay
287+ if ($isInstanceOf(aB, "String"))
288+ then {
289+ let aC = aB
290+ throw(aC)
291+ }
292+ else false
293+ }
278294 }
279295 else throw("invalid input type")
280296 }
281297
282298
283-func aA (aB) = {
284- let U = assetInfo(fromBase58String(aB))
299+func aD (aE,ay) = {
300+ let U = assetInfo(fromBase58String(aE))
285301 if ($isInstanceOf(U, "Asset"))
286302 then {
287- let aC = U
303+ let aF = U
288304 true
289305 }
290- else false
306+ else {
307+ let aA = ay
308+ if ($isInstanceOf(aA, "String"))
309+ then {
310+ let aC = aA
311+ throw(aC)
312+ }
313+ else false
314+ }
291315 }
292316
293317
294-func aD () = {
295- let aE = {
318+func aG () = {
319+ let aH = {
296320 let U = ai(p)
297321 if ($isInstanceOf(U, "Int"))
298322 then {
299- let aF = U
300- aF
323+ let aI = U
324+ aI
301325 }
302326 else throw("circulation index not previously defined")
303327 }
304- if ((aE == aE))
328+ if ((aH == aH))
305329 then {
306- let aG = {
330+ let aJ = {
307331 let U = ai(m)
308332 if ($isInstanceOf(U, "String"))
309333 then {
310- let aF = U
311- aF
334+ let aI = U
335+ aI
312336 }
313337 else throw("asset id not previously defined")
314338 }
315- if ((aG == aG))
339+ if ((aJ == aJ))
316340 then {
317- let aH = {
318- let U = assetInfo(fromBase58String(aG))
341+ let aK = {
342+ let U = assetInfo(fromBase58String(aJ))
319343 if ($isInstanceOf(U, "Asset"))
320344 then {
321- let aC = U
322- aC.quantity
345+ let aF = U
346+ aF.quantity
323347 }
324- else throw(("asset not found for " + aG))
348+ else throw(("asset not found for " + aJ))
325349 }
326- let aI = (av((aH - i)) / i)
327- let aJ = if ((aI > aE))
328- then (aI + aE)
329- else aE
330- let aK = {
350+ let aL = (av((aK - i)) / i)
351+ let aM = if ((aL > aH))
352+ then (aL + aH)
353+ else aH
354+ let aN = {
331355 let U = ai(l)
332356 if ($isInstanceOf(U, "Int"))
333357 then {
334- let aF = U
335- aF
358+ let aI = U
359+ aI
336360 }
337361 else throw("failed to get miniting rate")
338362 }
339- if ((aJ == aE))
340- then $Tuple2(aK, nil)
363+ if ((aM == aH))
364+ then $Tuple2(aN, nil)
341365 else {
342- let aL = {
366+ let aO = {
343367 let U = ai(k)
344368 if ($isInstanceOf(U, "Int"))
345369 then {
346- let aF = U
347- aF
370+ let aI = U
371+ aI
348372 }
349373 else throw("failed to get percentage reduction factor")
350374 }
351- let aM = (aK - fraction(aK, aL, 100))
352- let aN = af(l, aM)
353- let aO = af(k, aL)
354- let aP = af(p, aJ)
355- $Tuple2(aM, [aN, aO, aP])
375+ let aP = (aN - fraction(aN, aO, 100))
376+ let aQ = af(l, aP)
377+ let aR = af(k, aO)
378+ let aS = af(p, aM)
379+ $Tuple2(aP, [aQ, aR, aS])
356380 }
357381 }
358382 else throw("Strict value is not equal to itself.")
359383 }
360384 else throw("Strict value is not equal to itself.")
361385 }
362386
363387
364-func aQ (aR,aS,aT,aU) = {
365- let aV = {
388+func aT (aU,aV,aW,aX) = {
389+ let aY = {
366390 let U = ai(I)
367391 if ($isInstanceOf(U, "Int"))
368392 then {
369- let aF = U
370- (aF + aR)
393+ let aI = U
394+ (aI + aU)
371395 }
372396 else throw("failed to get global total waves")
373397 }
374- if ((aV == aV))
398+ if ((aY == aY))
375399 then {
376- let aW = {
400+ let aZ = {
377401 let U = ai(H)
378402 if ($isInstanceOf(U, "Int"))
379403 then {
380- let aF = U
381- (aF + aS)
404+ let aI = U
405+ (aI + aV)
382406 }
383407 else throw("failed to get global total staw minted")
384408 }
385- if ((aW == aW))
409+ if ((aZ == aZ))
386410 then {
387- let aX = {
411+ let ba = {
388412 let U = ai(J)
389413 if ($isInstanceOf(U, "Int"))
390414 then {
391- let aF = U
392- (aF + aT)
415+ let aI = U
416+ (aI + aW)
393417 }
394418 else throw("failed to get global total stawpl")
395419 }
396- if ((aX == aX))
420+ if ((ba == ba))
397421 then {
398- let aY = {
422+ let bb = {
399423 let U = ai(K)
400424 if ($isInstanceOf(U, "Int"))
401425 then {
402- let aF = U
403- (aF + aU)
426+ let aI = U
427+ (aI + aX)
404428 }
405429 else throw("failed to get global index count")
406430 }
407- if ((aY == aY))
408- then [af(I, aV), af(H, aW), af(J, aX), af(K, aY)]
431+ if ((bb == bb))
432+ then [af(I, aY), af(H, aZ), af(J, ba), af(K, bb)]
409433 else throw("Strict value is not equal to itself.")
410434 }
411435 else throw("Strict value is not equal to itself.")
412436 }
413437 else throw("Strict value is not equal to itself.")
414438 }
415439 else throw("Strict value is not equal to itself.")
416440 }
417441
418442
419-func aZ (ba,bb,bc,bd,be,aR,aS,bf,bg,bh,bi,bj,bk) = {
420- let bl = makeString([bb, ba, C], a)
421- let bm = makeString([bb, ba, w], a)
422- let bn = makeString([bb, ba, x], a)
423- let bo = makeString([bb, ba, z], a)
424- let bp = makeString([bb, ba, A], a)
425- let bq = makeString([bb, ba, B], a)
426- let br = makeString([bb, ba, D], a)
427- let bs = makeString([bb, ba, y], a)
428- let bt = makeString([bb, v], a)
429- let bu = makeString([bb, u], a)
430- let bv = makeString([bb, ba, E], a)
431- let bw = makeString([bb, ba, F], a)
432- let bx = makeString([bb, ba, G], a)
433- let by = makeString(["%s", ba], a)
434- let bz = makeString(["%d", toString(bc)], a)
435- let bA = makeString(["%d", toString(be)], a)
436- let bB = makeString(["%d", toString(aR)], a)
437- let bC = makeString(["%d", toString(aS)], a)
438- let bD = makeString(["%d", toString(bf)], a)
439- let bE = makeString(["%d", toString(bg)], a)
440- let bF = makeString(["%b", bh], a)
443+func bc (bd,be,bf,bg,bh,aU,aV,bi,bj,bk,bl,bm,bn) = {
444+ let bo = makeString([be, bd, C], a)
445+ let bp = makeString([be, bd, w], a)
446+ let bq = makeString([be, bd, x], a)
447+ let br = makeString([be, bd, z], a)
448+ let bs = makeString([be, bd, A], a)
449+ let bt = makeString([be, bd, B], a)
450+ let bu = makeString([be, bd, D], a)
451+ let bv = makeString([be, bd, y], a)
452+ let bw = makeString([be, v], a)
453+ let bx = makeString([be, u], a)
454+ let by = makeString([be, bd, E], a)
455+ let bz = makeString([be, bd, F], a)
456+ let bA = makeString([be, bd, G], a)
457+ let bB = makeString(["%s", bd], a)
458+ let bC = makeString(["%d", toString(bf)], a)
459+ let bD = makeString(["%d", toString(bh)], a)
460+ let bE = makeString(["%d", toString(aU)], a)
461+ let bF = makeString(["%d", toString(aV)], a)
441462 let bG = makeString(["%d", toString(bi)], a)
442463 let bH = makeString(["%d", toString(bj)], a)
443- let bI = makeString(["%d", toString(bd)], a)
444- let bJ = makeString(["%d", toString(0)], a)
445- let bK = makeString(["%s", bk], a)
446-[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)]
464+ let bI = makeString(["%b", bk], a)
465+ let bJ = makeString(["%d", toString(bl)], a)
466+ let bK = makeString(["%d", toString(bm)], a)
467+ let bL = makeString(["%d", toString(bg)], a)
468+ let bM = makeString(["%d", toString(0)], a)
469+ let bN = makeString(["%s", bn], a)
470+[aq(bo, bB), aq(bq, bD), ac(bx, bK), ac(bw, bJ), aq(bp, bC), aq(by, bL), aq(br, bE), aq(bs, bF), ac(bt, bG), ac(bz, bM), aq(bu, bH), aq(bv, bI), ac(bA, bN)]
447471 }
448472
449473
450-func bL (h,bM) = {
451- let bN = aD()
452- let bO = (fraction(c, (f * bN._1), g(h)) * bM)
453- if ((size(bN._2) == 0))
454- then $Tuple2(bO, nil)
455- else $Tuple2(bO, bN._2)
474+func bO (h,bP) = {
475+ let bQ = aG()
476+ let bR = (fraction(c, (f * bQ._1), g(h)) * bP)
477+ if ((size(bQ._2) == 0))
478+ then $Tuple2(bR, nil)
479+ else $Tuple2(bR, bQ._2)
456480 }
457481
458482
459-func bP (h,bQ) = {
460- let bR = fraction(h, 15, 10)
461- ((bQ / ((h * bR) - h)) * f)
483+func bS (h,bT) = {
484+ let bU = fraction(h, 15, 10)
485+ ((bT / ((h * bU) - h)) * f)
462486 }
463487
464488
465-func bS (bT) = {
466- let bU = Y(L(J), "could not get the running StawLP")
467-[aa(J, (bU + bT))]
489+func bV (bW) = {
490+ let bX = Y(L(J), "could not get the running StawLP")
491+[aa(J, (bX + bW))]
468492 }
469493
470494
471-func bV (bT) = {
472- let bU = Y(L(J), "could not get the running StawLP")
473-[aa(J, (bU - bT))]
495+func bY (bW) = {
496+ let bX = Y(L(J), "could not get the running StawLP")
497+[aa(J, (bX - bW))]
474498 }
475499
476500
477-func bW (bT) = {
478- let bX = Y(L(I), "could not get total locked waves")
479-[aa(I, (bX + bT))]
501+func bZ (bW) = {
502+ let ca = Y(L(I), "could not get total locked waves")
503+[aa(I, (ca + bW))]
480504 }
481505
482506
483-func bY (bT) = {
484- let bX = Y(L(I), "could not get total locked waves")
485-[aa(I, (bX - bT))]
507+func cb (bW) = {
508+ let ca = Y(L(I), "could not get total locked waves")
509+[aa(I, (ca - bW))]
486510 }
487511
488512
489-func bZ (ca) = {
490- let cb = {
491- let U = blockInfoByHeight(ca)
513+func cc (cd) = {
514+ let ce = {
515+ let U = blockInfoByHeight(cd)
492516 if ($isInstanceOf(U, "BlockInfo"))
493517 then {
494- let cc = U
495- cc.timestamp
518+ let cf = U
519+ cf.timestamp
496520 }
497521 else throw("counld get timestamp")
498522 }
499- cb
523+ ce
500524 }
501525
502526
503527 @Callable(at)
504-func getEmission (h,bQ) = {
505- let cd = as(at)
506- if ((cd == cd))
507- then $Tuple2(nil, bP(h, bQ))
528+func getEmission (h,bT) = {
529+ let cg = as(at)
530+ if ((cg == cg))
531+ then $Tuple2(nil, bS(h, bT))
508532 else throw("Strict value is not equal to itself.")
509533 }
510534
511535
512536
513537 @Callable(at)
514-func init (au,ce,aB,cf) = {
515- let cg = if (isDefined(N(n)))
538+func init (au,ch,aE,ci) = {
539+ let cj = if (isDefined(N(n)))
516540 then as(at)
517541 else true
518- if ((cg == cg))
542+ if ((cj == cj))
519543 then {
520- let cd = aw(au)
521- if ((cd == cd))
544+ let cg = aw(au, "invalid address")
545+ if ((cg == cg))
522546 then {
523- let ch = aw(ce)
524- if ((ch == ch))
547+ let ck = aw(ch, "invalid address")
548+ if ((ck == ck))
525549 then {
526- let ci = aw(cf)
527- if ((ci == ci))
550+ let cl = aw(ci, "invalid address")
551+ if ((cl == cl))
528552 then {
529- let cj = if (aA(aB))
553+ let cm = if (aD(aE, "invalid asset"))
530554 then true
531555 else throw("invalid asset Id")
532- if ((cj == cj))
556+ if ((cm == cm))
533557 then {
534- let ck = S(p, 0)
535- let cl = S(k, 0)
536- let cm = S(l, c)
537- let cn = S(H, 0)
538- let co = S(J, 0)
539- let cp = S(K, 0)
540- let cq = S(I, 0)
541-[af(n, au), af(o, ce), af(m, aB), af(q, cf), af(p, ck), af(l, cm), af(k, cl), af(I, cq), af(J, co), af(H, cn)]
558+ let cn = S(p, 0)
559+ let co = S(k, 0)
560+ let cp = S(l, c)
561+ let cq = S(H, 0)
562+ let cr = S(J, 0)
563+ let cs = S(K, 0)
564+ let ct = S(I, 0)
565+[af(n, au), af(o, ch), af(m, aE), af(q, ci), af(p, cn), af(l, cp), af(k, co), af(I, ct), af(J, cr), af(H, cq)]
542566 }
543567 else throw("Strict value is not equal to itself.")
544568 }
545569 else throw("Strict value is not equal to itself.")
546570 }
547571 else throw("Strict value is not equal to itself.")
548572 }
549573 else throw("Strict value is not equal to itself.")
550574 }
551575 else throw("Strict value is not equal to itself.")
552576 }
553577
554578
555579
556580 @Callable(at)
557581 func modifyGlobalParams (W) = {
558- let cd = as(at)
559- if ((cd == cd))
582+ let cg = as(at)
583+ if ((cg == cg))
560584 then {
561- let cr = makeString(["got", "list size of", toString(size(W)), "but expected [global_key, value] pair"], " ")
562- let ch = ad((size(W) != 2), cr)
563- if ((ch == ch))
585+ let ay = makeString(["got", "list size of", toString(size(W)), "but expected [global_key, value] pair"], " ")
586+ let ck = ad((size(W) != 2), ay)
587+ if ((ck == ck))
564588 then {
565589 let M = W[0]
566- let cs = parseInt(W[1])
567- let U = cs
590+ let cu = parseInt(W[1])
591+ let U = cu
568592 if ($isInstanceOf(U, "Int"))
569593 then {
570594 let ak = U
571- let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
572- if ((ct == ct))
595+ let cv = ad((N(M) == unit), (("key " + M) + " not recognized"))
596+ if ((cv == cv))
573597 then {
574- let cu = {
575- let az = ai(M)
576- if ($isInstanceOf(az, "Int"))
598+ let cw = {
599+ let aA = ai(M)
600+ if ($isInstanceOf(aA, "Int"))
577601 then {
578- let aF = az
602+ let aI = aA
579603 true
580604 }
581605 else throw("invalid key-value pair")
582606 }
583- if ((cu == cu))
607+ if ((cw == cw))
584608 then [af(M, ak)]
585609 else throw("Strict value is not equal to itself.")
586610 }
587611 else throw("Strict value is not equal to itself.")
588612 }
589613 else if ($isInstanceOf(U, "Unit"))
590614 then {
591615 let ak = U
592- let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
593- if ((ct == ct))
616+ let cv = ad((N(M) == unit), (("key " + M) + " not recognized"))
617+ if ((cv == cv))
594618 then {
595- let cv = W[1]
596- let cw = ai(n)
597- let cj = {
598- let az = cw
599- if ($isInstanceOf(az, "String"))
619+ let cx = W[1]
620+ let cy = ai(n)
621+ let cm = {
622+ let aA = cy
623+ if ($isInstanceOf(aA, "String"))
600624 then {
601- let cx = az
602- if ((size(cx) == size(cv)))
603- then aw(cv)
604- else if (aA(cv))
605- then true
606- else throw("string type for value not supported")
625+ let cz = aA
626+ if ((size(cz) == size(cx)))
627+ then aw(cx, "string type for value not supported")
628+ else aD(cx, "string type for value not supported")
607629 }
608- else throw("type for value not supported")
630+ else false
609631 }
610- if ((cj == cj))
611- then [af(M, cv)]
632+ if ((cm == cm))
633+ then [af(M, cx)]
612634 else throw("Strict value is not equal to itself.")
613635 }
614636 else throw("Strict value is not equal to itself.")
615637 }
616638 else throw(("failed to modify " + W[0]))
617639 }
618640 else throw("Strict value is not equal to itself.")
619641 }
620642 else throw("Strict value is not equal to itself.")
621643 }
622644
623645
624646
625647 @Callable(at)
626648 func revokeLock () = {
627- let cd = as(at)
628- if ((cd == cd))
649+ let cg = as(at)
650+ if ((cg == cg))
629651 then nil
630652 else throw("Strict value is not equal to itself.")
631653 }
632654
633655
634656
635657 @Callable(at)
636-func claim (ba) = {
637- let cy = toBase58String(at.caller.bytes)
638- let cz = makeString([cy, ba, z], a)
639- let cA = makeString([cy, ba, w], a)
640- let cB = makeString([cy, ba, y], a)
641- let cC = makeString([cy, ba, E], a)
642- let cD = makeString([cy, ba, F], a)
643- let cE = makeString([cy, ba, B], a)
644- let cF = makeString([cy, ba, z], a)
645- let cG = makeString([cy, v], a)
646- let cH = makeString([cy, ba, G], a)
647- let cI = makeString([cy, ba, G], a)
648- let cJ = {
658+func claim (bd) = {
659+ let cA = toBase58String(at.caller.bytes)
660+ let cB = makeString([cA, bd, z], a)
661+ let cC = makeString([cA, bd, w], a)
662+ let cD = makeString([cA, bd, y], a)
663+ let cE = makeString([cA, bd, E], a)
664+ let cF = makeString([cA, bd, F], a)
665+ let cG = makeString([cA, bd, B], a)
666+ let cH = makeString([cA, bd, z], a)
667+ let cI = makeString([cA, v], a)
668+ let cJ = makeString([cA, bd, G], a)
669+ let cK = makeString([cA, bd, G], a)
670+ let cL = {
649671 let U = ai(I)
650672 if ($isInstanceOf(U, "Int"))
651673 then {
652- let aF = U
653- aF
674+ let aI = U
675+ aI
654676 }
655677 else throw("failed to get global total waves")
656678 }
657- if ((cJ == cJ))
679+ if ((cL == cL))
658680 then {
659- let cK = {
681+ let cM = {
660682 let U = ai(J)
661683 if ($isInstanceOf(U, "Int"))
662684 then {
663- let aF = U
664- aF
685+ let aI = U
686+ aI
665687 }
666688 else throw("failed to get global total waves")
667689 }
668- if ((cK == cK))
690+ if ((cM == cM))
669691 then {
670- let bh = {
671- let U = ai(cB)
692+ let bk = {
693+ let U = ai(cD)
672694 if ($isInstanceOf(U, "ByteVector"))
673695 then {
674- let aF = U
675- aF
696+ let aI = U
697+ aI
676698 }
677699 else throw("failed to get lease id")
678700 }
679- if ((bh == bh))
701+ if ((bk == bk))
680702 then {
681- let cL = {
682- let U = ai(cG)
703+ let cN = {
704+ let U = ai(cI)
683705 if ($isInstanceOf(U, "Int"))
684706 then {
685- let aF = U
686- aF
707+ let aI = U
708+ aI
687709 }
688710 else throw("failed to get total waves locked by this address")
689711 }
690- if ((cL == cL))
712+ if ((cN == cN))
691713 then {
692- let aR = {
693- let U = ai(cF)
714+ let aU = {
715+ let U = ai(cH)
694716 if ($isInstanceOf(U, "Int"))
695717 then {
696- let aF = U
697- aF
718+ let aI = U
719+ aI
698720 }
699721 else throw("failed to get total waves locked")
700722 }
701- if ((aR == aR))
723+ if ((aU == aU))
702724 then {
703- let cM = {
704- let U = ai(cD)
725+ let cO = {
726+ let U = ai(cF)
705727 if ($isInstanceOf(U, "Int"))
706728 then {
707- let aF = U
708- aF
729+ let aI = U
730+ aI
709731 }
710732 else throw("failed to get total waves claimed")
711733 }
712- if ((cM == cM))
734+ if ((cO == cO))
713735 then {
714- let bf = {
715- let U = ai(cE)
736+ let bi = {
737+ let U = ai(cG)
716738 if ($isInstanceOf(U, "Int"))
717739 then {
718- let aF = U
719- aF
740+ let aI = U
741+ aI
720742 }
721743 else throw("failed to get stawPL")
722744 }
723- if ((bf == bf))
745+ if ((bi == bi))
724746 then {
725- let cN = {
726- let U = ai(cC)
747+ let cP = {
748+ let U = ai(cE)
727749 if ($isInstanceOf(U, "Int"))
728750 then {
729- let aF = U
730- aF
751+ let aI = U
752+ aI
731753 }
732754 else throw("failed to get lock period timespam")
733755 }
734- if ((cN == cN))
756+ if ((cP == cP))
735757 then {
736- let cO = {
737- let U = bZ(height)
758+ let cQ = {
759+ let U = cc(height)
738760 if ($isInstanceOf(U, "Int"))
739761 then {
740- let aF = U
741- aF
762+ let aI = U
763+ aI
742764 }
743765 else throw("failed to get current timestamp")
744766 }
745- if ((cO == cO))
767+ if ((cQ == cQ))
746768 then {
747- let bQ = {
748- let U = ai(cz)
769+ let bT = {
770+ let U = ai(cB)
749771 if ($isInstanceOf(U, "Int"))
750772 then {
751- let aF = U
752- aF
773+ let aI = U
774+ aI
753775 }
754776 else throw("failed to get collateral")
755777 }
756- if ((bQ == bQ))
778+ if ((bT == bT))
757779 then {
758780 let h = {
759- let U = ai(cA)
781+ let U = ai(cC)
760782 if ($isInstanceOf(U, "Int"))
761783 then {
762- let aF = U
763- aF
784+ let aI = U
785+ aI
764786 }
765787 else throw("failed to get lockPeriod")
766788 }
767789 if ((h == h))
768790 then {
769- let cP = {
770- let U = ai(cH)
791+ let cR = {
792+ let U = ai(cJ)
771793 if ($isInstanceOf(U, "String"))
772794 then {
773- let aF = U
774- aF
795+ let aI = U
796+ aI
775797 }
776798 else throw("failed to get lease state")
777799 }
778- if ((cP == cP))
800+ if ((cR == cR))
779801 then {
780- let bk = {
781- let U = ai(cI)
802+ let bn = {
803+ let U = ai(cK)
782804 if ($isInstanceOf(U, "String"))
783805 then {
784- let aF = U
785- aF
806+ let aI = U
807+ aI
786808 }
787809 else throw("failed to get lease state for user")
788810 }
789- if ((bk == bk))
811+ if ((bn == bn))
790812 then {
791- let cd = ad((cN > cO), "lock period for this entry has not elapsed")
792- if ((cd == cd))
813+ let cg = ad((cP > cQ), "lock period for this entry has not elapsed")
814+ if ((cg == cg))
793815 then {
794- let cQ = if ((cP == "leased"))
795- then $Tuple2(LeaseCancel(bh), ac(cH, "cancelled"))
796- else $Tuple2(ac(cH, "cancelled"), ac(cH, "cancelled"))
797- if ((cQ == cQ))
816+ let cS = if ((cR == "leased"))
817+ then $Tuple2(LeaseCancel(bk), ac(cJ, "cancelled"))
818+ else $Tuple2(ac(cJ, "cancelled"), ac(cJ, "cancelled"))
819+ if ((cS == cS))
798820 then {
799- let ch = ad(if ((0 == aR))
821+ let ck = ad(if ((0 == aU))
800822 then true
801- else (0 == bf), "all claims exhausted for this trx")
802- if ((ch == ch))
823+ else (0 == bi), "all claims exhausted for this trx")
824+ if ((ck == ck))
803825 then {
804- let cR = (bP(h, bQ) * f)
805- let cS = {
806- let cT = (cO - cN)
807- let cU = (cT / f)
808- if ((cU == 0))
826+ let cT = (bS(h, bT) * f)
827+ let cU = {
828+ let cV = (cQ - cP)
829+ let cW = (cV / f)
830+ if ((cW == 0))
809831 then throw("less than 24hrs before first claim")
810- else if (((cT % f) != 0))
832+ else if (((cV % f) != 0))
811833 then throw("already claimed or less than 24hrs before next claim")
812- else if ((cU > h))
834+ else if ((cW > h))
813835 then throw("all claims exhausted")
814836 else {
815- let cV = (cU * cR)
816- let cW = ad((cV == cM), "can only claim once in 24hrs")
817- if ((cW == cW))
837+ let cX = (cW * cT)
838+ let cY = ad((cX == cO), "can only claim once in 24hrs")
839+ if ((cY == cY))
818840 then {
819- let cX = ad(((cV + cM) > aR), "all claims exhausted")
820- if ((cX == cX))
841+ let cZ = ad(((cX + cO) > aU), "all claims exhausted")
842+ if ((cZ == cZ))
821843 then {
822- let cY = if ((cU == 1))
823- then cV
824- else (cV - cM)
825- let cZ = cV
826- let da = if ((cU == 1))
827- then (aR - cV)
828- else (aR - (cV - cM))
829- let db = if ((cU == 1))
830- then (bf - cV)
831- else (bf - (cV - cM))
832- let dc = (cJ - da)
833- let dd = (cK - db)
834- let de = (cL - cY)
835- let bB = makeString(["%d", toString(da)], a)
836- let bD = makeString(["%d", toString(db)], a)
837- let bJ = makeString(["%d", toString(cZ)], a)
838- let df = makeString(["%d", toString(de)], a)
839-[cQ._1, cQ._2, ac(cF, bB), ac(cE, bD), ac(cD, bJ), ac(cG, df), af(I, dc), af(J, dd), ScriptTransfer(Address(at.caller.bytes), cY, unit)]
844+ let da = if ((cW == 1))
845+ then cX
846+ else (cX - cO)
847+ let db = cX
848+ let dc = if ((cW == 1))
849+ then (aU - cX)
850+ else (aU - (cX - cO))
851+ let dd = if ((cW == 1))
852+ then (bi - cX)
853+ else (bi - (cX - cO))
854+ let de = (cL - dc)
855+ let df = (cM - dd)
856+ let dg = (cN - da)
857+ let bE = makeString(["%d", toString(dc)], a)
858+ let bG = makeString(["%d", toString(dd)], a)
859+ let bM = makeString(["%d", toString(db)], a)
860+ let dh = makeString(["%d", toString(dg)], a)
861+[cS._1, cS._2, ac(cH, bE), ac(cG, bG), ac(cF, bM), ac(cI, dh), af(I, de), af(J, df), ScriptTransfer(Address(at.caller.bytes), da, unit)]
840862 }
841863 else throw("Strict value is not equal to itself.")
842864 }
843865 else throw("Strict value is not equal to itself.")
844866 }
845867 }
846- if ((cS == cS))
847- then cS
868+ if ((cU == cU))
869+ then cU
848870 else throw("Strict value is not equal to itself.")
849871 }
850872 else throw("Strict value is not equal to itself.")
851873 }
852874 else throw("Strict value is not equal to itself.")
853875 }
854876 else throw("Strict value is not equal to itself.")
855877 }
856878 else throw("Strict value is not equal to itself.")
857879 }
858880 else throw("Strict value is not equal to itself.")
859881 }
860882 else throw("Strict value is not equal to itself.")
861883 }
862884 else throw("Strict value is not equal to itself.")
863885 }
864886 else throw("Strict value is not equal to itself.")
865887 }
866888 else throw("Strict value is not equal to itself.")
867889 }
868890 else throw("Strict value is not equal to itself.")
869891 }
870892 else throw("Strict value is not equal to itself.")
871893 }
872894 else throw("Strict value is not equal to itself.")
873895 }
874896 else throw("Strict value is not equal to itself.")
875897 }
876898 else throw("Strict value is not equal to itself.")
877899 }
878900 else throw("Strict value is not equal to itself.")
879901 }
880902 else throw("Strict value is not equal to itself.")
881903 }
882904
883905
884906
885907 @Callable(at)
886908 func mintStaw (h) = {
887- let cy = toBase58String(at.caller.bytes)
888- let dg = toBase58String(at.transactionId)
889- let cd = ad((1 != size(at.payments)), "no payments attached")
890- if ((cd == cd))
909+ let cA = toBase58String(at.caller.bytes)
910+ let di = toBase58String(at.transactionId)
911+ let cg = ad((1 != size(at.payments)), "no payments attached")
912+ if ((cg == cg))
891913 then {
892- let ch = if (isDefined(at.payments[0].assetId))
914+ let ck = if (isDefined(at.payments[0].assetId))
893915 then throw("only waves supported")
894916 else true
895- if ((ch == ch))
917+ if ((ck == ck))
896918 then {
897- let dh = at.payments[0].amount
898- let ci = if (if ((d > dh))
919+ let dj = at.payments[0].amount
920+ let cl = if (if ((d > dj))
899921 then true
900- else (dh > e))
922+ else (dj > e))
901923 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
902924 else true
903- if ((ci == ci))
925+ if ((cl == cl))
904926 then {
905- let cj = if ((b > h))
927+ let cm = if ((b > h))
906928 then throw("minimum of 14 days lock period")
907929 else true
908- if ((cj == cj))
930+ if ((cm == cm))
909931 then {
910- let di = bL(h, dh)
911- let aT = dh
912- let dj = fraction(di._1, 10, 100)
913- let dk = (di._1 - dj)
914- let dl = (bZ(height) + an(h))
915- if ((dl == dl))
932+ let dk = bO(h, dj)
933+ let aW = dj
934+ let dl = fraction(dk._1, 10, 100)
935+ let dm = (dk._1 - dl)
936+ let dn = (cc(height) + an(h))
937+ if ((dn == dn))
916938 then {
917- let dm = {
939+ let do = {
918940 let U = ai(K)
919941 if ($isInstanceOf(U, "Int"))
920942 then {
921- let aF = U
922- (aF + 1)
943+ let aI = U
944+ (aI + 1)
923945 }
924946 else throw("failed to get current global index count")
925947 }
926- if ((dm == dm))
948+ if ((do == do))
927949 then {
928- let dn = {
950+ let dp = {
929951 let U = ai(o)
930952 if ($isInstanceOf(U, "String"))
931953 then {
932- let aF = U
933- Address(fromBase58String(aF))
954+ let aI = U
955+ Address(fromBase58String(aI))
934956 }
935957 else throw("failed to get dfx address")
936958 }
937- if ((dn == dn))
959+ if ((dp == dp))
938960 then {
939- let aG = {
961+ let aJ = {
940962 let U = ai(m)
941963 if ($isInstanceOf(U, "String"))
942964 then {
943- let aF = U
944- fromBase58String(aF)
965+ let aI = U
966+ fromBase58String(aI)
945967 }
946968 else throw("failed to get asset id")
947969 }
948- if ((aG == aG))
970+ if ((aJ == aJ))
949971 then {
950- let do = {
972+ let dq = {
951973 let U = ai(q)
952974 if ($isInstanceOf(U, "String"))
953975 then {
954- let aF = U
955- Address(fromBase58String(aF))
976+ let aI = U
977+ Address(fromBase58String(aI))
956978 }
957979 else throw("failed to get lease node address")
958980 }
959- if ((do == do))
981+ if ((dq == dq))
960982 then {
961- let dp = makeString([cy, u], a)
962- let dq = makeString([cy, v], a)
963- let dr = {
964- let U = ai(dp)
983+ let dr = makeString([cA, u], a)
984+ let ds = makeString([cA, v], a)
985+ let dt = {
986+ let U = ai(dr)
965987 if ($isInstanceOf(U, "Int"))
966988 then {
967989 let ak = U
968990 (ak + 1)
969991 }
970992 else 0
971993 }
972- if ((dr == dr))
994+ if ((dt == dt))
973995 then {
974- let ds = {
975- let U = ai(dq)
996+ let du = {
997+ let U = ai(ds)
976998 if ($isInstanceOf(U, "Int"))
977999 then {
9781000 let ak = U
979- (ak + dh)
1001+ (ak + dj)
9801002 }
981- else dh
1003+ else dj
9821004 }
983- if ((ds == ds))
1005+ if ((du == du))
9841006 then {
985- let dt = Lease(do, dh)
986- if ((dt == dt))
1007+ let dv = Lease(dq, dj)
1008+ if ((dv == dv))
9871009 then {
988- let du = toBase58String(calculateLeaseId(dt))
989- if ((du == du))
990- then ((([dt, ScriptTransfer(dn, dj, aG), ScriptTransfer(Address(at.caller.bytes), dk, aG)] ++ aZ(dg, cy, h, dl, dm, dh, dk, aT, height, du, ds, dr, "leased")) ++ aQ(dh, di._1, aT, dm)) ++ di._2)
1010+ let dw = toBase58String(calculateLeaseId(dv))
1011+ if ((dw == dw))
1012+ then ((([dv, ScriptTransfer(dp, dl, aJ), ScriptTransfer(Address(at.caller.bytes), dm, aJ)] ++ bc(di, cA, h, dn, do, dj, dm, aW, height, dw, du, dt, "leased")) ++ aT(dj, dk._1, aW, do)) ++ dk._2)
9911013 else throw("Strict value is not equal to itself.")
9921014 }
9931015 else throw("Strict value is not equal to itself.")
9941016 }
9951017 else throw("Strict value is not equal to itself.")
9961018 }
9971019 else throw("Strict value is not equal to itself.")
9981020 }
9991021 else throw("Strict value is not equal to itself.")
10001022 }
10011023 else throw("Strict value is not equal to itself.")
10021024 }
10031025 else throw("Strict value is not equal to itself.")
10041026 }
10051027 else throw("Strict value is not equal to itself.")
10061028 }
10071029 else throw("Strict value is not equal to itself.")
10081030 }
10091031 else throw("Strict value is not equal to itself.")
10101032 }
10111033 else throw("Strict value is not equal to itself.")
10121034 }
10131035 else throw("Strict value is not equal to itself.")
10141036 }
10151037 else throw("Strict value is not equal to itself.")
10161038 }
10171039
10181040

github/deemru/w8io/169f3d6 
558.54 ms