tx · 4EHq51WaVMrGkiwdeKJa76KHxNkDV1zzsToZhXyphoQj

3N3LtGiBDqDjfHpd7WnTCTKXB3gPWqUrDLL:  -0.04300000 Waves

2024.07.10 11:15 [3187675] smart account 3N3LtGiBDqDjfHpd7WnTCTKXB3gPWqUrDLL > SELF 0.00000000 Waves

{ "type": 13, "id": "4EHq51WaVMrGkiwdeKJa76KHxNkDV1zzsToZhXyphoQj", "fee": 4300000, "feeAssetId": null, "timestamp": 1720599392778, "version": 2, "chainId": 84, "sender": "3N3LtGiBDqDjfHpd7WnTCTKXB3gPWqUrDLL", "senderPublicKey": "3wnnbmrpP3X4LxULFVHTeu7zNZBzFV7NSxRokwryVFaJ", "proofs": [ "3UpimuKSypHw5xaNDaMhURzLRDVA3equbV13pFUtwxJEw58Pe5J8HsgmjWb9bnco7zeE2ndCU16ZcHiB4pUTAizr" ], "script": "base64:BgLWOAgCEgASBQoDAQQBEgcKBQEEAQgBEgQKAgEEEgMKAQESBAoCAQQSBAoCCAESBAoCCAESBAoCCAESBQoDAQgBEgASBAoCAQESAwoBARIFCgMBAQESBAoCCAgSABIAEgMKAQgSBQoDAQEBEgQKAgEBEgQKAggBEgQKAggIEgsKCQgBAQIBAggEBBIGCgQICAEIEgASAwoBARIDCgEBEgQKAggBIgpsUGRlY2ltYWxzIgZzY2FsZTgiDHNjYWxlOEJpZ0ludCIHc2NhbGUxOCIKemVyb0JpZ0ludCIEYmlnMCIEYmlnMSIEYmlnMiILd2F2ZXNTdHJpbmciA1NFUCIKUG9vbEFjdGl2ZSIPUG9vbFB1dERpc2FibGVkIhNQb29sTWF0Y2hlckRpc2FibGVkIgxQb29sU2h1dGRvd24iDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSISaWR4UG9vbEFtdEFzc2V0QW10IhRpZHhQb29sUHJpY2VBc3NldEFtdCIRaWR4UG9vbExQQXNzZXRBbXQiGWlkeEZhY3RvcnlTdGFraW5nQ29udHJhY3QiGmlkeEZhY3RvcnlTbGlwcGFnZUNvbnRyYWN0IgV0b1gxOCIHb3JpZ1ZhbCINb3JpZ1NjYWxlTXVsdCILdG9YMThCaWdJbnQiB2Zyb21YMTgiA3ZhbCIPcmVzdWx0U2NhbGVNdWx0Igxmcm9tWDE4Um91bmQiBXJvdW5kIgd0b1NjYWxlIgNhbXQiCHJlc1NjYWxlIghjdXJTY2FsZSIDYWJzIglhYnNCaWdJbnQiDHN3YXBDb250cmFjdCICZmMiE2tleU1hbmFnZXJQdWJsaWNLZXkiFmtleU1hbmFnZXJWYXVsdEFkZHJlc3MiAnBsIgJwaCIBaCIJdGltZXN0YW1wIgNwYXUiC3VzZXJBZGRyZXNzIgR0eElkIgNnYXUiAmFhIgJwYSIGa2V5RmVlIgpmZWVEZWZhdWx0IgNmZWUiBmtleUtMcCIVa2V5S0xwUmVmcmVzaGVkSGVpZ2h0IhJrZXlLTHBSZWZyZXNoRGVsYXkiFmtMcFJlZnJlc2hEZWxheURlZmF1bHQiD2tMcFJlZnJlc2hEZWxheSIUa2V5QWRkaXRpb25hbEJhbGFuY2UiB2Fzc2V0SWQiFmtleVN0YWtpbmdBc3NldEJhbGFuY2UiGmdldEFkZGl0aW9uYWxCYWxhbmNlT3JaZXJvIhxnZXRTdGFraW5nQXNzZXRCYWxhbmNlT3JaZXJvIhBrZXlGYWN0b3J5Q29uZmlnIg1rZXlNYXRjaGVyUHViIilrZXlNYXBwaW5nUG9vbENvbnRyYWN0QWRkcmVzc1RvUG9vbEFzc2V0cyITcG9vbENvbnRyYWN0QWRkcmVzcyINa2V5UG9vbENvbmZpZyIJaUFtdEFzc2V0IgtpUHJpY2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIhNrZXlBbGxQb29sc1NodXRkb3duIg1rZXlQb29sV2VpZ2h0Ig9jb250cmFjdEFkZHJlc3MiFmtleUFsbG93ZWRMcFNjcmlwdEhhc2giFmtleUZlZUNvbGxlY3RvckFkZHJlc3MiFmtleVNraXBPcmRlclZhbGlkYXRpb24iC3Bvb2xBZGRyZXNzIg90aHJvd09yZGVyRXJyb3IiCm9yZGVyVmFsaWQiDm9yZGVyVmFsaWRJbmZvIgxtYXRjaGVyVmFsaWQiF2FkZHJlc3NGcm9tU3RyaW5nT3JUaGlzIg1hZGRyZXNzU3RyaW5nIgckbWF0Y2gwIgFhIhxnZXRNYW5hZ2VyVmF1bHRBZGRyZXNzT3JUaGlzIg5mYWN0b3J5QWRkcmVzcyIDZmNhIgFzIg9nZXRTdHJpbmdPckZhaWwiB2FkZHJlc3MiA2tleSIMZ2V0SW50T3JGYWlsIgh0aHJvd0VyciIDbXNnIgZmbXRFcnIiD2ZhY3RvcnlDb250cmFjdCITZmVlQ29sbGVjdG9yQWRkcmVzcyIFaW5GZWUiAUAiBm91dEZlZSIVa2V5QWRkcmVzc1doaXRlbGlzdGVkIhRpc0FkZHJlc3NXaGl0ZWxpc3RlZCIQaXNHbG9iYWxTaHV0ZG93biITZ2V0TWF0Y2hlclB1Yk9yRmFpbCINZ2V0UG9vbENvbmZpZyIIYW10QXNzZXQiCnByaWNlQXNzZXQiDHBhcnNlQXNzZXRJZCIFaW5wdXQiD2Fzc2V0SWRUb1N0cmluZyIPcGFyc2VQb29sQ29uZmlnIgpwb29sQ29uZmlnIhBwb29sQ29uZmlnUGFyc2VkIgskdDA5NzAyOTg2OCIOY2ZnUG9vbEFkZHJlc3MiDWNmZ1Bvb2xTdGF0dXMiDGNmZ0xwQXNzZXRJZCIQY2ZnQW1vdW50QXNzZXRJZCIPY2ZnUHJpY2VBc3NldElkIhZjZmdBbW91bnRBc3NldERlY2ltYWxzIhVjZmdQcmljZUFzc2V0RGVjaW1hbHMiEGdldEZhY3RvcnlDb25maWciD3N0YWtpbmdDb250cmFjdCIQc2xpcHBhZ2VDb250cmFjdCIRZGF0YVB1dEFjdGlvbkluZm8iDWluQW10QXNzZXRBbXQiD2luUHJpY2VBc3NldEFtdCIIb3V0THBBbXQiBXByaWNlIh1zbGlwcGFnZVRvbGVyYW5jZVBhc3NlZEJ5VXNlciIVc2xpcHBhZ2VUb2xlcmFuY2VSZWFsIgh0eEhlaWdodCILdHhUaW1lc3RhbXAiEnNsaXBhZ2VBbXRBc3NldEFtdCIUc2xpcGFnZVByaWNlQXNzZXRBbXQiEWRhdGFHZXRBY3Rpb25JbmZvIg5vdXRBbXRBc3NldEFtdCIQb3V0UHJpY2VBc3NldEFtdCIHaW5McEFtdCINZ2V0QWNjQmFsYW5jZSINYmFsYW5jZU9uUG9vbCIMdG90YWxCYWxhbmNlIg9jYWxjUHJpY2VCaWdJbnQiCHByQW10WDE4IghhbUFtdFgxOCIUY2FsY1ByaWNlQmlnSW50Um91bmQiB2dldFJhdGUiBXByb3h5IgNpbnYiAXIiB2RlcG9zaXQiBmFtb3VudCIOc3Rha2luZ0Fzc2V0SWQiGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZSIaY3VycmVudFN0YWtpbmdBc3NldEJhbGFuY2UiBWFzc2V0Ig1kZXBvc2l0SW52b2tlIhRyZWNlaXZlZFN0YWtpbmdBc3NldCIUbmV3QWRkaXRpb25hbEJhbGFuY2UiFm5ld1N0YWtpbmdBc3NldEJhbGFuY2UiCHdpdGhkcmF3Igxwcm94eVJhdGVNdWwiDXByb2ZpdEFkZHJlc3MiEGN1cnJlbnRQcm94eVJhdGUiB29sZFJhdGUiDHN0YWtpbmdBc3NldCIUb2xkU2VuZFN0YWtpbmdBbW91bnQiFnNlbmRTdGFraW5nQXNzZXRBbW91bnQiDHByb2ZpdEFtb3VudCIOd2l0aGRyYXdJbnZva2UiDnJlY2VpdmVkQXNzZXRzIhNnZXRMZWFzZVByb3h5Q29uZmlnIhFyZWJhbGFuY2VJbnRlcm5hbCILdGFyZ2V0UmF0aW8iCm1pbkJhbGFuY2UiFGxlYXNhYmxlVG90YWxCYWxhbmNlIhd0YXJnZXRBZGRpdGlvbmFsQmFsYW5jZSIEZGlmZiIPc2VuZEFzc2V0QW1vdW50Ig5nZXRBc3NldEFtb3VudCIOcmViYWxhbmNlQXNzZXQiDSR0MDE2MTUzMTYyODkiCmlzTGVhc2FibGUiC2xlYXNlZFJhdGlvIgxwcm94eUFkZHJlc3MiDHByb3h5QXNzZXRJZCIUc3Rha2luZ1Byb2ZpdEFkZHJlc3MiGXdpdGhkcmF3QW5kUmViYWxhbmNlQXNzZXQiCWdldEFtb3VudCINJHQwMTY2ODgxNjgyNCIXbmV3VG90YWxMZWFzYWJsZUJhbGFuY2UiDndpdGhkcmF3QW1vdW50Ihd3aXRoZHJhd0FuZFJlYmFsYW5jZUFsbCIUYW1vdW50QXNzZXRPdXRBbW91bnQiE3ByaWNlQXNzZXRPdXRBbW91bnQiEkFtQW10V2l0aGRyYXdTdGF0ZSISUHJBbXRXaXRoZHJhd1N0YXRlIhBwcml2YXRlQ2FsY1ByaWNlIgphbUFzc2V0RGNtIgpwckFzc2V0RGNtIgVhbUFtdCIFcHJBbXQiDmFtdEFzc2V0QW10WDE4IhBwcmljZUFzc2V0QW10WDE4IgpjYWxjUHJpY2VzIgVscEFtdCIDY2ZnIgthbXRBc3NldERjbSINcHJpY2VBc3NldERjbSIIcHJpY2VYMTgiCGxwQW10WDE4IhNscFByaWNlSW5BbUFzc2V0WDE4IhNscFByaWNlSW5QckFzc2V0WDE4Ig9jYWxjdWxhdGVQcmljZXMiBnByaWNlcyIUZXN0aW1hdGVHZXRPcGVyYXRpb24iBnR4SWQ1OCIKcG10QXNzZXRJZCIIcG10THBBbXQiCWxwQXNzZXRJZCIJYW1Bc3NldElkIglwckFzc2V0SWQiCnBvb2xTdGF0dXMiCmxwRW1pc3Npb24iCWFtQmFsYW5jZSIMYW1CYWxhbmNlWDE4IglwckJhbGFuY2UiDHByQmFsYW5jZVgxOCILY3VyUHJpY2VYMTgiCGN1clByaWNlIgtwbXRMcEFtdFgxOCINbHBFbWlzc2lvblgxOCILb3V0QW1BbXRYMTgiC291dFByQW10WDE4IghvdXRBbUFtdCIIb3V0UHJBbXQiBXN0YXRlIhRlc3RpbWF0ZVB1dE9wZXJhdGlvbiIRc2xpcHBhZ2VUb2xlcmFuY2UiDGluQW1Bc3NldEFtdCILaW5BbUFzc2V0SWQiDGluUHJBc3NldEFtdCILaW5QckFzc2V0SWQiCmlzRXZhbHVhdGUiBmVtaXRMcCIMYW1Bc3NldElkU3RyIgxwckFzc2V0SWRTdHIiC2lBbXRBc3NldElkIg1pUHJpY2VBc3NldElkIg5pbkFtQXNzZXRJZFN0ciIOaW5QckFzc2V0SWRTdHIiD2luQW1Bc3NldEFtdFgxOCIPaW5QckFzc2V0QW10WDE4Igx1c2VyUHJpY2VYMTgiA3JlcyILc2xpcHBhZ2VYMTgiFHNsaXBwYWdlVG9sZXJhbmNlWDE4IgpwclZpYUFtWDE4IgphbVZpYVByWDE4IgxleHBlY3RlZEFtdHMiEWV4cEFtdEFzc2V0QW10WDE4IhNleHBQcmljZUFzc2V0QW10WDE4IgljYWxjTHBBbXQiDmNhbGNBbUFzc2V0UG10Ig5jYWxjUHJBc3NldFBtdCIMc2xpcHBhZ2VDYWxjIgllbWl0THBBbXQiBmFtRGlmZiIGcHJEaWZmIgtjb21tb25TdGF0ZSIHY2FsY0tMcCINYW1vdW50QmFsYW5jZSIMcHJpY2VCYWxhbmNlIhBhbW91bnRCYWxhbmNlWDE4Ig9wcmljZUJhbGFuY2VYMTgiCnVwZGF0ZWRLTHAiDmNhbGNDdXJyZW50S0xwIhBhbW91bnRBc3NldERlbHRhIg9wcmljZUFzc2V0RGVsdGEiFGxwQXNzZXRFbWlzc2lvbkRlbHRhIhJhbW91bnRBc3NldEJhbGFuY2UiEXByaWNlQXNzZXRCYWxhbmNlIg9scEFzc2V0RW1pc3Npb24iCmN1cnJlbnRLTHAiEnJlZnJlc2hLTHBJbnRlcm5hbCIXYW1vdW50QXNzZXRCYWxhbmNlRGVsdGEiFnByaWNlQXNzZXRCYWxhbmNlRGVsdGEiB2FjdGlvbnMiE3NraXBPcmRlclZhbGlkYXRpb24iEnZhbGlkYXRlVXBkYXRlZEtMcCIGb2xkS0xwIht2YWxpZGF0ZU1hdGNoZXJPcmRlckFsbG93ZWQiBW9yZGVyIhFhbW91bnRBc3NldEFtb3VudCIQcHJpY2VBc3NldEFtb3VudCINJHQwMjk0NTAyOTY2MiIDa0xwIg0kdDAzMDEwMjMwMjAyIg11bnVzZWRBY3Rpb25zIgZrTHBOZXciDGlzT3JkZXJWYWxpZCIEaW5mbyIJY29tbW9uR2V0IgFpIgNwbXQiBnBtdEFtdCINaXNHZXREaXNhYmxlZCIJY29tbW9uUHV0IgphbUFzc2V0UG10IgpwckFzc2V0UG10IgZlc3RQdXQiDWlzUHV0RGlzYWJsZWQiBGVtaXQiB2VtaXRJbnYiDWVtaXRJbnZMZWdhY3kiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCIHdGFrZUZlZSIJZmVlQW1vdW50Ig9jYWxjUHV0T25lVG9rZW4iEHBheW1lbnRBbW91bnRSYXciDnBheW1lbnRBc3NldElkIgZpc0V2YWwiEGFtb3VudEJhbGFuY2VSYXciD3ByaWNlQmFsYW5jZVJhdyIUcGF5bWVudEluQW1vdW50QXNzZXQiDSR0MDMzMzg4MzM2ODEiEGFtb3VudEJhbGFuY2VPbGQiD3ByaWNlQmFsYW5jZU9sZCINJHQwMzM2ODUzMzgzNCIUYW1vdW50QXNzZXRBbW91bnRSYXciE3ByaWNlQXNzZXRBbW91bnRSYXciDSR0MDMzOTY2MzQwMzAiDXBheW1lbnRBbW91bnQiEGFtb3VudEJhbGFuY2VOZXciD3ByaWNlQmFsYW5jZU5ldyILcHJpY2VOZXdYMTgiCHByaWNlTmV3Ig5wYXltZW50QmFsYW5jZSIUcGF5bWVudEJhbGFuY2VCaWdJbnQiDHN1cHBseUJpZ0ludCILY2hlY2hTdXBwbHkiDWRlcG9zaXRCaWdJbnQiC2lzc3VlQW1vdW50IgtwcmljZU9sZFgxOCIIcHJpY2VPbGQiBGxvc3MiDSR0MDM1NzExMzU4NzgiB2JhbGFuY2UiD2lzc3VlQW1vdW50Qm90aCIPY2FsY0dldE9uZVRva2VuIgpvdXRBc3NldElkIgZjaGVja3MiEG91dEluQW1vdW50QXNzZXQiDWJhbGFuY2VCaWdJbnQiGG91dEluQW1vdW50QXNzZXREZWNpbWFscyIMYW1CYWxhbmNlT2xkIgxwckJhbGFuY2VPbGQiCm91dEJhbGFuY2UiEG91dEJhbGFuY2VCaWdJbnQiDnJlZGVlbWVkQmlnSW50IglhbW91bnRSYXciDSR0MDM3OTU2MzgwMTIiC3RvdGFsQW1vdW50Ig0kdDAzODAxNjM4MjQyIgtvdXRBbUFtb3VudCILb3V0UHJBbW91bnQiDGFtQmFsYW5jZU5ldyIMcHJCYWxhbmNlTmV3IhhhbW91bnRCb3RoSW5QYXltZW50QXNzZXQiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiCWlzTWFuYWdlciICcGsiC211c3RNYW5hZ2VyIgJwZCINY2xlYW5BbW91bnRJbiIJaXNSZXZlcnNlIg1mZWVQb29sQW1vdW50Ig0kdDA0MDEwMDQwNDA1Ighhc3NldE91dCIHYXNzZXRJbiIScG9vbEFzc2V0SW5CYWxhbmNlIhNwb29sQXNzZXRPdXRCYWxhbmNlIglhbW91bnRPdXQiBG9sZEsiBG5ld0siBmNoZWNrSyIMYW1vdW50T3V0TWluIglhZGRyZXNzVG8iC3N3YXBDb250YWN0IhJpc1Bvb2xTd2FwRGlzYWJsZWQiDmlzU3dhcERpc2FibGVkIghjaGVja01pbiIRcmVmcmVzaEtMcEFjdGlvbnMiDnJlYmFsYW5jZVN0YXRlIg13aXRoZHJhd1N0YXRlIg9zaG91bGRBdXRvU3Rha2UiBGFtSWQiBHBySWQiDHNsaXBwYWdlQUludiIMc2xpcHBhZ2VQSW52IgpscFRyYW5zZmVyIgtzbHBTdGFrZUludiINJHQwNDU1ODE0NjA0MyIRaXNVcGRhdGVkS0xwVmFsaWQiA3JlYiILbWF4U2xpcHBhZ2UiDSR0MDQ2NjU1NDY3MjAiDG1pbk91dEFtb3VudCIJYXV0b1N0YWtlIiBpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIHcGF5bWVudCINJHQwNDc5NDk0ODEwMSIFYm9udXMiE2VtaXRBbW91bnRFc3RpbWF0ZWQiCmVtaXRBbW91bnQiCHN0YWtlSW52IgdzZW5kRmVlIg0kdDA0ODY4NzQ4ODg0Ig0kdDA0ODg4NzQ4OTk1Ig0kdDA0OTM1MDQ5NTA3Ig1vdXRBc3NldElkU3RyIg0kdDA1MDQyOTUwNTgyIg9hbW91bnRFc3RpbWF0ZWQiB2J1cm5JbnYiDWFzc2V0VHJhbnNmZXIiDSR0MDUxMjQ2NTE0OTMiEGZlZUFtb3VudEZvckNhbGMiDSR0MDUxNDk2NTE2MDQiDSR0MDUxODgyNTIwMzgiDXVuc3Rha2VBbW91bnQiCnVuc3Rha2VJbnYiDSR0MDUyOTgwNTMxMzEiDSR0MDUzNzkwNTQwMzciDSR0MDU0MDQwNTQxNDgiFGJ1cm5MUEFzc2V0T25GYWN0b3J5Ig0kdDA1NTI0MzU1MzI0IhJub0xlc3NUaGVuQW10QXNzZXQiFG5vTGVzc1RoZW5QcmljZUFzc2V0Ig0kdDA1NjQxOTU2NTAwIg1jaGVja1BheW1lbnRzIg9jaGVja1Bvb2xTdGF0dXMiDSR0MDU3ODQ4NTc5MjkiFW5vTGVzc1RoZW5BbW91bnRBc3NldCIMY2hlY2tBbW91bnRzIg0kdDA1OTQwNzU5NDg4IgthbXRBc3NldFN0ciINcHJpY2VBc3NldFN0ciIYbGFzdFJlZnJlc2hlZEJsb2NrSGVpZ2h0Ih1jaGVja0xhc3RSZWZyZXNoZWRCbG9ja0hlaWdodCINJHQwNjA2OTI2MDc1NiIQa0xwVXBkYXRlQWN0aW9ucyIKYW10QXNzZXRJZCIMcHJpY2VBc3NldElkIg1wb29sTFBCYWxhbmNlIhJhY2NBbXRBc3NldEJhbGFuY2UiFGFjY1ByaWNlQXNzZXRCYWxhbmNlIgpwcmljZXNMaXN0Ig9scEFtdEFzc2V0U2hhcmUiEWxwUHJpY2VBc3NldFNoYXJlIgpwb29sV2VpZ2h0IgxjdXJQcmljZUNhbGMiDGFtQmFsYW5jZVJhdyIMcHJCYWxhbmNlUmF3Ig9hbUJhbGFuY2VSYXdYMTgiD3ByQmFsYW5jZVJhd1gxOCIQcGF5bWVudExwQXNzZXRJZCIMcGF5bWVudExwQW10IgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXkiCm1hdGNoZXJQdWIiDSR0MDY5NDE4Njk2NDYiB25ld0hhc2giC2FsbG93ZWRIYXNoIgtjdXJyZW50SGFzaIQBAAFhAAgAAWIAgMLXLwABYwkAtgIBAIDC1y8AAWQJALYCAQCAgJC7utat8A0AAWUJALYCAQAAAAFmCQC2AgEAAAABZwkAtgIBAAEAAWgJALYCAQACAAFpAgVXQVZFUwABagICX18AAWsAAQABbAACAAFtAAMAAW4ABAABbwABAAFwAAIAAXEAAwABcgAEAAFzAAUAAXQABgABdQAHAAF2AAgAAXcACQABeAAKAAF5AAEAAXoAAgABQQADAAFCAAEAAUMABwEBRAIBRQFGCQC8AgMJALYCAQUBRQUBZAkAtgIBBQFGAQFHAgFFAUYJALwCAwUBRQUBZAUBRgEBSAIBSQFKCQCgAwEJALwCAwUBSQkAtgIBBQFKBQFkAQFLAwFJAUoBTAkAoAMBCQC9AgQFAUkJALYCAQUBSgUBZAUBTAEBTQMBTgFPAVAJAGsDBQFOBQFPBQFQAQFRAQFJAwkAZgIAAAUBSQkBAS0BBQFJBQFJAQFSAQFJAwkAvwICBQFlBQFJCQC+AgEFAUkFAUkBAVMAAhAlc19fc3dhcENvbnRyYWN0AQFUAAITJXNfX2ZhY3RvcnlDb250cmFjdAEBVQACFCVzX19tYW5hZ2VyUHVibGljS2V5AQFWAAIXJXNfX21hbmFnZXJWYXVsdEFkZHJlc3MBAVcAAhElcyVzX19wcmljZV9fbGFzdAEBWAIBWQFaCQC5CQIJAMwIAgIYJXMlcyVkJWRfX3ByaWNlX19oaXN0b3J5CQDMCAIJAKQDAQUBWQkAzAgCCQCkAwEFAVoFA25pbAUBagECYWECAmFiAmFjCQCsAgIJAKwCAgkArAICAgslcyVzJXNfX1BfXwUCYWICAl9fBQJhYwECYWQCAmFiAmFjCQCsAgIJAKwCAgkArAICAgslcyVzJXNfX0dfXwUCYWICAl9fBQJhYwECYWUAAg8lc19fYW1vdW50QXNzZXQBAmFmAAIOJXNfX3ByaWNlQXNzZXQAAmFnAgclc19fZmVlAAJhaAkAawMACgUBYgCQTgACYWkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCYWcFAmFoAAJhagkAuQkCCQDMCAICAiVzCQDMCAICA2tMcAUDbmlsBQFqAAJhawkAuQkCCQDMCAICAiVzCQDMCAICEmtMcFJlZnJlc2hlZEhlaWdodAUDbmlsBQFqAAJhbAkAuQkCCQDMCAICAiVzCQDMCAICD3JlZnJlc2hLTHBEZWxheQUDbmlsBQFqAAJhbQAeAAJhbgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQJhbAUCYW0BAmFvAQJhcAkAuQkCCQDMCAICBCVzJXMJAMwIAgINc3Rha2VkQmFsYW5jZQkAzAgCBQJhcAUDbmlsBQFqAQJhcQECYXAJALkJAgkAzAgCAgQlcyVzCQDMCAICEXNoYXJlQXNzZXRCYWxhbmNlCQDMCAIFAmFwBQNuaWwFAWoBAmFyAQJhcAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECYW8BBQJhcAAAAQJhcwECYXAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmFxAQUCYXAAAAECYXQAAhElc19fZmFjdG9yeUNvbmZpZwECYXUAAhglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAmF2AQJhdwkArAICCQCsAgICCCVzJXMlc19fBQJhdwIgX19tYXBwaW5nc19fcG9vbENvbnRyYWN0MkxwQXNzZXQBAmF4AgJheQJhegkArAICCQCsAgIJAKwCAgkArAICAgglZCVkJXNfXwUCYXkCAl9fBQJhegIIX19jb25maWcBAmFBAQJhQgkArAICAiglcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyaW50ZXJuYWxJZF9fBQJhQgECYUMAAgwlc19fc2h1dGRvd24BAmFEAQJhRQkArAICAhIlcyVzX19wb29sV2VpZ2h0X18FAmFFAQJhRgACFyVzX19hbGxvd2VkTHBTY3JpcHRIYXNoAAJhRwIXJXNfX2ZlZUNvbGxlY3RvckFkZHJlc3MBAmFIAQJhSQkArAICAhslcyVzX19za2lwT3JkZXJWYWxpZGF0aW9uX18FAmFJAQJhSgMCYUsCYUwCYU0JAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiRvcmRlciB2YWxpZGF0aW9uIGZhaWxlZDogb3JkZXJWYWxpZD0JAKUDAQUCYUsCAiAoBQJhTAIBKQIOIG1hdGNoZXJWYWxpZD0JAKUDAQUCYU0BAmFOAQJhTwQCYVAJAKYIAQUCYU8DCQABAgUCYVACB0FkZHJlc3MEAmFRBQJhUAUCYVEFBHRoaXMBAmFSAAQCYVMEAmFQCQCiCAEJAQFUAAMJAAECBQJhUAIGU3RyaW5nBAJhVAUCYVAJAQJhTgEFAmFUBQR0aGlzBAJhUAkAnQgCBQJhUwkBAVYAAwkAAQIFAmFQAgZTdHJpbmcEAmFVBQJhUAkBAmFOAQUCYVUFBHRoaXMBAmFWAgJhVwJhWAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFAmFXBQJhWAkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQJhVwkAzAgCAgEuCQDMCAIFAmFYCQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgABAmFZAgJhVwJhWAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFAmFXBQJhWAkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQJhVwkAzAgCAgEuCQDMCAIFAmFYCQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgABAmFaAQJiYQkAAgEJALkJAgkAzAgCAghscC5yaWRlOgkAzAgCBQJiYQUDbmlsAgEgAQJiYgECYmEJALkJAgkAzAgCAghscC5yaWRlOgkAzAgCBQJiYQUDbmlsAgEgAAJiYwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFWAgUEdGhpcwkBAVQAAAJiZAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBAmFWAgUCYmMFAmFHAAJiZQoAAmJmCQD8BwQFAmJjAhBnZXRJbkZlZVJFQURPTkxZCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQNuaWwDCQABAgUCYmYCA0ludAUCYmYJAAIBCQCsAgIJAAMBBQJiZgIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AAJiZwoAAmJmCQD8BwQFAmJjAhFnZXRPdXRGZWVSRUFET05MWQkAzAgCCQClCAEFBHRoaXMFA25pbAUDbmlsAwkAAQIFAmJmAgNJbnQFAmJmCQACAQkArAICCQADAQUCYmYCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAECYmgBAmFXCQC5CQIJAMwIAgIEJXMlcwkAzAgCAgt3aGl0ZWxpc3RlZAkAzAgCCQClCAEFAmFXBQNuaWwFAWoBAmJpAQJhVwkBC3ZhbHVlT3JFbHNlAgkAmwgCBQJiYwkBAmJoAQUCYVcHAQJiagAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUCYmMJAQJhQwAHAQJiawAJANkEAQkBAmFWAgUCYmMJAQJhdQABAmJsAAQCYm0JAQJhVgIFBHRoaXMJAQJhZQAEAmJuCQECYVYCBQR0aGlzCQECYWYABAJhegkBAmFZAgUCYmMJAQJhQQEFAmJuBAJheQkBAmFZAgUCYmMJAQJhQQEFAmJtCQC1CQIJAQJhVgIFAmJjCQECYXgCCQCkAwEFAmF5CQCkAwEFAmF6BQFqAQJibwECYnADCQAAAgUCYnAFAWkFBHVuaXQJANkEAQUCYnABAmJxAQJicAMJAAACBQJicAUEdW5pdAUBaQkA2AQBCQEFdmFsdWUBBQJicAECYnIBAmJzCQCZCgcJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUCYnMFAW8JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJicwUBcAkA2QQBCQCRAwIFAmJzBQFxCQECYm8BCQCRAwIFAmJzBQFyCQECYm8BCQCRAwIFAmJzBQFzCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCYnMFAXQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJicwUBdQACYnQJAQJicgEJAQJibAAAAmJ1BQJidAACYnYIBQJidQJfMQACYncIBQJidQJfMgACYngIBQJidQJfMwACYnkIBQJidQJfNAACYnoIBQJidQJfNQACYkEIBQJidQJfNgACYkIIBQJidQJfNwECYkMACQC1CQIJAQJhVgIFAmJjCQECYXQABQFqAAJiRAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgkBAmJDAAUBQgIZaW5jb3JyZWN0IHN0YWtpbmcgYWRkcmVzcwACYkUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIJAQJiQwAFAUMCGWluY29ycmVjdCBzdGFraW5nIGFkZHJlc3MBAmJGCgJiRwJiSAJiSQJiSgJiSwJiTAJiTQJiTgJiTwJiUAkAuQkCCQDMCAICFCVkJWQlZCVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQUCYkcJAMwIAgkApAMBBQJiSAkAzAgCCQCkAwEFAmJJCQDMCAIJAKQDAQUCYkoJAMwIAgkApAMBBQJiSwkAzAgCCQCkAwEFAmJMCQDMCAIJAKQDAQUCYk0JAMwIAgkApAMBBQJiTgkAzAgCCQCkAwEFAmJPCQDMCAIJAKQDAQUCYlAFA25pbAUBagECYlEGAmJSAmJTAmJUAmJKAmJNAmJOCQC5CQIJAMwIAgIMJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQUCYlIJAMwIAgkApAMBBQJiUwkAzAgCCQCkAwEFAmJUCQDMCAIJAKQDAQUCYkoJAMwIAgkApAMBBQJiTQkAzAgCCQCkAwEFAmJOBQNuaWwFAWoBAmJVAQJhcAQCYlYDCQAAAgUCYXACBVdBVkVTCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQkA8AcCBQR0aGlzCQDZBAEFAmFwBAJiVwkAZQIJAGQCBQJiVgkBAmFyAQUCYXAJAQJhcwEFAmFwCQCWAwEJAMwIAgAACQDMCAIFAmJXBQNuaWwBAmJYAgJiWQJiWgkAvAIDBQJiWQUBZAUCYloBAmNhAwJiWQJiWgFMCQC9AgQFAmJZBQFkBQJiWgUBTAECY2IBAmNjBAJjZAkA/AcEBQJjYwIHZ2V0UmF0ZQUDbmlsBQNuaWwDCQAAAgUCY2QFAmNkBAJhUAUCY2QDCQABAgUCYVACA0ludAQCY2UFAmFQBQJjZQkBAmFaAQIgcHJveHkuZ2V0UmF0ZSgpIHVuZXhwZWN0ZWQgdmFsdWUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmNmBAJhcAJjZwJjaAJjYwQCY2kJAQJhcgEFAmFwAwkAAAIFAmNpBQJjaQQCY2oJAQJhcwEFAmNoAwkAAAIFAmNqBQJjagQCY2sJAQJibwEFAmFwAwkAZgIFAmNnAAAEAmNsCQD8BwQFAmNjAgdkZXBvc2l0BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmNrBQJjZwUDbmlsAwkAAAIFAmNsBQJjbAQCYVAFAmNsAwkAAQIFAmFQAgNJbnQEAmNtBQJhUAQCY24JAGQCBQJjaQUCY2cEAmNvCQBkAgUCY2oFAmNtCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYW8BBQJhcAUCY24JAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhcQEFAmNoBQJjbwUDbmlsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECY3AGAmFwAmNnAmNoAmNjAmNxAmNyBAJjaQkBAmFyAQUCYXADCQAAAgUCY2kFAmNpBAJjagkBAmFzAQUCY2gDCQAAAgUCY2oFAmNqBAJjcwkBAmNiAQUCY2MDCQAAAgUCY3MFAmNzBAJjdAkAawMFAmNxBQJjaQUCY2oEAmN1CQECYm8BBQJjaAQCY3YJAGsDBQJjcQUCY2cFAmN0BAJjdwkAawMFAmNxBQJjZwUCY3MEAmN4CQCWAwEJAMwIAgAACQDMCAIJAGUCBQJjdgUCY3cFA25pbAMJAGYCBQJjdwAABAJjeQkA/AcEBQJjYwIId2l0aGRyYXcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUCY3UFAmN3BQNuaWwDCQAAAgUCY3kFAmN5BAJhUAUCY3kDCQABAgUCYVACA0ludAQCY3oFAmFQBAJjbgkAZQIFAmNpBQJjegQCY28JAGUCCQBlAgUCY2oFAmN3BQJjeAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFvAQUCYXAFAmNuCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYXEBBQJjaAUCY28JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUCY3IFAmN4CQECYm8BBQJjaAUDbmlsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECY0EBAmFwBAJhUAkA/AcEBQJiYwIaZ2V0UG9vbExlYXNlQ29uZmlnUkVBRE9OTFkJAMwIAgkApQgBBQR0aGlzCQDMCAIFAmFwBQNuaWwFA25pbAMJAAECBQJhUAIwKEJvb2xlYW4sIEludCwgSW50LCBTdHJpbmcsIFN0cmluZywgSW50LCBTdHJpbmcpBAJhUQUCYVAFAmFRCQECYVoBCQCsAgIJAKwCAgIBWwUCYXACHV0gZ2V0TGVhc2VQcm94eUNvbmZpZygpIGVycm9yAQJjQgcCY0MCYXACY2gCY0QCY2MCY3ECY3IEAmNqCQECYXMBBQJjaAMJAAACBQJjagUCY2oEAmNpAwkBAiE9AgUCY2oAAAkBAmFyAQUCYXAAAAMJAAACBQJjaQUCY2kEAmNFCQCWAwEJAMwIAgAACQDMCAIJAGUCCQECYlUBBQJhcAUCY0QFA25pbAQCY0YJAGsDBQJjQwUCY0UAZAQCY0cJAGUCBQJjaQUCY0YDCQAAAgUCY0cAAAUDbmlsAwkAZgIAAAUCY0cEAmNICQEBLQEFAmNHCQECY2YEBQJhcAUCY0gFAmNoBQJjYwQCY0kFAmNHCQECY3AGBQJhcAUCY0kFAmNoBQJjYwUCY3EFAmNyCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJjSgECYXAEAmNLCQECY0EBBQJhcAQCY0wIBQJjSwJfMQQCY00IBQJjSwJfMgQCY0QIBQJjSwJfMwQCY04IBQJjSwJfNAQCY08IBQJjSwJfNQQCY3EIBQJjSwJfNgQCY1AIBQJjSwJfNwMFAmNMCQECY0IHBQJjTQUCYXAFAmNPBQJjRAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCY04FAmNxCQERQGV4dHJOYXRpdmUoMTA2MikBBQJjUAUDbmlsAQJjUQICYXACY1IEAmNTCQECY0EBBQJhcAQCY0wIBQJjUwJfMQQCY00IBQJjUwJfMgQCY0QIBQJjUwJfMwQCY04IBQJjUwJfNAQCY08IBQJjUwJfNQQCY3EIBQJjUwJfNgQCY1AIBQJjUwJfNwMFAmNMBAJjagkBAmFzAQUCY08DCQAAAgUCY2oFAmNqBAJjaQMJAQIhPQIFAmNqAAAJAQJhcgEFAmFwAAADCQAAAgUCY2kFAmNpBAJjVAkAlgMBCQDMCAIAAAkAzAgCCQBlAgkAZQIJAQJiVQEFAmFwBQJjUgUCY0QFA25pbAMJAAACBQJjVAUCY1QEAmNuCQBrAwUCY00FAmNUAGQDCQAAAgUCY24FAmNuBAJjVQkAZQIFAmNpBQJjbgMJAAACBQJjVQUCY1UDCQAAAgUCY1UAAAUDbmlsAwkAZgIAAAUCY1UJAQJjZgQFAmFwCQEBLQEFAmNVBQJjTwkBEUBleHRyTmF0aXZlKDEwNjIpAQUCY04JAQJjcAYFAmFwBQJjVQUCY08JARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmNOBQJjcQkBEUBleHRyTmF0aXZlKDEwNjIpAQUCY1AJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FA25pbAECY1YCAmNXAmNYBAJjWQkBAmNRAgkBAmFWAgUEdGhpcwkBAmFlAAUCY1cEAmNaCQECY1ECCQECYVYCBQR0aGlzCQECYWYABQJjWAkAzggCBQJjWQUCY1oBAmRhBAJkYgJkYwJkZAJkZQQCZGYJAQFEAgUCZGQFAmRiBAJkZwkBAUQCBQJkZQUCZGMJAQJiWAIFAmRnBQJkZgECZGgDAmRkAmRlAmRpBAJkagkBAmJsAAQCZGsJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkagUBdAQCZGwJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkagUBdQQCZG0JAQJkYQQFAmRrBQJkbAUCZGQFAmRlBAJiWgkBAUQCBQJkZAUCZGsEAmJZCQEBRAIFAmRlBQJkbAQCZG4JAQFEAgUCZGkFAWIEAmRvCQECYlgCBQJiWgUCZG4EAmRwCQECYlgCBQJiWQUCZG4JAMwIAgUCZG0JAMwIAgUCZG8JAMwIAgUCZHAFA25pbAECZHEDAmRkAmRlAmRpBAJkcgkBAmRoAwUCZGQFAmRlBQJkaQkAzAgCCQEBSAIJAJEDAgUCZHIAAAUBYgkAzAgCCQEBSAIJAJEDAgUCZHIAAQUBYgkAzAgCCQEBSAIJAJEDAgUCZHIAAgUBYgUDbmlsAQJkcwQCZHQCZHUCZHYCYWIEAmRqCQECYmwABAJkdwkAkQMCBQJkagUBcQQCZHgJAJEDAgUCZGoFAXIEAmR5CQCRAwIFAmRqBQFzBAJkYgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF0BAJkYwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF1BAJkegkAkQMCBQJkagUBcAQCZEEICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQkA2QQBBQJkdwkArAICCQCsAgICBkFzc2V0IAUCZHcCDiBkb2Vzbid0IGV4aXN0CHF1YW50aXR5AwkBAiE9AgUCZHcFAmR1CQACAQIVSW52YWxpZCBhc3NldCBwYXNzZWQuBAJkQgkBAmJVAQUCZHgEAmRDCQEBRAIFAmRCBQJkYgQCZEQJAQJiVQEFAmR5BAJkRQkBAUQCBQJkRAUCZGMEAmRGCQECYlgCBQJkRQUCZEMEAmRHCQEBSAIFAmRGBQFiBAJkSAkBAUQCBQJkdgUBYgQCZEkJAQFEAgUCZEEFAWIEAmRKCQC8AgMFAmRDBQJkSAUCZEkEAmRLCQC8AgMFAmRFBQJkSAUCZEkEAmRMCQEBSwMFAmRKBQJkYgUFRkxPT1IEAmRNCQEBSwMFAmRLBQJkYwUFRkxPT1IEAmROAwkAAAIFAmR0AgAFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJhYgUCZEwDCQAAAgUCZHgCBVdBVkVTBQR1bml0CQDZBAEFAmR4CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFAmFiBQJkTQMJAAACBQJkeQIFV0FWRVMFBHVuaXQJANkEAQUCZHkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFkAgkApQgBBQJhYgUCZHQJAQJiUQYFAmRMBQJkTQUCZHYFAmRHBQZoZWlnaHQIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBVwAFAmRHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEBWAIFBmhlaWdodAgFCWxhc3RCbG9jawl0aW1lc3RhbXAFAmRHBQNuaWwJAJwKCgUCZEwFAmRNBQJkeAUCZHkFAmRCBQJkRAUCZEEFAmRGBQJkegUCZE4BAmRPCQJkdAJkUAJkUQJkUgJkUwJkVAJhYgJkVQJkVgQCZGoJAQJibAAEAmR3CQDZBAEJAJEDAgUCZGoFAXEEAmRXCQCRAwIFAmRqBQFyBAJkWAkAkQMCBQJkagUBcwQCZFkJAJEDAgUCZGoFAXYEAmRaCQCRAwIFAmRqBQF3BAJkawkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF0BAJkbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF1BAJkegkAkQMCBQJkagUBcAQCZEEICQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQUCZHcJAKwCAgkArAICAgZBc3NldCAJANgEAQUCZHcCDiBkb2Vzbid0IGV4aXN0CHF1YW50aXR5BAJlYQkA2AQBCQELdmFsdWVPckVsc2UCBQJkUgkA2QQBAgVXQVZFUwQCZWIJANgEAQkBC3ZhbHVlT3JFbHNlAgUCZFQJANkEAQIFV0FWRVMDAwkBAiE9AgUCZFcFAmVhBgkBAiE9AgUCZFgFAmViCQACAQIiSW52YWxpZCBhbXQgb3IgcHJpY2UgYXNzZXQgcGFzc2VkLgQCZEIDBQJkVQkBAmJVAQUCZFcJAGUCCQECYlUBBQJkVwUCZFEEAmREAwUCZFUJAQJiVQEFAmRYCQBlAgkBAmJVAQUCZFgFAmRTBAJlYwkBAUQCBQJkUQUCZGsEAmVkCQEBRAIFAmRTBQJkbAQCZWUJAQJiWAIFAmVkBQJlYwQCZEMJAQFEAgUCZEIFAmRrBAJkRQkBAUQCBQJkRAUCZGwEAmVmAwkAAAIFAmRBAAAEAmRGBQFlBAJlZwUBZQQCZG4JAHYGCQC5AgIFAmVjBQJlZAAACQC2AgEABQABAAAFBERPV04JAJcKBQkBAUgCBQJkbgUBYgkBAUgCBQJlYwUCZGsJAQFIAgUCZWQFAmRsCQECYlgCCQC3AgIFAmRFBQJlZAkAtwICBQJkQwUCZWMFAmVnBAJkRgkBAmJYAgUCZEUFAmRDBAJlZwkAvAIDCQEBUgEJALgCAgUCZEYFAmVlBQFkBQJkRgQCZWgJAQFEAgUCZFAFAWIDAwkBAiE9AgUCZEYFAWUJAL8CAgUCZWcFAmVoBwkAAgEJAKwCAgkArAICCQCsAgICD1ByaWNlIHNsaXBwYWdlIAkApgMBBQJlZwIeIGV4Y2VlZGVkIHRoZSBwYXNzZWQgbGltaXQgb2YgCQCmAwEFAmVoBAJkSQkBAUQCBQJkQQUBYgQCZWkJAL0CBAUCZWMJAQJjYQMFAmRFBQJkQwUHQ0VJTElORwUBZAUHQ0VJTElORwQCZWoJAL0CBAUCZWQFAWQJAQJjYQMFAmRFBQJkQwUFRkxPT1IFB0NFSUxJTkcEAmVrAwkAvwICBQJlaQUCZWQJAJQKAgUCZWoFAmVkCQCUCgIFAmVjBQJlaQQCZWwIBQJlawJfMQQCZW0IBQJlawJfMgQCZG4JAL0CBAUCZEkFAmVtBQJkRQUFRkxPT1IJAJcKBQkBAUsDBQJkbgUBYgUFRkxPT1IJAQFLAwUCZWwFAmRrBQdDRUlMSU5HCQEBSwMFAmVtBQJkbAUHQ0VJTElORwUCZEYFAmVnBAJlbggFAmVmAl8xBAJlbwgFAmVmAl8yBAJlcAgFAmVmAl8zBAJkRwkBAUgCCAUCZWYCXzQFAWIEAmVxCQEBSAIIBQJlZgJfNQUBYgMJAGcCAAAFAmVuCQACAQI2SW52YWxpZCBjYWxjdWxhdGlvbnMuIExQIGNhbGN1bGF0ZWQgaXMgbGVzcyB0aGFuIHplcm8uBAJlcgMJAQEhAQUCZFYAAAUCZW4EAmVzCQBlAgUCZFEFAmVvBAJldAkAZQIFAmRTBQJlcAQCZXUJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFXAAUCZEcJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFYAgUGaGVpZ2h0CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUCZEcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFhAgUCYWIFAmR0CQECYkYKBQJlbwUCZXAFAmVyBQJkRwUCZFAFAmVxBQZoZWlnaHQIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQJlcwUCZXQFA25pbAkAnwoNBQJlbgUCZXIFAmRHBQJkQgUCZEQFAmRBBQJkdwUCZHoFAmV1BQJlcwUCZXQFAmRSBQJkVAECZXYDAmV3AmV4AmRBBAJleQkBAUcCBQJldwkAtgIBBQJiQQQCZXoJAQFHAgUCZXgJALYCAQUCYkIEAmVBCQC8AgMJAHYGCQC5AgIFAmV5BQJlegAACQC2AgEABQABABIFBERPV04FAWcFAmRBAwkAAAIFAmRBBQFmBQFmBQJlQQECZUIDAmVDAmVEAmVFBAJlRgkAuAICCQC2AgEJAQJiVQEJAQJicQEFAmJ5BQJlQwQCZUcJALgCAgkAtgIBCQECYlUBCQECYnEBBQJiegUCZUQEAmVICQC4AgIJALYCAQgJAQV2YWx1ZQEJAOwHAQUCYngIcXVhbnRpdHkFAmVFBAJlSQkBAmV2AwUCZUYFAmVHBQJlSAUCZUkBAmVKAwJlSwJlTAJlRQQCZUYJAGQCCQECYlUBCQECYnEBBQJieQUCZUsEAmVHCQBkAgkBAmJVAQkBAmJxAQUCYnoFAmVMBAJlSAkAZAIICQEFdmFsdWUBCQDsBwEFAmJ4CHF1YW50aXR5BQJlRQQCZUEJAQJldgMJALYCAQUCZUYJALYCAQUCZUcJALYCAQUCZUgEAmVNCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJhawUGaGVpZ2h0CQDMCAIJAQtTdHJpbmdFbnRyeQIFAmFqCQCmAwEFAmVBBQNuaWwJAJQKAgUCZU0FAmVBAQJlTgAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUCYmMJAQJhSAEJAKUIAQUEdGhpcwcBAmVPAgJlUAJlQQMJAMACAgUCZUEFAmVQBgkBAmFaAQkAuQkCCQDMCAICInVwZGF0ZWQgS0xwIGxvd2VyIHRoYW4gY3VycmVudCBLTHAJAMwIAgkApgMBBQJlUAkAzAgCCQCmAwEFAmVBBQNuaWwCASABAmVRAQJlUgQCZUYJAQJiVQEJAQJicQEFAmJ5BAJlRwkBAmJVAQkBAmJxAQUCYnoEAmVTCAUCZVIGYW1vdW50BAJlVAkAbgQIBQJlUgZhbW91bnQIBQJlUgVwcmljZQUBYgUFRkxPT1IEAmVVAwkAAAIIBQJlUglvcmRlclR5cGUFA0J1eQkAlAoCBQJlUwkBAS0BBQJlVAkAlAoCCQEBLQEFAmVTBQJlVAQCZUsIBQJlVQJfMQQCZUwIBQJlVQJfMgMDAwkBAmJqAAYJAAACBQJidwUBbQYJAAACBQJidwUBbgkAAgECHEV4Y2hhbmdlIG9wZXJhdGlvbnMgZGlzYWJsZWQDAwkBAiE9AggIBQJlUglhc3NldFBhaXILYW1vdW50QXNzZXQFAmJ5BgkBAiE9AggIBQJlUglhc3NldFBhaXIKcHJpY2VBc3NldAUCYnoJAAIBAhNXcm9uZyBvcmRlciBhc3NldHMuBAJlVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUCYWoCATAJAQJiYgECC2ludmFsaWQga0xwBAJlVwkBAmVKAwUCZUsFAmVMAAAEAmVYCAUCZVcCXzEEAmVZCAUCZVcCXzIEAmVaCQDAAgIFAmVZBQJlVgQCZmEJALkJAgkAzAgCAgRrTHA9CQDMCAIJAKYDAQUCZVYJAMwIAgIIIGtMcE5ldz0JAMwIAgkApgMBBQJlWQkAzAgCAhQgYW1vdW50QXNzZXRCYWxhbmNlPQkAzAgCCQCkAwEFAmVGCQDMCAICEyBwcmljZUFzc2V0QmFsYW5jZT0JAMwIAgkApAMBBQJlRwkAzAgCAhkgYW1vdW50QXNzZXRCYWxhbmNlRGVsdGE9CQDMCAIJAKQDAQUCZUsJAMwIAgIYIHByaWNlQXNzZXRCYWxhbmNlRGVsdGE9CQDMCAIJAKQDAQUCZUwJAMwIAgIIIGhlaWdodD0JAMwIAgkApAMBBQZoZWlnaHQFA25pbAIACQCUCgIFAmVaBQJmYQECZmIBAmZjAwkBAiE9AgkAkAMBCAUCZmMIcGF5bWVudHMAAQkAAgECHWV4YWN0bHkgMSBwYXltZW50IGlzIGV4cGVjdGVkBAJmZAkBBXZhbHVlAQkAkQMCCAUCZmMIcGF5bWVudHMAAAQCZHUJAQV2YWx1ZQEIBQJmZAdhc3NldElkBAJmZQgFAmZkBmFtb3VudAQCZWYJAQJkcwQJANgEAQgFAmZjDXRyYW5zYWN0aW9uSWQJANgEAQUCZHUFAmZlCAUCZmMGY2FsbGVyBAJkTAgFAmVmAl8xBAJkTQgFAmVmAl8yBAJkTggFAmVmA18xMAQCZmYDCQEBIQEJAQJiaQEIBQJmYwZjYWxsZXIDCQECYmoABgkAAAIFAmJ3BQFuBwMFAmZmCQACAQkArAICAixHZXQgb3BlcmF0aW9uIGlzIGJsb2NrZWQgYnkgYWRtaW4uIFN0YXR1cyA9IAkApAMBBQJidwkAlwoFBQJkTAUCZE0FAmZlBQJkdQUCZE4BAmZnAwJmYwJkUAJkVgMJAQIhPQIJAJADAQgFAmZjCHBheW1lbnRzAAIJAAIBAh9leGFjdGx5IDIgcGF5bWVudHMgYXJlIGV4cGVjdGVkBAJmaAkBBXZhbHVlAQkAkQMCCAUCZmMIcGF5bWVudHMAAAQCZmkJAQV2YWx1ZQEJAJEDAggFAmZjCHBheW1lbnRzAAEEAmZqCQECZE8JCQDYBAEIBQJmYw10cmFuc2FjdGlvbklkBQJkUAgFAmZoBmFtb3VudAgFAmZoB2Fzc2V0SWQIBQJmaQZhbW91bnQIBQJmaQdhc3NldElkCQClCAEIBQJmYwZjYWxsZXIHBQJkVgQCZmsDCQEBIQEJAQJiaQEIBQJmYwZjYWxsZXIDAwkBAmJqAAYJAAACBQJidwUBbAYJAAACBQJidwUBbgcDBQJmawkAAgEJAKwCAgIsUHV0IG9wZXJhdGlvbiBpcyBibG9ja2VkIGJ5IGFkbWluLiBTdGF0dXMgPSAJAKQDAQUCYncFAmZqAQJmbAECY2cEAmZtCQD8BwQFAmJjAgRlbWl0CQDMCAIFAmNnBQNuaWwFA25pbAMJAAACBQJmbQUCZm0EAmZuBAJhUAUCZm0DCQABAgUCYVACB0FkZHJlc3MEAmZvBQJhUAkA/AcEBQJmbwIEZW1pdAkAzAgCBQJjZwUDbmlsBQNuaWwFBHVuaXQDCQAAAgUCZm4FAmZuBQJjZwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECZnACAmNnAmFpBAJmcQMJAAACBQJhaQAAAAAJAGsDBQJjZwUCYWkFAWIJAJQKAgkAZQIFAmNnBQJmcQUCZnEBAmZyBAJmcwJmdAJhYgJhYwQCZnUJAAACBQJhYwUEdW5pdAQCZnYJAQJiVQEJAQJicQEFAmJ5BAJmdwkBAmJVAQkBAmJxAQUCYnoEAmZ4AwkAAAIFAmZ0BQJieQYDCQAAAgUCZnQFAmJ6BwkBAmFaAQINaW52YWxpZCBhc3NldAQCZnkDBQJmdQkAlAoCBQJmdgUCZncDBQJmeAkAlAoCCQBlAgUCZnYFAmZzBQJmdwkAlAoCBQJmdgkAZQIFAmZ3BQJmcwQCZnoIBQJmeQJfMQQCZkEIBQJmeQJfMgQCZkIDBQJmeAkAlAoCBQJmcwAACQCUCgIAAAUCZnMEAmZDCAUCZkICXzEEAmZECAUCZkICXzIEAmVTCAkBAmZwAgUCZkMFAmJlAl8xBAJlVAgJAQJmcAIFAmZEBQJiZQJfMQQCZkUJAQJmcAIFAmZzBQJiZQQCZkYIBQJmRQJfMQQCZnEIBQJmRQJfMgQCZkcJAGQCBQJmegUCZVMEAmZICQBkAgUCZkEFAmVUBAJmSQkBAmJYAgkBAUQCBQJmSAUCYkIJAQFEAgUCZkcFAmJBBAJmSgkBAUgCBQJmSQUBYgQCZksDBQJmeAUCZnoFAmZBBAJmTAkAtgIBBQJmSwQCZk0JALYCAQgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJieAkArAICCQCsAgICBmFzc2V0IAkA2AQBBQJieAIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmZOAwkAvwICBQJmTQUBZgYJAQJhWgECImluaXRpYWwgZGVwb3NpdCByZXF1aXJlcyBhbGwgY29pbnMDCQAAAgUCZk4FAmZOBAJmTwkAtgIBBQJmRgQCZlAJAJYDAQkAzAgCAAAJAMwIAgkAoAMBCQC6AgIJALkCAgUCZk0JALgCAgkBCnNxcnRCaWdJbnQECQC3AgIFAWQJALoCAgkAuQICBQJmTwUBZAUCZkwAEgASBQRET1dOBQFkBQFkBQNuaWwEAmV1AwUCZnUFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVcABQJmSgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAVgCBQZoZWlnaHQIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQJmSgkAzAgCCQELU3RyaW5nRW50cnkCCQECYWECCQClCAEJAQV2YWx1ZQEFAmFiCQDYBAEJAQV2YWx1ZQEFAmFjCQECYkYKBQJmQwUCZkQFAmZQBQJmSgAAAAAFBmhlaWdodAgFCWxhc3RCbG9jawl0aW1lc3RhbXAAAAAABQNuaWwEAmZRCQECYlgCCQEBRAIFAmZBBQJiQgkBAUQCBQJmegUCYkEEAmZSCQEBSAIFAmZRBQFiBAJmUwQCZlQDBQJmeAkAlAoCBQJmQwUCZnoJAJQKAgUCZkQFAmZBBAJjZwgFAmZUAl8xBAJmVQgFAmZUAl8yBAJmVgkAoAMBCQC8AgMFAmZNCQC2AgEJAGkCBQJjZwACCQC2AgEFAmZVCQBrAwkAZQIFAmZQBQJmVgUBYgUCZlYJAJcKBQUCZlAFAmV1BQJmcQUCZlMFAmZ4CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJmVwUCZlgCZkYCZnQCYWICYWMEAmZ1CQAAAgUCYWMFBHVuaXQEAmRqCQECYmwABAJkawkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF0BAJkbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF1BAJmWQkAzAgCAwkAAAIFAmZ0BQJieAYJAQJhWgECEGludmFsaWQgbHAgYXNzZXQFA25pbAMJAAACBQJmWQUCZlkEAmZaAwkAAAIFAmZYBQJieQYDCQAAAgUCZlgFAmJ6BwkBAmFaAQINaW52YWxpZCBhc3NldAQCZ2EDBQJmWgkAtgIBCQECYlUBCQECYnEBBQJieQkAtgIBCQECYlUBCQECYnEBBQJiegQCZ2IDBQJmWgUCZGsFAmRsBAJnYwkBAmJVAQkBAmJxAQUCYnkEAmdkCQECYlUBCQECYnEBBQJiegQCZ2UDBQJmWgUCZ2MFAmdkBAJnZgkAtgIBBQJnZQQCZk0JALYCAQgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJieAkArAICCQCsAgICBmFzc2V0IAkA2AQBBQJieAIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmdnCQC2AgEFAmZGBAJnaAkAlgMBCQDMCAIAAAkAzAgCCQCgAwEJALoCAgkAuQICBQJnYQkAuAICBQFkCQB2BgkAuAICBQFkCQC6AgIJALkCAgUCZ2cFAWQFAmZNABIFAWgAAAASBQRET1dOBQFkBQNuaWwEAmdpCQECZnACBQJnaAUCYmcEAmdqCAUCZ2kCXzEEAmZxCAUCZ2kCXzIEAmdrAwUCZloJAJYKBAUCZ2oAAAkAZQIFAmdjBQJnaAUCZ2QJAJYKBAAABQJnagUCZ2MJAGUCBQJnZAUCZ2gEAmdsCAUCZ2sCXzEEAmdtCAUCZ2sCXzIEAmduCAUCZ2sCXzMEAmdvCAUCZ2sCXzQEAmZJCQECYlgCCQEBRAIFAmdvBQJiQgkBAUQCBQJnbgUCYkEEAmZKCQEBSAIFAmZJBQFiBAJldQMFAmZ1BQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFkAgkApQgBCQEFdmFsdWUBBQJhYgkA2AQBCQEFdmFsdWUBBQJhYwkBAmJRBgUCZ2wFAmdtBQJmRgUCZkoFBmhlaWdodAgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFXAAUCZkoJAMwIAgkBDEludGVnZXJFbnRyeQIJAQFYAgUGaGVpZ2h0CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUCZkoFA25pbAQCZlEJAQJiWAIJAQFEAgUCZ2QFAmJCCQEBRAIFAmdjBQJiQQQCZlIJAQFIAgUCZlEFAWIEAmZTBAJncAkAaAIJAKADAQkAvAIDBQJnYQUCZ2cFAmZNAAIJAGsDCQBlAgUCZ2oFAmdwBQFiBQJncAkAlwoFBQJnagUCZXUFAmZxBQJmUwUCZloJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmdxAAQCZ3IJAQJhUgAEAmFQCQCdCAIFAmdyCQEBVQADCQABAgUCYVACBlN0cmluZwQCYVUFAmFQCQDZBAEFAmFVAwkAAQIFAmFQAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmdzAQJmYwQCYVAJAQJncQADCQABAgUCYVACCkJ5dGVWZWN0b3IEAmd0BQJhUAkAAAIIBQJmYw9jYWxsZXJQdWJsaWNLZXkFAmd0AwkAAQIFAmFQAgRVbml0CQAAAggFAmZjBmNhbGxlcgUEdGhpcwkAAgECC01hdGNoIGVycm9yAQJndQECZmMEAmd2CQACAQIRUGVybWlzc2lvbiBkZW5pZWQEAmFQCQECZ3EAAwkAAQIFAmFQAgpCeXRlVmVjdG9yBAJndAUCYVADCQAAAggFAmZjD2NhbGxlclB1YmxpY0tleQUCZ3QGBQJndgMJAAECBQJhUAIEVW5pdAMJAAACCAUCZmMGY2FsbGVyBQR0aGlzBgUCZ3YJAAIBAgtNYXRjaCBlcnJvchwCZmMBCXJlYmFsYW5jZQAJAM4IAgkBAmNKAQkBAmFWAgUEdGhpcwkBAmFlAAkBAmNKAQkBAmFWAgUEdGhpcwkBAmFmAAJmYwEhY2FsY3VsYXRlQW1vdW50T3V0Rm9yU3dhcFJFQURPTkxZAwJndwJneAJneQQCZ3oDCQAAAgUCZ3gHBAJnQQkBAmFWAgUEdGhpcwkBAmFmAAQCZ0IJAQJhVgIFBHRoaXMJAQJhZQAJAJQKAgUCZ0EFAmdCBAJnQQkBAmFWAgUEdGhpcwkBAmFlAAQCZ0IJAQJhVgIFBHRoaXMJAQJhZgAJAJQKAgUCZ0EFAmdCBAJnQQgFAmd6Al8xBAJnQggFAmd6Al8yBAJnQwkBAmJVAQUCZ0IEAmdECQECYlUBBQJnQQQCZ0UJAGsDBQJnRAUCZ3cJAGQCBQJnQwUCZ3cEAmdGCQC5AgIJALYCAQUCZ0MJALYCAQUCZ0QEAmdHCQC5AgIJALcCAgkAtwICCQC2AgEJAQJiVQEFAmdCCQC2AgEFAmd3CQC2AgEFAmd5CQC4AgIJALYCAQkBAmJVAQUCZ0EJALYCAQUCZ0UEAmdIAwkAwAICBQJnRwUCZ0YGCQACAQIUbmV3IEsgaXMgZmV3ZXIgZXJyb3IDCQAAAgUCZ0gFAmdICQCUCgIFA25pbAUCZ0UJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CZmMBJmNhbGN1bGF0ZUFtb3VudE91dEZvclN3YXBBbmRTZW5kVG9rZW5zBQJndwJneAJnSQJnSgJneQQCZ0sKAAJiZgkA/AcEBQJiYwIXZ2V0U3dhcENvbnRyYWN0UkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJmAgZTdHJpbmcFAmJmCQACAQkArAICCQADAQUCYmYCGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwQCZ0wKAAJiZgkA/AcEBQJiYwIaaXNQb29sU3dhcERpc2FibGVkUkVBRE9OTFkJAMwIAgkApQgBBQR0aGlzBQNuaWwFA25pbAMJAAECBQJiZgIHQm9vbGVhbgUCYmYJAAIBCQCsAgIJAAMBBQJiZgIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCZ00DCQEBIQEJAQJiaQEIBQJmYwZjYWxsZXIDAwkBAmJqAAYJAAACBQJidwUBbgYFAmdMBwQCZlkJAMwIAgMDCQEBIQEFAmdNBgkBAmdzAQUCZmMGCQECYVoBAiJzd2FwIG9wZXJhdGlvbiBpcyBibG9ja2VkIGJ5IGFkbWluCQDMCAIDCQBnAggJAQV2YWx1ZQEJAJEDAggFAmZjCHBheW1lbnRzAAAGYW1vdW50BQJndwYJAQJhWgECDFdyb25nIGFtb3VudAkAzAgCAwkAAAIIBQJmYwZjYWxsZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmdLBgkBAmFaAQIRUGVybWlzc2lvbiBkZW5pZWQFA25pbAMJAAACBQJmWQUCZlkEAmZkCQEFdmFsdWUBCQCRAwIIBQJmYwhwYXltZW50cwAABAJnQgkBAmJxAQgFAmZkB2Fzc2V0SWQEAmdBAwkAAAIFAmd4BwkBAmFWAgUEdGhpcwkBAmFmAAkBAmFWAgUEdGhpcwkBAmFlAAQCZ0MJAGUCCQBlAgkBAmJVAQUCZ0IICQEFdmFsdWUBCQCRAwIIBQJmYwhwYXltZW50cwAABmFtb3VudAUCZ3kEAmdECQECYlUBBQJnQQQCZ0UJAGsDBQJnRAUCZ3cJAGQCBQJnQwUCZ3cEAmdGCQC5AgIJALYCAQUCZ0MJALYCAQUCZ0QEAmdHCQC5AgIJALcCAgkAtgIBCQECYlUBBQJnQgkAtgIBBQJneQkAuAICCQC2AgEJAQJiVQEFAmdBCQC2AgEFAmdFBAJnSAMJAMACAgUCZ0cFAmdGBgkAAgECFG5ldyBLIGlzIGZld2VyIGVycm9yAwkAAAIFAmdIBQJnSAQCZ04DCQBnAgUCZ0UFAmdJBgkAAgECLEV4Y2hhbmdlIHJlc3VsdCBpcyBmZXdlciBjb2lucyB0aGFuIGV4cGVjdGVkAwkAAAIFAmdOBQJnTgQCZUsDBQJneAkBAS0BBQJnRQUCZ3kEAmVMAwUCZ3gFAmd5CQEBLQEFAmdFBAJnTwgJAQJlSgMFAmVLBQJlTAAAAl8xAwkAAAIFAmdPBQJnTwQCZ1AJAQJjSgEFAmdCAwkAAAIFAmdQBQJnUAQCZ1EJAQJjUQIFAmdBBQJnRQMJAAACBQJnUQUCZ1EJAJQKAgkAzggCCQDOCAIFAmdRBQJnUAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQJnSgUCZ0UJAQJibwEFAmdBBQNuaWwFAmdFCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjAQNwdXQCAmRQAmdSAwkAZgIAAAUCZFAJAAIBAiBJbnZhbGlkIHNsaXBwYWdlVG9sZXJhbmNlIHBhc3NlZAQCZmoJAQJmZwMFAmZjBQJkUAYEAmVyCAUCZmoCXzIEAmR3CAUCZmoCXzcEAmROCAUCZmoCXzkEAmVzCAUCZmoDXzEwBAJldAgFAmZqA18xMQQCZ1MIBQJmagNfMTIEAmdUCAUCZmoDXzEzBAJmaAkAtgIBCAkBBXZhbHVlAQkAkQMCCAUCZmMIcGF5bWVudHMAAAZhbW91bnQEAmZpCQC2AgEICQEFdmFsdWUBCQCRAwIIBQJmYwhwYXltZW50cwABBmFtb3VudAQCZUkJAQJlQgMFAmZoBQJmaQkAtgIBAAADCQAAAgUCZUkFAmVJBAJmbQkA/AcEBQJiYwIEZW1pdAkAzAgCBQJlcgUDbmlsBQNuaWwDCQAAAgUCZm0FAmZtBAJmbgQCYVAFAmZtAwkAAQIFAmFQAgdBZGRyZXNzBAJmbwUCYVAJAPwHBAUCZm8CBGVtaXQJAMwIAgUCZXIFA25pbAUDbmlsBQR1bml0AwkAAAIFAmZuBQJmbgQCZ1UDCQBmAgUCZXMAAAkA/AcEBQJiRQIDcHV0BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmdTBQJlcwUDbmlsBQNuaWwDCQAAAgUCZ1UFAmdVBAJnVgMJAGYCBQJldAAACQD8BwQFAmJFAgNwdXQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUCZ1QFAmV0BQNuaWwFA25pbAMJAAACBQJnVgUCZ1YEAmdXAwUCZ1IEAmdYCQD8BwQFAmJEAgVzdGFrZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQJkdwUCZXIFA25pbAMJAAACBQJnWAUCZ1gFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUCZmMGY2FsbGVyBQJlcgUCZHcFA25pbAQCZ1kJAQJlSgMAAAAAAAADCQAAAgUCZ1kFAmdZBAJlQQgFAmdZAl8yBAJnTwgFAmdZAl8xBAJnWgkBAmVPAgUCZUkFAmVBAwkAAAIFAmdaBQJnWgQCaGEJAPwHBAUEdGhpcwIJcmViYWxhbmNlBQNuaWwFA25pbAMJAAACBQJoYQUCaGEJAM4IAgkAzggCBQJkTgUCZ1cFAmdPCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjAQpwdXRGb3JGcmVlAQJoYgMJAGYCAAAFAmhiCQACAQIUSW52YWxpZCB2YWx1ZSBwYXNzZWQEAmZqCQECZmcDBQJmYwUCaGIHBAJkTggFAmZqAl85BAJmaAkAtgIBCAkBBXZhbHVlAQkAkQMCCAUCZmMIcGF5bWVudHMAAAZhbW91bnQEAmZpCQC2AgEICQEFdmFsdWUBCQCRAwIIBQJmYwhwYXltZW50cwABBmFtb3VudAQCZUkJAQJlQgMFAmZoBQJmaQkAtgIBAAADCQAAAgUCZUkFAmVJBAJoYwkBAmVKAwAAAAAAAAQCZ08IBQJoYwJfMQQCZUEIBQJoYwJfMgQCZ1oJAQJlTwIFAmVJBQJlQQMJAAACBQJnWgUCZ1oJAM4IAgUCZE4FAmdPCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjAQlwdXRPbmVUa24CAmhkAmhlBAJoZgoAAmJmCQD8BwQFAmJjAihpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZFJFQURPTkxZCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQNuaWwDCQABAgUCYmYCB0Jvb2xlYW4FAmJmCQACAQkArAICCQADAQUCYmYCHCBjb3VsZG4ndCBiZSBjYXN0IHRvIEJvb2xlYW4EAmZrAwkBASEBCQECYmkBCAUCZmMGY2FsbGVyAwMDCQECYmoABgkAAAIFAmJ3BQFsBgkAAAIFAmJ3BQFuBgUCaGYHBAJmWQkAzAgCAwMJAQEhAQUCZmsGCQECZ3MBBQJmYwYJAQJhWgECIXB1dCBvcGVyYXRpb24gaXMgYmxvY2tlZCBieSBhZG1pbgkAzAgCAwkAAAIJAJADAQgFAmZjCHBheW1lbnRzAAEGCQECYVoBAh5leGFjdGx5IDEgcGF5bWVudCBhcmUgZXhwZWN0ZWQFA25pbAMJAAACBQJmWQUCZlkEAmhnCQCRAwIIBQJmYwhwYXltZW50cwAABAJmdAgFAmhnB2Fzc2V0SWQEAmZzCAUCaGcGYW1vdW50BAJlSQMJAAACBQJmdAUCYnkJAQJlQgMJALYCAQUCZnMJALYCAQAACQC2AgEAAAMJAAACBQJmdAUCYnoJAQJlQgMJALYCAQAACQC2AgEFAmZzCQC2AgEAAAkBAmFaAQIecGF5bWVudCBhc3NldCBpcyBub3Qgc3VwcG9ydGVkAwkAAAIFAmVJBQJlSQQCYWIIBQJmYwZjYWxsZXIEAmFjCAUCZmMNdHJhbnNhY3Rpb25JZAQCaGgJAQJmcgQFAmZzBQJmdAUCYWIFAmFjAwkAAAIFAmhoBQJoaAQCZngIBQJoaAJfNQQCaGkIBQJoaAJfNAQCZnEIBQJoaAJfMwQCZXUIBQJoaAJfMgQCaGoIBQJoaAJfMQQCaGsDAwkAZgIFAmhkAAAJAGYCBQJoZAUCaGoHCQECYVoBCQC5CQIJAMwIAgIfYW1vdW50IHRvIHJlY2VpdmUgaXMgbGVzcyB0aGFuIAkAzAgCCQCkAwEFAmhkBQNuaWwCAAUCaGoEAmZtCQECZmwBBQJoawMJAAACBQJmbQUCZm0EAmdXAwUCaGUEAmhsCQD8BwQFAmJEAgVzdGFrZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQJieAUCaGsFA25pbAMJAAACBQJobAUCaGwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUCZmMGY2FsbGVyBQJoawUCYngFA25pbAQCaG0DCQBmAgUCZnEAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJiZAUCZnEFAmZ0BQNuaWwFA25pbAQCaG4DCQAAAgUEdGhpcwUCYmQJAJQKAgAAAAADBQJmeAkAlAoCCQEBLQEFAmZxAAAJAJQKAgAACQEBLQEFAmZxBAJlSwgFAmhuAl8xBAJlTAgFAmhuAl8yBAJobwkBAmVKAwUCZUsFAmVMAAAEAmdPCAUCaG8CXzEEAmVBCAUCaG8CXzIEAmVWCQEFdmFsdWUBCQCiCAEFAmFqBAJnWgkBAmVPAgUCZUkFAmVBAwkAAAIFAmdaBQJnWgQCaGEJAPwHBAUEdGhpcwIJcmViYWxhbmNlBQNuaWwFA25pbAMJAAACBQJoYQUCaGEJAJQKAgkAzggCCQDOCAIJAM4IAgUCZXUFAmdXBQJobQUCZ08FAmhrCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjARFwdXRPbmVUa25SRUFET05MWQICZnQCZnMEAmhwCQECZnIEBQJmcwkBAmJvAQUCZnQFBHVuaXQFBHVuaXQEAmhqCAUCaHACXzEEAmV1CAUCaHACXzIEAmZxCAUCaHACXzMEAmhpCAUCaHACXzQEAmZ4CAUCaHACXzUJAJQKAgUDbmlsCQCVCgMFAmhqBQJmcQUCaGkCZmMBCWdldE9uZVRrbgICaHECaGQEAmhmCgACYmYJAPwHBAUCYmMCKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkJAMwIAgkApQgBBQR0aGlzBQNuaWwFA25pbAMJAAECBQJiZgIHQm9vbGVhbgUCYmYJAAIBCQCsAgIJAAMBBQJiZgIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCZmYDCQEBIQEJAQJiaQEIBQJmYwZjYWxsZXIDAwkBAmJqAAYJAAACBQJidwUBbgYFAmhmBwQCZlkJAMwIAgMDCQEBIQEFAmZmBgkBAmdzAQUCZmMGCQECYVoBAiFnZXQgb3BlcmF0aW9uIGlzIGJsb2NrZWQgYnkgYWRtaW4JAMwIAgMJAAACCQCQAwEIBQJmYwhwYXltZW50cwABBgkBAmFaAQIeZXhhY3RseSAxIHBheW1lbnQgYXJlIGV4cGVjdGVkBQNuaWwDCQAAAgUCZlkFAmZZBAJmWAkBAmJvAQUCaHEEAmhnCQCRAwIIBQJmYwhwYXltZW50cwAABAJmdAgFAmhnB2Fzc2V0SWQEAmZGCAUCaGcGYW1vdW50BAJlSQkBAmVCAwkAtgIBAAAJALYCAQAACQC2AgEAAAMJAAACBQJlSQUCZUkEAmFiCAUCZmMGY2FsbGVyBAJhYwgFAmZjDXRyYW5zYWN0aW9uSWQEAmhyCQECZlcFBQJmWAUCZkYFAmZ0BQJhYgUCYWMDCQAAAgUCaHIFAmhyBAJmWggFAmhyAl81BAJoaQgFAmhyAl80BAJmcQgFAmhyAl8zBAJldQgFAmhyAl8yBAJocwgFAmhyAl8xBAJjZwMDCQBmAgUCaGQAAAkAZgIFAmhkBQJocwcJAQJhWgEJALkJAgkAzAgCAh9hbW91bnQgdG8gcmVjZWl2ZSBpcyBsZXNzIHRoYW4gCQDMCAIJAKQDAQUCaGQFA25pbAIABQJocwQCaHQJAPwHBAUCYmMCBGJ1cm4JAMwIAgUCZkYFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUCZnQFAmZGBQNuaWwDCQAAAgUCaHQFAmh0BAJnUQkBAmNRAgUCaHEJAGQCBQJjZwkAlgMBCQDMCAIAAAkAzAgCBQJmcQUDbmlsBAJodQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQJhYgUCY2cFAmZYBQNuaWwEAmhtAwkAZgIFAmZxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUCYmQFAmZxBQJmWAUDbmlsBQNuaWwEAmh2BAJodwMJAAACBQR0aGlzBQJiZAAABQJmcQMFAmZaCQCUCgIJAQEtAQkAZAIFAmNnBQJodwAACQCUCgIAAAkBAS0BCQBkAgUCY2cFAmh3BAJlSwgFAmh2Al8xBAJlTAgFAmh2Al8yBAJoeAkBAmVKAwUCZUsFAmVMAAAEAmdPCAUCaHgCXzEEAmVBCAUCaHgCXzIEAmdaCQECZU8CBQJlSQUCZUEDCQAAAgUCZ1oFAmdaCQCUCgIJAM4IAgkAzggCCQDOCAIJAM4IAgUCZXUFAmdRBQJodQUCaG0FAmdPBQJjZwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJmYwERZ2V0T25lVGtuUkVBRE9OTFkCAmZYAmZGBAJoeQkBAmZXBQkBAmJvAQUCZlgFAmZGBQJieAUEdW5pdAUEdW5pdAQCaHMIBQJoeQJfMQQCZXUIBQJoeQJfMgQCZnEIBQJoeQJfMwQCaGkIBQJoeQJfNAQCZloIBQJoeQJfNQkAlAoCBQNuaWwJAJUKAwUCaHMFAmZxBQJoaQJmYwETdW5zdGFrZUFuZEdldE9uZVRrbgMCaHoCaHECaGQEAmhmCgACYmYJAPwHBAUCYmMCKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkJAMwIAgkApQgBBQR0aGlzBQNuaWwFA25pbAMJAAECBQJiZgIHQm9vbGVhbgUCYmYJAAIBCQCsAgIJAAMBBQJiZgIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQCZmYDCQEBIQEJAQJiaQEIBQJmYwZjYWxsZXIDAwkBAmJqAAYJAAACBQJidwUBbgYFAmhmBwQCZlkJAMwIAgMDCQEBIQEFAmZmBgkBAmdzAQUCZmMGCQECYVoBAiFnZXQgb3BlcmF0aW9uIGlzIGJsb2NrZWQgYnkgYWRtaW4JAMwIAgMJAAACCQCQAwEIBQJmYwhwYXltZW50cwAABgkBAmFaAQIYbm8gcGF5bWVudHMgYXJlIGV4cGVjdGVkBQNuaWwDCQAAAgUCZlkFAmZZBAJmWAkBAmJvAQUCaHEEAmFiCAUCZmMGY2FsbGVyBAJhYwgFAmZjDXRyYW5zYWN0aW9uSWQEAmVJCQECZUIDCQC2AgEAAAkAtgIBAAAJALYCAQAAAwkAAAIFAmVJBQJlSQQCaEEJAPwHBAUCYkQCB3Vuc3Rha2UJAMwIAgkA2AQBBQJieAkAzAgCBQJoegUDbmlsBQNuaWwDCQAAAgUCaEEFAmhBBAJoQgkBAmZXBQUCZlgFAmh6BQJieAUCYWIFAmFjAwkAAAIFAmhCBQJoQgQCZloIBQJoQgJfNQQCaGkIBQJoQgJfNAQCZnEIBQJoQgJfMwQCZXUIBQJoQgJfMgQCaHMIBQJoQgJfMQQCY2cDAwkAZgIFAmhkAAAJAGYCBQJoZAUCaHMHCQECYVoBCQC5CQIJAMwIAgIfYW1vdW50IHRvIHJlY2VpdmUgaXMgbGVzcyB0aGFuIAkAzAgCCQCkAwEFAmhkBQNuaWwCAAUCaHMEAmh0CQD8BwQFAmJjAgRidXJuCQDMCAIFAmh6BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmJ4BQJoegUDbmlsAwkAAAIFAmh0BQJodAQCZ1EJAQJjUQIFAmhxCQBkAgUCY2cJAJYDAQkAzAgCAAAJAMwIAgUCZnEFA25pbAQCaHUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAmZjBmNhbGxlcgUCY2cFAmZYBQNuaWwEAmhtAwkAZgIFAmZxAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUCYmQFAmZxBQJmWAUDbmlsBQNuaWwEAmhDBAJodwMJAAACBQR0aGlzBQJiZAAABQJmcQMFAmZaCQCUCgIJAQEtAQkAZAIFAmNnBQJodwAACQCUCgIAAAkBAS0BCQBkAgUCY2cFAmh3BAJlSwgFAmhDAl8xBAJlTAgFAmhDAl8yBAJoRAkBAmVKAwUCZUsFAmVMAAAEAmdPCAUCaEQCXzEEAmVBCAUCaEQCXzIEAmdaCQECZU8CBQJlSQUCZUEDCQAAAgUCZ1oFAmdaCQCUCgIJAM4IAgkAzggCCQDOCAIJAM4IAgUCZXUFAmdRBQJodQUCaG0FAmdPBQJjZwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJmYwEDZ2V0AAQCZWYJAQJmYgEFAmZjBAJkTAgFAmVmAl8xBAJkTQgFAmVmAl8yBAJmZQgFAmVmAl8zBAJkdQgFAmVmAl80BAJkTggFAmVmAl81BAJnUQkBAmNWAgUCZEwFAmRNBAJlSQkBAmVCAwkAtgIBAAAJALYCAQAACQC2AgEAAAMJAAACBQJlSQUCZUkEAmhFCQD8BwQFAmJjAgRidXJuCQDMCAIFAmZlBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmR1BQJmZQUDbmlsAwkAAAIFAmhFBQJoRQQCaEYJAQJlSgMJAQEtAQUCZEwJAQEtAQUCZE0AAAQCZ08IBQJoRgJfMQQCZUEIBQJoRgJfMgQCZ1oJAQJlTwIFAmVJBQJlQQMJAAACBQJnWgUCZ1oJAM4IAgkAzggCBQJnUQUCZE4FAmdPCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjAQlnZXROb0xlc3MCAmhHAmhIBAJlZgkBAmZiAQUCZmMEAmRMCAUCZWYCXzEEAmRNCAUCZWYCXzIEAmZlCAUCZWYCXzMEAmR1CAUCZWYCXzQEAmROCAUCZWYCXzUDCQBmAgUCaEcFAmRMCQACAQkArAICCQCsAgIJAKwCAgIcbm9MZXNzVGhlbkFtdEFzc2V0IGZhaWxlZDogIAkApAMBBQJkTAIDIDwgCQCkAwEFAmhHAwkAZgIFAmhIBQJkTQkAAgEJAKwCAgkArAICCQCsAgICHW5vTGVzc1RoZW5QcmljZUFzc2V0IGZhaWxlZDogCQCkAwEFAmRNAgMgPCAJAKQDAQUCaEgEAmdRCQECY1YCBQJkTAUCZE0EAmVJCQECZUIDCQC2AgEAAAkAtgIBAAAJALYCAQAAAwkAAAIFAmVJBQJlSQQCaEUJAPwHBAUCYmMCBGJ1cm4JAMwIAgUCZmUFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUCZHUFAmZlBQNuaWwDCQAAAgUCaEUFAmhFBAJoSQkBAmVKAwkBAS0BBQJkTAkBAS0BBQJkTQAABAJnTwgFAmhJAl8xBAJlQQgFAmhJAl8yBAJnWgkBAmVPAgUCZUkFAmVBAwkAAAIFAmdaBQJnWgkAzggCCQDOCAIFAmdRBQJkTgUCZ08JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CZmMBDXVuc3Rha2VBbmRHZXQBAmNnBAJoSgMJAQIhPQIJAJADAQgFAmZjCHBheW1lbnRzAAAJAAIBAhhObyBwYXltZW50cyBhcmUgZXhwZWN0ZWQGAwkAAAIFAmhKBQJoSgQCZGoJAQJibAAEAmR3CQDZBAEJAJEDAgUCZGoFAXEEAmVJCQECZUIDCQC2AgEAAAkAtgIBAAAJALYCAQAAAwkAAAIFAmVJBQJlSQQCaEEJAPwHBAUCYkQCB3Vuc3Rha2UJAMwIAgkA2AQBBQJkdwkAzAgCBQJjZwUDbmlsBQNuaWwDCQAAAgUCaEEFAmhBBAJlZgkBAmRzBAkA2AQBCAUCZmMNdHJhbnNhY3Rpb25JZAkA2AQBBQJkdwUCY2cIBQJmYwZjYWxsZXIEAmRMCAUCZWYCXzEEAmRNCAUCZWYCXzIEAmR6CQENcGFyc2VJbnRWYWx1ZQEIBQJlZgJfOQQCZE4IBQJlZgNfMTAEAmdRCQECY1YCBQJkTAUCZE0EAmZmAwkBASEBCQECYmkBCAUCZmMGY2FsbGVyAwkBAmJqAAYJAAACBQJidwUBbgcEAmhLAwUCZmYJAAIBCQCsAgICLEdldCBvcGVyYXRpb24gaXMgYmxvY2tlZCBieSBhZG1pbi4gU3RhdHVzID0gCQCkAwEFAmR6BgMJAAACBQJoSwUCaEsEAmhFCQD8BwQFAmJjAgRidXJuCQDMCAIFAmNnBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmR3BQJjZwUDbmlsAwkAAAIFAmhFBQJoRQQCaEwJAQJlSgMJAQEtAQUCZEwJAQEtAQUCZE0AAAQCZ08IBQJoTAJfMQQCZUEIBQJoTAJfMgQCZ1oJAQJlTwIFAmVJBQJlQQMJAAACBQJnWgUCZ1oJAM4IAgkAzggCBQJnUQUCZE4FAmdPCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjARN1bnN0YWtlQW5kR2V0Tm9MZXNzAwJoegJoTQJoSAQCZmYDCQEBIQEJAQJiaQEIBQJmYwZjYWxsZXIDCQECYmoABgkAAAIFAmJ3BQFuBwQCZlkJAMwIAgMJAQEhAQUCZmYGCQACAQIhZ2V0IG9wZXJhdGlvbiBpcyBibG9ja2VkIGJ5IGFkbWluCQDMCAIDCQAAAgkAkAMBCAUCZmMIcGF5bWVudHMAAAYJAAIBAhhubyBwYXltZW50cyBhcmUgZXhwZWN0ZWQFA25pbAMJAAACBQJmWQUCZlkEAmVJCQECZUIDCQC2AgEAAAkAtgIBAAAJALYCAQAAAwkAAAIFAmVJBQJlSQQCaEEJAPwHBAUCYkQCB3Vuc3Rha2UJAMwIAgkA2AQBBQJieAkAzAgCBQJoegUDbmlsBQNuaWwDCQAAAgUCaEEFAmhBBAJlZgkBAmRzBAkA2AQBCAUCZmMNdHJhbnNhY3Rpb25JZAkA2AQBBQJieAUCaHoIBQJmYwZjYWxsZXIEAmRMCAUCZWYCXzEEAmRNCAUCZWYCXzIEAmROCAUCZWYDXzEwBAJnUQkBAmNWAgUCZEwFAmRNBAJoTgkAzAgCAwkAZwIFAmRMBQJoTQYJAAIBCQC5CQIJAMwIAgIsYW1vdW50IGFzc2V0IGFtb3VudCB0byByZWNlaXZlIGlzIGxlc3MgdGhhbiAJAMwIAgkApAMBBQJoTQUDbmlsAgAJAMwIAgMJAGcCBQJkTQUCaEgGCQACAQkAuQkCCQDMCAICK3ByaWNlIGFzc2V0IGFtb3VudCB0byByZWNlaXZlIGlzIGxlc3MgdGhhbiAJAMwIAgkApAMBBQJoSAUDbmlsAgAFA25pbAMJAAACBQJoTgUCaE4EAmhFCQD8BwQFAmJjAgRidXJuCQDMCAIFAmh6BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAmJ4BQJoegUDbmlsAwkAAAIFAmhFBQJoRQQCaE8JAQJlSgMJAQEtAQUCZEwJAQEtAQUCZE0AAAQCZ08IBQJoTwJfMQQCZUEIBQJoTwJfMgQCZ1oJAQJlTwIFAmVJBQJlQQMJAAACBQJnWgUCZ1oJAM4IAgkAzggCBQJnUQUCZE4FAmdPCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmZjAQhhY3RpdmF0ZQICaFACaFEDCQECIT0CCQClCAEIBQJmYwZjYWxsZXIJAKUIAQUCYmMJAAIBAhJwZXJtaXNzaW9ucyBkZW5pZWQJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQECYWUABQJoUAkAzAgCCQELU3RyaW5nRW50cnkCCQECYWYABQJoUQUDbmlsAgdzdWNjZXNzAmZjAQpyZWZyZXNoS0xwAAQCaFIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCYWsAAAQCaFMDCQBnAgkAZQIFBmhlaWdodAUCaFIFAmFuBQR1bml0CQECYVoBCQC5CQIJAMwIAgkApAMBBQJhbgkAzAgCAi8gYmxvY2tzIGhhdmUgbm90IHBhc3NlZCBzaW5jZSB0aGUgcHJldmlvdXMgY2FsbAUDbmlsAgADCQAAAgUCaFMFAmhTBAJlVgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUCYWoCATAJAQJiYgECC2ludmFsaWQga0xwBAJoVAkBAmVKAwAAAAAAAAQCaFUIBQJoVAJfMQQCZUEIBQJoVAJfMgQCZU0DCQECIT0CBQJlVgUCZUEFAmhVCQECYVoBAhJub3RoaW5nIHRvIHJlZnJlc2gJAJQKAgUCZU0JAKYDAQUCZUEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CZmMBHGdldFBvb2xDb25maWdXcmFwcGVyUkVBRE9OTFkACQCUCgIFA25pbAkBAmJsAAJmYwEcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQECYXAJAJQKAgUDbmlsCQECYlUBBQJhcAJmYwEZY2FsY1ByaWNlc1dyYXBwZXJSRUFET05MWQMCZGQCZGUCZGkEAmRyCQECZGgDBQJkZAUCZGUFAmRpCQCUCgIFA25pbAkAzAgCCQCmAwEJAJEDAgUCZHIAAAkAzAgCCQCmAwEJAJEDAgUCZHIAAQkAzAgCCQCmAwEJAJEDAgUCZHIAAgUDbmlsAmZjARR0b1gxOFdyYXBwZXJSRUFET05MWQIBRQFGCQCUCgIFA25pbAkApgMBCQEBRAIFAUUFAUYCZmMBFmZyb21YMThXcmFwcGVyUkVBRE9OTFkCAUkBSgkAlAoCBQNuaWwJAQFIAgkApwMBBQFJBQFKAmZjAR5jYWxjUHJpY2VCaWdJbnRXcmFwcGVyUkVBRE9OTFkCAmJZAmJaCQCUCgIFA25pbAkApgMBCQECYlgCCQCnAwEFAmJZCQCnAwEFAmJaAmZjASNlc3RpbWF0ZVB1dE9wZXJhdGlvbldyYXBwZXJSRUFET05MWQkCZHQCZFACZFECZFICZFMCZFQCYWICZFUCZFYJAJQKAgUDbmlsCQECZE8JBQJkdAUCZFAFAmRRBQJkUgUCZFMFAmRUBQJhYgUCZFUFAmRWAmZjASNlc3RpbWF0ZUdldE9wZXJhdGlvbldyYXBwZXJSRUFET05MWQQCZHQCZHUCZHYCYWIEAmVmCQECZHMEBQJkdAUCZHUFAmR2CQERQGV4dHJOYXRpdmUoMTA2MikBBQJhYgkAlAoCBQNuaWwJAJwKCggFAmVmAl8xCAUCZWYCXzIIBQJlZgJfMwgFAmVmAl80CAUCZWYCXzUIBQJlZgJfNggFAmVmAl83CQCmAwEIBQJlZgJfOAgFAmVmAl85CAUCZWYDXzEwAmZjAQ1zdGF0c1JFQURPTkxZAAQCZGoJAQJibAAEAmR3CQDZBAEJAJEDAgUCZGoFAXEEAmhWCQCRAwIFAmRqBQFyBAJoVwkAkQMCBQJkagUBcwQCZFkJAJEDAgUCZGoFAXYEAmRaCQCRAwIFAmRqBQF3BAJkawkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF0BAJkbAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRqBQF1BAJoWAgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJkdwkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJkdwIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmhZCQECYlUBBQJoVgQCaFoJAQJiVQEFAmhXBAJpYQMJAAACBQJoWAAACQDMCAIFAWUJAMwIAgUBZQkAzAgCBQFlBQNuaWwJAQJkaAMFAmhZBQJoWgUCaFgEAmRHAAAEAmliCQEBSAIJAJEDAgUCaWEAAQUBYgQCaWMJAQFIAgkAkQMCBQJpYQACBQFiBAJpZAkBBXZhbHVlAQkAmggCBQJiYwkBAmFEAQkApQgBBQR0aGlzCQCUCgIFA25pbAkAuQkCCQDMCAICDiVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQUCaFkJAMwIAgkApAMBBQJoWgkAzAgCCQCkAwEFAmhYCQDMCAIJAKQDAQUCZEcJAMwIAgkApAMBBQJpYgkAzAgCCQCkAwEFAmljCQDMCAIJAKQDAQUCaWQFA25pbAUBagJmYwEgZXZhbHVhdGVQdXRCeUFtb3VudEFzc2V0UkVBRE9OTFkBAmRRBAJkagkBAmJsAAQCZHcJANkEAQkAkQMCBQJkagUBcQQCZFcJAJEDAgUCZGoFAXIEAmR4CQDZBAEFAmRXBAJkWAkAkQMCBQJkagUBcwQCZHkJANkEAQUCZFgEAmRrCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZGoFAXQEAmRsCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZGoFAXUEAmR6CQCRAwIFAmRqBQFwBAJoWAgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJkdwkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJkdwIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmhZCQECYlUBBQJkVwQCaFoJAQJiVQEFAmRYBAJkZgkBAUQCBQJoWQUCZGsEAmRnCQEBRAIFAmhaBQJkbAQCZEYDCQAAAgUCaFgAAAUBZQkBAmJYAgUCZGcFAmRmBAJlYwkBAUQCBQJkUQUCZGsEAmVkCQC8AgMFAmVjBQJkRgUBZAQCZFMJAQFIAgUCZWQFAmRsBAJmagkBAmRPCQIAAKDCHgUCZFEFAmR4BQJkUwUCZHkCAAYHBAJlbggFAmZqAl8xBAJpZQgFAmZqAl8zBAJkQggFAmZqAl80BAJkRAgFAmZqAl81BAJkQQgFAmZqAl82CQCUCgIFA25pbAkAuQkCCQDMCAICECVkJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJlbgkAzAgCCQCkAwEJAQFIAgUCZEYFAWIJAMwIAgkApAMBBQJkQgkAzAgCCQCkAwEFAmRECQDMCAIJAKQDAQUCZEEJAMwIAgUCZHoJAMwIAgkApAMBBQJkUQkAzAgCCQCkAwEFAmRTBQNuaWwFAWoCZmMBH2V2YWx1YXRlUHV0QnlQcmljZUFzc2V0UkVBRE9OTFkBAmRTBAJkagkBAmJsAAQCZHcJANkEAQkAkQMCBQJkagUBcQQCZFcJAJEDAgUCZGoFAXIEAmR4CQDZBAEFAmRXBAJkWAkAkQMCBQJkagUBcwQCZHkJANkEAQUCZFgEAmRrCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZGoFAXQEAmRsCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZGoFAXUEAmR6CQCRAwIFAmRqBQFwBAJoWAgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQJkdwkArAICCQCsAgICBkFzc2V0IAkA2AQBBQJkdwIOIGRvZXNuJ3QgZXhpc3QIcXVhbnRpdHkEAmlmCQECYlUBBQJkVwQCaWcJAQJiVQEFAmRYBAJpaAkBAUQCBQJpZgUCZGsEAmlpCQEBRAIFAmlnBQJkbAQCZEYDCQAAAgUCaFgAAAUBZQkBAmJYAgUCaWkFAmloBAJlZAkBAUQCBQJkUwUCZGwEAmVjCQC8AgMFAmVkBQFkBQJkRgQCZFEJAQFIAgUCZWMFAmRrBAJmagkBAmRPCQIAAKDCHgUCZFEFAmR4BQJkUwUCZHkCAAYHBAJlbggFAmZqAl8xBAJpZQgFAmZqAl8zBAJkQggFAmZqAl80BAJkRAgFAmZqAl81BAJkQQgFAmZqAl82CQCUCgIFA25pbAkAuQkCCQDMCAICECVkJWQlZCVkJWQlZCVkJWQJAMwIAgkApAMBBQJlbgkAzAgCCQCkAwEJAQFIAgUCZEYFAWIJAMwIAgkApAMBBQJkQgkAzAgCCQCkAwEFAmRECQDMCAIJAKQDAQUCZEEJAMwIAgUCZHoJAMwIAgkApAMBBQJkUQkAzAgCCQCkAwEFAmRTBQNuaWwFAWoCZmMBE2V2YWx1YXRlR2V0UkVBRE9OTFkCAmlqAmlrBAJlZgkBAmRzBAIABQJpagUCaWsFBHRoaXMEAmRMCAUCZWYCXzEEAmRNCAUCZWYCXzIEAmRCCAUCZWYCXzUEAmRECAUCZWYCXzYEAmRBCAUCZWYCXzcEAmRHCAUCZWYCXzgEAmR6CQENcGFyc2VJbnRWYWx1ZQEIBQJlZgJfOQkAlAoCBQNuaWwJALkJAgkAzAgCAg4lZCVkJWQlZCVkJWQlZAkAzAgCCQCkAwEFAmRMCQDMCAIJAKQDAQUCZE0JAMwIAgkApAMBBQJkQgkAzAgCCQCkAwEFAmRECQDMCAIJAKQDAQUCZEEJAMwIAgkApgMBBQJkRwkAzAgCCQCkAwEFAmR6BQNuaWwFAWoBAmlsAQJpbQAEAmluBAJhUAkBAmdxAAMJAAECBQJhUAIKQnl0ZVZlY3RvcgQCZ3QFAmFQBQJndAMJAAECBQJhUAIEVW5pdAgFAmlsD3NlbmRlclB1YmxpY0tleQkAAgECC01hdGNoIGVycm9yBAJhUAUCaWwDCQABAgUCYVACBU9yZGVyBAJlUgUCYVAEAmlvCQECYmsABAJpcAMJAQJlTgAJAJQKAgYCAAkBAmVRAQUCZVIEAmFLCAUCaXACXzEEAmFMCAUCaXACXzIEAmFNCQD0AwMIBQJlUglib2R5Qnl0ZXMJAJEDAggFAmVSBnByb29mcwABBQJpbwMDBQJhSwUCYU0HBgkBAmFKAwUCYUsFAmFMBQJhTQMJAAECBQJhUAIUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAmFVBQJhUAMJAPQDAwgFAmlsCWJvZHlCeXRlcwkAkQMCCAUCaWwGcHJvb2ZzAAAFAmluBgQCaXEJAPYDAQkBBXZhbHVlAQgFAmFVBnNjcmlwdAQCaXIJANsEAQkBBXZhbHVlAQkAnQgCBQJiYwkBAmFGAAQCaXMJAPEHAQUEdGhpcwMJAAACBQJpcgUCaXEJAQIhPQIFAmlzBQJpcQcJAPQDAwgFAmlsCWJvZHlCeXRlcwkAkQMCCAUCaWwGcHJvb2ZzAAAFAmluoXX8uA==", "height": 3187675, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6iNhQtNKDmCcEwyjhcKzeeSckbxa19snBaT2hiPtAwNh Next: none Diff:
OldNewDifferences
171171 func aH (aI) = ("%s%s__skipOrderValidation__" + aI)
172172
173173
174-func aJ (aK,aL,aM,aN) = throw((((((((("order validation failed: orderValid=" + toString(aK)) + " (") + aL) + ")") + " senderValid=") + toString(aM)) + " matcherValid=") + toString(aN)))
174+func aJ (aK,aL,aM) = throw((((((("order validation failed: orderValid=" + toString(aK)) + " (") + aL) + ")") + " matcherValid=") + toString(aM)))
175175
176176
177-func aO (aP) = {
178- let aQ = addressFromString(aP)
179- if ($isInstanceOf(aQ, "Address"))
177+func aN (aO) = {
178+ let aP = addressFromString(aO)
179+ if ($isInstanceOf(aP, "Address"))
180180 then {
181- let aR = aQ
182- aR
181+ let aQ = aP
182+ aQ
183183 }
184184 else this
185185 }
186186
187187
188-func aS () = {
189- let aT = {
190- let aQ = getString(T())
191- if ($isInstanceOf(aQ, "String"))
188+func aR () = {
189+ let aS = {
190+ let aP = getString(T())
191+ if ($isInstanceOf(aP, "String"))
192192 then {
193- let aU = aQ
194- aO(aU)
193+ let aT = aP
194+ aN(aT)
195195 }
196196 else this
197197 }
198- let aQ = getString(aT, V())
199- if ($isInstanceOf(aQ, "String"))
198+ let aP = getString(aS, V())
199+ if ($isInstanceOf(aP, "String"))
200200 then {
201- let aV = aQ
202- aO(aV)
201+ let aU = aP
202+ aN(aU)
203203 }
204204 else this
205205 }
206206
207207
208-func aW (aX,aY) = valueOrErrorMessage(getString(aX, aY), makeString(["mandatory ", toString(aX), ".", aY, " is not defined"], ""))
208+func aV (aW,aX) = valueOrErrorMessage(getString(aW, aX), makeString(["mandatory ", toString(aW), ".", aX, " is not defined"], ""))
209209
210210
211-func aZ (aX,aY) = valueOrErrorMessage(getInteger(aX, aY), makeString(["mandatory ", toString(aX), ".", aY, " is not defined"], ""))
211+func aY (aW,aX) = valueOrErrorMessage(getInteger(aW, aX), makeString(["mandatory ", toString(aW), ".", aX, " is not defined"], ""))
212212
213213
214-func ba (bb) = throw(makeString(["lp.ride:", bb], " "))
214+func aZ (ba) = throw(makeString(["lp.ride:", ba], " "))
215215
216216
217-func bc (bb) = makeString(["lp.ride:", bb], " ")
217+func bb (ba) = makeString(["lp.ride:", ba], " ")
218218
219219
220-let bd = addressFromStringValue(aW(this, T()))
220+let bc = addressFromStringValue(aV(this, T()))
221221
222-let be = addressFromStringValue(aW(bd, aG))
222+let bd = addressFromStringValue(aV(bc, aG))
223223
224-let bf = {
225- let bg = invoke(bd, "getInFeeREADONLY", [toString(this)], nil)
226- if ($isInstanceOf(bg, "Int"))
227- then bg
228- else throw(($getType(bg) + " couldn't be cast to Int"))
224+let be = {
225+ let bf = invoke(bc, "getInFeeREADONLY", [toString(this)], nil)
226+ if ($isInstanceOf(bf, "Int"))
227+ then bf
228+ else throw(($getType(bf) + " couldn't be cast to Int"))
229229 }
230230
231-let bh = {
232- let bg = invoke(bd, "getOutFeeREADONLY", [toString(this)], nil)
233- if ($isInstanceOf(bg, "Int"))
234- then bg
235- else throw(($getType(bg) + " couldn't be cast to Int"))
231+let bg = {
232+ let bf = invoke(bc, "getOutFeeREADONLY", [toString(this)], nil)
233+ if ($isInstanceOf(bf, "Int"))
234+ then bf
235+ else throw(($getType(bf) + " couldn't be cast to Int"))
236236 }
237237
238-func bi (aX) = makeString(["%s%s", "whitelisted", toString(aX)], j)
238+func bh (aW) = makeString(["%s%s", "whitelisted", toString(aW)], j)
239239
240240
241-func bj (aX) = valueOrElse(getBoolean(bd, bi(aX)), false)
241+func bi (aW) = valueOrElse(getBoolean(bc, bh(aW)), false)
242242
243243
244-func bk () = valueOrElse(getBoolean(bd, aC()), false)
244+func bj () = valueOrElse(getBoolean(bc, aC()), false)
245245
246246
247-func bl () = fromBase58String(aW(bd, au()))
247+func bk () = fromBase58String(aV(bc, au()))
248248
249249
250-func bm () = {
251- let bn = aW(this, ae())
252- let bo = aW(this, af())
253- let az = aZ(bd, aA(bo))
254- let ay = aZ(bd, aA(bn))
255- split(aW(bd, ax(toString(ay), toString(az))), j)
250+func bl () = {
251+ let bm = aV(this, ae())
252+ let bn = aV(this, af())
253+ let az = aY(bc, aA(bn))
254+ let ay = aY(bc, aA(bm))
255+ split(aV(bc, ax(toString(ay), toString(az))), j)
256256 }
257257
258258
259-func bp (bq) = if ((bq == i))
259+func bo (bp) = if ((bp == i))
260260 then unit
261- else fromBase58String(bq)
261+ else fromBase58String(bp)
262262
263263
264-func br (bq) = if ((bq == unit))
264+func bq (bp) = if ((bp == unit))
265265 then i
266- else toBase58String(value(bq))
266+ else toBase58String(value(bp))
267267
268268
269-func bs (bt) = $Tuple7(addressFromStringValue(bt[o]), parseIntValue(bt[p]), fromBase58String(bt[q]), bp(bt[r]), bp(bt[s]), parseIntValue(bt[t]), parseIntValue(bt[u]))
269+func br (bs) = $Tuple7(addressFromStringValue(bs[o]), parseIntValue(bs[p]), fromBase58String(bs[q]), bo(bs[r]), bo(bs[s]), parseIntValue(bs[t]), parseIntValue(bs[u]))
270270
271271
272-let bu = bs(bm())
272+let bt = br(bl())
273273
274-let bv = bu
274+let bu = bt
275275
276-let bw = bv._1
276+let bv = bu._1
277277
278-let bx = bv._2
278+let bw = bu._2
279279
280-let by = bv._3
280+let bx = bu._3
281281
282-let bz = bv._4
282+let by = bu._4
283283
284-let bA = bv._5
284+let bz = bu._5
285285
286-let bB = bv._6
286+let bA = bu._6
287287
288-let bC = bv._7
288+let bB = bu._7
289289
290-func bD () = split(aW(bd, at()), j)
290+func bC () = split(aV(bc, at()), j)
291291
292292
293-let bE = valueOrErrorMessage(addressFromString(bD()[B]), "incorrect staking address")
293+let bD = valueOrErrorMessage(addressFromString(bC()[B]), "incorrect staking address")
294294
295-let bF = valueOrErrorMessage(addressFromString(bD()[C]), "incorrect staking address")
295+let bE = valueOrErrorMessage(addressFromString(bC()[C]), "incorrect staking address")
296296
297-func bG (bH,bI,bJ,bK,bL,bM,bN,bO,bP,bQ) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(bH), toString(bI), toString(bJ), toString(bK), toString(bL), toString(bM), toString(bN), toString(bO), toString(bP), toString(bQ)], j)
297+func bF (bG,bH,bI,bJ,bK,bL,bM,bN,bO,bP) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(bG), toString(bH), toString(bI), toString(bJ), toString(bK), toString(bL), toString(bM), toString(bN), toString(bO), toString(bP)], j)
298298
299299
300-func bR (bS,bT,bU,bK,bN,bO) = makeString(["%d%d%d%d%d%d", toString(bS), toString(bT), toString(bU), toString(bK), toString(bN), toString(bO)], j)
300+func bQ (bR,bS,bT,bJ,bM,bN) = makeString(["%d%d%d%d%d%d", toString(bR), toString(bS), toString(bT), toString(bJ), toString(bM), toString(bN)], j)
301301
302302
303-func bV (ap) = {
304- let bW = if ((ap == "WAVES"))
303+func bU (ap) = {
304+ let bV = if ((ap == "WAVES"))
305305 then wavesBalance(this).available
306306 else assetBalance(this, fromBase58String(ap))
307- let bX = ((bW + ar(ap)) - as(ap))
308- max([0, bX])
307+ let bW = ((bV + ar(ap)) - as(ap))
308+ max([0, bW])
309309 }
310310
311311
312-func bY (bZ,ca) = fraction(bZ, d, ca)
312+func bX (bY,bZ) = fraction(bY, d, bZ)
313313
314314
315-func cb (bZ,ca,L) = fraction(bZ, d, ca, L)
315+func ca (bY,bZ,L) = fraction(bY, d, bZ, L)
316316
317317
318-func cc (cd) = {
319- let ce = invoke(cd, "getRate", nil, nil)
320- if ((ce == ce))
318+func cb (cc) = {
319+ let cd = invoke(cc, "getRate", nil, nil)
320+ if ((cd == cd))
321321 then {
322- let aQ = ce
323- if ($isInstanceOf(aQ, "Int"))
322+ let aP = cd
323+ if ($isInstanceOf(aP, "Int"))
324324 then {
325- let cf = aQ
326- cf
325+ let ce = aP
326+ ce
327327 }
328- else ba("proxy.getRate() unexpected value")
328+ else aZ("proxy.getRate() unexpected value")
329329 }
330330 else throw("Strict value is not equal to itself.")
331331 }
332332
333333
334-func cg (ap,ch,ci,cd) = {
335- let cj = ar(ap)
336- if ((cj == cj))
334+func cf (ap,cg,ch,cc) = {
335+ let ci = ar(ap)
336+ if ((ci == ci))
337337 then {
338- let ck = as(ci)
339- if ((ck == ck))
338+ let cj = as(ch)
339+ if ((cj == cj))
340340 then {
341- let cl = bp(ap)
342- if ((ch > 0))
341+ let ck = bo(ap)
342+ if ((cg > 0))
343343 then {
344- let cm = invoke(cd, "deposit", nil, [AttachedPayment(cl, ch)])
345- if ((cm == cm))
344+ let cl = invoke(cc, "deposit", nil, [AttachedPayment(ck, cg)])
345+ if ((cl == cl))
346346 then {
347- let aQ = cm
348- if ($isInstanceOf(aQ, "Int"))
347+ let aP = cl
348+ if ($isInstanceOf(aP, "Int"))
349349 then {
350- let cn = aQ
351- let co = (cj + ch)
352- let cp = (ck + cn)
353-[IntegerEntry(ao(ap), co), IntegerEntry(aq(ci), cp)]
350+ let cm = aP
351+ let cn = (ci + cg)
352+ let co = (cj + cm)
353+[IntegerEntry(ao(ap), cn), IntegerEntry(aq(ch), co)]
354354 }
355355 else nil
356356 }
364364 }
365365
366366
367-func cq (ap,ch,ci,cd,cr,cs) = {
368- let cj = ar(ap)
369- if ((cj == cj))
367+func cp (ap,cg,ch,cc,cq,cr) = {
368+ let ci = ar(ap)
369+ if ((ci == ci))
370370 then {
371- let ck = as(ci)
372- if ((ck == ck))
371+ let cj = as(ch)
372+ if ((cj == cj))
373373 then {
374- let ct = cc(cd)
375- if ((ct == ct))
374+ let cs = cb(cc)
375+ if ((cs == cs))
376376 then {
377- let cu = fraction(cr, cj, ck)
378- let cv = bp(ci)
379- let cw = fraction(cr, ch, cu)
380- let cx = fraction(cr, ch, ct)
381- let cy = max([0, (cw - cx)])
382- if ((cx > 0))
377+ let ct = fraction(cq, ci, cj)
378+ let cu = bo(ch)
379+ let cv = fraction(cq, cg, ct)
380+ let cw = fraction(cq, cg, cs)
381+ let cx = max([0, (cv - cw)])
382+ if ((cw > 0))
383383 then {
384- let cz = invoke(cd, "withdraw", nil, [AttachedPayment(cv, cx)])
385- if ((cz == cz))
384+ let cy = invoke(cc, "withdraw", nil, [AttachedPayment(cu, cw)])
385+ if ((cy == cy))
386386 then {
387- let aQ = cz
388- if ($isInstanceOf(aQ, "Int"))
387+ let aP = cy
388+ if ($isInstanceOf(aP, "Int"))
389389 then {
390- let cA = aQ
391- let co = (cj - cA)
392- let cp = ((ck - cx) - cy)
393-[IntegerEntry(ao(ap), co), IntegerEntry(aq(ci), cp), ScriptTransfer(cs, cy, bp(ci))]
390+ let cz = aP
391+ let cn = (ci - cz)
392+ let co = ((cj - cw) - cx)
393+[IntegerEntry(ao(ap), cn), IntegerEntry(aq(ch), co), ScriptTransfer(cr, cx, bo(ch))]
394394 }
395395 else nil
396396 }
406406 }
407407
408408
409-func cB (ap) = {
410- let aQ = invoke(bd, "getPoolLeaseConfigREADONLY", [toString(this), ap], nil)
411- if ($isInstanceOf(aQ, "(Boolean, Int, Int, String, String, Int, String)"))
409+func cA (ap) = {
410+ let aP = invoke(bc, "getPoolLeaseConfigREADONLY", [toString(this), ap], nil)
411+ if ($isInstanceOf(aP, "(Boolean, Int, Int, String, String, Int, String)"))
412412 then {
413- let aR = aQ
414- aR
413+ let aQ = aP
414+ aQ
415415 }
416- else ba((("[" + ap) + "] getLeaseProxyConfig() error"))
416+ else aZ((("[" + ap) + "] getLeaseProxyConfig() error"))
417417 }
418418
419419
420-func cC (cD,ap,ci,cE,cd,cr,cs) = {
421- let ck = as(ci)
422- if ((ck == ck))
420+func cB (cC,ap,ch,cD,cc,cq,cr) = {
421+ let cj = as(ch)
422+ if ((cj == cj))
423423 then {
424- let cj = if ((ck != 0))
424+ let ci = if ((cj != 0))
425425 then ar(ap)
426426 else 0
427- if ((cj == cj))
427+ if ((ci == ci))
428428 then {
429- let cF = max([0, (bV(ap) - cE)])
430- let cG = fraction(cD, cF, 100)
431- let cH = (cj - cG)
432- if ((cH == 0))
429+ let cE = max([0, (bU(ap) - cD)])
430+ let cF = fraction(cC, cE, 100)
431+ let cG = (ci - cF)
432+ if ((cG == 0))
433433 then nil
434- else if ((0 > cH))
434+ else if ((0 > cG))
435435 then {
436- let cI = -(cH)
437- cg(ap, cI, ci, cd)
436+ let cH = -(cG)
437+ cf(ap, cH, ch, cc)
438438 }
439439 else {
440- let cJ = cH
441- cq(ap, cJ, ci, cd, cr, cs)
440+ let cI = cG
441+ cp(ap, cI, ch, cc, cq, cr)
442442 }
443443 }
444444 else throw("Strict value is not equal to itself.")
447447 }
448448
449449
450-func cK (ap) = {
451- let cL = cB(ap)
452- let cM = cL._1
453- let cN = cL._2
454- let cE = cL._3
455- let cO = cL._4
456- let cP = cL._5
457- let cr = cL._6
458- let cQ = cL._7
459- if (cM)
460- then cC(cN, ap, cP, cE, addressFromStringValue(cO), cr, addressFromStringValue(cQ))
450+func cJ (ap) = {
451+ let cK = cA(ap)
452+ let cL = cK._1
453+ let cM = cK._2
454+ let cD = cK._3
455+ let cN = cK._4
456+ let cO = cK._5
457+ let cq = cK._6
458+ let cP = cK._7
459+ if (cL)
460+ then cB(cM, ap, cO, cD, addressFromStringValue(cN), cq, addressFromStringValue(cP))
461461 else nil
462462 }
463463
464464
465-func cR (ap,cS) = {
466- let cT = cB(ap)
467- let cM = cT._1
468- let cN = cT._2
469- let cE = cT._3
470- let cO = cT._4
471- let cP = cT._5
472- let cr = cT._6
473- let cQ = cT._7
474- if (cM)
465+func cQ (ap,cR) = {
466+ let cS = cA(ap)
467+ let cL = cS._1
468+ let cM = cS._2
469+ let cD = cS._3
470+ let cN = cS._4
471+ let cO = cS._5
472+ let cq = cS._6
473+ let cP = cS._7
474+ if (cL)
475475 then {
476- let ck = as(cP)
477- if ((ck == ck))
476+ let cj = as(cO)
477+ if ((cj == cj))
478478 then {
479- let cj = if ((ck != 0))
479+ let ci = if ((cj != 0))
480480 then ar(ap)
481481 else 0
482- if ((cj == cj))
482+ if ((ci == ci))
483483 then {
484- let cU = max([0, ((bV(ap) - cS) - cE)])
485- if ((cU == cU))
484+ let cT = max([0, ((bU(ap) - cR) - cD)])
485+ if ((cT == cT))
486486 then {
487- let co = fraction(cN, cU, 100)
488- if ((co == co))
487+ let cn = fraction(cM, cT, 100)
488+ if ((cn == cn))
489489 then {
490- let cV = (cj - co)
491- if ((cV == cV))
492- then if ((cV == 0))
490+ let cU = (ci - cn)
491+ if ((cU == cU))
492+ then if ((cU == 0))
493493 then nil
494- else if ((0 > cV))
495- then cg(ap, -(cV), cP, addressFromStringValue(cO))
496- else cq(ap, cV, cP, addressFromStringValue(cO), cr, addressFromStringValue(cQ))
494+ else if ((0 > cU))
495+ then cf(ap, -(cU), cO, addressFromStringValue(cN))
496+ else cp(ap, cU, cO, addressFromStringValue(cN), cq, addressFromStringValue(cP))
497497 else throw("Strict value is not equal to itself.")
498498 }
499499 else throw("Strict value is not equal to itself.")
508508 }
509509
510510
511-func cW (cX,cY) = {
512- let cZ = cR(aW(this, ae()), cX)
513- let da = cR(aW(this, af()), cY)
514- (cZ ++ da)
511+func cV (cW,cX) = {
512+ let cY = cQ(aV(this, ae()), cW)
513+ let cZ = cQ(aV(this, af()), cX)
514+ (cY ++ cZ)
515515 }
516516
517517
518-func db (dc,dd,de,df) = {
518+func da (db,dc,dd,de) = {
519+ let df = D(dd, db)
519520 let dg = D(de, dc)
520- let dh = D(df, dd)
521- bY(dh, dg)
521+ bX(dg, df)
522522 }
523523
524524
525-func di (de,df,dj) = {
526- let dk = bm()
527- let dl = parseIntValue(dk[t])
528- let dm = parseIntValue(dk[u])
529- let dn = db(dl, dm, de, df)
530- let ca = D(de, dl)
531- let bZ = D(df, dm)
532- let do = D(dj, b)
533- let dp = bY(ca, do)
534- let dq = bY(bZ, do)
535-[dn, dp, dq]
525+func dh (dd,de,di) = {
526+ let dj = bl()
527+ let dk = parseIntValue(dj[t])
528+ let dl = parseIntValue(dj[u])
529+ let dm = da(dk, dl, dd, de)
530+ let bZ = D(dd, dk)
531+ let bY = D(de, dl)
532+ let dn = D(di, b)
533+ let do = bX(bZ, dn)
534+ let dp = bX(bY, dn)
535+[dm, do, dp]
536536 }
537537
538538
539-func dr (de,df,dj) = {
540- let ds = di(de, df, dj)
541-[H(ds[0], b), H(ds[1], b), H(ds[2], b)]
539+func dq (dd,de,di) = {
540+ let dr = dh(dd, de, di)
541+[H(dr[0], b), H(dr[1], b), H(dr[2], b)]
542542 }
543543
544544
545-func dt (du,dv,dw,ab) = {
546- let dk = bm()
547- let dx = dk[q]
548- let dy = dk[r]
549- let dz = dk[s]
550- let dc = parseIntValue(dk[t])
551- let dd = parseIntValue(dk[u])
552- let dA = dk[p]
553- let dB = valueOrErrorMessage(assetInfo(fromBase58String(dx)), (("Asset " + dx) + " doesn't exist")).quantity
554- if ((dx != dv))
545+func ds (dt,du,dv,ab) = {
546+ let dj = bl()
547+ let dw = dj[q]
548+ let dx = dj[r]
549+ let dy = dj[s]
550+ let db = parseIntValue(dj[t])
551+ let dc = parseIntValue(dj[u])
552+ let dz = dj[p]
553+ let dA = valueOrErrorMessage(assetInfo(fromBase58String(dw)), (("Asset " + dw) + " doesn't exist")).quantity
554+ if ((dw != du))
555555 then throw("Invalid asset passed.")
556556 else {
557- let dC = bV(dy)
558- let dD = D(dC, dc)
559- let dE = bV(dz)
560- let dF = D(dE, dd)
561- let dG = bY(dF, dD)
562- let dH = H(dG, b)
563- let dI = D(dw, b)
564- let dJ = D(dB, b)
565- let dK = fraction(dD, dI, dJ)
566- let dL = fraction(dF, dI, dJ)
557+ let dB = bU(dx)
558+ let dC = D(dB, db)
559+ let dD = bU(dy)
560+ let dE = D(dD, dc)
561+ let dF = bX(dE, dC)
562+ let dG = H(dF, b)
563+ let dH = D(dv, b)
564+ let dI = D(dA, b)
565+ let dJ = fraction(dC, dH, dI)
566+ let dK = fraction(dE, dH, dI)
567+ let dL = K(dJ, db, FLOOR)
567568 let dM = K(dK, dc, FLOOR)
568- let dN = K(dL, dd, FLOOR)
569- let dO = if ((du == ""))
569+ let dN = if ((dt == ""))
570570 then nil
571- else [ScriptTransfer(ab, dM, if ((dy == "WAVES"))
571+ else [ScriptTransfer(ab, dL, if ((dx == "WAVES"))
572572 then unit
573- else fromBase58String(dy)), ScriptTransfer(ab, dN, if ((dz == "WAVES"))
573+ else fromBase58String(dx)), ScriptTransfer(ab, dM, if ((dy == "WAVES"))
574574 then unit
575- else fromBase58String(dz)), StringEntry(ad(toString(ab), du), bR(dM, dN, dw, dH, height, lastBlock.timestamp)), IntegerEntry(W(), dH), IntegerEntry(X(height, lastBlock.timestamp), dH)]
576- $Tuple10(dM, dN, dy, dz, dC, dE, dB, dG, dA, dO)
575+ else fromBase58String(dy)), StringEntry(ad(toString(ab), dt), bQ(dL, dM, dv, dG, height, lastBlock.timestamp)), IntegerEntry(W(), dG), IntegerEntry(X(height, lastBlock.timestamp), dG)]
576+ $Tuple10(dL, dM, dx, dy, dB, dD, dA, dF, dz, dN)
577577 }
578578 }
579579
580580
581-func dP (du,dQ,dR,dS,dT,dU,ab,dV,dW) = {
582- let dk = bm()
583- let dx = fromBase58String(dk[q])
584- let dX = dk[r]
585- let dY = dk[s]
586- let dZ = dk[v]
587- let ea = dk[w]
588- let dl = parseIntValue(dk[t])
589- let dm = parseIntValue(dk[u])
590- let dA = dk[p]
591- let dB = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
592- let eb = toBase58String(valueOrElse(dS, fromBase58String("WAVES")))
593- let ec = toBase58String(valueOrElse(dU, fromBase58String("WAVES")))
594- if (if ((dX != eb))
581+func dO (dt,dP,dQ,dR,dS,dT,ab,dU,dV) = {
582+ let dj = bl()
583+ let dw = fromBase58String(dj[q])
584+ let dW = dj[r]
585+ let dX = dj[s]
586+ let dY = dj[v]
587+ let dZ = dj[w]
588+ let dk = parseIntValue(dj[t])
589+ let dl = parseIntValue(dj[u])
590+ let dz = dj[p]
591+ let dA = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
592+ let ea = toBase58String(valueOrElse(dR, fromBase58String("WAVES")))
593+ let eb = toBase58String(valueOrElse(dT, fromBase58String("WAVES")))
594+ if (if ((dW != ea))
595595 then true
596- else (dY != ec))
596+ else (dX != eb))
597597 then throw("Invalid amt or price asset passed.")
598598 else {
599- let dC = if (dV)
600- then bV(dX)
601- else (bV(dX) - dR)
602- let dE = if (dV)
603- then bV(dY)
604- else (bV(dY) - dT)
605- let ed = D(dR, dl)
606- let ee = D(dT, dm)
607- let ef = bY(ee, ed)
608- let dD = D(dC, dl)
609- let dF = D(dE, dm)
610- let eg = if ((dB == 0))
599+ let dB = if (dU)
600+ then bU(dW)
601+ else (bU(dW) - dQ)
602+ let dD = if (dU)
603+ then bU(dX)
604+ else (bU(dX) - dS)
605+ let ec = D(dQ, dk)
606+ let ed = D(dS, dl)
607+ let ee = bX(ed, ec)
608+ let dC = D(dB, dk)
609+ let dE = D(dD, dl)
610+ let ef = if ((dA == 0))
611611 then {
612- let dG = e
613- let eh = e
614- let do = pow((ed * ee), 0, toBigInt(5), 1, 0, DOWN)
615- $Tuple5(H(do, b), H(ed, dl), H(ee, dm), bY((dF + ee), (dD + ed)), eh)
612+ let dF = e
613+ let eg = e
614+ let dn = pow((ec * ed), 0, toBigInt(5), 1, 0, DOWN)
615+ $Tuple5(H(dn, b), H(ec, dk), H(ed, dl), bX((dE + ed), (dC + ec)), eg)
616616 }
617617 else {
618- let dG = bY(dF, dD)
619- let eh = fraction(R((dG - ef)), d, dG)
620- let ei = D(dQ, b)
621- if (if ((dG != e))
622- then (eh > ei)
618+ let dF = bX(dE, dC)
619+ let eg = fraction(R((dF - ee)), d, dF)
620+ let eh = D(dP, b)
621+ if (if ((dF != e))
622+ then (eg > eh)
623623 else false)
624- then throw(((("Price slippage " + toString(eh)) + " exceeded the passed limit of ") + toString(ei)))
624+ then throw(((("Price slippage " + toString(eg)) + " exceeded the passed limit of ") + toString(eh)))
625625 else {
626- let dJ = D(dB, b)
627- let ej = fraction(ed, cb(dF, dD, CEILING), d, CEILING)
628- let ek = fraction(ee, d, cb(dF, dD, FLOOR), CEILING)
629- let el = if ((ej > ee))
630- then $Tuple2(ek, ee)
631- else $Tuple2(ed, ej)
632- let em = el._1
633- let en = el._2
634- let do = fraction(dJ, en, dF, FLOOR)
635- $Tuple5(K(do, b, FLOOR), K(em, dl, CEILING), K(en, dm, CEILING), dG, eh)
626+ let dI = D(dA, b)
627+ let ei = fraction(ec, ca(dE, dC, CEILING), d, CEILING)
628+ let ej = fraction(ed, d, ca(dE, dC, FLOOR), CEILING)
629+ let ek = if ((ei > ed))
630+ then $Tuple2(ej, ed)
631+ else $Tuple2(ec, ei)
632+ let el = ek._1
633+ let em = ek._2
634+ let dn = fraction(dI, em, dE, FLOOR)
635+ $Tuple5(K(dn, b, FLOOR), K(el, dk, CEILING), K(em, dl, CEILING), dF, eg)
636636 }
637637 }
638- let eo = eg._1
639- let ep = eg._2
640- let eq = eg._3
641- let dH = H(eg._4, b)
642- let er = H(eg._5, b)
643- if ((0 >= eo))
638+ let en = ef._1
639+ let eo = ef._2
640+ let ep = ef._3
641+ let dG = H(ef._4, b)
642+ let eq = H(ef._5, b)
643+ if ((0 >= en))
644644 then throw("Invalid calculations. LP calculated is less than zero.")
645645 else {
646- let es = if (!(dW))
646+ let er = if (!(dV))
647647 then 0
648- else eo
649- let et = (dR - ep)
650- let eu = (dT - eq)
651- let ev = [IntegerEntry(W(), dH), IntegerEntry(X(height, lastBlock.timestamp), dH), StringEntry(aa(ab, du), bG(ep, eq, es, dH, dQ, er, height, lastBlock.timestamp, et, eu))]
652- $Tuple13(eo, es, dH, dC, dE, dB, dx, dA, ev, et, eu, dS, dU)
648+ else en
649+ let es = (dQ - eo)
650+ let et = (dS - ep)
651+ let eu = [IntegerEntry(W(), dG), IntegerEntry(X(height, lastBlock.timestamp), dG), StringEntry(aa(ab, dt), bF(eo, ep, er, dG, dP, eq, height, lastBlock.timestamp, es, et))]
652+ $Tuple13(en, er, dG, dB, dD, dA, dw, dz, eu, es, et, dR, dT)
653653 }
654654 }
655655 }
656656
657657
658-func ew (ex,ey,dB) = {
658+func ev (ew,ex,dA) = {
659+ let ey = G(ew, toBigInt(bA))
659660 let ez = G(ex, toBigInt(bB))
660- let eA = G(ey, toBigInt(bC))
661- let eB = fraction(pow((ez * eA), 0, toBigInt(5), 1, 18, DOWN), g, dB)
662- if ((dB == f))
661+ let eA = fraction(pow((ey * ez), 0, toBigInt(5), 1, 18, DOWN), g, dA)
662+ if ((dA == f))
663663 then f
664- else eB
664+ else eA
665665 }
666666
667667
668-func eC (eD,eE,eF) = {
669- let eG = (toBigInt(bV(br(bz))) - eD)
670- let eH = (toBigInt(bV(br(bA))) - eE)
671- let eI = (toBigInt(value(assetInfo(by)).quantity) - eF)
672- let eJ = ew(eG, eH, eI)
673- eJ
668+func eB (eC,eD,eE) = {
669+ let eF = (toBigInt(bU(bq(by))) - eC)
670+ let eG = (toBigInt(bU(bq(bz))) - eD)
671+ let eH = (toBigInt(value(assetInfo(bx)).quantity) - eE)
672+ let eI = ev(eF, eG, eH)
673+ eI
674674 }
675675
676676
677-func eK (eL,eM,eF) = {
678- let eG = (bV(br(bz)) + eL)
679- let eH = (bV(br(bA)) + eM)
680- let eI = (value(assetInfo(by)).quantity + eF)
681- let eB = ew(toBigInt(eG), toBigInt(eH), toBigInt(eI))
682- let eN = [IntegerEntry(ak, height), StringEntry(aj, toString(eB))]
683- $Tuple2(eN, eB)
677+func eJ (eK,eL,eE) = {
678+ let eF = (bU(bq(by)) + eK)
679+ let eG = (bU(bq(bz)) + eL)
680+ let eH = (value(assetInfo(bx)).quantity + eE)
681+ let eA = ev(toBigInt(eF), toBigInt(eG), toBigInt(eH))
682+ let eM = [IntegerEntry(ak, height), StringEntry(aj, toString(eA))]
683+ $Tuple2(eM, eA)
684684 }
685685
686686
687-func eO () = valueOrElse(getBoolean(bd, aH(toString(this))), false)
687+func eN () = valueOrElse(getBoolean(bc, aH(toString(this))), false)
688688
689689
690-func eP (eQ,eB) = if ((eB >= eQ))
690+func eO (eP,eA) = if ((eA >= eP))
691691 then true
692- else ba(makeString(["updated KLp lower than current KLp", toString(eQ), toString(eB)], " "))
692+ else aZ(makeString(["updated KLp lower than current KLp", toString(eP), toString(eA)], " "))
693693
694694
695-func eR (eS) = {
696- let eG = bV(br(bz))
697- let eH = bV(br(bA))
698- let eT = eS.amount
699- let eU = fraction(eS.amount, eS.price, b, FLOOR)
700- let eV = if ((eS.orderType == Buy))
701- then $Tuple2(eT, -(eU))
702- else $Tuple2(-(eT), eU)
703- let eL = eV._1
704- let eM = eV._2
705- if (if (if (bk())
695+func eQ (eR) = {
696+ let eF = bU(bq(by))
697+ let eG = bU(bq(bz))
698+ let eS = eR.amount
699+ let eT = fraction(eR.amount, eR.price, b, FLOOR)
700+ let eU = if ((eR.orderType == Buy))
701+ then $Tuple2(eS, -(eT))
702+ else $Tuple2(-(eS), eT)
703+ let eK = eU._1
704+ let eL = eU._2
705+ if (if (if (bj())
706706 then true
707- else (bx == m))
707+ else (bw == m))
708708 then true
709- else (bx == n))
709+ else (bw == n))
710710 then throw("Exchange operations disabled")
711- else if (if ((eS.assetPair.amountAsset != bz))
711+ else if (if ((eR.assetPair.amountAsset != by))
712712 then true
713- else (eS.assetPair.priceAsset != bA))
713+ else (eR.assetPair.priceAsset != bz))
714714 then throw("Wrong order assets.")
715715 else {
716- let eW = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bc("invalid kLp"))
717- let eX = eK(eL, eM, 0)
718- let eY = eX._1
719- let eZ = eX._2
720- let fa = (eZ >= eW)
721- let fb = makeString(["kLp=", toString(eW), " kLpNew=", toString(eZ), " amountAssetBalance=", toString(eG), " priceAssetBalance=", toString(eH), " amountAssetBalanceDelta=", toString(eL), " priceAssetBalanceDelta=", toString(eM), " height=", toString(height)], "")
722- $Tuple2(fa, fb)
716+ let eV = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bb("invalid kLp"))
717+ let eW = eJ(eK, eL, 0)
718+ let eX = eW._1
719+ let eY = eW._2
720+ let eZ = (eY >= eV)
721+ let fa = makeString(["kLp=", toString(eV), " kLpNew=", toString(eY), " amountAssetBalance=", toString(eF), " priceAssetBalance=", toString(eG), " amountAssetBalanceDelta=", toString(eK), " priceAssetBalanceDelta=", toString(eL), " height=", toString(height)], "")
722+ $Tuple2(eZ, fa)
723723 }
724724 }
725725
726726
727-func fc (fd) = if ((size(fd.payments) != 1))
727+func fb (fc) = if ((size(fc.payments) != 1))
728728 then throw("exactly 1 payment is expected")
729729 else {
730- let fe = value(fd.payments[0])
731- let dv = value(fe.assetId)
732- let ff = fe.amount
733- let eg = dt(toBase58String(fd.transactionId), toBase58String(dv), ff, fd.caller)
734- let dM = eg._1
735- let dN = eg._2
736- let dO = eg._10
737- let fg = if (!(bj(fd.caller)))
738- then if (bk())
730+ let fd = value(fc.payments[0])
731+ let du = value(fd.assetId)
732+ let fe = fd.amount
733+ let ef = ds(toBase58String(fc.transactionId), toBase58String(du), fe, fc.caller)
734+ let dL = ef._1
735+ let dM = ef._2
736+ let dN = ef._10
737+ let ff = if (!(bi(fc.caller)))
738+ then if (bj())
739739 then true
740- else (bx == n)
740+ else (bw == n)
741741 else false
742- if (fg)
743- then throw(("Get operation is blocked by admin. Status = " + toString(bx)))
744- else $Tuple5(dM, dN, ff, dv, dO)
742+ if (ff)
743+ then throw(("Get operation is blocked by admin. Status = " + toString(bw)))
744+ else $Tuple5(dL, dM, fe, du, dN)
745745 }
746746
747747
748-func fh (fd,dQ,dW) = if ((size(fd.payments) != 2))
748+func fg (fc,dP,dV) = if ((size(fc.payments) != 2))
749749 then throw("exactly 2 payments are expected")
750750 else {
751- let fi = value(fd.payments[0])
752- let fj = value(fd.payments[1])
753- let fk = dP(toBase58String(fd.transactionId), dQ, fi.amount, fi.assetId, fj.amount, fj.assetId, toString(fd.caller), false, dW)
754- let fl = if (!(bj(fd.caller)))
755- then if (if (bk())
751+ let fh = value(fc.payments[0])
752+ let fi = value(fc.payments[1])
753+ let fj = dO(toBase58String(fc.transactionId), dP, fh.amount, fh.assetId, fi.amount, fi.assetId, toString(fc.caller), false, dV)
754+ let fk = if (!(bi(fc.caller)))
755+ then if (if (bj())
756756 then true
757- else (bx == l))
757+ else (bw == l))
758758 then true
759- else (bx == n)
759+ else (bw == n)
760760 else false
761- if (fl)
762- then throw(("Put operation is blocked by admin. Status = " + toString(bx)))
763- else fk
761+ if (fk)
762+ then throw(("Put operation is blocked by admin. Status = " + toString(bw)))
763+ else fj
764764 }
765765
766766
767-func fm (ch) = {
768- let fn = invoke(bd, "emit", [ch], nil)
769- if ((fn == fn))
767+func fl (cg) = {
768+ let fm = invoke(bc, "emit", [cg], nil)
769+ if ((fm == fm))
770770 then {
771- let fo = {
772- let aQ = fn
773- if ($isInstanceOf(aQ, "Address"))
771+ let fn = {
772+ let aP = fm
773+ if ($isInstanceOf(aP, "Address"))
774774 then {
775- let fp = aQ
776- invoke(fp, "emit", [ch], nil)
775+ let fo = aP
776+ invoke(fo, "emit", [cg], nil)
777777 }
778778 else unit
779779 }
780- if ((fo == fo))
781- then ch
780+ if ((fn == fn))
781+ then cg
782782 else throw("Strict value is not equal to itself.")
783783 }
784784 else throw("Strict value is not equal to itself.")
785785 }
786786
787787
788-func fq (ch,ai) = {
789- let fr = if ((ai == 0))
788+func fp (cg,ai) = {
789+ let fq = if ((ai == 0))
790790 then 0
791- else fraction(ch, ai, b)
792- $Tuple2((ch - fr), fr)
791+ else fraction(cg, ai, b)
792+ $Tuple2((cg - fq), fq)
793793 }
794794
795795
796-func fs (ft,fu,ab,ac) = {
797- let fv = (ac == unit)
798- let fw = bV(br(bz))
799- let fx = bV(br(bA))
800- let fy = if ((fu == bz))
796+func fr (fs,ft,ab,ac) = {
797+ let fu = (ac == unit)
798+ let fv = bU(bq(by))
799+ let fw = bU(bq(bz))
800+ let fx = if ((ft == by))
801801 then true
802- else if ((fu == bA))
802+ else if ((ft == bz))
803803 then false
804- else ba("invalid asset")
805- let fz = if (fv)
806- then $Tuple2(fw, fx)
807- else if (fy)
808- then $Tuple2((fw - ft), fx)
809- else $Tuple2(fw, (fx - ft))
810- let fA = fz._1
811- let fB = fz._2
812- let fC = if (fy)
813- then $Tuple2(ft, 0)
814- else $Tuple2(0, ft)
815- let fD = fC._1
816- let fE = fC._2
817- let eT = fq(fD, bf)._1
818- let eU = fq(fE, bf)._1
819- let fF = fq(ft, bf)
820- let fG = fF._1
821- let fr = fF._2
804+ else aZ("invalid asset")
805+ let fy = if (fu)
806+ then $Tuple2(fv, fw)
807+ else if (fx)
808+ then $Tuple2((fv - fs), fw)
809+ else $Tuple2(fv, (fw - fs))
810+ let fz = fy._1
811+ let fA = fy._2
812+ let fB = if (fx)
813+ then $Tuple2(fs, 0)
814+ else $Tuple2(0, fs)
815+ let fC = fB._1
816+ let fD = fB._2
817+ let eS = fp(fC, be)._1
818+ let eT = fp(fD, be)._1
819+ let fE = fp(fs, be)
820+ let fF = fE._1
821+ let fq = fE._2
822+ let fG = (fz + eS)
822823 let fH = (fA + eT)
823- let fI = (fB + eU)
824- let fJ = bY(D(fI, bC), D(fH, bB))
825- let fK = H(fJ, b)
826- let fL = if (fy)
827- then fA
828- else fB
829- let fM = toBigInt(fL)
830- let fN = toBigInt(valueOrErrorMessage(assetInfo(by), (("asset " + toBase58String(by)) + " doesn't exist")).quantity)
831- let fO = if ((fN > f))
824+ let fI = bX(D(fH, bB), D(fG, bA))
825+ let fJ = H(fI, b)
826+ let fK = if (fx)
827+ then fz
828+ else fA
829+ let fL = toBigInt(fK)
830+ let fM = toBigInt(valueOrErrorMessage(assetInfo(bx), (("asset " + toBase58String(bx)) + " doesn't exist")).quantity)
831+ let fN = if ((fM > f))
832832 then true
833- else ba("initial deposit requires all coins")
834- if ((fO == fO))
833+ else aZ("initial deposit requires all coins")
834+ if ((fN == fN))
835835 then {
836- let fP = toBigInt(fG)
837- let fQ = max([0, toInt(((fN * (sqrtBigInt((d + ((fP * d) / fM)), 18, 18, DOWN) - d)) / d))])
838- let ev = if (fv)
836+ let fO = toBigInt(fF)
837+ let fP = max([0, toInt(((fM * (sqrtBigInt((d + ((fO * d) / fL)), 18, 18, DOWN) - d)) / d))])
838+ let eu = if (fu)
839839 then nil
840- else [IntegerEntry(W(), fK), IntegerEntry(X(height, lastBlock.timestamp), fK), StringEntry(aa(toString(value(ab)), toBase58String(value(ac))), bG(fD, fE, fQ, fK, 0, 0, height, lastBlock.timestamp, 0, 0))]
841- let fR = bY(D(fB, bC), D(fA, bB))
842- let fS = H(fR, b)
843- let fT = {
844- let fU = if (fy)
845- then $Tuple2(fD, fA)
846- else $Tuple2(fE, fB)
847- let ch = fU._1
848- let fV = fU._2
849- let fW = toInt(fraction(fN, toBigInt((ch / 2)), toBigInt(fV)))
850- fraction((fQ - fW), b, fW)
840+ else [IntegerEntry(W(), fJ), IntegerEntry(X(height, lastBlock.timestamp), fJ), StringEntry(aa(toString(value(ab)), toBase58String(value(ac))), bF(fC, fD, fP, fJ, 0, 0, height, lastBlock.timestamp, 0, 0))]
841+ let fQ = bX(D(fA, bB), D(fz, bA))
842+ let fR = H(fQ, b)
843+ let fS = {
844+ let fT = if (fx)
845+ then $Tuple2(fC, fz)
846+ else $Tuple2(fD, fA)
847+ let cg = fT._1
848+ let fU = fT._2
849+ let fV = toInt(fraction(fM, toBigInt((cg / 2)), toBigInt(fU)))
850+ fraction((fP - fV), b, fV)
851851 }
852- $Tuple5(fQ, ev, fr, fT, fy)
852+ $Tuple5(fP, eu, fq, fS, fx)
853853 }
854854 else throw("Strict value is not equal to itself.")
855855 }
856856
857857
858-func fX (fY,fG,fu,ab,ac) = {
859- let fv = (ac == unit)
860- let dk = bm()
861- let dl = parseIntValue(dk[t])
862- let dm = parseIntValue(dk[u])
863- let fZ = [if ((fu == by))
858+func fW (fX,fF,ft,ab,ac) = {
859+ let fu = (ac == unit)
860+ let dj = bl()
861+ let dk = parseIntValue(dj[t])
862+ let dl = parseIntValue(dj[u])
863+ let fY = [if ((ft == bx))
864864 then true
865- else ba("invalid lp asset")]
866- if ((fZ == fZ))
865+ else aZ("invalid lp asset")]
866+ if ((fY == fY))
867867 then {
868- let ga = if ((fY == bz))
868+ let fZ = if ((fX == by))
869869 then true
870- else if ((fY == bA))
870+ else if ((fX == bz))
871871 then false
872- else ba("invalid asset")
873- let gb = if (ga)
874- then toBigInt(bV(br(bz)))
875- else toBigInt(bV(br(bA)))
876- let gc = if (ga)
877- then dl
878- else dm
879- let gd = bV(br(bz))
880- let ge = bV(br(bA))
881- let gf = if (ga)
882- then gd
883- else ge
884- let gg = toBigInt(gf)
885- let fN = toBigInt(valueOrErrorMessage(assetInfo(by), (("asset " + toBase58String(by)) + " doesn't exist")).quantity)
886- let gh = toBigInt(fG)
887- let gi = max([0, toInt(((gb * (d - pow((d - ((gh * d) / fN)), 18, h, 0, 18, DOWN))) / d))])
888- let gj = fq(gi, bh)
889- let gk = gj._1
890- let fr = gj._2
891- let gl = if (ga)
892- then $Tuple4(gk, 0, (gd - gi), ge)
893- else $Tuple4(0, gk, gd, (ge - gi))
894- let gm = gl._1
895- let gn = gl._2
896- let go = gl._3
897- let gp = gl._4
898- let fJ = bY(D(gp, bC), D(go, bB))
899- let fK = H(fJ, b)
900- let ev = if (fv)
872+ else aZ("invalid asset")
873+ let ga = if (fZ)
874+ then toBigInt(bU(bq(by)))
875+ else toBigInt(bU(bq(bz)))
876+ let gb = if (fZ)
877+ then dk
878+ else dl
879+ let gc = bU(bq(by))
880+ let gd = bU(bq(bz))
881+ let ge = if (fZ)
882+ then gc
883+ else gd
884+ let gf = toBigInt(ge)
885+ let fM = toBigInt(valueOrErrorMessage(assetInfo(bx), (("asset " + toBase58String(bx)) + " doesn't exist")).quantity)
886+ let gg = toBigInt(fF)
887+ let gh = max([0, toInt(((ga * (d - pow((d - ((gg * d) / fM)), 18, h, 0, 18, DOWN))) / d))])
888+ let gi = fp(gh, bg)
889+ let gj = gi._1
890+ let fq = gi._2
891+ let gk = if (fZ)
892+ then $Tuple4(gj, 0, (gc - gh), gd)
893+ else $Tuple4(0, gj, gc, (gd - gh))
894+ let gl = gk._1
895+ let gm = gk._2
896+ let gn = gk._3
897+ let go = gk._4
898+ let fI = bX(D(go, bB), D(gn, bA))
899+ let fJ = H(fI, b)
900+ let eu = if (fu)
901901 then nil
902- else [StringEntry(ad(toString(value(ab)), toBase58String(value(ac))), bR(gm, gn, fG, fK, height, lastBlock.timestamp)), IntegerEntry(W(), fK), IntegerEntry(X(height, lastBlock.timestamp), fK)]
903- let fR = bY(D(ge, bC), D(gd, bB))
904- let fS = H(fR, b)
905- let fT = {
906- let gq = (toInt(fraction(gb, gh, fN)) * 2)
907- fraction((gk - gq), b, gq)
902+ else [StringEntry(ad(toString(value(ab)), toBase58String(value(ac))), bQ(gl, gm, fF, fJ, height, lastBlock.timestamp)), IntegerEntry(W(), fJ), IntegerEntry(X(height, lastBlock.timestamp), fJ)]
903+ let fQ = bX(D(gd, bB), D(gc, bA))
904+ let fR = H(fQ, b)
905+ let fS = {
906+ let gp = (toInt(fraction(ga, gg, fM)) * 2)
907+ fraction((gj - gp), b, gp)
908908 }
909- $Tuple5(gk, ev, fr, fT, ga)
909+ $Tuple5(gj, eu, fq, fS, fZ)
910910 }
911911 else throw("Strict value is not equal to itself.")
912912 }
913913
914914
915-func gr () = {
916- let gs = aS()
917- let aQ = getString(gs, U())
918- if ($isInstanceOf(aQ, "String"))
915+func gq () = {
916+ let gr = aR()
917+ let aP = getString(gr, U())
918+ if ($isInstanceOf(aP, "String"))
919919 then {
920- let aV = aQ
921- fromBase58String(aV)
920+ let aU = aP
921+ fromBase58String(aU)
922922 }
923- else if ($isInstanceOf(aQ, "Unit"))
923+ else if ($isInstanceOf(aP, "Unit"))
924924 then unit
925925 else throw("Match error")
926926 }
927927
928928
929-func gt (fd) = {
930- let aQ = gr()
931- if ($isInstanceOf(aQ, "ByteVector"))
929+func gs (fc) = {
930+ let aP = gq()
931+ if ($isInstanceOf(aP, "ByteVector"))
932932 then {
933- let gu = aQ
934- (fd.callerPublicKey == gu)
933+ let gt = aP
934+ (fc.callerPublicKey == gt)
935935 }
936- else if ($isInstanceOf(aQ, "Unit"))
937- then (fd.caller == this)
936+ else if ($isInstanceOf(aP, "Unit"))
937+ then (fc.caller == this)
938938 else throw("Match error")
939939 }
940940
941941
942-func gv (fd) = {
943- let gw = throw("Permission denied")
944- let aQ = gr()
945- if ($isInstanceOf(aQ, "ByteVector"))
942+func gu (fc) = {
943+ let gv = throw("Permission denied")
944+ let aP = gq()
945+ if ($isInstanceOf(aP, "ByteVector"))
946946 then {
947- let gu = aQ
948- if ((fd.callerPublicKey == gu))
947+ let gt = aP
948+ if ((fc.callerPublicKey == gt))
949949 then true
950- else gw
950+ else gv
951951 }
952- else if ($isInstanceOf(aQ, "Unit"))
953- then if ((fd.caller == this))
952+ else if ($isInstanceOf(aP, "Unit"))
953+ then if ((fc.caller == this))
954954 then true
955- else gw
955+ else gv
956956 else throw("Match error")
957957 }
958958
959959
960-@Callable(fd)
961-func rebalance () = (cK(aW(this, ae())) ++ cK(aW(this, af())))
960+@Callable(fc)
961+func rebalance () = (cJ(aV(this, ae())) ++ cJ(aV(this, af())))
962962
963963
964964
965-@Callable(fd)
966-func calculateAmountOutForSwapREADONLY (gx,gy,gz) = {
967- let gA = if ((gy == false))
965+@Callable(fc)
966+func calculateAmountOutForSwapREADONLY (gw,gx,gy) = {
967+ let gz = if ((gx == false))
968968 then {
969- let gB = aW(this, af())
970- let gC = aW(this, ae())
971- $Tuple2(gB, gC)
969+ let gA = aV(this, af())
970+ let gB = aV(this, ae())
971+ $Tuple2(gA, gB)
972972 }
973973 else {
974- let gB = aW(this, ae())
975- let gC = aW(this, af())
976- $Tuple2(gB, gC)
974+ let gA = aV(this, ae())
975+ let gB = aV(this, af())
976+ $Tuple2(gA, gB)
977977 }
978- let gB = gA._1
979- let gC = gA._2
980- let gD = bV(gC)
981- let gE = bV(gB)
982- let gF = fraction(gE, gx, (gD + gx))
983- let gG = (toBigInt(gD) * toBigInt(gE))
984- let gH = (((toBigInt(bV(gC)) + toBigInt(gx)) + toBigInt(gz)) * (toBigInt(bV(gB)) - toBigInt(gF)))
985- let gI = if ((gH >= gG))
978+ let gA = gz._1
979+ let gB = gz._2
980+ let gC = bU(gB)
981+ let gD = bU(gA)
982+ let gE = fraction(gD, gw, (gC + gw))
983+ let gF = (toBigInt(gC) * toBigInt(gD))
984+ let gG = (((toBigInt(bU(gB)) + toBigInt(gw)) + toBigInt(gy)) * (toBigInt(bU(gA)) - toBigInt(gE)))
985+ let gH = if ((gG >= gF))
986986 then true
987987 else throw("new K is fewer error")
988- if ((gI == gI))
989- then $Tuple2(nil, gF)
988+ if ((gH == gH))
989+ then $Tuple2(nil, gE)
990990 else throw("Strict value is not equal to itself.")
991991 }
992992
993993
994994
995-@Callable(fd)
996-func calculateAmountOutForSwapAndSendTokens (gx,gy,gJ,gK,gz) = {
995+@Callable(fc)
996+func calculateAmountOutForSwapAndSendTokens (gw,gx,gI,gJ,gy) = {
997+ let gK = {
998+ let bf = invoke(bc, "getSwapContractREADONLY", nil, nil)
999+ if ($isInstanceOf(bf, "String"))
1000+ then bf
1001+ else throw(($getType(bf) + " couldn't be cast to String"))
1002+ }
9971003 let gL = {
998- let bg = invoke(bd, "getSwapContractREADONLY", nil, nil)
999- if ($isInstanceOf(bg, "String"))
1000- then bg
1001- else throw(($getType(bg) + " couldn't be cast to String"))
1004+ let bf = invoke(bc, "isPoolSwapDisabledREADONLY", [toString(this)], nil)
1005+ if ($isInstanceOf(bf, "Boolean"))
1006+ then bf
1007+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
10021008 }
1003- let gM = {
1004- let bg = invoke(bd, "isPoolSwapDisabledREADONLY", [toString(this)], nil)
1005- if ($isInstanceOf(bg, "Boolean"))
1006- then bg
1007- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1008- }
1009- let gN = if (!(bj(fd.caller)))
1010- then if (if (bk())
1009+ let gM = if (!(bi(fc.caller)))
1010+ then if (if (bj())
10111011 then true
1012- else (bx == n))
1012+ else (bw == n))
10131013 then true
1014- else gM
1014+ else gL
10151015 else false
1016- let fZ = [if (if (!(gN))
1016+ let fY = [if (if (!(gM))
10171017 then true
1018- else gt(fd))
1018+ else gs(fc))
10191019 then true
1020- else ba("swap operation is blocked by admin"), if ((value(fd.payments[0]).amount >= gx))
1020+ else aZ("swap operation is blocked by admin"), if ((value(fc.payments[0]).amount >= gw))
10211021 then true
1022- else ba("Wrong amount"), if ((fd.caller == addressFromStringValue(gL)))
1022+ else aZ("Wrong amount"), if ((fc.caller == addressFromStringValue(gK)))
10231023 then true
1024- else ba("Permission denied")]
1025- if ((fZ == fZ))
1024+ else aZ("Permission denied")]
1025+ if ((fY == fY))
10261026 then {
1027- let fe = value(fd.payments[0])
1028- let gC = br(fe.assetId)
1029- let gB = if ((gy == false))
1030- then aW(this, af())
1031- else aW(this, ae())
1032- let gD = (bV(gC) - value(fd.payments[0]).amount)
1033- let gE = bV(gB)
1034- let gF = fraction(gE, gx, (gD + gx))
1035- let gG = (toBigInt(gD) * toBigInt(gE))
1036- let gH = (toBigInt(bV(gC)) * (toBigInt(bV(gB)) - toBigInt(gF)))
1037- let gI = if ((gH >= gG))
1027+ let fd = value(fc.payments[0])
1028+ let gB = bq(fd.assetId)
1029+ let gA = if ((gx == false))
1030+ then aV(this, af())
1031+ else aV(this, ae())
1032+ let gC = ((bU(gB) - value(fc.payments[0]).amount) - gy)
1033+ let gD = bU(gA)
1034+ let gE = fraction(gD, gw, (gC + gw))
1035+ let gF = (toBigInt(gC) * toBigInt(gD))
1036+ let gG = ((toBigInt(bU(gB)) + toBigInt(gy)) * (toBigInt(bU(gA)) - toBigInt(gE)))
1037+ let gH = if ((gG >= gF))
10381038 then true
10391039 else throw("new K is fewer error")
1040- if ((gI == gI))
1040+ if ((gH == gH))
10411041 then {
1042- let gO = if ((gF >= gJ))
1042+ let gN = if ((gE >= gI))
10431043 then true
10441044 else throw("Exchange result is fewer coins than expected")
1045- if ((gO == gO))
1045+ if ((gN == gN))
10461046 then {
1047- let gP = aW(this, af())
1048- let gQ = fromBase58String(gP)
1049- let fr = fraction(gx, gz, 100)
1050- let gR = cK(gC)
1051- if ((gR == gR))
1047+ let eK = if (gx)
1048+ then -(gE)
1049+ else gy
1050+ let eL = if (gx)
1051+ then gy
1052+ else -(gE)
1053+ let gO = eJ(eK, eL, 0)._1
1054+ if ((gO == gO))
10521055 then {
1053- let gS = cR(gB, (gF + fr))
1054- if ((gS == gS))
1056+ let gP = cJ(gB)
1057+ if ((gP == gP))
10551058 then {
1056- let gT = ScriptTransfer(be, fr, gQ)
1057- $Tuple2(((gS ++ gR) ++ [ScriptTransfer(addressFromStringValue(gK), (gF - fr), bp(gB)), gT]), gF)
1059+ let gQ = cQ(gA, gE)
1060+ if ((gQ == gQ))
1061+ then $Tuple2(((gQ ++ gP) ++ [ScriptTransfer(addressFromStringValue(gJ), gE, bo(gA))]), gE)
1062+ else throw("Strict value is not equal to itself.")
10581063 }
10591064 else throw("Strict value is not equal to itself.")
10601065 }
10691074
10701075
10711076
1072-@Callable(fd)
1073-func put (dQ,gU) = if ((0 > dQ))
1077+@Callable(fc)
1078+func put (dP,gR) = if ((0 > dP))
10741079 then throw("Invalid slippageTolerance passed")
10751080 else {
1076- let fk = fh(fd, dQ, true)
1077- let es = fk._2
1078- let dx = fk._7
1079- let dO = fk._9
1080- let et = fk._10
1081- let eu = fk._11
1082- let gV = fk._12
1083- let gW = fk._13
1084- let fi = toBigInt(value(fd.payments[0]).amount)
1085- let fj = toBigInt(value(fd.payments[1]).amount)
1086- let eJ = eC(fi, fj, toBigInt(0))
1087- if ((eJ == eJ))
1081+ let fj = fg(fc, dP, true)
1082+ let er = fj._2
1083+ let dw = fj._7
1084+ let dN = fj._9
1085+ let es = fj._10
1086+ let et = fj._11
1087+ let gS = fj._12
1088+ let gT = fj._13
1089+ let fh = toBigInt(value(fc.payments[0]).amount)
1090+ let fi = toBigInt(value(fc.payments[1]).amount)
1091+ let eI = eB(fh, fi, toBigInt(0))
1092+ if ((eI == eI))
10881093 then {
1089- let fn = invoke(bd, "emit", [es], nil)
1090- if ((fn == fn))
1094+ let fm = invoke(bc, "emit", [er], nil)
1095+ if ((fm == fm))
10911096 then {
1092- let fo = {
1093- let aQ = fn
1094- if ($isInstanceOf(aQ, "Address"))
1097+ let fn = {
1098+ let aP = fm
1099+ if ($isInstanceOf(aP, "Address"))
10951100 then {
1096- let fp = aQ
1097- invoke(fp, "emit", [es], nil)
1101+ let fo = aP
1102+ invoke(fo, "emit", [er], nil)
10981103 }
10991104 else unit
11001105 }
1101- if ((fo == fo))
1106+ if ((fn == fn))
11021107 then {
1103- let gX = if ((et > 0))
1104- then invoke(bF, "put", nil, [AttachedPayment(gV, et)])
1108+ let gU = if ((es > 0))
1109+ then invoke(bE, "put", nil, [AttachedPayment(gS, es)])
11051110 else nil
1106- if ((gX == gX))
1111+ if ((gU == gU))
11071112 then {
1108- let gY = if ((eu > 0))
1109- then invoke(bF, "put", nil, [AttachedPayment(gW, eu)])
1113+ let gV = if ((et > 0))
1114+ then invoke(bE, "put", nil, [AttachedPayment(gT, et)])
11101115 else nil
1111- if ((gY == gY))
1116+ if ((gV == gV))
11121117 then {
1113- let gZ = if (gU)
1118+ let gW = if (gR)
11141119 then {
1115- let ha = invoke(bE, "stake", nil, [AttachedPayment(dx, es)])
1116- if ((ha == ha))
1120+ let gX = invoke(bD, "stake", nil, [AttachedPayment(dw, er)])
1121+ if ((gX == gX))
11171122 then nil
11181123 else throw("Strict value is not equal to itself.")
11191124 }
1120- else [ScriptTransfer(fd.caller, es, dx)]
1121- let hb = eK(0, 0, 0)
1122- if ((hb == hb))
1125+ else [ScriptTransfer(fc.caller, er, dw)]
1126+ let gY = eJ(0, 0, 0)
1127+ if ((gY == gY))
11231128 then {
1124- let eB = hb._2
1125- let hc = hb._1
1126- let hd = eP(eJ, eB)
1127- if ((hd == hd))
1129+ let eA = gY._2
1130+ let gO = gY._1
1131+ let gZ = eO(eI, eA)
1132+ if ((gZ == gZ))
11281133 then {
1129- let he = invoke(this, "rebalance", nil, nil)
1130- if ((he == he))
1131- then ((dO ++ gZ) ++ hc)
1134+ let ha = invoke(this, "rebalance", nil, nil)
1135+ if ((ha == ha))
1136+ then ((dN ++ gW) ++ gO)
11321137 else throw("Strict value is not equal to itself.")
11331138 }
11341139 else throw("Strict value is not equal to itself.")
11481153
11491154
11501155
1151-@Callable(fd)
1152-func putForFree (hf) = if ((0 > hf))
1156+@Callable(fc)
1157+func putForFree (hb) = if ((0 > hb))
11531158 then throw("Invalid value passed")
11541159 else {
1155- let fk = fh(fd, hf, false)
1156- let dO = fk._9
1157- let fi = toBigInt(value(fd.payments[0]).amount)
1158- let fj = toBigInt(value(fd.payments[1]).amount)
1159- let eJ = eC(fi, fj, toBigInt(0))
1160- if ((eJ == eJ))
1160+ let fj = fg(fc, hb, false)
1161+ let dN = fj._9
1162+ let fh = toBigInt(value(fc.payments[0]).amount)
1163+ let fi = toBigInt(value(fc.payments[1]).amount)
1164+ let eI = eB(fh, fi, toBigInt(0))
1165+ if ((eI == eI))
11611166 then {
1162- let hg = eK(0, 0, 0)
1163- let hc = hg._1
1164- let eB = hg._2
1165- let hd = eP(eJ, eB)
1166- if ((hd == hd))
1167- then (dO ++ hc)
1167+ let hc = eJ(0, 0, 0)
1168+ let gO = hc._1
1169+ let eA = hc._2
1170+ let gZ = eO(eI, eA)
1171+ if ((gZ == gZ))
1172+ then (dN ++ gO)
11681173 else throw("Strict value is not equal to itself.")
11691174 }
11701175 else throw("Strict value is not equal to itself.")
11721177
11731178
11741179
1175-@Callable(fd)
1176-func putOneTkn (hh,hi) = {
1177- let hj = {
1178- let bg = invoke(bd, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1179- if ($isInstanceOf(bg, "Boolean"))
1180- then bg
1181- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1180+@Callable(fc)
1181+func putOneTkn (hd,he) = {
1182+ let hf = {
1183+ let bf = invoke(bc, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1184+ if ($isInstanceOf(bf, "Boolean"))
1185+ then bf
1186+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
11821187 }
1183- let fl = if (!(bj(fd.caller)))
1184- then if (if (if (bk())
1188+ let fk = if (!(bi(fc.caller)))
1189+ then if (if (if (bj())
11851190 then true
1186- else (bx == l))
1191+ else (bw == l))
11871192 then true
1188- else (bx == n))
1193+ else (bw == n))
11891194 then true
1190- else hj
1195+ else hf
11911196 else false
1192- let fZ = [if (if (!(fl))
1197+ let fY = [if (if (!(fk))
11931198 then true
1194- else gt(fd))
1199+ else gs(fc))
11951200 then true
1196- else ba("put operation is blocked by admin"), if ((size(fd.payments) == 1))
1201+ else aZ("put operation is blocked by admin"), if ((size(fc.payments) == 1))
11971202 then true
1198- else ba("exactly 1 payment are expected")]
1199- if ((fZ == fZ))
1203+ else aZ("exactly 1 payment are expected")]
1204+ if ((fY == fY))
12001205 then {
1201- let hk = fd.payments[0]
1202- let fu = hk.assetId
1203- let ft = hk.amount
1204- let eJ = if ((fu == bz))
1205- then eC(toBigInt(ft), toBigInt(0), toBigInt(0))
1206- else if ((fu == bA))
1207- then eC(toBigInt(0), toBigInt(ft), toBigInt(0))
1208- else ba("payment asset is not supported")
1209- if ((eJ == eJ))
1206+ let hg = fc.payments[0]
1207+ let ft = hg.assetId
1208+ let fs = hg.amount
1209+ let eI = if ((ft == by))
1210+ then eB(toBigInt(fs), toBigInt(0), toBigInt(0))
1211+ else if ((ft == bz))
1212+ then eB(toBigInt(0), toBigInt(fs), toBigInt(0))
1213+ else aZ("payment asset is not supported")
1214+ if ((eI == eI))
12101215 then {
1211- let ab = fd.caller
1212- let ac = fd.transactionId
1213- let hl = fs(ft, fu, ab, ac)
1214- if ((hl == hl))
1216+ let ab = fc.caller
1217+ let ac = fc.transactionId
1218+ let hh = fr(fs, ft, ab, ac)
1219+ if ((hh == hh))
12151220 then {
1216- let fy = hl._5
1217- let hm = hl._4
1218- let fr = hl._3
1219- let ev = hl._2
1220- let hn = hl._1
1221- let ho = if (if ((hh > 0))
1222- then (hh > hn)
1221+ let fx = hh._5
1222+ let hi = hh._4
1223+ let fq = hh._3
1224+ let eu = hh._2
1225+ let hj = hh._1
1226+ let hk = if (if ((hd > 0))
1227+ then (hd > hj)
12231228 else false)
1224- then ba(makeString(["amount to receive is less than ", toString(hh)], ""))
1225- else hn
1226- let fn = fm(ho)
1227- if ((fn == fn))
1229+ then aZ(makeString(["amount to receive is less than ", toString(hd)], ""))
1230+ else hj
1231+ let fm = fl(hk)
1232+ if ((fm == fm))
12281233 then {
1229- let gZ = if (hi)
1234+ let gW = if (he)
12301235 then {
1231- let hp = invoke(bE, "stake", nil, [AttachedPayment(by, ho)])
1232- if ((hp == hp))
1236+ let hl = invoke(bD, "stake", nil, [AttachedPayment(bx, hk)])
1237+ if ((hl == hl))
12331238 then nil
12341239 else throw("Strict value is not equal to itself.")
12351240 }
1236- else [ScriptTransfer(fd.caller, ho, by)]
1237- let hq = if ((fr > 0))
1238- then [ScriptTransfer(be, fr, fu)]
1241+ else [ScriptTransfer(fc.caller, hk, bx)]
1242+ let hm = if ((fq > 0))
1243+ then [ScriptTransfer(bd, fq, ft)]
12391244 else nil
1240- let hr = if ((this == be))
1245+ let hn = if ((this == bd))
12411246 then $Tuple2(0, 0)
1242- else if (fy)
1243- then $Tuple2(-(fr), 0)
1244- else $Tuple2(0, -(fr))
1245- let eL = hr._1
1246- let eM = hr._2
1247- let hs = eK(eL, eM, 0)
1248- let hc = hs._1
1249- let eB = hs._2
1250- let eW = value(getString(aj))
1251- let hd = eP(eJ, eB)
1252- if ((hd == hd))
1247+ else if (fx)
1248+ then $Tuple2(-(fq), 0)
1249+ else $Tuple2(0, -(fq))
1250+ let eK = hn._1
1251+ let eL = hn._2
1252+ let ho = eJ(eK, eL, 0)
1253+ let gO = ho._1
1254+ let eA = ho._2
1255+ let eV = value(getString(aj))
1256+ let gZ = eO(eI, eA)
1257+ if ((gZ == gZ))
12531258 then {
1254- let he = invoke(this, "rebalance", nil, nil)
1255- if ((he == he))
1256- then $Tuple2((((ev ++ gZ) ++ hq) ++ hc), ho)
1259+ let ha = invoke(this, "rebalance", nil, nil)
1260+ if ((ha == ha))
1261+ then $Tuple2((((eu ++ gW) ++ hm) ++ gO), hk)
12571262 else throw("Strict value is not equal to itself.")
12581263 }
12591264 else throw("Strict value is not equal to itself.")
12691274
12701275
12711276
1272-@Callable(fd)
1273-func putOneTknREADONLY (fu,ft) = {
1274- let ht = fs(ft, bp(fu), unit, unit)
1275- let hn = ht._1
1276- let ev = ht._2
1277- let fr = ht._3
1278- let hm = ht._4
1279- let fy = ht._5
1280- $Tuple2(nil, $Tuple3(hn, fr, hm))
1277+@Callable(fc)
1278+func putOneTknREADONLY (ft,fs) = {
1279+ let hp = fr(fs, bo(ft), unit, unit)
1280+ let hj = hp._1
1281+ let eu = hp._2
1282+ let fq = hp._3
1283+ let hi = hp._4
1284+ let fx = hp._5
1285+ $Tuple2(nil, $Tuple3(hj, fq, hi))
12811286 }
12821287
12831288
12841289
1285-@Callable(fd)
1286-func getOneTkn (hu,hh) = {
1287- let hj = {
1288- let bg = invoke(bd, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1289- if ($isInstanceOf(bg, "Boolean"))
1290- then bg
1291- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1290+@Callable(fc)
1291+func getOneTkn (hq,hd) = {
1292+ let hf = {
1293+ let bf = invoke(bc, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1294+ if ($isInstanceOf(bf, "Boolean"))
1295+ then bf
1296+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
12921297 }
1293- let fg = if (!(bj(fd.caller)))
1294- then if (if (bk())
1298+ let ff = if (!(bi(fc.caller)))
1299+ then if (if (bj())
12951300 then true
1296- else (bx == n))
1301+ else (bw == n))
12971302 then true
1298- else hj
1303+ else hf
12991304 else false
1300- let fZ = [if (if (!(fg))
1305+ let fY = [if (if (!(ff))
13011306 then true
1302- else gt(fd))
1307+ else gs(fc))
13031308 then true
1304- else ba("get operation is blocked by admin"), if ((size(fd.payments) == 1))
1309+ else aZ("get operation is blocked by admin"), if ((size(fc.payments) == 1))
13051310 then true
1306- else ba("exactly 1 payment are expected")]
1307- if ((fZ == fZ))
1311+ else aZ("exactly 1 payment are expected")]
1312+ if ((fY == fY))
13081313 then {
1309- let fY = bp(hu)
1310- let hk = fd.payments[0]
1311- let fu = hk.assetId
1312- let fG = hk.amount
1313- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1314- if ((eJ == eJ))
1314+ let fX = bo(hq)
1315+ let hg = fc.payments[0]
1316+ let ft = hg.assetId
1317+ let fF = hg.amount
1318+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1319+ if ((eI == eI))
13151320 then {
1316- let ab = fd.caller
1317- let ac = fd.transactionId
1318- let hv = fX(fY, fG, fu, ab, ac)
1319- if ((hv == hv))
1321+ let ab = fc.caller
1322+ let ac = fc.transactionId
1323+ let hr = fW(fX, fF, ft, ab, ac)
1324+ if ((hr == hr))
13201325 then {
1321- let ga = hv._5
1322- let hm = hv._4
1323- let fr = hv._3
1324- let ev = hv._2
1325- let hw = hv._1
1326- let ch = if (if ((hh > 0))
1327- then (hh > hw)
1326+ let fZ = hr._5
1327+ let hi = hr._4
1328+ let fq = hr._3
1329+ let eu = hr._2
1330+ let hs = hr._1
1331+ let cg = if (if ((hd > 0))
1332+ then (hd > hs)
13281333 else false)
1329- then ba(makeString(["amount to receive is less than ", toString(hh)], ""))
1330- else hw
1331- let hx = invoke(bd, "burn", [fG], [AttachedPayment(fu, fG)])
1332- if ((hx == hx))
1334+ then aZ(makeString(["amount to receive is less than ", toString(hd)], ""))
1335+ else hs
1336+ let ht = invoke(bc, "burn", [fF], [AttachedPayment(ft, fF)])
1337+ if ((ht == ht))
13331338 then {
1334- let gS = cR(hu, (ch + max([0, fr])))
1335- let hy = [ScriptTransfer(ab, ch, fY)]
1336- let hq = if ((fr > 0))
1337- then [ScriptTransfer(be, fr, fY)]
1339+ let gQ = cQ(hq, (cg + max([0, fq])))
1340+ let hu = [ScriptTransfer(ab, cg, fX)]
1341+ let hm = if ((fq > 0))
1342+ then [ScriptTransfer(bd, fq, fX)]
13381343 else nil
1339- let hz = {
1340- let hA = if ((this == be))
1344+ let hv = {
1345+ let hw = if ((this == bd))
13411346 then 0
1342- else fr
1343- if (ga)
1344- then $Tuple2(-((ch + hA)), 0)
1345- else $Tuple2(0, -((ch + hA)))
1347+ else fq
1348+ if (fZ)
1349+ then $Tuple2(-((cg + hw)), 0)
1350+ else $Tuple2(0, -((cg + hw)))
13461351 }
1347- let eL = hz._1
1348- let eM = hz._2
1349- let hB = eK(eL, eM, 0)
1350- let hc = hB._1
1351- let eB = hB._2
1352- let hd = eP(eJ, eB)
1353- if ((hd == hd))
1354- then $Tuple2(((((ev ++ gS) ++ hy) ++ hq) ++ hc), ch)
1352+ let eK = hv._1
1353+ let eL = hv._2
1354+ let hx = eJ(eK, eL, 0)
1355+ let gO = hx._1
1356+ let eA = hx._2
1357+ let gZ = eO(eI, eA)
1358+ if ((gZ == gZ))
1359+ then $Tuple2(((((eu ++ gQ) ++ hu) ++ hm) ++ gO), cg)
13551360 else throw("Strict value is not equal to itself.")
13561361 }
13571362 else throw("Strict value is not equal to itself.")
13651370
13661371
13671372
1368-@Callable(fd)
1369-func getOneTknREADONLY (fY,fG) = {
1370- let hC = fX(bp(fY), fG, by, unit, unit)
1371- let hw = hC._1
1372- let ev = hC._2
1373- let fr = hC._3
1374- let hm = hC._4
1375- let ga = hC._5
1376- $Tuple2(nil, $Tuple3(hw, fr, hm))
1373+@Callable(fc)
1374+func getOneTknREADONLY (fX,fF) = {
1375+ let hy = fW(bo(fX), fF, bx, unit, unit)
1376+ let hs = hy._1
1377+ let eu = hy._2
1378+ let fq = hy._3
1379+ let hi = hy._4
1380+ let fZ = hy._5
1381+ $Tuple2(nil, $Tuple3(hs, fq, hi))
13771382 }
13781383
13791384
13801385
1381-@Callable(fd)
1382-func unstakeAndGetOneTkn (hD,hu,hh) = {
1383- let hj = {
1384- let bg = invoke(bd, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1385- if ($isInstanceOf(bg, "Boolean"))
1386- then bg
1387- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1386+@Callable(fc)
1387+func unstakeAndGetOneTkn (hz,hq,hd) = {
1388+ let hf = {
1389+ let bf = invoke(bc, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1390+ if ($isInstanceOf(bf, "Boolean"))
1391+ then bf
1392+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
13881393 }
1389- let fg = if (!(bj(fd.caller)))
1390- then if (if (bk())
1394+ let ff = if (!(bi(fc.caller)))
1395+ then if (if (bj())
13911396 then true
1392- else (bx == n))
1397+ else (bw == n))
13931398 then true
1394- else hj
1399+ else hf
13951400 else false
1396- let fZ = [if (if (!(fg))
1401+ let fY = [if (if (!(ff))
13971402 then true
1398- else gt(fd))
1403+ else gs(fc))
13991404 then true
1400- else ba("get operation is blocked by admin"), if ((size(fd.payments) == 0))
1405+ else aZ("get operation is blocked by admin"), if ((size(fc.payments) == 0))
14011406 then true
1402- else ba("no payments are expected")]
1403- if ((fZ == fZ))
1407+ else aZ("no payments are expected")]
1408+ if ((fY == fY))
14041409 then {
1405- let fY = bp(hu)
1406- let ab = fd.caller
1407- let ac = fd.transactionId
1408- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1409- if ((eJ == eJ))
1410+ let fX = bo(hq)
1411+ let ab = fc.caller
1412+ let ac = fc.transactionId
1413+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1414+ if ((eI == eI))
14101415 then {
1411- let hE = invoke(bE, "unstake", [toBase58String(by), hD], nil)
1412- if ((hE == hE))
1416+ let hA = invoke(bD, "unstake", [toBase58String(bx), hz], nil)
1417+ if ((hA == hA))
14131418 then {
1414- let hF = fX(fY, hD, by, ab, ac)
1415- if ((hF == hF))
1419+ let hB = fW(fX, hz, bx, ab, ac)
1420+ if ((hB == hB))
14161421 then {
1417- let ga = hF._5
1418- let hm = hF._4
1419- let fr = hF._3
1420- let ev = hF._2
1421- let hw = hF._1
1422- let ch = if (if ((hh > 0))
1423- then (hh > hw)
1422+ let fZ = hB._5
1423+ let hi = hB._4
1424+ let fq = hB._3
1425+ let eu = hB._2
1426+ let hs = hB._1
1427+ let cg = if (if ((hd > 0))
1428+ then (hd > hs)
14241429 else false)
1425- then ba(makeString(["amount to receive is less than ", toString(hh)], ""))
1426- else hw
1427- let hx = invoke(bd, "burn", [hD], [AttachedPayment(by, hD)])
1428- if ((hx == hx))
1430+ then aZ(makeString(["amount to receive is less than ", toString(hd)], ""))
1431+ else hs
1432+ let ht = invoke(bc, "burn", [hz], [AttachedPayment(bx, hz)])
1433+ if ((ht == ht))
14291434 then {
1430- let gS = cR(hu, (ch + max([0, fr])))
1431- let hy = [ScriptTransfer(fd.caller, ch, fY)]
1432- let hq = if ((fr > 0))
1433- then [ScriptTransfer(be, fr, fY)]
1435+ let gQ = cQ(hq, (cg + max([0, fq])))
1436+ let hu = [ScriptTransfer(fc.caller, cg, fX)]
1437+ let hm = if ((fq > 0))
1438+ then [ScriptTransfer(bd, fq, fX)]
14341439 else nil
1435- let hG = {
1436- let hA = if ((this == be))
1440+ let hC = {
1441+ let hw = if ((this == bd))
14371442 then 0
1438- else fr
1439- if (ga)
1440- then $Tuple2(-((ch + hA)), 0)
1441- else $Tuple2(0, -((ch + hA)))
1443+ else fq
1444+ if (fZ)
1445+ then $Tuple2(-((cg + hw)), 0)
1446+ else $Tuple2(0, -((cg + hw)))
14421447 }
1443- let eL = hG._1
1444- let eM = hG._2
1445- let hH = eK(eL, eM, 0)
1446- let hc = hH._1
1447- let eB = hH._2
1448- let hd = eP(eJ, eB)
1449- if ((hd == hd))
1450- then $Tuple2(((((ev ++ gS) ++ hy) ++ hq) ++ hc), ch)
1448+ let eK = hC._1
1449+ let eL = hC._2
1450+ let hD = eJ(eK, eL, 0)
1451+ let gO = hD._1
1452+ let eA = hD._2
1453+ let gZ = eO(eI, eA)
1454+ if ((gZ == gZ))
1455+ then $Tuple2(((((eu ++ gQ) ++ hu) ++ hm) ++ gO), cg)
14511456 else throw("Strict value is not equal to itself.")
14521457 }
14531458 else throw("Strict value is not equal to itself.")
14631468
14641469
14651470
1466-@Callable(fd)
1471+@Callable(fc)
14671472 func get () = {
1468- let eg = fc(fd)
1469- let dM = eg._1
1470- let dN = eg._2
1471- let ff = eg._3
1472- let dv = eg._4
1473- let dO = eg._5
1474- let gS = cW(dM, dN)
1475- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1476- if ((eJ == eJ))
1473+ let ef = fb(fc)
1474+ let dL = ef._1
1475+ let dM = ef._2
1476+ let fe = ef._3
1477+ let du = ef._4
1478+ let dN = ef._5
1479+ let gQ = cV(dL, dM)
1480+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1481+ if ((eI == eI))
14771482 then {
1478- let hI = invoke(bd, "burn", [ff], [AttachedPayment(dv, ff)])
1479- if ((hI == hI))
1483+ let hE = invoke(bc, "burn", [fe], [AttachedPayment(du, fe)])
1484+ if ((hE == hE))
14801485 then {
1481- let hJ = eK(-(dM), -(dN), 0)
1482- let hc = hJ._1
1483- let eB = hJ._2
1484- let hd = eP(eJ, eB)
1485- if ((hd == hd))
1486- then ((gS ++ dO) ++ hc)
1486+ let hF = eJ(-(dL), -(dM), 0)
1487+ let gO = hF._1
1488+ let eA = hF._2
1489+ let gZ = eO(eI, eA)
1490+ if ((gZ == gZ))
1491+ then ((gQ ++ dN) ++ gO)
14871492 else throw("Strict value is not equal to itself.")
14881493 }
14891494 else throw("Strict value is not equal to itself.")
14931498
14941499
14951500
1496-@Callable(fd)
1497-func getNoLess (hK,hL) = {
1498- let eg = fc(fd)
1499- let dM = eg._1
1500- let dN = eg._2
1501- let ff = eg._3
1502- let dv = eg._4
1503- let dO = eg._5
1504- if ((hK > dM))
1505- then throw(((("noLessThenAmtAsset failed: " + toString(dM)) + " < ") + toString(hK)))
1506- else if ((hL > dN))
1507- then throw(((("noLessThenPriceAsset failed: " + toString(dN)) + " < ") + toString(hL)))
1501+@Callable(fc)
1502+func getNoLess (hG,hH) = {
1503+ let ef = fb(fc)
1504+ let dL = ef._1
1505+ let dM = ef._2
1506+ let fe = ef._3
1507+ let du = ef._4
1508+ let dN = ef._5
1509+ if ((hG > dL))
1510+ then throw(((("noLessThenAmtAsset failed: " + toString(dL)) + " < ") + toString(hG)))
1511+ else if ((hH > dM))
1512+ then throw(((("noLessThenPriceAsset failed: " + toString(dM)) + " < ") + toString(hH)))
15081513 else {
1509- let gS = cW(dM, dN)
1510- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1511- if ((eJ == eJ))
1514+ let gQ = cV(dL, dM)
1515+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1516+ if ((eI == eI))
15121517 then {
1513- let hI = invoke(bd, "burn", [ff], [AttachedPayment(dv, ff)])
1514- if ((hI == hI))
1518+ let hE = invoke(bc, "burn", [fe], [AttachedPayment(du, fe)])
1519+ if ((hE == hE))
15151520 then {
1516- let hM = eK(-(dM), -(dN), 0)
1517- let hc = hM._1
1518- let eB = hM._2
1519- let hd = eP(eJ, eB)
1520- if ((hd == hd))
1521- then ((gS ++ dO) ++ hc)
1521+ let hI = eJ(-(dL), -(dM), 0)
1522+ let gO = hI._1
1523+ let eA = hI._2
1524+ let gZ = eO(eI, eA)
1525+ if ((gZ == gZ))
1526+ then ((gQ ++ dN) ++ gO)
15221527 else throw("Strict value is not equal to itself.")
15231528 }
15241529 else throw("Strict value is not equal to itself.")
15291534
15301535
15311536
1532-@Callable(fd)
1533-func unstakeAndGet (ch) = {
1534- let hN = if ((size(fd.payments) != 0))
1537+@Callable(fc)
1538+func unstakeAndGet (cg) = {
1539+ let hJ = if ((size(fc.payments) != 0))
15351540 then throw("No payments are expected")
15361541 else true
1537- if ((hN == hN))
1542+ if ((hJ == hJ))
15381543 then {
1539- let dk = bm()
1540- let dx = fromBase58String(dk[q])
1541- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1542- if ((eJ == eJ))
1544+ let dj = bl()
1545+ let dw = fromBase58String(dj[q])
1546+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1547+ if ((eI == eI))
15431548 then {
1544- let hE = invoke(bE, "unstake", [toBase58String(dx), ch], nil)
1545- if ((hE == hE))
1549+ let hA = invoke(bD, "unstake", [toBase58String(dw), cg], nil)
1550+ if ((hA == hA))
15461551 then {
1547- let eg = dt(toBase58String(fd.transactionId), toBase58String(dx), ch, fd.caller)
1548- let dM = eg._1
1549- let dN = eg._2
1550- let dA = parseIntValue(eg._9)
1551- let dO = eg._10
1552- let gS = cW(dM, dN)
1553- let fg = if (!(bj(fd.caller)))
1554- then if (bk())
1552+ let ef = ds(toBase58String(fc.transactionId), toBase58String(dw), cg, fc.caller)
1553+ let dL = ef._1
1554+ let dM = ef._2
1555+ let dz = parseIntValue(ef._9)
1556+ let dN = ef._10
1557+ let gQ = cV(dL, dM)
1558+ let ff = if (!(bi(fc.caller)))
1559+ then if (bj())
15551560 then true
1556- else (bx == n)
1561+ else (bw == n)
15571562 else false
1558- let hO = if (fg)
1559- then throw(("Get operation is blocked by admin. Status = " + toString(dA)))
1563+ let hK = if (ff)
1564+ then throw(("Get operation is blocked by admin. Status = " + toString(dz)))
15601565 else true
1561- if ((hO == hO))
1566+ if ((hK == hK))
15621567 then {
1563- let hI = invoke(bd, "burn", [ch], [AttachedPayment(dx, ch)])
1564- if ((hI == hI))
1568+ let hE = invoke(bc, "burn", [cg], [AttachedPayment(dw, cg)])
1569+ if ((hE == hE))
15651570 then {
1566- let hP = eK(-(dM), -(dN), 0)
1567- let hc = hP._1
1568- let eB = hP._2
1569- let hd = eP(eJ, eB)
1570- if ((hd == hd))
1571- then ((gS ++ dO) ++ hc)
1571+ let hL = eJ(-(dL), -(dM), 0)
1572+ let gO = hL._1
1573+ let eA = hL._2
1574+ let gZ = eO(eI, eA)
1575+ if ((gZ == gZ))
1576+ then ((gQ ++ dN) ++ gO)
15721577 else throw("Strict value is not equal to itself.")
15731578 }
15741579 else throw("Strict value is not equal to itself.")
15841589
15851590
15861591
1587-@Callable(fd)
1588-func unstakeAndGetNoLess (hD,hQ,hL) = {
1589- let fg = if (!(bj(fd.caller)))
1590- then if (bk())
1592+@Callable(fc)
1593+func unstakeAndGetNoLess (hz,hM,hH) = {
1594+ let ff = if (!(bi(fc.caller)))
1595+ then if (bj())
15911596 then true
1592- else (bx == n)
1597+ else (bw == n)
15931598 else false
1594- let fZ = [if (!(fg))
1599+ let fY = [if (!(ff))
15951600 then true
1596- else throw("get operation is blocked by admin"), if ((size(fd.payments) == 0))
1601+ else throw("get operation is blocked by admin"), if ((size(fc.payments) == 0))
15971602 then true
15981603 else throw("no payments are expected")]
1599- if ((fZ == fZ))
1604+ if ((fY == fY))
16001605 then {
1601- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1602- if ((eJ == eJ))
1606+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1607+ if ((eI == eI))
16031608 then {
1604- let hE = invoke(bE, "unstake", [toBase58String(by), hD], nil)
1605- if ((hE == hE))
1609+ let hA = invoke(bD, "unstake", [toBase58String(bx), hz], nil)
1610+ if ((hA == hA))
16061611 then {
1607- let eg = dt(toBase58String(fd.transactionId), toBase58String(by), hD, fd.caller)
1608- let dM = eg._1
1609- let dN = eg._2
1610- let dO = eg._10
1611- let gS = cW(dM, dN)
1612- let hR = [if ((dM >= hQ))
1612+ let ef = ds(toBase58String(fc.transactionId), toBase58String(bx), hz, fc.caller)
1613+ let dL = ef._1
1614+ let dM = ef._2
1615+ let dN = ef._10
1616+ let gQ = cV(dL, dM)
1617+ let hN = [if ((dL >= hM))
16131618 then true
1614- else throw(makeString(["amount asset amount to receive is less than ", toString(hQ)], "")), if ((dN >= hL))
1619+ else throw(makeString(["amount asset amount to receive is less than ", toString(hM)], "")), if ((dM >= hH))
16151620 then true
1616- else throw(makeString(["price asset amount to receive is less than ", toString(hL)], ""))]
1617- if ((hR == hR))
1621+ else throw(makeString(["price asset amount to receive is less than ", toString(hH)], ""))]
1622+ if ((hN == hN))
16181623 then {
1619- let hI = invoke(bd, "burn", [hD], [AttachedPayment(by, hD)])
1620- if ((hI == hI))
1624+ let hE = invoke(bc, "burn", [hz], [AttachedPayment(bx, hz)])
1625+ if ((hE == hE))
16211626 then {
1622- let hS = eK(-(dM), -(dN), 0)
1623- let hc = hS._1
1624- let eB = hS._2
1625- let hd = eP(eJ, eB)
1626- if ((hd == hd))
1627- then ((gS ++ dO) ++ hc)
1627+ let hO = eJ(-(dL), -(dM), 0)
1628+ let gO = hO._1
1629+ let eA = hO._2
1630+ let gZ = eO(eI, eA)
1631+ if ((gZ == gZ))
1632+ then ((gQ ++ dN) ++ gO)
16281633 else throw("Strict value is not equal to itself.")
16291634 }
16301635 else throw("Strict value is not equal to itself.")
16401645
16411646
16421647
1643-@Callable(fd)
1644-func activate (hT,hU) = if ((toString(fd.caller) != toString(bd)))
1648+@Callable(fc)
1649+func activate (hP,hQ) = if ((toString(fc.caller) != toString(bc)))
16451650 then throw("permissions denied")
1646- else $Tuple2([StringEntry(ae(), hT), StringEntry(af(), hU)], "success")
1651+ else $Tuple2([StringEntry(ae(), hP), StringEntry(af(), hQ)], "success")
16471652
16481653
16491654
1650-@Callable(fd)
1655+@Callable(fc)
16511656 func refreshKLp () = {
1652- let hV = valueOrElse(getInteger(ak), 0)
1653- let hW = if (((height - hV) >= an))
1657+ let hR = valueOrElse(getInteger(ak), 0)
1658+ let hS = if (((height - hR) >= an))
16541659 then unit
1655- else ba(makeString([toString(an), " blocks have not passed since the previous call"], ""))
1656- if ((hW == hW))
1660+ else aZ(makeString([toString(an), " blocks have not passed since the previous call"], ""))
1661+ if ((hS == hS))
16571662 then {
1658- let eW = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bc("invalid kLp"))
1659- let hX = eK(0, 0, 0)
1660- let hY = hX._1
1661- let eB = hX._2
1662- let eN = if ((eW != eB))
1663- then hY
1664- else ba("nothing to refresh")
1665- $Tuple2(eN, toString(eB))
1663+ let eV = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bb("invalid kLp"))
1664+ let hT = eJ(0, 0, 0)
1665+ let hU = hT._1
1666+ let eA = hT._2
1667+ let eM = if ((eV != eA))
1668+ then hU
1669+ else aZ("nothing to refresh")
1670+ $Tuple2(eM, toString(eA))
16661671 }
16671672 else throw("Strict value is not equal to itself.")
16681673 }
16691674
16701675
16711676
1672-@Callable(fd)
1673-func getPoolConfigWrapperREADONLY () = $Tuple2(nil, bm())
1677+@Callable(fc)
1678+func getPoolConfigWrapperREADONLY () = $Tuple2(nil, bl())
16741679
16751680
16761681
1677-@Callable(fd)
1678-func getAccBalanceWrapperREADONLY (ap) = $Tuple2(nil, bV(ap))
1682+@Callable(fc)
1683+func getAccBalanceWrapperREADONLY (ap) = $Tuple2(nil, bU(ap))
16791684
16801685
16811686
1682-@Callable(fd)
1683-func calcPricesWrapperREADONLY (de,df,dj) = {
1684- let ds = di(de, df, dj)
1685- $Tuple2(nil, [toString(ds[0]), toString(ds[1]), toString(ds[2])])
1687+@Callable(fc)
1688+func calcPricesWrapperREADONLY (dd,de,di) = {
1689+ let dr = dh(dd, de, di)
1690+ $Tuple2(nil, [toString(dr[0]), toString(dr[1]), toString(dr[2])])
16861691 }
16871692
16881693
16891694
1690-@Callable(fd)
1695+@Callable(fc)
16911696 func toX18WrapperREADONLY (E,F) = $Tuple2(nil, toString(D(E, F)))
16921697
16931698
16941699
1695-@Callable(fd)
1700+@Callable(fc)
16961701 func fromX18WrapperREADONLY (I,J) = $Tuple2(nil, H(parseBigIntValue(I), J))
16971702
16981703
16991704
1700-@Callable(fd)
1701-func calcPriceBigIntWrapperREADONLY (bZ,ca) = $Tuple2(nil, toString(bY(parseBigIntValue(bZ), parseBigIntValue(ca))))
1705+@Callable(fc)
1706+func calcPriceBigIntWrapperREADONLY (bY,bZ) = $Tuple2(nil, toString(bX(parseBigIntValue(bY), parseBigIntValue(bZ))))
17021707
17031708
17041709
1705-@Callable(fd)
1706-func estimatePutOperationWrapperREADONLY (du,dQ,dR,dS,dT,dU,ab,dV,dW) = $Tuple2(nil, dP(du, dQ, dR, dS, dT, dU, ab, dV, dW))
1710+@Callable(fc)
1711+func estimatePutOperationWrapperREADONLY (dt,dP,dQ,dR,dS,dT,ab,dU,dV) = $Tuple2(nil, dO(dt, dP, dQ, dR, dS, dT, ab, dU, dV))
17071712
17081713
17091714
1710-@Callable(fd)
1711-func estimateGetOperationWrapperREADONLY (du,dv,dw,ab) = {
1712- let eg = dt(du, dv, dw, addressFromStringValue(ab))
1713- $Tuple2(nil, $Tuple10(eg._1, eg._2, eg._3, eg._4, eg._5, eg._6, eg._7, toString(eg._8), eg._9, eg._10))
1715+@Callable(fc)
1716+func estimateGetOperationWrapperREADONLY (dt,du,dv,ab) = {
1717+ let ef = ds(dt, du, dv, addressFromStringValue(ab))
1718+ $Tuple2(nil, $Tuple10(ef._1, ef._2, ef._3, ef._4, ef._5, ef._6, ef._7, toString(ef._8), ef._9, ef._10))
17141719 }
17151720
17161721
17171722
1718-@Callable(fd)
1723+@Callable(fc)
17191724 func statsREADONLY () = {
1720- let dk = bm()
1721- let dx = fromBase58String(dk[q])
1722- let hZ = dk[r]
1723- let gP = dk[s]
1724- let dZ = dk[v]
1725- let ea = dk[w]
1726- let dl = parseIntValue(dk[t])
1727- let dm = parseIntValue(dk[u])
1728- let ia = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
1729- let ib = bV(hZ)
1730- let ic = bV(gP)
1731- let id = if ((ia == 0))
1725+ let dj = bl()
1726+ let dw = fromBase58String(dj[q])
1727+ let hV = dj[r]
1728+ let hW = dj[s]
1729+ let dY = dj[v]
1730+ let dZ = dj[w]
1731+ let dk = parseIntValue(dj[t])
1732+ let dl = parseIntValue(dj[u])
1733+ let hX = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
1734+ let hY = bU(hV)
1735+ let hZ = bU(hW)
1736+ let ia = if ((hX == 0))
17321737 then [e, e, e]
1733- else di(ib, ic, ia)
1734- let dH = 0
1735- let ie = H(id[1], b)
1736- let if = H(id[2], b)
1737- let ig = value(getInteger(bd, aD(toString(this))))
1738- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(ib), toString(ic), toString(ia), toString(dH), toString(ie), toString(if), toString(ig)], j))
1738+ else dh(hY, hZ, hX)
1739+ let dG = 0
1740+ let ib = H(ia[1], b)
1741+ let ic = H(ia[2], b)
1742+ let id = value(getInteger(bc, aD(toString(this))))
1743+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(hY), toString(hZ), toString(hX), toString(dG), toString(ib), toString(ic), toString(id)], j))
17391744 }
17401745
17411746
17421747
1743-@Callable(fd)
1744-func evaluatePutByAmountAssetREADONLY (dR) = {
1745- let dk = bm()
1746- let dx = fromBase58String(dk[q])
1747- let dX = dk[r]
1748+@Callable(fc)
1749+func evaluatePutByAmountAssetREADONLY (dQ) = {
1750+ let dj = bl()
1751+ let dw = fromBase58String(dj[q])
1752+ let dW = dj[r]
1753+ let dx = fromBase58String(dW)
1754+ let dX = dj[s]
17481755 let dy = fromBase58String(dX)
1749- let dY = dk[s]
1750- let dz = fromBase58String(dY)
1751- let dl = parseIntValue(dk[t])
1752- let dm = parseIntValue(dk[u])
1753- let dA = dk[p]
1754- let ia = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
1755- let ib = bV(dX)
1756- let ic = bV(dY)
1757- let dg = D(ib, dl)
1758- let dh = D(ic, dm)
1759- let dG = if ((ia == 0))
1756+ let dk = parseIntValue(dj[t])
1757+ let dl = parseIntValue(dj[u])
1758+ let dz = dj[p]
1759+ let hX = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
1760+ let hY = bU(dW)
1761+ let hZ = bU(dX)
1762+ let df = D(hY, dk)
1763+ let dg = D(hZ, dl)
1764+ let dF = if ((hX == 0))
17601765 then e
1761- else bY(dh, dg)
1762- let ed = D(dR, dl)
1763- let ee = fraction(ed, dG, d)
1764- let dT = H(ee, dm)
1765- let fk = dP("", 500000, dR, dy, dT, dz, "", true, false)
1766- let eo = fk._1
1767- let ih = fk._3
1768- let dC = fk._4
1769- let dE = fk._5
1770- let dB = fk._6
1771- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(eo), toString(H(dG, b)), toString(dC), toString(dE), toString(dB), dA, toString(dR), toString(dT)], j))
1766+ else bX(dg, df)
1767+ let ec = D(dQ, dk)
1768+ let ed = fraction(ec, dF, d)
1769+ let dS = H(ed, dl)
1770+ let fj = dO("", 500000, dQ, dx, dS, dy, "", true, false)
1771+ let en = fj._1
1772+ let ie = fj._3
1773+ let dB = fj._4
1774+ let dD = fj._5
1775+ let dA = fj._6
1776+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(en), toString(H(dF, b)), toString(dB), toString(dD), toString(dA), dz, toString(dQ), toString(dS)], j))
17721777 }
17731778
17741779
17751780
1776-@Callable(fd)
1777-func evaluatePutByPriceAssetREADONLY (dT) = {
1778- let dk = bm()
1779- let dx = fromBase58String(dk[q])
1780- let dX = dk[r]
1781+@Callable(fc)
1782+func evaluatePutByPriceAssetREADONLY (dS) = {
1783+ let dj = bl()
1784+ let dw = fromBase58String(dj[q])
1785+ let dW = dj[r]
1786+ let dx = fromBase58String(dW)
1787+ let dX = dj[s]
17811788 let dy = fromBase58String(dX)
1782- let dY = dk[s]
1783- let dz = fromBase58String(dY)
1784- let dl = parseIntValue(dk[t])
1785- let dm = parseIntValue(dk[u])
1786- let dA = dk[p]
1787- let ia = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
1788- let ii = bV(dX)
1789- let ij = bV(dY)
1790- let ik = D(ii, dl)
1791- let il = D(ij, dm)
1792- let dG = if ((ia == 0))
1789+ let dk = parseIntValue(dj[t])
1790+ let dl = parseIntValue(dj[u])
1791+ let dz = dj[p]
1792+ let hX = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
1793+ let if = bU(dW)
1794+ let ig = bU(dX)
1795+ let ih = D(if, dk)
1796+ let ii = D(ig, dl)
1797+ let dF = if ((hX == 0))
17931798 then e
1794- else bY(il, ik)
1795- let ee = D(dT, dm)
1796- let ed = fraction(ee, d, dG)
1797- let dR = H(ed, dl)
1798- let fk = dP("", 500000, dR, dy, dT, dz, "", true, false)
1799- let eo = fk._1
1800- let ih = fk._3
1801- let dC = fk._4
1802- let dE = fk._5
1803- let dB = fk._6
1804- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(eo), toString(H(dG, b)), toString(dC), toString(dE), toString(dB), dA, toString(dR), toString(dT)], j))
1799+ else bX(ii, ih)
1800+ let ed = D(dS, dl)
1801+ let ec = fraction(ed, d, dF)
1802+ let dQ = H(ec, dk)
1803+ let fj = dO("", 500000, dQ, dx, dS, dy, "", true, false)
1804+ let en = fj._1
1805+ let ie = fj._3
1806+ let dB = fj._4
1807+ let dD = fj._5
1808+ let dA = fj._6
1809+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(en), toString(H(dF, b)), toString(dB), toString(dD), toString(dA), dz, toString(dQ), toString(dS)], j))
18051810 }
18061811
18071812
18081813
1809-@Callable(fd)
1810-func evaluateGetREADONLY (im,in) = {
1811- let eg = dt("", im, in, this)
1812- let dM = eg._1
1813- let dN = eg._2
1814- let dC = eg._5
1815- let dE = eg._6
1816- let dB = eg._7
1817- let dH = eg._8
1818- let dA = parseIntValue(eg._9)
1819- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dM), toString(dN), toString(dC), toString(dE), toString(dB), toString(dH), toString(dA)], j))
1814+@Callable(fc)
1815+func evaluateGetREADONLY (ij,ik) = {
1816+ let ef = ds("", ij, ik, this)
1817+ let dL = ef._1
1818+ let dM = ef._2
1819+ let dB = ef._5
1820+ let dD = ef._6
1821+ let dA = ef._7
1822+ let dG = ef._8
1823+ let dz = parseIntValue(ef._9)
1824+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dL), toString(dM), toString(dB), toString(dD), toString(dA), toString(dG), toString(dz)], j))
18201825 }
18211826
18221827
1823-@Verifier(io)
1824-func ip () = {
1825- let iq = {
1826- let aQ = gr()
1827- if ($isInstanceOf(aQ, "ByteVector"))
1828+@Verifier(il)
1829+func im () = {
1830+ let in = {
1831+ let aP = gq()
1832+ if ($isInstanceOf(aP, "ByteVector"))
18281833 then {
1829- let gu = aQ
1830- gu
1834+ let gt = aP
1835+ gt
18311836 }
1832- else if ($isInstanceOf(aQ, "Unit"))
1833- then io.senderPublicKey
1837+ else if ($isInstanceOf(aP, "Unit"))
1838+ then il.senderPublicKey
18341839 else throw("Match error")
18351840 }
1836- let aQ = io
1837- if ($isInstanceOf(aQ, "Order"))
1841+ let aP = il
1842+ if ($isInstanceOf(aP, "Order"))
18381843 then {
1839- let eS = aQ
1840- let ir = bl()
1841- let is = if (eO())
1844+ let eR = aP
1845+ let io = bk()
1846+ let ip = if (eN())
18421847 then $Tuple2(true, "")
1843- else eR(eS)
1844- let aK = is._1
1845- let aL = is._2
1846- let aM = sigVerify(eS.bodyBytes, eS.proofs[0], eS.senderPublicKey)
1847- let aN = sigVerify(eS.bodyBytes, eS.proofs[1], ir)
1848- if (if (if (aK)
1848+ else eQ(eR)
1849+ let aK = ip._1
1850+ let aL = ip._2
1851+ let aM = sigVerify(eR.bodyBytes, eR.proofs[1], io)
1852+ if (if (aK)
18491853 then aM
18501854 else false)
1851- then aN
1852- else false)
18531855 then true
1854- else aJ(aK, aL, aM, aN)
1856+ else aJ(aK, aL, aM)
18551857 }
1856- else if ($isInstanceOf(aQ, "SetScriptTransaction"))
1858+ else if ($isInstanceOf(aP, "SetScriptTransaction"))
18571859 then {
1858- let aV = aQ
1859- if (sigVerify(io.bodyBytes, io.proofs[0], iq))
1860+ let aU = aP
1861+ if (sigVerify(il.bodyBytes, il.proofs[0], in))
18601862 then true
18611863 else {
1862- let it = blake2b256(value(aV.script))
1863- let iu = fromBase64String(value(getString(bd, aF())))
1864- let iv = scriptHash(this)
1865- if ((iu == it))
1866- then (iv != it)
1864+ let iq = blake2b256(value(aU.script))
1865+ let ir = fromBase64String(value(getString(bc, aF())))
1866+ let is = scriptHash(this)
1867+ if ((ir == iq))
1868+ then (is != iq)
18671869 else false
18681870 }
18691871 }
1870- else sigVerify(io.bodyBytes, io.proofs[0], iq)
1872+ else sigVerify(il.bodyBytes, il.proofs[0], in)
18711873 }
18721874
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = toBigInt(100000000)
99
1010 let d = toBigInt(1000000000000000000)
1111
1212 let e = toBigInt(0)
1313
1414 let f = toBigInt(0)
1515
1616 let g = toBigInt(1)
1717
1818 let h = toBigInt(2)
1919
2020 let i = "WAVES"
2121
2222 let j = "__"
2323
2424 let k = 1
2525
2626 let l = 2
2727
2828 let m = 3
2929
3030 let n = 4
3131
3232 let o = 1
3333
3434 let p = 2
3535
3636 let q = 3
3737
3838 let r = 4
3939
4040 let s = 5
4141
4242 let t = 6
4343
4444 let u = 7
4545
4646 let v = 8
4747
4848 let w = 9
4949
5050 let x = 10
5151
5252 let y = 1
5353
5454 let z = 2
5555
5656 let A = 3
5757
5858 let B = 1
5959
6060 let C = 7
6161
6262 func D (E,F) = fraction(toBigInt(E), d, toBigInt(F))
6363
6464
6565 func G (E,F) = fraction(E, d, F)
6666
6767
6868 func H (I,J) = toInt(fraction(I, toBigInt(J), d))
6969
7070
7171 func K (I,J,L) = toInt(fraction(I, toBigInt(J), d, L))
7272
7373
7474 func M (N,O,P) = fraction(N, O, P)
7575
7676
7777 func Q (I) = if ((0 > I))
7878 then -(I)
7979 else I
8080
8181
8282 func R (I) = if ((e > I))
8383 then -(I)
8484 else I
8585
8686
8787 func S () = "%s__swapContract"
8888
8989
9090 func T () = "%s__factoryContract"
9191
9292
9393 func U () = "%s__managerPublicKey"
9494
9595
9696 func V () = "%s__managerVaultAddress"
9797
9898
9999 func W () = "%s%s__price__last"
100100
101101
102102 func X (Y,Z) = makeString(["%s%s%d%d__price__history", toString(Y), toString(Z)], j)
103103
104104
105105 func aa (ab,ac) = ((("%s%s%s__P__" + ab) + "__") + ac)
106106
107107
108108 func ad (ab,ac) = ((("%s%s%s__G__" + ab) + "__") + ac)
109109
110110
111111 func ae () = "%s__amountAsset"
112112
113113
114114 func af () = "%s__priceAsset"
115115
116116
117117 let ag = "%s__fee"
118118
119119 let ah = fraction(10, b, 10000)
120120
121121 let ai = valueOrElse(getInteger(this, ag), ah)
122122
123123 let aj = makeString(["%s", "kLp"], j)
124124
125125 let ak = makeString(["%s", "kLpRefreshedHeight"], j)
126126
127127 let al = makeString(["%s", "refreshKLpDelay"], j)
128128
129129 let am = 30
130130
131131 let an = valueOrElse(getInteger(this, al), am)
132132
133133 func ao (ap) = makeString(["%s%s", "stakedBalance", ap], j)
134134
135135
136136 func aq (ap) = makeString(["%s%s", "shareAssetBalance", ap], j)
137137
138138
139139 func ar (ap) = valueOrElse(getInteger(this, ao(ap)), 0)
140140
141141
142142 func as (ap) = valueOrElse(getInteger(this, aq(ap)), 0)
143143
144144
145145 func at () = "%s__factoryConfig"
146146
147147
148148 func au () = "%s%s__matcher__publicKey"
149149
150150
151151 func av (aw) = (("%s%s%s__" + aw) + "__mappings__poolContract2LpAsset")
152152
153153
154154 func ax (ay,az) = (((("%d%d%s__" + ay) + "__") + az) + "__config")
155155
156156
157157 func aA (aB) = ("%s%s%s__mappings__baseAsset2internalId__" + aB)
158158
159159
160160 func aC () = "%s__shutdown"
161161
162162
163163 func aD (aE) = ("%s%s__poolWeight__" + aE)
164164
165165
166166 func aF () = "%s__allowedLpScriptHash"
167167
168168
169169 let aG = "%s__feeCollectorAddress"
170170
171171 func aH (aI) = ("%s%s__skipOrderValidation__" + aI)
172172
173173
174-func aJ (aK,aL,aM,aN) = throw((((((((("order validation failed: orderValid=" + toString(aK)) + " (") + aL) + ")") + " senderValid=") + toString(aM)) + " matcherValid=") + toString(aN)))
174+func aJ (aK,aL,aM) = throw((((((("order validation failed: orderValid=" + toString(aK)) + " (") + aL) + ")") + " matcherValid=") + toString(aM)))
175175
176176
177-func aO (aP) = {
178- let aQ = addressFromString(aP)
179- if ($isInstanceOf(aQ, "Address"))
177+func aN (aO) = {
178+ let aP = addressFromString(aO)
179+ if ($isInstanceOf(aP, "Address"))
180180 then {
181- let aR = aQ
182- aR
181+ let aQ = aP
182+ aQ
183183 }
184184 else this
185185 }
186186
187187
188-func aS () = {
189- let aT = {
190- let aQ = getString(T())
191- if ($isInstanceOf(aQ, "String"))
188+func aR () = {
189+ let aS = {
190+ let aP = getString(T())
191+ if ($isInstanceOf(aP, "String"))
192192 then {
193- let aU = aQ
194- aO(aU)
193+ let aT = aP
194+ aN(aT)
195195 }
196196 else this
197197 }
198- let aQ = getString(aT, V())
199- if ($isInstanceOf(aQ, "String"))
198+ let aP = getString(aS, V())
199+ if ($isInstanceOf(aP, "String"))
200200 then {
201- let aV = aQ
202- aO(aV)
201+ let aU = aP
202+ aN(aU)
203203 }
204204 else this
205205 }
206206
207207
208-func aW (aX,aY) = valueOrErrorMessage(getString(aX, aY), makeString(["mandatory ", toString(aX), ".", aY, " is not defined"], ""))
208+func aV (aW,aX) = valueOrErrorMessage(getString(aW, aX), makeString(["mandatory ", toString(aW), ".", aX, " is not defined"], ""))
209209
210210
211-func aZ (aX,aY) = valueOrErrorMessage(getInteger(aX, aY), makeString(["mandatory ", toString(aX), ".", aY, " is not defined"], ""))
211+func aY (aW,aX) = valueOrErrorMessage(getInteger(aW, aX), makeString(["mandatory ", toString(aW), ".", aX, " is not defined"], ""))
212212
213213
214-func ba (bb) = throw(makeString(["lp.ride:", bb], " "))
214+func aZ (ba) = throw(makeString(["lp.ride:", ba], " "))
215215
216216
217-func bc (bb) = makeString(["lp.ride:", bb], " ")
217+func bb (ba) = makeString(["lp.ride:", ba], " ")
218218
219219
220-let bd = addressFromStringValue(aW(this, T()))
220+let bc = addressFromStringValue(aV(this, T()))
221221
222-let be = addressFromStringValue(aW(bd, aG))
222+let bd = addressFromStringValue(aV(bc, aG))
223223
224-let bf = {
225- let bg = invoke(bd, "getInFeeREADONLY", [toString(this)], nil)
226- if ($isInstanceOf(bg, "Int"))
227- then bg
228- else throw(($getType(bg) + " couldn't be cast to Int"))
224+let be = {
225+ let bf = invoke(bc, "getInFeeREADONLY", [toString(this)], nil)
226+ if ($isInstanceOf(bf, "Int"))
227+ then bf
228+ else throw(($getType(bf) + " couldn't be cast to Int"))
229229 }
230230
231-let bh = {
232- let bg = invoke(bd, "getOutFeeREADONLY", [toString(this)], nil)
233- if ($isInstanceOf(bg, "Int"))
234- then bg
235- else throw(($getType(bg) + " couldn't be cast to Int"))
231+let bg = {
232+ let bf = invoke(bc, "getOutFeeREADONLY", [toString(this)], nil)
233+ if ($isInstanceOf(bf, "Int"))
234+ then bf
235+ else throw(($getType(bf) + " couldn't be cast to Int"))
236236 }
237237
238-func bi (aX) = makeString(["%s%s", "whitelisted", toString(aX)], j)
238+func bh (aW) = makeString(["%s%s", "whitelisted", toString(aW)], j)
239239
240240
241-func bj (aX) = valueOrElse(getBoolean(bd, bi(aX)), false)
241+func bi (aW) = valueOrElse(getBoolean(bc, bh(aW)), false)
242242
243243
244-func bk () = valueOrElse(getBoolean(bd, aC()), false)
244+func bj () = valueOrElse(getBoolean(bc, aC()), false)
245245
246246
247-func bl () = fromBase58String(aW(bd, au()))
247+func bk () = fromBase58String(aV(bc, au()))
248248
249249
250-func bm () = {
251- let bn = aW(this, ae())
252- let bo = aW(this, af())
253- let az = aZ(bd, aA(bo))
254- let ay = aZ(bd, aA(bn))
255- split(aW(bd, ax(toString(ay), toString(az))), j)
250+func bl () = {
251+ let bm = aV(this, ae())
252+ let bn = aV(this, af())
253+ let az = aY(bc, aA(bn))
254+ let ay = aY(bc, aA(bm))
255+ split(aV(bc, ax(toString(ay), toString(az))), j)
256256 }
257257
258258
259-func bp (bq) = if ((bq == i))
259+func bo (bp) = if ((bp == i))
260260 then unit
261- else fromBase58String(bq)
261+ else fromBase58String(bp)
262262
263263
264-func br (bq) = if ((bq == unit))
264+func bq (bp) = if ((bp == unit))
265265 then i
266- else toBase58String(value(bq))
266+ else toBase58String(value(bp))
267267
268268
269-func bs (bt) = $Tuple7(addressFromStringValue(bt[o]), parseIntValue(bt[p]), fromBase58String(bt[q]), bp(bt[r]), bp(bt[s]), parseIntValue(bt[t]), parseIntValue(bt[u]))
269+func br (bs) = $Tuple7(addressFromStringValue(bs[o]), parseIntValue(bs[p]), fromBase58String(bs[q]), bo(bs[r]), bo(bs[s]), parseIntValue(bs[t]), parseIntValue(bs[u]))
270270
271271
272-let bu = bs(bm())
272+let bt = br(bl())
273273
274-let bv = bu
274+let bu = bt
275275
276-let bw = bv._1
276+let bv = bu._1
277277
278-let bx = bv._2
278+let bw = bu._2
279279
280-let by = bv._3
280+let bx = bu._3
281281
282-let bz = bv._4
282+let by = bu._4
283283
284-let bA = bv._5
284+let bz = bu._5
285285
286-let bB = bv._6
286+let bA = bu._6
287287
288-let bC = bv._7
288+let bB = bu._7
289289
290-func bD () = split(aW(bd, at()), j)
290+func bC () = split(aV(bc, at()), j)
291291
292292
293-let bE = valueOrErrorMessage(addressFromString(bD()[B]), "incorrect staking address")
293+let bD = valueOrErrorMessage(addressFromString(bC()[B]), "incorrect staking address")
294294
295-let bF = valueOrErrorMessage(addressFromString(bD()[C]), "incorrect staking address")
295+let bE = valueOrErrorMessage(addressFromString(bC()[C]), "incorrect staking address")
296296
297-func bG (bH,bI,bJ,bK,bL,bM,bN,bO,bP,bQ) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(bH), toString(bI), toString(bJ), toString(bK), toString(bL), toString(bM), toString(bN), toString(bO), toString(bP), toString(bQ)], j)
297+func bF (bG,bH,bI,bJ,bK,bL,bM,bN,bO,bP) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(bG), toString(bH), toString(bI), toString(bJ), toString(bK), toString(bL), toString(bM), toString(bN), toString(bO), toString(bP)], j)
298298
299299
300-func bR (bS,bT,bU,bK,bN,bO) = makeString(["%d%d%d%d%d%d", toString(bS), toString(bT), toString(bU), toString(bK), toString(bN), toString(bO)], j)
300+func bQ (bR,bS,bT,bJ,bM,bN) = makeString(["%d%d%d%d%d%d", toString(bR), toString(bS), toString(bT), toString(bJ), toString(bM), toString(bN)], j)
301301
302302
303-func bV (ap) = {
304- let bW = if ((ap == "WAVES"))
303+func bU (ap) = {
304+ let bV = if ((ap == "WAVES"))
305305 then wavesBalance(this).available
306306 else assetBalance(this, fromBase58String(ap))
307- let bX = ((bW + ar(ap)) - as(ap))
308- max([0, bX])
307+ let bW = ((bV + ar(ap)) - as(ap))
308+ max([0, bW])
309309 }
310310
311311
312-func bY (bZ,ca) = fraction(bZ, d, ca)
312+func bX (bY,bZ) = fraction(bY, d, bZ)
313313
314314
315-func cb (bZ,ca,L) = fraction(bZ, d, ca, L)
315+func ca (bY,bZ,L) = fraction(bY, d, bZ, L)
316316
317317
318-func cc (cd) = {
319- let ce = invoke(cd, "getRate", nil, nil)
320- if ((ce == ce))
318+func cb (cc) = {
319+ let cd = invoke(cc, "getRate", nil, nil)
320+ if ((cd == cd))
321321 then {
322- let aQ = ce
323- if ($isInstanceOf(aQ, "Int"))
322+ let aP = cd
323+ if ($isInstanceOf(aP, "Int"))
324324 then {
325- let cf = aQ
326- cf
325+ let ce = aP
326+ ce
327327 }
328- else ba("proxy.getRate() unexpected value")
328+ else aZ("proxy.getRate() unexpected value")
329329 }
330330 else throw("Strict value is not equal to itself.")
331331 }
332332
333333
334-func cg (ap,ch,ci,cd) = {
335- let cj = ar(ap)
336- if ((cj == cj))
334+func cf (ap,cg,ch,cc) = {
335+ let ci = ar(ap)
336+ if ((ci == ci))
337337 then {
338- let ck = as(ci)
339- if ((ck == ck))
338+ let cj = as(ch)
339+ if ((cj == cj))
340340 then {
341- let cl = bp(ap)
342- if ((ch > 0))
341+ let ck = bo(ap)
342+ if ((cg > 0))
343343 then {
344- let cm = invoke(cd, "deposit", nil, [AttachedPayment(cl, ch)])
345- if ((cm == cm))
344+ let cl = invoke(cc, "deposit", nil, [AttachedPayment(ck, cg)])
345+ if ((cl == cl))
346346 then {
347- let aQ = cm
348- if ($isInstanceOf(aQ, "Int"))
347+ let aP = cl
348+ if ($isInstanceOf(aP, "Int"))
349349 then {
350- let cn = aQ
351- let co = (cj + ch)
352- let cp = (ck + cn)
353-[IntegerEntry(ao(ap), co), IntegerEntry(aq(ci), cp)]
350+ let cm = aP
351+ let cn = (ci + cg)
352+ let co = (cj + cm)
353+[IntegerEntry(ao(ap), cn), IntegerEntry(aq(ch), co)]
354354 }
355355 else nil
356356 }
357357 else throw("Strict value is not equal to itself.")
358358 }
359359 else nil
360360 }
361361 else throw("Strict value is not equal to itself.")
362362 }
363363 else throw("Strict value is not equal to itself.")
364364 }
365365
366366
367-func cq (ap,ch,ci,cd,cr,cs) = {
368- let cj = ar(ap)
369- if ((cj == cj))
367+func cp (ap,cg,ch,cc,cq,cr) = {
368+ let ci = ar(ap)
369+ if ((ci == ci))
370370 then {
371- let ck = as(ci)
372- if ((ck == ck))
371+ let cj = as(ch)
372+ if ((cj == cj))
373373 then {
374- let ct = cc(cd)
375- if ((ct == ct))
374+ let cs = cb(cc)
375+ if ((cs == cs))
376376 then {
377- let cu = fraction(cr, cj, ck)
378- let cv = bp(ci)
379- let cw = fraction(cr, ch, cu)
380- let cx = fraction(cr, ch, ct)
381- let cy = max([0, (cw - cx)])
382- if ((cx > 0))
377+ let ct = fraction(cq, ci, cj)
378+ let cu = bo(ch)
379+ let cv = fraction(cq, cg, ct)
380+ let cw = fraction(cq, cg, cs)
381+ let cx = max([0, (cv - cw)])
382+ if ((cw > 0))
383383 then {
384- let cz = invoke(cd, "withdraw", nil, [AttachedPayment(cv, cx)])
385- if ((cz == cz))
384+ let cy = invoke(cc, "withdraw", nil, [AttachedPayment(cu, cw)])
385+ if ((cy == cy))
386386 then {
387- let aQ = cz
388- if ($isInstanceOf(aQ, "Int"))
387+ let aP = cy
388+ if ($isInstanceOf(aP, "Int"))
389389 then {
390- let cA = aQ
391- let co = (cj - cA)
392- let cp = ((ck - cx) - cy)
393-[IntegerEntry(ao(ap), co), IntegerEntry(aq(ci), cp), ScriptTransfer(cs, cy, bp(ci))]
390+ let cz = aP
391+ let cn = (ci - cz)
392+ let co = ((cj - cw) - cx)
393+[IntegerEntry(ao(ap), cn), IntegerEntry(aq(ch), co), ScriptTransfer(cr, cx, bo(ch))]
394394 }
395395 else nil
396396 }
397397 else throw("Strict value is not equal to itself.")
398398 }
399399 else nil
400400 }
401401 else throw("Strict value is not equal to itself.")
402402 }
403403 else throw("Strict value is not equal to itself.")
404404 }
405405 else throw("Strict value is not equal to itself.")
406406 }
407407
408408
409-func cB (ap) = {
410- let aQ = invoke(bd, "getPoolLeaseConfigREADONLY", [toString(this), ap], nil)
411- if ($isInstanceOf(aQ, "(Boolean, Int, Int, String, String, Int, String)"))
409+func cA (ap) = {
410+ let aP = invoke(bc, "getPoolLeaseConfigREADONLY", [toString(this), ap], nil)
411+ if ($isInstanceOf(aP, "(Boolean, Int, Int, String, String, Int, String)"))
412412 then {
413- let aR = aQ
414- aR
413+ let aQ = aP
414+ aQ
415415 }
416- else ba((("[" + ap) + "] getLeaseProxyConfig() error"))
416+ else aZ((("[" + ap) + "] getLeaseProxyConfig() error"))
417417 }
418418
419419
420-func cC (cD,ap,ci,cE,cd,cr,cs) = {
421- let ck = as(ci)
422- if ((ck == ck))
420+func cB (cC,ap,ch,cD,cc,cq,cr) = {
421+ let cj = as(ch)
422+ if ((cj == cj))
423423 then {
424- let cj = if ((ck != 0))
424+ let ci = if ((cj != 0))
425425 then ar(ap)
426426 else 0
427- if ((cj == cj))
427+ if ((ci == ci))
428428 then {
429- let cF = max([0, (bV(ap) - cE)])
430- let cG = fraction(cD, cF, 100)
431- let cH = (cj - cG)
432- if ((cH == 0))
429+ let cE = max([0, (bU(ap) - cD)])
430+ let cF = fraction(cC, cE, 100)
431+ let cG = (ci - cF)
432+ if ((cG == 0))
433433 then nil
434- else if ((0 > cH))
434+ else if ((0 > cG))
435435 then {
436- let cI = -(cH)
437- cg(ap, cI, ci, cd)
436+ let cH = -(cG)
437+ cf(ap, cH, ch, cc)
438438 }
439439 else {
440- let cJ = cH
441- cq(ap, cJ, ci, cd, cr, cs)
440+ let cI = cG
441+ cp(ap, cI, ch, cc, cq, cr)
442442 }
443443 }
444444 else throw("Strict value is not equal to itself.")
445445 }
446446 else throw("Strict value is not equal to itself.")
447447 }
448448
449449
450-func cK (ap) = {
451- let cL = cB(ap)
452- let cM = cL._1
453- let cN = cL._2
454- let cE = cL._3
455- let cO = cL._4
456- let cP = cL._5
457- let cr = cL._6
458- let cQ = cL._7
459- if (cM)
460- then cC(cN, ap, cP, cE, addressFromStringValue(cO), cr, addressFromStringValue(cQ))
450+func cJ (ap) = {
451+ let cK = cA(ap)
452+ let cL = cK._1
453+ let cM = cK._2
454+ let cD = cK._3
455+ let cN = cK._4
456+ let cO = cK._5
457+ let cq = cK._6
458+ let cP = cK._7
459+ if (cL)
460+ then cB(cM, ap, cO, cD, addressFromStringValue(cN), cq, addressFromStringValue(cP))
461461 else nil
462462 }
463463
464464
465-func cR (ap,cS) = {
466- let cT = cB(ap)
467- let cM = cT._1
468- let cN = cT._2
469- let cE = cT._3
470- let cO = cT._4
471- let cP = cT._5
472- let cr = cT._6
473- let cQ = cT._7
474- if (cM)
465+func cQ (ap,cR) = {
466+ let cS = cA(ap)
467+ let cL = cS._1
468+ let cM = cS._2
469+ let cD = cS._3
470+ let cN = cS._4
471+ let cO = cS._5
472+ let cq = cS._6
473+ let cP = cS._7
474+ if (cL)
475475 then {
476- let ck = as(cP)
477- if ((ck == ck))
476+ let cj = as(cO)
477+ if ((cj == cj))
478478 then {
479- let cj = if ((ck != 0))
479+ let ci = if ((cj != 0))
480480 then ar(ap)
481481 else 0
482- if ((cj == cj))
482+ if ((ci == ci))
483483 then {
484- let cU = max([0, ((bV(ap) - cS) - cE)])
485- if ((cU == cU))
484+ let cT = max([0, ((bU(ap) - cR) - cD)])
485+ if ((cT == cT))
486486 then {
487- let co = fraction(cN, cU, 100)
488- if ((co == co))
487+ let cn = fraction(cM, cT, 100)
488+ if ((cn == cn))
489489 then {
490- let cV = (cj - co)
491- if ((cV == cV))
492- then if ((cV == 0))
490+ let cU = (ci - cn)
491+ if ((cU == cU))
492+ then if ((cU == 0))
493493 then nil
494- else if ((0 > cV))
495- then cg(ap, -(cV), cP, addressFromStringValue(cO))
496- else cq(ap, cV, cP, addressFromStringValue(cO), cr, addressFromStringValue(cQ))
494+ else if ((0 > cU))
495+ then cf(ap, -(cU), cO, addressFromStringValue(cN))
496+ else cp(ap, cU, cO, addressFromStringValue(cN), cq, addressFromStringValue(cP))
497497 else throw("Strict value is not equal to itself.")
498498 }
499499 else throw("Strict value is not equal to itself.")
500500 }
501501 else throw("Strict value is not equal to itself.")
502502 }
503503 else throw("Strict value is not equal to itself.")
504504 }
505505 else throw("Strict value is not equal to itself.")
506506 }
507507 else nil
508508 }
509509
510510
511-func cW (cX,cY) = {
512- let cZ = cR(aW(this, ae()), cX)
513- let da = cR(aW(this, af()), cY)
514- (cZ ++ da)
511+func cV (cW,cX) = {
512+ let cY = cQ(aV(this, ae()), cW)
513+ let cZ = cQ(aV(this, af()), cX)
514+ (cY ++ cZ)
515515 }
516516
517517
518-func db (dc,dd,de,df) = {
518+func da (db,dc,dd,de) = {
519+ let df = D(dd, db)
519520 let dg = D(de, dc)
520- let dh = D(df, dd)
521- bY(dh, dg)
521+ bX(dg, df)
522522 }
523523
524524
525-func di (de,df,dj) = {
526- let dk = bm()
527- let dl = parseIntValue(dk[t])
528- let dm = parseIntValue(dk[u])
529- let dn = db(dl, dm, de, df)
530- let ca = D(de, dl)
531- let bZ = D(df, dm)
532- let do = D(dj, b)
533- let dp = bY(ca, do)
534- let dq = bY(bZ, do)
535-[dn, dp, dq]
525+func dh (dd,de,di) = {
526+ let dj = bl()
527+ let dk = parseIntValue(dj[t])
528+ let dl = parseIntValue(dj[u])
529+ let dm = da(dk, dl, dd, de)
530+ let bZ = D(dd, dk)
531+ let bY = D(de, dl)
532+ let dn = D(di, b)
533+ let do = bX(bZ, dn)
534+ let dp = bX(bY, dn)
535+[dm, do, dp]
536536 }
537537
538538
539-func dr (de,df,dj) = {
540- let ds = di(de, df, dj)
541-[H(ds[0], b), H(ds[1], b), H(ds[2], b)]
539+func dq (dd,de,di) = {
540+ let dr = dh(dd, de, di)
541+[H(dr[0], b), H(dr[1], b), H(dr[2], b)]
542542 }
543543
544544
545-func dt (du,dv,dw,ab) = {
546- let dk = bm()
547- let dx = dk[q]
548- let dy = dk[r]
549- let dz = dk[s]
550- let dc = parseIntValue(dk[t])
551- let dd = parseIntValue(dk[u])
552- let dA = dk[p]
553- let dB = valueOrErrorMessage(assetInfo(fromBase58String(dx)), (("Asset " + dx) + " doesn't exist")).quantity
554- if ((dx != dv))
545+func ds (dt,du,dv,ab) = {
546+ let dj = bl()
547+ let dw = dj[q]
548+ let dx = dj[r]
549+ let dy = dj[s]
550+ let db = parseIntValue(dj[t])
551+ let dc = parseIntValue(dj[u])
552+ let dz = dj[p]
553+ let dA = valueOrErrorMessage(assetInfo(fromBase58String(dw)), (("Asset " + dw) + " doesn't exist")).quantity
554+ if ((dw != du))
555555 then throw("Invalid asset passed.")
556556 else {
557- let dC = bV(dy)
558- let dD = D(dC, dc)
559- let dE = bV(dz)
560- let dF = D(dE, dd)
561- let dG = bY(dF, dD)
562- let dH = H(dG, b)
563- let dI = D(dw, b)
564- let dJ = D(dB, b)
565- let dK = fraction(dD, dI, dJ)
566- let dL = fraction(dF, dI, dJ)
557+ let dB = bU(dx)
558+ let dC = D(dB, db)
559+ let dD = bU(dy)
560+ let dE = D(dD, dc)
561+ let dF = bX(dE, dC)
562+ let dG = H(dF, b)
563+ let dH = D(dv, b)
564+ let dI = D(dA, b)
565+ let dJ = fraction(dC, dH, dI)
566+ let dK = fraction(dE, dH, dI)
567+ let dL = K(dJ, db, FLOOR)
567568 let dM = K(dK, dc, FLOOR)
568- let dN = K(dL, dd, FLOOR)
569- let dO = if ((du == ""))
569+ let dN = if ((dt == ""))
570570 then nil
571- else [ScriptTransfer(ab, dM, if ((dy == "WAVES"))
571+ else [ScriptTransfer(ab, dL, if ((dx == "WAVES"))
572572 then unit
573- else fromBase58String(dy)), ScriptTransfer(ab, dN, if ((dz == "WAVES"))
573+ else fromBase58String(dx)), ScriptTransfer(ab, dM, if ((dy == "WAVES"))
574574 then unit
575- else fromBase58String(dz)), StringEntry(ad(toString(ab), du), bR(dM, dN, dw, dH, height, lastBlock.timestamp)), IntegerEntry(W(), dH), IntegerEntry(X(height, lastBlock.timestamp), dH)]
576- $Tuple10(dM, dN, dy, dz, dC, dE, dB, dG, dA, dO)
575+ else fromBase58String(dy)), StringEntry(ad(toString(ab), dt), bQ(dL, dM, dv, dG, height, lastBlock.timestamp)), IntegerEntry(W(), dG), IntegerEntry(X(height, lastBlock.timestamp), dG)]
576+ $Tuple10(dL, dM, dx, dy, dB, dD, dA, dF, dz, dN)
577577 }
578578 }
579579
580580
581-func dP (du,dQ,dR,dS,dT,dU,ab,dV,dW) = {
582- let dk = bm()
583- let dx = fromBase58String(dk[q])
584- let dX = dk[r]
585- let dY = dk[s]
586- let dZ = dk[v]
587- let ea = dk[w]
588- let dl = parseIntValue(dk[t])
589- let dm = parseIntValue(dk[u])
590- let dA = dk[p]
591- let dB = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
592- let eb = toBase58String(valueOrElse(dS, fromBase58String("WAVES")))
593- let ec = toBase58String(valueOrElse(dU, fromBase58String("WAVES")))
594- if (if ((dX != eb))
581+func dO (dt,dP,dQ,dR,dS,dT,ab,dU,dV) = {
582+ let dj = bl()
583+ let dw = fromBase58String(dj[q])
584+ let dW = dj[r]
585+ let dX = dj[s]
586+ let dY = dj[v]
587+ let dZ = dj[w]
588+ let dk = parseIntValue(dj[t])
589+ let dl = parseIntValue(dj[u])
590+ let dz = dj[p]
591+ let dA = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
592+ let ea = toBase58String(valueOrElse(dR, fromBase58String("WAVES")))
593+ let eb = toBase58String(valueOrElse(dT, fromBase58String("WAVES")))
594+ if (if ((dW != ea))
595595 then true
596- else (dY != ec))
596+ else (dX != eb))
597597 then throw("Invalid amt or price asset passed.")
598598 else {
599- let dC = if (dV)
600- then bV(dX)
601- else (bV(dX) - dR)
602- let dE = if (dV)
603- then bV(dY)
604- else (bV(dY) - dT)
605- let ed = D(dR, dl)
606- let ee = D(dT, dm)
607- let ef = bY(ee, ed)
608- let dD = D(dC, dl)
609- let dF = D(dE, dm)
610- let eg = if ((dB == 0))
599+ let dB = if (dU)
600+ then bU(dW)
601+ else (bU(dW) - dQ)
602+ let dD = if (dU)
603+ then bU(dX)
604+ else (bU(dX) - dS)
605+ let ec = D(dQ, dk)
606+ let ed = D(dS, dl)
607+ let ee = bX(ed, ec)
608+ let dC = D(dB, dk)
609+ let dE = D(dD, dl)
610+ let ef = if ((dA == 0))
611611 then {
612- let dG = e
613- let eh = e
614- let do = pow((ed * ee), 0, toBigInt(5), 1, 0, DOWN)
615- $Tuple5(H(do, b), H(ed, dl), H(ee, dm), bY((dF + ee), (dD + ed)), eh)
612+ let dF = e
613+ let eg = e
614+ let dn = pow((ec * ed), 0, toBigInt(5), 1, 0, DOWN)
615+ $Tuple5(H(dn, b), H(ec, dk), H(ed, dl), bX((dE + ed), (dC + ec)), eg)
616616 }
617617 else {
618- let dG = bY(dF, dD)
619- let eh = fraction(R((dG - ef)), d, dG)
620- let ei = D(dQ, b)
621- if (if ((dG != e))
622- then (eh > ei)
618+ let dF = bX(dE, dC)
619+ let eg = fraction(R((dF - ee)), d, dF)
620+ let eh = D(dP, b)
621+ if (if ((dF != e))
622+ then (eg > eh)
623623 else false)
624- then throw(((("Price slippage " + toString(eh)) + " exceeded the passed limit of ") + toString(ei)))
624+ then throw(((("Price slippage " + toString(eg)) + " exceeded the passed limit of ") + toString(eh)))
625625 else {
626- let dJ = D(dB, b)
627- let ej = fraction(ed, cb(dF, dD, CEILING), d, CEILING)
628- let ek = fraction(ee, d, cb(dF, dD, FLOOR), CEILING)
629- let el = if ((ej > ee))
630- then $Tuple2(ek, ee)
631- else $Tuple2(ed, ej)
632- let em = el._1
633- let en = el._2
634- let do = fraction(dJ, en, dF, FLOOR)
635- $Tuple5(K(do, b, FLOOR), K(em, dl, CEILING), K(en, dm, CEILING), dG, eh)
626+ let dI = D(dA, b)
627+ let ei = fraction(ec, ca(dE, dC, CEILING), d, CEILING)
628+ let ej = fraction(ed, d, ca(dE, dC, FLOOR), CEILING)
629+ let ek = if ((ei > ed))
630+ then $Tuple2(ej, ed)
631+ else $Tuple2(ec, ei)
632+ let el = ek._1
633+ let em = ek._2
634+ let dn = fraction(dI, em, dE, FLOOR)
635+ $Tuple5(K(dn, b, FLOOR), K(el, dk, CEILING), K(em, dl, CEILING), dF, eg)
636636 }
637637 }
638- let eo = eg._1
639- let ep = eg._2
640- let eq = eg._3
641- let dH = H(eg._4, b)
642- let er = H(eg._5, b)
643- if ((0 >= eo))
638+ let en = ef._1
639+ let eo = ef._2
640+ let ep = ef._3
641+ let dG = H(ef._4, b)
642+ let eq = H(ef._5, b)
643+ if ((0 >= en))
644644 then throw("Invalid calculations. LP calculated is less than zero.")
645645 else {
646- let es = if (!(dW))
646+ let er = if (!(dV))
647647 then 0
648- else eo
649- let et = (dR - ep)
650- let eu = (dT - eq)
651- let ev = [IntegerEntry(W(), dH), IntegerEntry(X(height, lastBlock.timestamp), dH), StringEntry(aa(ab, du), bG(ep, eq, es, dH, dQ, er, height, lastBlock.timestamp, et, eu))]
652- $Tuple13(eo, es, dH, dC, dE, dB, dx, dA, ev, et, eu, dS, dU)
648+ else en
649+ let es = (dQ - eo)
650+ let et = (dS - ep)
651+ let eu = [IntegerEntry(W(), dG), IntegerEntry(X(height, lastBlock.timestamp), dG), StringEntry(aa(ab, dt), bF(eo, ep, er, dG, dP, eq, height, lastBlock.timestamp, es, et))]
652+ $Tuple13(en, er, dG, dB, dD, dA, dw, dz, eu, es, et, dR, dT)
653653 }
654654 }
655655 }
656656
657657
658-func ew (ex,ey,dB) = {
658+func ev (ew,ex,dA) = {
659+ let ey = G(ew, toBigInt(bA))
659660 let ez = G(ex, toBigInt(bB))
660- let eA = G(ey, toBigInt(bC))
661- let eB = fraction(pow((ez * eA), 0, toBigInt(5), 1, 18, DOWN), g, dB)
662- if ((dB == f))
661+ let eA = fraction(pow((ey * ez), 0, toBigInt(5), 1, 18, DOWN), g, dA)
662+ if ((dA == f))
663663 then f
664- else eB
664+ else eA
665665 }
666666
667667
668-func eC (eD,eE,eF) = {
669- let eG = (toBigInt(bV(br(bz))) - eD)
670- let eH = (toBigInt(bV(br(bA))) - eE)
671- let eI = (toBigInt(value(assetInfo(by)).quantity) - eF)
672- let eJ = ew(eG, eH, eI)
673- eJ
668+func eB (eC,eD,eE) = {
669+ let eF = (toBigInt(bU(bq(by))) - eC)
670+ let eG = (toBigInt(bU(bq(bz))) - eD)
671+ let eH = (toBigInt(value(assetInfo(bx)).quantity) - eE)
672+ let eI = ev(eF, eG, eH)
673+ eI
674674 }
675675
676676
677-func eK (eL,eM,eF) = {
678- let eG = (bV(br(bz)) + eL)
679- let eH = (bV(br(bA)) + eM)
680- let eI = (value(assetInfo(by)).quantity + eF)
681- let eB = ew(toBigInt(eG), toBigInt(eH), toBigInt(eI))
682- let eN = [IntegerEntry(ak, height), StringEntry(aj, toString(eB))]
683- $Tuple2(eN, eB)
677+func eJ (eK,eL,eE) = {
678+ let eF = (bU(bq(by)) + eK)
679+ let eG = (bU(bq(bz)) + eL)
680+ let eH = (value(assetInfo(bx)).quantity + eE)
681+ let eA = ev(toBigInt(eF), toBigInt(eG), toBigInt(eH))
682+ let eM = [IntegerEntry(ak, height), StringEntry(aj, toString(eA))]
683+ $Tuple2(eM, eA)
684684 }
685685
686686
687-func eO () = valueOrElse(getBoolean(bd, aH(toString(this))), false)
687+func eN () = valueOrElse(getBoolean(bc, aH(toString(this))), false)
688688
689689
690-func eP (eQ,eB) = if ((eB >= eQ))
690+func eO (eP,eA) = if ((eA >= eP))
691691 then true
692- else ba(makeString(["updated KLp lower than current KLp", toString(eQ), toString(eB)], " "))
692+ else aZ(makeString(["updated KLp lower than current KLp", toString(eP), toString(eA)], " "))
693693
694694
695-func eR (eS) = {
696- let eG = bV(br(bz))
697- let eH = bV(br(bA))
698- let eT = eS.amount
699- let eU = fraction(eS.amount, eS.price, b, FLOOR)
700- let eV = if ((eS.orderType == Buy))
701- then $Tuple2(eT, -(eU))
702- else $Tuple2(-(eT), eU)
703- let eL = eV._1
704- let eM = eV._2
705- if (if (if (bk())
695+func eQ (eR) = {
696+ let eF = bU(bq(by))
697+ let eG = bU(bq(bz))
698+ let eS = eR.amount
699+ let eT = fraction(eR.amount, eR.price, b, FLOOR)
700+ let eU = if ((eR.orderType == Buy))
701+ then $Tuple2(eS, -(eT))
702+ else $Tuple2(-(eS), eT)
703+ let eK = eU._1
704+ let eL = eU._2
705+ if (if (if (bj())
706706 then true
707- else (bx == m))
707+ else (bw == m))
708708 then true
709- else (bx == n))
709+ else (bw == n))
710710 then throw("Exchange operations disabled")
711- else if (if ((eS.assetPair.amountAsset != bz))
711+ else if (if ((eR.assetPair.amountAsset != by))
712712 then true
713- else (eS.assetPair.priceAsset != bA))
713+ else (eR.assetPair.priceAsset != bz))
714714 then throw("Wrong order assets.")
715715 else {
716- let eW = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bc("invalid kLp"))
717- let eX = eK(eL, eM, 0)
718- let eY = eX._1
719- let eZ = eX._2
720- let fa = (eZ >= eW)
721- let fb = makeString(["kLp=", toString(eW), " kLpNew=", toString(eZ), " amountAssetBalance=", toString(eG), " priceAssetBalance=", toString(eH), " amountAssetBalanceDelta=", toString(eL), " priceAssetBalanceDelta=", toString(eM), " height=", toString(height)], "")
722- $Tuple2(fa, fb)
716+ let eV = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bb("invalid kLp"))
717+ let eW = eJ(eK, eL, 0)
718+ let eX = eW._1
719+ let eY = eW._2
720+ let eZ = (eY >= eV)
721+ let fa = makeString(["kLp=", toString(eV), " kLpNew=", toString(eY), " amountAssetBalance=", toString(eF), " priceAssetBalance=", toString(eG), " amountAssetBalanceDelta=", toString(eK), " priceAssetBalanceDelta=", toString(eL), " height=", toString(height)], "")
722+ $Tuple2(eZ, fa)
723723 }
724724 }
725725
726726
727-func fc (fd) = if ((size(fd.payments) != 1))
727+func fb (fc) = if ((size(fc.payments) != 1))
728728 then throw("exactly 1 payment is expected")
729729 else {
730- let fe = value(fd.payments[0])
731- let dv = value(fe.assetId)
732- let ff = fe.amount
733- let eg = dt(toBase58String(fd.transactionId), toBase58String(dv), ff, fd.caller)
734- let dM = eg._1
735- let dN = eg._2
736- let dO = eg._10
737- let fg = if (!(bj(fd.caller)))
738- then if (bk())
730+ let fd = value(fc.payments[0])
731+ let du = value(fd.assetId)
732+ let fe = fd.amount
733+ let ef = ds(toBase58String(fc.transactionId), toBase58String(du), fe, fc.caller)
734+ let dL = ef._1
735+ let dM = ef._2
736+ let dN = ef._10
737+ let ff = if (!(bi(fc.caller)))
738+ then if (bj())
739739 then true
740- else (bx == n)
740+ else (bw == n)
741741 else false
742- if (fg)
743- then throw(("Get operation is blocked by admin. Status = " + toString(bx)))
744- else $Tuple5(dM, dN, ff, dv, dO)
742+ if (ff)
743+ then throw(("Get operation is blocked by admin. Status = " + toString(bw)))
744+ else $Tuple5(dL, dM, fe, du, dN)
745745 }
746746
747747
748-func fh (fd,dQ,dW) = if ((size(fd.payments) != 2))
748+func fg (fc,dP,dV) = if ((size(fc.payments) != 2))
749749 then throw("exactly 2 payments are expected")
750750 else {
751- let fi = value(fd.payments[0])
752- let fj = value(fd.payments[1])
753- let fk = dP(toBase58String(fd.transactionId), dQ, fi.amount, fi.assetId, fj.amount, fj.assetId, toString(fd.caller), false, dW)
754- let fl = if (!(bj(fd.caller)))
755- then if (if (bk())
751+ let fh = value(fc.payments[0])
752+ let fi = value(fc.payments[1])
753+ let fj = dO(toBase58String(fc.transactionId), dP, fh.amount, fh.assetId, fi.amount, fi.assetId, toString(fc.caller), false, dV)
754+ let fk = if (!(bi(fc.caller)))
755+ then if (if (bj())
756756 then true
757- else (bx == l))
757+ else (bw == l))
758758 then true
759- else (bx == n)
759+ else (bw == n)
760760 else false
761- if (fl)
762- then throw(("Put operation is blocked by admin. Status = " + toString(bx)))
763- else fk
761+ if (fk)
762+ then throw(("Put operation is blocked by admin. Status = " + toString(bw)))
763+ else fj
764764 }
765765
766766
767-func fm (ch) = {
768- let fn = invoke(bd, "emit", [ch], nil)
769- if ((fn == fn))
767+func fl (cg) = {
768+ let fm = invoke(bc, "emit", [cg], nil)
769+ if ((fm == fm))
770770 then {
771- let fo = {
772- let aQ = fn
773- if ($isInstanceOf(aQ, "Address"))
771+ let fn = {
772+ let aP = fm
773+ if ($isInstanceOf(aP, "Address"))
774774 then {
775- let fp = aQ
776- invoke(fp, "emit", [ch], nil)
775+ let fo = aP
776+ invoke(fo, "emit", [cg], nil)
777777 }
778778 else unit
779779 }
780- if ((fo == fo))
781- then ch
780+ if ((fn == fn))
781+ then cg
782782 else throw("Strict value is not equal to itself.")
783783 }
784784 else throw("Strict value is not equal to itself.")
785785 }
786786
787787
788-func fq (ch,ai) = {
789- let fr = if ((ai == 0))
788+func fp (cg,ai) = {
789+ let fq = if ((ai == 0))
790790 then 0
791- else fraction(ch, ai, b)
792- $Tuple2((ch - fr), fr)
791+ else fraction(cg, ai, b)
792+ $Tuple2((cg - fq), fq)
793793 }
794794
795795
796-func fs (ft,fu,ab,ac) = {
797- let fv = (ac == unit)
798- let fw = bV(br(bz))
799- let fx = bV(br(bA))
800- let fy = if ((fu == bz))
796+func fr (fs,ft,ab,ac) = {
797+ let fu = (ac == unit)
798+ let fv = bU(bq(by))
799+ let fw = bU(bq(bz))
800+ let fx = if ((ft == by))
801801 then true
802- else if ((fu == bA))
802+ else if ((ft == bz))
803803 then false
804- else ba("invalid asset")
805- let fz = if (fv)
806- then $Tuple2(fw, fx)
807- else if (fy)
808- then $Tuple2((fw - ft), fx)
809- else $Tuple2(fw, (fx - ft))
810- let fA = fz._1
811- let fB = fz._2
812- let fC = if (fy)
813- then $Tuple2(ft, 0)
814- else $Tuple2(0, ft)
815- let fD = fC._1
816- let fE = fC._2
817- let eT = fq(fD, bf)._1
818- let eU = fq(fE, bf)._1
819- let fF = fq(ft, bf)
820- let fG = fF._1
821- let fr = fF._2
804+ else aZ("invalid asset")
805+ let fy = if (fu)
806+ then $Tuple2(fv, fw)
807+ else if (fx)
808+ then $Tuple2((fv - fs), fw)
809+ else $Tuple2(fv, (fw - fs))
810+ let fz = fy._1
811+ let fA = fy._2
812+ let fB = if (fx)
813+ then $Tuple2(fs, 0)
814+ else $Tuple2(0, fs)
815+ let fC = fB._1
816+ let fD = fB._2
817+ let eS = fp(fC, be)._1
818+ let eT = fp(fD, be)._1
819+ let fE = fp(fs, be)
820+ let fF = fE._1
821+ let fq = fE._2
822+ let fG = (fz + eS)
822823 let fH = (fA + eT)
823- let fI = (fB + eU)
824- let fJ = bY(D(fI, bC), D(fH, bB))
825- let fK = H(fJ, b)
826- let fL = if (fy)
827- then fA
828- else fB
829- let fM = toBigInt(fL)
830- let fN = toBigInt(valueOrErrorMessage(assetInfo(by), (("asset " + toBase58String(by)) + " doesn't exist")).quantity)
831- let fO = if ((fN > f))
824+ let fI = bX(D(fH, bB), D(fG, bA))
825+ let fJ = H(fI, b)
826+ let fK = if (fx)
827+ then fz
828+ else fA
829+ let fL = toBigInt(fK)
830+ let fM = toBigInt(valueOrErrorMessage(assetInfo(bx), (("asset " + toBase58String(bx)) + " doesn't exist")).quantity)
831+ let fN = if ((fM > f))
832832 then true
833- else ba("initial deposit requires all coins")
834- if ((fO == fO))
833+ else aZ("initial deposit requires all coins")
834+ if ((fN == fN))
835835 then {
836- let fP = toBigInt(fG)
837- let fQ = max([0, toInt(((fN * (sqrtBigInt((d + ((fP * d) / fM)), 18, 18, DOWN) - d)) / d))])
838- let ev = if (fv)
836+ let fO = toBigInt(fF)
837+ let fP = max([0, toInt(((fM * (sqrtBigInt((d + ((fO * d) / fL)), 18, 18, DOWN) - d)) / d))])
838+ let eu = if (fu)
839839 then nil
840- else [IntegerEntry(W(), fK), IntegerEntry(X(height, lastBlock.timestamp), fK), StringEntry(aa(toString(value(ab)), toBase58String(value(ac))), bG(fD, fE, fQ, fK, 0, 0, height, lastBlock.timestamp, 0, 0))]
841- let fR = bY(D(fB, bC), D(fA, bB))
842- let fS = H(fR, b)
843- let fT = {
844- let fU = if (fy)
845- then $Tuple2(fD, fA)
846- else $Tuple2(fE, fB)
847- let ch = fU._1
848- let fV = fU._2
849- let fW = toInt(fraction(fN, toBigInt((ch / 2)), toBigInt(fV)))
850- fraction((fQ - fW), b, fW)
840+ else [IntegerEntry(W(), fJ), IntegerEntry(X(height, lastBlock.timestamp), fJ), StringEntry(aa(toString(value(ab)), toBase58String(value(ac))), bF(fC, fD, fP, fJ, 0, 0, height, lastBlock.timestamp, 0, 0))]
841+ let fQ = bX(D(fA, bB), D(fz, bA))
842+ let fR = H(fQ, b)
843+ let fS = {
844+ let fT = if (fx)
845+ then $Tuple2(fC, fz)
846+ else $Tuple2(fD, fA)
847+ let cg = fT._1
848+ let fU = fT._2
849+ let fV = toInt(fraction(fM, toBigInt((cg / 2)), toBigInt(fU)))
850+ fraction((fP - fV), b, fV)
851851 }
852- $Tuple5(fQ, ev, fr, fT, fy)
852+ $Tuple5(fP, eu, fq, fS, fx)
853853 }
854854 else throw("Strict value is not equal to itself.")
855855 }
856856
857857
858-func fX (fY,fG,fu,ab,ac) = {
859- let fv = (ac == unit)
860- let dk = bm()
861- let dl = parseIntValue(dk[t])
862- let dm = parseIntValue(dk[u])
863- let fZ = [if ((fu == by))
858+func fW (fX,fF,ft,ab,ac) = {
859+ let fu = (ac == unit)
860+ let dj = bl()
861+ let dk = parseIntValue(dj[t])
862+ let dl = parseIntValue(dj[u])
863+ let fY = [if ((ft == bx))
864864 then true
865- else ba("invalid lp asset")]
866- if ((fZ == fZ))
865+ else aZ("invalid lp asset")]
866+ if ((fY == fY))
867867 then {
868- let ga = if ((fY == bz))
868+ let fZ = if ((fX == by))
869869 then true
870- else if ((fY == bA))
870+ else if ((fX == bz))
871871 then false
872- else ba("invalid asset")
873- let gb = if (ga)
874- then toBigInt(bV(br(bz)))
875- else toBigInt(bV(br(bA)))
876- let gc = if (ga)
877- then dl
878- else dm
879- let gd = bV(br(bz))
880- let ge = bV(br(bA))
881- let gf = if (ga)
882- then gd
883- else ge
884- let gg = toBigInt(gf)
885- let fN = toBigInt(valueOrErrorMessage(assetInfo(by), (("asset " + toBase58String(by)) + " doesn't exist")).quantity)
886- let gh = toBigInt(fG)
887- let gi = max([0, toInt(((gb * (d - pow((d - ((gh * d) / fN)), 18, h, 0, 18, DOWN))) / d))])
888- let gj = fq(gi, bh)
889- let gk = gj._1
890- let fr = gj._2
891- let gl = if (ga)
892- then $Tuple4(gk, 0, (gd - gi), ge)
893- else $Tuple4(0, gk, gd, (ge - gi))
894- let gm = gl._1
895- let gn = gl._2
896- let go = gl._3
897- let gp = gl._4
898- let fJ = bY(D(gp, bC), D(go, bB))
899- let fK = H(fJ, b)
900- let ev = if (fv)
872+ else aZ("invalid asset")
873+ let ga = if (fZ)
874+ then toBigInt(bU(bq(by)))
875+ else toBigInt(bU(bq(bz)))
876+ let gb = if (fZ)
877+ then dk
878+ else dl
879+ let gc = bU(bq(by))
880+ let gd = bU(bq(bz))
881+ let ge = if (fZ)
882+ then gc
883+ else gd
884+ let gf = toBigInt(ge)
885+ let fM = toBigInt(valueOrErrorMessage(assetInfo(bx), (("asset " + toBase58String(bx)) + " doesn't exist")).quantity)
886+ let gg = toBigInt(fF)
887+ let gh = max([0, toInt(((ga * (d - pow((d - ((gg * d) / fM)), 18, h, 0, 18, DOWN))) / d))])
888+ let gi = fp(gh, bg)
889+ let gj = gi._1
890+ let fq = gi._2
891+ let gk = if (fZ)
892+ then $Tuple4(gj, 0, (gc - gh), gd)
893+ else $Tuple4(0, gj, gc, (gd - gh))
894+ let gl = gk._1
895+ let gm = gk._2
896+ let gn = gk._3
897+ let go = gk._4
898+ let fI = bX(D(go, bB), D(gn, bA))
899+ let fJ = H(fI, b)
900+ let eu = if (fu)
901901 then nil
902- else [StringEntry(ad(toString(value(ab)), toBase58String(value(ac))), bR(gm, gn, fG, fK, height, lastBlock.timestamp)), IntegerEntry(W(), fK), IntegerEntry(X(height, lastBlock.timestamp), fK)]
903- let fR = bY(D(ge, bC), D(gd, bB))
904- let fS = H(fR, b)
905- let fT = {
906- let gq = (toInt(fraction(gb, gh, fN)) * 2)
907- fraction((gk - gq), b, gq)
902+ else [StringEntry(ad(toString(value(ab)), toBase58String(value(ac))), bQ(gl, gm, fF, fJ, height, lastBlock.timestamp)), IntegerEntry(W(), fJ), IntegerEntry(X(height, lastBlock.timestamp), fJ)]
903+ let fQ = bX(D(gd, bB), D(gc, bA))
904+ let fR = H(fQ, b)
905+ let fS = {
906+ let gp = (toInt(fraction(ga, gg, fM)) * 2)
907+ fraction((gj - gp), b, gp)
908908 }
909- $Tuple5(gk, ev, fr, fT, ga)
909+ $Tuple5(gj, eu, fq, fS, fZ)
910910 }
911911 else throw("Strict value is not equal to itself.")
912912 }
913913
914914
915-func gr () = {
916- let gs = aS()
917- let aQ = getString(gs, U())
918- if ($isInstanceOf(aQ, "String"))
915+func gq () = {
916+ let gr = aR()
917+ let aP = getString(gr, U())
918+ if ($isInstanceOf(aP, "String"))
919919 then {
920- let aV = aQ
921- fromBase58String(aV)
920+ let aU = aP
921+ fromBase58String(aU)
922922 }
923- else if ($isInstanceOf(aQ, "Unit"))
923+ else if ($isInstanceOf(aP, "Unit"))
924924 then unit
925925 else throw("Match error")
926926 }
927927
928928
929-func gt (fd) = {
930- let aQ = gr()
931- if ($isInstanceOf(aQ, "ByteVector"))
929+func gs (fc) = {
930+ let aP = gq()
931+ if ($isInstanceOf(aP, "ByteVector"))
932932 then {
933- let gu = aQ
934- (fd.callerPublicKey == gu)
933+ let gt = aP
934+ (fc.callerPublicKey == gt)
935935 }
936- else if ($isInstanceOf(aQ, "Unit"))
937- then (fd.caller == this)
936+ else if ($isInstanceOf(aP, "Unit"))
937+ then (fc.caller == this)
938938 else throw("Match error")
939939 }
940940
941941
942-func gv (fd) = {
943- let gw = throw("Permission denied")
944- let aQ = gr()
945- if ($isInstanceOf(aQ, "ByteVector"))
942+func gu (fc) = {
943+ let gv = throw("Permission denied")
944+ let aP = gq()
945+ if ($isInstanceOf(aP, "ByteVector"))
946946 then {
947- let gu = aQ
948- if ((fd.callerPublicKey == gu))
947+ let gt = aP
948+ if ((fc.callerPublicKey == gt))
949949 then true
950- else gw
950+ else gv
951951 }
952- else if ($isInstanceOf(aQ, "Unit"))
953- then if ((fd.caller == this))
952+ else if ($isInstanceOf(aP, "Unit"))
953+ then if ((fc.caller == this))
954954 then true
955- else gw
955+ else gv
956956 else throw("Match error")
957957 }
958958
959959
960-@Callable(fd)
961-func rebalance () = (cK(aW(this, ae())) ++ cK(aW(this, af())))
960+@Callable(fc)
961+func rebalance () = (cJ(aV(this, ae())) ++ cJ(aV(this, af())))
962962
963963
964964
965-@Callable(fd)
966-func calculateAmountOutForSwapREADONLY (gx,gy,gz) = {
967- let gA = if ((gy == false))
965+@Callable(fc)
966+func calculateAmountOutForSwapREADONLY (gw,gx,gy) = {
967+ let gz = if ((gx == false))
968968 then {
969- let gB = aW(this, af())
970- let gC = aW(this, ae())
971- $Tuple2(gB, gC)
969+ let gA = aV(this, af())
970+ let gB = aV(this, ae())
971+ $Tuple2(gA, gB)
972972 }
973973 else {
974- let gB = aW(this, ae())
975- let gC = aW(this, af())
976- $Tuple2(gB, gC)
974+ let gA = aV(this, ae())
975+ let gB = aV(this, af())
976+ $Tuple2(gA, gB)
977977 }
978- let gB = gA._1
979- let gC = gA._2
980- let gD = bV(gC)
981- let gE = bV(gB)
982- let gF = fraction(gE, gx, (gD + gx))
983- let gG = (toBigInt(gD) * toBigInt(gE))
984- let gH = (((toBigInt(bV(gC)) + toBigInt(gx)) + toBigInt(gz)) * (toBigInt(bV(gB)) - toBigInt(gF)))
985- let gI = if ((gH >= gG))
978+ let gA = gz._1
979+ let gB = gz._2
980+ let gC = bU(gB)
981+ let gD = bU(gA)
982+ let gE = fraction(gD, gw, (gC + gw))
983+ let gF = (toBigInt(gC) * toBigInt(gD))
984+ let gG = (((toBigInt(bU(gB)) + toBigInt(gw)) + toBigInt(gy)) * (toBigInt(bU(gA)) - toBigInt(gE)))
985+ let gH = if ((gG >= gF))
986986 then true
987987 else throw("new K is fewer error")
988- if ((gI == gI))
989- then $Tuple2(nil, gF)
988+ if ((gH == gH))
989+ then $Tuple2(nil, gE)
990990 else throw("Strict value is not equal to itself.")
991991 }
992992
993993
994994
995-@Callable(fd)
996-func calculateAmountOutForSwapAndSendTokens (gx,gy,gJ,gK,gz) = {
995+@Callable(fc)
996+func calculateAmountOutForSwapAndSendTokens (gw,gx,gI,gJ,gy) = {
997+ let gK = {
998+ let bf = invoke(bc, "getSwapContractREADONLY", nil, nil)
999+ if ($isInstanceOf(bf, "String"))
1000+ then bf
1001+ else throw(($getType(bf) + " couldn't be cast to String"))
1002+ }
9971003 let gL = {
998- let bg = invoke(bd, "getSwapContractREADONLY", nil, nil)
999- if ($isInstanceOf(bg, "String"))
1000- then bg
1001- else throw(($getType(bg) + " couldn't be cast to String"))
1004+ let bf = invoke(bc, "isPoolSwapDisabledREADONLY", [toString(this)], nil)
1005+ if ($isInstanceOf(bf, "Boolean"))
1006+ then bf
1007+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
10021008 }
1003- let gM = {
1004- let bg = invoke(bd, "isPoolSwapDisabledREADONLY", [toString(this)], nil)
1005- if ($isInstanceOf(bg, "Boolean"))
1006- then bg
1007- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1008- }
1009- let gN = if (!(bj(fd.caller)))
1010- then if (if (bk())
1009+ let gM = if (!(bi(fc.caller)))
1010+ then if (if (bj())
10111011 then true
1012- else (bx == n))
1012+ else (bw == n))
10131013 then true
1014- else gM
1014+ else gL
10151015 else false
1016- let fZ = [if (if (!(gN))
1016+ let fY = [if (if (!(gM))
10171017 then true
1018- else gt(fd))
1018+ else gs(fc))
10191019 then true
1020- else ba("swap operation is blocked by admin"), if ((value(fd.payments[0]).amount >= gx))
1020+ else aZ("swap operation is blocked by admin"), if ((value(fc.payments[0]).amount >= gw))
10211021 then true
1022- else ba("Wrong amount"), if ((fd.caller == addressFromStringValue(gL)))
1022+ else aZ("Wrong amount"), if ((fc.caller == addressFromStringValue(gK)))
10231023 then true
1024- else ba("Permission denied")]
1025- if ((fZ == fZ))
1024+ else aZ("Permission denied")]
1025+ if ((fY == fY))
10261026 then {
1027- let fe = value(fd.payments[0])
1028- let gC = br(fe.assetId)
1029- let gB = if ((gy == false))
1030- then aW(this, af())
1031- else aW(this, ae())
1032- let gD = (bV(gC) - value(fd.payments[0]).amount)
1033- let gE = bV(gB)
1034- let gF = fraction(gE, gx, (gD + gx))
1035- let gG = (toBigInt(gD) * toBigInt(gE))
1036- let gH = (toBigInt(bV(gC)) * (toBigInt(bV(gB)) - toBigInt(gF)))
1037- let gI = if ((gH >= gG))
1027+ let fd = value(fc.payments[0])
1028+ let gB = bq(fd.assetId)
1029+ let gA = if ((gx == false))
1030+ then aV(this, af())
1031+ else aV(this, ae())
1032+ let gC = ((bU(gB) - value(fc.payments[0]).amount) - gy)
1033+ let gD = bU(gA)
1034+ let gE = fraction(gD, gw, (gC + gw))
1035+ let gF = (toBigInt(gC) * toBigInt(gD))
1036+ let gG = ((toBigInt(bU(gB)) + toBigInt(gy)) * (toBigInt(bU(gA)) - toBigInt(gE)))
1037+ let gH = if ((gG >= gF))
10381038 then true
10391039 else throw("new K is fewer error")
1040- if ((gI == gI))
1040+ if ((gH == gH))
10411041 then {
1042- let gO = if ((gF >= gJ))
1042+ let gN = if ((gE >= gI))
10431043 then true
10441044 else throw("Exchange result is fewer coins than expected")
1045- if ((gO == gO))
1045+ if ((gN == gN))
10461046 then {
1047- let gP = aW(this, af())
1048- let gQ = fromBase58String(gP)
1049- let fr = fraction(gx, gz, 100)
1050- let gR = cK(gC)
1051- if ((gR == gR))
1047+ let eK = if (gx)
1048+ then -(gE)
1049+ else gy
1050+ let eL = if (gx)
1051+ then gy
1052+ else -(gE)
1053+ let gO = eJ(eK, eL, 0)._1
1054+ if ((gO == gO))
10521055 then {
1053- let gS = cR(gB, (gF + fr))
1054- if ((gS == gS))
1056+ let gP = cJ(gB)
1057+ if ((gP == gP))
10551058 then {
1056- let gT = ScriptTransfer(be, fr, gQ)
1057- $Tuple2(((gS ++ gR) ++ [ScriptTransfer(addressFromStringValue(gK), (gF - fr), bp(gB)), gT]), gF)
1059+ let gQ = cQ(gA, gE)
1060+ if ((gQ == gQ))
1061+ then $Tuple2(((gQ ++ gP) ++ [ScriptTransfer(addressFromStringValue(gJ), gE, bo(gA))]), gE)
1062+ else throw("Strict value is not equal to itself.")
10581063 }
10591064 else throw("Strict value is not equal to itself.")
10601065 }
10611066 else throw("Strict value is not equal to itself.")
10621067 }
10631068 else throw("Strict value is not equal to itself.")
10641069 }
10651070 else throw("Strict value is not equal to itself.")
10661071 }
10671072 else throw("Strict value is not equal to itself.")
10681073 }
10691074
10701075
10711076
1072-@Callable(fd)
1073-func put (dQ,gU) = if ((0 > dQ))
1077+@Callable(fc)
1078+func put (dP,gR) = if ((0 > dP))
10741079 then throw("Invalid slippageTolerance passed")
10751080 else {
1076- let fk = fh(fd, dQ, true)
1077- let es = fk._2
1078- let dx = fk._7
1079- let dO = fk._9
1080- let et = fk._10
1081- let eu = fk._11
1082- let gV = fk._12
1083- let gW = fk._13
1084- let fi = toBigInt(value(fd.payments[0]).amount)
1085- let fj = toBigInt(value(fd.payments[1]).amount)
1086- let eJ = eC(fi, fj, toBigInt(0))
1087- if ((eJ == eJ))
1081+ let fj = fg(fc, dP, true)
1082+ let er = fj._2
1083+ let dw = fj._7
1084+ let dN = fj._9
1085+ let es = fj._10
1086+ let et = fj._11
1087+ let gS = fj._12
1088+ let gT = fj._13
1089+ let fh = toBigInt(value(fc.payments[0]).amount)
1090+ let fi = toBigInt(value(fc.payments[1]).amount)
1091+ let eI = eB(fh, fi, toBigInt(0))
1092+ if ((eI == eI))
10881093 then {
1089- let fn = invoke(bd, "emit", [es], nil)
1090- if ((fn == fn))
1094+ let fm = invoke(bc, "emit", [er], nil)
1095+ if ((fm == fm))
10911096 then {
1092- let fo = {
1093- let aQ = fn
1094- if ($isInstanceOf(aQ, "Address"))
1097+ let fn = {
1098+ let aP = fm
1099+ if ($isInstanceOf(aP, "Address"))
10951100 then {
1096- let fp = aQ
1097- invoke(fp, "emit", [es], nil)
1101+ let fo = aP
1102+ invoke(fo, "emit", [er], nil)
10981103 }
10991104 else unit
11001105 }
1101- if ((fo == fo))
1106+ if ((fn == fn))
11021107 then {
1103- let gX = if ((et > 0))
1104- then invoke(bF, "put", nil, [AttachedPayment(gV, et)])
1108+ let gU = if ((es > 0))
1109+ then invoke(bE, "put", nil, [AttachedPayment(gS, es)])
11051110 else nil
1106- if ((gX == gX))
1111+ if ((gU == gU))
11071112 then {
1108- let gY = if ((eu > 0))
1109- then invoke(bF, "put", nil, [AttachedPayment(gW, eu)])
1113+ let gV = if ((et > 0))
1114+ then invoke(bE, "put", nil, [AttachedPayment(gT, et)])
11101115 else nil
1111- if ((gY == gY))
1116+ if ((gV == gV))
11121117 then {
1113- let gZ = if (gU)
1118+ let gW = if (gR)
11141119 then {
1115- let ha = invoke(bE, "stake", nil, [AttachedPayment(dx, es)])
1116- if ((ha == ha))
1120+ let gX = invoke(bD, "stake", nil, [AttachedPayment(dw, er)])
1121+ if ((gX == gX))
11171122 then nil
11181123 else throw("Strict value is not equal to itself.")
11191124 }
1120- else [ScriptTransfer(fd.caller, es, dx)]
1121- let hb = eK(0, 0, 0)
1122- if ((hb == hb))
1125+ else [ScriptTransfer(fc.caller, er, dw)]
1126+ let gY = eJ(0, 0, 0)
1127+ if ((gY == gY))
11231128 then {
1124- let eB = hb._2
1125- let hc = hb._1
1126- let hd = eP(eJ, eB)
1127- if ((hd == hd))
1129+ let eA = gY._2
1130+ let gO = gY._1
1131+ let gZ = eO(eI, eA)
1132+ if ((gZ == gZ))
11281133 then {
1129- let he = invoke(this, "rebalance", nil, nil)
1130- if ((he == he))
1131- then ((dO ++ gZ) ++ hc)
1134+ let ha = invoke(this, "rebalance", nil, nil)
1135+ if ((ha == ha))
1136+ then ((dN ++ gW) ++ gO)
11321137 else throw("Strict value is not equal to itself.")
11331138 }
11341139 else throw("Strict value is not equal to itself.")
11351140 }
11361141 else throw("Strict value is not equal to itself.")
11371142 }
11381143 else throw("Strict value is not equal to itself.")
11391144 }
11401145 else throw("Strict value is not equal to itself.")
11411146 }
11421147 else throw("Strict value is not equal to itself.")
11431148 }
11441149 else throw("Strict value is not equal to itself.")
11451150 }
11461151 else throw("Strict value is not equal to itself.")
11471152 }
11481153
11491154
11501155
1151-@Callable(fd)
1152-func putForFree (hf) = if ((0 > hf))
1156+@Callable(fc)
1157+func putForFree (hb) = if ((0 > hb))
11531158 then throw("Invalid value passed")
11541159 else {
1155- let fk = fh(fd, hf, false)
1156- let dO = fk._9
1157- let fi = toBigInt(value(fd.payments[0]).amount)
1158- let fj = toBigInt(value(fd.payments[1]).amount)
1159- let eJ = eC(fi, fj, toBigInt(0))
1160- if ((eJ == eJ))
1160+ let fj = fg(fc, hb, false)
1161+ let dN = fj._9
1162+ let fh = toBigInt(value(fc.payments[0]).amount)
1163+ let fi = toBigInt(value(fc.payments[1]).amount)
1164+ let eI = eB(fh, fi, toBigInt(0))
1165+ if ((eI == eI))
11611166 then {
1162- let hg = eK(0, 0, 0)
1163- let hc = hg._1
1164- let eB = hg._2
1165- let hd = eP(eJ, eB)
1166- if ((hd == hd))
1167- then (dO ++ hc)
1167+ let hc = eJ(0, 0, 0)
1168+ let gO = hc._1
1169+ let eA = hc._2
1170+ let gZ = eO(eI, eA)
1171+ if ((gZ == gZ))
1172+ then (dN ++ gO)
11681173 else throw("Strict value is not equal to itself.")
11691174 }
11701175 else throw("Strict value is not equal to itself.")
11711176 }
11721177
11731178
11741179
1175-@Callable(fd)
1176-func putOneTkn (hh,hi) = {
1177- let hj = {
1178- let bg = invoke(bd, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1179- if ($isInstanceOf(bg, "Boolean"))
1180- then bg
1181- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1180+@Callable(fc)
1181+func putOneTkn (hd,he) = {
1182+ let hf = {
1183+ let bf = invoke(bc, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1184+ if ($isInstanceOf(bf, "Boolean"))
1185+ then bf
1186+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
11821187 }
1183- let fl = if (!(bj(fd.caller)))
1184- then if (if (if (bk())
1188+ let fk = if (!(bi(fc.caller)))
1189+ then if (if (if (bj())
11851190 then true
1186- else (bx == l))
1191+ else (bw == l))
11871192 then true
1188- else (bx == n))
1193+ else (bw == n))
11891194 then true
1190- else hj
1195+ else hf
11911196 else false
1192- let fZ = [if (if (!(fl))
1197+ let fY = [if (if (!(fk))
11931198 then true
1194- else gt(fd))
1199+ else gs(fc))
11951200 then true
1196- else ba("put operation is blocked by admin"), if ((size(fd.payments) == 1))
1201+ else aZ("put operation is blocked by admin"), if ((size(fc.payments) == 1))
11971202 then true
1198- else ba("exactly 1 payment are expected")]
1199- if ((fZ == fZ))
1203+ else aZ("exactly 1 payment are expected")]
1204+ if ((fY == fY))
12001205 then {
1201- let hk = fd.payments[0]
1202- let fu = hk.assetId
1203- let ft = hk.amount
1204- let eJ = if ((fu == bz))
1205- then eC(toBigInt(ft), toBigInt(0), toBigInt(0))
1206- else if ((fu == bA))
1207- then eC(toBigInt(0), toBigInt(ft), toBigInt(0))
1208- else ba("payment asset is not supported")
1209- if ((eJ == eJ))
1206+ let hg = fc.payments[0]
1207+ let ft = hg.assetId
1208+ let fs = hg.amount
1209+ let eI = if ((ft == by))
1210+ then eB(toBigInt(fs), toBigInt(0), toBigInt(0))
1211+ else if ((ft == bz))
1212+ then eB(toBigInt(0), toBigInt(fs), toBigInt(0))
1213+ else aZ("payment asset is not supported")
1214+ if ((eI == eI))
12101215 then {
1211- let ab = fd.caller
1212- let ac = fd.transactionId
1213- let hl = fs(ft, fu, ab, ac)
1214- if ((hl == hl))
1216+ let ab = fc.caller
1217+ let ac = fc.transactionId
1218+ let hh = fr(fs, ft, ab, ac)
1219+ if ((hh == hh))
12151220 then {
1216- let fy = hl._5
1217- let hm = hl._4
1218- let fr = hl._3
1219- let ev = hl._2
1220- let hn = hl._1
1221- let ho = if (if ((hh > 0))
1222- then (hh > hn)
1221+ let fx = hh._5
1222+ let hi = hh._4
1223+ let fq = hh._3
1224+ let eu = hh._2
1225+ let hj = hh._1
1226+ let hk = if (if ((hd > 0))
1227+ then (hd > hj)
12231228 else false)
1224- then ba(makeString(["amount to receive is less than ", toString(hh)], ""))
1225- else hn
1226- let fn = fm(ho)
1227- if ((fn == fn))
1229+ then aZ(makeString(["amount to receive is less than ", toString(hd)], ""))
1230+ else hj
1231+ let fm = fl(hk)
1232+ if ((fm == fm))
12281233 then {
1229- let gZ = if (hi)
1234+ let gW = if (he)
12301235 then {
1231- let hp = invoke(bE, "stake", nil, [AttachedPayment(by, ho)])
1232- if ((hp == hp))
1236+ let hl = invoke(bD, "stake", nil, [AttachedPayment(bx, hk)])
1237+ if ((hl == hl))
12331238 then nil
12341239 else throw("Strict value is not equal to itself.")
12351240 }
1236- else [ScriptTransfer(fd.caller, ho, by)]
1237- let hq = if ((fr > 0))
1238- then [ScriptTransfer(be, fr, fu)]
1241+ else [ScriptTransfer(fc.caller, hk, bx)]
1242+ let hm = if ((fq > 0))
1243+ then [ScriptTransfer(bd, fq, ft)]
12391244 else nil
1240- let hr = if ((this == be))
1245+ let hn = if ((this == bd))
12411246 then $Tuple2(0, 0)
1242- else if (fy)
1243- then $Tuple2(-(fr), 0)
1244- else $Tuple2(0, -(fr))
1245- let eL = hr._1
1246- let eM = hr._2
1247- let hs = eK(eL, eM, 0)
1248- let hc = hs._1
1249- let eB = hs._2
1250- let eW = value(getString(aj))
1251- let hd = eP(eJ, eB)
1252- if ((hd == hd))
1247+ else if (fx)
1248+ then $Tuple2(-(fq), 0)
1249+ else $Tuple2(0, -(fq))
1250+ let eK = hn._1
1251+ let eL = hn._2
1252+ let ho = eJ(eK, eL, 0)
1253+ let gO = ho._1
1254+ let eA = ho._2
1255+ let eV = value(getString(aj))
1256+ let gZ = eO(eI, eA)
1257+ if ((gZ == gZ))
12531258 then {
1254- let he = invoke(this, "rebalance", nil, nil)
1255- if ((he == he))
1256- then $Tuple2((((ev ++ gZ) ++ hq) ++ hc), ho)
1259+ let ha = invoke(this, "rebalance", nil, nil)
1260+ if ((ha == ha))
1261+ then $Tuple2((((eu ++ gW) ++ hm) ++ gO), hk)
12571262 else throw("Strict value is not equal to itself.")
12581263 }
12591264 else throw("Strict value is not equal to itself.")
12601265 }
12611266 else throw("Strict value is not equal to itself.")
12621267 }
12631268 else throw("Strict value is not equal to itself.")
12641269 }
12651270 else throw("Strict value is not equal to itself.")
12661271 }
12671272 else throw("Strict value is not equal to itself.")
12681273 }
12691274
12701275
12711276
1272-@Callable(fd)
1273-func putOneTknREADONLY (fu,ft) = {
1274- let ht = fs(ft, bp(fu), unit, unit)
1275- let hn = ht._1
1276- let ev = ht._2
1277- let fr = ht._3
1278- let hm = ht._4
1279- let fy = ht._5
1280- $Tuple2(nil, $Tuple3(hn, fr, hm))
1277+@Callable(fc)
1278+func putOneTknREADONLY (ft,fs) = {
1279+ let hp = fr(fs, bo(ft), unit, unit)
1280+ let hj = hp._1
1281+ let eu = hp._2
1282+ let fq = hp._3
1283+ let hi = hp._4
1284+ let fx = hp._5
1285+ $Tuple2(nil, $Tuple3(hj, fq, hi))
12811286 }
12821287
12831288
12841289
1285-@Callable(fd)
1286-func getOneTkn (hu,hh) = {
1287- let hj = {
1288- let bg = invoke(bd, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1289- if ($isInstanceOf(bg, "Boolean"))
1290- then bg
1291- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1290+@Callable(fc)
1291+func getOneTkn (hq,hd) = {
1292+ let hf = {
1293+ let bf = invoke(bc, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1294+ if ($isInstanceOf(bf, "Boolean"))
1295+ then bf
1296+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
12921297 }
1293- let fg = if (!(bj(fd.caller)))
1294- then if (if (bk())
1298+ let ff = if (!(bi(fc.caller)))
1299+ then if (if (bj())
12951300 then true
1296- else (bx == n))
1301+ else (bw == n))
12971302 then true
1298- else hj
1303+ else hf
12991304 else false
1300- let fZ = [if (if (!(fg))
1305+ let fY = [if (if (!(ff))
13011306 then true
1302- else gt(fd))
1307+ else gs(fc))
13031308 then true
1304- else ba("get operation is blocked by admin"), if ((size(fd.payments) == 1))
1309+ else aZ("get operation is blocked by admin"), if ((size(fc.payments) == 1))
13051310 then true
1306- else ba("exactly 1 payment are expected")]
1307- if ((fZ == fZ))
1311+ else aZ("exactly 1 payment are expected")]
1312+ if ((fY == fY))
13081313 then {
1309- let fY = bp(hu)
1310- let hk = fd.payments[0]
1311- let fu = hk.assetId
1312- let fG = hk.amount
1313- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1314- if ((eJ == eJ))
1314+ let fX = bo(hq)
1315+ let hg = fc.payments[0]
1316+ let ft = hg.assetId
1317+ let fF = hg.amount
1318+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1319+ if ((eI == eI))
13151320 then {
1316- let ab = fd.caller
1317- let ac = fd.transactionId
1318- let hv = fX(fY, fG, fu, ab, ac)
1319- if ((hv == hv))
1321+ let ab = fc.caller
1322+ let ac = fc.transactionId
1323+ let hr = fW(fX, fF, ft, ab, ac)
1324+ if ((hr == hr))
13201325 then {
1321- let ga = hv._5
1322- let hm = hv._4
1323- let fr = hv._3
1324- let ev = hv._2
1325- let hw = hv._1
1326- let ch = if (if ((hh > 0))
1327- then (hh > hw)
1326+ let fZ = hr._5
1327+ let hi = hr._4
1328+ let fq = hr._3
1329+ let eu = hr._2
1330+ let hs = hr._1
1331+ let cg = if (if ((hd > 0))
1332+ then (hd > hs)
13281333 else false)
1329- then ba(makeString(["amount to receive is less than ", toString(hh)], ""))
1330- else hw
1331- let hx = invoke(bd, "burn", [fG], [AttachedPayment(fu, fG)])
1332- if ((hx == hx))
1334+ then aZ(makeString(["amount to receive is less than ", toString(hd)], ""))
1335+ else hs
1336+ let ht = invoke(bc, "burn", [fF], [AttachedPayment(ft, fF)])
1337+ if ((ht == ht))
13331338 then {
1334- let gS = cR(hu, (ch + max([0, fr])))
1335- let hy = [ScriptTransfer(ab, ch, fY)]
1336- let hq = if ((fr > 0))
1337- then [ScriptTransfer(be, fr, fY)]
1339+ let gQ = cQ(hq, (cg + max([0, fq])))
1340+ let hu = [ScriptTransfer(ab, cg, fX)]
1341+ let hm = if ((fq > 0))
1342+ then [ScriptTransfer(bd, fq, fX)]
13381343 else nil
1339- let hz = {
1340- let hA = if ((this == be))
1344+ let hv = {
1345+ let hw = if ((this == bd))
13411346 then 0
1342- else fr
1343- if (ga)
1344- then $Tuple2(-((ch + hA)), 0)
1345- else $Tuple2(0, -((ch + hA)))
1347+ else fq
1348+ if (fZ)
1349+ then $Tuple2(-((cg + hw)), 0)
1350+ else $Tuple2(0, -((cg + hw)))
13461351 }
1347- let eL = hz._1
1348- let eM = hz._2
1349- let hB = eK(eL, eM, 0)
1350- let hc = hB._1
1351- let eB = hB._2
1352- let hd = eP(eJ, eB)
1353- if ((hd == hd))
1354- then $Tuple2(((((ev ++ gS) ++ hy) ++ hq) ++ hc), ch)
1352+ let eK = hv._1
1353+ let eL = hv._2
1354+ let hx = eJ(eK, eL, 0)
1355+ let gO = hx._1
1356+ let eA = hx._2
1357+ let gZ = eO(eI, eA)
1358+ if ((gZ == gZ))
1359+ then $Tuple2(((((eu ++ gQ) ++ hu) ++ hm) ++ gO), cg)
13551360 else throw("Strict value is not equal to itself.")
13561361 }
13571362 else throw("Strict value is not equal to itself.")
13581363 }
13591364 else throw("Strict value is not equal to itself.")
13601365 }
13611366 else throw("Strict value is not equal to itself.")
13621367 }
13631368 else throw("Strict value is not equal to itself.")
13641369 }
13651370
13661371
13671372
1368-@Callable(fd)
1369-func getOneTknREADONLY (fY,fG) = {
1370- let hC = fX(bp(fY), fG, by, unit, unit)
1371- let hw = hC._1
1372- let ev = hC._2
1373- let fr = hC._3
1374- let hm = hC._4
1375- let ga = hC._5
1376- $Tuple2(nil, $Tuple3(hw, fr, hm))
1373+@Callable(fc)
1374+func getOneTknREADONLY (fX,fF) = {
1375+ let hy = fW(bo(fX), fF, bx, unit, unit)
1376+ let hs = hy._1
1377+ let eu = hy._2
1378+ let fq = hy._3
1379+ let hi = hy._4
1380+ let fZ = hy._5
1381+ $Tuple2(nil, $Tuple3(hs, fq, hi))
13771382 }
13781383
13791384
13801385
1381-@Callable(fd)
1382-func unstakeAndGetOneTkn (hD,hu,hh) = {
1383- let hj = {
1384- let bg = invoke(bd, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1385- if ($isInstanceOf(bg, "Boolean"))
1386- then bg
1387- else throw(($getType(bg) + " couldn't be cast to Boolean"))
1386+@Callable(fc)
1387+func unstakeAndGetOneTkn (hz,hq,hd) = {
1388+ let hf = {
1389+ let bf = invoke(bc, "isPoolOneTokenOperationsDisabledREADONLY", [toString(this)], nil)
1390+ if ($isInstanceOf(bf, "Boolean"))
1391+ then bf
1392+ else throw(($getType(bf) + " couldn't be cast to Boolean"))
13881393 }
1389- let fg = if (!(bj(fd.caller)))
1390- then if (if (bk())
1394+ let ff = if (!(bi(fc.caller)))
1395+ then if (if (bj())
13911396 then true
1392- else (bx == n))
1397+ else (bw == n))
13931398 then true
1394- else hj
1399+ else hf
13951400 else false
1396- let fZ = [if (if (!(fg))
1401+ let fY = [if (if (!(ff))
13971402 then true
1398- else gt(fd))
1403+ else gs(fc))
13991404 then true
1400- else ba("get operation is blocked by admin"), if ((size(fd.payments) == 0))
1405+ else aZ("get operation is blocked by admin"), if ((size(fc.payments) == 0))
14011406 then true
1402- else ba("no payments are expected")]
1403- if ((fZ == fZ))
1407+ else aZ("no payments are expected")]
1408+ if ((fY == fY))
14041409 then {
1405- let fY = bp(hu)
1406- let ab = fd.caller
1407- let ac = fd.transactionId
1408- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1409- if ((eJ == eJ))
1410+ let fX = bo(hq)
1411+ let ab = fc.caller
1412+ let ac = fc.transactionId
1413+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1414+ if ((eI == eI))
14101415 then {
1411- let hE = invoke(bE, "unstake", [toBase58String(by), hD], nil)
1412- if ((hE == hE))
1416+ let hA = invoke(bD, "unstake", [toBase58String(bx), hz], nil)
1417+ if ((hA == hA))
14131418 then {
1414- let hF = fX(fY, hD, by, ab, ac)
1415- if ((hF == hF))
1419+ let hB = fW(fX, hz, bx, ab, ac)
1420+ if ((hB == hB))
14161421 then {
1417- let ga = hF._5
1418- let hm = hF._4
1419- let fr = hF._3
1420- let ev = hF._2
1421- let hw = hF._1
1422- let ch = if (if ((hh > 0))
1423- then (hh > hw)
1422+ let fZ = hB._5
1423+ let hi = hB._4
1424+ let fq = hB._3
1425+ let eu = hB._2
1426+ let hs = hB._1
1427+ let cg = if (if ((hd > 0))
1428+ then (hd > hs)
14241429 else false)
1425- then ba(makeString(["amount to receive is less than ", toString(hh)], ""))
1426- else hw
1427- let hx = invoke(bd, "burn", [hD], [AttachedPayment(by, hD)])
1428- if ((hx == hx))
1430+ then aZ(makeString(["amount to receive is less than ", toString(hd)], ""))
1431+ else hs
1432+ let ht = invoke(bc, "burn", [hz], [AttachedPayment(bx, hz)])
1433+ if ((ht == ht))
14291434 then {
1430- let gS = cR(hu, (ch + max([0, fr])))
1431- let hy = [ScriptTransfer(fd.caller, ch, fY)]
1432- let hq = if ((fr > 0))
1433- then [ScriptTransfer(be, fr, fY)]
1435+ let gQ = cQ(hq, (cg + max([0, fq])))
1436+ let hu = [ScriptTransfer(fc.caller, cg, fX)]
1437+ let hm = if ((fq > 0))
1438+ then [ScriptTransfer(bd, fq, fX)]
14341439 else nil
1435- let hG = {
1436- let hA = if ((this == be))
1440+ let hC = {
1441+ let hw = if ((this == bd))
14371442 then 0
1438- else fr
1439- if (ga)
1440- then $Tuple2(-((ch + hA)), 0)
1441- else $Tuple2(0, -((ch + hA)))
1443+ else fq
1444+ if (fZ)
1445+ then $Tuple2(-((cg + hw)), 0)
1446+ else $Tuple2(0, -((cg + hw)))
14421447 }
1443- let eL = hG._1
1444- let eM = hG._2
1445- let hH = eK(eL, eM, 0)
1446- let hc = hH._1
1447- let eB = hH._2
1448- let hd = eP(eJ, eB)
1449- if ((hd == hd))
1450- then $Tuple2(((((ev ++ gS) ++ hy) ++ hq) ++ hc), ch)
1448+ let eK = hC._1
1449+ let eL = hC._2
1450+ let hD = eJ(eK, eL, 0)
1451+ let gO = hD._1
1452+ let eA = hD._2
1453+ let gZ = eO(eI, eA)
1454+ if ((gZ == gZ))
1455+ then $Tuple2(((((eu ++ gQ) ++ hu) ++ hm) ++ gO), cg)
14511456 else throw("Strict value is not equal to itself.")
14521457 }
14531458 else throw("Strict value is not equal to itself.")
14541459 }
14551460 else throw("Strict value is not equal to itself.")
14561461 }
14571462 else throw("Strict value is not equal to itself.")
14581463 }
14591464 else throw("Strict value is not equal to itself.")
14601465 }
14611466 else throw("Strict value is not equal to itself.")
14621467 }
14631468
14641469
14651470
1466-@Callable(fd)
1471+@Callable(fc)
14671472 func get () = {
1468- let eg = fc(fd)
1469- let dM = eg._1
1470- let dN = eg._2
1471- let ff = eg._3
1472- let dv = eg._4
1473- let dO = eg._5
1474- let gS = cW(dM, dN)
1475- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1476- if ((eJ == eJ))
1473+ let ef = fb(fc)
1474+ let dL = ef._1
1475+ let dM = ef._2
1476+ let fe = ef._3
1477+ let du = ef._4
1478+ let dN = ef._5
1479+ let gQ = cV(dL, dM)
1480+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1481+ if ((eI == eI))
14771482 then {
1478- let hI = invoke(bd, "burn", [ff], [AttachedPayment(dv, ff)])
1479- if ((hI == hI))
1483+ let hE = invoke(bc, "burn", [fe], [AttachedPayment(du, fe)])
1484+ if ((hE == hE))
14801485 then {
1481- let hJ = eK(-(dM), -(dN), 0)
1482- let hc = hJ._1
1483- let eB = hJ._2
1484- let hd = eP(eJ, eB)
1485- if ((hd == hd))
1486- then ((gS ++ dO) ++ hc)
1486+ let hF = eJ(-(dL), -(dM), 0)
1487+ let gO = hF._1
1488+ let eA = hF._2
1489+ let gZ = eO(eI, eA)
1490+ if ((gZ == gZ))
1491+ then ((gQ ++ dN) ++ gO)
14871492 else throw("Strict value is not equal to itself.")
14881493 }
14891494 else throw("Strict value is not equal to itself.")
14901495 }
14911496 else throw("Strict value is not equal to itself.")
14921497 }
14931498
14941499
14951500
1496-@Callable(fd)
1497-func getNoLess (hK,hL) = {
1498- let eg = fc(fd)
1499- let dM = eg._1
1500- let dN = eg._2
1501- let ff = eg._3
1502- let dv = eg._4
1503- let dO = eg._5
1504- if ((hK > dM))
1505- then throw(((("noLessThenAmtAsset failed: " + toString(dM)) + " < ") + toString(hK)))
1506- else if ((hL > dN))
1507- then throw(((("noLessThenPriceAsset failed: " + toString(dN)) + " < ") + toString(hL)))
1501+@Callable(fc)
1502+func getNoLess (hG,hH) = {
1503+ let ef = fb(fc)
1504+ let dL = ef._1
1505+ let dM = ef._2
1506+ let fe = ef._3
1507+ let du = ef._4
1508+ let dN = ef._5
1509+ if ((hG > dL))
1510+ then throw(((("noLessThenAmtAsset failed: " + toString(dL)) + " < ") + toString(hG)))
1511+ else if ((hH > dM))
1512+ then throw(((("noLessThenPriceAsset failed: " + toString(dM)) + " < ") + toString(hH)))
15081513 else {
1509- let gS = cW(dM, dN)
1510- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1511- if ((eJ == eJ))
1514+ let gQ = cV(dL, dM)
1515+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1516+ if ((eI == eI))
15121517 then {
1513- let hI = invoke(bd, "burn", [ff], [AttachedPayment(dv, ff)])
1514- if ((hI == hI))
1518+ let hE = invoke(bc, "burn", [fe], [AttachedPayment(du, fe)])
1519+ if ((hE == hE))
15151520 then {
1516- let hM = eK(-(dM), -(dN), 0)
1517- let hc = hM._1
1518- let eB = hM._2
1519- let hd = eP(eJ, eB)
1520- if ((hd == hd))
1521- then ((gS ++ dO) ++ hc)
1521+ let hI = eJ(-(dL), -(dM), 0)
1522+ let gO = hI._1
1523+ let eA = hI._2
1524+ let gZ = eO(eI, eA)
1525+ if ((gZ == gZ))
1526+ then ((gQ ++ dN) ++ gO)
15221527 else throw("Strict value is not equal to itself.")
15231528 }
15241529 else throw("Strict value is not equal to itself.")
15251530 }
15261531 else throw("Strict value is not equal to itself.")
15271532 }
15281533 }
15291534
15301535
15311536
1532-@Callable(fd)
1533-func unstakeAndGet (ch) = {
1534- let hN = if ((size(fd.payments) != 0))
1537+@Callable(fc)
1538+func unstakeAndGet (cg) = {
1539+ let hJ = if ((size(fc.payments) != 0))
15351540 then throw("No payments are expected")
15361541 else true
1537- if ((hN == hN))
1542+ if ((hJ == hJ))
15381543 then {
1539- let dk = bm()
1540- let dx = fromBase58String(dk[q])
1541- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1542- if ((eJ == eJ))
1544+ let dj = bl()
1545+ let dw = fromBase58String(dj[q])
1546+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1547+ if ((eI == eI))
15431548 then {
1544- let hE = invoke(bE, "unstake", [toBase58String(dx), ch], nil)
1545- if ((hE == hE))
1549+ let hA = invoke(bD, "unstake", [toBase58String(dw), cg], nil)
1550+ if ((hA == hA))
15461551 then {
1547- let eg = dt(toBase58String(fd.transactionId), toBase58String(dx), ch, fd.caller)
1548- let dM = eg._1
1549- let dN = eg._2
1550- let dA = parseIntValue(eg._9)
1551- let dO = eg._10
1552- let gS = cW(dM, dN)
1553- let fg = if (!(bj(fd.caller)))
1554- then if (bk())
1552+ let ef = ds(toBase58String(fc.transactionId), toBase58String(dw), cg, fc.caller)
1553+ let dL = ef._1
1554+ let dM = ef._2
1555+ let dz = parseIntValue(ef._9)
1556+ let dN = ef._10
1557+ let gQ = cV(dL, dM)
1558+ let ff = if (!(bi(fc.caller)))
1559+ then if (bj())
15551560 then true
1556- else (bx == n)
1561+ else (bw == n)
15571562 else false
1558- let hO = if (fg)
1559- then throw(("Get operation is blocked by admin. Status = " + toString(dA)))
1563+ let hK = if (ff)
1564+ then throw(("Get operation is blocked by admin. Status = " + toString(dz)))
15601565 else true
1561- if ((hO == hO))
1566+ if ((hK == hK))
15621567 then {
1563- let hI = invoke(bd, "burn", [ch], [AttachedPayment(dx, ch)])
1564- if ((hI == hI))
1568+ let hE = invoke(bc, "burn", [cg], [AttachedPayment(dw, cg)])
1569+ if ((hE == hE))
15651570 then {
1566- let hP = eK(-(dM), -(dN), 0)
1567- let hc = hP._1
1568- let eB = hP._2
1569- let hd = eP(eJ, eB)
1570- if ((hd == hd))
1571- then ((gS ++ dO) ++ hc)
1571+ let hL = eJ(-(dL), -(dM), 0)
1572+ let gO = hL._1
1573+ let eA = hL._2
1574+ let gZ = eO(eI, eA)
1575+ if ((gZ == gZ))
1576+ then ((gQ ++ dN) ++ gO)
15721577 else throw("Strict value is not equal to itself.")
15731578 }
15741579 else throw("Strict value is not equal to itself.")
15751580 }
15761581 else throw("Strict value is not equal to itself.")
15771582 }
15781583 else throw("Strict value is not equal to itself.")
15791584 }
15801585 else throw("Strict value is not equal to itself.")
15811586 }
15821587 else throw("Strict value is not equal to itself.")
15831588 }
15841589
15851590
15861591
1587-@Callable(fd)
1588-func unstakeAndGetNoLess (hD,hQ,hL) = {
1589- let fg = if (!(bj(fd.caller)))
1590- then if (bk())
1592+@Callable(fc)
1593+func unstakeAndGetNoLess (hz,hM,hH) = {
1594+ let ff = if (!(bi(fc.caller)))
1595+ then if (bj())
15911596 then true
1592- else (bx == n)
1597+ else (bw == n)
15931598 else false
1594- let fZ = [if (!(fg))
1599+ let fY = [if (!(ff))
15951600 then true
1596- else throw("get operation is blocked by admin"), if ((size(fd.payments) == 0))
1601+ else throw("get operation is blocked by admin"), if ((size(fc.payments) == 0))
15971602 then true
15981603 else throw("no payments are expected")]
1599- if ((fZ == fZ))
1604+ if ((fY == fY))
16001605 then {
1601- let eJ = eC(toBigInt(0), toBigInt(0), toBigInt(0))
1602- if ((eJ == eJ))
1606+ let eI = eB(toBigInt(0), toBigInt(0), toBigInt(0))
1607+ if ((eI == eI))
16031608 then {
1604- let hE = invoke(bE, "unstake", [toBase58String(by), hD], nil)
1605- if ((hE == hE))
1609+ let hA = invoke(bD, "unstake", [toBase58String(bx), hz], nil)
1610+ if ((hA == hA))
16061611 then {
1607- let eg = dt(toBase58String(fd.transactionId), toBase58String(by), hD, fd.caller)
1608- let dM = eg._1
1609- let dN = eg._2
1610- let dO = eg._10
1611- let gS = cW(dM, dN)
1612- let hR = [if ((dM >= hQ))
1612+ let ef = ds(toBase58String(fc.transactionId), toBase58String(bx), hz, fc.caller)
1613+ let dL = ef._1
1614+ let dM = ef._2
1615+ let dN = ef._10
1616+ let gQ = cV(dL, dM)
1617+ let hN = [if ((dL >= hM))
16131618 then true
1614- else throw(makeString(["amount asset amount to receive is less than ", toString(hQ)], "")), if ((dN >= hL))
1619+ else throw(makeString(["amount asset amount to receive is less than ", toString(hM)], "")), if ((dM >= hH))
16151620 then true
1616- else throw(makeString(["price asset amount to receive is less than ", toString(hL)], ""))]
1617- if ((hR == hR))
1621+ else throw(makeString(["price asset amount to receive is less than ", toString(hH)], ""))]
1622+ if ((hN == hN))
16181623 then {
1619- let hI = invoke(bd, "burn", [hD], [AttachedPayment(by, hD)])
1620- if ((hI == hI))
1624+ let hE = invoke(bc, "burn", [hz], [AttachedPayment(bx, hz)])
1625+ if ((hE == hE))
16211626 then {
1622- let hS = eK(-(dM), -(dN), 0)
1623- let hc = hS._1
1624- let eB = hS._2
1625- let hd = eP(eJ, eB)
1626- if ((hd == hd))
1627- then ((gS ++ dO) ++ hc)
1627+ let hO = eJ(-(dL), -(dM), 0)
1628+ let gO = hO._1
1629+ let eA = hO._2
1630+ let gZ = eO(eI, eA)
1631+ if ((gZ == gZ))
1632+ then ((gQ ++ dN) ++ gO)
16281633 else throw("Strict value is not equal to itself.")
16291634 }
16301635 else throw("Strict value is not equal to itself.")
16311636 }
16321637 else throw("Strict value is not equal to itself.")
16331638 }
16341639 else throw("Strict value is not equal to itself.")
16351640 }
16361641 else throw("Strict value is not equal to itself.")
16371642 }
16381643 else throw("Strict value is not equal to itself.")
16391644 }
16401645
16411646
16421647
1643-@Callable(fd)
1644-func activate (hT,hU) = if ((toString(fd.caller) != toString(bd)))
1648+@Callable(fc)
1649+func activate (hP,hQ) = if ((toString(fc.caller) != toString(bc)))
16451650 then throw("permissions denied")
1646- else $Tuple2([StringEntry(ae(), hT), StringEntry(af(), hU)], "success")
1651+ else $Tuple2([StringEntry(ae(), hP), StringEntry(af(), hQ)], "success")
16471652
16481653
16491654
1650-@Callable(fd)
1655+@Callable(fc)
16511656 func refreshKLp () = {
1652- let hV = valueOrElse(getInteger(ak), 0)
1653- let hW = if (((height - hV) >= an))
1657+ let hR = valueOrElse(getInteger(ak), 0)
1658+ let hS = if (((height - hR) >= an))
16541659 then unit
1655- else ba(makeString([toString(an), " blocks have not passed since the previous call"], ""))
1656- if ((hW == hW))
1660+ else aZ(makeString([toString(an), " blocks have not passed since the previous call"], ""))
1661+ if ((hS == hS))
16571662 then {
1658- let eW = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bc("invalid kLp"))
1659- let hX = eK(0, 0, 0)
1660- let hY = hX._1
1661- let eB = hX._2
1662- let eN = if ((eW != eB))
1663- then hY
1664- else ba("nothing to refresh")
1665- $Tuple2(eN, toString(eB))
1663+ let eV = valueOrErrorMessage(parseBigInt(valueOrElse(getString(this, aj), "0")), bb("invalid kLp"))
1664+ let hT = eJ(0, 0, 0)
1665+ let hU = hT._1
1666+ let eA = hT._2
1667+ let eM = if ((eV != eA))
1668+ then hU
1669+ else aZ("nothing to refresh")
1670+ $Tuple2(eM, toString(eA))
16661671 }
16671672 else throw("Strict value is not equal to itself.")
16681673 }
16691674
16701675
16711676
1672-@Callable(fd)
1673-func getPoolConfigWrapperREADONLY () = $Tuple2(nil, bm())
1677+@Callable(fc)
1678+func getPoolConfigWrapperREADONLY () = $Tuple2(nil, bl())
16741679
16751680
16761681
1677-@Callable(fd)
1678-func getAccBalanceWrapperREADONLY (ap) = $Tuple2(nil, bV(ap))
1682+@Callable(fc)
1683+func getAccBalanceWrapperREADONLY (ap) = $Tuple2(nil, bU(ap))
16791684
16801685
16811686
1682-@Callable(fd)
1683-func calcPricesWrapperREADONLY (de,df,dj) = {
1684- let ds = di(de, df, dj)
1685- $Tuple2(nil, [toString(ds[0]), toString(ds[1]), toString(ds[2])])
1687+@Callable(fc)
1688+func calcPricesWrapperREADONLY (dd,de,di) = {
1689+ let dr = dh(dd, de, di)
1690+ $Tuple2(nil, [toString(dr[0]), toString(dr[1]), toString(dr[2])])
16861691 }
16871692
16881693
16891694
1690-@Callable(fd)
1695+@Callable(fc)
16911696 func toX18WrapperREADONLY (E,F) = $Tuple2(nil, toString(D(E, F)))
16921697
16931698
16941699
1695-@Callable(fd)
1700+@Callable(fc)
16961701 func fromX18WrapperREADONLY (I,J) = $Tuple2(nil, H(parseBigIntValue(I), J))
16971702
16981703
16991704
1700-@Callable(fd)
1701-func calcPriceBigIntWrapperREADONLY (bZ,ca) = $Tuple2(nil, toString(bY(parseBigIntValue(bZ), parseBigIntValue(ca))))
1705+@Callable(fc)
1706+func calcPriceBigIntWrapperREADONLY (bY,bZ) = $Tuple2(nil, toString(bX(parseBigIntValue(bY), parseBigIntValue(bZ))))
17021707
17031708
17041709
1705-@Callable(fd)
1706-func estimatePutOperationWrapperREADONLY (du,dQ,dR,dS,dT,dU,ab,dV,dW) = $Tuple2(nil, dP(du, dQ, dR, dS, dT, dU, ab, dV, dW))
1710+@Callable(fc)
1711+func estimatePutOperationWrapperREADONLY (dt,dP,dQ,dR,dS,dT,ab,dU,dV) = $Tuple2(nil, dO(dt, dP, dQ, dR, dS, dT, ab, dU, dV))
17071712
17081713
17091714
1710-@Callable(fd)
1711-func estimateGetOperationWrapperREADONLY (du,dv,dw,ab) = {
1712- let eg = dt(du, dv, dw, addressFromStringValue(ab))
1713- $Tuple2(nil, $Tuple10(eg._1, eg._2, eg._3, eg._4, eg._5, eg._6, eg._7, toString(eg._8), eg._9, eg._10))
1715+@Callable(fc)
1716+func estimateGetOperationWrapperREADONLY (dt,du,dv,ab) = {
1717+ let ef = ds(dt, du, dv, addressFromStringValue(ab))
1718+ $Tuple2(nil, $Tuple10(ef._1, ef._2, ef._3, ef._4, ef._5, ef._6, ef._7, toString(ef._8), ef._9, ef._10))
17141719 }
17151720
17161721
17171722
1718-@Callable(fd)
1723+@Callable(fc)
17191724 func statsREADONLY () = {
1720- let dk = bm()
1721- let dx = fromBase58String(dk[q])
1722- let hZ = dk[r]
1723- let gP = dk[s]
1724- let dZ = dk[v]
1725- let ea = dk[w]
1726- let dl = parseIntValue(dk[t])
1727- let dm = parseIntValue(dk[u])
1728- let ia = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
1729- let ib = bV(hZ)
1730- let ic = bV(gP)
1731- let id = if ((ia == 0))
1725+ let dj = bl()
1726+ let dw = fromBase58String(dj[q])
1727+ let hV = dj[r]
1728+ let hW = dj[s]
1729+ let dY = dj[v]
1730+ let dZ = dj[w]
1731+ let dk = parseIntValue(dj[t])
1732+ let dl = parseIntValue(dj[u])
1733+ let hX = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
1734+ let hY = bU(hV)
1735+ let hZ = bU(hW)
1736+ let ia = if ((hX == 0))
17321737 then [e, e, e]
1733- else di(ib, ic, ia)
1734- let dH = 0
1735- let ie = H(id[1], b)
1736- let if = H(id[2], b)
1737- let ig = value(getInteger(bd, aD(toString(this))))
1738- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(ib), toString(ic), toString(ia), toString(dH), toString(ie), toString(if), toString(ig)], j))
1738+ else dh(hY, hZ, hX)
1739+ let dG = 0
1740+ let ib = H(ia[1], b)
1741+ let ic = H(ia[2], b)
1742+ let id = value(getInteger(bc, aD(toString(this))))
1743+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(hY), toString(hZ), toString(hX), toString(dG), toString(ib), toString(ic), toString(id)], j))
17391744 }
17401745
17411746
17421747
1743-@Callable(fd)
1744-func evaluatePutByAmountAssetREADONLY (dR) = {
1745- let dk = bm()
1746- let dx = fromBase58String(dk[q])
1747- let dX = dk[r]
1748+@Callable(fc)
1749+func evaluatePutByAmountAssetREADONLY (dQ) = {
1750+ let dj = bl()
1751+ let dw = fromBase58String(dj[q])
1752+ let dW = dj[r]
1753+ let dx = fromBase58String(dW)
1754+ let dX = dj[s]
17481755 let dy = fromBase58String(dX)
1749- let dY = dk[s]
1750- let dz = fromBase58String(dY)
1751- let dl = parseIntValue(dk[t])
1752- let dm = parseIntValue(dk[u])
1753- let dA = dk[p]
1754- let ia = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
1755- let ib = bV(dX)
1756- let ic = bV(dY)
1757- let dg = D(ib, dl)
1758- let dh = D(ic, dm)
1759- let dG = if ((ia == 0))
1756+ let dk = parseIntValue(dj[t])
1757+ let dl = parseIntValue(dj[u])
1758+ let dz = dj[p]
1759+ let hX = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
1760+ let hY = bU(dW)
1761+ let hZ = bU(dX)
1762+ let df = D(hY, dk)
1763+ let dg = D(hZ, dl)
1764+ let dF = if ((hX == 0))
17601765 then e
1761- else bY(dh, dg)
1762- let ed = D(dR, dl)
1763- let ee = fraction(ed, dG, d)
1764- let dT = H(ee, dm)
1765- let fk = dP("", 500000, dR, dy, dT, dz, "", true, false)
1766- let eo = fk._1
1767- let ih = fk._3
1768- let dC = fk._4
1769- let dE = fk._5
1770- let dB = fk._6
1771- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(eo), toString(H(dG, b)), toString(dC), toString(dE), toString(dB), dA, toString(dR), toString(dT)], j))
1766+ else bX(dg, df)
1767+ let ec = D(dQ, dk)
1768+ let ed = fraction(ec, dF, d)
1769+ let dS = H(ed, dl)
1770+ let fj = dO("", 500000, dQ, dx, dS, dy, "", true, false)
1771+ let en = fj._1
1772+ let ie = fj._3
1773+ let dB = fj._4
1774+ let dD = fj._5
1775+ let dA = fj._6
1776+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(en), toString(H(dF, b)), toString(dB), toString(dD), toString(dA), dz, toString(dQ), toString(dS)], j))
17721777 }
17731778
17741779
17751780
1776-@Callable(fd)
1777-func evaluatePutByPriceAssetREADONLY (dT) = {
1778- let dk = bm()
1779- let dx = fromBase58String(dk[q])
1780- let dX = dk[r]
1781+@Callable(fc)
1782+func evaluatePutByPriceAssetREADONLY (dS) = {
1783+ let dj = bl()
1784+ let dw = fromBase58String(dj[q])
1785+ let dW = dj[r]
1786+ let dx = fromBase58String(dW)
1787+ let dX = dj[s]
17811788 let dy = fromBase58String(dX)
1782- let dY = dk[s]
1783- let dz = fromBase58String(dY)
1784- let dl = parseIntValue(dk[t])
1785- let dm = parseIntValue(dk[u])
1786- let dA = dk[p]
1787- let ia = valueOrErrorMessage(assetInfo(dx), (("Asset " + toBase58String(dx)) + " doesn't exist")).quantity
1788- let ii = bV(dX)
1789- let ij = bV(dY)
1790- let ik = D(ii, dl)
1791- let il = D(ij, dm)
1792- let dG = if ((ia == 0))
1789+ let dk = parseIntValue(dj[t])
1790+ let dl = parseIntValue(dj[u])
1791+ let dz = dj[p]
1792+ let hX = valueOrErrorMessage(assetInfo(dw), (("Asset " + toBase58String(dw)) + " doesn't exist")).quantity
1793+ let if = bU(dW)
1794+ let ig = bU(dX)
1795+ let ih = D(if, dk)
1796+ let ii = D(ig, dl)
1797+ let dF = if ((hX == 0))
17931798 then e
1794- else bY(il, ik)
1795- let ee = D(dT, dm)
1796- let ed = fraction(ee, d, dG)
1797- let dR = H(ed, dl)
1798- let fk = dP("", 500000, dR, dy, dT, dz, "", true, false)
1799- let eo = fk._1
1800- let ih = fk._3
1801- let dC = fk._4
1802- let dE = fk._5
1803- let dB = fk._6
1804- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(eo), toString(H(dG, b)), toString(dC), toString(dE), toString(dB), dA, toString(dR), toString(dT)], j))
1799+ else bX(ii, ih)
1800+ let ed = D(dS, dl)
1801+ let ec = fraction(ed, d, dF)
1802+ let dQ = H(ec, dk)
1803+ let fj = dO("", 500000, dQ, dx, dS, dy, "", true, false)
1804+ let en = fj._1
1805+ let ie = fj._3
1806+ let dB = fj._4
1807+ let dD = fj._5
1808+ let dA = fj._6
1809+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d%d", toString(en), toString(H(dF, b)), toString(dB), toString(dD), toString(dA), dz, toString(dQ), toString(dS)], j))
18051810 }
18061811
18071812
18081813
1809-@Callable(fd)
1810-func evaluateGetREADONLY (im,in) = {
1811- let eg = dt("", im, in, this)
1812- let dM = eg._1
1813- let dN = eg._2
1814- let dC = eg._5
1815- let dE = eg._6
1816- let dB = eg._7
1817- let dH = eg._8
1818- let dA = parseIntValue(eg._9)
1819- $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dM), toString(dN), toString(dC), toString(dE), toString(dB), toString(dH), toString(dA)], j))
1814+@Callable(fc)
1815+func evaluateGetREADONLY (ij,ik) = {
1816+ let ef = ds("", ij, ik, this)
1817+ let dL = ef._1
1818+ let dM = ef._2
1819+ let dB = ef._5
1820+ let dD = ef._6
1821+ let dA = ef._7
1822+ let dG = ef._8
1823+ let dz = parseIntValue(ef._9)
1824+ $Tuple2(nil, makeString(["%d%d%d%d%d%d%d", toString(dL), toString(dM), toString(dB), toString(dD), toString(dA), toString(dG), toString(dz)], j))
18201825 }
18211826
18221827
1823-@Verifier(io)
1824-func ip () = {
1825- let iq = {
1826- let aQ = gr()
1827- if ($isInstanceOf(aQ, "ByteVector"))
1828+@Verifier(il)
1829+func im () = {
1830+ let in = {
1831+ let aP = gq()
1832+ if ($isInstanceOf(aP, "ByteVector"))
18281833 then {
1829- let gu = aQ
1830- gu
1834+ let gt = aP
1835+ gt
18311836 }
1832- else if ($isInstanceOf(aQ, "Unit"))
1833- then io.senderPublicKey
1837+ else if ($isInstanceOf(aP, "Unit"))
1838+ then il.senderPublicKey
18341839 else throw("Match error")
18351840 }
1836- let aQ = io
1837- if ($isInstanceOf(aQ, "Order"))
1841+ let aP = il
1842+ if ($isInstanceOf(aP, "Order"))
18381843 then {
1839- let eS = aQ
1840- let ir = bl()
1841- let is = if (eO())
1844+ let eR = aP
1845+ let io = bk()
1846+ let ip = if (eN())
18421847 then $Tuple2(true, "")
1843- else eR(eS)
1844- let aK = is._1
1845- let aL = is._2
1846- let aM = sigVerify(eS.bodyBytes, eS.proofs[0], eS.senderPublicKey)
1847- let aN = sigVerify(eS.bodyBytes, eS.proofs[1], ir)
1848- if (if (if (aK)
1848+ else eQ(eR)
1849+ let aK = ip._1
1850+ let aL = ip._2
1851+ let aM = sigVerify(eR.bodyBytes, eR.proofs[1], io)
1852+ if (if (aK)
18491853 then aM
18501854 else false)
1851- then aN
1852- else false)
18531855 then true
1854- else aJ(aK, aL, aM, aN)
1856+ else aJ(aK, aL, aM)
18551857 }
1856- else if ($isInstanceOf(aQ, "SetScriptTransaction"))
1858+ else if ($isInstanceOf(aP, "SetScriptTransaction"))
18571859 then {
1858- let aV = aQ
1859- if (sigVerify(io.bodyBytes, io.proofs[0], iq))
1860+ let aU = aP
1861+ if (sigVerify(il.bodyBytes, il.proofs[0], in))
18601862 then true
18611863 else {
1862- let it = blake2b256(value(aV.script))
1863- let iu = fromBase64String(value(getString(bd, aF())))
1864- let iv = scriptHash(this)
1865- if ((iu == it))
1866- then (iv != it)
1864+ let iq = blake2b256(value(aU.script))
1865+ let ir = fromBase64String(value(getString(bc, aF())))
1866+ let is = scriptHash(this)
1867+ if ((ir == iq))
1868+ then (is != iq)
18671869 else false
18681870 }
18691871 }
1870- else sigVerify(io.bodyBytes, io.proofs[0], iq)
1872+ else sigVerify(il.bodyBytes, il.proofs[0], in)
18711873 }
18721874

github/deemru/w8io/169f3d6 
800.91 ms