tx · F7xUR8VtWAL8NBJKSFvYRB79xF4PQbgtXqCv7mAvDd5F 3MrT5Y2TmFWvE2CQ5gGtbfruzySWz51GoTb: -0.01000000 Waves 2021.07.02 14:53 [1595930] smart account 3MrT5Y2TmFWvE2CQ5gGtbfruzySWz51GoTb > SELF 0.00000000 Waves
{ "type": 13, "id": "F7xUR8VtWAL8NBJKSFvYRB79xF4PQbgtXqCv7mAvDd5F", "fee": 1000000, "feeAssetId": null, "timestamp": 1625226843644, "version": 1, "sender": "3MrT5Y2TmFWvE2CQ5gGtbfruzySWz51GoTb", "senderPublicKey": "tScUTES7aFCGNb2u3pmZJA87JqwoB3rdkpDFZX6XVL9", "proofs": [ "2DdbPdZa3JD4jas1G7wDBx3vNH1Sq3G1MnLzcwFzSoc4FA8p8DbjXf48uxJit3DfxBDidi9ZSziUf2LimqqgFpbL" ], "script": "base64:AAIEAAAAAAAAADsIAhIQCg4ICAgBCAEBAQgBAQEBCBIDCgEBEgASABIFCgMICAgSBQoDCAgIEgMKAQgSBAoCCAESAwoBCAAAAE0AAAAAA1NFUAIAAAACX18BAAAAD2dldFN0cmluZ09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAABBnZXRCb29sZWFuT3JGYWlsAAAAAQAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkJAAEsAAAAAgIAAAAVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQAAAANrZXkBAAAADGdldEludE9yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUAAAADa2V5AQAAAARJbnRFAAAAAgAAAANrZXkAAAADdmFsCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAADa2V5BQAAAAN2YWwBAAAABFN0ckUAAAACAAAAA2tleQAAAAN2YWwJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAA2tleQUAAAADdmFsAQAAAA5mYWlsRXhlY3V0ZUdldAAAAAUAAAADbXNnAAAADGJhc2VBc3NldFN0cgAAAA51c2VyQWRkcmVzc1N0cgAAAA1zdWJtaXRUeElkU3RyAAAADW9wZXJhdGlvblR5cGUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAA21zZwIAAAAMOiBiYXNlQXNzZXQ9BQAAAAxiYXNlQXNzZXRTdHICAAAADSB1c2VyQWRkcmVzcz0FAAAADnVzZXJBZGRyZXNzU3RyAgAAAAwgc3VibWl0VHhJZD0FAAAADXN1Ym1pdFR4SWRTdHICAAAACyBvcGVyYXRpb249BQAAAA1vcGVyYXRpb25UeXBlAQAAABdmYWlsU3VibWl0TGltaXRzRXhjZWVkcwAAAAQAAAANcmVtYWluaW5nQmFzZQAAAA5yZW1haW5pbmdTaGFyZQAAABBuZXdSZW1haW5pbmdCYXNlAAAAEW5ld1JlbWFpbmluZ1NoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACtzdWJtaXQgb3BlcmF0aW9uIGxpbWl0cyBoYXZlIGJlZW4gcmVhY2hlZDogAgAAABIgcmVtYWluaW5nQmFzZVZhbD0JAAGkAAAAAQUAAAANcmVtYWluaW5nQmFzZQIAAAATIHJlbWFpbmluZ1NoYXJlVmFsPQkAAaQAAAABBQAAAA5yZW1haW5pbmdTaGFyZQIAAAAVIG5ld1JlbWFpbmluZ0Jhc2VWYWw9CQABpAAAAAEFAAAAEG5ld1JlbWFpbmluZ0Jhc2UCAAAAFiBuZXdSZW1haW5pbmdTaGFyZVZhbD0JAAGkAAAAAQUAAAARbmV3UmVtYWluaW5nU2hhcmUBAAAAFGZhaWxUb3B1cE1hbmFnZXJPbmx5AAAAAQAAABN0b3B1cE1hbmFnZXJBZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACNvcGVydGlvbiBkZW5pZWQ6IG9ubHkgdG9wVXBNYW5hZ2VyPQUAAAATdG9wdXBNYW5hZ2VyQWRkcmVzcwIAAAAbIGNhbiBzZW5kIHN1Y2ggdHJhbnNhY3Rpb25zAQAAABFjb252ZXJ0U2hhcmUyQmFzZQAAAAMAAAALc2hhcmVBbW91bnQAAAAFcHJpY2UAAAAJcHJpY2VNdWx0CQAAawAAAAMFAAAAC3NoYXJlQW1vdW50BQAAAAVwcmljZQUAAAAJcHJpY2VNdWx0AQAAABFjb252ZXJ0QmFzZTJTaGFyZQAAAAMAAAAKYmFzZUFtb3VudAAAAAVwcmljZQAAAAlwcmljZU11bHQJAABrAAAAAwUAAAAKYmFzZUFtb3VudAUAAAAJcHJpY2VNdWx0BQAAAAVwcmljZQEAAAALa2V5QXNzZXRDZmcAAAABAAAADGJhc2VBc3NldFN0cgkAASwAAAACAgAAABclcyVzJXNfX2NvbmZpZ19fYXNzZXRfXwUAAAAMYmFzZUFzc2V0U3RyAQAAABZrZXlOZXh0SW50ZXJuYWxBc3NldElkAAAAAAIAAAAXJXNfX25leHRJbnRlcm5hbEFzc2V0SWQBAAAADGtleVByaWNlTGFzdAAAAAEAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyCQABLAAAAAICAAAAFSVzJXMlZF9fcHJpY2VfX2xhc3RfXwUAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyAQAAAAtrZXlQcmljZUFUSAAAAAEAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyCQABLAAAAAICAAAAFCVzJXMlZF9fcHJpY2VfX2F0aF9fBQAAABVpbnRlcm5hbEJhc2V0QXNzZXRTdHIBAAAAEmtleVByaWNlQnlUb3BVcElkeAAAAAIAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAAIdG9wVXBJZHgJAAS5AAAAAgkABEwAAAACAgAAABslcyVzJWQlZF9fcHJpY2VfX2J5VG9wVXBJZHgJAARMAAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAARMAAAAAgkAAaQAAAABBQAAAAh0b3BVcElkeAUAAAADbmlsBQAAAANTRVABAAAAD2tleVByaWNlSGlzdG9yeQAAAAMAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyAAAAAWgAAAAJdGltZXN0YW1wCQAEuQAAAAIJAARMAAAAAgIAAAAaJXMlcyVkJWQlZF9fcHJpY2VfX2hpc3RvcnkJAARMAAAAAgUAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyCQAETAAAAAIJAAGkAAAAAQUAAAABaAkABEwAAAACCQABpAAAAAEFAAAACXRpbWVzdGFtcAUAAAADbmlsBQAAAANTRVABAAAADmtleVRvdGFsTG9ja2VkAAAAAQAAABVpbnRlcm5hbEJhc2V0QXNzZXRTdHIJAAEsAAAAAgIAAAAXJXMlcyVkX190b3RhbF9fbG9ja2VkX18FAAAAFWludGVybmFsQmFzZXRBc3NldFN0cgEAAAAUa2V5VG90YWxMb2NrZWRCeVVzZXIAAAACAAAAFGludGVybmFsQmFzZUFzc2V0U3RyAAAADnVzZXJBZGRyZXNzU3RyCQAEuQAAAAIJAARMAAAAAgIAAAAXJXMlcyVkJXNfX3RvdGFsX19sb2NrZWQJAARMAAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAARMAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIFAAAAA25pbAUAAAADU0VQAQAAAB9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkAAAAAQAAABFpbnRlcm5hbEJhc2VBc3NldAkAASwAAAACAgAAACglcyVzJWRfX21hcHBpbmdzX19pbnRlcm5hbDJiYXNlQXNzZXRJZF9fCQABpAAAAAEFAAAAEWludGVybmFsQmFzZUFzc2V0AQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQAAAAxiYXNlQXNzZXRTdHIJAAEsAAAAAgIAAAAoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUAAAAMYmFzZUFzc2V0U3RyAQAAABxrZXlNYXBwaW5nc1NoYXJlMmJhc2VBc3NldElkAAAAAQAAAA1zaGFyZUFzc2V0U3RyCQABLAAAAAICAAAAJSVzJXMlc19fbWFwcGluZ3NfX3NoYXJlMmJhc2VBc3NldElkX18FAAAADXNoYXJlQXNzZXRTdHIBAAAAHGtleU1hcHBpbmdzQmFzZUFzc2V0MnNoYXJlSWQAAAABAAAADGJhc2VBc3NldFN0cgkAASwAAAACAgAAACUlcyVzJXNfX21hcHBpbmdzX19iYXNlQXNzZXQyc2hhcmVJZF9fBQAAAAxiYXNlQXNzZXRTdHIBAAAAGmtleVNodXRkb3duU3VibWl0T3BlcmF0aW9uAAAAAQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgkAASwAAAACAgAAABolcyVzJWRfX3NodXRkb3duX19zdWJtaXRfXwUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIBAAAAEmtleVNodXRkb3duTWFuYWdlcgAAAAEAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAAEsAAAAAgIAAAAbJXMlcyVkX19zaHV0ZG93bl9fbWFuYWdlcl9fBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgEAAAASa2V5VG9wVXBDdXJyZW50SWR4AAAAAQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgkAASwAAAACAgAAABslcyVzJWRfX3RvcHVwX19jdXJyZW50SWR4X18FAAAAFGludGVybmFsQmFzZUFzc2V0U3RyAQAAABJrZXlUb3BVcExhc3RIZWlnaHQAAAACAAAAFWludGVybmFsQmFzZXRBc3NldFN0cgAAAAZzZW5kZXIJAAS5AAAAAgkABEwAAAACAgAAAB8lcyVzJXMlZCVzX190b3B1cF9fbGFzdF9faGVpZ2h0CQAETAAAAAIFAAAAFWludGVybmFsQmFzZXRBc3NldFN0cgkABEwAAAACBQAAAAZzZW5kZXIFAAAAA25pbAUAAAADU0VQAQAAAA5rZXlUb3B1cE11dGV4dAAAAAEAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyCQABLAAAAAICAAAAFiVzJXMlZF9fdG9wdXBfX211dGV4X18FAAAAFWludGVybmFsQmFzZXRBc3NldFN0cgEAAAAVa2V5VG9wdXBMYXN0VGltZXN0YW1wAAAAAQAAABVpbnRlcm5hbEJhc2V0QXNzZXRTdHIJAAEsAAAAAgIAAAAiJXMlcyVzJWRfX3RvcHVwX19sYXN0X190aW1lc3RhbXBfXwUAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyAQAAAA9rZXlUb3B1cEhpc3RvcnkAAAACAAAAFWludGVybmFsQmFzZXRBc3NldFN0cgAAAAh0b3B1cElkeAkABLkAAAACCQAETAAAAAICAAAAGCVzJXMlZCVkX190b3B1cF9faGlzdG9yeQkABEwAAAACBQAAABVpbnRlcm5hbEJhc2V0QXNzZXRTdHIJAARMAAAAAgkAAaQAAAABBQAAAAh0b3B1cElkeAUAAAADbmlsBQAAAANTRVABAAAAEmtleUxpbWl0c1JlbWFpbmluZwAAAAEAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyCQABLAAAAAICAAAAGyVzJXMlZF9fbGltaXRzX19yZW1haW5pbmdfXwUAAAAVaW50ZXJuYWxCYXNldEFzc2V0U3RyAAAAABJJZHhDZmdTaGFyZUFzc2V0SWQAAAAAAAAAAAEAAAAAF0lkeENmZ0ludGVybmFsQmFzZUFzc2V0AAAAAAAAAAACAAAAABxJZHhDZmdEZWNpbWFsc011bHRCb3RoQXNzZXRzAAAAAAAAAAADAAAAABdJZHhDZmdEZWNpbWFsc011bHRQcmljZQAAAAAAAAAABAAAAAAUSWR4Q2ZnR2V0RGVsYXlCbG9ja3MAAAAAAAAAAAUAAAAAG0lkeENmZ1RvcHVwSW50ZXJ2YWxJbkJsb2NrcwAAAAAAAAAABgAAAAAaSWR4Q2ZnVG9wdXBNYXhOZWdhdGl2ZVBhcnQAAAAAAAAAAAcAAAAAGUlkeENmZ1RvcHVwTWFuYWdlckFkZHJlc3MAAAAAAAAAAAgAAAAAGUlkeENmZ1N1Ym1pdExpbWl0c0Jhc2VNYXgAAAAAAAAAAAkAAAAAG0lkeENmZ1N1Ym1pdExpbWl0c0Jhc2VSZXNldAAAAAAAAAAACgAAAAAaSWR4Q2ZnU3VibWl0TGltaXRzU2hhcmVNYXgAAAAAAAAAAAsAAAAAHElkeENmZ1N1Ym1pdExpbWl0c1NoYXJlUmVzZXQAAAAAAAAAAAwAAAAAEklkeENmZ0FkbWluQWRkcmVzcwAAAAAAAAAADQEAAAAMZGF0YUFzc2V0Q2ZnAAAADQAAAA1zaGFyZUFzc2V0U3RyAAAAFGludGVybmFsQmFzZUFzc2V0U3RyAAAAFmRlY2ltYWxzTXVsdEJvdGhBc3NldHMAAAARZGVjaW1hbHNNdWx0UHJpY2UAAAAQZ2V0RGVsYXlJbkJsb2NrcwAAABV0b3B1cEludGVydmFsSW5CbG9ja3MAAAAUdG9wdXBNYXhOZWdhdGl2ZVBhcnQAAAATdG9wdXBNYW5hZ2VyQWRkcmVzcwAAABNzdWJtaXRMaW1pdHNCYXNlTWF4AAAAFXN1Ym1pdExpbWl0c0Jhc2VSZXNldAAAABRzdWJtaXRMaW1pdHNTaGFyZU1heAAAABZzdWJtaXRMaW1pdHNTaGFyZVJlc2V0AAAADGFkbWluQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAAGCVzJWQlZCVkJWQlZCVkJXMlZCVkJWQlZAkABEwAAAACBQAAAA1zaGFyZUFzc2V0U3RyCQAETAAAAAIFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyCQAETAAAAAIJAAGkAAAAAQUAAAAWZGVjaW1hbHNNdWx0Qm90aEFzc2V0cwkABEwAAAACCQABpAAAAAEFAAAAEWRlY2ltYWxzTXVsdFByaWNlCQAETAAAAAIJAAGkAAAAAQUAAAAQZ2V0RGVsYXlJbkJsb2NrcwkABEwAAAACCQABpAAAAAEFAAAAFXRvcHVwSW50ZXJ2YWxJbkJsb2NrcwkABEwAAAACCQABpAAAAAEFAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0CQAETAAAAAIFAAAAE3RvcHVwTWFuYWdlckFkZHJlc3MJAARMAAAAAgkAAaQAAAABBQAAABNzdWJtaXRMaW1pdHNCYXNlTWF4CQAETAAAAAIJAAGkAAAAAQUAAAAVc3VibWl0TGltaXRzQmFzZVJlc2V0CQAETAAAAAIJAAGkAAAAAQUAAAAUc3VibWl0TGltaXRzU2hhcmVNYXgJAARMAAAAAgkAAaQAAAABBQAAABZzdWJtaXRMaW1pdHNTaGFyZVJlc2V0CQAETAAAAAIFAAAADGFkbWluQWRkcmVzcwUAAAADbmlsBQAAAANTRVAAAAAAFUlkeFRvdGFsTG9ja2VkSW5TaGFyZQAAAAAAAAAAAQAAAAAVSWR4VG90YWxMb2NrZWRPdXRCYXNlAAAAAAAAAAACAAAAABRJZHhUb3RhbExvY2tlZEluQmFzZQAAAAAAAAAAAwAAAAAWSWR4VG90YWxMb2NrZWRPdXRTaGFyZQAAAAAAAAAABAEAAAAPZGF0YVRvdGFsTG9ja2VkAAAABAAAAA1pblNoYXJlQW1vdW50AAAADW91dEJhc2VBbW91bnQAAAAMaW5CYXNlQW1vdW50AAAADm91dFNoYXJlQW1vdW50CQAEuQAAAAIJAARMAAAAAgIAAAAIJWQlZCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAA1pblNoYXJlQW1vdW50CQAETAAAAAIJAAGkAAAAAQUAAAANb3V0QmFzZUFtb3VudAkABEwAAAACCQABpAAAAAEFAAAADGluQmFzZUFtb3VudAkABEwAAAACCQABpAAAAAEFAAAADm91dFNoYXJlQW1vdW50BQAAAANuaWwFAAAAA1NFUAEAAAASZGF0YVRvdGFsTG9ja2VkSW50AAAABAAAAA1pblNoYXJlQW1vdW50AAAADW91dEJhc2VBbW91bnQAAAAMaW5CYXNlQW1vdW50AAAADm91dFNoYXJlQW1vdW50CQAETAAAAAIA//////////8JAARMAAAAAgUAAAANaW5TaGFyZUFtb3VudAkABEwAAAACBQAAAA1vdXRCYXNlQW1vdW50CQAETAAAAAIFAAAADGluQmFzZUFtb3VudAkABEwAAAACBQAAAA5vdXRTaGFyZUFtb3VudAUAAAADbmlsAQAAAA9yZWFkVG90YWxMb2NrZWQAAAABAAAAA2tleQQAAAAQdG90YWxMb2NrZWRBcnJheQkABLUAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQkBAAAAD2RhdGFUb3RhbExvY2tlZAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAA1NFUAkBAAAAEmRhdGFUb3RhbExvY2tlZEludAAAAAQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABB0b3RhbExvY2tlZEFycmF5BQAAABVJZHhUb3RhbExvY2tlZEluU2hhcmUJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABB0b3RhbExvY2tlZEFycmF5BQAAABVJZHhUb3RhbExvY2tlZE91dEJhc2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABB0b3RhbExvY2tlZEFycmF5BQAAABRJZHhUb3RhbExvY2tlZEluQmFzZQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEHRvdGFsTG9ja2VkQXJyYXkFAAAAFklkeFRvdGFsTG9ja2VkT3V0U2hhcmUBAAAAE2NhbGNUb3RhbExvY2tlZERpZmYAAAAIAAAACWRpcmVjdGlvbgAAAA1vcGVyYXRpb25UeXBlAAAAFGludGVybmFsQmFzZUFzc2V0U3RyAAAABXByaWNlAAAACXByaWNlTXVsdAAAAAhpbkFtb3VudAAAAAtiYXNlQXNzZXRJZAAAAAxzaGFyZUFzc2V0SWQEAAAAAXQJAAEsAAAAAgUAAAAJZGlyZWN0aW9uBQAAAA1vcGVyYXRpb25UeXBlAwkAAAAAAAACBQAAAAF0AgAAAAdzdWJtaXRQBAAAAAl0b3RhbERpZmYJAQAAABJkYXRhVG90YWxMb2NrZWRJbnQAAAAEAAAAAAAAAAAAAAAAAAAAAAAABQAAAAhpbkFtb3VudAAAAAAAAAAAAAQAAAAIdXNlckRpZmYFAAAACXRvdGFsRGlmZgkABRYAAAAEBQAAAAl0b3RhbERpZmYFAAAACHVzZXJEaWZmAAAAAAAAAAAACQACWQAAAAECAAAAAAMJAAAAAAAAAgUAAAABdAIAAAAHc3VibWl0RwQAAAAJdG90YWxEaWZmCQEAAAASZGF0YVRvdGFsTG9ja2VkSW50AAAABAUAAAAIaW5BbW91bnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACHVzZXJEaWZmBQAAAAl0b3RhbERpZmYJAAUWAAAABAUAAAAJdG90YWxEaWZmBQAAAAh1c2VyRGlmZgAAAAAAAAAAAAkAAlkAAAABAgAAAAADCQAAAAAAAAIFAAAAAXQCAAAACGV4ZWN1dGVQBAAAAAlvdXRBbW91bnQJAQAAABFjb252ZXJ0QmFzZTJTaGFyZQAAAAMFAAAACGluQW1vdW50BQAAAAVwcmljZQUAAAAJcHJpY2VNdWx0BAAAAAl0b3RhbERpZmYJAQAAABJkYXRhVG90YWxMb2NrZWRJbnQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAlvdXRBbW91bnQEAAAACHVzZXJEaWZmCQEAAAASZGF0YVRvdGFsTG9ja2VkSW50AAAABAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAIaW5BbW91bnQAAAAAAAAAAAAJAAUWAAAABAUAAAAJdG90YWxEaWZmBQAAAAh1c2VyRGlmZgUAAAAJb3V0QW1vdW50BQAAAAxzaGFyZUFzc2V0SWQDCQAAAAAAAAIFAAAAAXQCAAAACGV4ZWN1dGVHBAAAAAlvdXRBbW91bnQJAQAAABFjb252ZXJ0U2hhcmUyQmFzZQAAAAMFAAAACGluQW1vdW50BQAAAAVwcmljZQUAAAAJcHJpY2VNdWx0BAAAAAl0b3RhbERpZmYJAQAAABJkYXRhVG90YWxMb2NrZWRJbnQAAAAEAAAAAAAAAAAABQAAAAlvdXRBbW91bnQAAAAAAAAAAAAAAAAAAAAAAAAEAAAACHVzZXJEaWZmCQEAAAASZGF0YVRvdGFsTG9ja2VkSW50AAAABAUAAAAIaW5BbW91bnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAUWAAAABAUAAAAJdG90YWxEaWZmBQAAAAh1c2VyRGlmZgUAAAAJb3V0QW1vdW50BQAAAAtiYXNlQXNzZXRJZAMJAAAAAAAAAgUAAAABdAIAAAAFdG9wdXAEAAAAEHRvdGFsTG9ja2VkQXJyYXkJAQAAAA9yZWFkVG90YWxMb2NrZWQAAAABCQEAAAAOa2V5VG90YWxMb2NrZWQAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgQAAAAXdG90YWxMb2NrZWRJbkJhc2VBbW91bnQJAAGRAAAAAgUAAAAQdG90YWxMb2NrZWRBcnJheQUAAAAUSWR4VG90YWxMb2NrZWRJbkJhc2UEAAAAGHRvdGFsTG9ja2VkSW5TaGFyZUFtb3VudAkAAZEAAAACBQAAABB0b3RhbExvY2tlZEFycmF5BQAAABVJZHhUb3RhbExvY2tlZEluU2hhcmUEAAAACXRvdGFsRGlmZgkBAAAAEmRhdGFUb3RhbExvY2tlZEludAAAAAQFAAAAGHRvdGFsTG9ja2VkSW5TaGFyZUFtb3VudAkAAGgAAAACAP//////////CQEAAAARY29udmVydFNoYXJlMkJhc2UAAAADBQAAABh0b3RhbExvY2tlZEluU2hhcmVBbW91bnQFAAAABXByaWNlBQAAAAlwcmljZU11bHQFAAAAF3RvdGFsTG9ja2VkSW5CYXNlQW1vdW50CQAAaAAAAAIA//////////8JAQAAABFjb252ZXJ0QmFzZTJTaGFyZQAAAAMFAAAAF3RvdGFsTG9ja2VkSW5CYXNlQW1vdW50BQAAAAVwcmljZQUAAAAJcHJpY2VNdWx0CQAFFgAAAAQFAAAACXRvdGFsRGlmZgUAAAADbmlsAAAAAAAAAAAACQACWQAAAAECAAAAAAkAAAIAAAABCQABLAAAAAICAAAAEVVuc3VwcG9ydGVkIFR5cGUgBQAAAAF0AQAAABZUb3RhbExvY2tlZFN0cmluZ0VudHJ5AAAAAwAAAAZhY3Rpb24AAAADa2V5AAAABGRpZmYKAQAAAAZVUERBVEUAAAACAAAAAWEAAAABYgMJAAAAAAAAAgUAAAAGYWN0aW9uAgAAAAlJTkNSRU1FTlQJAABkAAAAAgUAAAABYQUAAAABYgMJAAAAAAAAAgUAAAAGYWN0aW9uAgAAAAlERUNSRU1FTlQJAABlAAAAAgUAAAABYQUAAAABYgkAAAIAAAABCQABLAAAAAICAAAAE1Vuc3VwcG9ydGVkIGFjdGlvbiAFAAAABmFjdGlvbgQAAAAJZGF0YUFycmF5CQEAAAAPcmVhZFRvdGFsTG9ja2VkAAAAAQUAAAADa2V5CQEAAAAEU3RyRQAAAAIFAAAAA2tleQkBAAAAD2RhdGFUb3RhbExvY2tlZAAAAAQJAQAAAAZVUERBVEUAAAACCQABkQAAAAIFAAAACWRhdGFBcnJheQUAAAAVSWR4VG90YWxMb2NrZWRJblNoYXJlCQABkQAAAAIFAAAABGRpZmYFAAAAFUlkeFRvdGFsTG9ja2VkSW5TaGFyZQkBAAAABlVQREFURQAAAAIJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAABVJZHhUb3RhbExvY2tlZE91dEJhc2UJAAGRAAAAAgUAAAAEZGlmZgUAAAAVSWR4VG90YWxMb2NrZWRPdXRCYXNlCQEAAAAGVVBEQVRFAAAAAgkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAAFElkeFRvdGFsTG9ja2VkSW5CYXNlCQABkQAAAAIFAAAABGRpZmYFAAAAFElkeFRvdGFsTG9ja2VkSW5CYXNlCQEAAAAGVVBEQVRFAAAAAgkAAZEAAAACBQAAAAlkYXRhQXJyYXkFAAAAFklkeFRvdGFsTG9ja2VkT3V0U2hhcmUJAAGRAAAAAgUAAAAEZGlmZgUAAAAWSWR4VG90YWxMb2NrZWRPdXRTaGFyZQEAAAAMa2V5T3BlcmF0aW9uAAAABAAAAA1vcGVyYXRpb25UeXBlAAAAFGludGVybmFsQmFzZUFzc2V0U3RyAAAAC3VzZXJBZGRyZXNzAAAABHR4SWQJAAS5AAAAAgkABEwAAAACAgAAAAglcyVkJXMlcwkABEwAAAACBQAAAA1vcGVyYXRpb25UeXBlCQAETAAAAAIFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAIFAAAABHR4SWQFAAAAA25pbAUAAAADU0VQAAAAAA1JZHhPcGVyU3RhdHVzAAAAAAAAAAABAAAAAA9JZHhPcGVySW5BbW91bnQAAAAAAAAAAAIAAAAADElkeE9wZXJQcmljZQAAAAAAAAAAAwAAAAAQSWR4T3Blck91dEFtb3VudAAAAAAAAAAABAAAAAASSWR4T3BlclN0YXJ0SGVpZ2h0AAAAAAAAAAAFAAAAABVJZHhPcGVyU3RhcnRUaW1lc3RhbXAAAAAAAAAAAAYAAAAAEElkeE9wZXJFbmRIZWlnaHQAAAAAAAAAAAcAAAAAE0lkeE9wZXJFbmRUaW1lc3RhbXAAAAAAAAAAAAgAAAAAFUlkeE9wZXJUb3B1cFVubG9ja0lkeAAAAAAAAAAACQEAAAAecHJpdmF0ZURhdGFPcGVyYXRpb25BbGxTdHJpbmdzAAAACQAAAAZzdGF0dXMAAAANaW5Bc3NldEFtb3VudAAAAAVwcmljZQAAAA5vdXRBc3NldEFtb3VudAAAAAtzdGFydEhlaWdodAAAAA5zdGFydFRpbWVzdGFtcAAAAAllbmRIZWlnaHQAAAAMZW5kVGltZXN0YW1wAAAABGxvY2sJAAS5AAAAAgkABEwAAAACAgAAABIlcyVkJWQlZCVkJWQlZCVkJWQJAARMAAAAAgUAAAAGc3RhdHVzCQAETAAAAAIFAAAADWluQXNzZXRBbW91bnQJAARMAAAAAgUAAAAFcHJpY2UJAARMAAAAAgUAAAAOb3V0QXNzZXRBbW91bnQJAARMAAAAAgUAAAALc3RhcnRIZWlnaHQJAARMAAAAAgUAAAAOc3RhcnRUaW1lc3RhbXAJAARMAAAAAgUAAAAJZW5kSGVpZ2h0CQAETAAAAAIFAAAADGVuZFRpbWVzdGFtcAkABEwAAAACBQAAAARsb2NrBQAAAANuaWwFAAAAA1NFUAEAAAANZGF0YU9wZXJhdGlvbgAAAAkAAAAGc3RhdHVzAAAADWluQXNzZXRBbW91bnQAAAAFcHJpY2UAAAAOb3V0QXNzZXRBbW91bnQAAAALc3RhcnRIZWlnaHQAAAAOc3RhcnRUaW1lc3RhbXAAAAAJZW5kSGVpZ2h0AAAADGVuZFRpbWVzdGFtcAAAAA50b3B1cFVubG9ja0lkeAkBAAAAHnByaXZhdGVEYXRhT3BlcmF0aW9uQWxsU3RyaW5ncwAAAAkFAAAABnN0YXR1cwkAAaQAAAABBQAAAA1pbkFzc2V0QW1vdW50CQABpAAAAAEFAAAABXByaWNlCQABpAAAAAEFAAAADm91dEFzc2V0QW1vdW50CQABpAAAAAEFAAAAC3N0YXJ0SGVpZ2h0CQABpAAAAAEFAAAADnN0YXJ0VGltZXN0YW1wCQABpAAAAAEFAAAACWVuZEhlaWdodAkAAaQAAAABBQAAAAxlbmRUaW1lc3RhbXAJAAGkAAAAAQUAAAAOdG9wdXBVbmxvY2tJZHgBAAAAHGRhdGFPcGVyYXRpb25FeGVjdXRpb25VcGRhdGUAAAAEAAAADWN1cnJPcGVyQXJyYXkAAAAJbmV3U3RhdHVzAAAACG5ld1ByaWNlAAAADG5ld091dEFtb3VudAkBAAAAHnByaXZhdGVEYXRhT3BlcmF0aW9uQWxsU3RyaW5ncwAAAAkFAAAACW5ld1N0YXR1cwkAAZEAAAACBQAAAA1jdXJyT3BlckFycmF5BQAAAA9JZHhPcGVySW5BbW91bnQJAAGkAAAAAQUAAAAIbmV3UHJpY2UJAAGkAAAAAQUAAAAMbmV3T3V0QW1vdW50CQABkQAAAAIFAAAADWN1cnJPcGVyQXJyYXkFAAAAEklkeE9wZXJTdGFydEhlaWdodAkAAZEAAAACBQAAAA1jdXJyT3BlckFycmF5BQAAABVJZHhPcGVyU3RhcnRUaW1lc3RhbXAJAAGkAAAAAQUAAAAGaGVpZ2h0CQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABkQAAAAIFAAAADWN1cnJPcGVyQXJyYXkFAAAAFUlkeE9wZXJUb3B1cFVubG9ja0lkeAEAAAAScmVhZEFzc2V0Q2ZnT3JGYWlsAAAAAQAAAAxiYXNlQXNzZXRTdHIEAAAAA2tleQkBAAAAC2tleUFzc2V0Q2ZnAAAAAQUAAAAMYmFzZUFzc2V0U3RyCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABBQAAAANrZXkFAAAAA1NFUAAAAAAWSWR4TGltaXRzUmVtYWluaW5nQmFzZQAAAAAAAAAAAQAAAAAXSWR4TGltaXRzUmVtYWluaW5nU2hhcmUAAAAAAAAAAAIBAAAAGlJlbWFpbmluZ0xpbWl0c1N0cmluZ0VudHJ5AAAAAwAAAANrZXkAAAASYmFzZVJlbWFpbmluZ0xpbWl0AAAAE3NoYXJlUmVtYWluaW5nTGltaXQJAQAAAARTdHJFAAAAAgUAAAADa2V5CQAEuQAAAAIJAARMAAAAAgIAAAAEJWQlZAkABEwAAAACCQABpAAAAAEFAAAAEmJhc2VSZW1haW5pbmdMaW1pdAkABEwAAAACCQABpAAAAAEFAAAAE3NoYXJlUmVtYWluaW5nTGltaXQFAAAAA25pbAUAAAADU0VQAQAAABJUb3B1cE11dGV4SW50RW50cnkAAAACAAAAFGludGVybmFsQmFzZUFzc2V0U3RyAAAADmFjcXVpcmVkSGVpZ2h0CQEAAAAESW50RQAAAAIJAQAAAA5rZXlUb3B1cE11dGV4dAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBQAAAA5hY3F1aXJlZEhlaWdodAEAAAAQZ2VuZXJpY0NhbGNQcmljZQAAAAUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAALYmFzZUFzc2V0SWQAAAAPdG9wVXBCYXNlQW1vdW50AAAADHNoYXJlQXNzZXRJZAAAABFkZWNpbWFsc011bHRQcmljZQQAAAAQdG90YWxMb2NrZWRBcnJheQkBAAAAD3JlYWRUb3RhbExvY2tlZAAAAAEJAQAAAA5rZXlUb3RhbExvY2tlZAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBAAAABh0b3RhbExvY2tlZE91dEJhc2VBbW91bnQJAAGRAAAAAgUAAAAQdG90YWxMb2NrZWRBcnJheQUAAAAVSWR4VG90YWxMb2NrZWRPdXRCYXNlBAAAABljdXJySXRlclRvdGFsSW5CYXNlQW1vdW50CQABkQAAAAIFAAAAEHRvdGFsTG9ja2VkQXJyYXkFAAAAFElkeFRvdGFsTG9ja2VkSW5CYXNlBAAAABBiYXNlQXNzZXRCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAAC2Jhc2VBc3NldElkBAAAABNiYXNlQXNzZXRCYWxhbmNlV0NPCQAAZQAAAAIJAABlAAAAAgkAAGQAAAACBQAAABBiYXNlQXNzZXRCYWxhbmNlBQAAAA90b3BVcEJhc2VBbW91bnQFAAAAGWN1cnJJdGVyVG90YWxJbkJhc2VBbW91bnQFAAAAGHRvdGFsTG9ja2VkT3V0QmFzZUFtb3VudAQAAAAZdG90YWxMb2NrZWRPdXRTaGFyZUFtb3VudAkAAZEAAAACBQAAABB0b3RhbExvY2tlZEFycmF5BQAAABZJZHhUb3RhbExvY2tlZE91dFNoYXJlBAAAABpjdXJySXRlclRvdGFsSW5TaGFyZUFtb3VudAkAAZEAAAACBQAAABB0b3RhbExvY2tlZEFycmF5BQAAABVJZHhUb3RhbExvY2tlZEluU2hhcmUEAAAADXNoYXJlRW1pc3Npb24ICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAADHNoYXJlQXNzZXRJZAAAAAhxdWFudGl0eQMJAABmAAAAAgAAAAAAAAAAAAUAAAATYmFzZUFzc2V0QmFsYW5jZVdDTwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACtiYXNlQXNzZXRCYWxhbmNlV2NvIDwgMDogYmFzZUFzc2V0dEJhbGFuY2U9CQABpAAAAAEFAAAAEGJhc2VBc3NldEJhbGFuY2UCAAAAFSBiYXNlQXNzZXRCYWxhbmNlV2NvPQkAAaQAAAABBQAAABNiYXNlQXNzZXRCYWxhbmNlV0NPBAAAAAlsYXN0UHJpY2UJAQAAAAxnZXRJbnRPckZhaWwAAAABCQEAAAAMa2V5UHJpY2VMYXN0AAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIEAAAABXByaWNlAwkAAAAAAAACBQAAAA1zaGFyZUVtaXNzaW9uAAAAAAAAAAAABQAAAAlsYXN0UHJpY2UJAABrAAAAAwUAAAATYmFzZUFzc2V0QmFsYW5jZVdDTwUAAAARZGVjaW1hbHNNdWx0UHJpY2UFAAAADXNoYXJlRW1pc3Npb24JAAUbAAAACQUAAAAFcHJpY2UFAAAAEGJhc2VBc3NldEJhbGFuY2UA//////////8FAAAAE2Jhc2VBc3NldEJhbGFuY2VXQ08FAAAADXNoYXJlRW1pc3Npb24FAAAAGWN1cnJJdGVyVG90YWxJbkJhc2VBbW91bnQFAAAAGmN1cnJJdGVyVG90YWxJblNoYXJlQW1vdW50BQAAABh0b3RhbExvY2tlZE91dEJhc2VBbW91bnQFAAAAGXRvdGFsTG9ja2VkT3V0U2hhcmVBbW91bnQBAAAACWNhbGNQcmljZQAAAAQAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAALYmFzZUFzc2V0SWQAAAAMc2hhcmVBc3NldElkAAAAEWRlY2ltYWxzTXVsdFByaWNlCQEAAAAQZ2VuZXJpY0NhbGNQcmljZQAAAAUFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBQAAAAtiYXNlQXNzZXRJZAAAAAAAAAAAAAUAAAAMc2hhcmVBc3NldElkBQAAABFkZWNpbWFsc011bHRQcmljZQEAAAAMY29tbW9uU3VibWl0AAAABQAAAA1vcGVyYXRpb25UeXBlAAAAAWkAAAAIaW5BbW91bnQAAAAJaW5Bc3NldElkAAAADGJhc2VBc3NldFN0cgQAAAAKaW5Bc3NldFN0cgkAAlgAAAABBQAAAAlpbkFzc2V0SWQEAAAADnVzZXJBZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAALYmFzZUFzc2V0SWQJAAJZAAAAAQUAAAAMYmFzZUFzc2V0U3RyBAAAAAhjZmdBcnJheQkBAAAAEnJlYWRBc3NldENmZ09yRmFpbAAAAAEFAAAADGJhc2VBc3NldFN0cgQAAAANc2hhcmVBc3NldFN0cgkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAASSWR4Q2ZnU2hhcmVBc3NldElkBAAAAAxzaGFyZUFzc2V0SWQJAAJZAAAAAQUAAAANc2hhcmVBc3NldFN0cgQAAAAWZGVjaW1hbHNNdWx0Qm90aEFzc2V0cwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABxJZHhDZmdEZWNpbWFsc011bHRCb3RoQXNzZXRzBAAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAXSWR4Q2ZnSW50ZXJuYWxCYXNlQXNzZXQEAAAACWxpbWl0c0tFWQkBAAAAEmtleUxpbWl0c1JlbWFpbmluZwAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBAAAAA5saW1pdHNDZmdBcnJheQkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQUAAAAJbGltaXRzS0VZBQAAAANTRVAEAAAAE2xpbWl0c1JlbWFpbmluZ0Jhc2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA5saW1pdHNDZmdBcnJheQUAAAAWSWR4TGltaXRzUmVtYWluaW5nQmFzZQQAAAAUbGltaXRzUmVtYWluaW5nU2hhcmUJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA5saW1pdHNDZmdBcnJheQUAAAAXSWR4TGltaXRzUmVtYWluaW5nU2hhcmUEAAAAD2lzU3VibWl0QmxvY2tlZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzCQEAAAAaa2V5U2h1dGRvd25TdWJtaXRPcGVyYXRpb24AAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgcDBQAAAA9pc1N1Ym1pdEJsb2NrZWQJAAACAAAAAQIAAAAbc3VibWl0IG9wZXJhdGlvbiBpcyBibG9ja2VkBAAAAA9vcGVyYXRpb25zTXV0ZXgJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAADmtleVRvcHVwTXV0ZXh0AAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAAAAAAAAAADCQAAZgAAAAIJAABkAAAAAgUAAAAPb3BlcmF0aW9uc011dGV4AAAAAAAAAAA8BQAAAAZoZWlnaHQJAAACAAAAAQIAAAAuc3VibWl0IG9wZXJhdGlvbnMgYXJlIGJsb2NrZWQgYnkgdG9wdXAgbWFuYWdlcgQAAAAJZGlmZlR1cGxlCQEAAAATY2FsY1RvdGFsTG9ja2VkRGlmZgAAAAgCAAAABnN1Ym1pdAUAAAANb3BlcmF0aW9uVHlwZQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAAAAAAAAAAAAAAAAAAAAAAFAAAACGluQW1vdW50BQAAAAtiYXNlQXNzZXRJZAUAAAAMc2hhcmVBc3NldElkBAAAABZsaW1pdHNSZW1haW5pbmdCYXNlTmV3CQAAZQAAAAIFAAAAE2xpbWl0c1JlbWFpbmluZ0Jhc2UJAAGRAAAAAggFAAAACWRpZmZUdXBsZQAAAAJfMgUAAAAUSWR4VG90YWxMb2NrZWRJbkJhc2UEAAAAF2xpbWl0c1JlbWFpbmluZ1NoYXJlTmV3CQAAZQAAAAIFAAAAFGxpbWl0c1JlbWFpbmluZ1NoYXJlCQABkQAAAAIIBQAAAAlkaWZmVHVwbGUAAAACXzIFAAAAFUlkeFRvdGFsTG9ja2VkSW5TaGFyZQMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAFmxpbWl0c1JlbWFpbmluZ0Jhc2VOZXcGCQAAZgAAAAIAAAAAAAAAAAAFAAAAF2xpbWl0c1JlbWFpbmluZ1NoYXJlTmV3CQEAAAAXZmFpbFN1Ym1pdExpbWl0c0V4Y2VlZHMAAAAEBQAAABNsaW1pdHNSZW1haW5pbmdCYXNlBQAAABRsaW1pdHNSZW1haW5pbmdTaGFyZQUAAAAWbGltaXRzUmVtYWluaW5nQmFzZU5ldwUAAAAXbGltaXRzUmVtYWluaW5nU2hhcmVOZXcEAAAAD3RvcFVwQ3VycmVudElkeAkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAABJrZXlUb3BVcEN1cnJlbnRJZHgAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgkABE0AAAACCQAETQAAAAIJAARNAAAAAgkABEwAAAACCQEAAAAEU3RyRQAAAAIJAQAAAAxrZXlPcGVyYXRpb24AAAAEBQAAAA1vcGVyYXRpb25UeXBlBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAOdXNlckFkZHJlc3NTdHIJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAkBAAAADWRhdGFPcGVyYXRpb24AAAAJAgAAAAdQRU5ESU5HBQAAAAhpbkFtb3VudAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAAAAAAAAAAAAAAAAAAAAAAAAAkAAGQAAAACBQAAAA90b3BVcEN1cnJlbnRJZHgAAAAAAAAAAAEFAAAAA25pbAkBAAAAFlRvdGFsTG9ja2VkU3RyaW5nRW50cnkAAAADAgAAAAlJTkNSRU1FTlQJAQAAAA5rZXlUb3RhbExvY2tlZAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyCAUAAAAJZGlmZlR1cGxlAAAAAl8xCQEAAAAWVG90YWxMb2NrZWRTdHJpbmdFbnRyeQAAAAMCAAAACUlOQ1JFTUVOVAkBAAAAFGtleVRvdGFsTG9ja2VkQnlVc2VyAAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAADnVzZXJBZGRyZXNzU3RyCAUAAAAJZGlmZlR1cGxlAAAAAl8yCQEAAAAaUmVtYWluaW5nTGltaXRzU3RyaW5nRW50cnkAAAADBQAAAAlsaW1pdHNLRVkFAAAAFmxpbWl0c1JlbWFpbmluZ0Jhc2VOZXcFAAAAF2xpbWl0c1JlbWFpbmluZ1NoYXJlTmV3AQAAAA1jb21tb25FeGVjdXRlAAAABAAAAA1vcGVyYXRpb25UeXBlAAAADGJhc2VBc3NldFN0cgAAAA51c2VyQWRkcmVzc1N0cgAAAA1zdWJtaXRUeElkU3RyBAAAAAt1c2VyQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAOdXNlckFkZHJlc3NTdHIEAAAADWFzc2V0Q2ZnQXJyYXkJAQAAABJyZWFkQXNzZXRDZmdPckZhaWwAAAABBQAAAAxiYXNlQXNzZXRTdHIEAAAADHNoYXJlQXNzZXRJZAkAAlkAAAABCQABkQAAAAIFAAAADWFzc2V0Q2ZnQXJyYXkFAAAAEklkeENmZ1NoYXJlQXNzZXRJZAQAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAAGRAAAAAgUAAAANYXNzZXRDZmdBcnJheQUAAAAXSWR4Q2ZnSW50ZXJuYWxCYXNlQXNzZXQEAAAAEWRlY2ltYWxzTXVsdFByaWNlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAANYXNzZXRDZmdBcnJheQUAAAAXSWR4Q2ZnRGVjaW1hbHNNdWx0UHJpY2UEAAAAC2Jhc2VBc3NldElkCQACWQAAAAEFAAAADGJhc2VBc3NldFN0cgQAAAAFb3BLZXkJAQAAAAxrZXlPcGVyYXRpb24AAAAEBQAAAA1vcGVyYXRpb25UeXBlBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADXN1Ym1pdFR4SWRTdHIEAAAAB29wQXJyYXkJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEFAAAABW9wS2V5BQAAAANTRVAEAAAABnN0YXR1cwkAAZEAAAACBQAAAAdvcEFycmF5BQAAAA1JZHhPcGVyU3RhdHVzBAAAAAhpbkFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAB29wQXJyYXkFAAAAD0lkeE9wZXJJbkFtb3VudAQAAAAOdG9wdXBVbmxvY2tJZHgJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAdvcEFycmF5BQAAABVJZHhPcGVyVG9wdXBVbmxvY2tJZHgEAAAADGN1cnJUb3BVcElkeAkBAAAADGdldEludE9yRmFpbAAAAAEJAQAAABJrZXlUb3BVcEN1cnJlbnRJZHgAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgQAAAAOcHJpY2VCeVRvcFVwSWQJAQAAAAxnZXRJbnRPckZhaWwAAAABCQEAAAASa2V5UHJpY2VCeVRvcFVwSWR4AAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAADnRvcHVwVW5sb2NrSWR4AwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzAgAAAAdQRU5ESU5HCQEAAAAOZmFpbEV4ZWN1dGVHZXQAAAAFAgAAABVTdGF0dXMgaXMgbm90IFBFTkRJTkcFAAAADGJhc2VBc3NldFN0cgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADXN1Ym1pdFR4SWRTdHIFAAAADW9wZXJhdGlvblR5cGUDCQAAZgAAAAIFAAAADnRvcHVwVW5sb2NrSWR4BQAAAAxjdXJyVG9wVXBJZHgJAQAAAA5mYWlsRXhlY3V0ZUdldAAAAAUJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACU9wZXJMb2NrWwkAAaQAAAABBQAAAA50b3B1cFVubG9ja0lkeAIAAAAEXSA+IAkAAaQAAAABBQAAAAxjdXJyVG9wVXBJZHgFAAAADGJhc2VBc3NldFN0cgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADXN1Ym1pdFR4SWRTdHIFAAAADW9wZXJhdGlvblR5cGUEAAAACWRpZmZUdXBsZQkBAAAAE2NhbGNUb3RhbExvY2tlZERpZmYAAAAIAgAAAAdleGVjdXRlBQAAAA1vcGVyYXRpb25UeXBlBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAOcHJpY2VCeVRvcFVwSWQFAAAAEWRlY2ltYWxzTXVsdFByaWNlBQAAAAhpbkFtb3VudAUAAAALYmFzZUFzc2V0SWQFAAAADHNoYXJlQXNzZXRJZAQAAAAJb3V0QW1vdW50CAUAAAAJZGlmZlR1cGxlAAAAAl8zBAAAAA9vdXRUcmFuc2ZlckRhdGEDCQAAAAAAAAIIBQAAAAlkaWZmVHVwbGUAAAACXzQFAAAAC2Jhc2VBc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAAlvdXRBbW91bnQFAAAAC2Jhc2VBc3NldElkBQAAAANuaWwJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALdXNlckFkZHJlc3MFAAAACW91dEFtb3VudAUAAAAMc2hhcmVBc3NldElkBQAAAANuaWwJAARNAAAAAgkABE0AAAACCQAETQAAAAIFAAAAD291dFRyYW5zZmVyRGF0YQkBAAAABFN0ckUAAAACBQAAAAVvcEtleQkBAAAAHGRhdGFPcGVyYXRpb25FeGVjdXRpb25VcGRhdGUAAAAEBQAAAAdvcEFycmF5AgAAAAhGSU5JU0hFRAUAAAAOcHJpY2VCeVRvcFVwSWQFAAAACW91dEFtb3VudAkBAAAAFlRvdGFsTG9ja2VkU3RyaW5nRW50cnkAAAADAgAAAAlERUNSRU1FTlQJAQAAAA5rZXlUb3RhbExvY2tlZAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyCAUAAAAJZGlmZlR1cGxlAAAAAl8xCQEAAAAWVG90YWxMb2NrZWRTdHJpbmdFbnRyeQAAAAMCAAAACURFQ1JFTUVOVAkBAAAAFGtleVRvdGFsTG9ja2VkQnlVc2VyAAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAADnVzZXJBZGRyZXNzU3RyCAUAAAAJZGlmZlR1cGxlAAAAAl8yAQAAABtwcml2YXRlQ3VycmVudFN5c1BhcmFtc1JFU1QAAAABAAAADGJhc2VBc3NldFN0cgQAAAALYmFzZUFzc2V0SWQJAAJZAAAAAQUAAAAMYmFzZUFzc2V0U3RyBAAAAAhjZmdBcnJheQkBAAAAEnJlYWRBc3NldENmZ09yRmFpbAAAAAEFAAAADGJhc2VBc3NldFN0cgQAAAANc2hhcmVBc3NldFN0cgkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAASSWR4Q2ZnU2hhcmVBc3NldElkBAAAAAxzaGFyZUFzc2V0SWQJAAJZAAAAAQUAAAANc2hhcmVBc3NldFN0cgQAAAAZZGVjaW1hbHNNdWx0Qm90aEFzc2V0c1ZhbAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABxJZHhDZmdEZWNpbWFsc011bHRCb3RoQXNzZXRzBAAAABRkZWNpbWFsc011bHRQcmljZVZhbAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABdJZHhDZmdEZWNpbWFsc011bHRQcmljZQQAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAF0lkeENmZ0ludGVybmFsQmFzZUFzc2V0BAAAAAtwcmljZUF0aEtFWQkBAAAAC2tleVByaWNlQVRIAAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIEAAAAC3ByaWNlQXRoVmFsCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAC3ByaWNlQXRoS0VZAAAAAAAAAAAABAAAAAxwcmljZUxhc3RLRVkJAQAAAAxrZXlQcmljZUxhc3QAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgQAAAAMcHJpY2VMYXN0VmFsCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADHByaWNlTGFzdEtFWQAAAAAAAAAAAAQAAAAQdG9wdXBMYXN0VGltZUtFWQkBAAAAFWtleVRvcHVwTGFzdFRpbWVzdGFtcAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBAAAABB0b3B1cExhc3RUaW1lVmFsCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEHRvcHVwTGFzdFRpbWVLRVkAAAAAAAAAAAAEAAAACHN5c1N0YXRlCQEAAAAJY2FsY1ByaWNlAAAABAUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAAC2Jhc2VBc3NldElkBQAAAAxzaGFyZUFzc2V0SWQFAAAAFGRlY2ltYWxzTXVsdFByaWNlVmFsCQAFIAAAAA4JAQAAAARJbnRFAAAAAgIAAAAFcHJpY2UFAAAADHByaWNlTGFzdFZhbAkBAAAABEludEUAAAACAgAAABFkZWNpbWFsc011bHRQcmljZQUAAAAUZGVjaW1hbHNNdWx0UHJpY2VWYWwJAQAAAARJbnRFAAAAAgIAAAAQYmFzZUFzc2V0QmFsYW5jZQgFAAAACHN5c1N0YXRlAAAAAl8yCQEAAAAESW50RQAAAAICAAAAAi0xCAUAAAAIc3lzU3RhdGUAAAACXzMJAQAAAARJbnRFAAAAAgIAAAATYmFzZUFzc2V0QmFsYW5jZVdDTwgFAAAACHN5c1N0YXRlAAAAAl80CQEAAAAESW50RQAAAAICAAAADXNoYXJlRW1pc3Npb24IBQAAAAhzeXNTdGF0ZQAAAAJfNQkBAAAABEludEUAAAACAgAAABljdXJySXRlclRvdGFsSW5CYXNlQW1vdW50CAUAAAAIc3lzU3RhdGUAAAACXzYJAQAAAARJbnRFAAAAAgIAAAAaY3Vyckl0ZXJUb3RhbEluU2hhcmVBbW91bnQIBQAAAAhzeXNTdGF0ZQAAAAJfNwkBAAAABEludEUAAAACAgAAABh0b3RhbExvY2tlZE91dEJhc2VBbW91bnQIBQAAAAhzeXNTdGF0ZQAAAAJfOAkBAAAABEludEUAAAACAgAAABl0b3RhbExvY2tlZE91dFNoYXJlQW1vdW50CAUAAAAIc3lzU3RhdGUAAAACXzkJAQAAAARJbnRFAAAAAgIAAAAWZGVjaW1hbHNNdWx0Qm90aEFzc2V0cwUAAAAZZGVjaW1hbHNNdWx0Qm90aEFzc2V0c1ZhbAkBAAAABEludEUAAAACAgAAAAhwcmljZUFUSAUAAAALcHJpY2VBdGhWYWwJAQAAAARJbnRFAAAAAgIAAAARcHJpY2VSZWNhbGN1bGF0ZWQIBQAAAAhzeXNTdGF0ZQAAAAJfMQkBAAAABEludEUAAAACAgAAABJ0b3B1cExhc3RUaW1lc3RhbXAFAAAAEHRvcHVwTGFzdFRpbWVWYWwAAAAJAAAAAWkBAAAAEmFkbWluUmVnaXN0ZXJBc3NldAAAAA4AAAAMYmFzZUFzc2V0U3RyAAAADnNoYXJlQXNzZXROYW1lAAAAD3NoYXJlQXNzZXREZXNjcgAAABBnZXREZWxheWluQmxvY2tzAAAAFnNodXRkb3duTWFuYWdlckFkZHJlc3MAAAAKc3RhcnRQcmljZQAAABV0b3B1cEludGVydmFsSW5CbG9ja3MAAAAUdG9wdXBNYXhOZWdhdGl2ZVBhcnQAAAATdG9wdXBNYW5hZ2VyQWRkcmVzcwAAABNzdWJtaXRMaW1pdHNCYXNlTWF4AAAAFXN1Ym1pdExpbWl0c0Jhc2VSZXNldAAAABRzdWJtaXRMaW1pdHNTaGFyZU1heAAAABZzdWJtaXRMaW1pdHNTaGFyZVJlc2V0AAAADGFkbWluQWRkcmVzcwQAAAALYmFzZUFzc2V0SWQJAAJZAAAAAQUAAAAMYmFzZUFzc2V0U3RyBAAAABJib3RoQXNzZXRzRGVjaW1hbHMICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAC2Jhc2VBc3NldElkAAAACGRlY2ltYWxzBAAAABZkZWNpbWFsc011bHRCb3RoQXNzZXRzCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAAEmJvdGhBc3NldHNEZWNpbWFscwAAAAAAAAAAAAAAAAAAAAAAAAUAAAAERE9XTgQAAAARZGVjaW1hbHNNdWx0UHJpY2UJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoBAAAABh0b3B1cE1heE5lZ2F0aXZlUGVyY2VudHMJAABrAAAAAwUAAAAUdG9wdXBNYXhOZWdhdGl2ZVBhcnQAAAAAAAAAAGQFAAAAFmRlY2ltYWxzTXVsdEJvdGhBc3NldHMEAAAAEGJhc2VBc3NldEJhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwUAAAALYmFzZUFzc2V0SWQDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkAwkAAAAAAAACBQAAABBiYXNlQXNzZXRCYWxhbmNlAAAAAAAAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHRoaXMCAAAAIiBtdXN0IGhhdmUgYW55IGluaXRpYWwgYmFsYW5jZSBvZiAFAAAADGJhc2VBc3NldFN0cgMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMJAQAAAAtrZXlBc3NldENmZwAAAAEFAAAADGJhc2VBc3NldFN0cgkAAAIAAAABCQABLAAAAAIFAAAADGJhc2VBc3NldFN0cgIAAAAcIGhhcyBiZWVuIGFscmVhZHkgcmVnaXN0ZXJlZAMJAQAAAAIhPQAAAAIJAAQlAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAWc2h1dGRvd25NYW5hZ2VyQWRkcmVzcwUAAAAWc2h1dGRvd25NYW5hZ2VyQWRkcmVzcwkAAAIAAAABAgAAAB5pbnZhbGlkIHNodXRkb3duTWFuYWdlckFkZHJlc3MDCQEAAAACIT0AAAACCQAEJQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAE3RvcHVwTWFuYWdlckFkZHJlc3MFAAAAE3RvcHVwTWFuYWdlckFkZHJlc3MJAAACAAAAAQIAAAAbaW52YWxpZCB0b3B1cE1hbmFnZXJBZGRyZXNzAwkAAGYAAAACAAAAAAAAAAAABQAAABBnZXREZWxheWluQmxvY2tzCQAAAgAAAAEJAAEsAAAAAgIAAAAZaW52YWxpZCBnZXREZWxheWluQmxvY2tzPQkAAaQAAAABBQAAABBnZXREZWxheWluQmxvY2tzAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAYdG9wdXBNYXhOZWdhdGl2ZVBlcmNlbnRzBgkAAGcAAAACBQAAABh0b3B1cE1heE5lZ2F0aXZlUGVyY2VudHMAAAAAAAAAAGMJAAACAAAAAQIAAAAmaW52YWxpZCB0b3B1cE1heE5lZ2F0aXZlUGFydCBwYXJhbWV0ZXIEAAAAD3NoYXJlSW5pdEFtb3VudAkBAAAAEWNvbnZlcnRCYXNlMlNoYXJlAAAAAwUAAAAQYmFzZUFzc2V0QmFsYW5jZQUAAAAKc3RhcnRQcmljZQUAAAARZGVjaW1hbHNNdWx0UHJpY2UEAAAAFXNoYXJlQXNzZXRJc3N1ZUFjdGlvbgkABEIAAAAFBQAAAA5zaGFyZUFzc2V0TmFtZQUAAAAPc2hhcmVBc3NldERlc2NyBQAAAA9zaGFyZUluaXRBbW91bnQFAAAAEmJvdGhBc3NldHNEZWNpbWFscwYEAAAADHNoYXJlQXNzZXRJZAkABDgAAAABBQAAABVzaGFyZUFzc2V0SXNzdWVBY3Rpb24EAAAADXNoYXJlQXNzZXRTdHIJAAJYAAAAAQUAAAAMc2hhcmVBc3NldElkBAAAABNpbnRlcm5hbEJhc2VBc3NldElkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABZrZXlOZXh0SW50ZXJuYWxBc3NldElkAAAAAAAAAAAAAAAAAAQAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAAGkAAAAAQUAAAATaW50ZXJuYWxCYXNlQXNzZXRJZAkABEwAAAACCQEAAAAEU3RyRQAAAAIJAQAAAAtrZXlBc3NldENmZwAAAAEFAAAADGJhc2VBc3NldFN0cgkBAAAADGRhdGFBc3NldENmZwAAAA0FAAAADXNoYXJlQXNzZXRTdHIFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBQAAABZkZWNpbWFsc011bHRCb3RoQXNzZXRzBQAAABFkZWNpbWFsc011bHRQcmljZQUAAAAQZ2V0RGVsYXlpbkJsb2NrcwUAAAAVdG9wdXBJbnRlcnZhbEluQmxvY2tzBQAAABR0b3B1cE1heE5lZ2F0aXZlUGFydAUAAAATdG9wdXBNYW5hZ2VyQWRkcmVzcwUAAAATc3VibWl0TGltaXRzQmFzZU1heAUAAAAVc3VibWl0TGltaXRzQmFzZVJlc2V0BQAAABRzdWJtaXRMaW1pdHNTaGFyZU1heAUAAAAWc3VibWl0TGltaXRzU2hhcmVSZXNldAUAAAAMYWRtaW5BZGRyZXNzCQAETAAAAAIJAQAAAARTdHJFAAAAAgkBAAAAH2tleU1hcHBpbmdzSW50ZXJuYWwyYmFzZUFzc2V0SWQAAAABBQAAABNpbnRlcm5hbEJhc2VBc3NldElkBQAAAAxiYXNlQXNzZXRTdHIJAARMAAAAAgkBAAAABFN0ckUAAAACCQEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEFAAAADGJhc2VBc3NldFN0cgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAARMAAAAAgkBAAAABFN0ckUAAAACCQEAAAAca2V5TWFwcGluZ3NTaGFyZTJiYXNlQXNzZXRJZAAAAAEFAAAADXNoYXJlQXNzZXRTdHIFAAAADGJhc2VBc3NldFN0cgkABEwAAAACCQEAAAAEU3RyRQAAAAIJAQAAABxrZXlNYXBwaW5nc0Jhc2VBc3NldDJzaGFyZUlkAAAAAQUAAAAMYmFzZUFzc2V0U3RyBQAAAA1zaGFyZUFzc2V0U3RyCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQEAAAAaa2V5U2h1dGRvd25TdWJtaXRPcGVyYXRpb24AAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgcJAARMAAAAAgkBAAAABFN0ckUAAAACCQEAAAASa2V5U2h1dGRvd25NYW5hZ2VyAAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAAFnNodXRkb3duTWFuYWdlckFkZHJlc3MJAARMAAAAAgkBAAAABEludEUAAAACCQEAAAAWa2V5TmV4dEludGVybmFsQXNzZXRJZAAAAAAJAABkAAAAAgUAAAATaW50ZXJuYWxCYXNlQXNzZXRJZAAAAAAAAAAAAQkABEwAAAACCQEAAAAESW50RQAAAAIJAQAAAAxrZXlQcmljZUxhc3QAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAKc3RhcnRQcmljZQkABEwAAAACCQEAAAAESW50RQAAAAIJAQAAAA9rZXlQcmljZUhpc3RvcnkAAAADBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAKc3RhcnRQcmljZQkABEwAAAACCQEAAAAESW50RQAAAAIJAQAAABJrZXlUb3BVcEN1cnJlbnRJZHgAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgAAAAAAAAAAAAkABEwAAAACCQEAAAAaUmVtYWluaW5nTGltaXRzU3RyaW5nRW50cnkAAAADCQEAAAASa2V5TGltaXRzUmVtYWluaW5nAAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAAE3N1Ym1pdExpbWl0c0Jhc2VNYXgFAAAAFHN1Ym1pdExpbWl0c1NoYXJlTWF4CQAETAAAAAIFAAAAFXNoYXJlQXNzZXRJc3N1ZUFjdGlvbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABN0b3B1cE1hbmFnZXJBZGRyZXNzBQAAAA9zaGFyZUluaXRBbW91bnQFAAAADHNoYXJlQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAAD3NodXRkb3duU3VibWl0cwAAAAEAAAATaW50ZXJuYWxCYXNlQXNzZXRJZAQAAAAWaW50ZXJuYWxCYXNlQXNzZXRJZFN0cgkAAaQAAAABBQAAABNpbnRlcm5hbEJhc2VBc3NldElkBAAAAA5iYXNlQXNzZXRJZFN0cgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAAB9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkAAAAAQUAAAATaW50ZXJuYWxCYXNlQXNzZXRJZAQAAAAWc2h1dGRvd25NYW5hZ2VyQWRkcmVzcwkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAABJrZXlTaHV0ZG93bk1hbmFnZXIAAAABBQAAABZpbnRlcm5hbEJhc2VBc3NldElkU3RyAwkAAGYAAAACAAAAAAAAAAABCQABMQAAAAEFAAAADmJhc2VBc3NldElkU3RyCQAAAgAAAAECAAAAG2ludmFsaWQgaW50ZXJuYWxCYXNlQXNzZXRJZAMJAQAAAAIhPQAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABZzaHV0ZG93bk1hbmFnZXJBZGRyZXNzCQAAAgAAAAECAAAADWFjY2VzcyBkZW5pZWQJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAQAAABprZXlTaHV0ZG93blN1Ym1pdE9wZXJhdGlvbgAAAAEJAAGkAAAAAQUAAAATaW50ZXJuYWxCYXNlQXNzZXRJZAYFAAAAA25pbAAAAAFpAQAAAAlzdWJtaXRQdXQAAAAABAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACGluQW1vdW50CAUAAAADcG10AAAABmFtb3VudAQAAAAJaW5Bc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAADGJhc2VBc3NldFN0cgkAAlgAAAABBQAAAAlpbkFzc2V0SWQJAQAAAAxjb21tb25TdWJtaXQAAAAFAgAAAAFQBQAAAAFpBQAAAAhpbkFtb3VudAUAAAAJaW5Bc3NldElkBQAAAAxiYXNlQXNzZXRTdHIAAAABaQEAAAAJc3VibWl0R2V0AAAAAAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAhpbkFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQEAAAACWluQXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAA1zaGFyZUFzc2V0U3RyCQACWAAAAAEFAAAACWluQXNzZXRJZAQAAAAMYmFzZUFzc2V0U3RyCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAAHGtleU1hcHBpbmdzU2hhcmUyYmFzZUFzc2V0SWQAAAABBQAAAA1zaGFyZUFzc2V0U3RyCQEAAAAMY29tbW9uU3VibWl0AAAABQIAAAABRwUAAAABaQUAAAAIaW5BbW91bnQFAAAACWluQXNzZXRJZAUAAAAMYmFzZUFzc2V0U3RyAAAAAWkBAAAACmV4ZWN1dGVQdXQAAAADAAAADGJhc2VBc3NldFN0cgAAAA51c2VyQWRkcmVzc1N0cgAAAA1zdWJtaXRUeElkU3RyCQEAAAANY29tbW9uRXhlY3V0ZQAAAAQCAAAAAVAFAAAADGJhc2VBc3NldFN0cgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADXN1Ym1pdFR4SWRTdHIAAAABaQEAAAAKZXhlY3V0ZUdldAAAAAMAAAAMYmFzZUFzc2V0U3RyAAAADnVzZXJBZGRyZXNzU3RyAAAADXN1Ym1pdFR4SWRTdHIJAQAAAA1jb21tb25FeGVjdXRlAAAABAIAAAABRwUAAAAMYmFzZUFzc2V0U3RyBQAAAA51c2VyQWRkcmVzc1N0cgUAAAANc3VibWl0VHhJZFN0cgAAAAFpAQAAAA9vcGVyYXRpb25zTXV0ZXgAAAABAAAADGJhc2VBc3NldFN0cgQAAAANYXNzZXRDZmdBcnJheQkBAAAAEnJlYWRBc3NldENmZ09yRmFpbAAAAAEFAAAADGJhc2VBc3NldFN0cgQAAAAWdG9wVXBNYW5hZ2VyQWRkcmVzc1N0cgkAAZEAAAACBQAAAA1hc3NldENmZ0FycmF5BQAAABlJZHhDZmdUb3B1cE1hbmFnZXJBZGRyZXNzBAAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgkAAZEAAAACBQAAAA1hc3NldENmZ0FycmF5BQAAABdJZHhDZmdJbnRlcm5hbEJhc2VBc3NldAMJAQAAAAIhPQAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABZ0b3BVcE1hbmFnZXJBZGRyZXNzU3RyCQEAAAAUZmFpbFRvcHVwTWFuYWdlck9ubHkAAAABBQAAABZ0b3BVcE1hbmFnZXJBZGRyZXNzU3RyCQAETAAAAAIJAQAAABJUb3B1cE11dGV4SW50RW50cnkAAAACBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAGaGVpZ2h0BQAAAANuaWwAAAABaQEAAAAMdG9wVXBCYWxhbmNlAAAAAgAAAAxiYXNlQXNzZXRTdHIAAAAGaW5jb21lBAAAAAtiYXNlQXNzZXRJZAkAAlkAAAABBQAAAAxiYXNlQXNzZXRTdHIEAAAAA2NmZwkBAAAAEnJlYWRBc3NldENmZ09yRmFpbAAAAAEFAAAADGJhc2VBc3NldFN0cgQAAAAMc2hhcmVBc3NldElkCQACWQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAABJJZHhDZmdTaGFyZUFzc2V0SWQEAAAACXByaWNlTXVsdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAXSWR4Q2ZnRGVjaW1hbHNNdWx0UHJpY2UEAAAADWJvdGhBc3NldE11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAHElkeENmZ0RlY2ltYWxzTXVsdEJvdGhBc3NldHMEAAAAFXRvcHVwSW50ZXJ2YWxJbkJsb2NrcwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAbSWR4Q2ZnVG9wdXBJbnRlcnZhbEluQmxvY2tzBAAAABR0b3B1cE1heE5lZ2F0aXZlUGFydAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAaSWR4Q2ZnVG9wdXBNYXhOZWdhdGl2ZVBhcnQEAAAAFGludGVybmFsQmFzZUFzc2V0U3RyCQABkQAAAAIFAAAAA2NmZwUAAAAXSWR4Q2ZnSW50ZXJuYWxCYXNlQXNzZXQEAAAAFnRvcFVwTWFuYWdlckFkZHJlc3NTdHIJAAGRAAAAAgUAAAADY2ZnBQAAABlJZHhDZmdUb3B1cE1hbmFnZXJBZGRyZXNzBAAAABNzdWJtaXRMaW1pdHNCYXNlTWF4CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAABlJZHhDZmdTdWJtaXRMaW1pdHNCYXNlTWF4BAAAABRzdWJtaXRMaW1pdHNTaGFyZU1heAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAaSWR4Q2ZnU3VibWl0TGltaXRzU2hhcmVNYXgEAAAAEnRvcFVwQ3VycmVudElkeEtFWQkBAAAAEmtleVRvcFVwQ3VycmVudElkeAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBAAAAAxwcmV2VG9wVXBJZHgJAQAAAAxnZXRJbnRPckZhaWwAAAABBQAAABJ0b3BVcEN1cnJlbnRJZHhLRVkEAAAAD2N1cnJlbnRUb3BVcElkeAkAAGQAAAACBQAAAAxwcmV2VG9wVXBJZHgAAAAAAAAAAAEEAAAABXZhbGlkAwkAAGYAAAACBQAAAAZpbmNvbWUAAAAAAAAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKcG10QXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkAwkBAAAAAiE9AAAAAgUAAAALYmFzZUFzc2V0SWQFAAAACnBtdEFzc2V0SWQJAAACAAAAAQIAAAA+YXR0YWNoZWQgcGF5bWVudCdzIGFzc2V0IGlkIGlzIE5PVCBtYXRjaGVkIHBhc3NlZCBiYXNlQXNzZXRTdHIDCQAAZgAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAgb25seSBvbmUgcGF5bWVudCBjYW4gYmUgYXR0YWNoZWQDCQEAAAACIT0AAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAGaW5jb21lCQAAAgAAAAECAAAAPWF0dGFjaGVkIHBheW1lbnQuYW1vdW50IGlzIE5PVCBtYXRjaGVkIHBhc3NlZCBpbmNvbWUgYXJndW1lbnQGAwkAAGYAAAACAAAAAAAAAAAABQAAAAZpbmNvbWUEAAAAC2Jhc2VCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAAC2Jhc2VBc3NldElkBAAAAA1hbGxvd2VkQW1vdW50CQAAawAAAAMFAAAAFHRvcHVwTWF4TmVnYXRpdmVQYXJ0BQAAAAtiYXNlQmFsYW5jZQUAAAANYm90aEFzc2V0TXVsdAMJAABmAAAAAgkBAAAAAS0AAAABBQAAAAZpbmNvbWUFAAAADWFsbG93ZWRBbW91bnQJAAACAAAAAQkAASwAAAACAgAAAC90b3B1cCBuZWdhdGl2ZSBpbmNvbWUgY291bGRuJ3QgYmUgZ3JlYXRlciB0aGFuIAkAAaQAAAABBQAAAA1hbGxvd2VkQW1vdW50BgkAAAIAAAABAgAAABp6ZXJvIGluY29tZSBpcyBub3QgYWxsb3dlZAQAAAASdG9wVXBMYXN0SGVpZ2h0S0VZCQEAAAASa2V5VG9wVXBMYXN0SGVpZ2h0AAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA90b3BVcExhc3RIZWlnaHQJAABlAAAAAgUAAAAGaGVpZ2h0AAAAAAAAAABkAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAFnRvcFVwTWFuYWdlckFkZHJlc3NTdHIJAQAAABRmYWlsVG9wdXBNYW5hZ2VyT25seQAAAAEFAAAAFnRvcFVwTWFuYWdlckFkZHJlc3NTdHIDCQEAAAABIQAAAAEFAAAABXZhbGlkCQAAAgAAAAECAAAAEXZhbGlkYXRpb24gZmFpbGVkAwkAAGYAAAACBQAAABV0b3B1cEludGVydmFsSW5CbG9ja3MJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAA90b3BVcExhc3RIZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAADDEgdG9wdXAgcGVyIAkAAaQAAAABBQAAABV0b3B1cEludGVydmFsSW5CbG9ja3MCAAAAKCBibG9ja3MgZnJvbSB0aGUgc2FtZSBhZGRyZXNzIGlzIGFsbG93ZWQEAAAABXByaWNlCAkBAAAAEGdlbmVyaWNDYWxjUHJpY2UAAAAFBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAALYmFzZUFzc2V0SWQFAAAABmluY29tZQUAAAAMc2hhcmVBc3NldElkBQAAAAlwcmljZU11bHQAAAACXzEEAAAACWRpZmZUdXBsZQkBAAAAE2NhbGNUb3RhbExvY2tlZERpZmYAAAAIAgAAAAV0b3B1cAIAAAAABQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAFcHJpY2UFAAAACXByaWNlTXVsdAAAAAAAAAAAAAUAAAALYmFzZUFzc2V0SWQFAAAADHNoYXJlQXNzZXRJZAQAAAAOdG9wdXBUb3RhbERpZmYIBQAAAAlkaWZmVHVwbGUAAAACXzEEAAAAC3ByaWNlQXRoS0VZCQEAAAALa2V5UHJpY2VBVEgAAAABBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgQAAAAMcHJldlByaWNlQVRICQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAC3ByaWNlQXRoS0VZAAAAAAAAAAAACQAETgAAAAIJAARNAAAAAgkABE0AAAACCQAETQAAAAIJAARNAAAAAgkABE0AAAACCQAETQAAAAIJAARMAAAAAgkBAAAABEludEUAAAACCQEAAAAMa2V5UHJpY2VMYXN0AAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAABXByaWNlCQAETAAAAAIJAQAAAARJbnRFAAAAAgkBAAAAD2tleVByaWNlSGlzdG9yeQAAAAMFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBQAAAAZoZWlnaHQIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAVwcmljZQkABEwAAAACCQEAAAAESW50RQAAAAIJAQAAABJrZXlQcmljZUJ5VG9wVXBJZHgAAAACBQAAABRpbnRlcm5hbEJhc2VBc3NldFN0cgUAAAAPY3VycmVudFRvcFVwSWR4BQAAAAVwcmljZQkABEwAAAACCQEAAAAESW50RQAAAAIFAAAAEnRvcFVwQ3VycmVudElkeEtFWQUAAAAPY3VycmVudFRvcFVwSWR4CQAETAAAAAIJAQAAAARJbnRFAAAAAgUAAAALcHJpY2VBdGhLRVkDCQAAZgAAAAIFAAAABXByaWNlBQAAAAxwcmV2UHJpY2VBVEgFAAAABXByaWNlBQAAAAxwcmV2UHJpY2VBVEgJAARMAAAAAgkBAAAABEludEUAAAACBQAAABJ0b3BVcExhc3RIZWlnaHRLRVkFAAAABmhlaWdodAUAAAADbmlsCQEAAAAWVG90YWxMb2NrZWRTdHJpbmdFbnRyeQAAAAMCAAAACURFQ1JFTUVOVAkBAAAADmtleVRvdGFsTG9ja2VkAAAAAQUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIFAAAADnRvcHVwVG90YWxEaWZmCQEAAAASVG9wdXBNdXRleEludEVudHJ5AAAAAgUAAAAUaW50ZXJuYWxCYXNlQXNzZXRTdHIAAAAAAAAAAAAJAQAAAARJbnRFAAAAAgkBAAAAFWtleVRvcHVwTGFzdFRpbWVzdGFtcAAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkBAAAAGlJlbWFpbmluZ0xpbWl0c1N0cmluZ0VudHJ5AAAAAwkBAAAAEmtleUxpbWl0c1JlbWFpbmluZwAAAAEFAAAAFGludGVybmFsQmFzZUFzc2V0U3RyBQAAABNzdWJtaXRMaW1pdHNCYXNlTWF4BQAAABRzdWJtaXRMaW1pdHNTaGFyZU1heAkBAAAABEJ1cm4AAAACBQAAAAxzaGFyZUFzc2V0SWQJAAGRAAAAAgUAAAAOdG9wdXBUb3RhbERpZmYFAAAAFUlkeFRvdGFsTG9ja2VkSW5TaGFyZQkBAAAAB1JlaXNzdWUAAAADBQAAAAxzaGFyZUFzc2V0SWQJAQAAAAEtAAAAAQkAAZEAAAACBQAAAA50b3B1cFRvdGFsRGlmZgUAAAAWSWR4VG90YWxMb2NrZWRPdXRTaGFyZQYDCQAAZgAAAAIAAAAAAAAAAAAFAAAABmluY29tZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAQAAAAEtAAAAAQUAAAAGaW5jb21lBQAAAAtiYXNlQXNzZXRJZAUAAAADbmlsBQAAAANuaWwAAAABaQEAAAAUY3VycmVudFN5c1BhcmFtc1JFU1QAAAABAAAADGJhc2VBc3NldFN0cgQAAAANc3lzU3RhdGVUdXBsZQkBAAAAG3ByaXZhdGVDdXJyZW50U3lzUGFyYW1zUkVTVAAAAAEFAAAADGJhc2VBc3NldFN0cgQAAAAFcHJpY2UICAUAAAANc3lzU3RhdGVUdXBsZQAAAAJfMQAAAAV2YWx1ZQQAAAARZGVjaW1hbHNNdWx0UHJpY2UICAUAAAANc3lzU3RhdGVUdXBsZQAAAAJfMgAAAAV2YWx1ZQQAAAAQYmFzZUFzc2V0QmFsYW5jZQgIBQAAAA1zeXNTdGF0ZVR1cGxlAAAAAl8zAAAABXZhbHVlBAAAABV0b3RhbExvY2tlZEJhc2VBbW91bnQICAUAAAANc3lzU3RhdGVUdXBsZQAAAAJfNAAAAAV2YWx1ZQQAAAATYmFzZUFzc2V0QmFsYW5jZVdDTwgIBQAAAA1zeXNTdGF0ZVR1cGxlAAAAAl81AAAABXZhbHVlBAAAAA1zaGFyZUVtaXNzaW9uCAgFAAAADXN5c1N0YXRlVHVwbGUAAAACXzYAAAAFdmFsdWUEAAAAGWN1cnJJdGVyVG90YWxJbkJhc2VBbW91bnQICAUAAAANc3lzU3RhdGVUdXBsZQAAAAJfNwAAAAV2YWx1ZQQAAAAaY3Vyckl0ZXJUb3RhbEluU2hhcmVBbW91bnQICAUAAAANc3lzU3RhdGVUdXBsZQAAAAJfOAAAAAV2YWx1ZQQAAAAYdG90YWxMb2NrZWRPdXRCYXNlQW1vdW50CAgFAAAADXN5c1N0YXRlVHVwbGUAAAACXzkAAAAFdmFsdWUEAAAAGXRvdGFsTG9ja2VkT3V0U2hhcmVBbW91bnQICAUAAAANc3lzU3RhdGVUdXBsZQAAAANfMTAAAAAFdmFsdWUEAAAAFmRlY2ltYWxzTXVsdEJvdGhBc3NldHMICAUAAAANc3lzU3RhdGVUdXBsZQAAAANfMTEAAAAFdmFsdWUEAAAACHByaWNlQVRICAgFAAAADXN5c1N0YXRlVHVwbGUAAAADXzEyAAAABXZhbHVlBAAAABFwcmljZVJlY2FsY3VsYXRlZAgIBQAAAA1zeXNTdGF0ZVR1cGxlAAAAA18xMwAAAAV2YWx1ZQQAAAANdG9wdXBMYXN0VGltZQgIBQAAAA1zeXNTdGF0ZVR1cGxlAAAAA18xNAAAAAV2YWx1ZQQAAAAIcmVzdERhdGEJAAS5AAAAAgkABEwAAAACAgAAABlzdGFydEN1cnJlbnRTeXNQYXJhbXNSRVNUCQAETAAAAAIJAAGkAAAAAQUAAAAFcHJpY2UJAARMAAAAAgkAAaQAAAABBQAAABFkZWNpbWFsc011bHRQcmljZQkABEwAAAACCQABpAAAAAEFAAAAEGJhc2VBc3NldEJhbGFuY2UJAARMAAAAAgkAAaQAAAABBQAAABV0b3RhbExvY2tlZEJhc2VBbW91bnQJAARMAAAAAgkAAaQAAAABBQAAABNiYXNlQXNzZXRCYWxhbmNlV0NPCQAETAAAAAIJAAGkAAAAAQUAAAANc2hhcmVFbWlzc2lvbgkABEwAAAACCQABpAAAAAEFAAAAGWN1cnJJdGVyVG90YWxJbkJhc2VBbW91bnQJAARMAAAAAgkAAaQAAAABBQAAABpjdXJySXRlclRvdGFsSW5TaGFyZUFtb3VudAkABEwAAAACCQABpAAAAAEFAAAAGHRvdGFsTG9ja2VkT3V0QmFzZUFtb3VudAkABEwAAAACCQABpAAAAAEFAAAAGXRvdGFsTG9ja2VkT3V0U2hhcmVBbW91bnQJAARMAAAAAgkAAaQAAAABBQAAABZkZWNpbWFsc011bHRCb3RoQXNzZXRzCQAETAAAAAIJAAGkAAAAAQUAAAAIcHJpY2VBVEgJAARMAAAAAgkAAaQAAAABBQAAABFwcmljZVJlY2FsY3VsYXRlZAkABEwAAAACCQABpAAAAAEFAAAADXRvcHVwTGFzdFRpbWUJAARMAAAAAgIAAAAXZW5kQ3VycmVudFN5c1BhcmFtc1JFU1QFAAAAA25pbAUAAAADU0VQCQAAAgAAAAEFAAAACHJlc3REYXRhAAAAAIxkf/Y=", "chainId": 84, "height": 1595930, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "__" | |
5 | + | ||
6 | + | func b (c) = valueOrErrorMessage(getString(this, c), ("No data for this.key=" + c)) | |
7 | + | ||
8 | + | ||
9 | + | func d (c) = valueOrErrorMessage(getBoolean(this, c), ("No data for this.key=" + c)) | |
10 | + | ||
11 | + | ||
12 | + | func e (c) = valueOrErrorMessage(getInteger(this, c), ("No data for this.key=" + c)) | |
13 | + | ||
14 | + | ||
15 | + | func f (c,g) = IntegerEntry(c, g) | |
16 | + | ||
17 | + | ||
18 | + | func h (c,g) = StringEntry(c, g) | |
19 | + | ||
20 | + | ||
21 | + | func i (j,k,l,m,n) = throw(((((((((j + ": baseAsset=") + k) + " userAddress=") + l) + " submitTxId=") + m) + " operation=") + n)) | |
22 | + | ||
23 | + | ||
24 | + | func o (p,q,r,s) = throw((((((((("submit operation limits have been reached: " + " remainingBaseVal=") + toString(p)) + " remainingShareVal=") + toString(q)) + " newRemainingBaseVal=") + toString(r)) + " newRemainingShareVal=") + toString(s))) | |
25 | + | ||
26 | + | ||
27 | + | func t (u) = throw((("opertion denied: only topUpManager=" + u) + " can send such transactions")) | |
28 | + | ||
29 | + | ||
30 | + | func v (w,x,y) = fraction(w, x, y) | |
31 | + | ||
32 | + | ||
33 | + | func z (A,x,y) = fraction(A, y, x) | |
34 | + | ||
35 | + | ||
36 | + | func B (k) = ("%s%s%s__config__asset__" + k) | |
37 | + | ||
38 | + | ||
39 | + | func C () = "%s__nextInternalAssetId" | |
40 | + | ||
41 | + | ||
42 | + | func D (E) = ("%s%s%d__price__last__" + E) | |
43 | + | ||
44 | + | ||
45 | + | func F (E) = ("%s%s%d__price__ath__" + E) | |
46 | + | ||
47 | + | ||
48 | + | func G (H,I) = makeString(["%s%s%d%d__price__byTopUpIdx", H, toString(I)], a) | |
49 | + | ||
50 | + | ||
51 | + | func J (E,K,L) = makeString(["%s%s%d%d%d__price__history", E, toString(K), toString(L)], a) | |
52 | + | ||
53 | + | ||
54 | + | func M (E) = ("%s%s%d__total__locked__" + E) | |
55 | + | ||
56 | + | ||
57 | + | func N (H,l) = makeString(["%s%s%d%s__total__locked", H, l], a) | |
58 | + | ||
59 | + | ||
60 | + | func O (P) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(P)) | |
61 | + | ||
62 | + | ||
63 | + | func Q (k) = ("%s%s%s__mappings__baseAsset2internalId__" + k) | |
64 | + | ||
65 | + | ||
66 | + | func R (S) = ("%s%s%s__mappings__share2baseAssetId__" + S) | |
67 | + | ||
68 | + | ||
69 | + | func T (k) = ("%s%s%s__mappings__baseAsset2shareId__" + k) | |
70 | + | ||
71 | + | ||
72 | + | func U (H) = ("%s%s%d__shutdown__submit__" + H) | |
73 | + | ||
74 | + | ||
75 | + | func V (H) = ("%s%s%d__shutdown__manager__" + H) | |
76 | + | ||
77 | + | ||
78 | + | func W (H) = ("%s%s%d__topup__currentIdx__" + H) | |
79 | + | ||
80 | + | ||
81 | + | func X (E,Y) = makeString(["%s%s%s%d%s__topup__last__height", E, Y], a) | |
82 | + | ||
83 | + | ||
84 | + | func Z (E) = ("%s%s%d__topup__mutex__" + E) | |
85 | + | ||
86 | + | ||
87 | + | func aa (E) = ("%s%s%s%d__topup__last__timestamp__" + E) | |
88 | + | ||
89 | + | ||
90 | + | func ab (E,ac) = makeString(["%s%s%d%d__topup__history", E, toString(ac)], a) | |
91 | + | ||
92 | + | ||
93 | + | func ad (E) = ("%s%s%d__limits__remaining__" + E) | |
94 | + | ||
95 | + | ||
96 | + | let ae = 1 | |
97 | + | ||
98 | + | let af = 2 | |
99 | + | ||
100 | + | let ag = 3 | |
101 | + | ||
102 | + | let ah = 4 | |
103 | + | ||
104 | + | let ai = 5 | |
105 | + | ||
106 | + | let aj = 6 | |
107 | + | ||
108 | + | let ak = 7 | |
109 | + | ||
110 | + | let al = 8 | |
111 | + | ||
112 | + | let am = 9 | |
113 | + | ||
114 | + | let an = 10 | |
115 | + | ||
116 | + | let ao = 11 | |
117 | + | ||
118 | + | let ap = 12 | |
119 | + | ||
120 | + | let aq = 13 | |
121 | + | ||
122 | + | func ar (S,H,as,at,au,av,aw,u,ax,ay,az,aA,aB) = makeString(["%s%d%d%d%d%d%d%s%d%d%d%d", S, H, toString(as), toString(at), toString(au), toString(av), toString(aw), u, toString(ax), toString(ay), toString(az), toString(aA), aB], a) | |
123 | + | ||
124 | + | ||
125 | + | let aC = 1 | |
126 | + | ||
127 | + | let aD = 2 | |
128 | + | ||
129 | + | let aE = 3 | |
130 | + | ||
131 | + | let aF = 4 | |
132 | + | ||
133 | + | func aG (aH,aI,aJ,aK) = makeString(["%d%d%d%d", toString(aH), toString(aI), toString(aJ), toString(aK)], a) | |
134 | + | ||
135 | + | ||
136 | + | func aL (aH,aI,aJ,aK) = [-1, aH, aI, aJ, aK] | |
137 | + | ||
138 | + | ||
139 | + | func aM (c) = { | |
140 | + | let aN = split(valueOrElse(getString(this, c), aG(0, 0, 0, 0)), a) | |
141 | + | aL(parseIntValue(aN[aC]), parseIntValue(aN[aD]), parseIntValue(aN[aE]), parseIntValue(aN[aF])) | |
142 | + | } | |
143 | + | ||
144 | + | ||
145 | + | func aO (aP,n,H,x,y,aQ,aR,aS) = { | |
146 | + | let aT = (aP + n) | |
147 | + | if ((aT == "submitP")) | |
148 | + | then { | |
149 | + | let aU = aL(0, 0, aQ, 0) | |
150 | + | let aV = aU | |
151 | + | $Tuple4(aU, aV, 0, fromBase58String("")) | |
152 | + | } | |
153 | + | else if ((aT == "submitG")) | |
154 | + | then { | |
155 | + | let aU = aL(aQ, 0, 0, 0) | |
156 | + | let aV = aU | |
157 | + | $Tuple4(aU, aV, 0, fromBase58String("")) | |
158 | + | } | |
159 | + | else if ((aT == "executeP")) | |
160 | + | then { | |
161 | + | let aW = z(aQ, x, y) | |
162 | + | let aU = aL(0, 0, 0, aW) | |
163 | + | let aV = aL(0, 0, aQ, 0) | |
164 | + | $Tuple4(aU, aV, aW, aS) | |
165 | + | } | |
166 | + | else if ((aT == "executeG")) | |
167 | + | then { | |
168 | + | let aW = v(aQ, x, y) | |
169 | + | let aU = aL(0, aW, 0, 0) | |
170 | + | let aV = aL(aQ, 0, 0, 0) | |
171 | + | $Tuple4(aU, aV, aW, aR) | |
172 | + | } | |
173 | + | else if ((aT == "topup")) | |
174 | + | then { | |
175 | + | let aN = aM(M(H)) | |
176 | + | let aX = aN[aE] | |
177 | + | let aY = aN[aC] | |
178 | + | let aU = aL(aY, (-1 * v(aY, x, y)), aX, (-1 * z(aX, x, y))) | |
179 | + | $Tuple4(aU, nil, 0, fromBase58String("")) | |
180 | + | } | |
181 | + | else throw(("Unsupported Type " + aT)) | |
182 | + | } | |
183 | + | ||
184 | + | ||
185 | + | func aZ (ba,c,bb) = { | |
186 | + | func bc (bd,be) = if ((ba == "INCREMENT")) | |
187 | + | then (bd + be) | |
188 | + | else if ((ba == "DECREMENT")) | |
189 | + | then (bd - be) | |
190 | + | else throw(("Unsupported action " + ba)) | |
191 | + | ||
192 | + | let bf = aM(c) | |
193 | + | h(c, aG(bc(bf[aC], bb[aC]), bc(bf[aD], bb[aD]), bc(bf[aE], bb[aE]), bc(bf[aF], bb[aF]))) | |
194 | + | } | |
195 | + | ||
196 | + | ||
197 | + | func bg (n,H,bh,bi) = makeString(["%s%d%s%s", n, H, bh, bi], a) | |
198 | + | ||
199 | + | ||
200 | + | let bj = 1 | |
201 | + | ||
202 | + | let bk = 2 | |
203 | + | ||
204 | + | let bl = 3 | |
205 | + | ||
206 | + | let bm = 4 | |
207 | + | ||
208 | + | let bn = 5 | |
209 | + | ||
210 | + | let bo = 6 | |
211 | + | ||
212 | + | let bp = 7 | |
213 | + | ||
214 | + | let bq = 8 | |
215 | + | ||
216 | + | let br = 9 | |
217 | + | ||
218 | + | func bs (bt,bu,x,bv,bw,bx,by,bz,bA) = makeString(["%s%d%d%d%d%d%d%d%d", bt, bu, x, bv, bw, bx, by, bz, bA], a) | |
219 | + | ||
220 | + | ||
221 | + | func bB (bt,bu,x,bv,bw,bx,by,bz,bC) = bs(bt, toString(bu), toString(x), toString(bv), toString(bw), toString(bx), toString(by), toString(bz), toString(bC)) | |
222 | + | ||
223 | + | ||
224 | + | func bD (bE,bF,bG,bH) = bs(bF, bE[bk], toString(bG), toString(bH), bE[bn], bE[bo], toString(height), toString(lastBlock.timestamp), bE[br]) | |
225 | + | ||
226 | + | ||
227 | + | func bI (k) = { | |
228 | + | let c = B(k) | |
229 | + | split(b(c), a) | |
230 | + | } | |
231 | + | ||
232 | + | ||
233 | + | let bJ = 1 | |
234 | + | ||
235 | + | let bK = 2 | |
236 | + | ||
237 | + | func bL (c,bM,bN) = h(c, makeString(["%d%d", toString(bM), toString(bN)], a)) | |
238 | + | ||
239 | + | ||
240 | + | func bO (H,bP) = f(Z(H), bP) | |
241 | + | ||
242 | + | ||
243 | + | func bQ (H,aR,bR,aS,at) = { | |
244 | + | let aN = aM(M(H)) | |
245 | + | let bS = aN[aD] | |
246 | + | let bT = aN[aE] | |
247 | + | let bU = assetBalance(this, aR) | |
248 | + | let bV = (((bU + bR) - bT) - bS) | |
249 | + | let bW = aN[aF] | |
250 | + | let bX = aN[aC] | |
251 | + | let bY = value(assetInfo(aS)).quantity | |
252 | + | if ((0 > bV)) | |
253 | + | then throw(((("baseAssetBalanceWco < 0: baseAssettBalance=" + toString(bU)) + " baseAssetBalanceWco=") + toString(bV))) | |
254 | + | else { | |
255 | + | let bZ = e(D(H)) | |
256 | + | let x = if ((bY == 0)) | |
257 | + | then bZ | |
258 | + | else fraction(bV, at, bY) | |
259 | + | $Tuple9(x, bU, -1, bV, bY, bT, bX, bS, bW) | |
260 | + | } | |
261 | + | } | |
262 | + | ||
263 | + | ||
264 | + | func ca (H,aR,aS,at) = bQ(H, aR, 0, aS, at) | |
265 | + | ||
266 | + | ||
267 | + | func cb (n,cc,aQ,cd,k) = { | |
268 | + | let ce = toBase58String(cd) | |
269 | + | let l = toString(cc.caller) | |
270 | + | let aR = fromBase58String(k) | |
271 | + | let cf = bI(k) | |
272 | + | let S = cf[ae] | |
273 | + | let aS = fromBase58String(S) | |
274 | + | let as = parseIntValue(cf[ag]) | |
275 | + | let H = cf[af] | |
276 | + | let cg = ad(H) | |
277 | + | let ch = split(b(cg), a) | |
278 | + | let ci = parseIntValue(ch[bJ]) | |
279 | + | let cj = parseIntValue(ch[bK]) | |
280 | + | let ck = valueOrElse(getBoolean(this, U(H)), false) | |
281 | + | if (ck) | |
282 | + | then throw("submit operation is blocked") | |
283 | + | else { | |
284 | + | let cl = valueOrElse(getInteger(this, Z(H)), 0) | |
285 | + | if (((cl + 60) > height)) | |
286 | + | then throw("submit operations are blocked by topup manager") | |
287 | + | else { | |
288 | + | let cm = aO("submit", n, H, 0, 0, aQ, aR, aS) | |
289 | + | let cn = (ci - cm._2[aE]) | |
290 | + | let co = (cj - cm._2[aC]) | |
291 | + | if (if ((0 > cn)) | |
292 | + | then true | |
293 | + | else (0 > co)) | |
294 | + | then o(ci, cj, cn, co) | |
295 | + | else { | |
296 | + | let cp = e(W(H)) | |
297 | + | ((([h(bg(n, H, l, toBase58String(cc.transactionId)), bB("PENDING", aQ, 0, 0, height, lastBlock.timestamp, 0, 0, (cp + 1)))] :+ aZ("INCREMENT", M(H), cm._1)) :+ aZ("INCREMENT", N(H, l), cm._2)) :+ bL(cg, cn, co)) | |
298 | + | } | |
299 | + | } | |
300 | + | } | |
301 | + | } | |
302 | + | ||
303 | + | ||
304 | + | func cq (n,k,l,m) = { | |
305 | + | let bh = addressFromStringValue(l) | |
306 | + | let cr = bI(k) | |
307 | + | let aS = fromBase58String(cr[ae]) | |
308 | + | let H = cr[af] | |
309 | + | let at = parseIntValue(cr[ah]) | |
310 | + | let aR = fromBase58String(k) | |
311 | + | let cs = bg(n, H, l, m) | |
312 | + | let ct = split(b(cs), a) | |
313 | + | let bt = ct[bj] | |
314 | + | let aQ = parseIntValue(ct[bk]) | |
315 | + | let bC = parseIntValue(ct[br]) | |
316 | + | let cu = e(W(H)) | |
317 | + | let cv = e(G(H, bC)) | |
318 | + | if ((bt != "PENDING")) | |
319 | + | then i("Status is not PENDING", k, l, m, n) | |
320 | + | else if ((bC > cu)) | |
321 | + | then i(((("OperLock[" + toString(bC)) + "] > ") + toString(cu)), k, l, m, n) | |
322 | + | else { | |
323 | + | let cm = aO("execute", n, H, cv, at, aQ, aR, aS) | |
324 | + | let aW = cm._3 | |
325 | + | let cw = if ((cm._4 == aR)) | |
326 | + | then [ScriptTransfer(bh, aW, aR)] | |
327 | + | else [ScriptTransfer(bh, aW, aS)] | |
328 | + | (((cw :+ h(cs, bD(ct, "FINISHED", cv, aW))) :+ aZ("DECREMENT", M(H), cm._1)) :+ aZ("DECREMENT", N(H, l), cm._2)) | |
329 | + | } | |
330 | + | } | |
331 | + | ||
332 | + | ||
333 | + | func cx (k) = { | |
334 | + | let aR = fromBase58String(k) | |
335 | + | let cf = bI(k) | |
336 | + | let S = cf[ae] | |
337 | + | let aS = fromBase58String(S) | |
338 | + | let cy = parseIntValue(cf[ag]) | |
339 | + | let cz = parseIntValue(cf[ah]) | |
340 | + | let H = cf[af] | |
341 | + | let cA = F(H) | |
342 | + | let cB = valueOrElse(getInteger(this, cA), 0) | |
343 | + | let cC = D(H) | |
344 | + | let cD = valueOrElse(getInteger(this, cC), 0) | |
345 | + | let cE = aa(H) | |
346 | + | let cF = valueOrElse(getInteger(this, cE), 0) | |
347 | + | let cG = ca(H, aR, aS, cz) | |
348 | + | $Tuple14(f("price", cD), f("decimalsMultPrice", cz), f("baseAssetBalance", cG._2), f("-1", cG._3), f("baseAssetBalanceWCO", cG._4), f("shareEmission", cG._5), f("currIterTotalInBaseAmount", cG._6), f("currIterTotalInShareAmount", cG._7), f("totalLockedOutBaseAmount", cG._8), f("totalLockedOutShareAmount", cG._9), f("decimalsMultBothAssets", cy), f("priceATH", cB), f("priceRecalculated", cG._1), f("topupLastTimestamp", cF)) | |
349 | + | } | |
350 | + | ||
351 | + | ||
352 | + | @Callable(cc) | |
353 | + | func adminRegisterAsset (k,cH,cI,cJ,cK,cL,av,aw,u,ax,ay,az,aA,aB) = { | |
354 | + | let aR = fromBase58String(k) | |
355 | + | let cM = value(assetInfo(aR)).decimals | |
356 | + | let as = pow(10, 0, cM, 0, 0, DOWN) | |
357 | + | let at = ((100 * 1000) * 1000) | |
358 | + | let cN = fraction(aw, 100, as) | |
359 | + | let bU = assetBalance(this, aR) | |
360 | + | if ((cc.caller != this)) | |
361 | + | then throw("permissions denied") | |
362 | + | else if ((bU == 0)) | |
363 | + | then throw(((toString(this) + " must have any initial balance of ") + k)) | |
364 | + | else if (isDefined(getString(this, B(k)))) | |
365 | + | then throw((k + " has been already registered")) | |
366 | + | else if ((toString(addressFromStringValue(cK)) != cK)) | |
367 | + | then throw("invalid shutdownManagerAddress") | |
368 | + | else if ((toString(addressFromStringValue(u)) != u)) | |
369 | + | then throw("invalid topupManagerAddress") | |
370 | + | else if ((0 > cJ)) | |
371 | + | then throw(("invalid getDelayinBlocks=" + toString(cJ))) | |
372 | + | else if (if ((0 >= cN)) | |
373 | + | then true | |
374 | + | else (cN >= 99)) | |
375 | + | then throw("invalid topupMaxNegativePart parameter") | |
376 | + | else { | |
377 | + | let cO = z(bU, cL, at) | |
378 | + | let cP = Issue(cH, cI, cO, cM, true) | |
379 | + | let aS = calculateAssetId(cP) | |
380 | + | let S = toBase58String(aS) | |
381 | + | let cQ = valueOrElse(getInteger(this, C()), 0) | |
382 | + | let H = toString(cQ) | |
383 | + | [h(B(k), ar(S, H, as, at, cJ, av, aw, u, ax, ay, az, aA, aB)), h(O(cQ), k), h(Q(k), H), h(R(S), k), h(T(k), S), BooleanEntry(U(H), false), h(V(H), cK), f(C(), (cQ + 1)), f(D(H), cL), f(J(H, height, lastBlock.timestamp), cL), f(W(H), 0), bL(ad(H), ax, az), cP, ScriptTransfer(addressFromStringValue(u), cO, aS)] | |
384 | + | } | |
385 | + | } | |
386 | + | ||
387 | + | ||
388 | + | ||
389 | + | @Callable(cc) | |
390 | + | func shutdownSubmits (cQ) = { | |
391 | + | let cR = toString(cQ) | |
392 | + | let cS = b(O(cQ)) | |
393 | + | let cK = b(V(cR)) | |
394 | + | if ((1 > size(cS))) | |
395 | + | then throw("invalid internalBaseAssetId") | |
396 | + | else if ((toString(cc.caller) != cK)) | |
397 | + | then throw("access denied") | |
398 | + | else [BooleanEntry(U(toString(cQ)), true)] | |
399 | + | } | |
400 | + | ||
401 | + | ||
402 | + | ||
403 | + | @Callable(cc) | |
404 | + | func submitPut () = { | |
405 | + | let cT = value(cc.payments[0]) | |
406 | + | let aQ = cT.amount | |
407 | + | let cd = value(cT.assetId) | |
408 | + | let k = toBase58String(cd) | |
409 | + | cb("P", cc, aQ, cd, k) | |
410 | + | } | |
411 | + | ||
412 | + | ||
413 | + | ||
414 | + | @Callable(cc) | |
415 | + | func submitGet () = { | |
416 | + | let cT = value(cc.payments[0]) | |
417 | + | let aQ = cT.amount | |
418 | + | let cd = value(cT.assetId) | |
419 | + | let S = toBase58String(cd) | |
420 | + | let k = b(R(S)) | |
421 | + | cb("G", cc, aQ, cd, k) | |
422 | + | } | |
423 | + | ||
424 | + | ||
425 | + | ||
426 | + | @Callable(cc) | |
427 | + | func executePut (k,l,m) = cq("P", k, l, m) | |
428 | + | ||
429 | + | ||
430 | + | ||
431 | + | @Callable(cc) | |
432 | + | func executeGet (k,l,m) = cq("G", k, l, m) | |
433 | + | ||
434 | + | ||
435 | + | ||
436 | + | @Callable(cc) | |
437 | + | func operationsMutex (k) = { | |
438 | + | let cr = bI(k) | |
439 | + | let cU = cr[al] | |
440 | + | let H = cr[af] | |
441 | + | if ((toString(cc.caller) != cU)) | |
442 | + | then t(cU) | |
443 | + | else [bO(H, height)] | |
444 | + | } | |
445 | + | ||
446 | + | ||
447 | + | ||
448 | + | @Callable(cc) | |
449 | + | func topUpBalance (k,cV) = { | |
450 | + | let aR = fromBase58String(k) | |
451 | + | let cW = bI(k) | |
452 | + | let aS = fromBase58String(cW[ae]) | |
453 | + | let y = parseIntValue(cW[ah]) | |
454 | + | let cX = parseIntValue(cW[ag]) | |
455 | + | let av = parseIntValue(cW[aj]) | |
456 | + | let aw = parseIntValue(cW[ak]) | |
457 | + | let H = cW[af] | |
458 | + | let cU = cW[al] | |
459 | + | let ax = parseIntValue(cW[am]) | |
460 | + | let az = parseIntValue(cW[ao]) | |
461 | + | let cY = W(H) | |
462 | + | let cZ = e(cY) | |
463 | + | let da = (cZ + 1) | |
464 | + | let db = if ((cV > 0)) | |
465 | + | then { | |
466 | + | let cT = value(cc.payments[0]) | |
467 | + | let dc = value(cT.assetId) | |
468 | + | if ((aR != dc)) | |
469 | + | then throw("attached payment's asset id is NOT matched passed baseAssetStr") | |
470 | + | else if ((size(cc.payments) > 1)) | |
471 | + | then throw("only one payment can be attached") | |
472 | + | else if ((cT.amount != cV)) | |
473 | + | then throw("attached payment.amount is NOT matched passed income argument") | |
474 | + | else true | |
475 | + | } | |
476 | + | else if ((0 > cV)) | |
477 | + | then { | |
478 | + | let dd = assetBalance(this, aR) | |
479 | + | let de = fraction(aw, dd, cX) | |
480 | + | if ((-(cV) > de)) | |
481 | + | then throw(("topup negative income couldn't be greater than " + toString(de))) | |
482 | + | else true | |
483 | + | } | |
484 | + | else throw("zero income is not allowed") | |
485 | + | let df = X(H, toString(cc.caller)) | |
486 | + | let dg = (height - 100) | |
487 | + | if ((toString(cc.caller) != cU)) | |
488 | + | then t(cU) | |
489 | + | else if (!(db)) | |
490 | + | then throw("validation failed") | |
491 | + | else if ((av > (height - dg))) | |
492 | + | then throw((("1 topup per " + toString(av)) + " blocks from the same address is allowed")) | |
493 | + | else { | |
494 | + | let x = bQ(H, aR, cV, aS, y)._1 | |
495 | + | let cm = aO("topup", "", H, x, y, 0, aR, aS) | |
496 | + | let dh = cm._1 | |
497 | + | let cA = F(H) | |
498 | + | let di = valueOrElse(getInteger(this, cA), 0) | |
499 | + | ((((((([f(D(H), x), f(J(H, height, lastBlock.timestamp), x), f(G(H, da), x), f(cY, da), f(cA, if ((x > di)) | |
500 | + | then x | |
501 | + | else di), f(df, height)] :+ aZ("DECREMENT", M(H), dh)) :+ bO(H, 0)) :+ f(aa(H), lastBlock.timestamp)) :+ bL(ad(H), ax, az)) :+ Burn(aS, dh[aC])) :+ Reissue(aS, -(dh[aF]), true)) ++ (if ((0 > cV)) | |
502 | + | then [ScriptTransfer(cc.caller, -(cV), aR)] | |
503 | + | else nil)) | |
504 | + | } | |
505 | + | } | |
506 | + | ||
507 | + | ||
508 | + | ||
509 | + | @Callable(cc) | |
510 | + | func currentSysParamsREST (k) = { | |
511 | + | let dj = cx(k) | |
512 | + | let x = dj._1.value | |
513 | + | let at = dj._2.value | |
514 | + | let bU = dj._3.value | |
515 | + | let dk = dj._4.value | |
516 | + | let bV = dj._5.value | |
517 | + | let bY = dj._6.value | |
518 | + | let bT = dj._7.value | |
519 | + | let bX = dj._8.value | |
520 | + | let bS = dj._9.value | |
521 | + | let bW = dj._10.value | |
522 | + | let as = dj._11.value | |
523 | + | let dl = dj._12.value | |
524 | + | let dm = dj._13.value | |
525 | + | let dn = dj._14.value | |
526 | + | let do = makeString(["startCurrentSysParamsREST", toString(x), toString(at), toString(bU), toString(dk), toString(bV), toString(bY), toString(bT), toString(bX), toString(bS), toString(bW), toString(as), toString(dl), toString(dm), toString(dn), "endCurrentSysParamsREST"], a) | |
527 | + | throw(do) | |
528 | + | } | |
529 | + | ||
530 | + |
github/deemru/w8io/169f3d6 39.98 ms ◑![]()