tx · AxwEvyqYAnaZmxSRKq7vhVrnVb9XfJUfcfa9vp32KPCQ

3MuZB9BNYmcm3LJqZPzk2GfuYriGRXLEiNs:  -0.04100000 Waves

2022.06.22 21:19 [2107961] smart account 3MuZB9BNYmcm3LJqZPzk2GfuYriGRXLEiNs > SELF 0.00000000 Waves

{ "type": 13, "id": "AxwEvyqYAnaZmxSRKq7vhVrnVb9XfJUfcfa9vp32KPCQ", "fee": 4100000, "feeAssetId": null, "timestamp": 1655921957693, "version": 2, "chainId": 84, "sender": "3MuZB9BNYmcm3LJqZPzk2GfuYriGRXLEiNs", "senderPublicKey": "5yWiPiHdauDQE5EJ7yHoMLRK1Gu9W4mgytu9qu7cTgej", "proofs": [ "32P9aPeEEhwzghafMwhhPdeMRMobgXvN5mtjVB5caujxdh19EFrA8U1kYXyaLhX5bLVEucw9yU8x4xxEtbWbaT38" ], "script": "base64:AAIFAAAAAAAAAEUIAhIAEgASCQoHAQEBAQEBARIOCgwBAQEBAQEBCAgIAQESBgoEAQEBARIFCgMBAQESABIDCgEBEgASAwoBCBIAEgMKAQgAAABoAAAAAAlrX29yYV9rZXkCAAAACWtfb3JhX2tleQAAAAAFa19vcmECAAAABWtfb3JhAAAAAAlrX2JhbGFuY2UCAAAACWtfYmFsYW5jZQAAAAAOa19wb3NpdGlvblNpemUCAAAADmtfcG9zaXRpb25TaXplAAAAABBrX3Bvc2l0aW9uTWFyZ2luAgAAABBrX3Bvc2l0aW9uTWFyZ2luAAAAABZrX3Bvc2l0aW9uT3Blbk5vdGlvbmFsAgAAABZrX3Bvc2l0aW9uT3Blbk5vdGlvbmFsAAAAAC5rX3Bvc2l0aW9uTGFzdFVwZGF0ZWRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAgAAABJrX3Bvc2l0aW9uRnJhY3Rpb24AAAAADWtfaW5pdGlhbGl6ZWQCAAAADWtfaW5pdGlhbGl6ZWQAAAAACGtfcGF1c2VkAgAAAAhrX3BhdXNlZAAAAAAFa19mZWUCAAAABWtfZmVlAAAAAA9rX2Z1bmRpbmdQZXJpb2QCAAAAD2tfZnVuZGluZ1BlcmlvZAAAAAARa19pbml0TWFyZ2luUmF0aW8CAAAAEWtfaW5pdE1hcmdpblJhdGlvAAAAABhrX21haW50ZW5hbmNlTWFyZ2luUmF0aW8CAAAABWtfbW1yAAAAABVrX2xpcXVpZGF0aW9uRmVlUmF0aW8CAAAAFWtfbGlxdWlkYXRpb25GZWVSYXRpbwAAAAANa19zcHJlYWRMaW1pdAIAAAANa19zcHJlYWRMaW1pdAAAAAAQa19tYXhQcmljZUltcGFjdAIAAAAQa19tYXhQcmljZUltcGFjdAAAAAANa19sYXN0RGF0YVN0cgIAAAANa19sYXN0RGF0YVN0cgAAAAAOa19sYXN0TWludXRlSWQCAAAADmtfbGFzdE1pbnV0ZUlkAAAAAB1rX3R3YXBEYXRhTGFzdEN1bXVsYXRpdmVQcmljZQIAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UAAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UCAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UAAAAABmtfdHdhcAIAAAAGa190d2FwAAAAACFrX2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24CAAAAF2tfbGF0ZXN0UHJlbWl1bUZyYWN0aW9uAAAAABJrX25leHRGdW5kaW5nQmxvY2sCAAAAHmtfbmV4dEZ1bmRpbmdCbG9ja01pblRpbWVzdGFtcAAAAAANa19mdW5kaW5nUmF0ZQIAAAANa19mdW5kaW5nUmF0ZQAAAAATa19xdW90ZUFzc2V0UmVzZXJ2ZQIAAAAIa19xdEFzdFIAAAAAEmtfYmFzZUFzc2V0UmVzZXJ2ZQIAAAAIa19ic0FzdFIAAAAAEWtfYmFzZUFzc3RGbmREZWx0AgAAABBrX2Jhc2VBc3NldERlbHRhAAAAABNrX3RvdGFsUG9zaXRpb25TaXplAgAAABNrX3RvdGFsUG9zaXRpb25TaXplAAAAABRrX2N1bXVsYXRpdmVOb3Rpb25hbAIAAAAUa19jdW11bGF0aXZlTm90aW9uYWwAAAAAF2tfb3BlbkludGVyZXNldE5vdGlvbmFsAgAAABdrX29wZW5JbnRlcmVzZXROb3Rpb25hbAAAAAAUa19jb29yZGluYXRvckFkZHJlc3MCAAAAFGtfY29vcmRpbmF0b3JBZGRyZXNzAAAAABNrX2luc3VyYW5jZV9hZGRyZXNzAgAAABNrX2luc3VyYW5jZV9hZGRyZXNzAAAAAA9rX2FkbWluX2FkZHJlc3MCAAAAD2tfYWRtaW5fYWRkcmVzcwAAAAASa19hZG1pbl9wdWJsaWNfa2V5AgAAABJrX2FkbWluX3B1YmxpY19rZXkAAAAADWtfcXVvdGVfYXNzZXQCAAAADWtfcXVvdGVfYXNzZXQAAAAAD2tfcXVvdGVfc3Rha2luZwIAAAAPa19xdW90ZV9zdGFraW5nAAAAABFrX3N0YWtpbmdfYWRkcmVzcwIAAAARa19zdGFraW5nX2FkZHJlc3MBAAAAC2Nvb3JkaW5hdG9yAAAAAAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAFGtfY29vcmRpbmF0b3JBZGRyZXNzAgAAABNDb29yZGluYXRvciBub3Qgc2V0AQAAAAxhZG1pbkFkZHJlc3MAAAAACQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAAD2tfYWRtaW5fYWRkcmVzcwEAAAAOYWRtaW5QdWJsaWNLZXkAAAAACQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAAEmtfYWRtaW5fcHVibGljX2tleQEAAAAKcXVvdGVBc3NldAAAAAAJAAJZAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAC2Nvb3JkaW5hdG9yAAAAAAUAAAANa19xdW90ZV9hc3NldAEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAACQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAC2Nvb3JkaW5hdG9yAAAAAAUAAAAPa19xdW90ZV9zdGFraW5nAgAAABxRdW90ZSBhc3NldGUgc3Rha2luZyBub3Qgc2V0AQAAAA5zdGFraW5nQWRkcmVzcwAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAALY29vcmRpbmF0b3IAAAAABQAAABFrX3N0YWtpbmdfYWRkcmVzcwIAAAARSW5zdXJhbmNlIG5vdCBzZXQBAAAAEGluc3VyYW5jZUFkZHJlc3MAAAAACQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAC2Nvb3JkaW5hdG9yAAAAAAUAAAATa19pbnN1cmFuY2VfYWRkcmVzcwIAAAARSW5zdXJhbmNlIG5vdCBzZXQAAAAACERJUl9MT05HAAAAAAAAAAABAAAAAAlESVJfU0hPUlQAAAAAAAAAAAIAAAAAFkZVTkRJTkdfQkxPQ0tfSU5URVJWQUwAAAAAAAAAADwAAAAADVRXQVBfSU5URVJWQUwAAAAAAAAAAA8AAAAAB1NFQ09ORFMAAAAAAAAAA+gAAAAADERFQ0lNQUxfVU5JVAkAAGgAAAACAAAAAAAAAAABCQAAaAAAAAIJAABoAAAAAgkAAGgAAAACCQAAaAAAAAIJAABoAAAAAgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAHT05FX0RBWQkAAGgAAAACAAAAAAAAAVGABQAAAAxERUNJTUFMX1VOSVQAAAAACEFMTF9GRUVTAAAAAAAAAABkAAAAAA9QTkxfT1BUSU9OX1NQT1QAAAAAAAAAAAEAAAAAEVBOTF9PUFRJT05fT1JBQ0xFAAAAAAAAAAACAQAAAAFzAAAAAQAAAAJfeAkAASwAAAACCQABpAAAAAEFAAAAAl94AgAAAAEsAQAAAARkaXZkAAAAAgAAAAJfeAAAAAJfeQkBAAAACGZyYWN0aW9uAAAABAUAAAACX3gFAAAADERFQ0lNQUxfVU5JVAUAAAACX3kFAAAACEhBTEZFVkVOAQAAAARtdWxkAAAAAgAAAAJfeAAAAAJfeQkBAAAACGZyYWN0aW9uAAAABAUAAAACX3gFAAAAAl95BQAAAAxERUNJTUFMX1VOSVQFAAAACEhBTEZFVkVOAQAAAANhYnMAAAABAAAAAl94AwkAAGYAAAACBQAAAAJfeAAAAAAAAAAAAAUAAAACX3gJAQAAAAEtAAAAAQUAAAACX3gBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgAAAARfa2V5AAAACF9hZGRyZXNzCQABLAAAAAIJAAEsAAAAAgUAAAAEX2tleQIAAAABXwUAAAAIX2FkZHJlc3MBAAAAFnJlcXVpcmVNb3JlTWFyZ2luUmF0aW8AAAADAAAADF9tYXJnaW5SYXRpbwAAABBfYmFzZU1hcmdpblJhdGlvAAAAFF9sYXJnZXJUaGFuT3JFcXVhbFRvBAAAABRyZW1haW5pbmdNYXJnaW5SYXRpbwkAAGUAAAACBQAAAAxfbWFyZ2luUmF0aW8FAAAAEF9iYXNlTWFyZ2luUmF0aW8DAwUAAAAUX2xhcmdlclRoYW5PckVxdWFsVG8JAABmAAAAAgAAAAAAAAAAAAUAAAAUcmVtYWluaW5nTWFyZ2luUmF0aW8HCQAAAgAAAAECAAAADkludmFsaWQgbWFyZ2luAwMJAQAAAAEhAAAAAQUAAAAUX2xhcmdlclRoYW5PckVxdWFsVG8JAABnAAAAAgUAAAAUcmVtYWluaW5nTWFyZ2luUmF0aW8AAAAAAAAAAAAHCQAAAgAAAAECAAAADkludmFsaWQgbWFyZ2luBgEAAAADaW50AAAAAQAAAAFrCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAABawkAASwAAAACAgAAAA1ubyB2YWx1ZSBmb3IgBQAAAAFrAQAAAAhjYmFsYW5jZQAAAAAJAQAAAANpbnQAAAABBQAAAAlrX2JhbGFuY2UBAAAAA2ZlZQAAAAAJAQAAAANpbnQAAAABBQAAAAVrX2ZlZQEAAAAPaW5pdE1hcmdpblJhdGlvAAAAAAkBAAAAA2ludAAAAAEFAAAAEWtfaW5pdE1hcmdpblJhdGlvAQAAAAZxdEFzdFIAAAAACQEAAAADaW50AAAAAQUAAAATa19xdW90ZUFzc2V0UmVzZXJ2ZQEAAAAGYnNBc3RSAAAAAAkBAAAAA2ludAAAAAEFAAAAEmtfYmFzZUFzc2V0UmVzZXJ2ZQEAAAAPYmFzZUFzc3RGbmREZWx0AAAAAAkBAAAAA2ludAAAAAEFAAAAEWtfYmFzZUFzc3RGbmREZWx0AQAAABF0b3RhbFBvc2l0aW9uU2l6ZQAAAAAJAQAAAANpbnQAAAABBQAAABNrX3RvdGFsUG9zaXRpb25TaXplAQAAABJjdW11bGF0aXZlTm90aW9uYWwAAAAACQEAAAADaW50AAAAAQUAAAAUa19jdW11bGF0aXZlTm90aW9uYWwBAAAACWxhdGVzdENQRgAAAAAJAQAAAANpbnQAAAABBQAAACFrX2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24BAAAAFW9wZW5JbnRlcmVzZXROb3Rpb25hbAAAAAAJAQAAAANpbnQAAAABBQAAABdrX29wZW5JbnRlcmVzZXROb3Rpb25hbAEAAAAZbmV4dEZ1bmRpbmdCbG9ja1RpbWVzdGFtcAAAAAAJAQAAAANpbnQAAAABBQAAABJrX25leHRGdW5kaW5nQmxvY2sBAAAAEGZ1bmRpbmdQZXJpb2RSYXcAAAAACQEAAAADaW50AAAAAQUAAAAPa19mdW5kaW5nUGVyaW9kAQAAABRmdW5kaW5nUGVyaW9kRGVjaW1hbAAAAAAJAABoAAAAAgkBAAAAEGZ1bmRpbmdQZXJpb2RSYXcAAAAABQAAAAxERUNJTUFMX1VOSVQBAAAAFGZ1bmRpbmdQZXJpb2RTZWNvbmRzAAAAAAkAAGgAAAACCQEAAAAQZnVuZGluZ1BlcmlvZFJhdwAAAAAFAAAAB1NFQ09ORFMBAAAAA21tcgAAAAAJAQAAAANpbnQAAAABBQAAABhrX21haW50ZW5hbmNlTWFyZ2luUmF0aW8BAAAAE2xpcXVpZGF0aW9uRmVlUmF0aW8AAAAACQEAAAADaW50AAAAAQUAAAAVa19saXF1aWRhdGlvbkZlZVJhdGlvAQAAAAtzcHJlYWRMaW1pdAAAAAAJAQAAAANpbnQAAAABBQAAAA1rX3NwcmVhZExpbWl0AQAAAA5tYXhQcmljZUltcGFjdAAAAAAJAQAAAANpbnQAAAABBQAAABBrX21heFByaWNlSW1wYWN0AQAAAAtnZXRQb3NpdGlvbgAAAAEAAAAHaW52ZXNvcgQAAAAPcG9zaXRpb25TaXplT3B0CQAEGgAAAAIFAAAABHRoaXMJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAADmtfcG9zaXRpb25TaXplBQAAAAdpbnZlc29yBAAAAAckbWF0Y2gwBQAAAA9wb3NpdGlvblNpemVPcHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMcG9zaXRpb25TaXplBQAAAAckbWF0Y2gwCQAFFgAAAAQFAAAADHBvc2l0aW9uU2l6ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAHaW52ZXNvcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAWa19wb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAHaW52ZXNvcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAua19wb3NpdGlvbkxhc3RVcGRhdGVkQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAHaW52ZXNvcgkABRYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABNyZXF1aXJlT3BlblBvc2l0aW9uAAAAAQAAAAdfdHJhZGVyAwkAAAAAAAACCAkBAAAAC2dldFBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgAAAAJfMQAAAAAAAAAAAAkAAAIAAAABAgAAABBObyBvcGVuIHBvc2l0aW9uBgEAAAALaW5pdGlhbGl6ZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAADWtfaW5pdGlhbGl6ZWQHAQAAAAZwYXVzZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAACGtfcGF1c2VkBwEAAAANdXBkYXRlUmVzZXJ2ZQAAAAMAAAAGX2lzQWRkAAAAEV9xdW90ZUFzc2V0QW1vdW50AAAAEF9iYXNlQXNzZXRBbW91bnQDBQAAAAZfaXNBZGQEAAAAB25ld0Jhc2UJAABlAAAAAgkBAAAABmJzQXN0UgAAAAAFAAAAEF9iYXNlQXNzZXRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAB25ld0Jhc2UJAAACAAAAAQIAAAAqVHggbGVhZCB0byBiYXNlIGFzc2V0IHJlc2VydmUgPD0gMCwgcmV2ZXJ0CQAFFwAAAAUJAABkAAAAAgkBAAAABnF0QXN0UgAAAAAFAAAAEV9xdW90ZUFzc2V0QW1vdW50BQAAAAduZXdCYXNlCQAAZQAAAAIJAQAAAA9iYXNlQXNzdEZuZERlbHQAAAAABQAAABBfYmFzZUFzc2V0QW1vdW50CQAAZAAAAAIJAQAAABF0b3RhbFBvc2l0aW9uU2l6ZQAAAAAFAAAAEF9iYXNlQXNzZXRBbW91bnQJAABkAAAAAgkBAAAAEmN1bXVsYXRpdmVOb3Rpb25hbAAAAAAFAAAAEV9xdW90ZUFzc2V0QW1vdW50BAAAAAhuZXdRdW90ZQkAAGUAAAACCQEAAAAGcXRBc3RSAAAAAAUAAAARX3F1b3RlQXNzZXRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACG5ld1F1b3RlCQAAAgAAAAECAAAAKlR4IGxlYWQgdG8gYmFzZSBxdW90ZSByZXNlcnZlIDw9IDAsIHJldmVydAkABRcAAAAFBQAAAAhuZXdRdW90ZQkAAGQAAAACCQEAAAAGYnNBc3RSAAAAAAUAAAAQX2Jhc2VBc3NldEFtb3VudAkAAGQAAAACCQEAAAAPYmFzZUFzc3RGbmREZWx0AAAAAAUAAAAQX2Jhc2VBc3NldEFtb3VudAkAAGUAAAACCQEAAAARdG90YWxQb3NpdGlvblNpemUAAAAABQAAABBfYmFzZUFzc2V0QW1vdW50CQAAZQAAAAIJAQAAABJjdW11bGF0aXZlTm90aW9uYWwAAAAABQAAABFfcXVvdGVBc3NldEFtb3VudAEAAAAJc3dhcElucHV0AAAAAgAAAAZfaXNBZGQAAAARX3F1b3RlQXNzZXRBbW91bnQEAAAAB19xdEFzdFIJAQAAAAZxdEFzdFIAAAAABAAAAAdfYnNBc3RSCQEAAAAGYnNBc3RSAAAAAAQAAAALcHJpY2VCZWZvcmUJAQAAAARkaXZkAAAAAgUAAAAHX3F0QXN0UgUAAAAHX2JzQXN0UgQAAAAnYW1vdW50QmFzZUFzc2V0Qm91Z2h0V2l0aG91dFByaWNlSW1wYWN0CQEAAAAEbXVsZAAAAAIFAAAAEV9xdW90ZUFzc2V0QW1vdW50BQAAAAtwcmljZUJlZm9yZQQAAAABawkBAAAABG11bGQAAAACBQAAAAdfcXRBc3RSBQAAAAdfYnNBc3RSBAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyAwUAAAAGX2lzQWRkCQAAZAAAAAIFAAAAB19xdEFzdFIFAAAAEV9xdW90ZUFzc2V0QW1vdW50CQAAZQAAAAIFAAAAB19xdEFzdFIFAAAAEV9xdW90ZUFzc2V0QW1vdW50BAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIJAQAAAARkaXZkAAAAAgUAAAABawUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgQAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzCQEAAAADYWJzAAAAAQkAAGUAAAACBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAB19ic0FzdFIEAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAMFAAAABl9pc0FkZAUAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzCQEAAAABLQAAAAEFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwQAAAALcHJpY2VJbXBhY3QJAABpAAAAAgkAAGUAAAACBQAAACdhbW91bnRCYXNlQXNzZXRCb3VnaHRXaXRob3V0UHJpY2VJbXBhY3QFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwUAAAAnYW1vdW50QmFzZUFzc2V0Qm91Z2h0V2l0aG91dFByaWNlSW1wYWN0BAAAABNtYXhQcmljZUltcGFjdFZhbHVlCQEAAAAObWF4UHJpY2VJbXBhY3QAAAAAAwkAAGYAAAACBQAAAAtwcmljZUltcGFjdAUAAAATbWF4UHJpY2VJbXBhY3RWYWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1QcmljZSBpbXBhY3QgCQABpAAAAAEFAAAAC3ByaWNlSW1wYWN0AgAAABQgPiBtYXggcHJpY2UgaW1wYWN0IAkAAaQAAAABBQAAABNtYXhQcmljZUltcGFjdFZhbHVlBAAAAAwkdDA5OTk4MTAyNDYJAQAAAA11cGRhdGVSZXNlcnZlAAAAAwUAAAAGX2lzQWRkBQAAABFfcXVvdGVBc3NldEFtb3VudAUAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzBAAAABdxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyMQgFAAAADCR0MDk5OTgxMDI0NgAAAAJfMQQAAAAWYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyMQgFAAAADCR0MDk5OTgxMDI0NgAAAAJfMgQAAAAlYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyMQgFAAAADCR0MDk5OTgxMDI0NgAAAAJfMwQAAAAXdG90YWxQb3NpdGlvblNpemVBZnRlcjEIBQAAAAwkdDA5OTk4MTAyNDYAAAACXzQEAAAAGGN1bXVsYXRpdmVOb3Rpb25hbEFmdGVyMQgFAAAADCR0MDk5OTgxMDI0NgAAAAJfNQkABRgAAAAGBQAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQFAAAAF3F1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAABZiYXNlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAACViYXNlQXNzZXREZWx0YVRoaXNGdW5kaW5nUGVyaW9kQWZ0ZXIxBQAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQUAAAAYY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIxAQAAACJjYWxjUmVtYWluTWFyZ2luV2l0aEZ1bmRpbmdQYXltZW50AAAABAAAABBfb2xkUG9zaXRpb25TaXplAAAAEl9vbGRQb3NpdGlvbk1hcmdpbgAAABVfb2xkUG9zaXRpb25Mc3RVcGRDUEYAAAAMX21hcmdpbkRlbHRhBAAAAApfbGF0ZXN0Q1BGCQEAAAAJbGF0ZXN0Q1BGAAAAAAQAAAAOZnVuZGluZ1BheW1lbnQDCQEAAAACIT0AAAACBQAAABBfb2xkUG9zaXRpb25TaXplAAAAAAAAAAAACQEAAAAEbXVsZAAAAAIJAABlAAAAAgUAAAAKX2xhdGVzdENQRgUAAAAVX29sZFBvc2l0aW9uTHN0VXBkQ1BGBQAAABBfb2xkUG9zaXRpb25TaXplAAAAAAAAAAAABAAAAAxzaWduZWRNYXJnaW4JAABkAAAAAgkAAGUAAAACBQAAAAxfbWFyZ2luRGVsdGEFAAAADmZ1bmRpbmdQYXltZW50BQAAABJfb2xkUG9zaXRpb25NYXJnaW4EAAAADSR0MDEwODc3MTEwMDQDCQAAZgAAAAIAAAAAAAAAAAAFAAAADHNpZ25lZE1hcmdpbgkABRQAAAACAAAAAAAAAAAACQEAAAADYWJzAAAAAQUAAAAMc2lnbmVkTWFyZ2luCQAFFAAAAAIJAQAAAANhYnMAAAABBQAAAAxzaWduZWRNYXJnaW4AAAAAAAAAAAAEAAAADHJlbWFpbk1hcmdpbggFAAAADSR0MDEwODc3MTEwMDQAAAACXzEEAAAAB2JhZERlYnQIBQAAAA0kdDAxMDg3NzExMDA0AAAAAl8yCQAFFgAAAAQFAAAADHJlbWFpbk1hcmdpbgUAAAAHYmFkRGVidAUAAAAOZnVuZGluZ1BheW1lbnQFAAAACl9sYXRlc3RDUEYBAAAAGmdldE91dHB1dFByaWNlV2l0aFJlc2VydmVzAAAABAAAAARfYWRkAAAAEF9iYXNlQXNzZXRBbW91bnQAAAAVX3F1b3RlQXNzZXRQb29sQW1vdW50AAAAFF9iYXNlQXNzZXRQb29sQW1vdW50AwkAAAAAAAACBQAAABBfYmFzZUFzc2V0QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGUludmFsaWQgYmFzZSBhc3NldCBhbW91bnQEAAAAAWsJAQAAAARtdWxkAAAAAgUAAAAVX3F1b3RlQXNzZXRQb29sQW1vdW50BQAAABRfYmFzZUFzc2V0UG9vbEFtb3VudAQAAAAYYmFzZUFzc2V0UG9vbEFtb3VudEFmdGVyAwUAAAAEX2FkZAkAAGQAAAACBQAAABRfYmFzZUFzc2V0UG9vbEFtb3VudAUAAAAQX2Jhc2VBc3NldEFtb3VudAkAAGUAAAACBQAAABRfYmFzZUFzc2V0UG9vbEFtb3VudAUAAAAQX2Jhc2VBc3NldEFtb3VudAQAAAAPcXVvdGVBc3NldEFmdGVyCQEAAAAEZGl2ZAAAAAIFAAAAAWsFAAAAGGJhc2VBc3NldFBvb2xBbW91bnRBZnRlcgQAAAAOcXVvdGVBc3NldFNvbGQJAQAAAANhYnMAAAABCQAAZQAAAAIFAAAAD3F1b3RlQXNzZXRBZnRlcgUAAAAVX3F1b3RlQXNzZXRQb29sQW1vdW50BAAAAA0kdDAxMTY1MzExODg5CQEAAAANdXBkYXRlUmVzZXJ2ZQAAAAMJAQAAAAEhAAAAAQUAAAAEX2FkZAUAAAAOcXVvdGVBc3NldFNvbGQFAAAAEF9iYXNlQXNzZXRBbW91bnQEAAAAF3F1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIxCAUAAAANJHQwMTE2NTMxMTg4OQAAAAJfMQQAAAAWYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyMQgFAAAADSR0MDExNjUzMTE4ODkAAAACXzIEAAAAJWJhc2VBc3NldERlbHRhVGhpc0Z1bmRpbmdQZXJpb2RBZnRlcjEIBQAAAA0kdDAxMTY1MzExODg5AAAAAl8zBAAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQgFAAAADSR0MDExNjUzMTE4ODkAAAACXzQEAAAAGGN1bXVsYXRpdmVOb3Rpb25hbEFmdGVyMQgFAAAADSR0MDExNjUzMTE4ODkAAAACXzUJAAUYAAAABgUAAAAOcXVvdGVBc3NldFNvbGQFAAAAF3F1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAABZiYXNlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAACViYXNlQXNzZXREZWx0YVRoaXNGdW5kaW5nUGVyaW9kQWZ0ZXIxBQAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQUAAAAYY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIxAQAAABJnZXRPcmFjbGVUd2FwUHJpY2UAAAAABAAAAAZvcmFjbGUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAVrX29yYQIAAAAABAAAAAhwcmljZUtleQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAJa19vcmFfa2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAZvcmFjbGUFAAAACHByaWNlS2V5AQAAAAxnZXRTcG90UHJpY2UAAAAABAAAAAdfcXRBc3RSCQEAAAAGcXRBc3RSAAAAAAQAAAAHX2JzQXN0UgkBAAAABmJzQXN0UgAAAAAJAQAAAARkaXZkAAAAAgUAAAAHX3F0QXN0UgUAAAAHX2JzQXN0UgEAAAAWaXNPdmVyRmx1Y3R1YXRpb25MaW1pdAAAAAAEAAAAC29yYWNsZVByaWNlCQEAAAASZ2V0T3JhY2xlVHdhcFByaWNlAAAAAAQAAAAMY3VycmVudFByaWNlCQEAAAAMZ2V0U3BvdFByaWNlAAAAAAkAAGYAAAACCQEAAAAEZGl2ZAAAAAIJAQAAAANhYnMAAAABCQAAZQAAAAIFAAAAC29yYWNsZVByaWNlBQAAAAxjdXJyZW50UHJpY2UFAAAAC29yYWNsZVByaWNlCQEAAAALc3ByZWFkTGltaXQAAAAAAQAAACNnZXRQb3NpdGlvbk5vdGlvbmFsQW5kVW5yZWFsaXplZFBubAAAAAIAAAAHX3RyYWRlcgAAAAdfb3B0aW9uBAAAAA0kdDAxMjY2NDEyNzc1CQEAAAALZ2V0UG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAxwb3NpdGlvblNpemUIBQAAAA0kdDAxMjY2NDEyNzc1AAAAAl8xBAAAAA5wb3NpdGlvbk1hcmdpbggFAAAADSR0MDEyNjY0MTI3NzUAAAACXzIEAAAAA3BvbggFAAAADSR0MDEyNjY0MTI3NzUAAAACXzMEAAAAEXBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMTI2NjQxMjc3NQAAAAJfNAQAAAAPcG9zaXRpb25TaXplQWJzCQEAAAADYWJzAAAAAQUAAAAMcG9zaXRpb25TaXplAwkAAAAAAAACBQAAAA9wb3NpdGlvblNpemVBYnMAAAAAAAAAAAAJAAACAAAAAQIAAAAVSW52YWxpZCBwb3NpdGlvbiBzaXplBAAAAAdpc1Nob3J0CQAAZgAAAAIAAAAAAAAAAAAFAAAADHBvc2l0aW9uU2l6ZQQAAAAQcG9zaXRpb25Ob3Rpb25hbAMJAAAAAAAAAgUAAAAHX29wdGlvbgUAAAAPUE5MX09QVElPTl9TUE9UBAAAAA0kdDAxMzAyMjEzMTg1CQEAAAAaZ2V0T3V0cHV0UHJpY2VXaXRoUmVzZXJ2ZXMAAAAECQEAAAABIQAAAAEFAAAAB2lzU2hvcnQFAAAAD3Bvc2l0aW9uU2l6ZUFicwkBAAAABnF0QXN0UgAAAAAJAQAAAAZic0FzdFIAAAAABAAAABNvdXRQb3NpdGlvbk5vdGlvbmFsCAUAAAANJHQwMTMwMjIxMzE4NQAAAAJfMQQAAAACeDEIBQAAAA0kdDAxMzAyMjEzMTg1AAAAAl8yBAAAAAJ4MggFAAAADSR0MDEzMDIyMTMxODUAAAACXzMEAAAAAngzCAUAAAANJHQwMTMwMjIxMzE4NQAAAAJfNAUAAAATb3V0UG9zaXRpb25Ob3Rpb25hbAkAAGgAAAACBQAAAA9wb3NpdGlvblNpemVBYnMJAQAAABJnZXRPcmFjbGVUd2FwUHJpY2UAAAAABAAAAA11bnJlYWxpemVkUG5sAwUAAAAHaXNTaG9ydAkAAGUAAAACBQAAAANwb24FAAAAEHBvc2l0aW9uTm90aW9uYWwJAABlAAAAAgUAAAAQcG9zaXRpb25Ob3Rpb25hbAUAAAADcG9uCQAFFAAAAAIFAAAAEHBvc2l0aW9uTm90aW9uYWwFAAAADXVucmVhbGl6ZWRQbmwBAAAAFmdldE1hcmdpblJhdGlvQnlPcHRpb24AAAACAAAAB190cmFkZXIAAAAHX29wdGlvbgoBAAAAAXgAAAAAAAAAAAAAAAAABAAAAA0kdDAxMzU3NTEzNjg2CQEAAAALZ2V0UG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAxwb3NpdGlvblNpemUIBQAAAA0kdDAxMzU3NTEzNjg2AAAAAl8xBAAAAA5wb3NpdGlvbk1hcmdpbggFAAAADSR0MDEzNTc1MTM2ODYAAAACXzIEAAAAA3BvbggFAAAADSR0MDEzNTc1MTM2ODYAAAACXzMEAAAAEXBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMTM1NzUxMzY4NgAAAAJfNAQAAAANJHQwMTM2OTIxMzc4NQkBAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgUAAAAHX3RyYWRlcgUAAAAHX29wdGlvbgQAAAAQcG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDEzNjkyMTM3ODUAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDAxMzY5MjEzNzg1AAAAAl8yBAAAAA0kdDAxMzc5MDEzOTU2CQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAADHBvc2l0aW9uU2l6ZQUAAAAOcG9zaXRpb25NYXJnaW4FAAAAEXBvc2l0aW9uTHN0VXBkQ1BGBQAAAA11bnJlYWxpemVkUG5sBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAxMzc5MDEzOTU2AAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMTM3OTAxMzk1NgAAAAJfMgkBAAAABGRpdmQAAAACCQAAZQAAAAIFAAAADHJlbWFpbk1hcmdpbgUAAAAHYmFkRGVidAUAAAAQcG9zaXRpb25Ob3Rpb25hbAEAAAAOZ2V0TWFyZ2luUmF0aW8AAAABAAAAB190cmFkZXIJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAAPUE5MX09QVElPTl9TUE9UAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABAAAAB190cmFkZXIEAAAADSR0MDE0MTUyMTQyNjMJAQAAAAtnZXRQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIEAAAADHBvc2l0aW9uU2l6ZQgFAAAADSR0MDE0MTUyMTQyNjMAAAACXzEEAAAADnBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMTQxNTIxNDI2MwAAAAJfMgQAAAADcG9uCAUAAAANJHQwMTQxNTIxNDI2MwAAAAJfMwQAAAARcG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDAxNDE1MjE0MjYzAAAAAl80BAAAAA0kdDAxNDI2OTE0MzU2CQEAAAAjZ2V0UG9zaXRpb25Ob3Rpb25hbEFuZFVucmVhbGl6ZWRQbmwAAAACBQAAAAdfdHJhZGVyBQAAAA9QTkxfT1BUSU9OX1NQT1QEAAAAAngxCAUAAAANJHQwMTQyNjkxNDM1NgAAAAJfMQQAAAANdW5yZWFsaXplZFBubAgFAAAADSR0MDE0MjY5MTQzNTYAAAACXzIEAAAADSR0MDE0MzYxMTQ1MzMJAQAAACJjYWxjUmVtYWluTWFyZ2luV2l0aEZ1bmRpbmdQYXltZW50AAAABAUAAAAMcG9zaXRpb25TaXplBQAAAA5wb3NpdGlvbk1hcmdpbgUAAAARcG9zaXRpb25Mc3RVcGRDUEYFAAAADXVucmVhbGl6ZWRQbmwEAAAADHJlbWFpbk1hcmdpbggFAAAADSR0MDE0MzYxMTQ1MzMAAAACXzEEAAAAB2JhZERlYnQIBQAAAA0kdDAxNDM2MTE0NTMzAAAAAl8yBAAAAAJ4MggFAAAADSR0MDE0MzYxMTQ1MzMAAAACXzMEAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQkBAAAAAS0AAAABBQAAAAxwb3NpdGlvblNpemUEAAAAC3JlYWxpemVkUG5sBQAAAA11bnJlYWxpemVkUG5sBAAAAA1tYXJnaW5Ub1ZhdWx0CQEAAAABLQAAAAEFAAAADHJlbWFpbk1hcmdpbgQAAAANJHQwMTQ2NjAxNDk5MwkBAAAAGmdldE91dHB1dFByaWNlV2l0aFJlc2VydmVzAAAABAkAAGYAAAACBQAAAAxwb3NpdGlvblNpemUAAAAAAAAAAAAJAQAAAANhYnMAAAABBQAAAAxwb3NpdGlvblNpemUJAQAAAAZxdEFzdFIAAAAACQEAAAAGYnNBc3RSAAAAAAQAAAAZZXhjaGFuZ2VkUXVvdGVBc3NldEFtb3VudAgFAAAADSR0MDE0NjYwMTQ5OTMAAAACXzEEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAxNDY2MDE0OTkzAAAAAl8yBAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAxNDY2MDE0OTkzAAAAAl8zBAAAACRiYXNlQXNzZXREZWx0YVRoaXNGdW5kaW5nUGVyaW9kQWZ0ZXIIBQAAAA0kdDAxNDY2MDE0OTkzAAAAAl80BAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMTQ2NjAxNDk5MwAAAAJfNQQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAxNDY2MDE0OTkzAAAAAl82BAAAABpvcGVuSW50ZXJlc2V0Tm90aW9uYWxBZnRlcgkAAGUAAAACCQEAAAAVb3BlbkludGVyZXNldE5vdGlvbmFsAAAAAAUAAAADcG9uCQAFHQAAAAsFAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQUAAAAHYmFkRGVidAUAAAALcmVhbGl6ZWRQbmwFAAAADW1hcmdpblRvVmF1bHQFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgUAAAAab3BlbkludGVyZXNldE5vdGlvbmFsQWZ0ZXIFAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQBAAAAEGdldFR3YXBTcG90UHJpY2UAAAAABAAAAAhtaW51dGVJZAkAAGkAAAACCQAAaQAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAAAAAAAAAAPoAAAAAAAAAAA8BAAAAA1zdGFydE1pbnV0ZUlkCQAAZQAAAAIFAAAACG1pbnV0ZUlkBQAAAA1UV0FQX0lOVEVSVkFMBAAAAAdsaXN0U3RyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAADWtfbGFzdERhdGFTdHICAAAAAAQAAAAEbGlzdAkABLUAAAACBQAAAAdsaXN0U3RyAgAAAAEsCgEAAAAIZmlsdGVyRm4AAAACAAAABWFjY3VtAAAABG5leHQDCQAAZwAAAAIFAAAADXN0YXJ0TWludXRlSWQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAEbmV4dAkABE0AAAACBQAAAAVhY2N1bQkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAARuZXh0BQAAAAVhY2N1bQQAAAAFbGlzdEYKAAAAAAIkbAUAAAAEbGlzdAoAAAAAAiRzCQABkAAAAAEFAAAAAiRsCgAAAAAFJGFjYzAFAAAAA25pbAoBAAAABSRmMF8xAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkBAAAACGZpbHRlckZuAAAAAgUAAAACJGEJAAGRAAAAAgUAAAACJGwFAAAAAiRpCgEAAAAFJGYwXzIAAAACAAAAAiRhAAAAAiRpAwkAAGcAAAACBQAAAAIkaQUAAAACJHMFAAAAAiRhCQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDE1CQEAAAAFJGYwXzIAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACCQEAAAAFJGYwXzEAAAACBQAAAAUkYWNjMAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwQAAAAIbWF4SW5kZXgJAAGWAAAAAQUAAAAFbGlzdEYEAAAADGxhc3RNaW51dGVJZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rX2xhc3RNaW51dGVJZAAAAAAAAAAAAAQAAAAWZW5kTGFzdEN1bXVsYXRpdmVQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAMbGFzdE1pbnV0ZUlkAAAAAAAAAAAABAAAAAxlbmRMYXN0UHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAMbGFzdE1pbnV0ZUlkAAAAAAAAAAAABAAAABNub3dDdW1tdWxhdGl2ZVByaWNlCQAAZAAAAAIFAAAAFmVuZExhc3RDdW11bGF0aXZlUHJpY2UJAABoAAAAAgkAAGUAAAACBQAAAAhtaW51dGVJZAUAAAAMbGFzdE1pbnV0ZUlkBQAAAAxlbmRMYXN0UHJpY2UEAAAAGHN0YXJ0TGFzdEN1bXVsYXRpdmVQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAda190d2FwRGF0YUxhc3RDdW11bGF0aXZlUHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAIbWF4SW5kZXgAAAAAAAAAAAAEAAAADnN0YXJ0TGFzdFByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAABNrX3R3YXBEYXRhTGFzdFByaWNlAgAAAAFfCQABpAAAAAEFAAAACG1heEluZGV4AAAAAAAAAAAABAAAABVzdGFydEN1bW11bGF0aXZlUHJpY2UJAABkAAAAAgUAAAAYc3RhcnRMYXN0Q3VtdWxhdGl2ZVByaWNlCQAAaAAAAAIJAABlAAAAAgUAAAANc3RhcnRNaW51dGVJZAUAAAAIbWF4SW5kZXgFAAAADnN0YXJ0TGFzdFByaWNlCQAAaQAAAAIJAABlAAAAAgUAAAATbm93Q3VtbXVsYXRpdmVQcmljZQUAAAAVc3RhcnRDdW1tdWxhdGl2ZVByaWNlBQAAAA1UV0FQX0lOVEVSVkFMAQAAAA51cGRhdGVTZXR0aW5ncwAAAAcAAAAQX2luaXRNYXJnaW5SYXRpbwAAAARfbW1yAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvAAAADl9mdW5kaW5nUGVyaW9kAAAABF9mZWUAAAAMX3NwcmVhZExpbWl0AAAAD19tYXhQcmljZUltcGFjdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa19pbml0TWFyZ2luUmF0aW8FAAAAEF9pbml0TWFyZ2luUmF0aW8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAGGtfbWFpbnRlbmFuY2VNYXJnaW5SYXRpbwUAAAAEX21tcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAVa19saXF1aWRhdGlvbkZlZVJhdGlvBQAAABRfbGlxdWlkYXRpb25GZWVSYXRpbwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa19mdW5kaW5nUGVyaW9kBQAAAA5fZnVuZGluZ1BlcmlvZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAFa19mZWUFAAAABF9mZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtfc3ByZWFkTGltaXQFAAAADF9zcHJlYWRMaW1pdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQa19tYXhQcmljZUltcGFjdAUAAAAPX21heFByaWNlSW1wYWN0BQAAAANuaWwBAAAADXVwZGF0ZUZ1bmRpbmcAAAAEAAAACl9iYXNlQURURlAAAAARX25leHRGdW5kaW5nQmxvY2sAAAAKX2xhdGVzdENQRgAAAAxfZnVuZGluZ1JhdGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtfYmFzZUFzc3RGbmREZWx0BQAAAApfYmFzZUFEVEZQCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrX25leHRGdW5kaW5nQmxvY2sFAAAAEV9uZXh0RnVuZGluZ0Jsb2NrCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACFrX2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24FAAAACl9sYXRlc3RDUEYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtfZnVuZGluZ1JhdGUFAAAADF9mdW5kaW5nUmF0ZQUAAAADbmlsAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUAAAAIX2FkZHJlc3MAAAAFX3NpemUAAAAHX21hcmdpbgAAAAxfb3Blbk5vdGluYWwAAAAKX0xzdFVwZENQRgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAOa19wb3NpdGlvblNpemUFAAAACF9hZGRyZXNzBQAAAAVfc2l6ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAIX2FkZHJlc3MFAAAAB19tYXJnaW4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwFAAAACF9hZGRyZXNzBQAAAAxfb3Blbk5vdGluYWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAALmtfcG9zaXRpb25MYXN0VXBkYXRlZEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24FAAAACF9hZGRyZXNzBQAAAApfTHN0VXBkQ1BGBQAAAANuaWwBAAAACmFwcGVuZFR3YXAAAAABAAAABXByaWNlBAAAAAhtaW51dGVJZAkAAGkAAAACCQAAaQAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAAAAAAAAAAPoAAAAAAAAAAA8BAAAABBwcmV2aW91c01pbnV0ZUlkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADmtfbGFzdE1pbnV0ZUlkAAAAAAAAAAAAAwkAAGYAAAACBQAAABBwcmV2aW91c01pbnV0ZUlk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AAEFAAAACG1pbnV0ZUlkBQAAABRsYXN0Q3VtbXVsYXRpdmVQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAAE2tfdHdhcERhdGFMYXN0UHJpY2UCAAAAAV8JAAGkAAAAAQUAAAAIbWludXRlSWQFAAAABXByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rX2xhc3RNaW51dGVJZAUAAAAIbWludXRlSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANa19sYXN0RGF0YVN0cgUAAAALbmV3TGlzdFN0clIFAAAAA25pbAEAAAAJdXBkYXRlQW1tAAAABgAAAAdfcXRBc3RSAAAAB19ic0FzdFIAAAAlX2Jhc2VBc3NldERlbHRhVGhpc0Z1bmRpbmdQZXJpb2RBZnRlcgAAABdfdG90YWxQb3NpdGlvblNpemVBZnRlcgAAABhfY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIAAAAWX29wZW5JbnRlcmVzZXROb3Rpb25hbAkABE4AAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNrX3F1b3RlQXNzZXRSZXNlcnZlBQAAAAdfcXRBc3RSCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrX2Jhc2VBc3NldFJlc2VydmUFAAAAB19ic0FzdFIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtfYmFzZUFzc3RGbmREZWx0BQAAACVfYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNrX3RvdGFsUG9zaXRpb25TaXplBQAAABdfdG90YWxQb3NpdGlvblNpemVBZnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAUa19jdW11bGF0aXZlTm90aW9uYWwFAAAAGF9jdW11bGF0aXZlTm90aW9uYWxBZnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXa19vcGVuSW50ZXJlc2V0Tm90aW9uYWwFAAAAFl9vcGVuSW50ZXJlc2V0Tm90aW9uYWwFAAAAA25pbAkBAAAACmFwcGVuZFR3YXAAAAABCQEAAAAEZGl2ZAAAAAIFAAAAB19xdEFzdFIFAAAAB19ic0FzdFIBAAAADmRlbGV0ZVBvc2l0aW9uAAAAAQAAAAhfYWRkcmVzcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAAA5rX3Bvc2l0aW9uU2l6ZQUAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAWa19wb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAua19wb3NpdGlvbkxhc3RVcGRhdGVkQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAIX2FkZHJlc3MFAAAAA25pbAEAAAAId2l0aGRyYXcAAAACAAAACF9hZGRyZXNzAAAAB19hbW91bnQEAAAAB2JhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwkBAAAACnF1b3RlQXNzZXQAAAAAAwkAAGYAAAACBQAAAAdfYW1vdW50BQAAAAdiYWxhbmNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAE1VuYWJsZSB0byB3aXRoZHJhdyAJAAGkAAAAAQUAAAAHX2Ftb3VudAIAAAAXIGZyb20gY29udHJhY3QgYmFsYW5jZSAJAAGkAAAAAQUAAAAHYmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAhfYWRkcmVzcwUAAAAHX2Ftb3VudAkBAAAACnF1b3RlQXNzZXQAAAAABQAAAANuaWwBAAAADXVwZGF0ZUJhbGFuY2UAAAABAAAAAWkDCQAAZgAAAAIAAAAAAAAAAAAFAAAAAWkJAAACAAAAAQIAAAAHQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa19iYWxhbmNlBQAAAAFpBQAAAANuaWwBAAAAC3RyYW5zZmVyRmVlAAAAAQAAAAFpCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAA5zdGFraW5nQWRkcmVzcwAAAAAFAAAAAWkJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsAAAADAAAAAFpAQAAAAVwYXVzZQAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAAAxhZG1pbkFkZHJlc3MAAAAACQAAAgAAAAECAAAAGkludmFsaWQgdG9nZ2xlUGF1c2UgcGFyYW1zCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAhrX3BhdXNlZAYFAAAAA25pbAAAAAFpAQAAAAd1bnBhdXNlAAAAAAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAADGFkbWluQWRkcmVzcwAAAAAJAAACAAAAAQIAAAAaSW52YWxpZCB0b2dnbGVQYXVzZSBwYXJhbXMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACGtfcGF1c2VkBwUAAAADbmlsAAAAAWkBAAAADmNoYW5nZVNldHRpbmdzAAAABwAAABBfaW5pdE1hcmdpblJhdGlvAAAABF9tbXIAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8AAAAOX2Z1bmRpbmdQZXJpb2QAAAAEX2ZlZQAAAAxfc3ByZWFkTGltaXQAAAAPX21heFByaWNlSW1wYWN0AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyCQEAAAAMYWRtaW5BZGRyZXNzAAAAAAkAAAIAAAABAgAAAB1JbnZhbGlkIGNoYW5nZVNldHRpbmdzIHBhcmFtcwkBAAAADnVwZGF0ZVNldHRpbmdzAAAABwUAAAAQX2luaXRNYXJnaW5SYXRpbwUAAAAEX21tcgUAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8FAAAADl9mdW5kaW5nUGVyaW9kBQAAAARfZmVlBQAAAAxfc3ByZWFkTGltaXQFAAAAD19tYXhQcmljZUltcGFjdAAAAAFpAQAAAAppbml0aWFsaXplAAAADAAAAAdfcXRBc3RSAAAAB19ic0FzdFIAAAAOX2Z1bmRpbmdQZXJpb2QAAAAQX2luaXRNYXJnaW5SYXRpbwAAAARfbW1yAAAAFF9saXF1aWRhdGlvbkZlZVJhdGlvAAAABF9mZWUAAAAHX29yYWNsZQAAAApfb3JhY2xlS2V5AAAADF9jb29yZGluYXRvcgAAAAxfc3ByZWFkTGltaXQAAAAPX21heFByaWNlSW1wYWN0AwMDAwMDAwMDAwkAAGcAAAACAAAAAAAAAAAABQAAAAdfcXRBc3RSBgkAAGcAAAACAAAAAAAAAAAABQAAAAdfYnNBc3RSBgkAAGcAAAACAAAAAAAAAAAABQAAAA5fZnVuZGluZ1BlcmlvZAYJAABnAAAAAgAAAAAAAAAAAAUAAAAQX2luaXRNYXJnaW5SYXRpbwYJAABnAAAAAgAAAAAAAAAAAAUAAAAEX21tcgYJAABnAAAAAgAAAAAAAAAAAAUAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8GCQAAZwAAAAIAAAAAAAAAAAAFAAAABF9mZWUGCQAAZwAAAAIAAAAAAAAAAAAFAAAADF9zcHJlYWRMaW1pdAYJAABnAAAAAgAAAAAAAAAAAAUAAAAPX21heFByaWNlSW1wYWN0BgkBAAAAC2luaXRpYWxpemVkAAAAAAkAAAIAAAABAgAAAB1JbnZhbGlkIGluaXRpYWxpemUgcGFyYW1ldGVycwkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQEAAAAJdXBkYXRlQW1tAAAABgUAAAAHX3F0QXN0UgUAAAAHX2JzQXN0UgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkBAAAADnVwZGF0ZVNldHRpbmdzAAAABwUAAAAQX2luaXRNYXJnaW5SYXRpbwUAAAAEX21tcgUAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8FAAAADl9mdW5kaW5nUGVyaW9kBQAAAARfZmVlBQAAAAxfc3ByZWFkTGltaXQFAAAAD19tYXhQcmljZUltcGFjdAkBAAAADXVwZGF0ZUZ1bmRpbmcAAAAEAAAAAAAAAAAACQAAZAAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAA5fZnVuZGluZ1BlcmlvZAAAAAAAAAAAAAAAAAAAAAAAAAkBAAAADXVwZGF0ZUJhbGFuY2UAAAABAAAAAAAAAAAACQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAA1rX2luaXRpYWxpemVkBgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAVrX29yYQUAAAAHX29yYWNsZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAlrX29yYV9rZXkFAAAACl9vcmFjbGVLZXkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAUa19jb29yZGluYXRvckFkZHJlc3MFAAAADF9jb29yZGluYXRvcgUAAAADbmlsAAAAAWkBAAAAEGRlY3JlYXNlUG9zaXRpb24AAAAEAAAACl9kaXJlY3Rpb24AAAAHX2Ftb3VudAAAAAlfbGV2ZXJhZ2UAAAATX21pbkJhc2VBc3NldEFtb3VudAMDAwMDAwMJAQAAAAIhPQAAAAIFAAAACl9kaXJlY3Rpb24FAAAACERJUl9MT05HCQEAAAACIT0AAAACBQAAAApfZGlyZWN0aW9uBQAAAAlESVJfU0hPUlQHBgkAAGcAAAACAAAAAAAAAAAABQAAAAdfYW1vdW50BgMJAABmAAAAAgkAAGgAAAACAAAAAAAAAAABBQAAAAxERUNJTUFMX1VOSVQFAAAACV9sZXZlcmFnZQYJAABmAAAAAgUAAAAJX2xldmVyYWdlCQAAaAAAAAIAAAAAAAAAAAMFAAAADERFQ0lNQUxfVU5JVAYJAQAAAAEhAAAAAQkBAAAAC2luaXRpYWxpemVkAAAAAAYJAQAAAAEhAAAAAQkBAAAAFnJlcXVpcmVNb3JlTWFyZ2luUmF0aW8AAAADCQEAAAAEZGl2ZAAAAAIFAAAADERFQ0lNQUxfVU5JVAUAAAAJX2xldmVyYWdlCQEAAAAPaW5pdE1hcmdpblJhdGlvAAAAAAYGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABAgAAACNJbnZhbGlkIGRlY3JlYXNlUG9zaXRpb24gcGFyYW1ldGVycwQAAAANJHQwMjM1NTIyMzcwNAkBAAAAC2dldFBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD29sZFBvc2l0aW9uU2l6ZQgFAAAADSR0MDIzNTUyMjM3MDQAAAACXzEEAAAAEW9sZFBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMjM1NTIyMzcwNAAAAAJfMgQAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAyMzU1MjIzNzA0AAAAAl8zBAAAABRvbGRQb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDIzNTUyMjM3MDQAAAACXzQEAAAADWlzTmV3UG9zaXRpb24JAAAAAAAAAgUAAAAPb2xkUG9zaXRpb25TaXplAAAAAAAAAAAABAAAAA9pc1NhbWVEaXJlY3Rpb24DCQAAZgAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAhESVJfTE9ORwkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAlESVJfU0hPUlQEAAAADmV4cGFuZEV4aXN0aW5nAwkBAAAAASEAAAABBQAAAA1pc05ld1Bvc2l0aW9uBQAAAA9pc1NhbWVEaXJlY3Rpb24HBAAAAAVpc0FkZAkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAhESVJfTE9ORwQAAAANJHQwMjM5OTMyNjg5MQMDBQAAAA1pc05ld1Bvc2l0aW9uBgUAAAAOZXhwYW5kRXhpc3RpbmcJAAACAAAAAQIAAAA1VXNlIGluY3JlYXNlUG9zaXRpb24gdG8gb3BlbiBuZXcgb3IgaW5jcmVhc2UgcG9zaXRpb24EAAAADG9wZW5Ob3Rpb25hbAkBAAAABG11bGQAAAACBQAAAAdfYW1vdW50BQAAAAlfbGV2ZXJhZ2UEAAAADSR0MDI0NDk4MjQ2MTQJAQAAACNnZXRQb3NpdGlvbk5vdGlvbmFsQW5kVW5yZWFsaXplZFBubAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9QTkxfT1BUSU9OX1NQT1QEAAAAE29sZFBvc2l0aW9uTm90aW9uYWwIBQAAAA0kdDAyNDQ5ODI0NjE0AAAAAl8xBAAAAA11bnJlYWxpemVkUG5sCAUAAAANJHQwMjQ0OTgyNDYxNAAAAAJfMgMJAABmAAAAAgUAAAATb2xkUG9zaXRpb25Ob3Rpb25hbAUAAAAMb3Blbk5vdGlvbmFsBAAAAA0kdDAyNDY3NjI0OTU2CQEAAAAJc3dhcElucHV0AAAAAgUAAAAFaXNBZGQFAAAADG9wZW5Ob3Rpb25hbAQAAAAVZXhjaGFuZ2VkUG9zaXRpb25TaXplCAUAAAANJHQwMjQ2NzYyNDk1NgAAAAJfMQQAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDI0Njc2MjQ5NTYAAAACXzIEAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDI0Njc2MjQ5NTYAAAACXzMEAAAAJGJhc2VBc3NldERlbHRhVGhpc0Z1bmRpbmdQZXJpb2RBZnRlcggFAAAADSR0MDI0Njc2MjQ5NTYAAAACXzQEAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIIBQAAAA0kdDAyNDY3NjI0OTU2AAAAAl81BAAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcggFAAAADSR0MDI0Njc2MjQ5NTYAAAACXzYEAAAAGGV4Y2hhbmdlZFBvc2l0aW9uU2l6ZUFicwkBAAAAA2FicwAAAAEFAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQMDCQEAAAACIT0AAAACBQAAABNfbWluQmFzZUFzc2V0QW1vdW50AAAAAAAAAAAACQAAZgAAAAIFAAAAE19taW5CYXNlQXNzZXRBbW91bnQFAAAAGGV4Y2hhbmdlZFBvc2l0aW9uU2l6ZUFicwcJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAmVG9vIGxpdHRsZSBiYXNzZSBhc3NldCBleGNoYW5nZWQsIGdvdCAJAAGkAAAAAQUAAAAYZXhjaGFuZ2VkUG9zaXRpb25TaXplQWJzAgAAAAogZXhwZWN0ZWQgCQABpAAAAAEFAAAAE19taW5CYXNlQXNzZXRBbW91bnQEAAAAC3JlYWxpemVkUG5sAwkBAAAAAiE9AAAAAgUAAAAPb2xkUG9zaXRpb25TaXplAAAAAAAAAAAACQEAAAAEZGl2ZAAAAAIJAQAAAARtdWxkAAAAAgUAAAANdW5yZWFsaXplZFBubAUAAAAYZXhjaGFuZ2VkUG9zaXRpb25TaXplQWJzBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAEAAAADSR0MDI1NDk3MjU3NjgJAQAAACJjYWxjUmVtYWluTWFyZ2luV2l0aEZ1bmRpbmdQYXltZW50AAAABAUAAAAPb2xkUG9zaXRpb25TaXplBQAAABFvbGRQb3NpdGlvbk1hcmdpbgUAAAAUb2xkUG9zaXRpb25Mc3RVcGRDUEYFAAAAC3JlYWxpemVkUG5sBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAyNTQ5NzI1NzY4AAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMjU0OTcyNTc2OAAAAAJfMgQAAAAOZnVuZGluZ1BheW1lbnQIBQAAAA0kdDAyNTQ5NzI1NzY4AAAAAl8zBAAAAAxvbGRMYXRlc3RDUEYIBQAAAA0kdDAyNTQ5NzI1NzY4AAAAAl80BAAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50BQAAAAxvcGVuTm90aW9uYWwEAAAAEnVucmVhbGl6ZWRQbmxBZnRlcgkAAGUAAAACBQAAAA11bnJlYWxpemVkUG5sBQAAAAtyZWFsaXplZFBubAQAAAAScmVtYWluT3Blbk5vdGlvbmFsAwkAAGYAAAACBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAJAABlAAAAAgkAAGUAAAACBQAAABNvbGRQb3NpdGlvbk5vdGlvbmFsBQAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50BQAAABJ1bnJlYWxpemVkUG5sQWZ0ZXIJAABlAAAAAgkAAGQAAAACBQAAABJ1bnJlYWxpemVkUG5sQWZ0ZXIFAAAAE29sZFBvc2l0aW9uTm90aW9uYWwFAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQJAAUcAAAACgkAAGQAAAACBQAAAA9vbGRQb3NpdGlvblNpemUFAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQUAAAAMcmVtYWluTWFyZ2luCQEAAAADYWJzAAAAAQUAAAAScmVtYWluT3Blbk5vdGlvbmFsBQAAAAxvbGRMYXRlc3RDUEYFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgkAAGUAAAACCQEAAAAVb3BlbkludGVyZXNldE5vdGlvbmFsAAAAAAUAAAAMb3Blbk5vdGlvbmFsCQAAAgAAAAECAAAAFENsb3NlIHBvc2l0aW9uIGZpcnN0BAAAAA9uZXdQb3NpdGlvblNpemUIBQAAAA0kdDAyMzk5MzI2ODkxAAAAAl8xBAAAABduZXdQb3NpdGlvblJlbWFpbk1hcmdpbggFAAAADSR0MDIzOTkzMjY4OTEAAAACXzIEAAAAFm5ld1Bvc2lpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAyMzk5MzI2ODkxAAAAAl8zBAAAABRuZXdQb3NpdGlvbkxhdGVzdENQRggFAAAADSR0MDIzOTkzMjY4OTEAAAACXzQEAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDIzOTkzMjY4OTEAAAACXzUEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAyMzk5MzI2ODkxAAAAAl82BAAAACRiYXNlQXNzZXREZWx0YVRoaXNGdW5kaW5nUGVyaW9kQWZ0ZXIIBQAAAA0kdDAyMzk5MzI2ODkxAAAAAl83BAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMjM5OTMyNjg5MQAAAAJfOAQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAyMzk5MzI2ODkxAAAAAl85BAAAABpvcGVuSW50ZXJlc2V0Tm90aW9uYWxBZnRlcggFAAAADSR0MDIzOTkzMjY4OTEAAAADXzEwCQAETgAAAAIJAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9uZXdQb3NpdGlvblNpemUFAAAAF25ld1Bvc2l0aW9uUmVtYWluTWFyZ2luBQAAABZuZXdQb3NpaW9uT3Blbk5vdGlvbmFsBQAAABRuZXdQb3NpdGlvbkxhdGVzdENQRgkBAAAACXVwZGF0ZUFtbQAAAAYFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgUAAAAab3BlbkludGVyZXNldE5vdGlvbmFsQWZ0ZXIAAAABaQEAAAAQaW5jcmVhc2VQb3NpdGlvbgAAAAMAAAAKX2RpcmVjdGlvbgAAAAlfbGV2ZXJhZ2UAAAATX21pbkJhc2VBc3NldEFtb3VudAQAAAAKX3Jhd0Ftb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AwMDAwMDAwMJAQAAAAIhPQAAAAIFAAAACl9kaXJlY3Rpb24FAAAACERJUl9MT05HCQEAAAACIT0AAAACBQAAAApfZGlyZWN0aW9uBQAAAAlESVJfU0hPUlQHBgkAAGcAAAACAAAAAAAAAAAABQAAAApfcmF3QW1vdW50BgMJAABmAAAAAgkAAGgAAAACAAAAAAAAAAABBQAAAAxERUNJTUFMX1VOSVQFAAAACV9sZXZlcmFnZQYJAABmAAAAAgUAAAAJX2xldmVyYWdlCQAAaAAAAAIAAAAAAAAAAAMFAAAADERFQ0lNQUxfVU5JVAYJAQAAAAEhAAAAAQkBAAAAC2luaXRpYWxpemVkAAAAAAYJAQAAAAIhPQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQJAQAAAApxdW90ZUFzc2V0AAAAAAYJAQAAAAEhAAAAAQkBAAAAFnJlcXVpcmVNb3JlTWFyZ2luUmF0aW8AAAADCQEAAAAEZGl2ZAAAAAIFAAAADERFQ0lNQUxfVU5JVAUAAAAJX2xldmVyYWdlCQEAAAAPaW5pdE1hcmdpblJhdGlvAAAAAAYGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABAgAAACNJbnZhbGlkIGluY3JlYXNlUG9zaXRpb24gcGFyYW1ldGVycwQAAAAJZmVlQW1vdW50CQEAAAAEbXVsZAAAAAIFAAAACl9yYXdBbW91bnQJAQAAAANmZWUAAAAABAAAAAdfYW1vdW50CQAAZQAAAAIFAAAACl9yYXdBbW91bnQFAAAACWZlZUFtb3VudAQAAAANJHQwMjc5MjYyODA3OAkBAAAAC2dldFBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD29sZFBvc2l0aW9uU2l6ZQgFAAAADSR0MDI3OTI2MjgwNzgAAAACXzEEAAAAEW9sZFBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMjc5MjYyODA3OAAAAAJfMgQAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAyNzkyNjI4MDc4AAAAAl8zBAAAABRvbGRQb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDI3OTI2MjgwNzgAAAACXzQEAAAADWlzTmV3UG9zaXRpb24JAAAAAAAAAgUAAAAPb2xkUG9zaXRpb25TaXplAAAAAAAAAAAABAAAAA9pc1NhbWVEaXJlY3Rpb24DCQAAZgAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAhESVJfTE9ORwkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAlESVJfU0hPUlQEAAAADmV4cGFuZEV4aXN0aW5nAwkBAAAAASEAAAABBQAAAA1pc05ld1Bvc2l0aW9uBQAAAA9pc1NhbWVEaXJlY3Rpb24HBAAAAAVpc0FkZAkAAAAAAAACBQAAAApfZGlyZWN0aW9uBQAAAAhESVJfTE9ORwQAAAANJHQwMjgzNjczMDY1NgMDBQAAAA1pc05ld1Bvc2l0aW9uBgUAAAAOZXhwYW5kRXhpc3RpbmcEAAAADG9wZW5Ob3Rpb25hbAkBAAAABG11bGQAAAACBQAAAAdfYW1vdW50BQAAAAlfbGV2ZXJhZ2UEAAAADSR0MDI4NzkwMjkwNDIJAQAAAAlzd2FwSW5wdXQAAAACBQAAAAVpc0FkZAUAAAAMb3Blbk5vdGlvbmFsBAAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQIBQAAAA0kdDAyODc5MDI5MDQyAAAAAl8xBAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMjg3OTAyOTA0MgAAAAJfMgQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMjg3OTAyOTA0MgAAAAJfMwQAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyCAUAAAANJHQwMjg3OTAyOTA0MgAAAAJfNAQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDI4NzkwMjkwNDIAAAACXzUEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMjg3OTAyOTA0MgAAAAJfNgMDCQEAAAACIT0AAAACBQAAABNfbWluQmFzZUFzc2V0QW1vdW50AAAAAAAAAAAACQAAZgAAAAIFAAAAE19taW5CYXNlQXNzZXRBbW91bnQJAQAAAANhYnMAAAABBQAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQHCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADUxpbWl0IGVycm9yOiAJAAGkAAAAAQkBAAAAA2FicwAAAAEFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAIAAAADIDwgCQABpAAAAAEFAAAAE19taW5CYXNlQXNzZXRBbW91bnQEAAAAD25ld1Bvc2l0aW9uU2l6ZQkAAGQAAAACBQAAAA9vbGRQb3NpdGlvblNpemUFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAQAAAAZaW5jcmVhc2VNYXJnaW5SZXF1aXJlbWVudAkBAAAABGRpdmQAAAACBQAAAAxvcGVuTm90aW9uYWwFAAAACV9sZXZlcmFnZQQAAAANJHQwMjk0MjMyOTY3NgkBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEBQAAAA9vbGRQb3NpdGlvblNpemUFAAAAEW9sZFBvc2l0aW9uTWFyZ2luBQAAABRvbGRQb3NpdGlvbkxzdFVwZENQRgUAAAAZaW5jcmVhc2VNYXJnaW5SZXF1aXJlbWVudAQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwMjk0MjMyOTY3NgAAAAJfMQQAAAACeDEIBQAAAA0kdDAyOTQyMzI5Njc2AAAAAl8yBAAAAAJ4MggFAAAADSR0MDI5NDIzMjk2NzYAAAACXzMEAAAADG9sZExhdGVzdENQRggFAAAADSR0MDI5NDIzMjk2NzYAAAACXzQJAAUcAAAACgUAAAAPbmV3UG9zaXRpb25TaXplBQAAAAxyZW1haW5NYXJnaW4JAABkAAAAAgUAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwFAAAADG9wZW5Ob3Rpb25hbAUAAAAMb2xkTGF0ZXN0Q1BGBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAJGJhc2VBc3NldERlbHRhVGhpc0Z1bmRpbmdQZXJpb2RBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIJAABkAAAAAgkBAAAAFW9wZW5JbnRlcmVzZXROb3Rpb25hbAAAAAAFAAAADG9wZW5Ob3Rpb25hbAQAAAAMb3Blbk5vdGlvbmFsCQEAAAAEbXVsZAAAAAIFAAAAB19hbW91bnQFAAAACV9sZXZlcmFnZQQAAAANJHQwMzAzNDkzMDQ2NQkBAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD1BOTF9PUFRJT05fU1BPVAQAAAATb2xkUG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDMwMzQ5MzA0NjUAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDAzMDM0OTMwNDY1AAAAAl8yAwkAAGYAAAACBQAAABNvbGRQb3NpdGlvbk5vdGlvbmFsBQAAAAxvcGVuTm90aW9uYWwJAAACAAAAAQIAAAAuVXNlIGRlY3JlYXNlUG9zaXRpb24gdG8gZGVjcmVhc2UgcG9zaXRpb24gc2l6ZQkAAAIAAAABAgAAABRDbG9zZSBwb3NpdGlvbiBmaXJzdAQAAAAPbmV3UG9zaXRpb25TaXplCAUAAAANJHQwMjgzNjczMDY1NgAAAAJfMQQAAAAXbmV3UG9zaXRpb25SZW1haW5NYXJnaW4IBQAAAA0kdDAyODM2NzMwNjU2AAAAAl8yBAAAABZuZXdQb3NpaW9uT3Blbk5vdGlvbmFsCAUAAAANJHQwMjgzNjczMDY1NgAAAAJfMwQAAAAUbmV3UG9zaXRpb25MYXRlc3RDUEYIBQAAAA0kdDAyODM2NzMwNjU2AAAAAl80BAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAyODM2NzMwNjU2AAAAAl81BAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMjgzNjczMDY1NgAAAAJfNgQAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyCAUAAAANJHQwMjgzNjczMDY1NgAAAAJfNwQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDI4MzY3MzA2NTYAAAACXzgEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMjgzNjczMDY1NgAAAAJfOQQAAAAab3BlbkludGVyZXNldE5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAyODM2NzMwNjU2AAAAA18xMAQAAAAMZmVlVG9TdGFrZXJzCQAAaQAAAAIFAAAACWZlZUFtb3VudAAAAAAAAAAAAgQAAAAOZmVlVG9JbnN1cmFuY2UJAABlAAAAAgUAAAAJZmVlQW1vdW50BQAAAAxmZWVUb1N0YWtlcnMEAAAABXN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADmxvY2tOZXV0cmlub1NQCQAETAAAAAIJAAQlAAAAAQkBAAAADnN0YWtpbmdBZGRyZXNzAAAAAAkABEwAAAACBQAAAAhBTExfRkVFUwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAAB19hbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAFc3Rha2UFAAAABXN0YWtlBAAAABBkZXBvc2l0SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAHZGVwb3NpdAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAADmZlZVRvSW5zdXJhbmNlBQAAAANuaWwDCQAAAAAAAAIFAAAAEGRlcG9zaXRJbnN1cmFuY2UFAAAAEGRlcG9zaXRJbnN1cmFuY2UJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9uZXdQb3NpdGlvblNpemUFAAAAF25ld1Bvc2l0aW9uUmVtYWluTWFyZ2luBQAAABZuZXdQb3NpaW9uT3Blbk5vdGlvbmFsBQAAABRuZXdQb3NpdGlvbkxhdGVzdENQRgkBAAAACXVwZGF0ZUFtbQAAAAYFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgUAAAAab3BlbkludGVyZXNldE5vdGlvbmFsQWZ0ZXIJAQAAAAt0cmFuc2ZlckZlZQAAAAEFAAAADGZlZVRvU3Rha2VycwkBAAAADXVwZGF0ZUJhbGFuY2UAAAABCQAAZAAAAAIJAQAAAAhjYmFsYW5jZQAAAAAFAAAAB19hbW91bnQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAlhZGRNYXJnaW4AAAAABAAAAApfcmF3QW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQDAwMDCQEAAAACIT0AAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkCQEAAAAKcXVvdGVBc3NldAAAAAAGCQEAAAABIQAAAAEJAQAAABNyZXF1aXJlT3BlblBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIGCQEAAAABIQAAAAEJAQAAAAtpbml0aWFsaXplZAAAAAAGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABAgAAABxJbnZhbGlkIGFkZE1hcmdpbiBwYXJhbWV0ZXJzBAAAAAlmZWVBbW91bnQJAQAAAARtdWxkAAAAAgUAAAAKX3Jhd0Ftb3VudAkBAAAAA2ZlZQAAAAAEAAAAB19hbW91bnQJAABlAAAAAgUAAAAKX3Jhd0Ftb3VudAUAAAAJZmVlQW1vdW50BAAAAA0kdDAzMTkzMTMyMDgzCQEAAAALZ2V0UG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPb2xkUG9zaXRpb25TaXplCAUAAAANJHQwMzE5MzEzMjA4MwAAAAJfMQQAAAARb2xkUG9zaXRpb25NYXJnaW4IBQAAAA0kdDAzMTkzMTMyMDgzAAAAAl8yBAAAABdvbGRQb3NpdGlvbk9wZW5Ob3Rpb25hbAgFAAAADSR0MDMxOTMxMzIwODMAAAACXzMEAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMzE5MzEzMjA4MwAAAAJfNAQAAAAMZmVlVG9TdGFrZXJzCQAAaQAAAAIFAAAACWZlZUFtb3VudAAAAAAAAAAAAgQAAAAOZmVlVG9JbnN1cmFuY2UJAABlAAAAAgUAAAAJZmVlQW1vdW50BQAAAAxmZWVUb1N0YWtlcnMEAAAABXN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADmxvY2tOZXV0cmlub1NQCQAETAAAAAIJAAQlAAAAAQkBAAAADnN0YWtpbmdBZGRyZXNzAAAAAAkABEwAAAACBQAAAAhBTExfRkVFUwUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAAB19hbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAFc3Rha2UFAAAABXN0YWtlBAAAABBkZXBvc2l0SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAHZGVwb3NpdAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAADmZlZVRvSW5zdXJhbmNlBQAAAANuaWwDCQAAAAAAAAIFAAAAEGRlcG9zaXRJbnN1cmFuY2UFAAAAEGRlcG9zaXRJbnN1cmFuY2UJAAROAAAAAgkABE4AAAACCQEAAAAOdXBkYXRlUG9zaXRpb24AAAAFCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPb2xkUG9zaXRpb25TaXplCQAAZAAAAAIFAAAAEW9sZFBvc2l0aW9uTWFyZ2luCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQFAAAAF29sZFBvc2l0aW9uT3Blbk5vdGlvbmFsBQAAABRvbGRQb3NpdGlvbkxzdFVwZENQRgkBAAAAC3RyYW5zZmVyRmVlAAAAAQUAAAAMZmVlVG9TdGFrZXJzCQEAAAANdXBkYXRlQmFsYW5jZQAAAAEJAABkAAAAAgkBAAAACGNiYWxhbmNlAAAAAAUAAAAHX2Ftb3VudAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADHJlbW92ZU1hcmdpbgAAAAEAAAAHX2Ftb3VudAMDAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAHX2Ftb3VudAYJAQAAAAEhAAAAAQkBAAAAE3JlcXVpcmVPcGVuUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgYJAQAAAAEhAAAAAQkBAAAAC2luaXRpYWxpemVkAAAAAAYJAQAAAAZwYXVzZWQAAAAACQAAAgAAAAECAAAAH0ludmFsaWQgcmVtb3ZlTWFyZ2luIHBhcmFtZXRlcnMEAAAADSR0MDMzMDE2MzMxNjgJAQAAAAtnZXRQb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA9vbGRQb3NpdGlvblNpemUIBQAAAA0kdDAzMzAxNjMzMTY4AAAAAl8xBAAAABFvbGRQb3NpdGlvbk1hcmdpbggFAAAADSR0MDMzMDE2MzMxNjgAAAACXzIEAAAAF29sZFBvc2l0aW9uT3Blbk5vdGlvbmFsCAUAAAANJHQwMzMwMTYzMzE2OAAAAAJfMwQAAAAUb2xkUG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDAzMzAxNjMzMTY4AAAAAl80BAAAAAttYXJnaW5EZWx0YQkBAAAAAS0AAAABBQAAAAdfYW1vdW50BAAAAA0kdDAzMzIwNTMzNDAwCQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAAD29sZFBvc2l0aW9uU2l6ZQUAAAARb2xkUG9zaXRpb25NYXJnaW4FAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGBQAAAAttYXJnaW5EZWx0YQQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwMzMyMDUzMzQwMAAAAAJfMQQAAAAHYmFkRGVidAgFAAAADSR0MDMzMjA1MzM0MDAAAAACXzIEAAAAAngxCAUAAAANJHQwMzMyMDUzMzQwMAAAAAJfMwQAAAAKbGF0ZXN0Q1BGMQgFAAAADSR0MDMzMjA1MzM0MDAAAAACXzQDCQEAAAACIT0AAAACBQAAAAdiYWREZWJ0AAAAAAAAAAAACQAAAgAAAAECAAAAG0ludmFsaWQgYWRkZWQgbWFyZ2luIGFtb3VudAQAAAAHdW5zdGFrZQkAA/wAAAAECQEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAAAgAAAA51bmxvY2tOZXV0cmlubwkABEwAAAACBQAAAAdfYW1vdW50CQAETAAAAAIJAAJYAAAAAQkBAAAACnF1b3RlQXNzZXQAAAAABQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAHdW5zdGFrZQUAAAAHdW5zdGFrZQkABE4AAAACCQAETgAAAAIJAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9vbGRQb3NpdGlvblNpemUFAAAADHJlbWFpbk1hcmdpbgUAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwFAAAACmxhdGVzdENQRjEJAQAAAAh3aXRoZHJhdwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAHX2Ftb3VudAkBAAAADXVwZGF0ZUJhbGFuY2UAAAABCQAAZQAAAAIJAQAAAAhjYmFsYW5jZQAAAAAFAAAAB19hbW91bnQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAADWNsb3NlUG9zaXRpb24AAAAAAwMDCQEAAAABIQAAAAEJAQAAABNyZXF1aXJlT3BlblBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIGCQEAAAABIQAAAAEJAQAAAAtpbml0aWFsaXplZAAAAAAGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABAgAAACBJbnZhbGlkIGNsb3NlUG9zaXRpb24gcGFyYW1ldGVycwQAAAANJHQwMzQxMjIzNDQ4MAkBAAAAFWludGVybmFsQ2xvc2VQb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAJ4MQgFAAAADSR0MDM0MTIyMzQ0ODAAAAACXzEEAAAAB2JhZERlYnQIBQAAAA0kdDAzNDEyMjM0NDgwAAAAAl8yBAAAAAtyZWFsaXplZFBubAgFAAAADSR0MDM0MTIyMzQ0ODAAAAACXzMEAAAADW1hcmdpblRvVmF1bHQIBQAAAA0kdDAzNDEyMjM0NDgwAAAAAl80BAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzQxMjIzNDQ4MAAAAAJfNQQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzQxMjIzNDQ4MAAAAAJfNgQAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyCAUAAAANJHQwMzQxMjIzNDQ4MAAAAAJfNwQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDM0MTIyMzQ0ODAAAAACXzgEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMzQxMjIzNDQ4MAAAAAJfOQQAAAAab3BlbkludGVyZXNldE5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAzNDEyMjM0NDgwAAAAA18xMAMJAABmAAAAAgUAAAAHYmFkRGVidAAAAAAAAAAAAAkAAAIAAAABAgAAACZVbmFibGUgdG8gY2xvc2UgcG9zaXRpb24gd2l0aCBiYWQgZGVidAQAAAAOd2l0aGRyYXdBbW91bnQJAQAAAANhYnMAAAABBQAAAA1tYXJnaW5Ub1ZhdWx0BAAAAAJiZAkAAGUAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAA53aXRoZHJhd0Ftb3VudAQAAAANJHQwMzQ2NzMzNDc2OQMJAABmAAAAAgAAAAAAAAAAAAUAAAACYmQJAAUUAAAAAgAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAAAmJkCQAFFAAAAAIFAAAAAmJkAAAAAAAAAAAABAAAAAJuYggFAAAADSR0MDM0NjczMzQ3NjkAAAACXzEEAAAABWZyb21pCAUAAAANJHQwMzQ2NzMzNDc2OQAAAAJfMgQAAAABeAMJAABmAAAAAgUAAAAFZnJvbWkAAAAAAAAAAAAEAAAAEXdpdGhkcmF3SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAId2l0aGRyYXcJAARMAAAAAgUAAAAFZnJvbWkFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABF3aXRoZHJhd0luc3VyYW5jZQUAAAARd2l0aGRyYXdJbnN1cmFuY2UFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FAAAAA25pbAMJAAAAAAAAAgUAAAABeAUAAAABeAQAAAAHdW5zdGFrZQkAA/wAAAAECQEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAAAgAAAA51bmxvY2tOZXV0cmlubwkABEwAAAACCQAAZQAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAAAVmcm9taQkABEwAAAACCQACWAAAAAEJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAB3Vuc3Rha2UFAAAAB3Vuc3Rha2UJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAQAAAA5kZWxldGVQb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQEAAAAJdXBkYXRlQW1tAAAABgUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAACRiYXNlQXNzZXREZWx0YVRoaXNGdW5kaW5nUGVyaW9kQWZ0ZXIFAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIFAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyBQAAABpvcGVuSW50ZXJlc2V0Tm90aW9uYWxBZnRlcgkBAAAACHdpdGhkcmF3AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAA53aXRoZHJhd0Ftb3VudAkBAAAADXVwZGF0ZUJhbGFuY2UAAAABBQAAAAJuYgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACWxpcXVpZGF0ZQAAAAEAAAAHX3RyYWRlcgQAAAALbWFyZ2luUmF0aW8DCQEAAAAWaXNPdmVyRmx1Y3R1YXRpb25MaW1pdAAAAAAJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAARUE5MX09QVElPTl9PUkFDTEUJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAAPUE5MX09QVElPTl9TUE9UAwMDCQEAAAABIQAAAAEJAQAAABZyZXF1aXJlTW9yZU1hcmdpblJhdGlvAAAAAwUAAAALbWFyZ2luUmF0aW8JAQAAAANtbXIAAAAABwYJAQAAAAEhAAAAAQkBAAAAC2luaXRpYWxpemVkAAAAAAYJAQAAAAZwYXVzZWQAAAAACQAAAgAAAAECAAAAE1VuYWJsZSB0byBsaXF1aWRhdGUEAAAADSR0MDM1OTQxMzYyNzEJAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAJ4MQgFAAAADSR0MDM1OTQxMzYyNzEAAAACXzEEAAAAB2JhZERlYnQIBQAAAA0kdDAzNTk0MTM2MjcxAAAAAl8yBAAAAAJ4MggFAAAADSR0MDM1OTQxMzYyNzEAAAACXzMEAAAADW1hcmdpblRvVmF1bHQIBQAAAA0kdDAzNTk0MTM2MjcxAAAAAl80BAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzU5NDEzNjI3MQAAAAJfNQQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzU5NDEzNjI3MQAAAAJfNgQAAAAkYmFzZUFzc2V0RGVsdGFUaGlzRnVuZGluZ1BlcmlvZEFmdGVyCAUAAAANJHQwMzU5NDEzNjI3MQAAAAJfNwQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDM1OTQxMzYyNzEAAAACXzgEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMzU5NDEzNjI3MQAAAAJfOQQAAAAab3BlbkludGVyZXNldE5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAzNTk0MTM2MjcxAAAAA18xMAQAAAAZZXhjaGFuZ2VkUXVvdGVBc3NldEFtb3VudAgFAAAADSR0MDM1OTQxMzYyNzEAAAADXzExBAAAAA9mZWVUb0xpcXVpZGF0b3IJAABpAAAAAgkBAAAABG11bGQAAAACBQAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50CQEAAAATbGlxdWlkYXRpb25GZWVSYXRpbwAAAAAAAAAAAAAAAAIEAAAADSR0MDM2MzYxMzY3NjUDCQAAZgAAAAIFAAAAD2ZlZVRvTGlxdWlkYXRvcgUAAAANbWFyZ2luVG9WYXVsdAkABRUAAAADCQAAZQAAAAIFAAAAD2ZlZVRvTGlxdWlkYXRvcgUAAAANbWFyZ2luVG9WYXVsdAUAAAANbWFyZ2luVG9WYXVsdAkAAGUAAAACCQAAZAAAAAIFAAAAB2JhZERlYnQFAAAAD2ZlZVRvTGlxdWlkYXRvcgUAAAANbWFyZ2luVG9WYXVsdAkABRUAAAADAAAAAAAAAAAACQAAZQAAAAIFAAAADW1hcmdpblRvVmF1bHQFAAAAD2ZlZVRvTGlxdWlkYXRvcgUAAAAHYmFkRGVidAQAAAASbGlxdWlkYXRpb25CYWREZWJ0CAUAAAANJHQwMzYzNjEzNjc2NQAAAAJfMQQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwMzYzNjEzNjc2NQAAAAJfMgQAAAAMdG90YWxCYWREZWJ0CAUAAAANJHQwMzYzNjEzNjc2NQAAAAJfMwQAAAACYmQJAABlAAAAAgkBAAAACGNiYWxhbmNlAAAAAAUAAAAPZmVlVG9MaXF1aWRhdG9yBAAAAA0kdDAzNjgxMzM2OTAxAwkAAGYAAAACAAAAAAAAAAAABQAAAAJiZAkABRQAAAACAAAAAAAAAAAACQEAAAADYWJzAAAAAQUAAAACYmQJAAUUAAAAAgUAAAACYmQAAAAAAAAAAAAEAAAAAm5iCAUAAAANJHQwMzY4MTMzNjkwMQAAAAJfMQQAAAAFZnJvbWkIBQAAAA0kdDAzNjgxMzM2OTAxAAAAAl8yBAAAAAF4AwkAAGYAAAACBQAAAAVmcm9taQAAAAAAAAAAAAQAAAARd2l0aGRyYXdJbnN1cmFuY2UJAAP8AAAABAkBAAAAEGluc3VyYW5jZUFkZHJlc3MAAAAAAgAAAAh3aXRoZHJhdwkABEwAAAACBQAAAAVmcm9taQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEXdpdGhkcmF3SW5zdXJhbmNlBQAAABF3aXRoZHJhd0luc3VyYW5jZQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUAAAADbmlsAwkAAAAAAAACBQAAAAF4BQAAAAF4BAAAAAd1bnN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADnVubG9ja05ldXRyaW5vCQAETAAAAAIJAABlAAAAAgUAAAAPZmVlVG9MaXF1aWRhdG9yBQAAAAVmcm9taQkABEwAAAACCQACWAAAAAEJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAB3Vuc3Rha2UFAAAAB3Vuc3Rha2UJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAQAAAA5kZWxldGVQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIJAQAAAAl1cGRhdGVBbW0AAAAGBQAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAJGJhc2VBc3NldERlbHRhVGhpc0Z1bmRpbmdQZXJpb2RBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIFAAAAGm9wZW5JbnRlcmVzZXROb3Rpb25hbEFmdGVyCQEAAAAId2l0aGRyYXcAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAD2ZlZVRvTGlxdWlkYXRvcgkBAAAADXVwZGF0ZUJhbGFuY2UAAAABBQAAAAJuYgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACnBheUZ1bmRpbmcAAAAABAAAABVmdW5kaW5nQmxvY2tUaW1lc3RhbXAJAQAAABluZXh0RnVuZGluZ0Jsb2NrVGltZXN0YW1wAAAAAAMDAwkAAGYAAAACBQAAABVmdW5kaW5nQmxvY2tUaW1lc3RhbXAIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAhSW52YWxpZCBmdW5kaW5nIGJsb2NrIHRpbWVzdGFtcDogCQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAgAAAAMgPCAJAAGkAAAAAQUAAAAVZnVuZGluZ0Jsb2NrVGltZXN0YW1wBAAAAA91bmRlcmx5aW5nUHJpY2UJAQAAABJnZXRPcmFjbGVUd2FwUHJpY2UAAAAABAAAAA1zcG90VHdhcFByaWNlCQEAAAAQZ2V0VHdhcFNwb3RQcmljZQAAAAAEAAAAB3ByZW1pdW0JAABlAAAAAgUAAAANc3BvdFR3YXBQcmljZQUAAAAPdW5kZXJseWluZ1ByaWNlBAAAAA9wcmVtaXVtRnJhY3Rpb24JAQAAAARkaXZkAAAAAgkBAAAABG11bGQAAAACBQAAAAdwcmVtaXVtCQEAAAAUZnVuZGluZ1BlcmlvZERlY2ltYWwAAAAABQAAAAdPTkVfREFZCQEAAAANdXBkYXRlRnVuZGluZwAAAAQAAAAAAAAAAAAJAABkAAAAAgUAAAAVZnVuZGluZ0Jsb2NrVGltZXN0YW1wCQEAAAAUZnVuZGluZ1BlcmlvZFNlY29uZHMAAAAACQAAZAAAAAIJAQAAAAlsYXRlc3RDUEYAAAAABQAAAA9wcmVtaXVtRnJhY3Rpb24JAQAAAARkaXZkAAAAAgUAAAAPcHJlbWl1bUZyYWN0aW9uBQAAAA91bmRlcmx5aW5nUHJpY2UAAAABaQEAAAAFdl9nZXQAAAABAAAAB190cmFkZXIEAAAADSR0MDM4Mzc1Mzg0MjgJAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAJ4MQgFAAAADSR0MDM4Mzc1Mzg0MjgAAAACXzEEAAAAAngyCAUAAAANJHQwMzgzNzUzODQyOAAAAAJfMgQAAAACeDMIBQAAAA0kdDAzODM3NTM4NDI4AAAAAl8zBAAAAAJ4NAgFAAAADSR0MDM4Mzc1Mzg0MjgAAAACXzQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAXMAAAABBQAAAAJ4MgkBAAAAAXMAAAABBQAAAAJ4MwkBAAAAAXMAAAABBQAAAAJ4NAkBAAAAAXMAAAABCQEAAAAOZ2V0TWFyZ2luUmF0aW8AAAABBQAAAAdfdHJhZGVyAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAQAAAA5hZG1pblB1YmxpY0tleQAAAABCHTME", "height": 2107961, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "k_ora_key"
5+
6+let b = "k_ora"
7+
8+let c = "k_balance"
9+
10+let d = "k_positionSize"
11+
12+let e = "k_positionMargin"
13+
14+let f = "k_positionOpenNotional"
15+
16+let g = "k_positionFraction"
17+
18+let h = "k_initialized"
19+
20+let i = "k_paused"
21+
22+let j = "k_fee"
23+
24+let k = "k_fundingPeriod"
25+
26+let l = "k_initMarginRatio"
27+
28+let m = "k_mmr"
29+
30+let n = "k_liquidationFeeRatio"
31+
32+let o = "k_spreadLimit"
33+
34+let p = "k_maxPriceImpact"
35+
36+let q = "k_lastDataStr"
37+
38+let r = "k_lastMinuteId"
39+
40+let s = "k_twapDataLastCumulativePrice"
41+
42+let t = "k_twapDataLastPrice"
43+
44+let u = "k_twap"
45+
46+let v = "k_latestPremiumFraction"
47+
48+let w = "k_nextFundingBlockMinTimestamp"
49+
50+let x = "k_fundingRate"
51+
52+let y = "k_qtAstR"
53+
54+let z = "k_bsAstR"
55+
56+let A = "k_baseAssetDelta"
57+
58+let B = "k_totalPositionSize"
59+
60+let C = "k_cumulativeNotional"
61+
62+let D = "k_openInteresetNotional"
63+
64+let E = "k_coordinatorAddress"
65+
66+let F = "k_insurance_address"
67+
68+let G = "k_admin_address"
69+
70+let H = "k_admin_public_key"
71+
72+let I = "k_quote_asset"
73+
74+let J = "k_quote_staking"
75+
76+let K = "k_staking_address"
77+
78+func L () = valueOrErrorMessage(addressFromString(getStringValue(this, E)), "Coordinator not set")
79+
80+
81+func M () = addressFromString(getStringValue(L(), G))
82+
83+
84+func N () = fromBase58String(getStringValue(L(), H))
85+
86+
87+func O () = fromBase58String(getStringValue(L(), I))
88+
89+
90+func P () = valueOrErrorMessage(addressFromString(getStringValue(L(), J)), "Quote assete staking not set")
91+
92+
93+func Q () = valueOrErrorMessage(addressFromString(getStringValue(L(), K)), "Insurance not set")
94+
95+
96+func R () = valueOrErrorMessage(addressFromString(getStringValue(L(), F)), "Insurance not set")
97+
98+
99+let S = 1
100+
101+let T = 2
102+
103+let U = 60
104+
105+let V = 15
106+
107+let W = 1000
108+
109+let X = (1 * (((((10 * 10) * 10) * 10) * 10) * 10))
110+
111+let Y = (86400 * X)
112+
113+let Z = 100
114+
115+let aa = 1
116+
117+let ab = 2
118+
119+func ac (ad) = (toString(ad) + ",")
120+
121+
122+func ae (ad,af) = fraction(ad, X, af, HALFEVEN)
123+
124+
125+func ag (ad,af) = fraction(ad, af, X, HALFEVEN)
126+
127+
128+func ah (ad) = if ((ad > 0))
129+ then ad
130+ else -(ad)
131+
132+
133+func ai (aj,ak) = ((aj + "_") + ak)
134+
135+
136+func al (am,an,ao) = {
137+ let ap = (am - an)
138+ if (if (ao)
139+ then (0 > ap)
140+ else false)
141+ then throw("Invalid margin")
142+ else if (if (!(ao))
143+ then (ap >= 0)
144+ else false)
145+ then throw("Invalid margin")
146+ else true
147+ }
148+
149+
150+func aq (ar) = valueOrErrorMessage(getInteger(this, ar), ("no value for " + ar))
151+
152+
153+func as () = aq(c)
154+
155+
156+func at () = aq(j)
157+
158+
159+func au () = aq(l)
160+
161+
162+func av () = aq(y)
163+
164+
165+func aw () = aq(z)
166+
167+
168+func ax () = aq(A)
169+
170+
171+func ay () = aq(B)
172+
173+
174+func az () = aq(C)
175+
176+
177+func aA () = aq(v)
178+
179+
180+func aB () = aq(D)
181+
182+
183+func aC () = aq(w)
184+
185+
186+func aD () = aq(k)
187+
188+
189+func aE () = (aD() * X)
190+
191+
192+func aF () = (aD() * W)
193+
194+
195+func aG () = aq(m)
196+
197+
198+func aH () = aq(n)
199+
200+
201+func aI () = aq(o)
202+
203+
204+func aJ () = aq(p)
205+
206+
207+func aK (aL) = {
208+ let aM = getInteger(this, ai(d, aL))
209+ let aN = aM
210+ if ($isInstanceOf(aN, "Int"))
211+ then {
212+ let aO = aN
213+ $Tuple4(aO, getIntegerValue(this, ai(e, aL)), getIntegerValue(this, ai(f, aL)), getIntegerValue(this, ai(g, aL)))
214+ }
215+ else $Tuple4(0, 0, 0, 0)
216+ }
217+
218+
219+func aP (aQ) = if ((aK(aQ)._1 == 0))
220+ then throw("No open position")
221+ else true
222+
223+
224+func aR () = valueOrElse(getBoolean(this, h), false)
225+
226+
227+func aS () = valueOrElse(getBoolean(this, i), false)
228+
229+
230+func aT (aU,aV,aW) = if (aU)
231+ then {
232+ let aX = (aw() - aW)
233+ if ((0 >= aX))
234+ then throw("Tx lead to base asset reserve <= 0, revert")
235+ else $Tuple5((av() + aV), aX, (ax() - aW), (ay() + aW), (az() + aV))
236+ }
237+ else {
238+ let aY = (av() - aV)
239+ if ((0 >= aY))
240+ then throw("Tx lead to base quote reserve <= 0, revert")
241+ else $Tuple5(aY, (aw() + aW), (ax() + aW), (ay() - aW), (az() - aV))
242+ }
243+
244+
245+func aZ (aU,aV) = {
246+ let ba = av()
247+ let bb = aw()
248+ let bc = ae(ba, bb)
249+ let bd = ag(aV, bc)
250+ let ar = ag(ba, bb)
251+ let be = if (aU)
252+ then (ba + aV)
253+ else (ba - aV)
254+ let bf = ae(ar, be)
255+ let bg = ah((bf - bb))
256+ let bh = if (aU)
257+ then bg
258+ else -(bg)
259+ let bi = ((bd - bg) / bd)
260+ let bj = aJ()
261+ if ((bi > bj))
262+ then throw(((("Price impact " + toString(bi)) + " > max price impact ") + toString(bj)))
263+ else {
264+ let bk = aT(aU, aV, bg)
265+ let bl = bk._1
266+ let bm = bk._2
267+ let bn = bk._3
268+ let bo = bk._4
269+ let bp = bk._5
270+ $Tuple6(bh, bl, bm, bn, bo, bp)
271+ }
272+ }
273+
274+
275+func bq (br,bs,bt,bu) = {
276+ let bv = aA()
277+ let bw = if ((br != 0))
278+ then ag((bv - bt), br)
279+ else 0
280+ let bx = ((bu - bw) + bs)
281+ let by = if ((0 > bx))
282+ then $Tuple2(0, ah(bx))
283+ else $Tuple2(ah(bx), 0)
284+ let bz = by._1
285+ let bA = by._2
286+ $Tuple4(bz, bA, bw, bv)
287+ }
288+
289+
290+func bB (bC,aW,bD,bE) = if ((aW == 0))
291+ then throw("Invalid base asset amount")
292+ else {
293+ let ar = ag(bD, bE)
294+ let bF = if (bC)
295+ then (bE + aW)
296+ else (bE - aW)
297+ let bG = ae(ar, bF)
298+ let bH = ah((bG - bD))
299+ let bI = aT(!(bC), bH, aW)
300+ let bl = bI._1
301+ let bm = bI._2
302+ let bn = bI._3
303+ let bo = bI._4
304+ let bp = bI._5
305+ $Tuple6(bH, bl, bm, bn, bo, bp)
306+ }
307+
308+
309+func bJ () = {
310+ let bK = valueOrErrorMessage(addressFromString(getStringValue(this, b)), "")
311+ let bL = getStringValue(this, a)
312+ getIntegerValue(bK, bL)
313+ }
314+
315+
316+func bM () = {
317+ let ba = av()
318+ let bb = aw()
319+ ae(ba, bb)
320+ }
321+
322+
323+func bN () = {
324+ let bO = bJ()
325+ let bP = bM()
326+ (ae(ah((bO - bP)), bO) > aI())
327+ }
328+
329+
330+func bQ (aQ,bR) = {
331+ let bS = aK(aQ)
332+ let aO = bS._1
333+ let bT = bS._2
334+ let bU = bS._3
335+ let bV = bS._4
336+ let bW = ah(aO)
337+ if ((bW == 0))
338+ then throw("Invalid position size")
339+ else {
340+ let bX = (0 > aO)
341+ let bY = if ((bR == aa))
342+ then {
343+ let bZ = bB(!(bX), bW, av(), aw())
344+ let ca = bZ._1
345+ let cb = bZ._2
346+ let cc = bZ._3
347+ let cd = bZ._4
348+ ca
349+ }
350+ else (bW * bJ())
351+ let ce = if (bX)
352+ then (bU - bY)
353+ else (bY - bU)
354+ $Tuple2(bY, ce)
355+ }
356+ }
357+
358+
359+func cf (aQ,bR) = {
360+ func cg () = 0
361+
362+ let ch = aK(aQ)
363+ let aO = ch._1
364+ let bT = ch._2
365+ let bU = ch._3
366+ let bV = ch._4
367+ let ci = bQ(aQ, bR)
368+ let bY = ci._1
369+ let ce = ci._2
370+ let cj = bq(aO, bT, bV, ce)
371+ let bz = cj._1
372+ let bA = cj._2
373+ ae((bz - bA), bY)
374+ }
375+
376+
377+func ck (aQ) = cf(aQ, aa)
378+
379+
380+func cl (aQ) = {
381+ let cm = aK(aQ)
382+ let aO = cm._1
383+ let bT = cm._2
384+ let bU = cm._3
385+ let bV = cm._4
386+ let cn = bQ(aQ, aa)
387+ let cb = cn._1
388+ let ce = cn._2
389+ let co = bq(aO, bT, bV, ce)
390+ let bz = co._1
391+ let bA = co._2
392+ let cc = co._3
393+ let cp = -(aO)
394+ let cq = ce
395+ let cr = -(bz)
396+ let cs = bB((aO > 0), ah(aO), av(), aw())
397+ let ct = cs._1
398+ let be = cs._2
399+ let bf = cs._3
400+ let cu = cs._4
401+ let cv = cs._5
402+ let cw = cs._6
403+ let cx = (aB() - bU)
404+ $Tuple11(cp, bA, cq, cr, be, bf, cu, cv, cw, cx, ct)
405+ }
406+
407+
408+func cy () = {
409+ let cz = ((lastBlock.timestamp / 1000) / 60)
410+ let cA = (cz - V)
411+ let cB = valueOrElse(getString(this, q), "")
412+ let cC = split(cB, ",")
413+ func cD (cE,cF) = if ((cA >= parseIntValue(cF)))
414+ then (cE :+ parseIntValue(cF))
415+ else cE
416+
417+ let cG = {
418+ let cH = cC
419+ let cI = size(cH)
420+ let cJ = nil
421+ func cK (cL,cM) = if ((cM >= cI))
422+ then cL
423+ else cD(cL, cH[cM])
424+
425+ func cN (cL,cM) = if ((cM >= cI))
426+ then cL
427+ else throw("List size exceeds 15")
428+
429+ cN(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cJ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
430+ }
431+ let cO = max(cG)
432+ let cP = valueOrElse(getInteger(this, r), 0)
433+ let cQ = valueOrElse(getInteger(this, ((s + "_") + toString(cP))), 0)
434+ let cR = valueOrElse(getInteger(this, ((t + "_") + toString(cP))), 0)
435+ let cS = (cQ + ((cz - cP) * cR))
436+ let cT = valueOrElse(getInteger(this, ((s + "_") + toString(cO))), 0)
437+ let cU = valueOrElse(getInteger(this, ((t + "_") + toString(cO))), 0)
438+ let cV = (cT + ((cA - cO) * cU))
439+ ((cS - cV) / V)
440+ }
441+
442+
443+func cW (cX,cY,cZ,da,db,dc,dd) = [IntegerEntry(l, cX), IntegerEntry(m, cY), IntegerEntry(n, cZ), IntegerEntry(k, da), IntegerEntry(j, db), IntegerEntry(o, dc), IntegerEntry(p, dd)]
444+
445+
446+func de (df,dg,bv,dh) = [IntegerEntry(A, df), IntegerEntry(w, dg), IntegerEntry(v, bv), IntegerEntry(x, dh)]
447+
448+
449+func di (ak,dj,dk,dl,dm) = [IntegerEntry(ai(d, ak), dj), IntegerEntry(ai(e, ak), dk), IntegerEntry(ai(f, ak), dl), IntegerEntry(ai(g, ak), dm)]
450+
451+
452+func dn (do) = {
453+ let cz = ((lastBlock.timestamp / 1000) / 60)
454+ let dp = valueOrElse(getInteger(this, r), 0)
455+ if ((dp > cz))
456+ then throw("TWAP out-of-order")
457+ else {
458+ let cP = if ((dp == 0))
459+ then cz
460+ else dp
461+ let cB = valueOrElse(getString(this, q), "")
462+ let dq = split(cB, ",")
463+ let cC = if ((size(dq) > V))
464+ then (removeByIndex(dq, 0) :+ toString(cz))
465+ else (dq :+ toString(cz))
466+ let dr = valueOrElse(getInteger(this, ((s + "_") + toString(dp))), 0)
467+ let ds = valueOrElse(getInteger(this, ((t + "_") + toString(dp))), do)
468+ let dt = (dr + ((cz - cP) * ds))
469+ func du (cE,dv) = ((cE + dv) + ",")
470+
471+ let dw = {
472+ let cH = cC
473+ let cI = size(cH)
474+ let cJ = ""
475+ func cK (cL,cM) = if ((cM >= cI))
476+ then cL
477+ else du(cL, cH[cM])
478+
479+ func cN (cL,cM) = if ((cM >= cI))
480+ then cL
481+ else throw("List size exceeds 15")
482+
483+ cN(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cK(cJ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
484+ }
485+ let dx = dropRight(dw, 1)
486+ let dy = if ((take(dx, 1) == ","))
487+ then drop(dx, 1)
488+ else dx
489+[IntegerEntry(((s + "_") + toString(cz)), dt), IntegerEntry(((t + "_") + toString(cz)), do), IntegerEntry(r, cz), StringEntry(q, dy)]
490+ }
491+ }
492+
493+
494+func dz (ba,bb,dA,dB,dC,dD) = ([IntegerEntry(y, ba), IntegerEntry(z, bb), IntegerEntry(A, dA), IntegerEntry(B, dB), IntegerEntry(C, dC), IntegerEntry(D, dD)] ++ dn(ae(ba, bb)))
495+
496+
497+func dE (ak) = [DeleteEntry(ai(d, ak)), DeleteEntry(ai(e, ak)), DeleteEntry(ai(f, ak)), DeleteEntry(ai(g, ak))]
498+
499+
500+func dF (ak,dG) = {
501+ let dH = assetBalance(this, O())
502+ if ((dG > dH))
503+ then throw(((("Unable to withdraw " + toString(dG)) + " from contract balance ") + toString(dH)))
504+ else [ScriptTransfer(ak, dG, O())]
505+ }
506+
507+
508+func dI (dJ) = if ((0 > dJ))
509+ then throw("Balance")
510+ else [IntegerEntry(c, dJ)]
511+
512+
513+func dK (dJ) = [ScriptTransfer(Q(), dJ, O())]
514+
515+
516+@Callable(dJ)
517+func pause () = if ((dJ.caller != M()))
518+ then throw("Invalid togglePause params")
519+ else [BooleanEntry(i, true)]
520+
521+
522+
523+@Callable(dJ)
524+func unpause () = if ((dJ.caller != M()))
525+ then throw("Invalid togglePause params")
526+ else [BooleanEntry(i, false)]
527+
528+
529+
530+@Callable(dJ)
531+func changeSettings (cX,cY,cZ,da,db,dc,dd) = if ((dJ.caller != M()))
532+ then throw("Invalid changeSettings params")
533+ else cW(cX, cY, cZ, da, db, dc, dd)
534+
535+
536+
537+@Callable(dJ)
538+func initialize (ba,bb,da,cX,cY,cZ,db,dL,dM,dN,dc,dd) = if (if (if (if (if (if (if (if (if (if ((0 >= ba))
539+ then true
540+ else (0 >= bb))
541+ then true
542+ else (0 >= da))
543+ then true
544+ else (0 >= cX))
545+ then true
546+ else (0 >= cY))
547+ then true
548+ else (0 >= cZ))
549+ then true
550+ else (0 >= db))
551+ then true
552+ else (0 >= dc))
553+ then true
554+ else (0 >= dd))
555+ then true
556+ else aR())
557+ then throw("Invalid initialize parameters")
558+ else ((((dz(ba, bb, 0, 0, 0, 0) ++ cW(cX, cY, cZ, da, db, dc, dd)) ++ de(0, (lastBlock.timestamp + da), 0, 0)) ++ dI(0)) ++ [BooleanEntry(h, true), StringEntry(b, dL), StringEntry(a, dM), StringEntry(E, dN)])
559+
560+
561+
562+@Callable(dJ)
563+func decreasePosition (dO,dG,dP,dQ) = if (if (if (if (if (if (if ((dO != S))
564+ then (dO != T)
565+ else false)
566+ then true
567+ else (0 >= dG))
568+ then true
569+ else if (((1 * X) > dP))
570+ then true
571+ else (dP > (3 * X)))
572+ then true
573+ else !(aR()))
574+ then true
575+ else !(al(ae(X, dP), au(), true)))
576+ then true
577+ else aS())
578+ then throw("Invalid decreasePosition parameters")
579+ else {
580+ let dR = aK(toString(dJ.caller))
581+ let dS = dR._1
582+ let dT = dR._2
583+ let dU = dR._3
584+ let dV = dR._4
585+ let dW = (dS == 0)
586+ let dX = if ((dS > 0))
587+ then (dO == S)
588+ else (dO == T)
589+ let dY = if (!(dW))
590+ then dX
591+ else false
592+ let dZ = (dO == S)
593+ let ea = if (if (dW)
594+ then true
595+ else dY)
596+ then throw("Use increasePosition to open new or increase position")
597+ else {
598+ let eb = ag(dG, dP)
599+ let ec = bQ(toString(dJ.caller), aa)
600+ let ed = ec._1
601+ let ce = ec._2
602+ if ((ed > eb))
603+ then {
604+ let ee = aZ(dZ, eb)
605+ let cp = ee._1
606+ let be = ee._2
607+ let bf = ee._3
608+ let cu = ee._4
609+ let cv = ee._5
610+ let cw = ee._6
611+ let ef = ah(cp)
612+ if (if ((dQ != 0))
613+ then (dQ > ef)
614+ else false)
615+ then throw(((("Too little basse asset exchanged, got " + toString(ef)) + " expected ") + toString(dQ)))
616+ else {
617+ let cq = if ((dS != 0))
618+ then ae(ag(ce, ef), dS)
619+ else 0
620+ let eg = bq(dS, dT, dV, cq)
621+ let bz = eg._1
622+ let bA = eg._2
623+ let bw = eg._3
624+ let eh = eg._4
625+ let ct = eb
626+ let ei = (ce - cq)
627+ let ej = if ((dS > 0))
628+ then ((ed - ct) - ei)
629+ else ((ei + ed) - ct)
630+ $Tuple10((dS + cp), bz, ah(ej), eh, bf, be, cu, cv, cw, (aB() - eb))
631+ }
632+ }
633+ else throw("Close position first")
634+ }
635+ let ek = ea._1
636+ let el = ea._2
637+ let em = ea._3
638+ let en = ea._4
639+ let bf = ea._5
640+ let be = ea._6
641+ let cu = ea._7
642+ let cv = ea._8
643+ let cw = ea._9
644+ let cx = ea._10
645+ (di(toString(dJ.caller), ek, el, em, en) ++ dz(be, bf, cu, cv, cw, cx))
646+ }
647+
648+
649+
650+@Callable(dJ)
651+func increasePosition (dO,dP,dQ) = {
652+ let eo = dJ.payments[0].amount
653+ if (if (if (if (if (if (if (if ((dO != S))
654+ then (dO != T)
655+ else false)
656+ then true
657+ else (0 >= eo))
658+ then true
659+ else if (((1 * X) > dP))
660+ then true
661+ else (dP > (3 * X)))
662+ then true
663+ else !(aR()))
664+ then true
665+ else (dJ.payments[0].assetId != O()))
666+ then true
667+ else !(al(ae(X, dP), au(), true)))
668+ then true
669+ else aS())
670+ then throw("Invalid increasePosition parameters")
671+ else {
672+ let ep = ag(eo, at())
673+ let dG = (eo - ep)
674+ let eq = aK(toString(dJ.caller))
675+ let dS = eq._1
676+ let dT = eq._2
677+ let dU = eq._3
678+ let dV = eq._4
679+ let dW = (dS == 0)
680+ let dX = if ((dS > 0))
681+ then (dO == S)
682+ else (dO == T)
683+ let dY = if (!(dW))
684+ then dX
685+ else false
686+ let dZ = (dO == S)
687+ let er = if (if (dW)
688+ then true
689+ else dY)
690+ then {
691+ let eb = ag(dG, dP)
692+ let es = aZ(dZ, eb)
693+ let bh = es._1
694+ let be = es._2
695+ let bf = es._3
696+ let cu = es._4
697+ let cv = es._5
698+ let cw = es._6
699+ if (if ((dQ != 0))
700+ then (dQ > ah(bh))
701+ else false)
702+ then throw(((("Limit error: " + toString(ah(bh))) + " < ") + toString(dQ)))
703+ else {
704+ let ek = (dS + bh)
705+ let et = ae(eb, dP)
706+ let eu = bq(dS, dT, dV, et)
707+ let bz = eu._1
708+ let cb = eu._2
709+ let cc = eu._3
710+ let eh = eu._4
711+ $Tuple10(ek, bz, (dU + eb), eh, bf, be, cu, cv, cw, (aB() + eb))
712+ }
713+ }
714+ else {
715+ let eb = ag(dG, dP)
716+ let ev = bQ(toString(dJ.caller), aa)
717+ let ed = ev._1
718+ let ce = ev._2
719+ if ((ed > eb))
720+ then throw("Use decreasePosition to decrease position size")
721+ else throw("Close position first")
722+ }
723+ let ek = er._1
724+ let el = er._2
725+ let em = er._3
726+ let en = er._4
727+ let bf = er._5
728+ let be = er._6
729+ let cu = er._7
730+ let cv = er._8
731+ let cw = er._9
732+ let cx = er._10
733+ let ew = (ep / 2)
734+ let ex = (ep - ew)
735+ let ey = invoke(P(), "lockNeutrinoSP", [toString(Q()), Z], [AttachedPayment(O(), dG)])
736+ if ((ey == ey))
737+ then {
738+ let ez = invoke(R(), "deposit", nil, [AttachedPayment(O(), ex)])
739+ if ((ez == ez))
740+ then (((di(toString(dJ.caller), ek, el, em, en) ++ dz(be, bf, cu, cv, cw, cx)) ++ dK(ew)) ++ dI((as() + dG)))
741+ else throw("Strict value is not equal to itself.")
742+ }
743+ else throw("Strict value is not equal to itself.")
744+ }
745+ }
746+
747+
748+
749+@Callable(dJ)
750+func addMargin () = {
751+ let eo = dJ.payments[0].amount
752+ if (if (if (if ((dJ.payments[0].assetId != O()))
753+ then true
754+ else !(aP(toString(dJ.caller))))
755+ then true
756+ else !(aR()))
757+ then true
758+ else aS())
759+ then throw("Invalid addMargin parameters")
760+ else {
761+ let ep = ag(eo, at())
762+ let dG = (eo - ep)
763+ let eA = aK(toString(dJ.caller))
764+ let dS = eA._1
765+ let dT = eA._2
766+ let dU = eA._3
767+ let dV = eA._4
768+ let ew = (ep / 2)
769+ let ex = (ep - ew)
770+ let ey = invoke(P(), "lockNeutrinoSP", [toString(Q()), Z], [AttachedPayment(O(), dG)])
771+ if ((ey == ey))
772+ then {
773+ let ez = invoke(R(), "deposit", nil, [AttachedPayment(O(), ex)])
774+ if ((ez == ez))
775+ then ((di(toString(dJ.caller), dS, (dT + dJ.payments[0].amount), dU, dV) ++ dK(ew)) ++ dI((as() + dG)))
776+ else throw("Strict value is not equal to itself.")
777+ }
778+ else throw("Strict value is not equal to itself.")
779+ }
780+ }
781+
782+
783+
784+@Callable(dJ)
785+func removeMargin (dG) = if (if (if (if ((0 >= dG))
786+ then true
787+ else !(aP(toString(dJ.caller))))
788+ then true
789+ else !(aR()))
790+ then true
791+ else aS())
792+ then throw("Invalid removeMargin parameters")
793+ else {
794+ let eB = aK(toString(dJ.caller))
795+ let dS = eB._1
796+ let dT = eB._2
797+ let dU = eB._3
798+ let dV = eB._4
799+ let eC = -(dG)
800+ let eD = bq(dS, dT, dV, eC)
801+ let bz = eD._1
802+ let bA = eD._2
803+ let cb = eD._3
804+ let eE = eD._4
805+ if ((bA != 0))
806+ then throw("Invalid added margin amount")
807+ else {
808+ let eF = invoke(P(), "unlockNeutrino", [dG, toBase58String(O())], nil)
809+ if ((eF == eF))
810+ then ((di(toString(dJ.caller), dS, bz, dU, eE) ++ dF(dJ.caller, dG)) ++ dI((as() - dG)))
811+ else throw("Strict value is not equal to itself.")
812+ }
813+ }
814+
815+
816+
817+@Callable(dJ)
818+func closePosition () = if (if (if (!(aP(toString(dJ.caller))))
819+ then true
820+ else !(aR()))
821+ then true
822+ else aS())
823+ then throw("Invalid closePosition parameters")
824+ else {
825+ let eG = cl(toString(dJ.caller))
826+ let cb = eG._1
827+ let bA = eG._2
828+ let cq = eG._3
829+ let cr = eG._4
830+ let be = eG._5
831+ let bf = eG._6
832+ let cu = eG._7
833+ let cv = eG._8
834+ let cw = eG._9
835+ let cx = eG._10
836+ if ((bA > 0))
837+ then throw("Unable to close position with bad debt")
838+ else {
839+ let eH = ah(cr)
840+ let eI = (as() - eH)
841+ let eJ = if ((0 > eI))
842+ then $Tuple2(0, ah(eI))
843+ else $Tuple2(eI, 0)
844+ let eK = eJ._1
845+ let eL = eJ._2
846+ let cg = if ((eL > 0))
847+ then {
848+ let eM = invoke(R(), "withdraw", [eL], nil)
849+ if ((eM == eM))
850+ then nil
851+ else throw("Strict value is not equal to itself.")
852+ }
853+ else nil
854+ if ((cg == cg))
855+ then {
856+ let eF = invoke(P(), "unlockNeutrino", [(eH - eL), toBase58String(O())], nil)
857+ if ((eF == eF))
858+ then (((dE(toString(dJ.caller)) ++ dz(be, bf, cu, cv, cw, cx)) ++ dF(dJ.caller, eH)) ++ dI(eK))
859+ else throw("Strict value is not equal to itself.")
860+ }
861+ else throw("Strict value is not equal to itself.")
862+ }
863+ }
864+
865+
866+
867+@Callable(dJ)
868+func liquidate (aQ) = {
869+ let eN = if (bN())
870+ then cf(aQ, ab)
871+ else cf(aQ, aa)
872+ if (if (if (!(al(eN, aG(), false)))
873+ then true
874+ else !(aR()))
875+ then true
876+ else aS())
877+ then throw("Unable to liquidate")
878+ else {
879+ let eO = cl(aQ)
880+ let cb = eO._1
881+ let bA = eO._2
882+ let cc = eO._3
883+ let cr = eO._4
884+ let be = eO._5
885+ let bf = eO._6
886+ let cu = eO._7
887+ let cv = eO._8
888+ let cw = eO._9
889+ let cx = eO._10
890+ let ct = eO._11
891+ let eP = (ag(ct, aH()) / 2)
892+ let eQ = if ((eP > cr))
893+ then $Tuple3((eP - cr), cr, ((bA + eP) - cr))
894+ else $Tuple3(0, (cr - eP), bA)
895+ let eR = eQ._1
896+ let bz = eQ._2
897+ let eS = eQ._3
898+ let eI = (as() - eP)
899+ let eT = if ((0 > eI))
900+ then $Tuple2(0, ah(eI))
901+ else $Tuple2(eI, 0)
902+ let eK = eT._1
903+ let eL = eT._2
904+ let cg = if ((eL > 0))
905+ then {
906+ let eM = invoke(R(), "withdraw", [eL], nil)
907+ if ((eM == eM))
908+ then nil
909+ else throw("Strict value is not equal to itself.")
910+ }
911+ else nil
912+ if ((cg == cg))
913+ then {
914+ let eF = invoke(P(), "unlockNeutrino", [(eP - eL), toBase58String(O())], nil)
915+ if ((eF == eF))
916+ then (((dE(aQ) ++ dz(be, bf, cu, cv, cw, cx)) ++ dF(dJ.caller, eP)) ++ dI(eK))
917+ else throw("Strict value is not equal to itself.")
918+ }
919+ else throw("Strict value is not equal to itself.")
920+ }
921+ }
922+
923+
924+
925+@Callable(dJ)
926+func payFunding () = {
927+ let eU = aC()
928+ if (if (if ((eU > lastBlock.timestamp))
929+ then true
930+ else !(aR()))
931+ then true
932+ else aS())
933+ then throw(((("Invalid funding block timestamp: " + toString(lastBlock.timestamp)) + " < ") + toString(eU)))
934+ else {
935+ let eV = bJ()
936+ let eW = cy()
937+ let eX = (eW - eV)
938+ let eY = ae(ag(eX, aE()), Y)
939+ de(0, (eU + aF()), (aA() + eY), ae(eY, eV))
940+ }
941+ }
942+
943+
944+
945+@Callable(dJ)
946+func v_get (aQ) = {
947+ let eZ = cl(aQ)
948+ let cb = eZ._1
949+ let cc = eZ._2
950+ let cd = eZ._3
951+ let fa = eZ._4
952+ throw((((ac(cc) + ac(cd)) + ac(fa)) + ac(ck(aQ))))
953+ }
954+
955+
956+@Verifier(fb)
957+func fc () = sigVerify(fb.bodyBytes, fb.proofs[0], N())
958+

github/deemru/w8io/169f3d6 
44.23 ms