tx · ED1h1SuZhBNqwDCmT8aYcz3GRG8qYWuTJaBFrZQeRNbr

3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH:  -0.02500000 Waves

2023.03.19 01:51 [2496067] smart account 3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH > SELF 0.00000000 Waves

{ "type": 13, "id": "ED1h1SuZhBNqwDCmT8aYcz3GRG8qYWuTJaBFrZQeRNbr", "fee": 2500000, "feeAssetId": null, "timestamp": 1679179926974, "version": 2, "chainId": 84, "sender": "3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH", "senderPublicKey": "5JqBVJpMCyD7dJLJttqYjL6CmJc4zahBHSFjFb7qQTga", "proofs": [ "BWRyhhxr51EpspNwSiTCBJbob8ND6vT5FNznUiToAP7aFsuTtAVVvy2naJkCbaV64zqjY1z9sjccik1RxDBfB6i" ], "script": "base64:BgIhCAISBAoCAQESBgoECAgICBIDCgEYEgASAwoBCBIDCgEBRAADU0VQAgFfAA5fbWluTG9ja3BlcmlvZAABAA1fdW5pdERlY2ltYWxzAIDC1y8ADl9taW5Mb2NrQW1vdW50CQBoAgABBQ1fdW5pdERlY2ltYWxzAA5fbWF4TG9ja0Ftb3VudAkAaAIA6AcFDV91bml0RGVjaW1hbHMAA19EdACAuJkpAQRfUHB5AQpsb2NrUGVyaW9kCQBrAwUNX3VuaXREZWNpbWFscwDtAgUKbG9ja1BlcmlvZAANX2luY3JlbWVudFJlZgkAaAIAwIQ9BQ1fdW5pdERlY2ltYWxzAA5fcGVyY2VudGFnZUZlZQkAawMFDV91bml0RGVjaW1hbHMACgBkABpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIpQ3VycmVudF9QZXJjZW50YWdlUmVkdWN0aW9uX0ZhY3Rvcl9Gb3JfTXIAA19NcgIMTWludGluZ19SYXRlAAxfc3Rhd0Fzc2V0SWQCDFN0YXdfQXNzZXRJZAAIX21hbmFnZXICB21hbmFnZXIABF9EZngCA0RmeAAVX2NpcmN1bGF0aW9uSW5jckluZGV4AhlDaXJjdWxhdGlvbkluY3JlbWVudEluZGV4AA5fbGVzc2VlQWRkcmVzcwIJTGVhc2VOb2RlABpfdXNlckVtaXNzaW9uQW1vdW50Q2xhaW1lZAIVRW1pc3Npb25BbW91bnRDbGFpbWVkABtfdXNlckNhbkNsYWltRW1pc3Npb25BbW91bnQCFkNhbkNsYWltRW1pc3Npb25BbW91bnQADF91c2VyQWRkcmVzcwINV2FsbGV0QWRkcmVzcwAUX3VzZXJMb2NhbEluZGV4Q291bnQCFFRvdGFsRW50cnlJbmRleENvdW50ABBfdXNlclRvdGFsTG9ja2VkAgtUb3RhbExvY2tlZAANX2xvY2tEdXJhdGlvbgIMTG9ja0R1cmF0aW9uAApfbG9ja0luZGV4Ag9HbG9iYWxMb2NrSW5kZXgAB19sb2NrSWQCDkxvY2tJZGVudGlmaWVyAAxfd2F2ZXNBbW91bnQCDUFtb3VudEluV2F2ZXMAC19zdGF3QW1vdW50AgxBbW91bnRJblN0YXcADV9zdGF3TFBBbW91bnQCDkFtb3VudEluU3Rhd0xQAAVfdHhJZAIEVFhJRAANX2xvY2tBdEhlaWdodAIMTG9ja0F0SGVpZ2h0ABRfbG9ja1BlcmlvZEluTWlsaVNlYwIUTG9jS1BlcmlvZEluTWlsbGlTZWMAEl90b3RhbFdhdmVzQ2xhaW1lZAIRVG90YWxXYXZlc0NsYWltZWQAD191c2VyTGVhc2VTdGF0ZQIKTGVhc2VTdGF0ZQAKX3RvdGFsU3RhdwIPVG90YWxTdGF3TWludGVkAA5fdG90YWxXYXZlc1JlZgIQVG90YWxXYXZlc0xvY2tlZAAMX3RvdGFsU3Rhd0xQAgtUb3RhbFN0YXdMUAARX2dsb2JhbEluZGV4Q291bnQCCkluZGV4Q291bnQBBV9nZXRJAQNrZXkJAJoIAgUEdGhpcwUDa2V5AQVfZ2V0UwEDa2V5CQCdCAIFBHRoaXMFA2tleQEFX2dldEIBA2tleQkAmwgCBQR0aGlzBQNrZXkBBl9nZXRCVgEDa2V5CQEFdmFsdWUBCQCbCAIFBHRoaXMFA2tleQEGX2dldElWAQNrZXkJAQV2YWx1ZQEJAJoIAgUEdGhpcwUDa2V5AQZfZ2V0U1YBA2tleQkBBXZhbHVlAQkAnQgCBQR0aGlzBQNrZXkBDF9zZXRQYXJhbVZhbAIDa2V5CmRlZmF1bHRWYWwEByRtYXRjaDAFCmRlZmF1bHRWYWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBApkZWZhdWx0VmFsBQckbWF0Y2gwAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBBl9nZXRTVgEFA2tleQUKZGVmYXVsdFZhbAMJAAECBQckbWF0Y2gwAgNJbnQECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRJAQUDa2V5CQEGX2dldElWAQUDa2V5BQpkZWZhdWx0VmFsAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4ECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRCAQUDa2V5CQEGX2dldEJWAQUDa2V5BQpkZWZhdWx0VmFsCQACAQkArAICAh12YWx1ZSB0eXBlIG5vdCBzdXBwb3J0ZWQgZm9yIAUDa2V5AQ9fdGhyb3dPclJldHVyblMCA3ZhbAVlcnJvcgQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEPX3Rocm93T3JSZXR1cm5JAgN2YWwFZXJyb3IEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEA3ZhbAUHJG1hdGNoMAUDdmFsCQACAQUFZXJyb3IBEl90aHJvd09yUmV0dXJuQm9vbAIDdmFsBWVycm9yBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEJX3dyaXRlSW50AgNrZXkFdmFsdWUDCQBmAgAABQV2YWx1ZQkAAgEJAKwCAgkArAICCQCsAgICF3dyaXRpbmcgbmVnYXRpdmUgdmFsdWUgCQCkAwEFBXZhbHVlAgkgZm9yIGtleSAFA2tleQkBDEludGVnZXJFbnRyeQIFA2tleQUFdmFsdWUBCV93cml0ZVN0cgIDa2V5BXZhbHVlAwkAAAICASAFBXZhbHVlCQACAQkArAICAhh3cml0aW5nIGFuIGVtcHR5IHN0cmluZyAFBXZhbHVlCQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlAQhfdGhyb3dJZgIJY29uZGl0aW9uBWVycm9yAwUJY29uZGl0aW9uCQACAQUFZXJyb3IGARFfd3JpdGVHbG9iYWxQYXJhbQIDa2V5Bl92YWx1ZQQHJG1hdGNoMAUGX3ZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiViCQDMCAIJAKUDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkJAAIBAhJ0eXBlIG5vdCBzdXBwb3J0ZWQBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBA2tleQQJX3Jhd1ZhbHVlCQEPX3Rocm93T3JSZXR1cm5TAgkBBV9nZXRTAQUDa2V5CQCsAgICFGVudHJ5IG5vdCBmb3VuZCBmb3IgBQNrZXkDCQAAAgUJX3Jhd1ZhbHVlBQlfcmF3VmFsdWUEAXgJALUJAgUJX3Jhd1ZhbHVlBQNTRVAED2Zvcm1hdFNwZWNpZmllcgkAsgICCQCRAwIFAXgAAAABBAxfdmFsdWVTdHJpbmcJAJEDAgUBeAkAZQIJAJADAQUBeAABBAZfdmFsdWUDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFzBQxfdmFsdWVTdHJpbmcDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFkCQENcGFyc2VJbnRWYWx1ZQEFDF92YWx1ZVN0cmluZwMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAWIJANkEAQUMX3ZhbHVlU3RyaW5nCQACAQkArAICAiNjb3VsZCBub3QgcGFyc2UgcmVnaXN0cnkgdmFsdWUgZm9yIAUDa2V5BQZfdmFsdWUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDl9kYXlzVG9NaWxpU2VjAQRkYXlzBAVjaGVjawkBCF90aHJvd0lmAgkAZwIAAAUEZGF5cwIVaW52YWxpZCBsb2NraW5nIGRheXMhAwkAAAIFBWNoZWNrBQVjaGVjawkAaAIFBGRheXMFA19EdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERX3dyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZVN0cgIFA2tleQUFdmFsdWUJAAIBCQCsAgICG2VudHJ5IGFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5ARJfd3JpdGVDb25zdEludGVnZXICA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZUludAIFA2tleQUFdmFsdWUJAAIBCQCsAgICHCBlbnRyeSBhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEMX29ubHlNYW5hZ2VyAQFpBAdtYW5hZ2VyBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCF9tYW5hZ2VyAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwCFWZhaWxlZCB0byBnZXQgbWFuYWdlcgMJAAACBQdtYW5hZ2VyBQdtYW5hZ2VyCQEIX3Rocm93SWYCCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFB21hbmFnZXICFmFkZHJlc3Mgbm90IGF1dGhvcml6ZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BBF9hYnMBA3ZhbAMJAGYCAAAFA3ZhbAkBAS0BBQN2YWwFA3ZhbAEQX3ZhbGlkYXRlQWRkcmVzcwIHYWRkcmVzcwhlcnJvck1zZwQHJG1hdGNoMAUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCmCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgQHJG1hdGNoMgUIZXJyb3JNc2cDCQABAgUHJG1hdGNoMgIGU3RyaW5nBANtc2cFByRtYXRjaDIJAAIBBQNtc2cHAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCnCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgQHJG1hdGNoMgUIZXJyb3JNc2cDCQABAgUHJG1hdGNoMgIGU3RyaW5nBANtc2cFByRtYXRjaDIJAAIBBQNtc2cHCQACAQISaW52YWxpZCBpbnB1dCB0eXBlAQ5fdmFsaWRhdGVBc3NldAIHYXNzZXRJRAhlcnJvck1zZwQHJG1hdGNoMAkA7AcBCQDZBAEFB2Fzc2V0SUQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwBgQHJG1hdGNoMQUIZXJyb3JNc2cDCQABAgUHJG1hdGNoMQIGU3RyaW5nBANtc2cFByRtYXRjaDEJAAIBBQNtc2cHAQpfY29tcHV0ZU1yAAQQY3VycmVudENpcmNJbmRleAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRVfY2lyY3VsYXRpb25JbmNySW5kZXgDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIoY2lyY3VsYXRpb24gaW5kZXggbm90IHByZXZpb3VzbHkgZGVmaW5lZAMJAAACBRBjdXJyZW50Q2lyY0luZGV4BRBjdXJyZW50Q2lyY0luZGV4BAtzdGF3QXNzZXRJZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQxfc3Rhd0Fzc2V0SWQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwBQF0CQACAQIfYXNzZXQgaWQgbm90IHByZXZpb3VzbHkgZGVmaW5lZAMJAAACBQtzdGF3QXNzZXRJZAULc3Rhd0Fzc2V0SWQEFXN0YXdDaXJjdWxhdGluZ1N1cHBseQQHJG1hdGNoMAkA7AcBCQDZBAEFC3N0YXdBc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAVhc3NldAUHJG1hdGNoMAgFBWFzc2V0CHF1YW50aXR5CQACAQkArAICAhRhc3NldCBub3QgZm91bmQgZm9yIAULc3Rhd0Fzc2V0SWQEDXVuaXRJbmNyZW1lbnQJAGkCCQEEX2FicwEJAGUCBRVzdGF3Q2lyY3VsYXRpbmdTdXBwbHkFDV9pbmNyZW1lbnRSZWYFDV9pbmNyZW1lbnRSZWYEF25ld0NpcmN1bGF0aW9uSW5jckluZGV4AwkAZgIFDXVuaXRJbmNyZW1lbnQFEGN1cnJlbnRDaXJjSW5kZXgJAGQCBQ11bml0SW5jcmVtZW50BRBjdXJyZW50Q2lyY0luZGV4BRBjdXJyZW50Q2lyY0luZGV4BAljdXJyZW50TXIEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUDX01yAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECG2ZhaWxlZCB0byBnZXQgbWluaXRpbmcgcmF0ZQMJAAACBRduZXdDaXJjdWxhdGlvbkluY3JJbmRleAUQY3VycmVudENpcmNJbmRleAkAlAoCBQljdXJyZW50TXIFA25pbAQSbmV3cmVkdWN0aW9uRmFjdG9yBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECKWZhaWxlZCB0byBnZXQgcGVyY2VudGFnZSByZWR1Y3Rpb24gZmFjdG9yBAxuZXdDdXJyZW50TXIJAGUCBQljdXJyZW50TXIJAGsDBQljdXJyZW50TXIFEm5ld3JlZHVjdGlvbkZhY3RvcgBkBAZzdG9yZTEJARFfd3JpdGVHbG9iYWxQYXJhbQIFA19NcgUMbmV3Q3VycmVudE1yBAZzdG9yZTIJARFfd3JpdGVHbG9iYWxQYXJhbQIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yBRJuZXdyZWR1Y3Rpb25GYWN0b3IEBnN0b3JlMwkBEV93cml0ZUdsb2JhbFBhcmFtAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4BRduZXdDaXJjdWxhdGlvbkluY3JJbmRleAkAlAoCBQxuZXdDdXJyZW50TXIJAMwIAgUGc3RvcmUxCQDMCAIFBnN0b3JlMgkAzAgCBQZzdG9yZTMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgESX3VwZGF0ZUdsb2JhbEVudHJ5BAt3YXZlc0Ftb3VudApzdGF3QW1vdW50BnN0YXdQTAppbmRleENvdW50BBpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ5fdG90YWxXYXZlc1JlZgMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0BQt3YXZlc0Ftb3VudAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBRpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgQZX25ld0dsb2JhbFRvdGFsU3Rhd01pbnRlZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQpfdG90YWxTdGF3AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFCnN0YXdBbW91bnQJAAIBAiZmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCBzdGF3IG1pbnRlZAMJAAACBRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBBVfbmV3R2xvYmFsVG90YWxTdGF3UEwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUMX3RvdGFsU3Rhd0xQAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFBnN0YXdQTAkAAgECIWZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHN0YXdwbAMJAAACBRVfbmV3R2xvYmFsVG90YWxTdGF3UEwFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAQTX25ld0dsb2JhSW5kZXhDb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRFfZ2xvYmFsSW5kZXhDb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0BQppbmRleENvdW50CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgaW5kZXggY291bnQDCQAAAgUTX25ld0dsb2JhSW5kZXhDb3VudAUTX25ld0dsb2JhSW5kZXhDb3VudAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fdG90YWxXYXZlc1JlZgUaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUKX3RvdGFsU3RhdwUZX25ld0dsb2JhbFRvdGFsU3Rhd01pbnRlZAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQxfdG90YWxTdGF3TFAFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBRFfZ2xvYmFsSW5kZXhDb3VudAUTX25ld0dsb2JhSW5kZXhDb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJfcmVnaXN0ZXJVc2VyRW50cnkNDXRyYW5zYWN0aW9uSUQLdXNlckFkZHJlc3MMbG9ja0R1cmF0aW9uEmxvY2tEdXJhdGlvbkluTWlsaQlsb2NrSW5kZXgLd2F2ZXNBbW91bnQKc3Rhd0Ftb3VudAxzdGF3TFBBbW91bnQMbG9ja0F0SGVpZ2h0BmxvY2tJZAt0b3RhbExvY2tlZA9sb2NhbEluZGV4Q291bnQKbGVhc2VTdGF0ZQQIX3R4SWRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFBV90eElkBQNuaWwFA1NFUAQQX2xvY2tEdXJhdGlvbktleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAEDV9sb2NrSW5kZXhLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFCl9sb2NrSW5kZXgFA25pbAUDU0VQBA9fd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDl9zdGF3QW1vdW50S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQtfc3Rhd0Ftb3VudAUDbmlsBQNTRVAEEF9zdGF3TFBBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9zdGF3TFBBbW91bnQFA25pbAUDU0VQBBBfbG9ja0F0SGVpZ2h0S2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fbG9ja0F0SGVpZ2h0BQNuaWwFA1NFUAQKX2xvY2tJZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUHX2xvY2tJZAUDbmlsBQNTRVAED190b3RhbExvY2tlZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBJfbG9jYWxMb2NrSW5kZXhLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBRRfdXNlckxvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEF19sb2NrUGVyaW9kSW5NaWxpU2VjS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFV90b3RhbFdhdmVzQ2xhaW1lZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUSX3RvdGFsV2F2ZXNDbGFpbWVkBQNuaWwFA1NFUAQSX3VzZXJMZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBAp0cnhJZEVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUNdHJhbnNhY3Rpb25JRAUDbmlsBQNTRVAEEWxvY2tEdXJhdGlvbkVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQxsb2NrRHVyYXRpb24FA25pbAUDU0VQBA5sb2NrSW5kZXhFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUJbG9ja0luZGV4BQNuaWwFA1NFUAQQd2F2ZXNBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQULd2F2ZXNBbW91bnQFA25pbAUDU0VQBA9zdGF3QW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFCnN0YXdBbW91bnQFA25pbAUDU0VQBBFzdGF3TFBBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUMc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQRbG9ja0F0SGVpZ2h0RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDGxvY2tBdEhlaWdodAUDbmlsBQNTRVAEC2xvY2tJZEVudHJ5CQC5CQIJAMwIAgICJWIJAMwIAgUGbG9ja0lkBQNuaWwFA1NFUAQQdG90YWxMb2NrZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQULdG90YWxMb2NrZWQFA25pbAUDU0VQBBN1c2VyTG9jYWxJbmRleEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQ9sb2NhbEluZGV4Q291bnQFA25pbAUDU0VQBBhsb2NrUGVyaW9kSW5NaWxpU2VjRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEmxvY2tEdXJhdGlvbkluTWlsaQUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEAAAUDbmlsBQNTRVAEE3VzZXJMZWFzZVN0YXRlRW50cnkJALkJAgkAzAgCAgIlcwkAzAgCBQpsZWFzZVN0YXRlBQNuaWwFA1NFUAkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQhfdHhJZEtleQUKdHJ4SWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ1fbG9ja0luZGV4S2V5BQ5sb2NrSW5kZXhFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUSX2xvY2FsTG9ja0luZGV4S2V5BRN1c2VyTG9jYWxJbmRleEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBQ9fdG90YWxMb2NrZWRLZXkFEHRvdGFsTG9ja2VkRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUQX2xvY2tEdXJhdGlvbktleQURbG9ja0R1cmF0aW9uRW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUXX2xvY2tQZXJpb2RJbk1pbGlTZWNLZXkFGGxvY2tQZXJpb2RJbk1pbGlTZWNFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ9fd2F2ZXNBbW91bnRLZXkFEHdhdmVzQW1vdW50RW50cnkJAMwIAgkBEV93cml0ZUNvbnN0U3RyaW5nAgUOX3N0YXdBbW91bnRLZXkFD3N0YXdBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUQX3N0YXdMUEFtb3VudEtleQURc3Rhd0xQQW1vdW50RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFFV90b3RhbFdhdmVzQ2xhaW1lZEtleQUWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRBfbG9ja0F0SGVpZ2h0S2V5BRFsb2NrQXRIZWlnaHRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQpfbG9ja0lkS2V5BQtsb2NrSWRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUSX3VzZXJMZWFzZVN0YXRlS2V5BRN1c2VyTGVhc2VTdGF0ZUVudHJ5BQNuaWwBB19zdGF3TUYCCmxvY2tQZXJpb2QPY29sbGF0ZXJhbFdhdmVzBAtfYWRqdXN0ZWRNcgkBCl9jb21wdXRlTXIABANyZXQJAGgCCQBrAwUNX3VuaXREZWNpbWFscwkAaAIFA19EdAgFC19hZGp1c3RlZE1yAl8xCQEEX1BweQEFCmxvY2tQZXJpb2QFD2NvbGxhdGVyYWxXYXZlcwMJAAACCQCQAwEIBQtfYWRqdXN0ZWRNcgJfMgAACQCUCgIFA3JldAUDbmlsCQCUCgIFA3JldAgFC19hZGp1c3RlZE1yAl8yARJfZW1pc3Npb25SYXRlV2F2ZXMCCmxvY2tQZXJpb2QKY29sbGF0ZXJhbAQPZXh0ZW5zaW9uRmFjdG9yCQBrAwUKbG9ja1BlcmlvZAAPAAoJAGgCCQBpAgUKY29sbGF0ZXJhbAkAZQIJAGgCBQpsb2NrUGVyaW9kBQ9leHRlbnNpb25GYWN0b3IFCmxvY2tQZXJpb2QFA19EdAEQX2luY3JUb3RhbFN0YXdMUAEGYW1vdW50BAlvbGRTdGF3TFAJAQ9fdGhyb3dPclJldHVybkkCCQEFX2dldEkBBQxfdG90YWxTdGF3TFACIGNvdWxkIG5vdCBnZXQgdGhlIHJ1bm5pbmcgU3Rhd0xQCQDMCAIJAQlfd3JpdGVJbnQCBQxfdG90YWxTdGF3TFAJAGQCBQlvbGRTdGF3TFAFBmFtb3VudAUDbmlsARBfZGVjclRvdGFsU3Rhd0xQAQZhbW91bnQECW9sZFN0YXdMUAkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDF90b3RhbFN0YXdMUAIgY291bGQgbm90IGdldCB0aGUgcnVubmluZyBTdGF3TFAJAMwIAgkBCV93cml0ZUludAIFDF90b3RhbFN0YXdMUAkAZQIFCW9sZFN0YXdMUAUGYW1vdW50BQNuaWwBEl9pbmNyVG90YWxXYXZlc1JlZgEGYW1vdW50BAtvbGRXYXZlc1JlZgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDl90b3RhbFdhdmVzUmVmAiBjb3VsZCBub3QgZ2V0IHRvdGFsIGxvY2tlZCB3YXZlcwkAzAgCCQEJX3dyaXRlSW50AgUOX3RvdGFsV2F2ZXNSZWYJAGQCBQtvbGRXYXZlc1JlZgUGYW1vdW50BQNuaWwBEl9kZWNyVG90YWxXYXZlc1JlZgEGYW1vdW50BAtvbGRXYXZlc1JlZgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDl90b3RhbFdhdmVzUmVmAiBjb3VsZCBub3QgZ2V0IHRvdGFsIGxvY2tlZCB3YXZlcwkAzAgCCQEJX3dyaXRlSW50AgUOX3RvdGFsV2F2ZXNSZWYJAGUCBQtvbGRXYXZlc1JlZgUGYW1vdW50BQNuaWwBEF9nZXROZXdUaW1lU3RhbXABC2Jsb2NrSGVpZ2h0BAR0aW1lBAckbWF0Y2gwCQDtBwEFC2Jsb2NrSGVpZ2h0AwkAAQIFByRtYXRjaDACCUJsb2NrSW5mbwQIdGltZUluZm8FByRtYXRjaDAIBQh0aW1lSW5mbwl0aW1lc3RhbXAJAAIBAhRjb3VubGQgZ2V0IHRpbWVzdGFtcAUEdGltZQYBaQELZ2V0RW1pc3Npb24CCmxvY2tQZXJpb2QKY29sbGF0ZXJhbAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQkAlAoCBQNuaWwJARJfZW1pc3Npb25SYXRlV2F2ZXMCBQpsb2NrUGVyaW9kBQpjb2xsYXRlcmFsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBGluaXQEB21hbmFnZXIDZGZ4B2Fzc2V0SUQJbGVhc2VOb2RlBBRtYW5hZ2VyQWxyZWFkeUV4aXN0cwMJAQlpc0RlZmluZWQBCQEFX2dldFMBBQhfbWFuYWdlcgkBDF9vbmx5TWFuYWdlcgEFAWkGAwkAAAIFFG1hbmFnZXJBbHJlYWR5RXhpc3RzBRRtYW5hZ2VyQWxyZWFkeUV4aXN0cwQGY2hlY2sxCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB21hbmFnZXICD2ludmFsaWQgYWRkcmVzcwMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syCQEQX3ZhbGlkYXRlQWRkcmVzcwIFA2RmeAIPaW52YWxpZCBhZGRyZXNzAwkAAAIFBmNoZWNrMgUGY2hlY2syBAZjaGVjazMJARBfdmFsaWRhdGVBZGRyZXNzAgUJbGVhc2VOb2RlAg9pbnZhbGlkIGFkZHJlc3MDCQAAAgUGY2hlY2szBQZjaGVjazMEBmNoZWNrNAMJAQ5fdmFsaWRhdGVBc3NldAIFB2Fzc2V0SUQCDWludmFsaWQgYXNzZXQGCQACAQIQaW52YWxpZCBhc3NldCBJZAMJAAACBQZjaGVjazQFBmNoZWNrNAQQY2lyY3VsYXRpb25JbmRleAkBDF9zZXRQYXJhbVZhbAIFFV9jaXJjdWxhdGlvbkluY3JJbmRleAAABBdwZXJjZW50YWdlUmVkdWN0aW9uSW5NcgkBDF9zZXRQYXJhbVZhbAIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yAAAEAk1yCQEMX3NldFBhcmFtVmFsAgUDX01yBQ1fdW5pdERlY2ltYWxzBA90b3RhbFN0YXdNaW50ZWQJAQxfc2V0UGFyYW1WYWwCBQpfdG90YWxTdGF3AAAEGHRvdGFsU3Rhd0xQSW5DaXJjdWxhdGlvbgkBDF9zZXRQYXJhbVZhbAIFDF90b3RhbFN0YXdMUAAABBBnbG9iYWxJbmRleENvdW50CQEMX3NldFBhcmFtVmFsAgURX2dsb2JhbEluZGV4Q291bnQAAAQNdG90YWxXYXZlc1JlZgkBDF9zZXRQYXJhbVZhbAIFDl90b3RhbFdhdmVzUmVmAAAJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUIX21hbmFnZXIFB21hbmFnZXIJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUEX0RmeAUDZGZ4CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF9zdGF3QXNzZXRJZAUHYXNzZXRJRAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fbGVzc2VlQWRkcmVzcwUJbGVhc2VOb2RlCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFFV9jaXJjdWxhdGlvbkluY3JJbmRleAUQY2lyY3VsYXRpb25JbmRleAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQNfTXIFAk1yCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yBRdwZXJjZW50YWdlUmVkdWN0aW9uSW5NcgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fdG90YWxXYXZlc1JlZgUNdG90YWxXYXZlc1JlZgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQxfdG90YWxTdGF3TFAFGHRvdGFsU3Rhd0xQSW5DaXJjdWxhdGlvbgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQpfdG90YWxTdGF3BQ90b3RhbFN0YXdNaW50ZWQJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgURX2dsb2JhbEluZGV4Q291bnQFEGdsb2JhbEluZGV4Q291bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJtb2RpZnlHbG9iYWxQYXJhbXMBA3ZhbAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQQIZXJyb3JNc2cJALkJAgkAzAgCAgNnb3QJAMwIAgIMbGlzdCBzaXplIG9mCQDMCAIJAKQDAQkAkAMBBQN2YWwJAMwIAgIlYnV0IGV4cGVjdGVkIFtnbG9iYWxfa2V5LCB2YWx1ZV0gcGFpcgUDbmlsAgEgBAZjaGVjazIJAQhfdGhyb3dJZgIJAQIhPQIJAJADAQUDdmFsAAIFCGVycm9yTXNnAwkAAAIFBmNoZWNrMgUGY2hlY2syBANrZXkJAJEDAgUDdmFsAAAEB3ZhbFR5cGUJALYJAQkAkQMCBQN2YWwAAQQHJG1hdGNoMAUHdmFsVHlwZQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BBBlbnN1cmVWYWxpZFBhaXJzBAckbWF0Y2gxCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFA2tleQMJAAECBQckbWF0Y2gxAgNJbnQEAXQFByRtYXRjaDEGCQACAQIWaW52YWxpZCBrZXktdmFsdWUgcGFpcgMJAAACBRBlbnN1cmVWYWxpZFBhaXJzBRBlbnN1cmVWYWxpZFBhaXJzCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQUBeAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BAtzdHJpbmdWYWx1ZQkAkQMCBQN2YWwAAQQKcmVmQWRkcmVzcwkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQhfbWFuYWdlcgQGY2hlY2s0BAckbWF0Y2gxBQpyZWZBZGRyZXNzAwkAAQIFByRtYXRjaDECBlN0cmluZwQHc3RyVHlwZQUHJG1hdGNoMQMJAAACCQCxAgEFB3N0clR5cGUJALECAQULc3RyaW5nVmFsdWUJARBfdmFsaWRhdGVBZGRyZXNzAgULc3RyaW5nVmFsdWUCI3N0cmluZyB0eXBlIGZvciB2YWx1ZSBub3Qgc3VwcG9ydGVkCQEOX3ZhbGlkYXRlQXNzZXQCBQtzdHJpbmdWYWx1ZQIjc3RyaW5nIHR5cGUgZm9yIHZhbHVlIG5vdCBzdXBwb3J0ZWQHAwkAAAIFBmNoZWNrNAUGY2hlY2s0CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQULc3RyaW5nVmFsdWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgIRZmFpbGVkIHRvIG1vZGlmeSAJAJEDAgUDdmFsAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKcmV2b2tlTG9jawAEBmNoZWNrMQkBDF9vbmx5TWFuYWdlcgEFAWkDCQAAAgUGY2hlY2sxBQZjaGVjazEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQENdHJhbnNhY3Rpb25JRAQNY2FsbGVyQWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jb2xsYXRlcmFsS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDWxvY2twZXJpb2RLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAECWxvY2tJZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQTbG9ja3BlcmlvZEluTWlsaUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFHRvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFEl90b3RhbFdhdmVzQ2xhaW1lZAUDbmlsBQNTRVAED3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQOd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBF1c2VyTGVhc2VTdGF0ZUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBA1sZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAEDmdsb2JhbFdhdmVzUmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFDmdsb2JhbFdhdmVzUmVmBQ5nbG9iYWxXYXZlc1JlZgQMZ2xvYmFsU3Rhd1BMBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF90b3RhbFN0YXdMUAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCB3YXZlcwMJAAACBQxnbG9iYWxTdGF3UEwFDGdsb2JhbFN0YXdQTAQGbG9ja0lkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCWxvY2tJZEtleQMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAF0BQckbWF0Y2gwBQF0CQACAQIWZmFpbGVkIHRvIGdldCBsZWFzZSBpZAMJAAACBQZsb2NrSWQFBmxvY2tJZAQUdXNlclRvdGFsV2F2ZXNMb2NrZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIwZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQgYnkgdGhpcyBhZGRyZXNzAwkAAAIFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBRR1c2VyVG90YWxXYXZlc0xvY2tlZAQLd2F2ZXNBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOd2F2ZXNBbW91bnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIgZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQDCQAAAgULd2F2ZXNBbW91bnQFC3dhdmVzQW1vdW50BBF0b3RhbFdhdmVzQ2xhaW1lZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRR0b3RhbFdhdmVzQ2xhaW1lZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiFmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGNsYWltZWQDCQAAAgURdG90YWxXYXZlc0NsYWltZWQFEXRvdGFsV2F2ZXNDbGFpbWVkBAxzdGF3TFBBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUPc3Rhd0xQQW1vdW50S2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECFGZhaWxlZCB0byBnZXQgc3Rhd1BMAwkAAAIFDHN0YXdMUEFtb3VudAUMc3Rhd0xQQW1vdW50BBBsb2NrUGVyaW9kSW5NaWxpBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFE2xvY2twZXJpb2RJbk1pbGlLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIiZmFpbGVkIHRvIGdldCBsb2NrIHBlcmlvZCB0aW1lc3BhbQMJAAACBRBsb2NrUGVyaW9kSW5NaWxpBRBsb2NrUGVyaW9kSW5NaWxpBBBjdXJyZW50VGltZVN0YW1wBAckbWF0Y2gwCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAh9mYWlsZWQgdG8gZ2V0IGN1cnJlbnQgdGltZXN0YW1wAwkAAAIFEGN1cnJlbnRUaW1lU3RhbXAFEGN1cnJlbnRUaW1lU3RhbXAECmNvbGxhdGVyYWwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUNY29sbGF0ZXJhbEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAhhmYWlsZWQgdG8gZ2V0IGNvbGxhdGVyYWwDCQAAAgUKY29sbGF0ZXJhbAUKY29sbGF0ZXJhbAQKbG9ja1BlcmlvZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sb2NrcGVyaW9kS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECGGZhaWxlZCB0byBnZXQgbG9ja1BlcmlvZAMJAAACBQpsb2NrUGVyaW9kBQpsb2NrUGVyaW9kBBFjdXJyZW50TGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRF1c2VyTGVhc2VTdGF0ZUtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGxlYXNlIHN0YXRlAwkAAAIFEWN1cnJlbnRMZWFzZVN0YXRlBRFjdXJyZW50TGVhc2VTdGF0ZQQKbGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sZWFzZVN0YXRlS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAUBdAkAAgECImZhaWxlZCB0byBnZXQgbGVhc2Ugc3RhdGUgZm9yIHVzZXIDCQAAAgUKbGVhc2VTdGF0ZQUKbGVhc2VTdGF0ZQQGY2hlY2sxCQEIX3Rocm93SWYCCQBmAgUQbG9ja1BlcmlvZEluTWlsaQUQY3VycmVudFRpbWVTdGFtcAIqbG9jayBwZXJpb2QgZm9yIHRoaXMgZW50cnkgaGFzIG5vdCBlbGFwc2VkAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAtsZWFzZUFjdGlvbgMJAAACBRFjdXJyZW50TGVhc2VTdGF0ZQIGbGVhc2VkCQCUCgIJAQtMZWFzZUNhbmNlbAEFBmxvY2tJZAkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAJQKAgkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAQlfd3JpdGVTdHICBRF1c2VyTGVhc2VTdGF0ZUtleQIJY2FuY2VsbGVkAwkAAAIFC2xlYXNlQWN0aW9uBQtsZWFzZUFjdGlvbgQGY2hlY2syCQEIX3Rocm93SWYCAwkAAAIAAAULd2F2ZXNBbW91bnQGCQAAAgAABQxzdGF3TFBBbW91bnQCIWFsbCBjbGFpbXMgZXhoYXVzdGVkIGZvciB0aGlzIHRyeAMJAAACBQZjaGVjazIFBmNoZWNrMgQSZW1pc3Npb25WYWx1ZVBlckRUCQBoAgkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwFA19EdAQLY2xhaW1BY3Rpb24EDXRpbWVTdGFtcERpZmYJAGUCBRBjdXJyZW50VGltZVN0YW1wBRBsb2NrUGVyaW9kSW5NaWxpBBpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAkAaQIFDXRpbWVTdGFtcERpZmYFA19EdAMJAAACBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAAACQACAQIibGVzcyB0aGFuIDI0aHJzIGJlZm9yZSBmaXJzdCBjbGFpbQMJAQIhPQIJAGoCBQ10aW1lU3RhbXBEaWZmBQNfRHQAAAkAAgECNGFscmVhZHkgY2xhaW1lZCBvciBsZXNzIHRoYW4gMjRocnMgYmVmb3JlIG5leHQgY2xhaW0DCQBmAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQFCmxvY2tQZXJpb2QJAAIBAhRhbGwgY2xhaW1zIGV4aGF1c3RlZAQUdG90YWxBbW91bnRDbGFpbWFibGUJAGgCBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAUSZW1pc3Npb25WYWx1ZVBlckRUBAhjaGVjazNfMQkBCF90aHJvd0lmAgkAAAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAIcY2FuIG9ubHkgY2xhaW0gb25jZSBpbiAyNGhycwMJAAACBQhjaGVjazNfMQUIY2hlY2szXzEECGNoZWNrM18yCQEIX3Rocm93SWYCCQBmAgkAZAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAULd2F2ZXNBbW91bnQCFGFsbCBjbGFpbXMgZXhoYXVzdGVkAwkAAAIFCGNoZWNrM18yBQhjaGVjazNfMgQRY2xhaW1BbW91bnRUb1NlbmQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBRR0b3RhbEFtb3VudENsYWltYWJsZQURdG90YWxXYXZlc0NsYWltZWQEEm5ld1RvdGFsV2F2ZXNDbGFpbQUUdG90YWxBbW91bnRDbGFpbWFibGUEDm5ld1dhdmVzQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQt3YXZlc0Ftb3VudAUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBQt3YXZlc0Ftb3VudAkAZQIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAQPbmV3U3Rhd0xQQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQxzdGF3TFBBbW91bnQFFHRvdGFsQW1vdW50Q2xhaW1hYmxlCQBlAgUMc3Rhd0xQQW1vdW50CQBlAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBBBuZXdHbG9iYWxXYXZlUmVmCQBlAgUOZ2xvYmFsV2F2ZXNSZWYFDm5ld1dhdmVzQW1vdW50BA9uZXdHbG9iYWxTdGF3UEwJAGUCBQxnbG9iYWxTdGF3UEwFD25ld1N0YXdMUEFtb3VudAQXbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWQJAGUCBRR1c2VyVG90YWxXYXZlc0xvY2tlZAURY2xhaW1BbW91bnRUb1NlbmQEEHdhdmVzQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDm5ld1dhdmVzQW1vdW50BQNuaWwFA1NFUAQRc3Rhd0xQQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD25ld1N0YXdMUEFtb3VudAUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEm5ld1RvdGFsV2F2ZXNDbGFpbQUDbmlsBQNTRVAEHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFF25ld1VzZXJUb3RhbFdhdmVzTG9ja2VkBQNuaWwFA1NFUAkAzAgCCAULbGVhc2VBY3Rpb24CXzEJAMwIAggFC2xlYXNlQWN0aW9uAl8yCQDMCAIJAQlfd3JpdGVTdHICBQ53YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUPc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUUdG90YWxXYXZlc0NsYWltZWRLZXkFFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJAMwIAgkBCV93cml0ZVN0cgIFF3VzZXJUb3RhbFdhdmVzTG9ja2VkS2V5BRxuZXdVc2VyVG90YWxXYXZlc0xvY2tlZEVudHJ5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRBuZXdHbG9iYWxXYXZlUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUPbmV3R2xvYmFsU3Rhd1BMCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwURY2xhaW1BbW91bnRUb1NlbmQFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQtjbGFpbUFjdGlvbgULY2xhaW1BY3Rpb24FC2NsYWltQWN0aW9uCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCG1pbnRTdGF3AQpsb2NrUGVyaW9kBA1jYWxsZXJBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEBXRyeElECQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNoZWNrMQkBCF90aHJvd0lmAgkBAiE9AgABCQCQAwEIBQFpCHBheW1lbnRzAhRubyBwYXltZW50cyBhdHRhY2hlZAMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syAwkBCWlzRGVmaW5lZAEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkAAgECFG9ubHkgd2F2ZXMgc3VwcG9ydGVkBgMJAAACBQZjaGVjazIFBmNoZWNrMgQNYW1vdW50SW5XYXZlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBmNoZWNrMwMDCQBmAgUOX21pbkxvY2tBbW91bnQFDWFtb3VudEluV2F2ZXMGCQBmAgUNYW1vdW50SW5XYXZlcwUOX21heExvY2tBbW91bnQJAAIBAj9sb2NrIGFtb3VudCBvdXQgb2YgcmFuZ2UsIG1pbmltdW06IDEgd2F2ZXMsIG1heGltdW06IDEwMDAgd2F2ZXMGAwkAAAIFBmNoZWNrMwUGY2hlY2szBAZjaGVjazQDCQBmAgUOX21pbkxvY2twZXJpb2QFCmxvY2tQZXJpb2QJAAIBAh5taW5pbXVtIG9mIDE0IGRheXMgbG9jayBwZXJpb2QGAwkAAAIFBmNoZWNrNAUGY2hlY2s0BA10b3RhbFN0YXdNaW50CQEHX3N0YXdNRgIFCmxvY2tQZXJpb2QFDWFtb3VudEluV2F2ZXMEBnN0YXdQTAUNYW1vdW50SW5XYXZlcwQDZmVlCQBrAwgFDXRvdGFsU3Rhd01pbnQCXzEACgBkBBF1c2VyR2V0U3Rhd0Ftb3VudAkAZQIIBQ10b3RhbFN0YXdNaW50Al8xBQNmZWUEE2xvY2tQZXJpb2RUb01pbGlzZWMJAGQCCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAkBDl9kYXlzVG9NaWxpU2VjAQUKbG9ja1BlcmlvZAMJAAACBRNsb2NrUGVyaW9kVG9NaWxpc2VjBRNsb2NrUGVyaW9kVG9NaWxpc2VjBAluZXdfaW5kZXgEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQURX2dsb2JhbEluZGV4Q291bnQDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAABCQACAQIoZmFpbGVkIHRvIGdldCBjdXJyZW50IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBQluZXdfaW5kZXgFCW5ld19pbmRleAQKYWRkcmVzc0ZlZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQRfRGZ4AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAkBB0FkZHJlc3MBCQDZBAEFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGRmeCBhZGRyZXNzAwkAAAIFCmFkZHJlc3NGZWUFCmFkZHJlc3NGZWUEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAJANkEAQUBdAkAAgECFmZhaWxlZCB0byBnZXQgYXNzZXQgaWQDCQAAAgULc3Rhd0Fzc2V0SWQFC3N0YXdBc3NldElkBAZsZXNzZWUEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX2xlc3NlZUFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwCQEHQWRkcmVzcwEJANkEAQUBdAkAAgECIGZhaWxlZCB0byBnZXQgbGVhc2Ugbm9kZSBhZGRyZXNzAwkAAAIFBmxlc3NlZQUGbGVzc2VlBBB1c2VyTG9ja0luZGV4S2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBRRfdXNlckxvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEEnVzZXJUb3RhbExvY2tlZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEDnVzZXJJbmRleENvdW50BAckbWF0Y2gwCQEFX2dldFMBBRB1c2VyTG9ja0luZGV4S2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAQHJG1hdGNoMQkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRB1c2VyTG9ja0luZGV4S2V5AwkAAQIFByRtYXRjaDECA0ludAQBdAUHJG1hdGNoMQkAZAIFAXQAAQAAAAADCQAAAgUOdXNlckluZGV4Q291bnQFDnVzZXJJbmRleENvdW50BA91c2VyVG90YWxMb2NrZWQEByRtYXRjaDAJAQVfZ2V0UwEFEnVzZXJUb3RhbExvY2tlZEtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAEByRtYXRjaDEJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUSdXNlclRvdGFsTG9ja2VkS2V5AwkAAQIFByRtYXRjaDECA0ludAQBdAUHJG1hdGNoMQkAZAIFAXQFDWFtb3VudEluV2F2ZXMFDWFtb3VudEluV2F2ZXMFDWFtb3VudEluV2F2ZXMDCQAAAgUPdXNlclRvdGFsTG9ja2VkBQ91c2VyVG90YWxMb2NrZWQECGxlYXNlT3V0CQDECAIFBmxlc3NlZQUNYW1vdW50SW5XYXZlcwQKbGVhc2VJZFN0cgkA2AQBCQC5CAEFCGxlYXNlT3V0CQDOCAIJAM4IAgkAzggCCQDMCAIFCGxlYXNlT3V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFCmFkZHJlc3NGZWUFA2ZlZQULc3Rhd0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBRF1c2VyR2V0U3Rhd0Ftb3VudAULc3Rhd0Fzc2V0SWQFA25pbAkBEl9yZWdpc3RlclVzZXJFbnRyeQ0FBXRyeElEBQ1jYWxsZXJBZGRyZXNzBQpsb2NrUGVyaW9kBRNsb2NrUGVyaW9kVG9NaWxpc2VjBQluZXdfaW5kZXgFDWFtb3VudEluV2F2ZXMFEXVzZXJHZXRTdGF3QW1vdW50BQZzdGF3UEwFBmhlaWdodAUKbGVhc2VJZFN0cgUPdXNlclRvdGFsTG9ja2VkBQ51c2VySW5kZXhDb3VudAIGbGVhc2VkCQESX3VwZGF0ZUdsb2JhbEVudHJ5BAUNYW1vdW50SW5XYXZlcwgFDXRvdGFsU3Rhd01pbnQCXzEFBnN0YXdQTAUJbmV3X2luZGV4CAUNdG90YWxTdGF3TWludAJfMgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgA23HX0", "height": 2496067, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: yg4KbzG3RKh62qGdYdXNw8CfYi3gzgi2hU5Z2849XCE Next: CrLHGCTHCs8B1kLdTHnpggzop83EfsPc2aa7vffZznjj Diff:
OldNewDifferences
10171017 if ((du == du))
10181018 then {
10191019 let dv = Lease(dq, dj)
1020- if ((dv == dv))
1021- then {
1022- let dw = toBase58String(calculateLeaseId(dv))
1023- if ((dw == dw))
1024- 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)
1025- else throw("Strict value is not equal to itself.")
1026- }
1027- else throw("Strict value is not equal to itself.")
1020+ let dw = toBase58String(calculateLeaseId(dv))
1021+ ((([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)
10281022 }
10291023 else throw("Strict value is not equal to itself.")
10301024 }
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 for " + M))
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
253253 func aw (ax,ay) = {
254254 let U = ax
255255 if ($isInstanceOf(U, "String"))
256256 then {
257257 let ax = U
258258 let az = addressFromString(ax)
259259 let aA = az
260260 if ($isInstanceOf(aA, "Address"))
261261 then {
262262 let az = aA
263263 true
264264 }
265265 else {
266266 let aB = ay
267267 if ($isInstanceOf(aB, "String"))
268268 then {
269269 let aC = aB
270270 throw(aC)
271271 }
272272 else false
273273 }
274274 }
275275 else if ($isInstanceOf(U, "ByteVector"))
276276 then {
277277 let ax = U
278278 let az = addressFromPublicKey(ax)
279279 let aA = az
280280 if ($isInstanceOf(aA, "Address"))
281281 then {
282282 let az = aA
283283 true
284284 }
285285 else {
286286 let aB = ay
287287 if ($isInstanceOf(aB, "String"))
288288 then {
289289 let aC = aB
290290 throw(aC)
291291 }
292292 else false
293293 }
294294 }
295295 else throw("invalid input type")
296296 }
297297
298298
299299 func aD (aE,ay) = {
300300 let U = assetInfo(fromBase58String(aE))
301301 if ($isInstanceOf(U, "Asset"))
302302 then {
303303 let aF = U
304304 true
305305 }
306306 else {
307307 let aA = ay
308308 if ($isInstanceOf(aA, "String"))
309309 then {
310310 let aC = aA
311311 throw(aC)
312312 }
313313 else false
314314 }
315315 }
316316
317317
318318 func aG () = {
319319 let aH = {
320320 let U = ai(p)
321321 if ($isInstanceOf(U, "Int"))
322322 then {
323323 let aI = U
324324 aI
325325 }
326326 else throw("circulation index not previously defined")
327327 }
328328 if ((aH == aH))
329329 then {
330330 let aJ = {
331331 let U = ai(m)
332332 if ($isInstanceOf(U, "String"))
333333 then {
334334 let aI = U
335335 aI
336336 }
337337 else throw("asset id not previously defined")
338338 }
339339 if ((aJ == aJ))
340340 then {
341341 let aK = {
342342 let U = assetInfo(fromBase58String(aJ))
343343 if ($isInstanceOf(U, "Asset"))
344344 then {
345345 let aF = U
346346 aF.quantity
347347 }
348348 else throw(("asset not found for " + aJ))
349349 }
350350 let aL = (av((aK - i)) / i)
351351 let aM = if ((aL > aH))
352352 then (aL + aH)
353353 else aH
354354 let aN = {
355355 let U = ai(l)
356356 if ($isInstanceOf(U, "Int"))
357357 then {
358358 let aI = U
359359 aI
360360 }
361361 else throw("failed to get miniting rate")
362362 }
363363 if ((aM == aH))
364364 then $Tuple2(aN, nil)
365365 else {
366366 let aO = {
367367 let U = ai(k)
368368 if ($isInstanceOf(U, "Int"))
369369 then {
370370 let aI = U
371371 aI
372372 }
373373 else throw("failed to get percentage reduction factor")
374374 }
375375 let aP = (aN - fraction(aN, aO, 100))
376376 let aQ = af(l, aP)
377377 let aR = af(k, aO)
378378 let aS = af(p, aM)
379379 $Tuple2(aP, [aQ, aR, aS])
380380 }
381381 }
382382 else throw("Strict value is not equal to itself.")
383383 }
384384 else throw("Strict value is not equal to itself.")
385385 }
386386
387387
388388 func aT (aU,aV,aW,aX) = {
389389 let aY = {
390390 let U = ai(I)
391391 if ($isInstanceOf(U, "Int"))
392392 then {
393393 let aI = U
394394 (aI + aU)
395395 }
396396 else throw("failed to get global total waves")
397397 }
398398 if ((aY == aY))
399399 then {
400400 let aZ = {
401401 let U = ai(H)
402402 if ($isInstanceOf(U, "Int"))
403403 then {
404404 let aI = U
405405 (aI + aV)
406406 }
407407 else throw("failed to get global total staw minted")
408408 }
409409 if ((aZ == aZ))
410410 then {
411411 let ba = {
412412 let U = ai(J)
413413 if ($isInstanceOf(U, "Int"))
414414 then {
415415 let aI = U
416416 (aI + aW)
417417 }
418418 else throw("failed to get global total stawpl")
419419 }
420420 if ((ba == ba))
421421 then {
422422 let bb = {
423423 let U = ai(K)
424424 if ($isInstanceOf(U, "Int"))
425425 then {
426426 let aI = U
427427 (aI + aX)
428428 }
429429 else throw("failed to get global index count")
430430 }
431431 if ((bb == bb))
432432 then [af(I, aY), af(H, aZ), af(J, ba), af(K, bb)]
433433 else throw("Strict value is not equal to itself.")
434434 }
435435 else throw("Strict value is not equal to itself.")
436436 }
437437 else throw("Strict value is not equal to itself.")
438438 }
439439 else throw("Strict value is not equal to itself.")
440440 }
441441
442442
443443 func bc (bd,be,bf,bg,bh,aU,aV,bi,bj,bk,bl,bm,bn) = {
444444 let bo = makeString([be, bd, C], a)
445445 let bp = makeString([be, bd, w], a)
446446 let bq = makeString([be, bd, x], a)
447447 let br = makeString([be, bd, z], a)
448448 let bs = makeString([be, bd, A], a)
449449 let bt = makeString([be, bd, B], a)
450450 let bu = makeString([be, bd, D], a)
451451 let bv = makeString([be, bd, y], a)
452452 let bw = makeString([be, v], a)
453453 let bx = makeString([be, u], a)
454454 let by = makeString([be, bd, E], a)
455455 let bz = makeString([be, bd, F], a)
456456 let bA = makeString([be, bd, G], a)
457457 let bB = makeString(["%s", bd], a)
458458 let bC = makeString(["%d", toString(bf)], a)
459459 let bD = makeString(["%d", toString(bh)], a)
460460 let bE = makeString(["%d", toString(aU)], a)
461461 let bF = makeString(["%d", toString(aV)], a)
462462 let bG = makeString(["%d", toString(bi)], a)
463463 let bH = makeString(["%d", toString(bj)], a)
464464 let bI = makeString(["%b", bk], a)
465465 let bJ = makeString(["%d", toString(bl)], a)
466466 let bK = makeString(["%d", toString(bm)], a)
467467 let bL = makeString(["%d", toString(bg)], a)
468468 let bM = makeString(["%d", toString(0)], a)
469469 let bN = makeString(["%s", bn], a)
470470 [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)]
471471 }
472472
473473
474474 func bO (h,bP) = {
475475 let bQ = aG()
476476 let bR = (fraction(c, (f * bQ._1), g(h)) * bP)
477477 if ((size(bQ._2) == 0))
478478 then $Tuple2(bR, nil)
479479 else $Tuple2(bR, bQ._2)
480480 }
481481
482482
483483 func bS (h,bT) = {
484484 let bU = fraction(h, 15, 10)
485485 ((bT / ((h * bU) - h)) * f)
486486 }
487487
488488
489489 func bV (bW) = {
490490 let bX = Y(L(J), "could not get the running StawLP")
491491 [aa(J, (bX + bW))]
492492 }
493493
494494
495495 func bY (bW) = {
496496 let bX = Y(L(J), "could not get the running StawLP")
497497 [aa(J, (bX - bW))]
498498 }
499499
500500
501501 func bZ (bW) = {
502502 let ca = Y(L(I), "could not get total locked waves")
503503 [aa(I, (ca + bW))]
504504 }
505505
506506
507507 func cb (bW) = {
508508 let ca = Y(L(I), "could not get total locked waves")
509509 [aa(I, (ca - bW))]
510510 }
511511
512512
513513 func cc (cd) = {
514514 let ce = {
515515 let U = blockInfoByHeight(cd)
516516 if ($isInstanceOf(U, "BlockInfo"))
517517 then {
518518 let cf = U
519519 cf.timestamp
520520 }
521521 else throw("counld get timestamp")
522522 }
523523 ce
524524 }
525525
526526
527527 @Callable(at)
528528 func getEmission (h,bT) = {
529529 let cg = as(at)
530530 if ((cg == cg))
531531 then $Tuple2(nil, bS(h, bT))
532532 else throw("Strict value is not equal to itself.")
533533 }
534534
535535
536536
537537 @Callable(at)
538538 func init (au,ch,aE,ci) = {
539539 let cj = if (isDefined(N(n)))
540540 then as(at)
541541 else true
542542 if ((cj == cj))
543543 then {
544544 let cg = aw(au, "invalid address")
545545 if ((cg == cg))
546546 then {
547547 let ck = aw(ch, "invalid address")
548548 if ((ck == ck))
549549 then {
550550 let cl = aw(ci, "invalid address")
551551 if ((cl == cl))
552552 then {
553553 let cm = if (aD(aE, "invalid asset"))
554554 then true
555555 else throw("invalid asset Id")
556556 if ((cm == cm))
557557 then {
558558 let cn = S(p, 0)
559559 let co = S(k, 0)
560560 let cp = S(l, c)
561561 let cq = S(H, 0)
562562 let cr = S(J, 0)
563563 let cs = S(K, 0)
564564 let ct = S(I, 0)
565565 [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), af(K, cs)]
566566 }
567567 else throw("Strict value is not equal to itself.")
568568 }
569569 else throw("Strict value is not equal to itself.")
570570 }
571571 else throw("Strict value is not equal to itself.")
572572 }
573573 else throw("Strict value is not equal to itself.")
574574 }
575575 else throw("Strict value is not equal to itself.")
576576 }
577577
578578
579579
580580 @Callable(at)
581581 func modifyGlobalParams (W) = {
582582 let cg = as(at)
583583 if ((cg == cg))
584584 then {
585585 let ay = makeString(["got", "list size of", toString(size(W)), "but expected [global_key, value] pair"], " ")
586586 let ck = ad((size(W) != 2), ay)
587587 if ((ck == ck))
588588 then {
589589 let M = W[0]
590590 let cu = parseInt(W[1])
591591 let U = cu
592592 if ($isInstanceOf(U, "Int"))
593593 then {
594594 let ak = U
595595 let cv = ad((N(M) == unit), (("key " + M) + " not recognized"))
596596 if ((cv == cv))
597597 then {
598598 let cw = {
599599 let aA = ai(M)
600600 if ($isInstanceOf(aA, "Int"))
601601 then {
602602 let aI = aA
603603 true
604604 }
605605 else throw("invalid key-value pair")
606606 }
607607 if ((cw == cw))
608608 then [af(M, ak)]
609609 else throw("Strict value is not equal to itself.")
610610 }
611611 else throw("Strict value is not equal to itself.")
612612 }
613613 else if ($isInstanceOf(U, "Unit"))
614614 then {
615615 let ak = U
616616 let cv = ad((N(M) == unit), (("key " + M) + " not recognized"))
617617 if ((cv == cv))
618618 then {
619619 let cx = W[1]
620620 let cy = ai(n)
621621 let cm = {
622622 let aA = cy
623623 if ($isInstanceOf(aA, "String"))
624624 then {
625625 let cz = aA
626626 if ((size(cz) == size(cx)))
627627 then aw(cx, "string type for value not supported")
628628 else aD(cx, "string type for value not supported")
629629 }
630630 else false
631631 }
632632 if ((cm == cm))
633633 then [af(M, cx)]
634634 else throw("Strict value is not equal to itself.")
635635 }
636636 else throw("Strict value is not equal to itself.")
637637 }
638638 else throw(("failed to modify " + W[0]))
639639 }
640640 else throw("Strict value is not equal to itself.")
641641 }
642642 else throw("Strict value is not equal to itself.")
643643 }
644644
645645
646646
647647 @Callable(at)
648648 func revokeLock () = {
649649 let cg = as(at)
650650 if ((cg == cg))
651651 then nil
652652 else throw("Strict value is not equal to itself.")
653653 }
654654
655655
656656
657657 @Callable(at)
658658 func claim (bd) = {
659659 let cA = toBase58String(at.caller.bytes)
660660 let cB = makeString([cA, bd, z], a)
661661 let cC = makeString([cA, bd, w], a)
662662 let cD = makeString([cA, bd, y], a)
663663 let cE = makeString([cA, bd, E], a)
664664 let cF = makeString([cA, bd, F], a)
665665 let cG = makeString([cA, bd, B], a)
666666 let cH = makeString([cA, bd, z], a)
667667 let cI = makeString([cA, v], a)
668668 let cJ = makeString([cA, bd, G], a)
669669 let cK = makeString([cA, bd, G], a)
670670 let cL = {
671671 let U = ai(I)
672672 if ($isInstanceOf(U, "Int"))
673673 then {
674674 let aI = U
675675 aI
676676 }
677677 else throw("failed to get global total waves")
678678 }
679679 if ((cL == cL))
680680 then {
681681 let cM = {
682682 let U = ai(J)
683683 if ($isInstanceOf(U, "Int"))
684684 then {
685685 let aI = U
686686 aI
687687 }
688688 else throw("failed to get global total waves")
689689 }
690690 if ((cM == cM))
691691 then {
692692 let bk = {
693693 let U = ai(cD)
694694 if ($isInstanceOf(U, "ByteVector"))
695695 then {
696696 let aI = U
697697 aI
698698 }
699699 else throw("failed to get lease id")
700700 }
701701 if ((bk == bk))
702702 then {
703703 let cN = {
704704 let U = ai(cI)
705705 if ($isInstanceOf(U, "Int"))
706706 then {
707707 let aI = U
708708 aI
709709 }
710710 else throw("failed to get total waves locked by this address")
711711 }
712712 if ((cN == cN))
713713 then {
714714 let aU = {
715715 let U = ai(cH)
716716 if ($isInstanceOf(U, "Int"))
717717 then {
718718 let aI = U
719719 aI
720720 }
721721 else throw("failed to get total waves locked")
722722 }
723723 if ((aU == aU))
724724 then {
725725 let cO = {
726726 let U = ai(cF)
727727 if ($isInstanceOf(U, "Int"))
728728 then {
729729 let aI = U
730730 aI
731731 }
732732 else throw("failed to get total waves claimed")
733733 }
734734 if ((cO == cO))
735735 then {
736736 let bi = {
737737 let U = ai(cG)
738738 if ($isInstanceOf(U, "Int"))
739739 then {
740740 let aI = U
741741 aI
742742 }
743743 else throw("failed to get stawPL")
744744 }
745745 if ((bi == bi))
746746 then {
747747 let cP = {
748748 let U = ai(cE)
749749 if ($isInstanceOf(U, "Int"))
750750 then {
751751 let aI = U
752752 aI
753753 }
754754 else throw("failed to get lock period timespam")
755755 }
756756 if ((cP == cP))
757757 then {
758758 let cQ = {
759759 let U = cc(height)
760760 if ($isInstanceOf(U, "Int"))
761761 then {
762762 let aI = U
763763 aI
764764 }
765765 else throw("failed to get current timestamp")
766766 }
767767 if ((cQ == cQ))
768768 then {
769769 let bT = {
770770 let U = ai(cB)
771771 if ($isInstanceOf(U, "Int"))
772772 then {
773773 let aI = U
774774 aI
775775 }
776776 else throw("failed to get collateral")
777777 }
778778 if ((bT == bT))
779779 then {
780780 let h = {
781781 let U = ai(cC)
782782 if ($isInstanceOf(U, "Int"))
783783 then {
784784 let aI = U
785785 aI
786786 }
787787 else throw("failed to get lockPeriod")
788788 }
789789 if ((h == h))
790790 then {
791791 let cR = {
792792 let U = ai(cJ)
793793 if ($isInstanceOf(U, "String"))
794794 then {
795795 let aI = U
796796 aI
797797 }
798798 else throw("failed to get lease state")
799799 }
800800 if ((cR == cR))
801801 then {
802802 let bn = {
803803 let U = ai(cK)
804804 if ($isInstanceOf(U, "String"))
805805 then {
806806 let aI = U
807807 aI
808808 }
809809 else throw("failed to get lease state for user")
810810 }
811811 if ((bn == bn))
812812 then {
813813 let cg = ad((cP > cQ), "lock period for this entry has not elapsed")
814814 if ((cg == cg))
815815 then {
816816 let cS = if ((cR == "leased"))
817817 then $Tuple2(LeaseCancel(bk), ac(cJ, "cancelled"))
818818 else $Tuple2(ac(cJ, "cancelled"), ac(cJ, "cancelled"))
819819 if ((cS == cS))
820820 then {
821821 let ck = ad(if ((0 == aU))
822822 then true
823823 else (0 == bi), "all claims exhausted for this trx")
824824 if ((ck == ck))
825825 then {
826826 let cT = (bS(h, bT) * f)
827827 let cU = {
828828 let cV = (cQ - cP)
829829 let cW = (cV / f)
830830 if ((cW == 0))
831831 then throw("less than 24hrs before first claim")
832832 else if (((cV % f) != 0))
833833 then throw("already claimed or less than 24hrs before next claim")
834834 else if ((cW > h))
835835 then throw("all claims exhausted")
836836 else {
837837 let cX = (cW * cT)
838838 let cY = ad((cX == cO), "can only claim once in 24hrs")
839839 if ((cY == cY))
840840 then {
841841 let cZ = ad(((cX + cO) > aU), "all claims exhausted")
842842 if ((cZ == cZ))
843843 then {
844844 let da = if ((cW == 1))
845845 then cX
846846 else (cX - cO)
847847 let db = cX
848848 let dc = if ((cW == 1))
849849 then (aU - cX)
850850 else (aU - (cX - cO))
851851 let dd = if ((cW == 1))
852852 then (bi - cX)
853853 else (bi - (cX - cO))
854854 let de = (cL - dc)
855855 let df = (cM - dd)
856856 let dg = (cN - da)
857857 let bE = makeString(["%d", toString(dc)], a)
858858 let bG = makeString(["%d", toString(dd)], a)
859859 let bM = makeString(["%d", toString(db)], a)
860860 let dh = makeString(["%d", toString(dg)], a)
861861 [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)]
862862 }
863863 else throw("Strict value is not equal to itself.")
864864 }
865865 else throw("Strict value is not equal to itself.")
866866 }
867867 }
868868 if ((cU == cU))
869869 then cU
870870 else throw("Strict value is not equal to itself.")
871871 }
872872 else throw("Strict value is not equal to itself.")
873873 }
874874 else throw("Strict value is not equal to itself.")
875875 }
876876 else throw("Strict value is not equal to itself.")
877877 }
878878 else throw("Strict value is not equal to itself.")
879879 }
880880 else throw("Strict value is not equal to itself.")
881881 }
882882 else throw("Strict value is not equal to itself.")
883883 }
884884 else throw("Strict value is not equal to itself.")
885885 }
886886 else throw("Strict value is not equal to itself.")
887887 }
888888 else throw("Strict value is not equal to itself.")
889889 }
890890 else throw("Strict value is not equal to itself.")
891891 }
892892 else throw("Strict value is not equal to itself.")
893893 }
894894 else throw("Strict value is not equal to itself.")
895895 }
896896 else throw("Strict value is not equal to itself.")
897897 }
898898 else throw("Strict value is not equal to itself.")
899899 }
900900 else throw("Strict value is not equal to itself.")
901901 }
902902 else throw("Strict value is not equal to itself.")
903903 }
904904
905905
906906
907907 @Callable(at)
908908 func mintStaw (h) = {
909909 let cA = toBase58String(at.caller.bytes)
910910 let di = toBase58String(at.transactionId)
911911 let cg = ad((1 != size(at.payments)), "no payments attached")
912912 if ((cg == cg))
913913 then {
914914 let ck = if (isDefined(at.payments[0].assetId))
915915 then throw("only waves supported")
916916 else true
917917 if ((ck == ck))
918918 then {
919919 let dj = at.payments[0].amount
920920 let cl = if (if ((d > dj))
921921 then true
922922 else (dj > e))
923923 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
924924 else true
925925 if ((cl == cl))
926926 then {
927927 let cm = if ((b > h))
928928 then throw("minimum of 14 days lock period")
929929 else true
930930 if ((cm == cm))
931931 then {
932932 let dk = bO(h, dj)
933933 let aW = dj
934934 let dl = fraction(dk._1, 10, 100)
935935 let dm = (dk._1 - dl)
936936 let dn = (cc(height) + an(h))
937937 if ((dn == dn))
938938 then {
939939 let do = {
940940 let U = ai(K)
941941 if ($isInstanceOf(U, "Int"))
942942 then {
943943 let aI = U
944944 (aI + 1)
945945 }
946946 else throw("failed to get current global index count")
947947 }
948948 if ((do == do))
949949 then {
950950 let dp = {
951951 let U = ai(o)
952952 if ($isInstanceOf(U, "String"))
953953 then {
954954 let aI = U
955955 Address(fromBase58String(aI))
956956 }
957957 else throw("failed to get dfx address")
958958 }
959959 if ((dp == dp))
960960 then {
961961 let aJ = {
962962 let U = ai(m)
963963 if ($isInstanceOf(U, "String"))
964964 then {
965965 let aI = U
966966 fromBase58String(aI)
967967 }
968968 else throw("failed to get asset id")
969969 }
970970 if ((aJ == aJ))
971971 then {
972972 let dq = {
973973 let U = ai(q)
974974 if ($isInstanceOf(U, "String"))
975975 then {
976976 let aI = U
977977 Address(fromBase58String(aI))
978978 }
979979 else throw("failed to get lease node address")
980980 }
981981 if ((dq == dq))
982982 then {
983983 let dr = makeString([cA, u], a)
984984 let ds = makeString([cA, v], a)
985985 let dt = {
986986 let U = N(dr)
987987 if ($isInstanceOf(U, "String"))
988988 then {
989989 let ak = U
990990 let aA = ai(dr)
991991 if ($isInstanceOf(aA, "Int"))
992992 then {
993993 let aI = aA
994994 (aI + 1)
995995 }
996996 else 0
997997 }
998998 else 0
999999 }
10001000 if ((dt == dt))
10011001 then {
10021002 let du = {
10031003 let U = N(ds)
10041004 if ($isInstanceOf(U, "String"))
10051005 then {
10061006 let ak = U
10071007 let aA = ai(ds)
10081008 if ($isInstanceOf(aA, "Int"))
10091009 then {
10101010 let aI = aA
10111011 (aI + dj)
10121012 }
10131013 else dj
10141014 }
10151015 else dj
10161016 }
10171017 if ((du == du))
10181018 then {
10191019 let dv = Lease(dq, dj)
1020- if ((dv == dv))
1021- then {
1022- let dw = toBase58String(calculateLeaseId(dv))
1023- if ((dw == dw))
1024- 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)
1025- else throw("Strict value is not equal to itself.")
1026- }
1027- else throw("Strict value is not equal to itself.")
1020+ let dw = toBase58String(calculateLeaseId(dv))
1021+ ((([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)
10281022 }
10291023 else throw("Strict value is not equal to itself.")
10301024 }
10311025 else throw("Strict value is not equal to itself.")
10321026 }
10331027 else throw("Strict value is not equal to itself.")
10341028 }
10351029 else throw("Strict value is not equal to itself.")
10361030 }
10371031 else throw("Strict value is not equal to itself.")
10381032 }
10391033 else throw("Strict value is not equal to itself.")
10401034 }
10411035 else throw("Strict value is not equal to itself.")
10421036 }
10431037 else throw("Strict value is not equal to itself.")
10441038 }
10451039 else throw("Strict value is not equal to itself.")
10461040 }
10471041 else throw("Strict value is not equal to itself.")
10481042 }
10491043 else throw("Strict value is not equal to itself.")
10501044 }
10511045
10521046

github/deemru/w8io/169f3d6 
82.48 ms