tx · EJjvdtxEqrmhmkCS3AX9cWmf6y1Sb5MKqCyQN7rMfvsW

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.11 20:46 [1566017] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "EJjvdtxEqrmhmkCS3AX9cWmf6y1Sb5MKqCyQN7rMfvsW", "fee": 1400000, "feeAssetId": null, "timestamp": 1623433643349, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "57fYiLAUFUsEEq65TeiRW4CFCZyYzRcyoRbxQM95zD6hnMBfUXaqhyeEDPa24LmZztz7J38wAPaD8zMoCZN94wNK" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAE0AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AgAAACVyZXdhcmRfdXBkYXRlX2hlaWdodF9maXJzdF9wYWdpbmF0aW9uAAAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wCAAAACF92b3RlX25vAAAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAG2tleUFtb3VudE9mVm90aW5nRm9yTmV3UG9vbAIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAIAAAAHX3N0YXR1cwAAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwNzI2NjIzAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjA3MjY2MjMAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjA3MjY2MjMAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjA3MjY2MjMAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24AAAAAAAAAAAABAAAAEGdldEN1clBvb2xXZWlnaHQAAAABAAAABHBvb2wJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAUAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAAAAAAAAAAAAAEAAAATZ2V0Vm90ZU9wdGlvbkFtb3VudAAAAAMAAAAEdXNlcgAAAAh2b3RlTmFtZQAAAAZvcHRpb24EAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQEAAAABHV2b2EEAAAAByRtYXRjaDAFAAAAFHVzZXJWb3RlT3B0aW9uQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABHV2b2EFAAAAByRtYXRjaDAFAAAABHV2b2EDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABHV2b2EFAAAAByRtYXRjaDAAAAAAAAAAAAAJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgUAAAAEdXZvYQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgkABCUAAAABBQAAAAR1c2VyBQAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAEAAAAPZ2V0Vm90ZUR1cmF0aW9uAAAAAQAAAAh2b3RlTmFtZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAAD2tleVZvdGVEdXJhdGlvbgkAASwAAAACCQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAAh2b3RlTmFtZQUAAAAPa2V5Vm90ZUR1cmF0aW9uAQAAABhnZXRUb3RhbFZvdGVPcHRpb25BbW91bnQAAAACAAAACHZvdGVOYW1lAAAABm9wdGlvbgQAAAAVdG90YWxWb3RlT3B0aW9uQW1vdW50CQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uBQAAABhrZXlUb3RhbFZvdGVPcHRpb25BbW91bnQEAAAABHR2b2EEAAAAByRtYXRjaDAFAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR0dm9hBQAAAAckbWF0Y2gwBQAAAAR0dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR0dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yBQAAAAR0dm9hAQAAABRnZXRVc2VyR2V0QmFja0Ftb3VudAAAAAQAAAAIdm90ZU5hbWUAAAAGb3B0aW9uAAAABHVzZXIAAAARZ2V0QmFja1NXT1BIZWlnaHQEAAAAA2tleQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUCAAAAAV8FAAAABm9wdGlvbgIAAAABXwkABCUAAAABBQAAAAR1c2VyAgAAAAFfCQABpAAAAAEFAAAAEWdldEJhY2tTV09QSGVpZ2h0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQABLAAAAAICAAAAFE5vIGRhdGEgb24gdGhlIGtleTogBQAAAANrZXkBAAAACWNsYWltQ2FsYwAAAAEAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAALJHQwODczMzg4MTMJAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgUAAAAGY2FsbGVyBQAAAAxsYXN0SW50ZXJlc3QEAAAAEHVzZXJMYXN0SW50ZXJlc3QIBQAAAAskdDA4NzMzODgxMwAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAAskdDA4NzMzODgxMwAAAAJfMgQAAAALY2xhaW1BbW91bnQJAABrAAAAAwUAAAAOdXNlclNXT1BMb2NrZWQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAAA91c2VyTmV3SW50ZXJlc3QFAAAAC2NsYWltQW1vdW50AAAACAAAAAFpAQAAAAdhaXJEcm9wAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwOTA3ODkxNTMJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA5MDc4OTE1MwAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDkwNzg5MTUzAAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUExvY2tlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwUAAAADbmlsAAAAAWkBAAAACGxvY2tTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwOTU5MTk2NjYJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA5NTkxOTY2NgAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDk1OTE5NjY2AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDk3ODI5ODY0CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwOTc4Mjk4NjQAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwOTc4Mjk4NjQAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADndpdGhkcmF3QW1vdW50CQAAAgAAAAECAAAAE3dpdGhkcmF3QW1vdW50IDw9IDAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADSR0MDExMDE0MTEwNjkJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDExMDE0MTEwNjkAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTEwMTQxMTA2OQAAAAJfMgQAAAANJHQwMTEwNzQxMTEzOQkBAAAAD2dldFVzZXJWb3RlSW5mbwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlclZvdGVBbW91bnQIBQAAAA0kdDAxMTA3NDExMTM5AAAAAl8xBAAAABB1c2VyVW52b3RlQW1vdW50CAUAAAANJHQwMTEwNzQxMTEzOQAAAAJfMgQAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIDAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAQdXNlclVudm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAOdXNlclZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkAAAIAAAABAgAAAEp1c2VyVW52b3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnRGb3JOZXdQb29sIDwgMAQAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAZQAAAAIFAAAADnVzZXJTV09QTG9ja2VkCQABlgAAAAEJAARMAAAAAgUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAETAAAAAIJAABkAAAAAgUAAAAOdXNlclZvdGVBbW91bnQFAAAAEHVzZXJVbnZvdGVBbW91bnQFAAAAA25pbAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAAIAAAABAgAAACN3aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZVRvVW5zdGFrZQQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BhbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAAUY2xhaW1BbmRXaXRoZHJhd1NXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTI1MTQxMjU2OQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTI1MTQxMjU2OQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMjUxNDEyNTY5AAAAAl8yBAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAABFjbGFpbUFuZFN0YWtlU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMzM0ODEzNDAzCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMzM0ODEzNDAzAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEzMzQ4MTM0MDMAAAACXzIEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAA11cGRhdGVXZWlnaHRzAAAABgAAAA1wcmV2aW91c1Bvb2xzAAAAD3ByZXZpb3VzUmV3YXJkcwAAAAxjdXJyZW50UG9vbHMAAAAOY3VycmVudFJld2FyZHMAAAAScmV3YXJkVXBkYXRlSGVpZ2h0AAAACnBhZ2luYXRpb24DCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAC2Ftb3VudFBvb2xzAAAAAAAAAAAKBAAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwMJAABmAAAAAgkAAZAAAAABBQAAAA1wcmV2aW91c1Bvb2xzBQAAAAthbW91bnRQb29scwYJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAC1yZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAHGhlaWdodCA+PSByZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABgwID49IHJld2FyZFVwZGF0ZUhlaWdodCAKAQAAAANzdW0AAAACAAAAAWEAAAABYgkAAGQAAAACBQAAAAFhBQAAAAFiCgEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sAwkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0AwkAAAAAAAACBQAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0BQAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAUAAAADbmlsBQAAAANuaWwKAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAxjdXJyZW50UG9vbHMFAAAABHBvb2wEAAAACnBvb2xSZXdhcmQJAAGRAAAAAgUAAAAOY3VycmVudFJld2FyZHMFAAAACXBvb2xJbmRleAMJAABmAAAAAgAAAAAAAAAAAAUAAAAKcG9vbFJld2FyZAkAAAIAAAABAgAAAA5Qb29sUmV3YXJkIDwgMAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50BQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAApwb29sSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uBQAAAApwb29sSGVpZ2h0BQAAAAthY2N1bXVsYXRlZAoBAAAADGdldFN1bVJld2FyZAAAAAMAAAALcHJldlRlbXBTdW0AAAAKY3VyVGVtcFN1bQAAAApwYWdpbmF0aW9uAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAAAAwMJAABmAAAAAgUAAAALcHJldlRlbXBTdW0FAAAADnRvdGFsVm90ZVNoYXJlBgkAAGYAAAACBQAAAApjdXJUZW1wU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABBQAAAAtwcmV2VGVtcFN1bQIAAAABIAkAAaQAAAABBQAAAApjdXJUZW1wU3VtCQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtBQAAAAtwcmV2VGVtcFN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAEEAAAAEnByZXZUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rZXlUZW1wUHJldlN1bQAAAAAAAAAAAAQAAAARY3VyVGVtcFN1bUZyb21LZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwMJAABmAAAAAgkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5BQAAAA50b3RhbFZvdGVTaGFyZQYJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASnN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlIC0gCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5AgAAAAEgCQABpAAAAAEJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkDCQEAAAACIT0AAAACBQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAARGN1cnJlbnQgcmV3YXJkVXBkYXRlSGVpZ2h0ICE9IHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIEAAAAB3ByZXZTdW0JAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rZXlUZW1wUHJldlN1bQAAAAAAAAAAAAUAAAALcHJldlRlbXBTdW0EAAAABmN1clN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAFAAAACmN1clRlbXBTdW0EAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMDCQEAAAACIT0AAAACBQAAAAdwcmV2U3VtBQAAAA50b3RhbFZvdGVTaGFyZQYJAQAAAAIhPQAAAAIFAAAABmN1clN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQIAAABJc3VtUmV3YXJkUHJldmlvdXMgIT0gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCAhPSB0b3RhbFZvdGVTaGFyZQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAABEY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUVAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0FAAAAB3ByZXZTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAGY3VyU3VtBQAAAANuaWwFAAAAA25pbAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcGFnaW5hdGlvbgQAAAAVc3VtUmV3YXJkUHJldmlvdXNUZW1wBAAAAA8kbGlzdDE4NzkyMTg4MjUFAAAAD3ByZXZpb3VzUmV3YXJkcwQAAAAPJHNpemUxODc5MjE4ODI1CQABkAAAAAEFAAAADyRsaXN0MTg3OTIxODgyNQQAAAAPJGFjYzAxODc5MjE4ODI1AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzkyMTg4MjUAAAAAAAAAAAAFAAAADyRhY2MwMTg3OTIxODgyNQQAAAAPJGFjYzExODc5MjE4ODI1CQEAAAADc3VtAAAAAgUAAAAPJGFjYzAxODc5MjE4ODI1CQABkQAAAAIFAAAADyRsaXN0MTg3OTIxODgyNQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxODc5MjE4ODI1AAAAAAAAAAABBQAAAA8kYWNjMTE4NzkyMTg4MjUEAAAADyRhY2MyMTg3OTIxODgyNQkBAAAAA3N1bQAAAAIFAAAADyRhY2MxMTg3OTIxODgyNQkAAZEAAAACBQAAAA8kbGlzdDE4NzkyMTg4MjUAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTg3OTIxODgyNQAAAAAAAAAAAgUAAAAPJGFjYzIxODc5MjE4ODI1BAAAAA8kYWNjMzE4NzkyMTg4MjUJAQAAAANzdW0AAAACBQAAAA8kYWNjMjE4NzkyMTg4MjUJAAGRAAAAAgUAAAAPJGxpc3QxODc5MjE4ODI1AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzkyMTg4MjUAAAAAAAAAAAMFAAAADyRhY2MzMTg3OTIxODgyNQQAAAAPJGFjYzQxODc5MjE4ODI1CQEAAAADc3VtAAAAAgUAAAAPJGFjYzMxODc5MjE4ODI1CQABkQAAAAIFAAAADyRsaXN0MTg3OTIxODgyNQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxODc5MjE4ODI1AAAAAAAAAAAEBQAAAA8kYWNjNDE4NzkyMTg4MjUEAAAADyRhY2M1MTg3OTIxODgyNQkBAAAAA3N1bQAAAAIFAAAADyRhY2M0MTg3OTIxODgyNQkAAZEAAAACBQAAAA8kbGlzdDE4NzkyMTg4MjUAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTg3OTIxODgyNQAAAAAAAAAABQUAAAAPJGFjYzUxODc5MjE4ODI1BAAAAA8kYWNjNjE4NzkyMTg4MjUJAQAAAANzdW0AAAACBQAAAA8kYWNjNTE4NzkyMTg4MjUJAAGRAAAAAgUAAAAPJGxpc3QxODc5MjE4ODI1AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzkyMTg4MjUAAAAAAAAAAAYFAAAADyRhY2M2MTg3OTIxODgyNQQAAAAPJGFjYzcxODc5MjE4ODI1CQEAAAADc3VtAAAAAgUAAAAPJGFjYzYxODc5MjE4ODI1CQABkQAAAAIFAAAADyRsaXN0MTg3OTIxODgyNQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxODc5MjE4ODI1AAAAAAAAAAAHBQAAAA8kYWNjNzE4NzkyMTg4MjUEAAAADyRhY2M4MTg3OTIxODgyNQkBAAAAA3N1bQAAAAIFAAAADyRhY2M3MTg3OTIxODgyNQkAAZEAAAACBQAAAA8kbGlzdDE4NzkyMTg4MjUAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTg3OTIxODgyNQAAAAAAAAAACAUAAAAPJGFjYzgxODc5MjE4ODI1BAAAAA8kYWNjOTE4NzkyMTg4MjUJAQAAAANzdW0AAAACBQAAAA8kYWNjODE4NzkyMTg4MjUJAAGRAAAAAgUAAAAPJGxpc3QxODc5MjE4ODI1AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzkyMTg4MjUAAAAAAAAAAAkFAAAADyRhY2M5MTg3OTIxODgyNQQAAAAQJGFjYzEwMTg3OTIxODgyNQkBAAAAA3N1bQAAAAIFAAAADyRhY2M5MTg3OTIxODgyNQkAAZEAAAACBQAAAA8kbGlzdDE4NzkyMTg4MjUAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTg3OTIxODgyNQAAAAAAAAAACgUAAAAQJGFjYzEwMTg3OTIxODgyNQQAAAAQJGFjYzExMTg3OTIxODgyNQkBAAAAA3N1bQAAAAIFAAAAECRhY2MxMDE4NzkyMTg4MjUJAAGRAAAAAgUAAAAPJGxpc3QxODc5MjE4ODI1AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAFHN1bVJld2FyZEN1cnJlbnRUZW1wBAAAAA8kbGlzdDE4ODU4MTg4OTAFAAAADmN1cnJlbnRSZXdhcmRzBAAAAA8kc2l6ZTE4ODU4MTg4OTAJAAGQAAAAAQUAAAAPJGxpc3QxODg1ODE4ODkwBAAAAA8kYWNjMDE4ODU4MTg4OTAAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTg4NTgxODg5MAAAAAAAAAAAAAUAAAAPJGFjYzAxODg1ODE4ODkwBAAAAA8kYWNjMTE4ODU4MTg4OTAJAQAAAANzdW0AAAACBQAAAA8kYWNjMDE4ODU4MTg4OTAJAAGRAAAAAgUAAAAPJGxpc3QxODg1ODE4ODkwAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODU4MTg4OTAAAAAAAAAAAAEFAAAADyRhY2MxMTg4NTgxODg5MAQAAAAPJGFjYzIxODg1ODE4ODkwCQEAAAADc3VtAAAAAgUAAAAPJGFjYzExODg1ODE4ODkwCQABkQAAAAIFAAAADyRsaXN0MTg4NTgxODg5MAAAAAAAAAAAAQMJAAAAAAAAAgUAAAAPJHNpemUxODg1ODE4ODkwAAAAAAAAAAACBQAAAA8kYWNjMjE4ODU4MTg4OTAEAAAADyRhY2MzMTg4NTgxODg5MAkBAAAAA3N1bQAAAAIFAAAADyRhY2MyMTg4NTgxODg5MAkAAZEAAAACBQAAAA8kbGlzdDE4ODU4MTg4OTAAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTg4NTgxODg5MAAAAAAAAAAAAwUAAAAPJGFjYzMxODg1ODE4ODkwBAAAAA8kYWNjNDE4ODU4MTg4OTAJAQAAAANzdW0AAAACBQAAAA8kYWNjMzE4ODU4MTg4OTAJAAGRAAAAAgUAAAAPJGxpc3QxODg1ODE4ODkwAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODU4MTg4OTAAAAAAAAAAAAQFAAAADyRhY2M0MTg4NTgxODg5MAQAAAAPJGFjYzUxODg1ODE4ODkwCQEAAAADc3VtAAAAAgUAAAAPJGFjYzQxODg1ODE4ODkwCQABkQAAAAIFAAAADyRsaXN0MTg4NTgxODg5MAAAAAAAAAAABAMJAAAAAAAAAgUAAAAPJHNpemUxODg1ODE4ODkwAAAAAAAAAAAFBQAAAA8kYWNjNTE4ODU4MTg4OTAEAAAADyRhY2M2MTg4NTgxODg5MAkBAAAAA3N1bQAAAAIFAAAADyRhY2M1MTg4NTgxODg5MAkAAZEAAAACBQAAAA8kbGlzdDE4ODU4MTg4OTAAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTg4NTgxODg5MAAAAAAAAAAABgUAAAAPJGFjYzYxODg1ODE4ODkwBAAAAA8kYWNjNzE4ODU4MTg4OTAJAQAAAANzdW0AAAACBQAAAA8kYWNjNjE4ODU4MTg4OTAJAAGRAAAAAgUAAAAPJGxpc3QxODg1ODE4ODkwAAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODU4MTg4OTAAAAAAAAAAAAcFAAAADyRhY2M3MTg4NTgxODg5MAQAAAAPJGFjYzgxODg1ODE4ODkwCQEAAAADc3VtAAAAAgUAAAAPJGFjYzcxODg1ODE4ODkwCQABkQAAAAIFAAAADyRsaXN0MTg4NTgxODg5MAAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxODg1ODE4ODkwAAAAAAAAAAAIBQAAAA8kYWNjODE4ODU4MTg4OTAEAAAADyRhY2M5MTg4NTgxODg5MAkBAAAAA3N1bQAAAAIFAAAADyRhY2M4MTg4NTgxODg5MAkAAZEAAAACBQAAAA8kbGlzdDE4ODU4MTg4OTAAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTg4NTgxODg5MAAAAAAAAAAACQUAAAAPJGFjYzkxODg1ODE4ODkwBAAAABAkYWNjMTAxODg1ODE4ODkwCQEAAAADc3VtAAAAAgUAAAAPJGFjYzkxODg1ODE4ODkwCQABkQAAAAIFAAAADyRsaXN0MTg4NTgxODg5MAAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxODg1ODE4ODkwAAAAAAAAAAAKBQAAABAkYWNjMTAxODg1ODE4ODkwBAAAABAkYWNjMTExODg1ODE4ODkwCQEAAAADc3VtAAAAAgUAAAAQJGFjYzEwMTg4NTgxODg5MAkAAZEAAAACBQAAAA8kbGlzdDE4ODU4MTg4OTAAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAANJHQwMTg4OTYxOTA0OQkBAAAADGdldFN1bVJld2FyZAAAAAMFAAAAFXN1bVJld2FyZFByZXZpb3VzVGVtcAUAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAFAAAACnBhZ2luYXRpb24EAAAAEXN1bVJld2FyZFByZXZpb3VzCAUAAAANJHQwMTg4OTYxOTA0OQAAAAJfMQQAAAAQc3VtUmV3YXJkQ3VycmVudAgFAAAADSR0MDE4ODk2MTkwNDkAAAACXzIEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CAUAAAANJHQwMTg4OTYxOTA0OQAAAAJfMwQAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAG3Jld2FyZFVwZGF0ZUhlaWdodCA8IGhlaWdodAQAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxOTM3ODE5NDMyBQAAAA1wcmV2aW91c1Bvb2xzBAAAAA8kc2l6ZTE5Mzc4MTk0MzIJAAGQAAAAAQUAAAAPJGxpc3QxOTM3ODE5NDMyBAAAAA8kYWNjMDE5Mzc4MTk0MzIFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxOTM3ODE5NDMyAAAAAAAAAAAABQAAAA8kYWNjMDE5Mzc4MTk0MzIEAAAADyRhY2MxMTkzNzgxOTQzMgkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMDE5Mzc4MTk0MzIJAAGRAAAAAgUAAAAPJGxpc3QxOTM3ODE5NDMyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5Mzc4MTk0MzIAAAAAAAAAAAEFAAAADyRhY2MxMTkzNzgxOTQzMgQAAAAPJGFjYzIxOTM3ODE5NDMyCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTkzNzgxOTQzMgkAAZEAAAACBQAAAA8kbGlzdDE5Mzc4MTk0MzIAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTkzNzgxOTQzMgAAAAAAAAAAAgUAAAAPJGFjYzIxOTM3ODE5NDMyBAAAAA8kYWNjMzE5Mzc4MTk0MzIJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxOTM3ODE5NDMyCQABkQAAAAIFAAAADyRsaXN0MTkzNzgxOTQzMgAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTM3ODE5NDMyAAAAAAAAAAADBQAAAA8kYWNjMzE5Mzc4MTk0MzIEAAAADyRhY2M0MTkzNzgxOTQzMgkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMzE5Mzc4MTk0MzIJAAGRAAAAAgUAAAAPJGxpc3QxOTM3ODE5NDMyAAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE5Mzc4MTk0MzIAAAAAAAAAAAQFAAAADyRhY2M0MTkzNzgxOTQzMgQAAAAPJGFjYzUxOTM3ODE5NDMyCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTkzNzgxOTQzMgkAAZEAAAACBQAAAA8kbGlzdDE5Mzc4MTk0MzIAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTkzNzgxOTQzMgAAAAAAAAAABQUAAAAPJGFjYzUxOTM3ODE5NDMyBAAAAA8kYWNjNjE5Mzc4MTk0MzIJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxOTM3ODE5NDMyCQABkQAAAAIFAAAADyRsaXN0MTkzNzgxOTQzMgAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTM3ODE5NDMyAAAAAAAAAAAGBQAAAA8kYWNjNjE5Mzc4MTk0MzIEAAAADyRhY2M3MTkzNzgxOTQzMgkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNjE5Mzc4MTk0MzIJAAGRAAAAAgUAAAAPJGxpc3QxOTM3ODE5NDMyAAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE5Mzc4MTk0MzIAAAAAAAAAAAcFAAAADyRhY2M3MTkzNzgxOTQzMgQAAAAPJGFjYzgxOTM3ODE5NDMyCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTkzNzgxOTQzMgkAAZEAAAACBQAAAA8kbGlzdDE5Mzc4MTk0MzIAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTkzNzgxOTQzMgAAAAAAAAAACAUAAAAPJGFjYzgxOTM3ODE5NDMyBAAAAA8kYWNjOTE5Mzc4MTk0MzIJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxOTM3ODE5NDMyCQABkQAAAAIFAAAADyRsaXN0MTkzNzgxOTQzMgAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTM3ODE5NDMyAAAAAAAAAAAJBQAAAA8kYWNjOTE5Mzc4MTk0MzIEAAAAECRhY2MxMDE5Mzc4MTk0MzIJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzkxOTM3ODE5NDMyCQABkQAAAAIFAAAADyRsaXN0MTkzNzgxOTQzMgAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxOTM3ODE5NDMyAAAAAAAAAAAKBQAAABAkYWNjMTAxOTM3ODE5NDMyBAAAABAkYWNjMTExOTM3ODE5NDMyCQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE5Mzc4MTk0MzIJAAGRAAAAAgUAAAAPJGxpc3QxOTM3ODE5NDMyAAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxOTQ2NTE5NTE3BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTk0NjUxOTUxNwkAAZAAAAABBQAAAA8kbGlzdDE5NDY1MTk1MTcEAAAADyRhY2MwMTk0NjUxOTUxNwUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDY1MTk1MTcAAAAAAAAAAAAFAAAADyRhY2MwMTk0NjUxOTUxNwQAAAAPJGFjYzExOTQ2NTE5NTE3CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxOTQ2NTE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0NjUxOTUxNwAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTQ2NTE5NTE3AAAAAAAAAAABBQAAAA8kYWNjMTE5NDY1MTk1MTcEAAAADyRhY2MyMTk0NjUxOTUxNwkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTk0NjUxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDY1MTk1MTcAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk0NjUxOTUxNwAAAAAAAAAAAgUAAAAPJGFjYzIxOTQ2NTE5NTE3BAAAAA8kYWNjMzE5NDY1MTk1MTcJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjE5NDY1MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ2NTE5NTE3AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDY1MTk1MTcAAAAAAAAAAAMFAAAADyRhY2MzMTk0NjUxOTUxNwQAAAAPJGFjYzQxOTQ2NTE5NTE3CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxOTQ2NTE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0NjUxOTUxNwAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTQ2NTE5NTE3AAAAAAAAAAAEBQAAAA8kYWNjNDE5NDY1MTk1MTcEAAAADyRhY2M1MTk0NjUxOTUxNwkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTk0NjUxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDY1MTk1MTcAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk0NjUxOTUxNwAAAAAAAAAABQUAAAAPJGFjYzUxOTQ2NTE5NTE3BAAAAA8kYWNjNjE5NDY1MTk1MTcJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTE5NDY1MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ2NTE5NTE3AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDY1MTk1MTcAAAAAAAAAAAYFAAAADyRhY2M2MTk0NjUxOTUxNwQAAAAPJGFjYzcxOTQ2NTE5NTE3CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxOTQ2NTE5NTE3CQABkQAAAAIFAAAADyRsaXN0MTk0NjUxOTUxNwAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTQ2NTE5NTE3AAAAAAAAAAAHBQAAAA8kYWNjNzE5NDY1MTk1MTcEAAAADyRhY2M4MTk0NjUxOTUxNwkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTk0NjUxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDY1MTk1MTcAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk0NjUxOTUxNwAAAAAAAAAACAUAAAAPJGFjYzgxOTQ2NTE5NTE3BAAAAA8kYWNjOTE5NDY1MTk1MTcJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODE5NDY1MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ2NTE5NTE3AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDY1MTk1MTcAAAAAAAAAAAkFAAAADyRhY2M5MTk0NjUxOTUxNwQAAAAQJGFjYzEwMTk0NjUxOTUxNwkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTk0NjUxOTUxNwkAAZEAAAACBQAAAA8kbGlzdDE5NDY1MTk1MTcAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTk0NjUxOTUxNwAAAAAAAAAACgUAAAAQJGFjYzEwMTk0NjUxOTUxNwQAAAAQJGFjYzExMTk0NjUxOTUxNwkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NDY1MTk1MTcJAAGRAAAAAgUAAAAPJGxpc3QxOTQ2NTE5NTE3AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAEWhlaWdodEVudHJ5TmV3Q3VyBAAAAA8kbGlzdDE5NTQ2MTk1OTEFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxOTU0NjE5NTkxCQABkAAAAAEFAAAADyRsaXN0MTk1NDYxOTU5MQQAAAAPJGFjYzAxOTU0NjE5NTkxBQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAAAAUAAAAPJGFjYzAxOTU0NjE5NTkxBAAAAA8kYWNjMTE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MwMTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAAAQUAAAAPJGFjYzExOTU0NjE5NTkxBAAAAA8kYWNjMjE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MxMTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAAAgUAAAAPJGFjYzIxOTU0NjE5NTkxBAAAAA8kYWNjMzE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MyMTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAAAwUAAAAPJGFjYzMxOTU0NjE5NTkxBAAAAA8kYWNjNDE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MzMTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAABAUAAAAPJGFjYzQxOTU0NjE5NTkxBAAAAA8kYWNjNTE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M0MTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAABQUAAAAPJGFjYzUxOTU0NjE5NTkxBAAAAA8kYWNjNjE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M1MTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAABgUAAAAPJGFjYzYxOTU0NjE5NTkxBAAAAA8kYWNjNzE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M2MTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAABwUAAAAPJGFjYzcxOTU0NjE5NTkxBAAAAA8kYWNjODE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M3MTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAACAUAAAAPJGFjYzgxOTU0NjE5NTkxBAAAAA8kYWNjOTE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M4MTk1NDYxOTU5MQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTEAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5MQAAAAAAAAAACQUAAAAPJGFjYzkxOTU0NjE5NTkxBAAAABAkYWNjMTAxOTU0NjE5NTkxCQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjOTE5NTQ2MTk1OTEJAAGRAAAAAgUAAAAPJGxpc3QxOTU0NjE5NTkxAAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTQ2MTk1OTEAAAAAAAAAAAoFAAAAECRhY2MxMDE5NTQ2MTk1OTEEAAAAECRhY2MxMTE5NTQ2MTk1OTEJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NTQ2MTk1OTEJAAGRAAAAAgUAAAAPJGxpc3QxOTU0NjE5NTkxAAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIFAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcFAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwUAAAARaGVpZ2h0RW50cnlOZXdDdXIFAAAAEXN1bVJld2FyZFByZXZpb3VzBQAAABBzdW1SZXdhcmRDdXJyZW50BQAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Q2F1c2UCAAAAGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQEAAAAHc3VzcGVuZAAAAAECAAAAD1BhdXNlZCBieSBhZG1pbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAADBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAACGtleUNhdXNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleSeFLIU=", "height": 1566017, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 32QzWNBiqy53yKfvr6w2QkMwgABWVxejMjJemc8iRoZ9 Next: FkophGCedkHkkdGExfyuaWfFJGGFqwdmAVmaJR72mQm8 Diff:
OldNewDifferences
389389 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
390390 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
391391 else if ((height >= rewardUpdateHeight))
392- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
392+ then throw("height >= rewardUpdateHeight")
393393 else if ((0 >= rewardUpdateHeight))
394394 then throw("0 >= rewardUpdateHeight ")
395395 else {
396396 func sum (a,b) = (a + b)
397397
398398 func changePreviousRewardEntry (accumulated,pool) = {
399- let poolCurRewar = getCurPoolWeight(pool)
400- let rewardUpdatePoolHeight = getPoolUpdateHeight(pool)
401- if ((rewardUpdateHeight != rewardUpdatePoolHeight))
402- then if ((rewardUpdatePoolHeight == totalRewardUpdateHeight))
399+ let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
400+ if ((rewardUpdateHeight != poolRewardUpdateHeight))
401+ then if ((poolRewardUpdateHeight == totalRewardUpdateHeight))
403402 then {
404403 let poolReward = getCurPoolWeight(pool)
405404 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
456455 else throw("Incorrect pagination")
457456
458457 let sumRewardPreviousTemp = {
459- let $list1885918892 = previousRewards
460- let $size1885918892 = size($list1885918892)
461- let $acc01885918892 = 0
462- if (($size1885918892 == 0))
463- then $acc01885918892
458+ let $list1879218825 = previousRewards
459+ let $size1879218825 = size($list1879218825)
460+ let $acc01879218825 = 0
461+ if (($size1879218825 == 0))
462+ then $acc01879218825
464463 else {
465- let $acc11885918892 = sum($acc01885918892, $list1885918892[0])
466- if (($size1885918892 == 1))
467- then $acc11885918892
464+ let $acc11879218825 = sum($acc01879218825, $list1879218825[0])
465+ if (($size1879218825 == 1))
466+ then $acc11879218825
468467 else {
469- let $acc21885918892 = sum($acc11885918892, $list1885918892[1])
470- if (($size1885918892 == 2))
471- then $acc21885918892
468+ let $acc21879218825 = sum($acc11879218825, $list1879218825[1])
469+ if (($size1879218825 == 2))
470+ then $acc21879218825
472471 else {
473- let $acc31885918892 = sum($acc21885918892, $list1885918892[2])
474- if (($size1885918892 == 3))
475- then $acc31885918892
472+ let $acc31879218825 = sum($acc21879218825, $list1879218825[2])
473+ if (($size1879218825 == 3))
474+ then $acc31879218825
476475 else {
477- let $acc41885918892 = sum($acc31885918892, $list1885918892[3])
478- if (($size1885918892 == 4))
479- then $acc41885918892
476+ let $acc41879218825 = sum($acc31879218825, $list1879218825[3])
477+ if (($size1879218825 == 4))
478+ then $acc41879218825
480479 else {
481- let $acc51885918892 = sum($acc41885918892, $list1885918892[4])
482- if (($size1885918892 == 5))
483- then $acc51885918892
480+ let $acc51879218825 = sum($acc41879218825, $list1879218825[4])
481+ if (($size1879218825 == 5))
482+ then $acc51879218825
484483 else {
485- let $acc61885918892 = sum($acc51885918892, $list1885918892[5])
486- if (($size1885918892 == 6))
487- then $acc61885918892
484+ let $acc61879218825 = sum($acc51879218825, $list1879218825[5])
485+ if (($size1879218825 == 6))
486+ then $acc61879218825
488487 else {
489- let $acc71885918892 = sum($acc61885918892, $list1885918892[6])
490- if (($size1885918892 == 7))
491- then $acc71885918892
488+ let $acc71879218825 = sum($acc61879218825, $list1879218825[6])
489+ if (($size1879218825 == 7))
490+ then $acc71879218825
492491 else {
493- let $acc81885918892 = sum($acc71885918892, $list1885918892[7])
494- if (($size1885918892 == 8))
495- then $acc81885918892
492+ let $acc81879218825 = sum($acc71879218825, $list1879218825[7])
493+ if (($size1879218825 == 8))
494+ then $acc81879218825
496495 else {
497- let $acc91885918892 = sum($acc81885918892, $list1885918892[8])
498- if (($size1885918892 == 9))
499- then $acc91885918892
496+ let $acc91879218825 = sum($acc81879218825, $list1879218825[8])
497+ if (($size1879218825 == 9))
498+ then $acc91879218825
500499 else {
501- let $acc101885918892 = sum($acc91885918892, $list1885918892[9])
502- if (($size1885918892 == 10))
503- then $acc101885918892
500+ let $acc101879218825 = sum($acc91879218825, $list1879218825[9])
501+ if (($size1879218825 == 10))
502+ then $acc101879218825
504503 else {
505- let $acc111885918892 = sum($acc101885918892, $list1885918892[10])
504+ let $acc111879218825 = sum($acc101879218825, $list1879218825[10])
506505 throw("List size exceed 10")
507506 }
508507 }
517516 }
518517 }
519518 let sumRewardCurrentTemp = {
520- let $list1892518957 = currentRewards
521- let $size1892518957 = size($list1892518957)
522- let $acc01892518957 = 0
523- if (($size1892518957 == 0))
524- then $acc01892518957
519+ let $list1885818890 = currentRewards
520+ let $size1885818890 = size($list1885818890)
521+ let $acc01885818890 = 0
522+ if (($size1885818890 == 0))
523+ then $acc01885818890
525524 else {
526- let $acc11892518957 = sum($acc01892518957, $list1892518957[0])
527- if (($size1892518957 == 1))
528- then $acc11892518957
525+ let $acc11885818890 = sum($acc01885818890, $list1885818890[0])
526+ if (($size1885818890 == 1))
527+ then $acc11885818890
529528 else {
530- let $acc21892518957 = sum($acc11892518957, $list1892518957[1])
531- if (($size1892518957 == 2))
532- then $acc21892518957
529+ let $acc21885818890 = sum($acc11885818890, $list1885818890[1])
530+ if (($size1885818890 == 2))
531+ then $acc21885818890
533532 else {
534- let $acc31892518957 = sum($acc21892518957, $list1892518957[2])
535- if (($size1892518957 == 3))
536- then $acc31892518957
533+ let $acc31885818890 = sum($acc21885818890, $list1885818890[2])
534+ if (($size1885818890 == 3))
535+ then $acc31885818890
537536 else {
538- let $acc41892518957 = sum($acc31892518957, $list1892518957[3])
539- if (($size1892518957 == 4))
540- then $acc41892518957
537+ let $acc41885818890 = sum($acc31885818890, $list1885818890[3])
538+ if (($size1885818890 == 4))
539+ then $acc41885818890
541540 else {
542- let $acc51892518957 = sum($acc41892518957, $list1892518957[4])
543- if (($size1892518957 == 5))
544- then $acc51892518957
541+ let $acc51885818890 = sum($acc41885818890, $list1885818890[4])
542+ if (($size1885818890 == 5))
543+ then $acc51885818890
545544 else {
546- let $acc61892518957 = sum($acc51892518957, $list1892518957[5])
547- if (($size1892518957 == 6))
548- then $acc61892518957
545+ let $acc61885818890 = sum($acc51885818890, $list1885818890[5])
546+ if (($size1885818890 == 6))
547+ then $acc61885818890
549548 else {
550- let $acc71892518957 = sum($acc61892518957, $list1892518957[6])
551- if (($size1892518957 == 7))
552- then $acc71892518957
549+ let $acc71885818890 = sum($acc61885818890, $list1885818890[6])
550+ if (($size1885818890 == 7))
551+ then $acc71885818890
553552 else {
554- let $acc81892518957 = sum($acc71892518957, $list1892518957[7])
555- if (($size1892518957 == 8))
556- then $acc81892518957
553+ let $acc81885818890 = sum($acc71885818890, $list1885818890[7])
554+ if (($size1885818890 == 8))
555+ then $acc81885818890
557556 else {
558- let $acc91892518957 = sum($acc81892518957, $list1892518957[8])
559- if (($size1892518957 == 9))
560- then $acc91892518957
557+ let $acc91885818890 = sum($acc81885818890, $list1885818890[8])
558+ if (($size1885818890 == 9))
559+ then $acc91885818890
561560 else {
562- let $acc101892518957 = sum($acc91892518957, $list1892518957[9])
563- if (($size1892518957 == 10))
564- then $acc101892518957
561+ let $acc101885818890 = sum($acc91885818890, $list1885818890[9])
562+ if (($size1885818890 == 10))
563+ then $acc101885818890
565564 else {
566- let $acc111892518957 = sum($acc101892518957, $list1892518957[10])
565+ let $acc111885818890 = sum($acc101885818890, $list1885818890[10])
567566 throw("List size exceed 10")
568567 }
569568 }
577576 }
578577 }
579578 }
580- let $t01896319116 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
581- let sumRewardPrevious = $t01896319116._1
582- let sumRewardCurrent = $t01896319116._2
583- let rewardUpdateHeightFirstPaginationEntry = $t01896319116._3
579+ let $t01889619049 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
580+ let sumRewardPrevious = $t01889619049._1
581+ let sumRewardCurrent = $t01889619049._2
582+ let rewardUpdateHeightFirstPaginationEntry = $t01889619049._3
584583 let rewardUpdateHeightEntry = if ((pagination == 2))
585584 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
586585 else [IntegerEntry(keyRewardUpdateHeight, getIntegerValue(this, keyRewardUpdateHeight))]
588587 then throw("rewardUpdateHeight < height")
589588 else {
590589 let previousRewardEntryNew = {
591- let $list1944519499 = previousPools
592- let $size1944519499 = size($list1944519499)
593- let $acc01944519499 = nil
594- if (($size1944519499 == 0))
595- then $acc01944519499
590+ let $list1937819432 = previousPools
591+ let $size1937819432 = size($list1937819432)
592+ let $acc01937819432 = nil
593+ if (($size1937819432 == 0))
594+ then $acc01937819432
596595 else {
597- let $acc11944519499 = changePreviousRewardEntry($acc01944519499, $list1944519499[0])
598- if (($size1944519499 == 1))
599- then $acc11944519499
596+ let $acc11937819432 = changePreviousRewardEntry($acc01937819432, $list1937819432[0])
597+ if (($size1937819432 == 1))
598+ then $acc11937819432
600599 else {
601- let $acc21944519499 = changePreviousRewardEntry($acc11944519499, $list1944519499[1])
602- if (($size1944519499 == 2))
603- then $acc21944519499
600+ let $acc21937819432 = changePreviousRewardEntry($acc11937819432, $list1937819432[1])
601+ if (($size1937819432 == 2))
602+ then $acc21937819432
604603 else {
605- let $acc31944519499 = changePreviousRewardEntry($acc21944519499, $list1944519499[2])
606- if (($size1944519499 == 3))
607- then $acc31944519499
604+ let $acc31937819432 = changePreviousRewardEntry($acc21937819432, $list1937819432[2])
605+ if (($size1937819432 == 3))
606+ then $acc31937819432
608607 else {
609- let $acc41944519499 = changePreviousRewardEntry($acc31944519499, $list1944519499[3])
610- if (($size1944519499 == 4))
611- then $acc41944519499
608+ let $acc41937819432 = changePreviousRewardEntry($acc31937819432, $list1937819432[3])
609+ if (($size1937819432 == 4))
610+ then $acc41937819432
612611 else {
613- let $acc51944519499 = changePreviousRewardEntry($acc41944519499, $list1944519499[4])
614- if (($size1944519499 == 5))
615- then $acc51944519499
612+ let $acc51937819432 = changePreviousRewardEntry($acc41937819432, $list1937819432[4])
613+ if (($size1937819432 == 5))
614+ then $acc51937819432
616615 else {
617- let $acc61944519499 = changePreviousRewardEntry($acc51944519499, $list1944519499[5])
618- if (($size1944519499 == 6))
619- then $acc61944519499
616+ let $acc61937819432 = changePreviousRewardEntry($acc51937819432, $list1937819432[5])
617+ if (($size1937819432 == 6))
618+ then $acc61937819432
620619 else {
621- let $acc71944519499 = changePreviousRewardEntry($acc61944519499, $list1944519499[6])
622- if (($size1944519499 == 7))
623- then $acc71944519499
620+ let $acc71937819432 = changePreviousRewardEntry($acc61937819432, $list1937819432[6])
621+ if (($size1937819432 == 7))
622+ then $acc71937819432
624623 else {
625- let $acc81944519499 = changePreviousRewardEntry($acc71944519499, $list1944519499[7])
626- if (($size1944519499 == 8))
627- then $acc81944519499
624+ let $acc81937819432 = changePreviousRewardEntry($acc71937819432, $list1937819432[7])
625+ if (($size1937819432 == 8))
626+ then $acc81937819432
628627 else {
629- let $acc91944519499 = changePreviousRewardEntry($acc81944519499, $list1944519499[8])
630- if (($size1944519499 == 9))
631- then $acc91944519499
628+ let $acc91937819432 = changePreviousRewardEntry($acc81937819432, $list1937819432[8])
629+ if (($size1937819432 == 9))
630+ then $acc91937819432
632631 else {
633- let $acc101944519499 = changePreviousRewardEntry($acc91944519499, $list1944519499[9])
634- if (($size1944519499 == 10))
635- then $acc101944519499
632+ let $acc101937819432 = changePreviousRewardEntry($acc91937819432, $list1937819432[9])
633+ if (($size1937819432 == 10))
634+ then $acc101937819432
636635 else {
637- let $acc111944519499 = changePreviousRewardEntry($acc101944519499, $list1944519499[10])
636+ let $acc111937819432 = changePreviousRewardEntry($acc101937819432, $list1937819432[10])
638637 throw("List size exceed 10")
639638 }
640639 }
649648 }
650649 }
651650 let currentRewardEntryNew = {
652- let $list1953219584 = currentPools
653- let $size1953219584 = size($list1953219584)
654- let $acc01953219584 = nil
655- if (($size1953219584 == 0))
656- then $acc01953219584
651+ let $list1946519517 = currentPools
652+ let $size1946519517 = size($list1946519517)
653+ let $acc01946519517 = nil
654+ if (($size1946519517 == 0))
655+ then $acc01946519517
657656 else {
658- let $acc11953219584 = changeCurrentRewardEntry($acc01953219584, $list1953219584[0])
659- if (($size1953219584 == 1))
660- then $acc11953219584
657+ let $acc11946519517 = changeCurrentRewardEntry($acc01946519517, $list1946519517[0])
658+ if (($size1946519517 == 1))
659+ then $acc11946519517
661660 else {
662- let $acc21953219584 = changeCurrentRewardEntry($acc11953219584, $list1953219584[1])
663- if (($size1953219584 == 2))
664- then $acc21953219584
661+ let $acc21946519517 = changeCurrentRewardEntry($acc11946519517, $list1946519517[1])
662+ if (($size1946519517 == 2))
663+ then $acc21946519517
665664 else {
666- let $acc31953219584 = changeCurrentRewardEntry($acc21953219584, $list1953219584[2])
667- if (($size1953219584 == 3))
668- then $acc31953219584
665+ let $acc31946519517 = changeCurrentRewardEntry($acc21946519517, $list1946519517[2])
666+ if (($size1946519517 == 3))
667+ then $acc31946519517
669668 else {
670- let $acc41953219584 = changeCurrentRewardEntry($acc31953219584, $list1953219584[3])
671- if (($size1953219584 == 4))
672- then $acc41953219584
669+ let $acc41946519517 = changeCurrentRewardEntry($acc31946519517, $list1946519517[3])
670+ if (($size1946519517 == 4))
671+ then $acc41946519517
673672 else {
674- let $acc51953219584 = changeCurrentRewardEntry($acc41953219584, $list1953219584[4])
675- if (($size1953219584 == 5))
676- then $acc51953219584
673+ let $acc51946519517 = changeCurrentRewardEntry($acc41946519517, $list1946519517[4])
674+ if (($size1946519517 == 5))
675+ then $acc51946519517
677676 else {
678- let $acc61953219584 = changeCurrentRewardEntry($acc51953219584, $list1953219584[5])
679- if (($size1953219584 == 6))
680- then $acc61953219584
677+ let $acc61946519517 = changeCurrentRewardEntry($acc51946519517, $list1946519517[5])
678+ if (($size1946519517 == 6))
679+ then $acc61946519517
681680 else {
682- let $acc71953219584 = changeCurrentRewardEntry($acc61953219584, $list1953219584[6])
683- if (($size1953219584 == 7))
684- then $acc71953219584
681+ let $acc71946519517 = changeCurrentRewardEntry($acc61946519517, $list1946519517[6])
682+ if (($size1946519517 == 7))
683+ then $acc71946519517
685684 else {
686- let $acc81953219584 = changeCurrentRewardEntry($acc71953219584, $list1953219584[7])
687- if (($size1953219584 == 8))
688- then $acc81953219584
685+ let $acc81946519517 = changeCurrentRewardEntry($acc71946519517, $list1946519517[7])
686+ if (($size1946519517 == 8))
687+ then $acc81946519517
689688 else {
690- let $acc91953219584 = changeCurrentRewardEntry($acc81953219584, $list1953219584[8])
691- if (($size1953219584 == 9))
692- then $acc91953219584
689+ let $acc91946519517 = changeCurrentRewardEntry($acc81946519517, $list1946519517[8])
690+ if (($size1946519517 == 9))
691+ then $acc91946519517
693692 else {
694- let $acc101953219584 = changeCurrentRewardEntry($acc91953219584, $list1953219584[9])
695- if (($size1953219584 == 10))
696- then $acc101953219584
693+ let $acc101946519517 = changeCurrentRewardEntry($acc91946519517, $list1946519517[9])
694+ if (($size1946519517 == 10))
695+ then $acc101946519517
697696 else {
698- let $acc111953219584 = changeCurrentRewardEntry($acc101953219584, $list1953219584[10])
697+ let $acc111946519517 = changeCurrentRewardEntry($acc101946519517, $list1946519517[10])
699698 throw("List size exceed 10")
700699 }
701700 }
710709 }
711710 }
712711 let heightEntryNewCur = {
713- let $list1961319658 = currentPools
714- let $size1961319658 = size($list1961319658)
715- let $acc01961319658 = nil
716- if (($size1961319658 == 0))
717- then $acc01961319658
712+ let $list1954619591 = currentPools
713+ let $size1954619591 = size($list1954619591)
714+ let $acc01954619591 = nil
715+ if (($size1954619591 == 0))
716+ then $acc01954619591
718717 else {
719- let $acc11961319658 = changeHeightEntry($acc01961319658, $list1961319658[0])
720- if (($size1961319658 == 1))
721- then $acc11961319658
718+ let $acc11954619591 = changeHeightEntry($acc01954619591, $list1954619591[0])
719+ if (($size1954619591 == 1))
720+ then $acc11954619591
722721 else {
723- let $acc21961319658 = changeHeightEntry($acc11961319658, $list1961319658[1])
724- if (($size1961319658 == 2))
725- then $acc21961319658
722+ let $acc21954619591 = changeHeightEntry($acc11954619591, $list1954619591[1])
723+ if (($size1954619591 == 2))
724+ then $acc21954619591
726725 else {
727- let $acc31961319658 = changeHeightEntry($acc21961319658, $list1961319658[2])
728- if (($size1961319658 == 3))
729- then $acc31961319658
726+ let $acc31954619591 = changeHeightEntry($acc21954619591, $list1954619591[2])
727+ if (($size1954619591 == 3))
728+ then $acc31954619591
730729 else {
731- let $acc41961319658 = changeHeightEntry($acc31961319658, $list1961319658[3])
732- if (($size1961319658 == 4))
733- then $acc41961319658
730+ let $acc41954619591 = changeHeightEntry($acc31954619591, $list1954619591[3])
731+ if (($size1954619591 == 4))
732+ then $acc41954619591
734733 else {
735- let $acc51961319658 = changeHeightEntry($acc41961319658, $list1961319658[4])
736- if (($size1961319658 == 5))
737- then $acc51961319658
734+ let $acc51954619591 = changeHeightEntry($acc41954619591, $list1954619591[4])
735+ if (($size1954619591 == 5))
736+ then $acc51954619591
738737 else {
739- let $acc61961319658 = changeHeightEntry($acc51961319658, $list1961319658[5])
740- if (($size1961319658 == 6))
741- then $acc61961319658
738+ let $acc61954619591 = changeHeightEntry($acc51954619591, $list1954619591[5])
739+ if (($size1954619591 == 6))
740+ then $acc61954619591
742741 else {
743- let $acc71961319658 = changeHeightEntry($acc61961319658, $list1961319658[6])
744- if (($size1961319658 == 7))
745- then $acc71961319658
742+ let $acc71954619591 = changeHeightEntry($acc61954619591, $list1954619591[6])
743+ if (($size1954619591 == 7))
744+ then $acc71954619591
746745 else {
747- let $acc81961319658 = changeHeightEntry($acc71961319658, $list1961319658[7])
748- if (($size1961319658 == 8))
749- then $acc81961319658
746+ let $acc81954619591 = changeHeightEntry($acc71954619591, $list1954619591[7])
747+ if (($size1954619591 == 8))
748+ then $acc81954619591
750749 else {
751- let $acc91961319658 = changeHeightEntry($acc81961319658, $list1961319658[8])
752- if (($size1961319658 == 9))
753- then $acc91961319658
750+ let $acc91954619591 = changeHeightEntry($acc81954619591, $list1954619591[8])
751+ if (($size1954619591 == 9))
752+ then $acc91954619591
754753 else {
755- let $acc101961319658 = changeHeightEntry($acc91961319658, $list1961319658[9])
756- if (($size1961319658 == 10))
757- then $acc101961319658
754+ let $acc101954619591 = changeHeightEntry($acc91954619591, $list1954619591[9])
755+ if (($size1954619591 == 10))
756+ then $acc101954619591
758757 else {
759- let $acc111961319658 = changeHeightEntry($acc101961319658, $list1961319658[10])
758+ let $acc111954619591 = changeHeightEntry($acc101954619591, $list1954619591[10])
760759 throw("List size exceed 10")
761760 }
762761 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let keyActive = "active"
1515
1616 let keyCause = "shutdown_cause"
1717
1818 let keyLastInterest = "last_interest"
1919
2020 let keyUserLastInterest = "_last_interest"
2121
2222 let keyUserSWOPLocked = "_SWOP_amount"
2323
2424 let keyUserGetBackHeight = "_getBackHeight"
2525
2626 let keyTotalSWOPLocked = "total_SWOP_amount"
2727
2828 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2929
3030 let keyUserVoteOptionAmount = "_SWOP_option_amount"
3131
3232 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
3333
3434 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
3535
3636 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3737
3838 let keyVoteName = "vote_name"
3939
4040 let keyOptionName = "_option_name"
4141
4242 let keyVotingStartHeight = "_startHeight"
4343
4444 let keyVoteDuration = "_vote_duration"
4545
4646 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4747
4848 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4949
5050 let keyHeightPoolFraction = "_pool_reward_update_height"
5151
5252 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
5353
5454 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
5555
5656 let keyRewardUpdateHeight = "reward_update_height"
5757
5858 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5959
6060 let keyNoVotingForNewPool = "_vote_no"
6161
6262 let keyYesVotingForNewPool = "_vote_yes"
6363
6464 let keyAmountOfVotingForNewPool = "max_amount_voting"
6565
6666 let keyStatusOfVotingForNewPool = "_status"
6767
6868 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6969
7070 let activeVoteFirst = "voting_active_cell_1"
7171
7272 let activeVoteSecond = "voting_active_cell_2"
7373
7474 let activeVoteThird = "voting_active_cell_3"
7575
7676 let keyTempPrevSum = "sum_reward_previous"
7777
7878 let keyTempCurSum = "sum_reward_current"
7979
8080 let isActive = valueOrElse(getBoolean(this, keyActive), true)
8181
8282 let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
8484 let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
8686 let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let keySWOPid = "SWOP_id"
8989
9090 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
9191
9292 let scaleValue = 100000000
9393
9494 let totalVoteShare = 10000000000
9595
9696 let kStartHeight = "start_height"
9797
9898 let kBasePeriod = "base_period"
9999
100100 let kPeriodLength = "period_length"
101101
102102 let kUserTotalStruc = "_user_total_struc"
103103
104104 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
105105
106106 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
107107
108108 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
109109
110110 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
111111
112112 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
113113
114114 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
115115
116116 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
117117
118118 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
119119
120120
121121 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
122122
123123
124124 func getLastInterestInfo () = {
125125 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
126126 lastInterest
127127 }
128128
129129
130130 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
131131
132132
133133 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
134134
135135
136136 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
137137
138138
139139 func getUserInterestInfo (user,lastInterest) = {
140140 let userSWOPAmount = getUserSWOPLocked(user)
141141 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
142142 let userLastInterestValue = match userLastInterest {
143143 case userLastInterest: Int =>
144144 userLastInterest
145145 case _ =>
146146 lastInterest
147147 }
148148 $Tuple2(userLastInterestValue, userSWOPAmount)
149149 }
150150
151151
152152 func getUserTotalVoteAmountForOnePool (pool,user) = {
153153 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
154154 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
155155 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
156156 let currentHeight = height
157157 if ((0 > voting))
158158 then 0
159159 else if (!(statusOfVoting))
160160 then 0
161161 else if ((heightOfVoting > currentHeight))
162162 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
163163 else 0
164164 }
165165
166166
167167 func getUserTotalVoteForNewPoolAmount (user) = {
168168 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
169169 max(listOfVoting)
170170 }
171171
172172
173173 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
174174
175175
176176 func getUserVoteInfo (user) = {
177177 let $t060726623 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
178178 then {
179179 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
180180 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
181181 }
182182 else {
183183 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
184184 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
185185 }
186186 let userTotalVoteSWOP = $t060726623._1
187187 let userUnvoted = $t060726623._2
188188 let userUnvotedPeriod = $t060726623._3
189189 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
190190 then userUnvoted
191191 else 0
192192 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
193193 }
194194
195195
196196 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
197197
198198
199199 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
200200
201201
202202 func getPoolUpdateHeight (pool) = valueOrElse(getIntegerValue(this, (pool + keyHeightPoolFraction)), 0)
203203
204204
205205 func getCurPoolWeight (pool) = valueOrElse(getIntegerValue(this, (pool + keyRewardPoolFractionCurrent)), 0)
206206
207207
208208 func getVoteOptionAmount (user,voteName,option) = {
209209 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
210210 let uvoa = match userVoteOptionAmount {
211211 case uvoa: Int =>
212212 uvoa
213213 case uvoa: Unit =>
214214 0
215215 case _ =>
216216 throw("Match error")
217217 }
218218 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
219219 }
220220
221221
222222 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
223223
224224
225225 func getTotalVoteOptionAmount (voteName,option) = {
226226 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
227227 let tvoa = match totalVoteOptionAmount {
228228 case tvoa: Int =>
229229 tvoa
230230 case tvoa: Unit =>
231231 0
232232 case _ =>
233233 throw("Match error")
234234 }
235235 tvoa
236236 }
237237
238238
239239 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
240240 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
241241 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
242242 }
243243
244244
245245 func claimCalc (caller) = {
246246 let lastInterest = getLastInterestInfo()
247247 let $t087338813 = getUserInterestInfo(caller, lastInterest)
248248 let userLastInterest = $t087338813._1
249249 let userSWOPLocked = $t087338813._2
250250 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
251251 let userNewInterest = lastInterest
252252 $Tuple2(userNewInterest, claimAmount)
253253 }
254254
255255
256256 @Callable(i)
257257 func airDrop () = if (!(isActive))
258258 then throw("DApp is inactive at this moment")
259259 else {
260260 let $t090789153 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
261261 let pmtAmount = $t090789153._1
262262 let pmtAssetId = $t090789153._2
263263 if ((pmtAssetId != SWOP))
264264 then throw("Incorrect pmtAssetId")
265265 else {
266266 let totalSWOPLocked = getTotalSWOPLocked()
267267 let lastInterest = getLastInterestInfo()
268268 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
269269 [IntegerEntry(keyLastInterest, interestNew)]
270270 }
271271 }
272272
273273
274274
275275 @Callable(i)
276276 func lockSWOP () = if (!(isActive))
277277 then throw("DApp is inactive at this moment")
278278 else {
279279 let $t095919666 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
280280 let pmtAmount = $t095919666._1
281281 let pmtAssetId = $t095919666._2
282282 if ((pmtAssetId != SWOP))
283283 then throw("Incorrect pmtAssetId")
284284 else {
285285 let lastInterest = getLastInterestInfo()
286286 let $t097829864 = getUserInterestInfo(i.caller, lastInterest)
287287 let userLastInterest = $t097829864._1
288288 let userSWOPLocked = $t097829864._2
289289 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
290290 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
291291 let userNewInterest = lastInterest
292292 let totalSWOPLocked = getTotalSWOPLocked()
293293 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
294294 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
295295 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
296296 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
297297 }
298298 }
299299
300300
301301
302302 @Callable(i)
303303 func withdrawSWOP (withdrawAmount) = if (!(isActive))
304304 then throw("DApp is inactive at this moment")
305305 else if ((0 >= withdrawAmount))
306306 then throw("withdrawAmount <= 0")
307307 else {
308308 let totalSWOPLocked = getTotalSWOPLocked()
309309 let userSWOPLocked = getUserSWOPLocked(i.caller)
310310 let $t01101411069 = claimCalc(i.caller)
311311 let userNewInterest = $t01101411069._1
312312 let claimAmount = $t01101411069._2
313313 let $t01107411139 = getUserVoteInfo(i.caller)
314314 let userVoteAmount = $t01107411139._1
315315 let userUnvoteAmount = $t01107411139._2
316316 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
317317 if (if (if ((0 > userUnvoteAmount))
318318 then true
319319 else (0 > userVoteAmount))
320320 then true
321321 else (0 > userVoteAmountForNewPool))
322322 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
323323 else {
324324 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
325325 if ((withdrawAmount > availableToUnstake))
326326 then throw("withdrawAmount > availableToUnstake")
327327 else {
328328 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
329329 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
330330 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
331331 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
332332 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPamountNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
333333 }
334334 }
335335 }
336336
337337
338338
339339 @Callable(i)
340340 func claimAndWithdrawSWOP () = if (!(isActive))
341341 then throw("DApp is inactive at this moment")
342342 else {
343343 let lastInterest = getLastInterestInfo()
344344 let $t01251412569 = claimCalc(i.caller)
345345 let userNewInterest = $t01251412569._1
346346 let claimAmount = $t01251412569._2
347347 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
348348 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
349349 if ((claimAmount == 0))
350350 then throw("You have 0 available SWOP")
351351 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
352352 }
353353
354354
355355
356356 @Callable(i)
357357 func claimAndStakeSWOP () = if (!(isActive))
358358 then throw("DApp is inactive at this moment")
359359 else {
360360 let totalSWOPLocked = getTotalSWOPLocked()
361361 let userSWOPLocked = getUserSWOPLocked(i.caller)
362362 let lastInterest = getLastInterestInfo()
363363 let $t01334813403 = claimCalc(i.caller)
364364 let userNewInterest = $t01334813403._1
365365 let claimAmount = $t01334813403._2
366366 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
367367 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
368368 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
369369 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
370370 if ((claimAmount == 0))
371371 then throw("You have 0 available SWOP")
372372 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
373373 }
374374
375375
376376
377377 @Callable(i)
378378 func updateWeights (previousPools,previousRewards,currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
379379 then throw("DApp is inactive at this moment")
380380 else {
381381 let amountPools = 10
382382 let totalRewardUpdateHeight = valueOrElse(getIntegerValue(this, keyRewardUpdateHeight), 0)
383383 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
384384 then throw("Only admin can call this function")
385385 else if (if ((size(previousPools) > amountPools))
386386 then true
387387 else (size(currentPools) > amountPools))
388388 then throw(("Max amount of pool is " + toString(amountPools)))
389389 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
390390 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
391391 else if ((height >= rewardUpdateHeight))
392- then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
392+ then throw("height >= rewardUpdateHeight")
393393 else if ((0 >= rewardUpdateHeight))
394394 then throw("0 >= rewardUpdateHeight ")
395395 else {
396396 func sum (a,b) = (a + b)
397397
398398 func changePreviousRewardEntry (accumulated,pool) = {
399- let poolCurRewar = getCurPoolWeight(pool)
400- let rewardUpdatePoolHeight = getPoolUpdateHeight(pool)
401- if ((rewardUpdateHeight != rewardUpdatePoolHeight))
402- then if ((rewardUpdatePoolHeight == totalRewardUpdateHeight))
399+ let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
400+ if ((rewardUpdateHeight != poolRewardUpdateHeight))
401+ then if ((poolRewardUpdateHeight == totalRewardUpdateHeight))
403402 then {
404403 let poolReward = getCurPoolWeight(pool)
405404 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
406405 }
407406 else nil
408407 else nil
409408 }
410409
411410 func changeCurrentRewardEntry (accumulated,pool) = {
412411 let poolIndex = value(indexOf(currentPools, pool))
413412 let poolReward = currentRewards[poolIndex]
414413 if ((0 > poolReward))
415414 then throw("PoolReward < 0")
416415 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
417416 }
418417
419418 func changeHeightEntry (accumulated,pool) = {
420419 let poolHeight = rewardUpdateHeight
421420 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
422421 }
423422
424423 func getSumReward (prevTempSum,curTempSum,pagination) = if ((pagination == 0))
425424 then if (if ((prevTempSum > totalVoteShare))
426425 then true
427426 else (curTempSum > totalVoteShare))
428427 then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
429428 else $Tuple3([IntegerEntry(keyTempPrevSum, prevTempSum)], [IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
430429 else if ((pagination == 1))
431430 then {
432431 let prevTempSumFromKey = valueOrElse(getInteger(this, keyTempPrevSum), 0)
433432 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
434433 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
435434 if (if (((prevTempSum + prevTempSumFromKey) > totalVoteShare))
436435 then true
437436 else ((curTempSum + curTempSumFromKey) > totalVoteShare))
438437 then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
439438 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
440439 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
441440 else $Tuple3([IntegerEntry(keyTempPrevSum, (prevTempSum + prevTempSumFromKey))], [IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
442441 }
443442 else if ((pagination == 2))
444443 then {
445444 let prevSum = (valueOrElse(getInteger(this, keyTempPrevSum), 0) + prevTempSum)
446445 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
447446 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
448447 if (if ((prevSum != totalVoteShare))
449448 then true
450449 else (curSum != totalVoteShare))
451450 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
452451 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
453452 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
454453 else $Tuple3([IntegerEntry(keyTempPrevSum, prevSum)], [IntegerEntry(keyTempCurSum, curSum)], nil)
455454 }
456455 else throw("Incorrect pagination")
457456
458457 let sumRewardPreviousTemp = {
459- let $list1885918892 = previousRewards
460- let $size1885918892 = size($list1885918892)
461- let $acc01885918892 = 0
462- if (($size1885918892 == 0))
463- then $acc01885918892
458+ let $list1879218825 = previousRewards
459+ let $size1879218825 = size($list1879218825)
460+ let $acc01879218825 = 0
461+ if (($size1879218825 == 0))
462+ then $acc01879218825
464463 else {
465- let $acc11885918892 = sum($acc01885918892, $list1885918892[0])
466- if (($size1885918892 == 1))
467- then $acc11885918892
464+ let $acc11879218825 = sum($acc01879218825, $list1879218825[0])
465+ if (($size1879218825 == 1))
466+ then $acc11879218825
468467 else {
469- let $acc21885918892 = sum($acc11885918892, $list1885918892[1])
470- if (($size1885918892 == 2))
471- then $acc21885918892
468+ let $acc21879218825 = sum($acc11879218825, $list1879218825[1])
469+ if (($size1879218825 == 2))
470+ then $acc21879218825
472471 else {
473- let $acc31885918892 = sum($acc21885918892, $list1885918892[2])
474- if (($size1885918892 == 3))
475- then $acc31885918892
472+ let $acc31879218825 = sum($acc21879218825, $list1879218825[2])
473+ if (($size1879218825 == 3))
474+ then $acc31879218825
476475 else {
477- let $acc41885918892 = sum($acc31885918892, $list1885918892[3])
478- if (($size1885918892 == 4))
479- then $acc41885918892
476+ let $acc41879218825 = sum($acc31879218825, $list1879218825[3])
477+ if (($size1879218825 == 4))
478+ then $acc41879218825
480479 else {
481- let $acc51885918892 = sum($acc41885918892, $list1885918892[4])
482- if (($size1885918892 == 5))
483- then $acc51885918892
480+ let $acc51879218825 = sum($acc41879218825, $list1879218825[4])
481+ if (($size1879218825 == 5))
482+ then $acc51879218825
484483 else {
485- let $acc61885918892 = sum($acc51885918892, $list1885918892[5])
486- if (($size1885918892 == 6))
487- then $acc61885918892
484+ let $acc61879218825 = sum($acc51879218825, $list1879218825[5])
485+ if (($size1879218825 == 6))
486+ then $acc61879218825
488487 else {
489- let $acc71885918892 = sum($acc61885918892, $list1885918892[6])
490- if (($size1885918892 == 7))
491- then $acc71885918892
488+ let $acc71879218825 = sum($acc61879218825, $list1879218825[6])
489+ if (($size1879218825 == 7))
490+ then $acc71879218825
492491 else {
493- let $acc81885918892 = sum($acc71885918892, $list1885918892[7])
494- if (($size1885918892 == 8))
495- then $acc81885918892
492+ let $acc81879218825 = sum($acc71879218825, $list1879218825[7])
493+ if (($size1879218825 == 8))
494+ then $acc81879218825
496495 else {
497- let $acc91885918892 = sum($acc81885918892, $list1885918892[8])
498- if (($size1885918892 == 9))
499- then $acc91885918892
496+ let $acc91879218825 = sum($acc81879218825, $list1879218825[8])
497+ if (($size1879218825 == 9))
498+ then $acc91879218825
500499 else {
501- let $acc101885918892 = sum($acc91885918892, $list1885918892[9])
502- if (($size1885918892 == 10))
503- then $acc101885918892
500+ let $acc101879218825 = sum($acc91879218825, $list1879218825[9])
501+ if (($size1879218825 == 10))
502+ then $acc101879218825
504503 else {
505- let $acc111885918892 = sum($acc101885918892, $list1885918892[10])
504+ let $acc111879218825 = sum($acc101879218825, $list1879218825[10])
506505 throw("List size exceed 10")
507506 }
508507 }
509508 }
510509 }
511510 }
512511 }
513512 }
514513 }
515514 }
516515 }
517516 }
518517 }
519518 let sumRewardCurrentTemp = {
520- let $list1892518957 = currentRewards
521- let $size1892518957 = size($list1892518957)
522- let $acc01892518957 = 0
523- if (($size1892518957 == 0))
524- then $acc01892518957
519+ let $list1885818890 = currentRewards
520+ let $size1885818890 = size($list1885818890)
521+ let $acc01885818890 = 0
522+ if (($size1885818890 == 0))
523+ then $acc01885818890
525524 else {
526- let $acc11892518957 = sum($acc01892518957, $list1892518957[0])
527- if (($size1892518957 == 1))
528- then $acc11892518957
525+ let $acc11885818890 = sum($acc01885818890, $list1885818890[0])
526+ if (($size1885818890 == 1))
527+ then $acc11885818890
529528 else {
530- let $acc21892518957 = sum($acc11892518957, $list1892518957[1])
531- if (($size1892518957 == 2))
532- then $acc21892518957
529+ let $acc21885818890 = sum($acc11885818890, $list1885818890[1])
530+ if (($size1885818890 == 2))
531+ then $acc21885818890
533532 else {
534- let $acc31892518957 = sum($acc21892518957, $list1892518957[2])
535- if (($size1892518957 == 3))
536- then $acc31892518957
533+ let $acc31885818890 = sum($acc21885818890, $list1885818890[2])
534+ if (($size1885818890 == 3))
535+ then $acc31885818890
537536 else {
538- let $acc41892518957 = sum($acc31892518957, $list1892518957[3])
539- if (($size1892518957 == 4))
540- then $acc41892518957
537+ let $acc41885818890 = sum($acc31885818890, $list1885818890[3])
538+ if (($size1885818890 == 4))
539+ then $acc41885818890
541540 else {
542- let $acc51892518957 = sum($acc41892518957, $list1892518957[4])
543- if (($size1892518957 == 5))
544- then $acc51892518957
541+ let $acc51885818890 = sum($acc41885818890, $list1885818890[4])
542+ if (($size1885818890 == 5))
543+ then $acc51885818890
545544 else {
546- let $acc61892518957 = sum($acc51892518957, $list1892518957[5])
547- if (($size1892518957 == 6))
548- then $acc61892518957
545+ let $acc61885818890 = sum($acc51885818890, $list1885818890[5])
546+ if (($size1885818890 == 6))
547+ then $acc61885818890
549548 else {
550- let $acc71892518957 = sum($acc61892518957, $list1892518957[6])
551- if (($size1892518957 == 7))
552- then $acc71892518957
549+ let $acc71885818890 = sum($acc61885818890, $list1885818890[6])
550+ if (($size1885818890 == 7))
551+ then $acc71885818890
553552 else {
554- let $acc81892518957 = sum($acc71892518957, $list1892518957[7])
555- if (($size1892518957 == 8))
556- then $acc81892518957
553+ let $acc81885818890 = sum($acc71885818890, $list1885818890[7])
554+ if (($size1885818890 == 8))
555+ then $acc81885818890
557556 else {
558- let $acc91892518957 = sum($acc81892518957, $list1892518957[8])
559- if (($size1892518957 == 9))
560- then $acc91892518957
557+ let $acc91885818890 = sum($acc81885818890, $list1885818890[8])
558+ if (($size1885818890 == 9))
559+ then $acc91885818890
561560 else {
562- let $acc101892518957 = sum($acc91892518957, $list1892518957[9])
563- if (($size1892518957 == 10))
564- then $acc101892518957
561+ let $acc101885818890 = sum($acc91885818890, $list1885818890[9])
562+ if (($size1885818890 == 10))
563+ then $acc101885818890
565564 else {
566- let $acc111892518957 = sum($acc101892518957, $list1892518957[10])
565+ let $acc111885818890 = sum($acc101885818890, $list1885818890[10])
567566 throw("List size exceed 10")
568567 }
569568 }
570569 }
571570 }
572571 }
573572 }
574573 }
575574 }
576575 }
577576 }
578577 }
579578 }
580- let $t01896319116 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
581- let sumRewardPrevious = $t01896319116._1
582- let sumRewardCurrent = $t01896319116._2
583- let rewardUpdateHeightFirstPaginationEntry = $t01896319116._3
579+ let $t01889619049 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
580+ let sumRewardPrevious = $t01889619049._1
581+ let sumRewardCurrent = $t01889619049._2
582+ let rewardUpdateHeightFirstPaginationEntry = $t01889619049._3
584583 let rewardUpdateHeightEntry = if ((pagination == 2))
585584 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
586585 else [IntegerEntry(keyRewardUpdateHeight, getIntegerValue(this, keyRewardUpdateHeight))]
587586 if ((height > rewardUpdateHeight))
588587 then throw("rewardUpdateHeight < height")
589588 else {
590589 let previousRewardEntryNew = {
591- let $list1944519499 = previousPools
592- let $size1944519499 = size($list1944519499)
593- let $acc01944519499 = nil
594- if (($size1944519499 == 0))
595- then $acc01944519499
590+ let $list1937819432 = previousPools
591+ let $size1937819432 = size($list1937819432)
592+ let $acc01937819432 = nil
593+ if (($size1937819432 == 0))
594+ then $acc01937819432
596595 else {
597- let $acc11944519499 = changePreviousRewardEntry($acc01944519499, $list1944519499[0])
598- if (($size1944519499 == 1))
599- then $acc11944519499
596+ let $acc11937819432 = changePreviousRewardEntry($acc01937819432, $list1937819432[0])
597+ if (($size1937819432 == 1))
598+ then $acc11937819432
600599 else {
601- let $acc21944519499 = changePreviousRewardEntry($acc11944519499, $list1944519499[1])
602- if (($size1944519499 == 2))
603- then $acc21944519499
600+ let $acc21937819432 = changePreviousRewardEntry($acc11937819432, $list1937819432[1])
601+ if (($size1937819432 == 2))
602+ then $acc21937819432
604603 else {
605- let $acc31944519499 = changePreviousRewardEntry($acc21944519499, $list1944519499[2])
606- if (($size1944519499 == 3))
607- then $acc31944519499
604+ let $acc31937819432 = changePreviousRewardEntry($acc21937819432, $list1937819432[2])
605+ if (($size1937819432 == 3))
606+ then $acc31937819432
608607 else {
609- let $acc41944519499 = changePreviousRewardEntry($acc31944519499, $list1944519499[3])
610- if (($size1944519499 == 4))
611- then $acc41944519499
608+ let $acc41937819432 = changePreviousRewardEntry($acc31937819432, $list1937819432[3])
609+ if (($size1937819432 == 4))
610+ then $acc41937819432
612611 else {
613- let $acc51944519499 = changePreviousRewardEntry($acc41944519499, $list1944519499[4])
614- if (($size1944519499 == 5))
615- then $acc51944519499
612+ let $acc51937819432 = changePreviousRewardEntry($acc41937819432, $list1937819432[4])
613+ if (($size1937819432 == 5))
614+ then $acc51937819432
616615 else {
617- let $acc61944519499 = changePreviousRewardEntry($acc51944519499, $list1944519499[5])
618- if (($size1944519499 == 6))
619- then $acc61944519499
616+ let $acc61937819432 = changePreviousRewardEntry($acc51937819432, $list1937819432[5])
617+ if (($size1937819432 == 6))
618+ then $acc61937819432
620619 else {
621- let $acc71944519499 = changePreviousRewardEntry($acc61944519499, $list1944519499[6])
622- if (($size1944519499 == 7))
623- then $acc71944519499
620+ let $acc71937819432 = changePreviousRewardEntry($acc61937819432, $list1937819432[6])
621+ if (($size1937819432 == 7))
622+ then $acc71937819432
624623 else {
625- let $acc81944519499 = changePreviousRewardEntry($acc71944519499, $list1944519499[7])
626- if (($size1944519499 == 8))
627- then $acc81944519499
624+ let $acc81937819432 = changePreviousRewardEntry($acc71937819432, $list1937819432[7])
625+ if (($size1937819432 == 8))
626+ then $acc81937819432
628627 else {
629- let $acc91944519499 = changePreviousRewardEntry($acc81944519499, $list1944519499[8])
630- if (($size1944519499 == 9))
631- then $acc91944519499
628+ let $acc91937819432 = changePreviousRewardEntry($acc81937819432, $list1937819432[8])
629+ if (($size1937819432 == 9))
630+ then $acc91937819432
632631 else {
633- let $acc101944519499 = changePreviousRewardEntry($acc91944519499, $list1944519499[9])
634- if (($size1944519499 == 10))
635- then $acc101944519499
632+ let $acc101937819432 = changePreviousRewardEntry($acc91937819432, $list1937819432[9])
633+ if (($size1937819432 == 10))
634+ then $acc101937819432
636635 else {
637- let $acc111944519499 = changePreviousRewardEntry($acc101944519499, $list1944519499[10])
636+ let $acc111937819432 = changePreviousRewardEntry($acc101937819432, $list1937819432[10])
638637 throw("List size exceed 10")
639638 }
640639 }
641640 }
642641 }
643642 }
644643 }
645644 }
646645 }
647646 }
648647 }
649648 }
650649 }
651650 let currentRewardEntryNew = {
652- let $list1953219584 = currentPools
653- let $size1953219584 = size($list1953219584)
654- let $acc01953219584 = nil
655- if (($size1953219584 == 0))
656- then $acc01953219584
651+ let $list1946519517 = currentPools
652+ let $size1946519517 = size($list1946519517)
653+ let $acc01946519517 = nil
654+ if (($size1946519517 == 0))
655+ then $acc01946519517
657656 else {
658- let $acc11953219584 = changeCurrentRewardEntry($acc01953219584, $list1953219584[0])
659- if (($size1953219584 == 1))
660- then $acc11953219584
657+ let $acc11946519517 = changeCurrentRewardEntry($acc01946519517, $list1946519517[0])
658+ if (($size1946519517 == 1))
659+ then $acc11946519517
661660 else {
662- let $acc21953219584 = changeCurrentRewardEntry($acc11953219584, $list1953219584[1])
663- if (($size1953219584 == 2))
664- then $acc21953219584
661+ let $acc21946519517 = changeCurrentRewardEntry($acc11946519517, $list1946519517[1])
662+ if (($size1946519517 == 2))
663+ then $acc21946519517
665664 else {
666- let $acc31953219584 = changeCurrentRewardEntry($acc21953219584, $list1953219584[2])
667- if (($size1953219584 == 3))
668- then $acc31953219584
665+ let $acc31946519517 = changeCurrentRewardEntry($acc21946519517, $list1946519517[2])
666+ if (($size1946519517 == 3))
667+ then $acc31946519517
669668 else {
670- let $acc41953219584 = changeCurrentRewardEntry($acc31953219584, $list1953219584[3])
671- if (($size1953219584 == 4))
672- then $acc41953219584
669+ let $acc41946519517 = changeCurrentRewardEntry($acc31946519517, $list1946519517[3])
670+ if (($size1946519517 == 4))
671+ then $acc41946519517
673672 else {
674- let $acc51953219584 = changeCurrentRewardEntry($acc41953219584, $list1953219584[4])
675- if (($size1953219584 == 5))
676- then $acc51953219584
673+ let $acc51946519517 = changeCurrentRewardEntry($acc41946519517, $list1946519517[4])
674+ if (($size1946519517 == 5))
675+ then $acc51946519517
677676 else {
678- let $acc61953219584 = changeCurrentRewardEntry($acc51953219584, $list1953219584[5])
679- if (($size1953219584 == 6))
680- then $acc61953219584
677+ let $acc61946519517 = changeCurrentRewardEntry($acc51946519517, $list1946519517[5])
678+ if (($size1946519517 == 6))
679+ then $acc61946519517
681680 else {
682- let $acc71953219584 = changeCurrentRewardEntry($acc61953219584, $list1953219584[6])
683- if (($size1953219584 == 7))
684- then $acc71953219584
681+ let $acc71946519517 = changeCurrentRewardEntry($acc61946519517, $list1946519517[6])
682+ if (($size1946519517 == 7))
683+ then $acc71946519517
685684 else {
686- let $acc81953219584 = changeCurrentRewardEntry($acc71953219584, $list1953219584[7])
687- if (($size1953219584 == 8))
688- then $acc81953219584
685+ let $acc81946519517 = changeCurrentRewardEntry($acc71946519517, $list1946519517[7])
686+ if (($size1946519517 == 8))
687+ then $acc81946519517
689688 else {
690- let $acc91953219584 = changeCurrentRewardEntry($acc81953219584, $list1953219584[8])
691- if (($size1953219584 == 9))
692- then $acc91953219584
689+ let $acc91946519517 = changeCurrentRewardEntry($acc81946519517, $list1946519517[8])
690+ if (($size1946519517 == 9))
691+ then $acc91946519517
693692 else {
694- let $acc101953219584 = changeCurrentRewardEntry($acc91953219584, $list1953219584[9])
695- if (($size1953219584 == 10))
696- then $acc101953219584
693+ let $acc101946519517 = changeCurrentRewardEntry($acc91946519517, $list1946519517[9])
694+ if (($size1946519517 == 10))
695+ then $acc101946519517
697696 else {
698- let $acc111953219584 = changeCurrentRewardEntry($acc101953219584, $list1953219584[10])
697+ let $acc111946519517 = changeCurrentRewardEntry($acc101946519517, $list1946519517[10])
699698 throw("List size exceed 10")
700699 }
701700 }
702701 }
703702 }
704703 }
705704 }
706705 }
707706 }
708707 }
709708 }
710709 }
711710 }
712711 let heightEntryNewCur = {
713- let $list1961319658 = currentPools
714- let $size1961319658 = size($list1961319658)
715- let $acc01961319658 = nil
716- if (($size1961319658 == 0))
717- then $acc01961319658
712+ let $list1954619591 = currentPools
713+ let $size1954619591 = size($list1954619591)
714+ let $acc01954619591 = nil
715+ if (($size1954619591 == 0))
716+ then $acc01954619591
718717 else {
719- let $acc11961319658 = changeHeightEntry($acc01961319658, $list1961319658[0])
720- if (($size1961319658 == 1))
721- then $acc11961319658
718+ let $acc11954619591 = changeHeightEntry($acc01954619591, $list1954619591[0])
719+ if (($size1954619591 == 1))
720+ then $acc11954619591
722721 else {
723- let $acc21961319658 = changeHeightEntry($acc11961319658, $list1961319658[1])
724- if (($size1961319658 == 2))
725- then $acc21961319658
722+ let $acc21954619591 = changeHeightEntry($acc11954619591, $list1954619591[1])
723+ if (($size1954619591 == 2))
724+ then $acc21954619591
726725 else {
727- let $acc31961319658 = changeHeightEntry($acc21961319658, $list1961319658[2])
728- if (($size1961319658 == 3))
729- then $acc31961319658
726+ let $acc31954619591 = changeHeightEntry($acc21954619591, $list1954619591[2])
727+ if (($size1954619591 == 3))
728+ then $acc31954619591
730729 else {
731- let $acc41961319658 = changeHeightEntry($acc31961319658, $list1961319658[3])
732- if (($size1961319658 == 4))
733- then $acc41961319658
730+ let $acc41954619591 = changeHeightEntry($acc31954619591, $list1954619591[3])
731+ if (($size1954619591 == 4))
732+ then $acc41954619591
734733 else {
735- let $acc51961319658 = changeHeightEntry($acc41961319658, $list1961319658[4])
736- if (($size1961319658 == 5))
737- then $acc51961319658
734+ let $acc51954619591 = changeHeightEntry($acc41954619591, $list1954619591[4])
735+ if (($size1954619591 == 5))
736+ then $acc51954619591
738737 else {
739- let $acc61961319658 = changeHeightEntry($acc51961319658, $list1961319658[5])
740- if (($size1961319658 == 6))
741- then $acc61961319658
738+ let $acc61954619591 = changeHeightEntry($acc51954619591, $list1954619591[5])
739+ if (($size1954619591 == 6))
740+ then $acc61954619591
742741 else {
743- let $acc71961319658 = changeHeightEntry($acc61961319658, $list1961319658[6])
744- if (($size1961319658 == 7))
745- then $acc71961319658
742+ let $acc71954619591 = changeHeightEntry($acc61954619591, $list1954619591[6])
743+ if (($size1954619591 == 7))
744+ then $acc71954619591
746745 else {
747- let $acc81961319658 = changeHeightEntry($acc71961319658, $list1961319658[7])
748- if (($size1961319658 == 8))
749- then $acc81961319658
746+ let $acc81954619591 = changeHeightEntry($acc71954619591, $list1954619591[7])
747+ if (($size1954619591 == 8))
748+ then $acc81954619591
750749 else {
751- let $acc91961319658 = changeHeightEntry($acc81961319658, $list1961319658[8])
752- if (($size1961319658 == 9))
753- then $acc91961319658
750+ let $acc91954619591 = changeHeightEntry($acc81954619591, $list1954619591[8])
751+ if (($size1954619591 == 9))
752+ then $acc91954619591
754753 else {
755- let $acc101961319658 = changeHeightEntry($acc91961319658, $list1961319658[9])
756- if (($size1961319658 == 10))
757- then $acc101961319658
754+ let $acc101954619591 = changeHeightEntry($acc91954619591, $list1954619591[9])
755+ if (($size1954619591 == 10))
756+ then $acc101954619591
758757 else {
759- let $acc111961319658 = changeHeightEntry($acc101961319658, $list1961319658[10])
758+ let $acc111954619591 = changeHeightEntry($acc101954619591, $list1954619591[10])
760759 throw("List size exceed 10")
761760 }
762761 }
763762 }
764763 }
765764 }
766765 }
767766 }
768767 }
769768 }
770769 }
771770 }
772771 }
773772 ((((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardPrevious) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
774773 }
775774 }
776775 }
777776
778777
779778
780779 @Callable(i)
781780 func shutdown () = if (!(isActive))
782781 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
783782 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
784783 then throw("Only admin can call this function")
785784 else suspend("Paused by admin")
786785
787786
788787
789788 @Callable(i)
790789 func activate () = if (isActive)
791790 then throw("DApp is already active")
792791 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
793792 then throw("Only admin can call this function")
794793 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
795794
796795
797796 @Verifier(tx)
798797 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
799798

github/deemru/w8io/169f3d6 
633.73 ms