tx · EEeCGrvQtX78pb5PeTguo392duVFJaQM9zaprx8gUx2W

3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH:  -0.02400000 Waves

2023.03.16 14:35 [2492528] smart account 3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH > SELF 0.00000000 Waves

{ "type": 13, "id": "EEeCGrvQtX78pb5PeTguo392duVFJaQM9zaprx8gUx2W", "fee": 2400000, "feeAssetId": null, "timestamp": 1678966526531, "version": 2, "chainId": 84, "sender": "3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH", "senderPublicKey": "5JqBVJpMCyD7dJLJttqYjL6CmJc4zahBHSFjFb7qQTga", "proofs": [ "4SHcsa3cT6UvigNcJx4oYAeYNAuoB3sHQ7W4s6vqd8YJaqxS7MP74jLLBRWU6D979GwBKTpA4xHdBb7TH8wtxxLz" ], "script": "base64:BgIhCAISBAoCAQESBgoECAgICBIDCgEYEgASAwoBCBIDCgEBRAADU0VQAgFfAA5fbWluTG9ja3BlcmlvZAABAA1fdW5pdERlY2ltYWxzAIDC1y8ADl9taW5Mb2NrQW1vdW50CQBoAgABBQ1fdW5pdERlY2ltYWxzAA5fbWF4TG9ja0Ftb3VudAkAaAIA6AcFDV91bml0RGVjaW1hbHMAA19EdACAuJkpAQRfUHB5AQpsb2NrUGVyaW9kCQBrAwUNX3VuaXREZWNpbWFscwDtAgUKbG9ja1BlcmlvZAANX2luY3JlbWVudFJlZgkAaAIAwIQ9BQ1fdW5pdERlY2ltYWxzAA5fcGVyY2VudGFnZUZlZQkAawMFDV91bml0RGVjaW1hbHMACgBkABpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIpQ3VycmVudF9QZXJjZW50YWdlUmVkdWN0aW9uX0ZhY3Rvcl9Gb3JfTXIAA19NcgIMTWludGluZ19SYXRlAAxfc3Rhd0Fzc2V0SWQCDFN0YXdfQXNzZXRJZAAIX21hbmFnZXICB21hbmFnZXIABF9EZngCA0RmeAAVX2NpcmN1bGF0aW9uSW5jckluZGV4AhlDaXJjdWxhdGlvbkluY3JlbWVudEluZGV4AA5fbGVzc2VlQWRkcmVzcwIJTGVhc2VOb2RlABpfdXNlckVtaXNzaW9uQW1vdW50Q2xhaW1lZAIVRW1pc3Npb25BbW91bnRDbGFpbWVkABtfdXNlckNhbkNsYWltRW1pc3Npb25BbW91bnQCFkNhbkNsYWltRW1pc3Npb25BbW91bnQADF91c2VyQWRkcmVzcwINV2FsbGV0QWRkcmVzcwAUX3VzZXJMb2NhbEluZGV4Q291bnQCFFRvdGFsRW50cnlJbmRleENvdW50ABBfdXNlclRvdGFsTG9ja2VkAgtUb3RhbExvY2tlZAANX2xvY2tEdXJhdGlvbgIMTG9ja0R1cmF0aW9uAApfbG9ja0luZGV4Ag9HbG9iYWxMb2NrSW5kZXgAB19sb2NrSWQCDkxvY2tJZGVudGlmaWVyAAxfd2F2ZXNBbW91bnQCDUFtb3VudEluV2F2ZXMAC19zdGF3QW1vdW50AgxBbW91bnRJblN0YXcADV9zdGF3TFBBbW91bnQCDkFtb3VudEluU3Rhd0xQAAVfdHhJZAIEVFhJRAANX2xvY2tBdEhlaWdodAIMTG9ja0F0SGVpZ2h0ABRfbG9ja1BlcmlvZEluTWlsaVNlYwIUTG9jS1BlcmlvZEluTWlsbGlTZWMAEl90b3RhbFdhdmVzQ2xhaW1lZAIRVG90YWxXYXZlc0NsYWltZWQAD191c2VyTGVhc2VTdGF0ZQIKTGVhc2VTdGF0ZQAKX3RvdGFsU3RhdwIPVG90YWxTdGF3TWludGVkAA5fdG90YWxXYXZlc1JlZgIQVG90YWxXYXZlc0xvY2tlZAAMX3RvdGFsU3Rhd0xQAgtUb3RhbFN0YXdMUAARX2dsb2JhbEluZGV4Q291bnQCCkluZGV4Q291bnQBBV9nZXRJAQNrZXkJAJoIAgUEdGhpcwUDa2V5AQVfZ2V0UwEDa2V5CQCdCAIFBHRoaXMFA2tleQEFX2dldEIBA2tleQkAmwgCBQR0aGlzBQNrZXkBBl9nZXRCVgEDa2V5CQEFdmFsdWUBCQCbCAIFBHRoaXMFA2tleQEGX2dldElWAQNrZXkJAQV2YWx1ZQEJAJoIAgUEdGhpcwUDa2V5AQZfZ2V0U1YBA2tleQkBBXZhbHVlAQkAnQgCBQR0aGlzBQNrZXkBDF9zZXRQYXJhbVZhbAIDa2V5CmRlZmF1bHRWYWwEByRtYXRjaDAFCmRlZmF1bHRWYWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBApkZWZhdWx0VmFsBQckbWF0Y2gwAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBBl9nZXRTVgEFA2tleQUKZGVmYXVsdFZhbAMJAAECBQckbWF0Y2gwAgNJbnQECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRJAQUDa2V5CQEGX2dldElWAQUDa2V5BQpkZWZhdWx0VmFsAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4ECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRCAQUDa2V5CQEGX2dldEJWAQUDa2V5BQpkZWZhdWx0VmFsCQACAQkArAICAh12YWx1ZSB0eXBlIG5vdCBzdXBwb3J0ZWQgZm9yIAUDa2V5AQ9fdGhyb3dPclJldHVyblMCA3ZhbAVlcnJvcgQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEPX3Rocm93T3JSZXR1cm5JAgN2YWwFZXJyb3IEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEA3ZhbAUHJG1hdGNoMAUDdmFsCQACAQUFZXJyb3IBEl90aHJvd09yUmV0dXJuQm9vbAIDdmFsBWVycm9yBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEJX3dyaXRlSW50AgNrZXkFdmFsdWUDCQBmAgAABQV2YWx1ZQkAAgEJAKwCAgkArAICCQCsAgICF3dyaXRpbmcgbmVnYXRpdmUgdmFsdWUgCQCkAwEFBXZhbHVlAgkgZm9yIGtleSAFA2tleQkBDEludGVnZXJFbnRyeQIFA2tleQUFdmFsdWUBCV93cml0ZVN0cgIDa2V5BXZhbHVlAwkAAAICASAFBXZhbHVlCQACAQkArAICAhh3cml0aW5nIGFuIGVtcHR5IHN0cmluZyAFBXZhbHVlCQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlAQhfdGhyb3dJZgIJY29uZGl0aW9uBWVycm9yAwUJY29uZGl0aW9uCQACAQUFZXJyb3IGARFfd3JpdGVHbG9iYWxQYXJhbQIDa2V5Bl92YWx1ZQQHJG1hdGNoMAUGX3ZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiViCQDMCAIJAKUDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkJAAIBAhJ0eXBlIG5vdCBzdXBwb3J0ZWQBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBA2tleQQJX3Jhd1ZhbHVlCQEPX3Rocm93T3JSZXR1cm5TAgkBBV9nZXRTAQUDa2V5Ag9lbnRyeSBub3QgZm91bmQDCQAAAgUJX3Jhd1ZhbHVlBQlfcmF3VmFsdWUEAXgJALUJAgUJX3Jhd1ZhbHVlBQNTRVAED2Zvcm1hdFNwZWNpZmllcgkAsgICCQCRAwIFAXgAAAABBAxfdmFsdWVTdHJpbmcJAJEDAgUBeAkAZQIJAJADAQUBeAABBAZfdmFsdWUDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFzBQxfdmFsdWVTdHJpbmcDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFkCQENcGFyc2VJbnRWYWx1ZQEFDF92YWx1ZVN0cmluZwMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAWIJANkEAQUMX3ZhbHVlU3RyaW5nCQACAQkArAICAiNjb3VsZCBub3QgcGFyc2UgcmVnaXN0cnkgdmFsdWUgZm9yIAUDa2V5BQZfdmFsdWUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDl9kYXlzVG9NaWxpU2VjAQRkYXlzBAVjaGVjawkBCF90aHJvd0lmAgkAZwIAAAUEZGF5cwIVaW52YWxpZCBsb2NraW5nIGRheXMhAwkAAAIFBWNoZWNrBQVjaGVjawkAaAIFBGRheXMFA19EdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERX3dyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZVN0cgIFA2tleQUFdmFsdWUJAAIBCQCsAgICG2VudHJ5IGFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5ARJfd3JpdGVDb25zdEludGVnZXICA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZUludAIFA2tleQUFdmFsdWUJAAIBCQCsAgICHCBlbnRyeSBhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEMX29ubHlNYW5hZ2VyAQFpBAdtYW5hZ2VyBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCF9tYW5hZ2VyAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwCFWZhaWxlZCB0byBnZXQgbWFuYWdlcgMJAAACBQdtYW5hZ2VyBQdtYW5hZ2VyCQEIX3Rocm93SWYCCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFB21hbmFnZXICFmFkZHJlc3Mgbm90IGF1dGhvcml6ZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BBF9hYnMBA3ZhbAMJAGYCAAAFA3ZhbAkBAS0BBQN2YWwFA3ZhbAEQX3ZhbGlkYXRlQWRkcmVzcwEHYWRkcmVzcwQHJG1hdGNoMAUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCmCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgkAAgECD2ludmFsaWQgYWRkcmVzcwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAdhZGRyZXNzBQckbWF0Y2gwBAhfYWRkcmVzcwkApwgBBQdhZGRyZXNzBAckbWF0Y2gxBQhfYWRkcmVzcwMJAAECBQckbWF0Y2gxAgdBZGRyZXNzBAhfYWRkcmVzcwUHJG1hdGNoMQYJAAIBAhJpbnZhbGlkIHB1YmxpYyBrZXkJAAIBAhJpbnZhbGlkIGlucHV0IHR5cGUBDl92YWxpZGF0ZUFzc2V0AQdhc3NldElEBAckbWF0Y2gwCQDsBwEJANkEAQUHYXNzZXRJRAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAGCQACAQkArAICAhJpbnZhbGlkIGFzc2V0IGlkOiAFB2Fzc2V0SUQBCl9jb21wdXRlTXIABBBjdXJyZW50Q2lyY0luZGV4BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFFV9jaXJjdWxhdGlvbkluY3JJbmRleAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAihjaXJjdWxhdGlvbiBpbmRleCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAh9hc3NldCBpZCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFC3N0YXdBc3NldElkBQtzdGF3QXNzZXRJZAQVc3Rhd0NpcmN1bGF0aW5nU3VwcGx5BAckbWF0Y2gwCQDsBwEJANkEAQULc3Rhd0Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCAUFYXNzZXQIcXVhbnRpdHkJAAIBCQCsAgICFGFzc2V0IG5vdCBmb3VuZCBmb3IgBQtzdGF3QXNzZXRJZAQNdW5pdEluY3JlbWVudAkAaQIJAQRfYWJzAQkAZQIFFXN0YXdDaXJjdWxhdGluZ1N1cHBseQUNX2luY3JlbWVudFJlZgUNX2luY3JlbWVudFJlZgQXbmV3Q2lyY3VsYXRpb25JbmNySW5kZXgDCQBmAgUNdW5pdEluY3JlbWVudAUQY3VycmVudENpcmNJbmRleAkAZAIFDXVuaXRJbmNyZW1lbnQFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgECWN1cnJlbnRNcgQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQNfTXIDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIbZmFpbGVkIHRvIGdldCBtaW5pdGluZyByYXRlAwkAAAIFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4BRBjdXJyZW50Q2lyY0luZGV4CQCUCgIFCWN1cnJlbnRNcgUDbmlsBBJuZXdyZWR1Y3Rpb25GYWN0b3IEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIpZmFpbGVkIHRvIGdldCBwZXJjZW50YWdlIHJlZHVjdGlvbiBmYWN0b3IEDG5ld0N1cnJlbnRNcgkAZQIFCWN1cnJlbnRNcgkAawMFCWN1cnJlbnRNcgUSbmV3cmVkdWN0aW9uRmFjdG9yAGQEBnN0b3JlMQkBEV93cml0ZUdsb2JhbFBhcmFtAgUDX01yBQxuZXdDdXJyZW50TXIEBnN0b3JlMgkBEV93cml0ZUdsb2JhbFBhcmFtAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IFEm5ld3JlZHVjdGlvbkZhY3RvcgQGc3RvcmUzCQERX3dyaXRlR2xvYmFsUGFyYW0CBRVfY2lyY3VsYXRpb25JbmNySW5kZXgFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4CQCUCgIFDG5ld0N1cnJlbnRNcgkAzAgCBQZzdG9yZTEJAMwIAgUGc3RvcmUyCQDMCAIFBnN0b3JlMwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJfdXBkYXRlR2xvYmFsRW50cnkEC3dhdmVzQW1vdW50CnN0YXdBbW91bnQGc3Rhd1BMCmluZGV4Q291bnQEGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFC3dhdmVzQW1vdW50CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgd2F2ZXMDCQAAAgUaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYFGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBBlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCl90b3RhbFN0YXcDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUKc3Rhd0Ftb3VudAkAAgECJmZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHN0YXcgbWludGVkAwkAAAIFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQEFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQxfdG90YWxTdGF3TFADCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUGc3Rhd1BMCQACAQIhZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgc3Rhd3BsAwkAAAIFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMBBNfbmV3R2xvYmFJbmRleENvdW50BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEV9nbG9iYWxJbmRleENvdW50AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFCmluZGV4Q291bnQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBRNfbmV3R2xvYmFJbmRleENvdW50BRNfbmV3R2xvYmFJbmRleENvdW50CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQpfdG90YWxTdGF3BRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFEV9nbG9iYWxJbmRleENvdW50BRNfbmV3R2xvYmFJbmRleENvdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEl9yZWdpc3RlclVzZXJFbnRyeQ0NdHJhbnNhY3Rpb25JRAt1c2VyQWRkcmVzcwxsb2NrRHVyYXRpb24SbG9ja0R1cmF0aW9uSW5NaWxpCWxvY2tJbmRleAt3YXZlc0Ftb3VudApzdGF3QW1vdW50DHN0YXdMUEFtb3VudAxsb2NrQXRIZWlnaHQGbG9ja0lkC3RvdGFsTG9ja2VkD2xvY2FsSW5kZXhDb3VudApsZWFzZVN0YXRlBAhfdHhJZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUFX3R4SWQFA25pbAUDU0VQBBBfbG9ja0R1cmF0aW9uS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fbG9ja0R1cmF0aW9uBQNuaWwFA1NFUAQNX2xvY2tJbmRleEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUKX2xvY2tJbmRleAUDbmlsBQNTRVAED193YXZlc0Ftb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQOX3N0YXdBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFC19zdGF3QW1vdW50BQNuaWwFA1NFUAQQX3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX3N0YXdMUEFtb3VudAUDbmlsBQNTRVAEEF9sb2NrQXRIZWlnaHRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9sb2NrQXRIZWlnaHQFA25pbAUDU0VQBApfbG9ja0lkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQPX3RvdGFsTG9ja2VkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEEl9sb2NhbExvY2tJbmRleEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFFF91c2VyTG9jYWxJbmRleENvdW50BQNuaWwFA1NFUAQXX2xvY2tQZXJpb2RJbk1pbGlTZWNLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFFF9sb2NrUGVyaW9kSW5NaWxpU2VjBQNuaWwFA1NFUAQVX3RvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRJfdG90YWxXYXZlc0NsYWltZWQFA25pbAUDU0VQBBJfdXNlckxlYXNlU3RhdGVLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAECnRyeElkRW50cnkJALkJAgkAzAgCAgIlcwkAzAgCBQ10cmFuc2FjdGlvbklEBQNuaWwFA1NFUAQRbG9ja0R1cmF0aW9uRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDGxvY2tEdXJhdGlvbgUDbmlsBQNTRVAEDmxvY2tJbmRleEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQlsb2NrSW5kZXgFA25pbAUDU0VQBBB3YXZlc0Ftb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQt3YXZlc0Ftb3VudAUDbmlsBQNTRVAED3N0YXdBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUKc3Rhd0Ftb3VudAUDbmlsBQNTRVAEEXN0YXdMUEFtb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQxzdGF3TFBBbW91bnQFA25pbAUDU0VQBBFsb2NrQXRIZWlnaHRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUMbG9ja0F0SGVpZ2h0BQNuaWwFA1NFUAQLbG9ja0lkRW50cnkJALkJAgkAzAgCAgIlYgkAzAgCBQZsb2NrSWQFA25pbAUDU0VQBBB0b3RhbExvY2tlZEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQt0b3RhbExvY2tlZAUDbmlsBQNTRVAEE3VzZXJMb2NhbEluZGV4RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD2xvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEGGxvY2tQZXJpb2RJbk1pbGlTZWNFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUSbG9ja0R1cmF0aW9uSW5NaWxpBQNuaWwFA1NFUAQWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQAABQNuaWwFA1NFUAQTdXNlckxlYXNlU3RhdGVFbnRyeQkAuQkCCQDMCAICAiVzCQDMCAIFCmxlYXNlU3RhdGUFA25pbAUDU0VQCQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFCF90eElkS2V5BQp0cnhJZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFDV9sb2NrSW5kZXhLZXkFDmxvY2tJbmRleEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRJfbG9jYWxMb2NrSW5kZXhLZXkFE3VzZXJMb2NhbEluZGV4RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFD190b3RhbExvY2tlZEtleQUQdG90YWxMb2NrZWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRBfbG9ja0R1cmF0aW9uS2V5BRFsb2NrRHVyYXRpb25FbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRdfbG9ja1BlcmlvZEluTWlsaVNlY0tleQUYbG9ja1BlcmlvZEluTWlsaVNlY0VudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFD193YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ5fc3Rhd0Ftb3VudEtleQUPc3Rhd0Ftb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRBfc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUVX3RvdGFsV2F2ZXNDbGFpbWVkS2V5BRZ0b3RhbFdhdmVzQ2xhaW1lZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFEF9sb2NrQXRIZWlnaHRLZXkFEWxvY2tBdEhlaWdodEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFCl9sb2NrSWRLZXkFC2xvY2tJZEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRJfdXNlckxlYXNlU3RhdGVLZXkFE3VzZXJMZWFzZVN0YXRlRW50cnkFA25pbAEHX3N0YXdNRgIKbG9ja1BlcmlvZA9jb2xsYXRlcmFsV2F2ZXMEC19hZGp1c3RlZE1yCQEKX2NvbXB1dGVNcgAEA3JldAkAaAIJAGsDBQ1fdW5pdERlY2ltYWxzCQBoAgUDX0R0CAULX2FkanVzdGVkTXICXzEJAQRfUHB5AQUKbG9ja1BlcmlvZAUPY29sbGF0ZXJhbFdhdmVzAwkAAAIJAJADAQgFC19hZGp1c3RlZE1yAl8yAAAJAJQKAgUDcmV0BQNuaWwJAJQKAgUDcmV0CAULX2FkanVzdGVkTXICXzIBEl9lbWlzc2lvblJhdGVXYXZlcwIKbG9ja1BlcmlvZApjb2xsYXRlcmFsBA9leHRlbnNpb25GYWN0b3IJAGsDBQpsb2NrUGVyaW9kAA8ACgkAaAIJAGkCBQpjb2xsYXRlcmFsCQBlAgkAaAIFCmxvY2tQZXJpb2QFD2V4dGVuc2lvbkZhY3RvcgUKbG9ja1BlcmlvZAUDX0R0ARBfaW5jclRvdGFsU3Rhd0xQAQZhbW91bnQECW9sZFN0YXdMUAkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDF90b3RhbFN0YXdMUAIgY291bGQgbm90IGdldCB0aGUgcnVubmluZyBTdGF3TFAJAMwIAgkBCV93cml0ZUludAIFDF90b3RhbFN0YXdMUAkAZAIFCW9sZFN0YXdMUAUGYW1vdW50BQNuaWwBEF9kZWNyVG90YWxTdGF3TFABBmFtb3VudAQJb2xkU3Rhd0xQCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUMX3RvdGFsU3Rhd0xQAiBjb3VsZCBub3QgZ2V0IHRoZSBydW5uaW5nIFN0YXdMUAkAzAgCCQEJX3dyaXRlSW50AgUMX3RvdGFsU3Rhd0xQCQBlAgUJb2xkU3Rhd0xQBQZhbW91bnQFA25pbAESX2luY3JUb3RhbFdhdmVzUmVmAQZhbW91bnQEC29sZFdhdmVzUmVmCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUOX3RvdGFsV2F2ZXNSZWYCIGNvdWxkIG5vdCBnZXQgdG90YWwgbG9ja2VkIHdhdmVzCQDMCAIJAQlfd3JpdGVJbnQCBQ5fdG90YWxXYXZlc1JlZgkAZAIFC29sZFdhdmVzUmVmBQZhbW91bnQFA25pbAESX2RlY3JUb3RhbFdhdmVzUmVmAQZhbW91bnQEC29sZFdhdmVzUmVmCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUOX3RvdGFsV2F2ZXNSZWYCIGNvdWxkIG5vdCBnZXQgdG90YWwgbG9ja2VkIHdhdmVzCQDMCAIJAQlfd3JpdGVJbnQCBQ5fdG90YWxXYXZlc1JlZgkAZQIFC29sZFdhdmVzUmVmBQZhbW91bnQFA25pbAEQX2dldE5ld1RpbWVTdGFtcAELYmxvY2tIZWlnaHQEBHRpbWUEByRtYXRjaDAJAO0HAQULYmxvY2tIZWlnaHQDCQABAgUHJG1hdGNoMAIJQmxvY2tJbmZvBAh0aW1lSW5mbwUHJG1hdGNoMAgFCHRpbWVJbmZvCXRpbWVzdGFtcAkAAgECFGNvdW5sZCBnZXQgdGltZXN0YW1wBQR0aW1lBgFpAQtnZXRFbWlzc2lvbgIKbG9ja1BlcmlvZApjb2xsYXRlcmFsBAZjaGVjazEJAQxfb25seU1hbmFnZXIBBQFpAwkAAAIFBmNoZWNrMQUGY2hlY2sxCQCUCgIFA25pbAkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEEaW5pdAQHbWFuYWdlcgNkZngHYXNzZXRJRAlsZWFzZU5vZGUEFG1hbmFnZXJBbHJlYWR5RXhpc3RzAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFCF9tYW5hZ2VyCQEMX29ubHlNYW5hZ2VyAQUBaQYDCQAAAgUUbWFuYWdlckFscmVhZHlFeGlzdHMFFG1hbmFnZXJBbHJlYWR5RXhpc3RzBAZjaGVjazEJARBfdmFsaWRhdGVBZGRyZXNzAQUHbWFuYWdlcgMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syCQEQX3ZhbGlkYXRlQWRkcmVzcwEFA2RmeAMJAAACBQZjaGVjazIFBmNoZWNrMgQGY2hlY2szCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCWxlYXNlTm9kZQMJAAACBQZjaGVjazMFBmNoZWNrMwQGY2hlY2s0CQEOX3ZhbGlkYXRlQXNzZXQBBQdhc3NldElEAwkAAAIFBmNoZWNrNAUGY2hlY2s0BBBjaXJjdWxhdGlvbkluZGV4CQEMX3NldFBhcmFtVmFsAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4AAAEF3BlcmNlbnRhZ2VSZWR1Y3Rpb25Jbk1yCQEMX3NldFBhcmFtVmFsAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IAAAQCTXIJAQxfc2V0UGFyYW1WYWwCBQNfTXIFDV91bml0RGVjaW1hbHMED3RvdGFsU3Rhd01pbnRlZAkBDF9zZXRQYXJhbVZhbAIFCl90b3RhbFN0YXcAAAQYdG90YWxTdGF3TFBJbkNpcmN1bGF0aW9uCQEMX3NldFBhcmFtVmFsAgUMX3RvdGFsU3Rhd0xQAAAEEGdsb2JhbEluZGV4Q291bnQJAQxfc2V0UGFyYW1WYWwCBRFfZ2xvYmFsSW5kZXhDb3VudAAABA10b3RhbFdhdmVzUmVmCQEMX3NldFBhcmFtVmFsAgUOX3RvdGFsV2F2ZXNSZWYAAAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQhfbWFuYWdlcgUHbWFuYWdlcgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQRfRGZ4BQNkZngJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUMX3N0YXdBc3NldElkBQdhc3NldElECQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl9sZXNzZWVBZGRyZXNzBQlsZWFzZU5vZGUJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4BRBjaXJjdWxhdGlvbkluZGV4CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA19NcgUCTXIJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IFF3BlcmNlbnRhZ2VSZWR1Y3Rpb25Jbk1yCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBQ10b3RhbFdhdmVzUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUYdG90YWxTdGF3TFBJbkNpcmN1bGF0aW9uCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFCl90b3RhbFN0YXcFD3RvdGFsU3Rhd01pbnRlZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEm1vZGlmeUdsb2JhbFBhcmFtcwEDdmFsBAZjaGVjazEJAQxfb25seU1hbmFnZXIBBQFpAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAhlcnJvck1zZwkAuQkCCQDMCAICA2dvdAkAzAgCCQCkAwEJAJADAQUDdmFsCQDMCAICMnNpemUgb2YgbGlzdCBidXQgZXhwZWN0ZWQgW2dsb2JhbF9rZXksIHZhbHVlXSBwYWlyBQNuaWwCASAEBmNoZWNrMgkBCF90aHJvd0lmAgkAAAIJAJADAQUDdmFsAAIFCGVycm9yTXNnAwkAAAIFBmNoZWNrMgUGY2hlY2syBANrZXkJAJEDAgUDdmFsAAAEB3ZhbFR5cGUJALYJAQkAkQMCBQN2YWwAAQQHJG1hdGNoMAUHdmFsVHlwZQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQUBeAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BAtzdHJpbmdWYWx1ZQkAkQMCBQN2YWwAAQQKcmVmQWRkcmVzcwkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQhfbWFuYWdlcgQGY2hlY2s0BAckbWF0Y2gxBQpyZWZBZGRyZXNzAwkAAQIFByRtYXRjaDECBlN0cmluZwQHc3RyVHlwZQUHJG1hdGNoMQMJAAACCQCxAgEFB3N0clR5cGUJALECAQULc3RyaW5nVmFsdWUJARBfdmFsaWRhdGVBZGRyZXNzAQULc3RyaW5nVmFsdWUJAQ5fdmFsaWRhdGVBc3NldAEFC3N0cmluZ1ZhbHVlCQACAQIYdmFsdWUgdHlwZSBub3Qgc3VwcG9ydGVkAwkAAAIFBmNoZWNrNAUGY2hlY2s0CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQULc3RyaW5nVmFsdWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgIRZmFpbGVkIHRvIG1vZGlmeSAJAJEDAgUDdmFsAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKcmV2b2tlTG9jawAEBmNoZWNrMQkBDF9vbmx5TWFuYWdlcgEFAWkDCQAAAgUGY2hlY2sxBQZjaGVjazEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQENdHJhbnNhY3Rpb25JRAQNY2FsbGVyQWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jb2xsYXRlcmFsS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDWxvY2twZXJpb2RLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAECWxvY2tJZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQTbG9ja3BlcmlvZEluTWlsaUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFHRvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFEl90b3RhbFdhdmVzQ2xhaW1lZAUDbmlsBQNTRVAED3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQOd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBF1c2VyTGVhc2VTdGF0ZUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBA1sZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAEDmdsb2JhbFdhdmVzUmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFDmdsb2JhbFdhdmVzUmVmBQ5nbG9iYWxXYXZlc1JlZgQMZ2xvYmFsU3Rhd1BMBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF90b3RhbFN0YXdMUAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCB0b3RhbCB3YXZlcwMJAAACBQxnbG9iYWxTdGF3UEwFDGdsb2JhbFN0YXdQTAQGbG9ja0lkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCWxvY2tJZEtleQMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAF0BQckbWF0Y2gwBQF0CQACAQIWZmFpbGVkIHRvIGdldCBsZWFzZSBpZAMJAAACBQZsb2NrSWQFBmxvY2tJZAQUdXNlclRvdGFsV2F2ZXNMb2NrZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIwZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQgYnkgdGhpcyBhZGRyZXNzAwkAAAIFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBRR1c2VyVG90YWxXYXZlc0xvY2tlZAQLd2F2ZXNBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOd2F2ZXNBbW91bnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIgZmFpbGVkIHRvIGdldCB0b3RhbCB3YXZlcyBsb2NrZWQDCQAAAgULd2F2ZXNBbW91bnQFC3dhdmVzQW1vdW50BBF0b3RhbFdhdmVzQ2xhaW1lZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRR0b3RhbFdhdmVzQ2xhaW1lZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiFmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGNsYWltZWQDCQAAAgURdG90YWxXYXZlc0NsYWltZWQFEXRvdGFsV2F2ZXNDbGFpbWVkBAxzdGF3TFBBbW91bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUPc3Rhd0xQQW1vdW50S2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECFGZhaWxlZCB0byBnZXQgc3Rhd1BMAwkAAAIFDHN0YXdMUEFtb3VudAUMc3Rhd0xQQW1vdW50BBBsb2NrUGVyaW9kSW5NaWxpBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFE2xvY2twZXJpb2RJbk1pbGlLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIiZmFpbGVkIHRvIGdldCBsb2NrIHBlcmlvZCB0aW1lc3BhbQMJAAACBRBsb2NrUGVyaW9kSW5NaWxpBRBsb2NrUGVyaW9kSW5NaWxpBBBjdXJyZW50VGltZVN0YW1wBAckbWF0Y2gwCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAh9mYWlsZWQgdG8gZ2V0IGN1cnJlbnQgdGltZXN0YW1wAwkAAAIFEGN1cnJlbnRUaW1lU3RhbXAFEGN1cnJlbnRUaW1lU3RhbXAECmNvbGxhdGVyYWwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUNY29sbGF0ZXJhbEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAhhmYWlsZWQgdG8gZ2V0IGNvbGxhdGVyYWwDCQAAAgUKY29sbGF0ZXJhbAUKY29sbGF0ZXJhbAQKbG9ja1BlcmlvZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sb2NrcGVyaW9kS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECGGZhaWxlZCB0byBnZXQgbG9ja1BlcmlvZAMJAAACBQpsb2NrUGVyaW9kBQpsb2NrUGVyaW9kBBFjdXJyZW50TGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRF1c2VyTGVhc2VTdGF0ZUtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGxlYXNlIHN0YXRlAwkAAAIFEWN1cnJlbnRMZWFzZVN0YXRlBRFjdXJyZW50TGVhc2VTdGF0ZQQKbGVhc2VTdGF0ZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1sZWFzZVN0YXRlS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAUBdAkAAgECImZhaWxlZCB0byBnZXQgbGVhc2Ugc3RhdGUgZm9yIHVzZXIDCQAAAgUKbGVhc2VTdGF0ZQUKbGVhc2VTdGF0ZQQGY2hlY2sxCQEIX3Rocm93SWYCCQBmAgUQbG9ja1BlcmlvZEluTWlsaQUQY3VycmVudFRpbWVTdGFtcAIqbG9jayBwZXJpb2QgZm9yIHRoaXMgZW50cnkgaGFzIG5vdCBlbGFwc2VkAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAtsZWFzZUFjdGlvbgMJAAACBRFjdXJyZW50TGVhc2VTdGF0ZQIGbGVhc2VkCQCUCgIJAQtMZWFzZUNhbmNlbAEFBmxvY2tJZAkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAJQKAgkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQJAQlfd3JpdGVTdHICBRF1c2VyTGVhc2VTdGF0ZUtleQIJY2FuY2VsbGVkAwkAAAIFC2xlYXNlQWN0aW9uBQtsZWFzZUFjdGlvbgQGY2hlY2syCQEIX3Rocm93SWYCAwkAAAIAAAULd2F2ZXNBbW91bnQGCQAAAgAABQxzdGF3TFBBbW91bnQCIWFsbCBjbGFpbXMgZXhoYXVzdGVkIGZvciB0aGlzIHRyeAMJAAACBQZjaGVjazIFBmNoZWNrMgQSZW1pc3Npb25WYWx1ZVBlckRUCQBoAgkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwFA19EdAQLY2xhaW1BY3Rpb24EDXRpbWVTdGFtcERpZmYJAGUCBRBjdXJyZW50VGltZVN0YW1wBRBsb2NrUGVyaW9kSW5NaWxpBBpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAkAaQIFDXRpbWVTdGFtcERpZmYFA19EdAMJAAACBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAAACQACAQIibGVzcyB0aGFuIDI0aHJzIGJlZm9yZSBmaXJzdCBjbGFpbQMJAQIhPQIJAGoCBQ10aW1lU3RhbXBEaWZmBQNfRHQAAAkAAgECNGFscmVhZHkgY2xhaW1lZCBvciBsZXNzIHRoYW4gMjRocnMgYmVmb3JlIG5leHQgY2xhaW0DCQBmAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQFCmxvY2tQZXJpb2QJAAIBAhRhbGwgY2xhaW1zIGV4aGF1c3RlZAQUdG90YWxBbW91bnRDbGFpbWFibGUJAGgCBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAUSZW1pc3Npb25WYWx1ZVBlckRUBAhjaGVjazNfMQkBCF90aHJvd0lmAgkAAAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAIcY2FuIG9ubHkgY2xhaW0gb25jZSBpbiAyNGhycwMJAAACBQhjaGVjazNfMQUIY2hlY2szXzEECGNoZWNrM18yCQEIX3Rocm93SWYCCQBmAgkAZAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAULd2F2ZXNBbW91bnQCFGFsbCBjbGFpbXMgZXhoYXVzdGVkAwkAAAIFCGNoZWNrM18yBQhjaGVjazNfMgQRY2xhaW1BbW91bnRUb1NlbmQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBRR0b3RhbEFtb3VudENsYWltYWJsZQURdG90YWxXYXZlc0NsYWltZWQEEm5ld1RvdGFsV2F2ZXNDbGFpbQUUdG90YWxBbW91bnRDbGFpbWFibGUEDm5ld1dhdmVzQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQt3YXZlc0Ftb3VudAUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBQt3YXZlc0Ftb3VudAkAZQIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAQPbmV3U3Rhd0xQQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQxzdGF3TFBBbW91bnQFFHRvdGFsQW1vdW50Q2xhaW1hYmxlCQBlAgUMc3Rhd0xQQW1vdW50CQBlAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBBBuZXdHbG9iYWxXYXZlUmVmCQBlAgUOZ2xvYmFsV2F2ZXNSZWYFDm5ld1dhdmVzQW1vdW50BA9uZXdHbG9iYWxTdGF3UEwJAGUCBQxnbG9iYWxTdGF3UEwFD25ld1N0YXdMUEFtb3VudAQXbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWQJAGUCBRR1c2VyVG90YWxXYXZlc0xvY2tlZAURY2xhaW1BbW91bnRUb1NlbmQEEHdhdmVzQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDm5ld1dhdmVzQW1vdW50BQNuaWwFA1NFUAQRc3Rhd0xQQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD25ld1N0YXdMUEFtb3VudAUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEm5ld1RvdGFsV2F2ZXNDbGFpbQUDbmlsBQNTRVAEHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFF25ld1VzZXJUb3RhbFdhdmVzTG9ja2VkBQNuaWwFA1NFUAkAzAgCCAULbGVhc2VBY3Rpb24CXzEJAMwIAggFC2xlYXNlQWN0aW9uAl8yCQDMCAIJAQlfd3JpdGVTdHICBQ53YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUPc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUUdG90YWxXYXZlc0NsYWltZWRLZXkFFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJAMwIAgkBCV93cml0ZVN0cgIFF3VzZXJUb3RhbFdhdmVzTG9ja2VkS2V5BRxuZXdVc2VyVG90YWxXYXZlc0xvY2tlZEVudHJ5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRBuZXdHbG9iYWxXYXZlUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUPbmV3R2xvYmFsU3Rhd1BMCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwURY2xhaW1BbW91bnRUb1NlbmQFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQtjbGFpbUFjdGlvbgULY2xhaW1BY3Rpb24FC2NsYWltQWN0aW9uCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCG1pbnRTdGF3AQpsb2NrUGVyaW9kBA1jYWxsZXJBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEBXRyeElECQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNoZWNrMQkBCF90aHJvd0lmAgkBAiE9AgABCQCQAwEIBQFpCHBheW1lbnRzAhRubyBwYXltZW50cyBhdHRhY2hlZAMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syAwkBCWlzRGVmaW5lZAEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkAAgECFG9ubHkgd2F2ZXMgc3VwcG9ydGVkBgMJAAACBQZjaGVjazIFBmNoZWNrMgQNYW1vdW50SW5XYXZlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBmNoZWNrMwMDCQBmAgUOX21pbkxvY2tBbW91bnQFDWFtb3VudEluV2F2ZXMGCQBmAgUNYW1vdW50SW5XYXZlcwUOX21heExvY2tBbW91bnQJAAIBAj9sb2NrIGFtb3VudCBvdXQgb2YgcmFuZ2UsIG1pbmltdW06IDEgd2F2ZXMsIG1heGltdW06IDEwMDAgd2F2ZXMGAwkAAAIFBmNoZWNrMwUGY2hlY2szBAZjaGVjazQDCQBmAgUOX21pbkxvY2twZXJpb2QFCmxvY2tQZXJpb2QJAAIBAh5taW5pbXVtIG9mIDE0IGRheXMgbG9jayBwZXJpb2QGAwkAAAIFBmNoZWNrNAUGY2hlY2s0BA10b3RhbFN0YXdNaW50CQEHX3N0YXdNRgIFCmxvY2tQZXJpb2QFDWFtb3VudEluV2F2ZXMEBnN0YXdQTAUNYW1vdW50SW5XYXZlcwQDZmVlCQBrAwgFDXRvdGFsU3Rhd01pbnQCXzEACgBkBBF1c2VyR2V0U3Rhd0Ftb3VudAkAZQIIBQ10b3RhbFN0YXdNaW50Al8xBQNmZWUEE2xvY2tQZXJpb2RUb01pbGlzZWMJAGQCCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAkBDl9kYXlzVG9NaWxpU2VjAQUKbG9ja1BlcmlvZAMJAAACBRNsb2NrUGVyaW9kVG9NaWxpc2VjBRNsb2NrUGVyaW9kVG9NaWxpc2VjBAluZXdfaW5kZXgEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQURX2dsb2JhbEluZGV4Q291bnQDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAABCQACAQIoZmFpbGVkIHRvIGdldCBjdXJyZW50IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBQluZXdfaW5kZXgFCW5ld19pbmRleAQKYWRkcmVzc0ZlZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQRfRGZ4AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAkBB0FkZHJlc3MBCQDZBAEFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGRmeCBhZGRyZXNzAwkAAAIFCmFkZHJlc3NGZWUFCmFkZHJlc3NGZWUEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAJANkEAQUBdAkAAgECFmZhaWxlZCB0byBnZXQgYXNzZXQgaWQDCQAAAgULc3Rhd0Fzc2V0SWQFC3N0YXdBc3NldElkBAZsZXNzZWUEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX2xlc3NlZUFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwCQEHQWRkcmVzcwEJANkEAQUBdAkAAgECIGZhaWxlZCB0byBnZXQgbGVhc2Ugbm9kZSBhZGRyZXNzAwkAAAIFBmxlc3NlZQUGbGVzc2VlBBB1c2VyTG9ja0luZGV4S2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBRRfdXNlckxvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEEnVzZXJUb3RhbExvY2tlZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEDnVzZXJJbmRleENvdW50BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEHVzZXJMb2NrSW5kZXhLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwCQBkAgUBeAABAAADCQAAAgUOdXNlckluZGV4Q291bnQFDnVzZXJJbmRleENvdW50BA91c2VyVG90YWxMb2NrZWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUSdXNlclRvdGFsTG9ja2VkS2V5AwkAAQIFByRtYXRjaDACA0ludAQBeAUHJG1hdGNoMAkAZAIFAXgFDWFtb3VudEluV2F2ZXMFDWFtb3VudEluV2F2ZXMDCQAAAgUPdXNlclRvdGFsTG9ja2VkBQ91c2VyVG90YWxMb2NrZWQECGxlYXNlT3V0CQDECAIFBmxlc3NlZQUNYW1vdW50SW5XYXZlcwMJAAACBQhsZWFzZU91dAUIbGVhc2VPdXQECmxlYXNlSWRTdHIJANgEAQkAuQgBBQhsZWFzZU91dAMJAAACBQpsZWFzZUlkU3RyBQpsZWFzZUlkU3RyCQDOCAIJAM4IAgkAzggCCQDMCAIFCGxlYXNlT3V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFCmFkZHJlc3NGZWUFA2ZlZQULc3Rhd0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBRF1c2VyR2V0U3Rhd0Ftb3VudAULc3Rhd0Fzc2V0SWQFA25pbAkBEl9yZWdpc3RlclVzZXJFbnRyeQ0FBXRyeElEBQ1jYWxsZXJBZGRyZXNzBQpsb2NrUGVyaW9kBRNsb2NrUGVyaW9kVG9NaWxpc2VjBQluZXdfaW5kZXgFDWFtb3VudEluV2F2ZXMFEXVzZXJHZXRTdGF3QW1vdW50BQZzdGF3UEwFBmhlaWdodAUKbGVhc2VJZFN0cgUPdXNlclRvdGFsTG9ja2VkBQ51c2VySW5kZXhDb3VudAIGbGVhc2VkCQESX3VwZGF0ZUdsb2JhbEVudHJ5BAUNYW1vdW50SW5XYXZlcwgFDXRvdGFsU3Rhd01pbnQCXzEFBnN0YXdQTAUJbmV3X2luZGV4CAUNdG90YWxTdGF3TWludAJfMgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgD/0OmY", "height": 2492528, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2Y5fE3w6FSjy1SG9CXx26u6JxYiqDTM2Pd6RZP5Nn4VA Next: 7uvEcmkKYCMZoxPwoXyTD8wAWjd7BwGwgBs2wkE44Vtv Diff:
OldNewDifferences
556556 let cd = as(at)
557557 if ((cd == cd))
558558 then {
559- let ch = ad((size(W) == 2), "[global_key, value] pairs expected")
559+ let cr = makeString(["got", toString(size(W)), "size of list but expected [global_key, value] pair"], " ")
560+ let ch = ad((size(W) == 2), cr)
560561 if ((ch == ch))
561562 then {
562563 let M = W[0]
563- let cr = parseInt(W[1])
564- let U = cr
564+ let cs = parseInt(W[1])
565+ let U = cs
565566 if ($isInstanceOf(U, "Int"))
566567 then {
567568 let ak = U
568- let cs = ad((N(M) == unit), (("key " + M) + " not recognized"))
569- if ((cs == cs))
569+ let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
570+ if ((ct == ct))
570571 then [af(M, ak)]
571572 else throw("Strict value is not equal to itself.")
572573 }
573574 else if ($isInstanceOf(U, "Unit"))
574575 then {
575576 let ak = U
576- let cs = ad((N(M) == unit), (("key " + M) + " not recognized"))
577- if ((cs == cs))
577+ let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
578+ if ((ct == ct))
578579 then {
579- let ct = W[1]
580- let cu = ai(n)
580+ let cu = W[1]
581+ let cv = ai(n)
581582 let cj = {
582- let az = cu
583+ let az = cv
583584 if ($isInstanceOf(az, "String"))
584585 then {
585- let cv = az
586- if ((size(cv) == size(ct)))
587- then aw(ct)
588- else aA(ct)
586+ let cw = az
587+ if ((size(cw) == size(cu)))
588+ then aw(cu)
589+ else aA(cu)
589590 }
590591 else throw("value type not supported")
591592 }
592593 if ((cj == cj))
593- then [af(M, ct)]
594+ then [af(M, cu)]
594595 else throw("Strict value is not equal to itself.")
595596 }
596597 else throw("Strict value is not equal to itself.")
616617
617618 @Callable(at)
618619 func claim (ba) = {
619- let cw = toBase58String(at.caller.bytes)
620- let cx = makeString([cw, ba, z], a)
621- let cy = makeString([cw, ba, w], a)
622- let cz = makeString([cw, ba, y], a)
623- let cA = makeString([cw, ba, E], a)
624- let cB = makeString([cw, ba, F], a)
625- let cC = makeString([cw, ba, B], a)
626- let cD = makeString([cw, ba, z], a)
627- let cE = makeString([cw, v], a)
628- let cF = makeString([cw, ba, G], a)
629- let cG = makeString([cw, ba, G], a)
630- let cH = {
620+ let cx = toBase58String(at.caller.bytes)
621+ let cy = makeString([cx, ba, z], a)
622+ let cz = makeString([cx, ba, w], a)
623+ let cA = makeString([cx, ba, y], a)
624+ let cB = makeString([cx, ba, E], a)
625+ let cC = makeString([cx, ba, F], a)
626+ let cD = makeString([cx, ba, B], a)
627+ let cE = makeString([cx, ba, z], a)
628+ let cF = makeString([cx, v], a)
629+ let cG = makeString([cx, ba, G], a)
630+ let cH = makeString([cx, ba, G], a)
631+ let cI = {
631632 let U = ai(I)
632633 if ($isInstanceOf(U, "Int"))
633634 then {
636637 }
637638 else throw("failed to get global total waves")
638639 }
639- if ((cH == cH))
640+ if ((cI == cI))
640641 then {
641- let cI = {
642+ let cJ = {
642643 let U = ai(J)
643644 if ($isInstanceOf(U, "Int"))
644645 then {
647648 }
648649 else throw("failed to get global total waves")
649650 }
650- if ((cI == cI))
651+ if ((cJ == cJ))
651652 then {
652653 let bh = {
653- let U = ai(cz)
654+ let U = ai(cA)
654655 if ($isInstanceOf(U, "ByteVector"))
655656 then {
656657 let aF = U
660661 }
661662 if ((bh == bh))
662663 then {
663- let cJ = {
664- let U = ai(cE)
664+ let cK = {
665+ let U = ai(cF)
665666 if ($isInstanceOf(U, "Int"))
666667 then {
667668 let aF = U
669670 }
670671 else throw("failed to get total waves locked by this address")
671672 }
672- if ((cJ == cJ))
673+ if ((cK == cK))
673674 then {
674675 let aR = {
675- let U = ai(cD)
676+ let U = ai(cE)
676677 if ($isInstanceOf(U, "Int"))
677678 then {
678679 let aF = U
682683 }
683684 if ((aR == aR))
684685 then {
685- let cK = {
686- let U = ai(cB)
686+ let cL = {
687+ let U = ai(cC)
687688 if ($isInstanceOf(U, "Int"))
688689 then {
689690 let aF = U
691692 }
692693 else throw("failed to get total waves claimed")
693694 }
694- if ((cK == cK))
695+ if ((cL == cL))
695696 then {
696697 let bf = {
697- let U = ai(cC)
698+ let U = ai(cD)
698699 if ($isInstanceOf(U, "Int"))
699700 then {
700701 let aF = U
704705 }
705706 if ((bf == bf))
706707 then {
707- let cL = {
708- let U = ai(cA)
708+ let cM = {
709+ let U = ai(cB)
709710 if ($isInstanceOf(U, "Int"))
710711 then {
711712 let aF = U
713714 }
714715 else throw("failed to get lock period timespam")
715716 }
716- if ((cL == cL))
717+ if ((cM == cM))
717718 then {
718- let cM = {
719+ let cN = {
719720 let U = bZ(height)
720721 if ($isInstanceOf(U, "Int"))
721722 then {
724725 }
725726 else throw("failed to get current timestamp")
726727 }
727- if ((cM == cM))
728+ if ((cN == cN))
728729 then {
729730 let bQ = {
730- let U = ai(cx)
731+ let U = ai(cy)
731732 if ($isInstanceOf(U, "Int"))
732733 then {
733734 let aF = U
738739 if ((bQ == bQ))
739740 then {
740741 let h = {
741- let U = ai(cy)
742+ let U = ai(cz)
742743 if ($isInstanceOf(U, "Int"))
743744 then {
744745 let aF = U
748749 }
749750 if ((h == h))
750751 then {
751- let cN = {
752- let U = ai(cF)
752+ let cO = {
753+ let U = ai(cG)
753754 if ($isInstanceOf(U, "String"))
754755 then {
755756 let aF = U
757758 }
758759 else throw("failed to get lease state")
759760 }
760- if ((cN == cN))
761+ if ((cO == cO))
761762 then {
762763 let bk = {
763- let U = ai(cG)
764+ let U = ai(cH)
764765 if ($isInstanceOf(U, "String"))
765766 then {
766767 let aF = U
770771 }
771772 if ((bk == bk))
772773 then {
773- let cd = ad((cL > cM), "lock period for this entry has not elapsed")
774+ let cd = ad((cM > cN), "lock period for this entry has not elapsed")
774775 if ((cd == cd))
775776 then {
776- let cO = if ((cN == "leased"))
777- then $Tuple2(LeaseCancel(bh), ac(cF, "cancelled"))
778- else $Tuple2(ac(cF, "cancelled"), ac(cF, "cancelled"))
779- if ((cO == cO))
777+ let cP = if ((cO == "leased"))
778+ then $Tuple2(LeaseCancel(bh), ac(cG, "cancelled"))
779+ else $Tuple2(ac(cG, "cancelled"), ac(cG, "cancelled"))
780+ if ((cP == cP))
780781 then {
781782 let ch = ad(if ((0 == aR))
782783 then true
783784 else (0 == bf), "all claims exhausted for this trx")
784785 if ((ch == ch))
785786 then {
786- let cP = (bP(h, bQ) * f)
787- let cQ = {
788- let cR = (cM - cL)
789- let cS = (cR / f)
790- if ((cS == 0))
787+ let cQ = (bP(h, bQ) * f)
788+ let cR = {
789+ let cS = (cN - cM)
790+ let cT = (cS / f)
791+ if ((cT == 0))
791792 then throw("less than 24hrs before first claim")
792- else if (((cR % f) != 0))
793+ else if (((cS % f) != 0))
793794 then throw("already claimed or less than 24hrs before next claim")
794- else if ((cS > h))
795+ else if ((cT > h))
795796 then throw("all claims exhausted")
796797 else {
797- let cT = (cS * cP)
798- let cU = ad((cT == cK), "can only claim once in 24hrs")
799- if ((cU == cU))
798+ let cU = (cT * cQ)
799+ let cV = ad((cU == cL), "can only claim once in 24hrs")
800+ if ((cV == cV))
800801 then {
801- let cV = ad(((cT + cK) > aR), "all claims exhausted")
802- if ((cV == cV))
802+ let cW = ad(((cU + cL) > aR), "all claims exhausted")
803+ if ((cW == cW))
803804 then {
804- let cW = if ((cS == 1))
805- then cT
806- else (cT - cK)
807- let cX = cT
808- let cY = if ((cS == 1))
809- then (aR - cT)
810- else (aR - (cT - cK))
811- let cZ = if ((cS == 1))
812- then (bf - cT)
813- else (bf - (cT - cK))
814- let da = (cH - cY)
805+ let cX = if ((cT == 1))
806+ then cU
807+ else (cU - cL)
808+ let cY = cU
809+ let cZ = if ((cT == 1))
810+ then (aR - cU)
811+ else (aR - (cU - cL))
812+ let da = if ((cT == 1))
813+ then (bf - cU)
814+ else (bf - (cU - cL))
815815 let db = (cI - cZ)
816- let dc = (cJ - cW)
817- let bB = makeString(["%d", toString(cY)], a)
818- let bD = makeString(["%d", toString(cZ)], a)
819- let bJ = makeString(["%d", toString(cX)], a)
820- let dd = makeString(["%d", toString(dc)], a)
821-[cO._1, cO._2, ac(cD, bB), ac(cC, bD), ac(cB, bJ), ac(cE, dd), af(I, da), af(J, db), ScriptTransfer(Address(at.caller.bytes), cW, unit)]
816+ let dc = (cJ - da)
817+ let dd = (cK - cX)
818+ let bB = makeString(["%d", toString(cZ)], a)
819+ let bD = makeString(["%d", toString(da)], a)
820+ let bJ = makeString(["%d", toString(cY)], a)
821+ let de = makeString(["%d", toString(dd)], a)
822+[cP._1, cP._2, ac(cE, bB), ac(cD, bD), ac(cC, bJ), ac(cF, de), af(I, db), af(J, dc), ScriptTransfer(Address(at.caller.bytes), cX, unit)]
822823 }
823824 else throw("Strict value is not equal to itself.")
824825 }
825826 else throw("Strict value is not equal to itself.")
826827 }
827828 }
828- if ((cQ == cQ))
829- then cQ
829+ if ((cR == cR))
830+ then cR
830831 else throw("Strict value is not equal to itself.")
831832 }
832833 else throw("Strict value is not equal to itself.")
866867
867868 @Callable(at)
868869 func mintStaw (h) = {
869- let cw = toBase58String(at.caller.bytes)
870- let de = toBase58String(at.transactionId)
870+ let cx = toBase58String(at.caller.bytes)
871+ let df = toBase58String(at.transactionId)
871872 let cd = ad((1 != size(at.payments)), "no payments attached")
872873 if ((cd == cd))
873874 then {
876877 else true
877878 if ((ch == ch))
878879 then {
879- let df = at.payments[0].amount
880- let ci = if (if ((d > df))
880+ let dg = at.payments[0].amount
881+ let ci = if (if ((d > dg))
881882 then true
882- else (df > e))
883+ else (dg > e))
883884 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
884885 else true
885886 if ((ci == ci))
889890 else true
890891 if ((cj == cj))
891892 then {
892- let dg = bL(h, df)
893- let aT = df
894- let dh = fraction(dg._1, 10, 100)
895- let di = (dg._1 - dh)
896- let dj = (bZ(height) + an(h))
897- if ((dj == dj))
893+ let dh = bL(h, dg)
894+ let aT = dg
895+ let di = fraction(dh._1, 10, 100)
896+ let dj = (dh._1 - di)
897+ let dk = (bZ(height) + an(h))
898+ if ((dk == dk))
898899 then {
899- let dk = {
900+ let dl = {
900901 let U = ai(K)
901902 if ($isInstanceOf(U, "Int"))
902903 then {
905906 }
906907 else throw("failed to get current global index count")
907908 }
908- if ((dk == dk))
909+ if ((dl == dl))
909910 then {
910- let dl = {
911+ let dm = {
911912 let U = ai(o)
912913 if ($isInstanceOf(U, "String"))
913914 then {
916917 }
917918 else throw("failed to get dfx address")
918919 }
919- if ((dl == dl))
920+ if ((dm == dm))
920921 then {
921922 let aG = {
922923 let U = ai(m)
929930 }
930931 if ((aG == aG))
931932 then {
932- let dm = {
933+ let dn = {
933934 let U = ai(q)
934935 if ($isInstanceOf(U, "String"))
935936 then {
938939 }
939940 else throw("failed to get lease node address")
940941 }
941- if ((dm == dm))
942+ if ((dn == dn))
942943 then {
943- let dn = makeString([cw, u], a)
944- let do = makeString([cw, v], a)
945- let dp = {
946- let U = ai(dn)
944+ let do = makeString([cx, u], a)
945+ let dp = makeString([cx, v], a)
946+ let dq = {
947+ let U = ai(do)
947948 if ($isInstanceOf(U, "Int"))
948949 then {
949950 let ak = U
951952 }
952953 else 0
953954 }
954- if ((dp == dp))
955+ if ((dq == dq))
955956 then {
956- let dq = {
957- let U = ai(do)
957+ let dr = {
958+ let U = ai(dp)
958959 if ($isInstanceOf(U, "Int"))
959960 then {
960961 let ak = U
961- (ak + df)
962+ (ak + dg)
962963 }
963- else df
964+ else dg
964965 }
965- if ((dq == dq))
966+ if ((dr == dr))
966967 then {
967- let dr = Lease(dm, df)
968- if ((dr == dr))
968+ let ds = Lease(dn, dg)
969+ if ((ds == ds))
969970 then {
970- let ds = toBase58String(calculateLeaseId(dr))
971- if ((ds == ds))
972- then ((([dr, ScriptTransfer(dl, dh, aG), ScriptTransfer(Address(at.caller.bytes), di, aG)] ++ aZ(de, cw, h, dj, dk, df, di, aT, height, ds, dq, dp, "leased")) ++ aQ(df, dg._1, aT, dk)) ++ dg._2)
971+ let dt = toBase58String(calculateLeaseId(ds))
972+ if ((dt == dt))
973+ then ((([ds, ScriptTransfer(dm, di, aG), ScriptTransfer(Address(at.caller.bytes), dj, aG)] ++ aZ(df, cx, h, dk, dl, dg, dj, aT, height, dt, dr, dq, "leased")) ++ aQ(dg, dh._1, aT, dl)) ++ dh._2)
973974 else throw("Strict value is not equal to itself.")
974975 }
975976 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
253253 func aw (ax) = {
254254 let U = ax
255255 if ($isInstanceOf(U, "String"))
256256 then {
257257 let ax = U
258258 let ay = addressFromString(ax)
259259 let az = ay
260260 if ($isInstanceOf(az, "Address"))
261261 then {
262262 let ay = az
263263 true
264264 }
265265 else throw("invalid address")
266266 }
267267 else if ($isInstanceOf(U, "ByteVector"))
268268 then {
269269 let ax = U
270270 let ay = addressFromPublicKey(ax)
271271 let az = ay
272272 if ($isInstanceOf(az, "Address"))
273273 then {
274274 let ay = az
275275 true
276276 }
277277 else throw("invalid public key")
278278 }
279279 else throw("invalid input type")
280280 }
281281
282282
283283 func aA (aB) = {
284284 let U = assetInfo(fromBase58String(aB))
285285 if ($isInstanceOf(U, "Asset"))
286286 then {
287287 let aC = U
288288 true
289289 }
290290 else throw(("invalid asset id: " + aB))
291291 }
292292
293293
294294 func aD () = {
295295 let aE = {
296296 let U = ai(p)
297297 if ($isInstanceOf(U, "Int"))
298298 then {
299299 let aF = U
300300 aF
301301 }
302302 else throw("circulation index not previously defined")
303303 }
304304 if ((aE == aE))
305305 then {
306306 let aG = {
307307 let U = ai(m)
308308 if ($isInstanceOf(U, "String"))
309309 then {
310310 let aF = U
311311 aF
312312 }
313313 else throw("asset id not previously defined")
314314 }
315315 if ((aG == aG))
316316 then {
317317 let aH = {
318318 let U = assetInfo(fromBase58String(aG))
319319 if ($isInstanceOf(U, "Asset"))
320320 then {
321321 let aC = U
322322 aC.quantity
323323 }
324324 else throw(("asset not found for " + aG))
325325 }
326326 let aI = (av((aH - i)) / i)
327327 let aJ = if ((aI > aE))
328328 then (aI + aE)
329329 else aE
330330 let aK = {
331331 let U = ai(l)
332332 if ($isInstanceOf(U, "Int"))
333333 then {
334334 let aF = U
335335 aF
336336 }
337337 else throw("failed to get miniting rate")
338338 }
339339 if ((aJ == aE))
340340 then $Tuple2(aK, nil)
341341 else {
342342 let aL = {
343343 let U = ai(k)
344344 if ($isInstanceOf(U, "Int"))
345345 then {
346346 let aF = U
347347 aF
348348 }
349349 else throw("failed to get percentage reduction factor")
350350 }
351351 let aM = (aK - fraction(aK, aL, 100))
352352 let aN = af(l, aM)
353353 let aO = af(k, aL)
354354 let aP = af(p, aJ)
355355 $Tuple2(aM, [aN, aO, aP])
356356 }
357357 }
358358 else throw("Strict value is not equal to itself.")
359359 }
360360 else throw("Strict value is not equal to itself.")
361361 }
362362
363363
364364 func aQ (aR,aS,aT,aU) = {
365365 let aV = {
366366 let U = ai(I)
367367 if ($isInstanceOf(U, "Int"))
368368 then {
369369 let aF = U
370370 (aF + aR)
371371 }
372372 else throw("failed to get global total waves")
373373 }
374374 if ((aV == aV))
375375 then {
376376 let aW = {
377377 let U = ai(H)
378378 if ($isInstanceOf(U, "Int"))
379379 then {
380380 let aF = U
381381 (aF + aS)
382382 }
383383 else throw("failed to get global total staw minted")
384384 }
385385 if ((aW == aW))
386386 then {
387387 let aX = {
388388 let U = ai(J)
389389 if ($isInstanceOf(U, "Int"))
390390 then {
391391 let aF = U
392392 (aF + aT)
393393 }
394394 else throw("failed to get global total stawpl")
395395 }
396396 if ((aX == aX))
397397 then {
398398 let aY = {
399399 let U = ai(K)
400400 if ($isInstanceOf(U, "Int"))
401401 then {
402402 let aF = U
403403 (aF + aU)
404404 }
405405 else throw("failed to get global index count")
406406 }
407407 if ((aY == aY))
408408 then [af(I, aV), af(H, aW), af(J, aX), af(K, aY)]
409409 else throw("Strict value is not equal to itself.")
410410 }
411411 else throw("Strict value is not equal to itself.")
412412 }
413413 else throw("Strict value is not equal to itself.")
414414 }
415415 else throw("Strict value is not equal to itself.")
416416 }
417417
418418
419419 func aZ (ba,bb,bc,bd,be,aR,aS,bf,bg,bh,bi,bj,bk) = {
420420 let bl = makeString([bb, ba, C], a)
421421 let bm = makeString([bb, ba, w], a)
422422 let bn = makeString([bb, ba, x], a)
423423 let bo = makeString([bb, ba, z], a)
424424 let bp = makeString([bb, ba, A], a)
425425 let bq = makeString([bb, ba, B], a)
426426 let br = makeString([bb, ba, D], a)
427427 let bs = makeString([bb, ba, y], a)
428428 let bt = makeString([bb, v], a)
429429 let bu = makeString([bb, u], a)
430430 let bv = makeString([bb, ba, E], a)
431431 let bw = makeString([bb, ba, F], a)
432432 let bx = makeString([bb, ba, G], a)
433433 let by = makeString(["%s", ba], a)
434434 let bz = makeString(["%d", toString(bc)], a)
435435 let bA = makeString(["%d", toString(be)], a)
436436 let bB = makeString(["%d", toString(aR)], a)
437437 let bC = makeString(["%d", toString(aS)], a)
438438 let bD = makeString(["%d", toString(bf)], a)
439439 let bE = makeString(["%d", toString(bg)], a)
440440 let bF = makeString(["%b", bh], a)
441441 let bG = makeString(["%d", toString(bi)], a)
442442 let bH = makeString(["%d", toString(bj)], a)
443443 let bI = makeString(["%d", toString(bd)], a)
444444 let bJ = makeString(["%d", toString(0)], a)
445445 let bK = makeString(["%s", bk], a)
446446 [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)]
447447 }
448448
449449
450450 func bL (h,bM) = {
451451 let bN = aD()
452452 let bO = (fraction(c, (f * bN._1), g(h)) * bM)
453453 if ((size(bN._2) == 0))
454454 then $Tuple2(bO, nil)
455455 else $Tuple2(bO, bN._2)
456456 }
457457
458458
459459 func bP (h,bQ) = {
460460 let bR = fraction(h, 15, 10)
461461 ((bQ / ((h * bR) - h)) * f)
462462 }
463463
464464
465465 func bS (bT) = {
466466 let bU = Y(L(J), "could not get the running StawLP")
467467 [aa(J, (bU + bT))]
468468 }
469469
470470
471471 func bV (bT) = {
472472 let bU = Y(L(J), "could not get the running StawLP")
473473 [aa(J, (bU - bT))]
474474 }
475475
476476
477477 func bW (bT) = {
478478 let bX = Y(L(I), "could not get total locked waves")
479479 [aa(I, (bX + bT))]
480480 }
481481
482482
483483 func bY (bT) = {
484484 let bX = Y(L(I), "could not get total locked waves")
485485 [aa(I, (bX - bT))]
486486 }
487487
488488
489489 func bZ (ca) = {
490490 let cb = {
491491 let U = blockInfoByHeight(ca)
492492 if ($isInstanceOf(U, "BlockInfo"))
493493 then {
494494 let cc = U
495495 cc.timestamp
496496 }
497497 else throw("counld get timestamp")
498498 }
499499 cb
500500 }
501501
502502
503503 @Callable(at)
504504 func getEmission (h,bQ) = {
505505 let cd = as(at)
506506 if ((cd == cd))
507507 then $Tuple2(nil, bP(h, bQ))
508508 else throw("Strict value is not equal to itself.")
509509 }
510510
511511
512512
513513 @Callable(at)
514514 func init (au,ce,aB,cf) = {
515515 let cg = if (isDefined(N(n)))
516516 then as(at)
517517 else true
518518 if ((cg == cg))
519519 then {
520520 let cd = aw(au)
521521 if ((cd == cd))
522522 then {
523523 let ch = aw(ce)
524524 if ((ch == ch))
525525 then {
526526 let ci = aw(cf)
527527 if ((ci == ci))
528528 then {
529529 let cj = aA(aB)
530530 if ((cj == cj))
531531 then {
532532 let ck = S(p, 0)
533533 let cl = S(k, 0)
534534 let cm = S(l, c)
535535 let cn = S(H, 0)
536536 let co = S(J, 0)
537537 let cp = S(K, 0)
538538 let cq = S(I, 0)
539539 [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)]
540540 }
541541 else throw("Strict value is not equal to itself.")
542542 }
543543 else throw("Strict value is not equal to itself.")
544544 }
545545 else throw("Strict value is not equal to itself.")
546546 }
547547 else throw("Strict value is not equal to itself.")
548548 }
549549 else throw("Strict value is not equal to itself.")
550550 }
551551
552552
553553
554554 @Callable(at)
555555 func modifyGlobalParams (W) = {
556556 let cd = as(at)
557557 if ((cd == cd))
558558 then {
559- let ch = ad((size(W) == 2), "[global_key, value] pairs expected")
559+ let cr = makeString(["got", toString(size(W)), "size of list but expected [global_key, value] pair"], " ")
560+ let ch = ad((size(W) == 2), cr)
560561 if ((ch == ch))
561562 then {
562563 let M = W[0]
563- let cr = parseInt(W[1])
564- let U = cr
564+ let cs = parseInt(W[1])
565+ let U = cs
565566 if ($isInstanceOf(U, "Int"))
566567 then {
567568 let ak = U
568- let cs = ad((N(M) == unit), (("key " + M) + " not recognized"))
569- if ((cs == cs))
569+ let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
570+ if ((ct == ct))
570571 then [af(M, ak)]
571572 else throw("Strict value is not equal to itself.")
572573 }
573574 else if ($isInstanceOf(U, "Unit"))
574575 then {
575576 let ak = U
576- let cs = ad((N(M) == unit), (("key " + M) + " not recognized"))
577- if ((cs == cs))
577+ let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
578+ if ((ct == ct))
578579 then {
579- let ct = W[1]
580- let cu = ai(n)
580+ let cu = W[1]
581+ let cv = ai(n)
581582 let cj = {
582- let az = cu
583+ let az = cv
583584 if ($isInstanceOf(az, "String"))
584585 then {
585- let cv = az
586- if ((size(cv) == size(ct)))
587- then aw(ct)
588- else aA(ct)
586+ let cw = az
587+ if ((size(cw) == size(cu)))
588+ then aw(cu)
589+ else aA(cu)
589590 }
590591 else throw("value type not supported")
591592 }
592593 if ((cj == cj))
593- then [af(M, ct)]
594+ then [af(M, cu)]
594595 else throw("Strict value is not equal to itself.")
595596 }
596597 else throw("Strict value is not equal to itself.")
597598 }
598599 else throw(("failed to modify " + W[0]))
599600 }
600601 else throw("Strict value is not equal to itself.")
601602 }
602603 else throw("Strict value is not equal to itself.")
603604 }
604605
605606
606607
607608 @Callable(at)
608609 func revokeLock () = {
609610 let cd = as(at)
610611 if ((cd == cd))
611612 then nil
612613 else throw("Strict value is not equal to itself.")
613614 }
614615
615616
616617
617618 @Callable(at)
618619 func claim (ba) = {
619- let cw = toBase58String(at.caller.bytes)
620- let cx = makeString([cw, ba, z], a)
621- let cy = makeString([cw, ba, w], a)
622- let cz = makeString([cw, ba, y], a)
623- let cA = makeString([cw, ba, E], a)
624- let cB = makeString([cw, ba, F], a)
625- let cC = makeString([cw, ba, B], a)
626- let cD = makeString([cw, ba, z], a)
627- let cE = makeString([cw, v], a)
628- let cF = makeString([cw, ba, G], a)
629- let cG = makeString([cw, ba, G], a)
630- let cH = {
620+ let cx = toBase58String(at.caller.bytes)
621+ let cy = makeString([cx, ba, z], a)
622+ let cz = makeString([cx, ba, w], a)
623+ let cA = makeString([cx, ba, y], a)
624+ let cB = makeString([cx, ba, E], a)
625+ let cC = makeString([cx, ba, F], a)
626+ let cD = makeString([cx, ba, B], a)
627+ let cE = makeString([cx, ba, z], a)
628+ let cF = makeString([cx, v], a)
629+ let cG = makeString([cx, ba, G], a)
630+ let cH = makeString([cx, ba, G], a)
631+ let cI = {
631632 let U = ai(I)
632633 if ($isInstanceOf(U, "Int"))
633634 then {
634635 let aF = U
635636 aF
636637 }
637638 else throw("failed to get global total waves")
638639 }
639- if ((cH == cH))
640+ if ((cI == cI))
640641 then {
641- let cI = {
642+ let cJ = {
642643 let U = ai(J)
643644 if ($isInstanceOf(U, "Int"))
644645 then {
645646 let aF = U
646647 aF
647648 }
648649 else throw("failed to get global total waves")
649650 }
650- if ((cI == cI))
651+ if ((cJ == cJ))
651652 then {
652653 let bh = {
653- let U = ai(cz)
654+ let U = ai(cA)
654655 if ($isInstanceOf(U, "ByteVector"))
655656 then {
656657 let aF = U
657658 aF
658659 }
659660 else throw("failed to get lease id")
660661 }
661662 if ((bh == bh))
662663 then {
663- let cJ = {
664- let U = ai(cE)
664+ let cK = {
665+ let U = ai(cF)
665666 if ($isInstanceOf(U, "Int"))
666667 then {
667668 let aF = U
668669 aF
669670 }
670671 else throw("failed to get total waves locked by this address")
671672 }
672- if ((cJ == cJ))
673+ if ((cK == cK))
673674 then {
674675 let aR = {
675- let U = ai(cD)
676+ let U = ai(cE)
676677 if ($isInstanceOf(U, "Int"))
677678 then {
678679 let aF = U
679680 aF
680681 }
681682 else throw("failed to get total waves locked")
682683 }
683684 if ((aR == aR))
684685 then {
685- let cK = {
686- let U = ai(cB)
686+ let cL = {
687+ let U = ai(cC)
687688 if ($isInstanceOf(U, "Int"))
688689 then {
689690 let aF = U
690691 aF
691692 }
692693 else throw("failed to get total waves claimed")
693694 }
694- if ((cK == cK))
695+ if ((cL == cL))
695696 then {
696697 let bf = {
697- let U = ai(cC)
698+ let U = ai(cD)
698699 if ($isInstanceOf(U, "Int"))
699700 then {
700701 let aF = U
701702 aF
702703 }
703704 else throw("failed to get stawPL")
704705 }
705706 if ((bf == bf))
706707 then {
707- let cL = {
708- let U = ai(cA)
708+ let cM = {
709+ let U = ai(cB)
709710 if ($isInstanceOf(U, "Int"))
710711 then {
711712 let aF = U
712713 aF
713714 }
714715 else throw("failed to get lock period timespam")
715716 }
716- if ((cL == cL))
717+ if ((cM == cM))
717718 then {
718- let cM = {
719+ let cN = {
719720 let U = bZ(height)
720721 if ($isInstanceOf(U, "Int"))
721722 then {
722723 let aF = U
723724 aF
724725 }
725726 else throw("failed to get current timestamp")
726727 }
727- if ((cM == cM))
728+ if ((cN == cN))
728729 then {
729730 let bQ = {
730- let U = ai(cx)
731+ let U = ai(cy)
731732 if ($isInstanceOf(U, "Int"))
732733 then {
733734 let aF = U
734735 aF
735736 }
736737 else throw("failed to get collateral")
737738 }
738739 if ((bQ == bQ))
739740 then {
740741 let h = {
741- let U = ai(cy)
742+ let U = ai(cz)
742743 if ($isInstanceOf(U, "Int"))
743744 then {
744745 let aF = U
745746 aF
746747 }
747748 else throw("failed to get lockPeriod")
748749 }
749750 if ((h == h))
750751 then {
751- let cN = {
752- let U = ai(cF)
752+ let cO = {
753+ let U = ai(cG)
753754 if ($isInstanceOf(U, "String"))
754755 then {
755756 let aF = U
756757 aF
757758 }
758759 else throw("failed to get lease state")
759760 }
760- if ((cN == cN))
761+ if ((cO == cO))
761762 then {
762763 let bk = {
763- let U = ai(cG)
764+ let U = ai(cH)
764765 if ($isInstanceOf(U, "String"))
765766 then {
766767 let aF = U
767768 aF
768769 }
769770 else throw("failed to get lease state for user")
770771 }
771772 if ((bk == bk))
772773 then {
773- let cd = ad((cL > cM), "lock period for this entry has not elapsed")
774+ let cd = ad((cM > cN), "lock period for this entry has not elapsed")
774775 if ((cd == cd))
775776 then {
776- let cO = if ((cN == "leased"))
777- then $Tuple2(LeaseCancel(bh), ac(cF, "cancelled"))
778- else $Tuple2(ac(cF, "cancelled"), ac(cF, "cancelled"))
779- if ((cO == cO))
777+ let cP = if ((cO == "leased"))
778+ then $Tuple2(LeaseCancel(bh), ac(cG, "cancelled"))
779+ else $Tuple2(ac(cG, "cancelled"), ac(cG, "cancelled"))
780+ if ((cP == cP))
780781 then {
781782 let ch = ad(if ((0 == aR))
782783 then true
783784 else (0 == bf), "all claims exhausted for this trx")
784785 if ((ch == ch))
785786 then {
786- let cP = (bP(h, bQ) * f)
787- let cQ = {
788- let cR = (cM - cL)
789- let cS = (cR / f)
790- if ((cS == 0))
787+ let cQ = (bP(h, bQ) * f)
788+ let cR = {
789+ let cS = (cN - cM)
790+ let cT = (cS / f)
791+ if ((cT == 0))
791792 then throw("less than 24hrs before first claim")
792- else if (((cR % f) != 0))
793+ else if (((cS % f) != 0))
793794 then throw("already claimed or less than 24hrs before next claim")
794- else if ((cS > h))
795+ else if ((cT > h))
795796 then throw("all claims exhausted")
796797 else {
797- let cT = (cS * cP)
798- let cU = ad((cT == cK), "can only claim once in 24hrs")
799- if ((cU == cU))
798+ let cU = (cT * cQ)
799+ let cV = ad((cU == cL), "can only claim once in 24hrs")
800+ if ((cV == cV))
800801 then {
801- let cV = ad(((cT + cK) > aR), "all claims exhausted")
802- if ((cV == cV))
802+ let cW = ad(((cU + cL) > aR), "all claims exhausted")
803+ if ((cW == cW))
803804 then {
804- let cW = if ((cS == 1))
805- then cT
806- else (cT - cK)
807- let cX = cT
808- let cY = if ((cS == 1))
809- then (aR - cT)
810- else (aR - (cT - cK))
811- let cZ = if ((cS == 1))
812- then (bf - cT)
813- else (bf - (cT - cK))
814- let da = (cH - cY)
805+ let cX = if ((cT == 1))
806+ then cU
807+ else (cU - cL)
808+ let cY = cU
809+ let cZ = if ((cT == 1))
810+ then (aR - cU)
811+ else (aR - (cU - cL))
812+ let da = if ((cT == 1))
813+ then (bf - cU)
814+ else (bf - (cU - cL))
815815 let db = (cI - cZ)
816- let dc = (cJ - cW)
817- let bB = makeString(["%d", toString(cY)], a)
818- let bD = makeString(["%d", toString(cZ)], a)
819- let bJ = makeString(["%d", toString(cX)], a)
820- let dd = makeString(["%d", toString(dc)], a)
821-[cO._1, cO._2, ac(cD, bB), ac(cC, bD), ac(cB, bJ), ac(cE, dd), af(I, da), af(J, db), ScriptTransfer(Address(at.caller.bytes), cW, unit)]
816+ let dc = (cJ - da)
817+ let dd = (cK - cX)
818+ let bB = makeString(["%d", toString(cZ)], a)
819+ let bD = makeString(["%d", toString(da)], a)
820+ let bJ = makeString(["%d", toString(cY)], a)
821+ let de = makeString(["%d", toString(dd)], a)
822+[cP._1, cP._2, ac(cE, bB), ac(cD, bD), ac(cC, bJ), ac(cF, de), af(I, db), af(J, dc), ScriptTransfer(Address(at.caller.bytes), cX, unit)]
822823 }
823824 else throw("Strict value is not equal to itself.")
824825 }
825826 else throw("Strict value is not equal to itself.")
826827 }
827828 }
828- if ((cQ == cQ))
829- then cQ
829+ if ((cR == cR))
830+ then cR
830831 else throw("Strict value is not equal to itself.")
831832 }
832833 else throw("Strict value is not equal to itself.")
833834 }
834835 else throw("Strict value is not equal to itself.")
835836 }
836837 else throw("Strict value is not equal to itself.")
837838 }
838839 else throw("Strict value is not equal to itself.")
839840 }
840841 else throw("Strict value is not equal to itself.")
841842 }
842843 else throw("Strict value is not equal to itself.")
843844 }
844845 else throw("Strict value is not equal to itself.")
845846 }
846847 else throw("Strict value is not equal to itself.")
847848 }
848849 else throw("Strict value is not equal to itself.")
849850 }
850851 else throw("Strict value is not equal to itself.")
851852 }
852853 else throw("Strict value is not equal to itself.")
853854 }
854855 else throw("Strict value is not equal to itself.")
855856 }
856857 else throw("Strict value is not equal to itself.")
857858 }
858859 else throw("Strict value is not equal to itself.")
859860 }
860861 else throw("Strict value is not equal to itself.")
861862 }
862863 else throw("Strict value is not equal to itself.")
863864 }
864865
865866
866867
867868 @Callable(at)
868869 func mintStaw (h) = {
869- let cw = toBase58String(at.caller.bytes)
870- let de = toBase58String(at.transactionId)
870+ let cx = toBase58String(at.caller.bytes)
871+ let df = toBase58String(at.transactionId)
871872 let cd = ad((1 != size(at.payments)), "no payments attached")
872873 if ((cd == cd))
873874 then {
874875 let ch = if (isDefined(at.payments[0].assetId))
875876 then throw("only waves supported")
876877 else true
877878 if ((ch == ch))
878879 then {
879- let df = at.payments[0].amount
880- let ci = if (if ((d > df))
880+ let dg = at.payments[0].amount
881+ let ci = if (if ((d > dg))
881882 then true
882- else (df > e))
883+ else (dg > e))
883884 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
884885 else true
885886 if ((ci == ci))
886887 then {
887888 let cj = if ((b > h))
888889 then throw("minimum of 14 days lock period")
889890 else true
890891 if ((cj == cj))
891892 then {
892- let dg = bL(h, df)
893- let aT = df
894- let dh = fraction(dg._1, 10, 100)
895- let di = (dg._1 - dh)
896- let dj = (bZ(height) + an(h))
897- if ((dj == dj))
893+ let dh = bL(h, dg)
894+ let aT = dg
895+ let di = fraction(dh._1, 10, 100)
896+ let dj = (dh._1 - di)
897+ let dk = (bZ(height) + an(h))
898+ if ((dk == dk))
898899 then {
899- let dk = {
900+ let dl = {
900901 let U = ai(K)
901902 if ($isInstanceOf(U, "Int"))
902903 then {
903904 let aF = U
904905 (aF + 1)
905906 }
906907 else throw("failed to get current global index count")
907908 }
908- if ((dk == dk))
909+ if ((dl == dl))
909910 then {
910- let dl = {
911+ let dm = {
911912 let U = ai(o)
912913 if ($isInstanceOf(U, "String"))
913914 then {
914915 let aF = U
915916 Address(fromBase58String(aF))
916917 }
917918 else throw("failed to get dfx address")
918919 }
919- if ((dl == dl))
920+ if ((dm == dm))
920921 then {
921922 let aG = {
922923 let U = ai(m)
923924 if ($isInstanceOf(U, "String"))
924925 then {
925926 let aF = U
926927 fromBase58String(aF)
927928 }
928929 else throw("failed to get asset id")
929930 }
930931 if ((aG == aG))
931932 then {
932- let dm = {
933+ let dn = {
933934 let U = ai(q)
934935 if ($isInstanceOf(U, "String"))
935936 then {
936937 let aF = U
937938 Address(fromBase58String(aF))
938939 }
939940 else throw("failed to get lease node address")
940941 }
941- if ((dm == dm))
942+ if ((dn == dn))
942943 then {
943- let dn = makeString([cw, u], a)
944- let do = makeString([cw, v], a)
945- let dp = {
946- let U = ai(dn)
944+ let do = makeString([cx, u], a)
945+ let dp = makeString([cx, v], a)
946+ let dq = {
947+ let U = ai(do)
947948 if ($isInstanceOf(U, "Int"))
948949 then {
949950 let ak = U
950951 (ak + 1)
951952 }
952953 else 0
953954 }
954- if ((dp == dp))
955+ if ((dq == dq))
955956 then {
956- let dq = {
957- let U = ai(do)
957+ let dr = {
958+ let U = ai(dp)
958959 if ($isInstanceOf(U, "Int"))
959960 then {
960961 let ak = U
961- (ak + df)
962+ (ak + dg)
962963 }
963- else df
964+ else dg
964965 }
965- if ((dq == dq))
966+ if ((dr == dr))
966967 then {
967- let dr = Lease(dm, df)
968- if ((dr == dr))
968+ let ds = Lease(dn, dg)
969+ if ((ds == ds))
969970 then {
970- let ds = toBase58String(calculateLeaseId(dr))
971- if ((ds == ds))
972- then ((([dr, ScriptTransfer(dl, dh, aG), ScriptTransfer(Address(at.caller.bytes), di, aG)] ++ aZ(de, cw, h, dj, dk, df, di, aT, height, ds, dq, dp, "leased")) ++ aQ(df, dg._1, aT, dk)) ++ dg._2)
971+ let dt = toBase58String(calculateLeaseId(ds))
972+ if ((dt == dt))
973+ then ((([ds, ScriptTransfer(dm, di, aG), ScriptTransfer(Address(at.caller.bytes), dj, aG)] ++ aZ(df, cx, h, dk, dl, dg, dj, aT, height, dt, dr, dq, "leased")) ++ aQ(dg, dh._1, aT, dl)) ++ dh._2)
973974 else throw("Strict value is not equal to itself.")
974975 }
975976 else throw("Strict value is not equal to itself.")
976977 }
977978 else throw("Strict value is not equal to itself.")
978979 }
979980 else throw("Strict value is not equal to itself.")
980981 }
981982 else throw("Strict value is not equal to itself.")
982983 }
983984 else throw("Strict value is not equal to itself.")
984985 }
985986 else throw("Strict value is not equal to itself.")
986987 }
987988 else throw("Strict value is not equal to itself.")
988989 }
989990 else throw("Strict value is not equal to itself.")
990991 }
991992 else throw("Strict value is not equal to itself.")
992993 }
993994 else throw("Strict value is not equal to itself.")
994995 }
995996 else throw("Strict value is not equal to itself.")
996997 }
997998 else throw("Strict value is not equal to itself.")
998999 }
9991000
10001001

github/deemru/w8io/169f3d6 
257.07 ms