A/MNCktcrFFjAAAAAAAAAAAFAAAAQAAAAHN6AQAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAMAbAEAbQIAWgIAAWQBAGQCAGwDAFoDAGQBAGQCAGwEAFoEAGQBAGQCAGwFAFoFAGQBAGQCAGwGAFoGAGQBAGQCAGwHAFoHAGQBAGQCAGwIAFoIAHkQAGQBAGQCAGwJAFoJAFduFwAEZQoAawoAcpMAAQEBZQsAWgkAbgEAWGUMAGQEAIQBAFoNAGQFAIQAAFoOAGQGAIQAAFoPAGQHAGYAAGQIAIQAAIMAAFlaEABkCQBlBABqEQBmAQBkCgCEAACDAABZWhIAZAsAZQMAahMAZRAAZgIAZAwAhAAAgwAAWVoUAGQNAGUUAGYBAGQOAIQAAIMAAFlaFQBkDwBlEABmAQBkEACEAACDAABZWhYAZRcAZBEAawIAcnYBZBIAR0hlFABkEwBkFABmAgCDAQBaGABlGABqGQBlGgCDAQABZRgAahkAZBUAhAAAZBYAgwIAAWUYAGobAIMAAAFuAABkAgBTKBcAAABzOwsAAFNpbXBsZSBYTUwtUlBDIFNlcnZlci4KClRoaXMgbW9kdWxlIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBzaW1wbGUgWE1MLVJQQyBzZXJ2ZXJzCmJ5IGNyZWF0aW5nIGEgc2VydmVyIGFuZCBlaXRoZXIgaW5zdGFsbGluZyBmdW5jdGlvbnMsIGEKY2xhc3MgaW5zdGFuY2UsIG9yIGJ5IGV4dGVuZGluZyB0aGUgU2ltcGxlWE1MUlBDU2VydmVyCmNsYXNzLgoKSXQgY2FuIGFsc28gYmUgdXNlZCB0byBoYW5kbGUgWE1MLVJQQyByZXF1ZXN0cyBpbiBhIENHSQplbnZpcm9ubWVudCB1c2luZyBDR0lYTUxSUENSZXF1ZXN0SGFuZGxlci4KCkEgbGlzdCBvZiBwb3NzaWJsZSB1c2FnZSBwYXR0ZXJucyBmb2xsb3dzOgoKMS4gSW5zdGFsbCBmdW5jdGlvbnM6CgpzZXJ2ZXIgPSBTaW1wbGVYTUxSUENTZXJ2ZXIoKCJsb2NhbGhvc3QiLCA4MDAwKSkKc2VydmVyLnJlZ2lzdGVyX2Z1bmN0aW9uKHBvdykKc2VydmVyLnJlZ2lzdGVyX2Z1bmN0aW9uKGxhbWJkYSB4LHk6IHgreSwgJ2FkZCcpCnNlcnZlci5zZXJ2ZV9mb3JldmVyKCkKCjIuIEluc3RhbGwgYW4gaW5zdGFuY2U6CgpjbGFzcyBNeUZ1bmNzOgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICMgbWFrZSBhbGwgb2YgdGhlIHN0cmluZyBmdW5jdGlvbnMgYXZhaWxhYmxlIHRocm91Z2gKICAgICAgICAjIHN0cmluZy5mdW5jX25hbWUKICAgICAgICBpbXBvcnQgc3RyaW5nCiAgICAgICAgc2VsZi5zdHJpbmcgPSBzdHJpbmcKICAgIGRlZiBfbGlzdE1ldGhvZHMoc2VsZik6CiAgICAgICAgIyBpbXBsZW1lbnQgdGhpcyBtZXRob2Qgc28gdGhhdCBzeXN0ZW0ubGlzdE1ldGhvZHMKICAgICAgICAjIGtub3dzIHRvIGFkdmVydGlzZSB0aGUgc3RyaW5ncyBtZXRob2RzCiAgICAgICAgcmV0dXJuIGxpc3RfcHVibGljX21ldGhvZHMoc2VsZikgKyBcCiAgICAgICAgICAgICAgICBbJ3N0cmluZy4nICsgbWV0aG9kIGZvciBtZXRob2QgaW4gbGlzdF9wdWJsaWNfbWV0aG9kcyhzZWxmLnN0cmluZyldCiAgICBkZWYgcG93KHNlbGYsIHgsIHkpOiByZXR1cm4gcG93KHgsIHkpCiAgICBkZWYgYWRkKHNlbGYsIHgsIHkpIDogcmV0dXJuIHggKyB5CgpzZXJ2ZXIgPSBTaW1wbGVYTUxSUENTZXJ2ZXIoKCJsb2NhbGhvc3QiLCA4MDAwKSkKc2VydmVyLnJlZ2lzdGVyX2ludHJvc3BlY3Rpb25fZnVuY3Rpb25zKCkKc2VydmVyLnJlZ2lzdGVyX2luc3RhbmNlKE15RnVuY3MoKSkKc2VydmVyLnNlcnZlX2ZvcmV2ZXIoKQoKMy4gSW5zdGFsbCBhbiBpbnN0YW5jZSB3aXRoIGN1c3RvbSBkaXNwYXRjaCBtZXRob2Q6CgpjbGFzcyBNYXRoOgogICAgZGVmIF9saXN0TWV0aG9kcyhzZWxmKToKICAgICAgICAjIHRoaXMgbWV0aG9kIG11c3QgYmUgcHJlc2VudCBmb3Igc3lzdGVtLmxpc3RNZXRob2RzCiAgICAgICAgIyB0byB3b3JrCiAgICAgICAgcmV0dXJuIFsnYWRkJywgJ3BvdyddCiAgICBkZWYgX21ldGhvZEhlbHAoc2VsZiwgbWV0aG9kKToKICAgICAgICAjIHRoaXMgbWV0aG9kIG11c3QgYmUgcHJlc2VudCBmb3Igc3lzdGVtLm1ldGhvZEhlbHAKICAgICAgICAjIHRvIHdvcmsKICAgICAgICBpZiBtZXRob2QgPT0gJ2FkZCc6CiAgICAgICAgICAgIHJldHVybiAiYWRkKDIsMykgPT4gNSIKICAgICAgICBlbGlmIG1ldGhvZCA9PSAncG93JzoKICAgICAgICAgICAgcmV0dXJuICJwb3coeCwgeVssIHpdKSA9PiBudW1iZXIiCiAgICAgICAgZWxzZToKICAgICAgICAgICAgIyBCeSBjb252ZW50aW9uLCByZXR1cm4gZW1wdHkKICAgICAgICAgICAgIyBzdHJpbmcgaWYgbm8gaGVscCBpcyBhdmFpbGFibGUKICAgICAgICAgICAgcmV0dXJuICIiCiAgICBkZWYgX2Rpc3BhdGNoKHNlbGYsIG1ldGhvZCwgcGFyYW1zKToKICAgICAgICBpZiBtZXRob2QgPT0gJ3Bvdyc6CiAgICAgICAgICAgIHJldHVybiBwb3coKnBhcmFtcykKICAgICAgICBlbGlmIG1ldGhvZCA9PSAnYWRkJzoKICAgICAgICAgICAgcmV0dXJuIHBhcmFtc1swXSArIHBhcmFtc1sxXQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHJhaXNlICdiYWQgbWV0aG9kJwoKc2VydmVyID0gU2ltcGxlWE1MUlBDU2VydmVyKCgibG9jYWxob3N0IiwgODAwMCkpCnNlcnZlci5yZWdpc3Rlcl9pbnRyb3NwZWN0aW9uX2Z1bmN0aW9ucygpCnNlcnZlci5yZWdpc3Rlcl9pbnN0YW5jZShNYXRoKCkpCnNlcnZlci5zZXJ2ZV9mb3JldmVyKCkKCjQuIFN1YmNsYXNzIFNpbXBsZVhNTFJQQ1NlcnZlcjoKCmNsYXNzIE1hdGhTZXJ2ZXIoU2ltcGxlWE1MUlBDU2VydmVyKToKICAgIGRlZiBfZGlzcGF0Y2goc2VsZiwgbWV0aG9kLCBwYXJhbXMpOgogICAgICAgIHRyeToKICAgICAgICAgICAgIyBXZSBhcmUgZm9yY2luZyB0aGUgJ2V4cG9ydF8nIHByZWZpeCBvbiBtZXRob2RzIHRoYXQgYXJlCiAgICAgICAgICAgICMgY2FsbGFibGUgdGhyb3VnaCBYTUwtUlBDIHRvIHByZXZlbnQgcG90ZW50aWFsIHNlY3VyaXR5CiAgICAgICAgICAgICMgcHJvYmxlbXMKICAgICAgICAgICAgZnVuYyA9IGdldGF0dHIoc2VsZiwgJ2V4cG9ydF8nICsgbWV0aG9kKQogICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdtZXRob2QgIiVzIiBpcyBub3Qgc3VwcG9ydGVkJyAlIG1ldGhvZCkKICAgICAgICBlbHNlOgogICAgICAgICAgICByZXR1cm4gZnVuYygqcGFyYW1zKQoKICAgIGRlZiBleHBvcnRfYWRkKHNlbGYsIHgsIHkpOgogICAgICAgIHJldHVybiB4ICsgeQoKc2VydmVyID0gTWF0aFNlcnZlcigoImxvY2FsaG9zdCIsIDgwMDApKQpzZXJ2ZXIuc2VydmVfZm9yZXZlcigpCgo1LiBDR0kgc2NyaXB0OgoKc2VydmVyID0gQ0dJWE1MUlBDUmVxdWVzdEhhbmRsZXIoKQpzZXJ2ZXIucmVnaXN0ZXJfZnVuY3Rpb24ocG93KQpzZXJ2ZXIuaGFuZGxlX3JlcXVlc3QoKQpp/////04oAQAAAHQFAAAARmF1bHRjAwAAAAUAAAAEAAAAQwAAAHNnAAAAfAIAchgAfAEAagAAZAEAgwEAfQMAbgkAfAEAZwEAfQMAeD8AfAMARF03AH0EAHwEAGoBAGQCAIMBAHJQAHQCAGQDAHwEABaDAQCCAQBxKAB0AwB8AAB8BACDAgB9AABxKABXfAAAUygEAAAAc0cBAAByZXNvbHZlX2RvdHRlZF9hdHRyaWJ1dGUoYSwgJ2IuYy5kJykgPT4gYS5iLmMuZAoKICAgIFJlc29sdmVzIGEgZG90dGVkIGF0dHJpYnV0ZSBuYW1lIHRvIGFuIG9iamVjdC4gIFJhaXNlcwogICAgYW4gQXR0cmlidXRlRXJyb3IgaWYgYW55IGF0dHJpYnV0ZSBpbiB0aGUgY2hhaW4gc3RhcnRzIHdpdGggYSAnXycuCgogICAgSWYgdGhlIG9wdGlvbmFsIGFsbG93X2RvdHRlZF9uYW1lcyBhcmd1bWVudCBpcyBmYWxzZSwgZG90cyBhcmUgbm90CiAgICBzdXBwb3J0ZWQgYW5kIHRoaXMgZnVuY3Rpb24gb3BlcmF0ZXMgc2ltaWxhciB0byBnZXRhdHRyKG9iaiwgYXR0cikuCiAgICB0AQAAAC50AQAAAF9zKAAAAGF0dGVtcHQgdG8gYWNjZXNzIHByaXZhdGUgYXR0cmlidXRlICIlcyIoBAAAAHQFAAAAc3BsaXR0CgAAAHN0YXJ0c3dpdGh0DgAAAEF0dHJpYnV0ZUVycm9ydAcAAABnZXRhdHRyKAUAAAB0AwAAAG9ianQEAAAAYXR0cnQSAAAAYWxsb3dfZG90dGVkX25hbWVzdAUAAABhdHRyc3QBAAAAaSgAAAAAKAAAAABzWgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L1NpbXBsZVhNTFJQQ1NlcnZlci5weXQYAAAAcmVzb2x2ZV9kb3R0ZWRfYXR0cmlidXRlcwAAAHMSAAAAAAoGARICCQINAQ8BAwEQAxMBYwEAAAACAAAABwAAAEMAAABzRQAAAGcAAHQAAHwAAIMBAERdNAB9AQB8AQBqAQBkAQCDAQAMcg0AdAIAdAMAfAAAfAEAgwIAZAIAgwIAcg0AfAEAXgIAcQ0AUygDAAAAc2sAAABSZXR1cm5zIGEgbGlzdCBvZiBhdHRyaWJ1dGUgc3RyaW5ncywgZm91bmQgaW4gdGhlIHNwZWNpZmllZAogICAgb2JqZWN0LCB3aGljaCByZXByZXNlbnQgY2FsbGFibGUgYXR0cmlidXRlc1ICAAAAdAgAAABfX2NhbGxfXygEAAAAdAMAAABkaXJSBAAAAHQHAAAAaGFzYXR0clIGAAAAKAIAAABSBwAAAHQGAAAAbWVtYmVyKAAAAAAoAAAAAHNaAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5dBMAAABsaXN0X3B1YmxpY19tZXRob2RziwAAAHMGAAAAAAQTARABYwEAAAADAAAABAAAAEMAAABzKwAAAGkAAH0BAHgYAHwAAERdEAB9AgBkAQB8AQB8AgA8cQ0AV3wBAGoAAIMAAFMoAgAAAHPMAAAAcmVtb3ZlX2R1cGxpY2F0ZXMoWzIsMiwyLDEsMywzXSkgPT4gWzMsMSwyXQoKICAgIFJldHVybnMgYSBjb3B5IG9mIGEgbGlzdCB3aXRob3V0IGR1cGxpY2F0ZXMuIEV2ZXJ5IGxpc3QKICAgIGl0ZW0gbXVzdCBiZSBoYXNoYWJsZSBhbmQgdGhlIG9yZGVyIG9mIHRoZSBpdGVtcyBpbiB0aGUKICAgIHJlc3VsdGluZyBsaXN0IGlzIG5vdCBkZWZpbmVkLgogICAgaQEAAAAoAQAAAHQEAAAAa2V5cygDAAAAdAMAAABsc3R0AQAAAHV0AQAAAHgoAAAAACgAAAAAc1oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9TaW1wbGVYTUxSUENTZXJ2ZXIucHl0EQAAAHJlbW92ZV9kdXBsaWNhdGVzkwAAAHMIAAAAAAcGAQ0BDgJ0FgAAAFNpbXBsZVhNTFJQQ0Rpc3BhdGNoZXJjAAAAAAAAAAADAAAAQgAAAHODAAAAZQAAWgEAZAAAWgIAZQMAZAwAZAEAhAIAWgUAZQMAZAIAhAEAWgYAZAwAZAMAhAEAWgcAZAQAhAAAWggAZAUAhAAAWgkAZAwAZAwAZAYAhAIAWgoAZAcAhAAAWgsAZAgAhAAAWgwAZAkAhAAAWg0AZAoAhAAAWg4AZAsAhAAAWg8AUlMoDQAAAHMnAQAATWl4LWluIGNsYXNzIHRoYXQgZGlzcGF0Y2hlcyBYTUwtUlBDIHJlcXVlc3RzLgoKICAgIFRoaXMgY2xhc3MgaXMgdXNlZCB0byByZWdpc3RlciBYTUwtUlBDIG1ldGhvZCBoYW5kbGVycwogICAgYW5kIHRoZW4gdG8gZGlzcGF0Y2ggdGhlbS4gVGhpcyBjbGFzcyBkb2Vzbid0IG5lZWQgdG8gYmUKICAgIGluc3RhbmNlZCBkaXJlY3RseSB3aGVuIHVzZWQgYnkgU2ltcGxlWE1MUlBDU2VydmVyIGJ1dCBpdAogICAgY2FuIGJlIGluc3RhbmNlZCB3aGVuIHVzZWQgYnkgdGhlIE11bHRpUGF0aFhNTFJQQ1NlcnZlci4KICAgIGMDAAAAAwAAAAIAAABDAAAAcygAAABpAAB8AABfAABkAAB8AABfAgB8AQB8AABfAwB8AgB8AABfBABkAABTKAEAAABOKAUAAAB0BQAAAGZ1bmNzdAQAAABOb25ldAgAAABpbnN0YW5jZXQKAAAAYWxsb3dfbm9uZXQIAAAAZW5jb2RpbmcoAwAAAHQEAAAAc2VsZlIbAAAAUhwAAAAoAAAAACgAAAAAc1oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9TaW1wbGVYTUxSUENTZXJ2ZXIucHl0CAAAAF9faW5pdF9fqQAAAHMIAAAAAAEJAQkBCQFjAwAAAAMAAAACAAAAQwAAAHMWAAAAfAEAfAAAXwAAfAIAfAAAXwEAZAEAUygCAAAAcx0FAABSZWdpc3RlcnMgYW4gaW5zdGFuY2UgdG8gcmVzcG9uZCB0byBYTUwtUlBDIHJlcXVlc3RzLgoKICAgICAgICBPbmx5IG9uZSBpbnN0YW5jZSBjYW4gYmUgaW5zdGFsbGVkIGF0IGEgdGltZS4KCiAgICAgICAgSWYgdGhlIHJlZ2lzdGVyZWQgaW5zdGFuY2UgaGFzIGEgX2Rpc3BhdGNoIG1ldGhvZCB0aGVuIHRoYXQKICAgICAgICBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgWE1MLVJQQyBtZXRob2QgYW5kCiAgICAgICAgaXRzIHBhcmFtZXRlcnMgYXMgYSB0dXBsZQogICAgICAgIGUuZy4gaW5zdGFuY2UuX2Rpc3BhdGNoKCdhZGQnLCgyLDMpKQoKICAgICAgICBJZiB0aGUgcmVnaXN0ZXJlZCBpbnN0YW5jZSBkb2VzIG5vdCBoYXZlIGEgX2Rpc3BhdGNoIG1ldGhvZAogICAgICAgIHRoZW4gdGhlIGluc3RhbmNlIHdpbGwgYmUgc2VhcmNoZWQgdG8gZmluZCBhIG1hdGNoaW5nIG1ldGhvZAogICAgICAgIGFuZCwgaWYgZm91bmQsIHdpbGwgYmUgY2FsbGVkLiBNZXRob2RzIGJlZ2lubmluZyB3aXRoIGFuICdfJwogICAgICAgIGFyZSBjb25zaWRlcmVkIHByaXZhdGUgYW5kIHdpbGwgbm90IGJlIGNhbGxlZCBieQogICAgICAgIFNpbXBsZVhNTFJQQ1NlcnZlci4KCiAgICAgICAgSWYgYSByZWdpc3RlcmVkIGZ1bmN0aW9uIG1hdGNoZXMgYSBYTUwtUlBDIHJlcXVlc3QsIHRoZW4gaXQKICAgICAgICB3aWxsIGJlIGNhbGxlZCBpbnN0ZWFkIG9mIHRoZSByZWdpc3RlcmVkIGluc3RhbmNlLgoKICAgICAgICBJZiB0aGUgb3B0aW9uYWwgYWxsb3dfZG90dGVkX25hbWVzIGFyZ3VtZW50IGlzIHRydWUgYW5kIHRoZQogICAgICAgIGluc3RhbmNlIGRvZXMgbm90IGhhdmUgYSBfZGlzcGF0Y2ggbWV0aG9kLCBtZXRob2QgbmFtZXMKICAgICAgICBjb250YWluaW5nIGRvdHMgYXJlIHN1cHBvcnRlZCBhbmQgcmVzb2x2ZWQsIGFzIGxvbmcgYXMgbm9uZSBvZgogICAgICAgIHRoZSBuYW1lIHNlZ21lbnRzIHN0YXJ0IHdpdGggYW4gJ18nLgoKICAgICAgICAgICAgKioqIFNFQ1VSSVRZIFdBUk5JTkc6ICoqKgoKICAgICAgICAgICAgRW5hYmxpbmcgdGhlIGFsbG93X2RvdHRlZF9uYW1lcyBvcHRpb25zIGFsbG93cyBpbnRydWRlcnMKICAgICAgICAgICAgdG8gYWNjZXNzIHlvdXIgbW9kdWxlJ3MgZ2xvYmFsIHZhcmlhYmxlcyBhbmQgbWF5IGFsbG93CiAgICAgICAgICAgIGludHJ1ZGVycyB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIG9uIHlvdXIgbWFjaGluZS4gIE9ubHkKICAgICAgICAgICAgdXNlIHRoaXMgb3B0aW9uIG9uIGEgc2VjdXJlLCBjbG9zZWQgbmV0d29yay4KCiAgICAgICAgTigCAAAAUhoAAABSCQAAACgDAAAAUh0AAABSGgAAAFIJAAAAKAAAAAAoAAAAAHNaAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5dBEAAAByZWdpc3Rlcl9pbnN0YW5jZa8AAABzBAAAAAAhCQFjAwAAAAMAAAADAAAAQwAAAHMpAAAAfAIAZAEAawgAchgAfAEAagEAfQIAbgAAfAEAfAAAagIAfAIAPGQBAFMoAgAAAHOdAAAAUmVnaXN0ZXJzIGEgZnVuY3Rpb24gdG8gcmVzcG9uZCB0byBYTUwtUlBDIHJlcXVlc3RzLgoKICAgICAgICBUaGUgb3B0aW9uYWwgbmFtZSBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBzZXQgYSBVbmljb2RlIG5hbWUKICAgICAgICBmb3IgdGhlIGZ1bmN0aW9uLgogICAgICAgIE4oAwAAAFIZAAAAdAgAAABfX25hbWVfX1IYAAAAKAMAAABSHQAAAHQIAAAAZnVuY3Rpb250BAAAAG5hbWUoAAAAACgAAAAAc1oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9TaW1wbGVYTUxSUENTZXJ2ZXIucHl0EQAAAHJlZ2lzdGVyX2Z1bmN0aW9u0wAAAHMGAAAAAAcMAQwBYwEAAAABAAAABAAAAEMAAABzMgAAAHwAAGoAAGoBAGkDAHwAAGoCAGQBADZ8AABqAwBkAgA2fAAAagQAZAMANoMBAAFkBABTKAUAAABzkAAAAFJlZ2lzdGVycyB0aGUgWE1MLVJQQyBpbnRyb3NwZWN0aW9uIG1ldGhvZHMgaW4gdGhlIHN5c3RlbQogICAgICAgIG5hbWVzcGFjZS4KCiAgICAgICAgc2VlIGh0dHA6Ly94bWxycGMudXNlZnVsaW5jLmNvbS9kb2MvcmVzZXJ2ZWQuaHRtbAogICAgICAgIHMSAAAAc3lzdGVtLmxpc3RNZXRob2RzcxYAAABzeXN0ZW0ubWV0aG9kU2lnbmF0dXJlcxEAAABzeXN0ZW0ubWV0aG9kSGVscE4oBQAAAFIYAAAAdAYAAAB1cGRhdGV0EgAAAHN5c3RlbV9saXN0TWV0aG9kc3QWAAAAc3lzdGVtX21ldGhvZFNpZ25hdHVyZXQRAAAAc3lzdGVtX21ldGhvZEhlbHAoAQAAAFIdAAAAKAAAAAAoAAAAAHNaAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5dCAAAAByZWdpc3Rlcl9pbnRyb3NwZWN0aW9uX2Z1bmN0aW9uc94AAABzBgAAAAAHFgEKAWMBAAAAAQAAAAQAAABDAAAAcx4AAAB8AABqAABqAQBpAQB8AABqAgBkAQA2gwEAAWQCAFMoAwAAAHOBAAAAUmVnaXN0ZXJzIHRoZSBYTUwtUlBDIG11bHRpY2FsbCBtZXRob2QgaW4gdGhlIHN5c3RlbQogICAgICAgIG5hbWVzcGFjZS4KCiAgICAgICAgc2VlIGh0dHA6Ly93d3cueG1scnBjLmNvbS9kaXNjdXNzL21zZ1JlYWRlciQxMjA4cxAAAABzeXN0ZW0ubXVsdGljYWxsTigDAAAAUhgAAABSJAAAAHQQAAAAc3lzdGVtX211bHRpY2FsbCgBAAAAUh0AAAAoAAAAACgAAAAAc1oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9TaW1wbGVYTUxSUENTZXJ2ZXIucHl0HAAAAHJlZ2lzdGVyX211bHRpY2FsbF9mdW5jdGlvbnPpAAAAcwIAAAAABmMEAAAACwAAAAgAAABDAAAAcwYBAAB5eQB0AABqAQB8AQCDAQBcAgB9BAB9BQB8AgBkBgBrCQByNgB8AgB8BQB8BACDAgB9BgBuEgB8AABqAwB8BQB8BACDAgB9BgB8BgBmAQB9BgB0AABqBAB8BgBkAQBkAgBkAwB8AABqBQBkBAB8AABqBgCDAQN9BgBXboYABHQHAGsKAHKvAAF9BwABdAAAagQAfAcAZAMAfAAAagUAZAQAfAAAagYAgwECfQYAblMAAQEBdAgAagkAgwAAXAMAfQgAfQkAfQoAdAAAagQAdAAAagcAZAIAZAUAfAgAfAkAZgIAFoMCAGQEAHwAAGoGAGQDAHwAAGoFAIMBAn0GAG4BAFh8BgBTKAcAAABz+gEAAERpc3BhdGNoZXMgYW4gWE1MLVJQQyBtZXRob2QgZnJvbSBtYXJzaGFsbGVkIChYTUwpIGRhdGEuCgogICAgICAgIFhNTC1SUEMgbWV0aG9kcyBhcmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBtYXJzaGFsbGVkIChYTUwpIGRhdGEKICAgICAgICB1c2luZyB0aGUgX2Rpc3BhdGNoIG1ldGhvZCBhbmQgdGhlIHJlc3VsdCBpcyByZXR1cm5lZCBhcwogICAgICAgIG1hcnNoYWxsZWQgZGF0YS4gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBhIGRpc3BhdGNoCiAgICAgICAgZnVuY3Rpb24gY2FuIGJlIHByb3ZpZGVkIGFzIGFuIGFyZ3VtZW50IChzZWUgY29tbWVudCBpbgogICAgICAgIFNpbXBsZVhNTFJQQ1JlcXVlc3RIYW5kbGVyLmRvX1BPU1QpIGJ1dCBvdmVycmlkaW5nIHRoZQogICAgICAgIGV4aXN0aW5nIG1ldGhvZCB0aHJvdWdoIHN1YmNsYXNzaW5nIGlzIHRoZSBwcmVmZXJyZWQgbWVhbnMKICAgICAgICBvZiBjaGFuZ2luZyBtZXRob2QgZGlzcGF0Y2ggYmVoYXZpb3IuCiAgICAgICAgdA4AAABtZXRob2RyZXNwb25zZWkBAAAAUhsAAABSHAAAAHMFAAAAJXM6JXNOKAoAAAB0CQAAAHhtbHJwY2xpYnQFAAAAbG9hZHNSGQAAAHQJAAAAX2Rpc3BhdGNodAUAAABkdW1wc1IbAAAAUhwAAABSAAAAAHQDAAAAc3lzdAgAAABleGNfaW5mbygLAAAAUh0AAAB0BAAAAGRhdGF0DwAAAGRpc3BhdGNoX21ldGhvZHQEAAAAcGF0aHQGAAAAcGFyYW1zdAYAAABtZXRob2R0CAAAAHJlc3BvbnNldAUAAABmYXVsdHQIAAAAZXhjX3R5cGV0CQAAAGV4Y192YWx1ZXQGAAAAZXhjX3RiKAAAAAAoAAAAAHNaAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5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KAUAAABSbgAAAHQLAAAAbG9nUmVxdWVzdHN0DgAAAEJhc2VIVFRQU2VydmVydBYAAABCYXNlSFRUUFJlcXVlc3RIYW5kbGVydAsAAABsb2dfcmVxdWVzdCgDAAAAUh0AAAB0BAAAAGNvZGV0BAAAAHNpemUoAAAAACgAAAAAc1oAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9TaW1wbGVYTUxSUENTZXJ2ZXIucHlSiQAAADMCAABzBAAAAAADDAEoAgAAAFJTAAAAcwUAAAAvUlBDMigTAAAAUiAAAABSTwAAAFJQAAAAUmAAAABSdQAAAHQIAAAAd2J1ZnNpemVSYQAAAHQXAAAAZGlzYWJsZV9uYWdsZV9hbGdvcml0aG10AgAAAHJldAcAAABjb21waWxldAcAAABWRVJCT1NFdAoAAABJR05PUkVDQVNFUlcAAABSXwAAAFJiAAAAUoAAAABSbQAAAFJmAAAAUokAAAAoAAAAACgAAAAAKAAAAABzWgAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L1NpbXBsZVhNTFJQQ1NlcnZlci5weVJSAAAAqAEAAHMaAAAABgUGBAYDBgQGAQYDBgMWAgkLCQcJRgkRCQl0EgAAAFNpbXBsZVhNTFJQQ1NlcnZlcmMAAAAAAAAAAAYAAABCAAAAczIAAABlAABaAQBkAABaAgBlAwBaBABlBQBaBgBlBwBlAwBlBQBkAgBlAwBkAQCEBQBaCQBSUygDAAAAc2cBAABTaW1wbGUgWE1MLVJQQyBzZXJ2ZXIuCgogICAgU2ltcGxlIFhNTC1SUEMgc2VydmVyIHRoYXQgYWxsb3dzIGZ1bmN0aW9ucyBhbmQgYSBzaW5nbGUgaW5zdGFuY2UKICAgIHRvIGJlIGluc3RhbGxlZCB0byBoYW5kbGUgcmVxdWVzdHMuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uCiAgICBhdHRlbXB0cyB0byBkaXNwYXRjaCBYTUwtUlBDIGNhbGxzIHRvIHRoZSBmdW5jdGlvbnMgb3IgaW5zdGFuY2UK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