2022.05.25 14:08 [3132621] smart account 3P3pDosq4GCwfJkvq4yqKvvoTwmoqc9qPmo > SELF 0.00000000 Waves

{ "type": 13, "id": "FQU4VndDFkELt9FTHBfhnW4rRBR9C6an7gD7bgd3Ya7", "fee": 1400000, "feeAssetId": null, "timestamp": 1653476945296, "version": 2, "chainId": 87, "sender": "3P3pDosq4GCwfJkvq4yqKvvoTwmoqc9qPmo", "senderPublicKey": "kGiN3HQLLzkjcQVfSrY4H1JRUTjPhJhMgiTQeXsEoPV", "proofs": [ "58wgPQUcttwaDkVB2W9wRoYQqJvXKTwqaQ3PCPcW7EGFEaZaQZQVH5s2UQLBrDnVj6a9x98NL4tBn6jMjPWd7ix1" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAcAAAAABluZnRDcmVhdGlvbkFkZHJlc3NHYXRld2F5AQAAABoBV0ZHoNHSweV6qg7Sw/U7psJdLr7LyOLUcgAAAAAYbmZ0Q3JlYXRpb25BZGRyZXNzUHV6emxlAQAAABoBV5PdxNIX5yAK/fchEk7w8HZnJoMDeNRcTAAAAAAQaW5jdWJhdG9yQWRkcmVzcwEAAAAaAVeMtUiffp4V1RiXjht3+wl/Z2La4W1jJUkAAAAADmJyZWVkZXJBZGRyZXNzAQAAABoBV37nuflxxEx4XH14e4ZxgkMVpnlqD7YfHgAAAAAOZmFybWluZ0FkZHJlc3MBAAAAGgFXWxNnWQZpJ6cQTIpwvUakeLEwDJ+TjyLDAAAAAAplZ2dBc3NldElkAQAAACCjn39PI3JR0SziIZJiiE0MC/PqIm6B1a/8C5MXzm2xyQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAAAQAAAAx0cnlHZXRTdHJpbmcAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAAAAABFhY2Nlc3NJdGVtQXNzZXRJZAkAAlkAAAABCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQIAAAAYc3RhdGljX2FjY2Vzc0l0ZW1Bc3NldElkAAAAAA9hY2Nlc3NJdGVtUHJpY2UJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAAWc3RhdGljX2FjY2Vzc0l0ZW1QcmljZQEAAAANaXNKYWNrcG90RHVjawAAAAEAAAAOYXNzZXROYW1lUGFydHMJAAAAAAAAAgkAAZEAAAACBQAAAA5hc3NldE5hbWVQYXJ0cwkAAGUAAAACCQABkAAAAAEFAAAADmFzc2V0TmFtZVBhcnRzAAAAAAAAAAACAgAAAAFKAQAAAAlpc1N5bWJvbEEAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFBCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEIAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFCCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEMAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFDCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEQAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFECQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEUAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFFCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEYAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFGCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEcAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFHCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEgAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFICQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEkAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFJCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbEsAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFLCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbFMAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFTCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAAAlpc1N5bWJvbFQAAAACAAAAC2FjY3VtdWxhdGVkAAAAA3N5bQMJAAAAAAAAAgUAAAADc3ltAgAAAAFUCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAABCQAAZAAAAAIFAAAAC2FjY3VtdWxhdGVkAAAAAAAAAAAAAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQAAAAZhbW91bnQDCQEAAAAIY29udGFpbnMAAAACBQAAAAZhbW91bnQCAAAAATACAAAAAAUAAAAGYW1vdW50AQAAAAZnZXRHZW4AAAABAAAACWFzc2V0TmFtZQQAAAAIZ2Vub3R5cGUJAAS1AAAAAgkBAAAACWRyb3BSaWdodAAAAAIJAAEwAAAAAgUAAAAJYXNzZXROYW1lAAAAAAAAAAAFAAAAAAAAAAADAgAAAAAJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sQQAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABQQkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAUkZjFfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpc1N5bWJvbEIAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjFfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgOAkBAAAABSRmMV8yAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgkBAAAABSRmMV8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgCAAAAAUIJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEKAAAAAAIkbAUAAAAIZ2Vub3R5cGUKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAAAAAAAAAAAACgEAAAAFJGYyXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xDAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGYyXzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQAAAAUkZjJfMgAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIJAQAAAAUkZjJfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAgAAAAFDCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAABSRmM18xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sRAAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmM18yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAAFJGYzXzIAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACCQEAAAAFJGYzXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABRAkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAUkZjRfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpc1N5bWJvbEUAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjRfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgOAkBAAAABSRmNF8yAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgkBAAAABSRmNF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgCAAAAAUUJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEKAAAAAAIkbAUAAAAIZ2Vub3R5cGUKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAAAAAAAAAAAACgEAAAAFJGY1XzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xGAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGY1XzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQAAAAUkZjVfMgAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIJAQAAAAUkZjVfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAgAAAAFGCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAABSRmNl8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sRwAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmNl8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAAFJGY2XzIAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACCQEAAAAFJGY2XzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABRwkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAUkZjdfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAlpc1N5bWJvbEgAAAACBQAAAAIkYQkAAZEAAAACBQAAAAIkbAUAAAACJGkKAQAAAAUkZjdfMgAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZHMgOAkBAAAABSRmN18yAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgkBAAAABSRmN18xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgCAAAAAUgJAQAAABBnZXRBbW91bnRPckNsZWFyAAAAAQkAASwAAAACCQABpAAAAAEKAAAAAAIkbAUAAAAIZ2Vub3R5cGUKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwAAAAAAAAAAAACgEAAAAFJGY4XzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xJAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGY4XzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWRzIDgJAQAAAAUkZjhfMgAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIJAQAAAAUkZjhfMQAAAAIFAAAABSRhY2MwAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAgAAAAFJCQEAAAAQZ2V0QW1vdW50T3JDbGVhcgAAAAEJAAEsAAAAAgkAAaQAAAABCgAAAAACJGwFAAAACGdlbm90eXBlCgAAAAACJHMJAAGQAAAAAQUAAAACJGwKAAAAAAUkYWNjMAAAAAAAAAAAAAoBAAAABSRmOV8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACWlzU3ltYm9sSwAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmOV8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAAFJGY5XzIAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACCQEAAAAFJGY5XzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABSwkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAYkZjEwXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xTAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAGJGYxMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAAGJGYxMF8yAAAAAgkBAAAABiRmMTBfMQAAAAIJAQAAAAYkZjEwXzEAAAACCQEAAAAGJGYxMF8xAAAAAgkBAAAABiRmMTBfMQAAAAIJAQAAAAYkZjEwXzEAAAACCQEAAAAGJGYxMF8xAAAAAgkBAAAABiRmMTBfMQAAAAIJAQAAAAYkZjEwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABUwkBAAAAEGdldEFtb3VudE9yQ2xlYXIAAAABCQABLAAAAAIJAAGkAAAAAQoAAAAAAiRsBQAAAAhnZW5vdHlwZQoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAAAAAAAAAAAAAKAQAAAAYkZjExXzEAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQEAAAAJaXNTeW1ib2xUAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAGJGYxMV8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkcyA4CQEAAAAGJGYxMV8yAAAAAgkBAAAABiRmMTFfMQAAAAIJAQAAAAYkZjExXzEAAAACCQEAAAAGJGYxMV8xAAAAAgkBAAAABiRmMTFfMQAAAAIJAQAAAAYkZjExXzEAAAACCQEAAAAGJGYxMV8xAAAAAgkBAAAABiRmMTFfMQAAAAIJAQAAAAYkZjExXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAIAAAABVAEAAAAOZ2V0QXNzZXRPcmlnaW4AAAABAAAACmdlbmVyYXRpb24DCQAAAAAAAAIFAAAACmdlbmVyYXRpb24CAAAAAUcFAAAAEGluY3ViYXRvckFkZHJlc3MFAAAADmJyZWVkZXJBZGRyZXNzAQAAAA5nZXRBc3NldFJhcml0eQAAAAIAAAAIZ2Vub3R5cGUAAAAKZ2VuZXJhdGlvbgQAAAAIcXVhbnRpdHkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIJAQAAAAdBZGRyZXNzAAAAAQkBAAAADmdldEFzc2V0T3JpZ2luAAAAAQUAAAAKZ2VuZXJhdGlvbgkAASwAAAACCQABLAAAAAICAAAABnN0YXRzXwUAAAAIZ2Vub3R5cGUCAAAACV9xdWFudGl0eQQAAAAFcG93ZXIJAABsAAAABgkAAGkAAAACAAAAAAAAACcQBQAAAAhxdWFudGl0eQAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAAAQAAAAAAAAAAAgUAAAAFRkxPT1IDCQAAZgAAAAIFAAAABXBvd2VyAAAAAAAAAAAABQAAAAVwb3dlcgAAAAAAAAAAAgEAAAAUZ2V0QXNzZXRGYXJtaW5nUG93ZXIAAAABAAAAB2Fzc2V0SWQDAwkAAAAAAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAABmlzc3VlcgkBAAAAB0FkZHJlc3MAAAABBQAAAA5icmVlZGVyQWRkcmVzcwYJAAAAAAAAAggJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQUAAAAQaW5jdWJhdG9yQWRkcmVzcwQAAAAJYXNzZXROYW1lCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABBQAAAAdhc3NldElkAAAABG5hbWUEAAAACmdlbmVyYXRpb24JAAEvAAAAAgkBAAAACXRha2VSaWdodAAAAAIFAAAACWFzc2V0TmFtZQAAAAAAAAAAAgAAAAAAAAAAAQQAAAADZ2VuCQABLAAAAAIJAAEsAAAAAgkBAAAABmdldEdlbgAAAAEFAAAACWFzc2V0TmFtZQIAAAABLQUAAAAKZ2VuZXJhdGlvbgkABRQAAAACBQAAAANnZW4JAQAAAA5nZXRBc3NldFJhcml0eQAAAAIFAAAAA2dlbgUAAAAKZ2VuZXJhdGlvbgkAAAIAAAABAgAAAA1ub3QgdmFsaWQgTkZUAAAAAgAAAAFpAQAAAARsb2NrAAAAAAQAAAASbmZ0Q3JlYXRpb25BZGRyZXNzAwkAAAAAAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVcz34avQ76tEmzzPXivdY8DVrVbtTZa9BcFAAAAGG5mdENyZWF0aW9uQWRkcmVzc1B1enpsZQUAAAAZbmZ0Q3JlYXRpb25BZGRyZXNzR2F0ZXdheQQAAAAKYWRkcmVzc1N0cgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAB2Fzc2V0SWQJAQAAAAV2YWx1ZQAAAAEICQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAAC2Fzc2V0SXNzdWVyCAgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAAZpc3N1ZXIAAAAFYnl0ZXMEAAAACWFzc2V0TmFtZQkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAARuYW1lBAAAAA5hc3NldE5hbWVQYXJ0cwkABLUAAAACBQAAAAlhc3NldE5hbWUCAAAAAAQAAAAJaXNKYWNrcG90CQEAAAANaXNKYWNrcG90RHVjawAAAAEFAAAADmFzc2V0TmFtZVBhcnRzBAAAAAphc3NldENvbG9yAwUAAAAJaXNKYWNrcG90AgAAAAFHCQABkQAAAAIJAAS1AAAAAgUAAAAJYXNzZXROYW1lAgAAAAAJAABlAAAAAgkAAZAAAAABCQAEtQAAAAIFAAAACWFzc2V0TmFtZQIAAAAAAAAAAAAAAAABBAAAAAthc3NldFJhcml0eQMFAAAACWlzSmFja3BvdAAAAAAAAAAAZAgJAQAAABRnZXRBc3NldEZhcm1pbmdQb3dlcgAAAAEFAAAAB2Fzc2V0SWQAAAACXzIDAwkBAAAAAiE9AAAAAgUAAAALYXNzZXRJc3N1ZXIFAAAAEGluY3ViYXRvckFkZHJlc3MJAQAAAAIhPQAAAAIFAAAAC2Fzc2V0SXNzdWVyBQAAAA5icmVlZGVyQWRkcmVzcwcJAAACAAAAAQIAAAAUaW52YWxpZCBORlQgYXR0YWNoZWQEAAAAEHBlcmNoZXNBdmFpbGFibGUEAAAAByRtYXRjaDAJAAQaAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAAA5mYXJtaW5nQWRkcmVzcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18JAAQlAAAAAQUAAAAEdGhpcwIAAAASX3BlcmNoZXNBdmFpbGFibGVfBQAAAAphc3NldENvbG9yAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWIFAAAAByRtYXRjaDAFAAAAAWIAAAAAAAAAAAADCQAAAAAAAAIFAAAAEHBlcmNoZXNBdmFpbGFibGUFAAAAEHBlcmNoZXNBdmFpbGFibGUEAAAACmVnZ0JhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAAKZWdnQXNzZXRJZAQAAAAJaXNPblBlcmNoAwMJAABmAAAAAgAAAAAAAAAAMgUAAAALYXNzZXRSYXJpdHkGAwkAAAAAAAACBQAAABBwZXJjaGVzQXZhaWxhYmxlAAAAAAAAAAAACQAAZgAAAAIAAAAAAAX14QAFAAAACmVnZ0JhbGFuY2UHBwQAAAAEaW52MQMJAABmAAAAAgUAAAAQcGVyY2hlc0F2YWlsYWJsZQAAAAAAAAAAAAUAAAAEdW5pdAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAADmZhcm1pbmdBZGRyZXNzAgAAAAhidXlQZXJjaAkABEwAAAACBQAAAAphc3NldENvbG9yCQAETAAAAAICAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAplZ2dBc3NldElkAAAAAAAF9eEABQAAAANuaWwDCQAAAAAAAAIFAAAABGludjEFAAAABGludjEEAAAABGludjIDCQAAZgAAAAIFAAAAEHBlcmNoZXNBdmFpbGFibGUAAAAAAAAAAAAFAAAABHVuaXQDCQAAAAAAAAIFAAAACWlzSmFja3BvdAcJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAAA5mYXJtaW5nQWRkcmVzcwIAAAAIc3Rha2VORlQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAHYXNzZXRJZAAAAAAAAAAAAQUAAAADbmlsCQAD/AAAAAQJAQAAAAdBZGRyZXNzAAAAAQUAAAAOZmFybWluZ0FkZHJlc3MCAAAADHN0YWtlSmFja3BvdAkABEwAAAACBQAAAAphc3NldENvbG9yBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAAB2Fzc2V0SWQAAAAAAAAAAAEFAAAAA25pbAMJAAAAAAAAAgUAAAAEaW52MgUAAAAEaW52MgYJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAAAAAAAAgUAAAAJaXNPblBlcmNoBQAAAAlpc09uUGVyY2gEAAAACnN0ZXJpbGVTdHIEAAAAByRtYXRjaDAJAAQaAAAAAgkBAAAAB0FkZHJlc3MAAAABBQAAAA5icmVlZGVyQWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAABmFzc2V0XwkAAlgAAAABBQAAAAdhc3NldElkAgAAAAlfY2hpbGRyZW4DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABeAUAAAAHJG1hdGNoMAIAAAAHU3RlcmlsZQIAAAAHRmVydGlsZQQAAAAKbmFtZVN1ZmZpeAkAASwAAAACCQABpAAAAAEFAAAAC2Fzc2V0UmFyaXR5AgAAAAElBAAAAAlpbWFnZUxpbmsJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACRodHRwczovL3dhdmVzZHVja3MuY29tL2FwaS92MS9kdWNrcy8JAQAAAAlkcm9wUmlnaHQAAAACCQABMAAAAAIFAAAACWFzc2V0TmFtZQAAAAAAAAAABQAAAAAAAAAAAwIAAAANLnN2Zz9vblBlcmNoPQkAAaUAAAABBQAAAAlpc09uUGVyY2gCAAAAByZjb2xvcj0FAAAACmFzc2V0Q29sb3IEAAAABG5hbWUDBQAAAAlpc09uUGVyY2gJAAEsAAAAAgIAAAAMU3Rha2VkIER1Y2sgBQAAAApuYW1lU3VmZml4CQABLAAAAAICAAAAC1dhdmVzIER1Y2sgBQAAAApuYW1lU3VmZml4BAAAAA5zdGFrZWRORlRJZFN0cgQAAAAHJG1hdGNoMAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAAEm5mdENyZWF0aW9uQWRkcmVzcwIAAAAJY3JlYXRlTkZUCQAETAAAAAIFAAAABG5hbWUJAARMAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAApzdGVyaWxlU3RyAgAAAAwgV2F2ZXMgRHVjayAFAAAACWFzc2V0TmFtZQIAAAANIHdpdGggcmFyaXR5IAkAAaQAAAABBQAAAAthc3NldFJhcml0eQkABEwAAAACBQAAAAlpbWFnZUxpbmsJAARMAAAAAgIAAAAFZHVja3MFAAAAA25pbAUAAAADbmlsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXgFAAAAByRtYXRjaDAFAAAAAXgJAAACAAAAAQIAAAArc29tZXRoaW5nIHdlbnQgd3JvbmcgZHVyaW5nIGNyZWF0aW9uIG9mIE5GVAMJAAAAAAAAAgUAAAAOc3Rha2VkTkZUSWRTdHIFAAAADnN0YWtlZE5GVElkU3RyCQAFFAAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAAAAABCQACWQAAAAEFAAAADnN0YWtlZE5GVElkU3RyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVkdWNrXwkAAlgAAAABBQAAAAdhc3NldElkAgAAAAhfc2R1Y2tJZAUAAAAOc3Rha2VkTkZUSWRTdHIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAICAAAABWR1Y2tfCQACWAAAAAEFAAAAB2Fzc2V0SWQCAAAABl9vd25lcgUAAAAKYWRkcmVzc1N0cgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAEbmZ0XwUAAAAOc3Rha2VkTkZUSWRTdHICAAAAB19kdWNrSWQJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAACmFkZHJlc3NTdHICAAAADF9sb2NrZWREdWNrXwkAAlgAAAABBQAAAAdhc3NldElkBQAAAAthc3NldFJhcml0eQUAAAADbmlsBQAAAA5zdGFrZWRORlRJZFN0cgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAZ1bmxvY2sAAAAABAAAABJuZnRDcmVhdGlvbkFkZHJlc3MDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAAB0FkZHJlc3MAAAABAQAAABoBVzPfhq9Dvq0SbPM9eK91jwNWtVu1Nlr0FwUAAAAYbmZ0Q3JlYXRpb25BZGRyZXNzUHV6emxlBQAAABluZnRDcmVhdGlvbkFkZHJlc3NHYXRld2F5BAAAAAphZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAALc3Rha2VkTkZUSWQJAQAAAAV2YWx1ZQAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQEAAAADnN0YWtlZE5GVElkU3RyCQACWAAAAAEFAAAAC3N0YWtlZE5GVElkBAAAAAphc3NldElkU3RyCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACCQABLAAAAAICAAAABG5mdF8FAAAADnN0YWtlZE5GVElkU3RyAgAAAAdfZHVja0lkBAAAAAdhc3NldElkCQACWQAAAAEFAAAACmFzc2V0SWRTdHIEAAAACWFzc2V0TmFtZQkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAPsAAAAAQUAAAAHYXNzZXRJZAAAAARuYW1lBAAAAA5hc3NldE5hbWVQYXJ0cwkABLUAAAACBQAAAAlhc3NldE5hbWUCAAAAAAQAAAAJaXNKYWNrcG90CQEAAAANaXNKYWNrcG90RHVjawAAAAEFAAAADmFzc2V0TmFtZVBhcnRzBAAAAA91bnN0YWtlRnVuY05hbWUDCQAAAAAAAAIFAAAACWlzSmFja3BvdAYCAAAADnVuc3Rha2VKYWNrcG90AgAAAAp1bnN0YWtlTkZUAwkBAAAAAiE9AAAAAgkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAVkdWNrXwUAAAAKYXNzZXRJZFN0cgIAAAAGX293bmVyBQAAAAphZGRyZXNzU3RyCQAAAgAAAAECAAAAEWR1Y2sgaXMgbm90IHlvdXJzBAAAABJhc3NldEJhbGFuY2VCZWZvcmUJAAPwAAAAAgUAAAAEdGhpcwUAAAAKZWdnQXNzZXRJZAMJAAAAAAAAAgUAAAASYXNzZXRCYWxhbmNlQmVmb3JlBQAAABJhc3NldEJhbGFuY2VCZWZvcmUEAAAABGludjEDCQAAZgAAAAIJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAAAAAAAAAAAAAUAAAAEdW5pdAkAA/wAAAAECQEAAAAHQWRkcmVzcwAAAAEFAAAADmZhcm1pbmdBZGRyZXNzBQAAAA91bnN0YWtlRnVuY05hbWUJAARMAAAAAgUAAAAKYXNzZXRJZFN0cgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAABGludjEFAAAABGludjEEAAAACWVnZ0Vhcm5lZAkAAGUAAAACCQAD8AAAAAIFAAAABHRoaXMFAAAACmVnZ0Fzc2V0SWQFAAAAEmFzc2V0QmFsYW5jZUJlZm9yZQMJAAAAAAAAAgUAAAAJZWdnRWFybmVkBQAAAAllZ2dFYXJuZWQEAAAABGludjIJAAP8AAAABAkBAAAAB0FkZHJlc3MAAAABBQAAABJuZnRDcmVhdGlvbkFkZHJlc3MCAAAAB2J1cm5ORlQFAAAAA25pbAgFAAAAAWkAAAAIcGF5bWVudHMDCQAAAAAAAAIFAAAABGludjIFAAAABGludjIJAAUUAAAAAgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIAAAAAAAAAAAEFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAllZ2dFYXJuZWQFAAAACmVnZ0Fzc2V0SWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAACmFkZHJlc3NTdHICAAAADF9sb2NrZWREdWNrXwUAAAAKYXNzZXRJZFN0cgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAEbmZ0XwUAAAAOc3Rha2VkTkZUSWRTdHICAAAAB19kdWNrSWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAICAAAABWR1Y2tfBQAAAAphc3NldElkU3RyAgAAAAhfc2R1Y2tJZAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAFZHVja18FAAAACmFzc2V0SWRTdHICAAAABl9vd25lcgUAAAADbmlsBQAAAAphc3NldElkU3RyCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAAPoWQx", "height": 3132621, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5BTHVUz8FuNxsU6gwyr1Jo1RV2kEtpSaX3b8WgQSMtiV Next: BLBXcUEHKdoqn6P6vaZsRsb7Th5KBRLYKhNsFFpV9LkW Diff:
OldNewDifferences
363363 throw("something went wrong during creation of NFT")
364364 }
365365 if ((stakedNFTIdStr == stakedNFTIdStr))
366- then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(stakedNFTIdStr)), StringEntry((("duck_" + toBase58String(assetId)) + "_owner"), addressStr), StringEntry((("nft_" + stakedNFTIdStr) + "_duckId"), toBase58String(assetId)), IntegerEntry(((("address_" + addressStr) + "_lockedDuck_") + toBase58String(assetId)), assetRarity)], stakedNFTIdStr)
366+ then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(stakedNFTIdStr)), StringEntry((("duck_" + toBase58String(assetId)) + "_sduckId"), stakedNFTIdStr), StringEntry((("duck_" + toBase58String(assetId)) + "_owner"), addressStr), StringEntry((("nft_" + stakedNFTIdStr) + "_duckId"), toBase58String(assetId)), IntegerEntry(((("address_" + addressStr) + "_lockedDuck_") + toBase58String(assetId)), assetRarity)], stakedNFTIdStr)
367367 else throw("Strict value is not equal to itself.")
368368 }
369369 else throw("Strict value is not equal to itself.")
406406 then {
407407 let inv2 = invoke(Address(nftCreationAddress), "burnNFT", nil, i.payments)
408408 if ((inv2 == inv2))
409- then $Tuple2([ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(i.caller, eggEarned, eggAssetId), DeleteEntry(((("address_" + addressStr) + "_lockedDuck_") + assetIdStr)), DeleteEntry((("nft_" + stakedNFTIdStr) + "_duckId")), DeleteEntry((("duck_" + assetIdStr) + "_owner"))], assetIdStr)
409+ then $Tuple2([ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(i.caller, eggEarned, eggAssetId), DeleteEntry(((("address_" + addressStr) + "_lockedDuck_") + assetIdStr)), DeleteEntry((("nft_" + stakedNFTIdStr) + "_duckId")), DeleteEntry((("duck_" + assetIdStr) + "_sduckId")), DeleteEntry((("duck_" + assetIdStr) + "_owner"))], assetIdStr)
410410 else throw("Strict value is not equal to itself.")
411411 }
412412 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let nftCreationAddressGateway = base58'3P8LVqVKhTViMJau96KNir6FhHr4WnfoW57'
55
66 let nftCreationAddressPuzzle = base58'3PFQjjDMiZKQZdu5JqTHD7HwgSXyp9Rw9By'
77
88 let incubatorAddress = base58'3PEktVux2RhchSN63DsDo4b4mz4QqzKSeDv'
99
1010 let breederAddress = base58'3PDVuU45H7Eh5dmtNbnRNRStGwULA7NY6Hb'
1111
1212 let farmingAddress = base58'3PAETTtuW7aSiyKtn9GuML3RgtV1xdq1mQW'
1313
1414 let eggAssetId = base58'C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS'
1515
1616 func tryGetInteger (key) = match getInteger(this, key) {
1717 case b: Int =>
1818 b
1919 case _ =>
2020 0
2121 }
2222
2323
2424 func tryGetString (key) = match getString(this, key) {
2525 case a: String =>
2626 a
2727 case _ =>
2828 ""
2929 }
3030
3131
3232 let accessItemAssetId = fromBase58String(tryGetString("static_accessItemAssetId"))
3333
3434 let accessItemPrice = tryGetInteger("static_accessItemPrice")
3535
3636 func isJackpotDuck (assetNameParts) = (assetNameParts[(size(assetNameParts) - 2)] == "J")
3737
3838
3939 func isSymbolA (accumulated,sym) = if ((sym == "A"))
4040 then (accumulated + 1)
4141 else (accumulated + 0)
4242
4343
4444 func isSymbolB (accumulated,sym) = if ((sym == "B"))
4545 then (accumulated + 1)
4646 else (accumulated + 0)
4747
4848
4949 func isSymbolC (accumulated,sym) = if ((sym == "C"))
5050 then (accumulated + 1)
5151 else (accumulated + 0)
5252
5353
5454 func isSymbolD (accumulated,sym) = if ((sym == "D"))
5555 then (accumulated + 1)
5656 else (accumulated + 0)
5757
5858
5959 func isSymbolE (accumulated,sym) = if ((sym == "E"))
6060 then (accumulated + 1)
6161 else (accumulated + 0)
6262
6363
6464 func isSymbolF (accumulated,sym) = if ((sym == "F"))
6565 then (accumulated + 1)
6666 else (accumulated + 0)
6767
6868
6969 func isSymbolG (accumulated,sym) = if ((sym == "G"))
7070 then (accumulated + 1)
7171 else (accumulated + 0)
7272
7373
7474 func isSymbolH (accumulated,sym) = if ((sym == "H"))
7575 then (accumulated + 1)
7676 else (accumulated + 0)
7777
7878
7979 func isSymbolI (accumulated,sym) = if ((sym == "I"))
8080 then (accumulated + 1)
8181 else (accumulated + 0)
8282
8383
8484 func isSymbolK (accumulated,sym) = if ((sym == "K"))
8585 then (accumulated + 1)
8686 else (accumulated + 0)
8787
8888
8989 func isSymbolS (accumulated,sym) = if ((sym == "S"))
9090 then (accumulated + 1)
9191 else (accumulated + 0)
9292
9393
9494 func isSymbolT (accumulated,sym) = if ((sym == "T"))
9595 then (accumulated + 1)
9696 else (accumulated + 0)
9797
9898
9999 func getAmountOrClear (amount) = if (contains(amount, "0"))
100100 then ""
101101 else amount
102102
103103
104104 func getGen (assetName) = {
105105 let genotype = split(dropRight(drop(assetName, 5), 3), "")
106106 (((((((((((getAmountOrClear((toString({
107107 let $l = genotype
108108 let $s = size($l)
109109 let $acc0 = 0
110110 func $f0_1 ($a,$i) = if (($i >= $s))
111111 then $a
112112 else isSymbolA($a, $l[$i])
113113
114114 func $f0_2 ($a,$i) = if (($i >= $s))
115115 then $a
116116 else throw("List size exceeds 8")
117117
118118 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
119119 }) + "A")) + getAmountOrClear((toString({
120120 let $l = genotype
121121 let $s = size($l)
122122 let $acc0 = 0
123123 func $f1_1 ($a,$i) = if (($i >= $s))
124124 then $a
125125 else isSymbolB($a, $l[$i])
126126
127127 func $f1_2 ($a,$i) = if (($i >= $s))
128128 then $a
129129 else throw("List size exceeds 8")
130130
131131 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
132132 }) + "B"))) + getAmountOrClear((toString({
133133 let $l = genotype
134134 let $s = size($l)
135135 let $acc0 = 0
136136 func $f2_1 ($a,$i) = if (($i >= $s))
137137 then $a
138138 else isSymbolC($a, $l[$i])
139139
140140 func $f2_2 ($a,$i) = if (($i >= $s))
141141 then $a
142142 else throw("List size exceeds 8")
143143
144144 $f2_2($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
145145 }) + "C"))) + getAmountOrClear((toString({
146146 let $l = genotype
147147 let $s = size($l)
148148 let $acc0 = 0
149149 func $f3_1 ($a,$i) = if (($i >= $s))
150150 then $a
151151 else isSymbolD($a, $l[$i])
152152
153153 func $f3_2 ($a,$i) = if (($i >= $s))
154154 then $a
155155 else throw("List size exceeds 8")
156156
157157 $f3_2($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($f3_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
158158 }) + "D"))) + getAmountOrClear((toString({
159159 let $l = genotype
160160 let $s = size($l)
161161 let $acc0 = 0
162162 func $f4_1 ($a,$i) = if (($i >= $s))
163163 then $a
164164 else isSymbolE($a, $l[$i])
165165
166166 func $f4_2 ($a,$i) = if (($i >= $s))
167167 then $a
168168 else throw("List size exceeds 8")
169169
170170 $f4_2($f4_1($f4_1($f4_1($f4_1($f4_1($f4_1($f4_1($f4_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
171171 }) + "E"))) + getAmountOrClear((toString({
172172 let $l = genotype
173173 let $s = size($l)
174174 let $acc0 = 0
175175 func $f5_1 ($a,$i) = if (($i >= $s))
176176 then $a
177177 else isSymbolF($a, $l[$i])
178178
179179 func $f5_2 ($a,$i) = if (($i >= $s))
180180 then $a
181181 else throw("List size exceeds 8")
182182
183183 $f5_2($f5_1($f5_1($f5_1($f5_1($f5_1($f5_1($f5_1($f5_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
184184 }) + "F"))) + getAmountOrClear((toString({
185185 let $l = genotype
186186 let $s = size($l)
187187 let $acc0 = 0
188188 func $f6_1 ($a,$i) = if (($i >= $s))
189189 then $a
190190 else isSymbolG($a, $l[$i])
191191
192192 func $f6_2 ($a,$i) = if (($i >= $s))
193193 then $a
194194 else throw("List size exceeds 8")
195195
196196 $f6_2($f6_1($f6_1($f6_1($f6_1($f6_1($f6_1($f6_1($f6_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
197197 }) + "G"))) + getAmountOrClear((toString({
198198 let $l = genotype
199199 let $s = size($l)
200200 let $acc0 = 0
201201 func $f7_1 ($a,$i) = if (($i >= $s))
202202 then $a
203203 else isSymbolH($a, $l[$i])
204204
205205 func $f7_2 ($a,$i) = if (($i >= $s))
206206 then $a
207207 else throw("List size exceeds 8")
208208
209209 $f7_2($f7_1($f7_1($f7_1($f7_1($f7_1($f7_1($f7_1($f7_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
210210 }) + "H"))) + getAmountOrClear((toString({
211211 let $l = genotype
212212 let $s = size($l)
213213 let $acc0 = 0
214214 func $f8_1 ($a,$i) = if (($i >= $s))
215215 then $a
216216 else isSymbolI($a, $l[$i])
217217
218218 func $f8_2 ($a,$i) = if (($i >= $s))
219219 then $a
220220 else throw("List size exceeds 8")
221221
222222 $f8_2($f8_1($f8_1($f8_1($f8_1($f8_1($f8_1($f8_1($f8_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
223223 }) + "I"))) + getAmountOrClear((toString({
224224 let $l = genotype
225225 let $s = size($l)
226226 let $acc0 = 0
227227 func $f9_1 ($a,$i) = if (($i >= $s))
228228 then $a
229229 else isSymbolK($a, $l[$i])
230230
231231 func $f9_2 ($a,$i) = if (($i >= $s))
232232 then $a
233233 else throw("List size exceeds 8")
234234
235235 $f9_2($f9_1($f9_1($f9_1($f9_1($f9_1($f9_1($f9_1($f9_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
236236 }) + "K"))) + getAmountOrClear((toString({
237237 let $l = genotype
238238 let $s = size($l)
239239 let $acc0 = 0
240240 func $f10_1 ($a,$i) = if (($i >= $s))
241241 then $a
242242 else isSymbolS($a, $l[$i])
243243
244244 func $f10_2 ($a,$i) = if (($i >= $s))
245245 then $a
246246 else throw("List size exceeds 8")
247247
248248 $f10_2($f10_1($f10_1($f10_1($f10_1($f10_1($f10_1($f10_1($f10_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
249249 }) + "S"))) + getAmountOrClear((toString({
250250 let $l = genotype
251251 let $s = size($l)
252252 let $acc0 = 0
253253 func $f11_1 ($a,$i) = if (($i >= $s))
254254 then $a
255255 else isSymbolT($a, $l[$i])
256256
257257 func $f11_2 ($a,$i) = if (($i >= $s))
258258 then $a
259259 else throw("List size exceeds 8")
260260
261261 $f11_2($f11_1($f11_1($f11_1($f11_1($f11_1($f11_1($f11_1($f11_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8)
262262 }) + "T")))
263263 }
264264
265265
266266 func getAssetOrigin (generation) = if ((generation == "G"))
267267 then incubatorAddress
268268 else breederAddress
269269
270270
271271 func getAssetRarity (genotype,generation) = {
272272 let quantity = getIntegerValue(Address(getAssetOrigin(generation)), (("stats_" + genotype) + "_quantity"))
273273 let power = pow((10000 / quantity), 4, 5, 1, 2, FLOOR)
274274 if ((power > 0))
275275 then power
276276 else 2
277277 }
278278
279279
280280 func getAssetFarmingPower (assetId) = if (if ((value(assetInfo(assetId)).issuer == Address(breederAddress)))
281281 then true
282282 else (value(assetInfo(assetId)).issuer == Address(incubatorAddress)))
283283 then {
284284 let assetName = value(assetInfo(assetId)).name
285285 let generation = take(takeRight(assetName, 2), 1)
286286 let gen = ((getGen(assetName) + "-") + generation)
287287 $Tuple2(gen, getAssetRarity(gen, generation))
288288 }
289289 else throw("not valid NFT")
290290
291291
292292 @Callable(i)
293293 func lock () = {
294294 let nftCreationAddress = if ((i.caller == Address(base58'3P6fAxtw12pjFhayEfpcUWxgu2BHVCeP78A')))
295295 then nftCreationAddressPuzzle
296296 else nftCreationAddressGateway
297297 let addressStr = toString(i.caller)
298298 let assetId = value(value(i.payments[0]).assetId)
299299 let assetIssuer = value(assetInfo(assetId)).issuer.bytes
300300 let assetName = value(value(assetInfo(assetId)).name)
301301 let assetNameParts = split(assetName, "")
302302 let isJackpot = isJackpotDuck(assetNameParts)
303303 let assetColor = if (isJackpot)
304304 then "G"
305305 else split(assetName, "")[(size(split(assetName, "")) - 1)]
306306 let assetRarity = if (isJackpot)
307307 then 100
308308 else getAssetFarmingPower(assetId)._2
309309 if (if ((assetIssuer != incubatorAddress))
310310 then (assetIssuer != breederAddress)
311311 else false)
312312 then throw("invalid NFT attached")
313313 else {
314314 let perchesAvailable = match getInteger(Address(farmingAddress), ((("address_" + toString(this)) + "_perchesAvailable_") + assetColor)) {
315315 case b: Int =>
316316 b
317317 case _ =>
318318 0
319319 }
320320 if ((perchesAvailable == perchesAvailable))
321321 then {
322322 let eggBalance = assetBalance(this, eggAssetId)
323323 let isOnPerch = if (if ((50 > assetRarity))
324324 then true
325325 else if ((perchesAvailable == 0))
326326 then (100000000 > eggBalance)
327327 else false)
328328 then false
329329 else {
330330 let inv1 = if ((perchesAvailable > 0))
331331 then unit
332332 else invoke(Address(farmingAddress), "buyPerch", [assetColor, ""], [AttachedPayment(eggAssetId, 100000000)])
333333 if ((inv1 == inv1))
334334 then {
335335 let inv2 = if ((perchesAvailable > 0))
336336 then unit
337337 else if ((isJackpot == false))
338338 then invoke(Address(farmingAddress), "stakeNFT", nil, [AttachedPayment(assetId, 1)])
339339 else invoke(Address(farmingAddress), "stakeJackpot", [assetColor], [AttachedPayment(assetId, 1)])
340340 if ((inv2 == inv2))
341341 then true
342342 else throw("Strict value is not equal to itself.")
343343 }
344344 else throw("Strict value is not equal to itself.")
345345 }
346346 if ((isOnPerch == isOnPerch))
347347 then {
348348 let sterileStr = match getInteger(Address(breederAddress), (("asset_" + toBase58String(assetId)) + "_children")) {
349349 case x: Int =>
350350 "Sterile"
351351 case _ =>
352352 "Fertile"
353353 }
354354 let nameSuffix = (toString(assetRarity) + "%")
355355 let imageLink = ((((("https://wavesducks.com/api/v1/ducks/" + dropRight(drop(assetName, 5), 3)) + ".svg?onPerch=") + toString(isOnPerch)) + "&color=") + assetColor)
356356 let name = if (isOnPerch)
357357 then ("Staked Duck " + nameSuffix)
358358 else ("Waves Duck " + nameSuffix)
359359 let stakedNFTIdStr = match invoke(Address(nftCreationAddress), "createNFT", [name, ((((sterileStr + " Waves Duck ") + assetName) + " with rarity ") + toString(assetRarity)), imageLink, "ducks"], nil) {
360360 case x: String =>
361361 x
362362 case _ =>
363363 throw("something went wrong during creation of NFT")
364364 }
365365 if ((stakedNFTIdStr == stakedNFTIdStr))
366- then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(stakedNFTIdStr)), StringEntry((("duck_" + toBase58String(assetId)) + "_owner"), addressStr), StringEntry((("nft_" + stakedNFTIdStr) + "_duckId"), toBase58String(assetId)), IntegerEntry(((("address_" + addressStr) + "_lockedDuck_") + toBase58String(assetId)), assetRarity)], stakedNFTIdStr)
366+ then $Tuple2([ScriptTransfer(i.caller, 1, fromBase58String(stakedNFTIdStr)), StringEntry((("duck_" + toBase58String(assetId)) + "_sduckId"), stakedNFTIdStr), StringEntry((("duck_" + toBase58String(assetId)) + "_owner"), addressStr), StringEntry((("nft_" + stakedNFTIdStr) + "_duckId"), toBase58String(assetId)), IntegerEntry(((("address_" + addressStr) + "_lockedDuck_") + toBase58String(assetId)), assetRarity)], stakedNFTIdStr)
367367 else throw("Strict value is not equal to itself.")
368368 }
369369 else throw("Strict value is not equal to itself.")
370370 }
371371 else throw("Strict value is not equal to itself.")
372372 }
373373 }
374374
375375
376376
377377 @Callable(i)
378378 func unlock () = {
379379 let nftCreationAddress = if ((i.caller == Address(base58'3P6fAxtw12pjFhayEfpcUWxgu2BHVCeP78A')))
380380 then nftCreationAddressPuzzle
381381 else nftCreationAddressGateway
382382 let addressStr = toString(i.caller)
383383 let stakedNFTId = value(i.payments[0].assetId)
384384 let stakedNFTIdStr = toBase58String(stakedNFTId)
385385 let assetIdStr = tryGetString((("nft_" + stakedNFTIdStr) + "_duckId"))
386386 let assetId = fromBase58String(assetIdStr)
387387 let assetName = value(value(assetInfo(assetId)).name)
388388 let assetNameParts = split(assetName, "")
389389 let isJackpot = isJackpotDuck(assetNameParts)
390390 let unstakeFuncName = if ((isJackpot == true))
391391 then "unstakeJackpot"
392392 else "unstakeNFT"
393393 if ((tryGetString((("duck_" + assetIdStr) + "_owner")) != addressStr))
394394 then throw("duck is not yours")
395395 else {
396396 let assetBalanceBefore = assetBalance(this, eggAssetId)
397397 if ((assetBalanceBefore == assetBalanceBefore))
398398 then {
399399 let inv1 = if ((assetBalance(this, assetId) > 0))
400400 then unit
401401 else invoke(Address(farmingAddress), unstakeFuncName, [assetIdStr], nil)
402402 if ((inv1 == inv1))
403403 then {
404404 let eggEarned = (assetBalance(this, eggAssetId) - assetBalanceBefore)
405405 if ((eggEarned == eggEarned))
406406 then {
407407 let inv2 = invoke(Address(nftCreationAddress), "burnNFT", nil, i.payments)
408408 if ((inv2 == inv2))
409- then $Tuple2([ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(i.caller, eggEarned, eggAssetId), DeleteEntry(((("address_" + addressStr) + "_lockedDuck_") + assetIdStr)), DeleteEntry((("nft_" + stakedNFTIdStr) + "_duckId")), DeleteEntry((("duck_" + assetIdStr) + "_owner"))], assetIdStr)
409+ then $Tuple2([ScriptTransfer(i.caller, 1, assetId), ScriptTransfer(i.caller, eggEarned, eggAssetId), DeleteEntry(((("address_" + addressStr) + "_lockedDuck_") + assetIdStr)), DeleteEntry((("nft_" + stakedNFTIdStr) + "_duckId")), DeleteEntry((("duck_" + assetIdStr) + "_sduckId")), DeleteEntry((("duck_" + assetIdStr) + "_owner"))], assetIdStr)
410410 else throw("Strict value is not equal to itself.")
411411 }
412412 else throw("Strict value is not equal to itself.")
413413 }
414414 else throw("Strict value is not equal to itself.")
415415 }
416416 else throw("Strict value is not equal to itself.")
417417 }
418418 }
419419
420420

github/deemru/w8io/786bc32 
57.80 ms